ae63ce55185746c5fabb2ead8cc20215faada36d
max
  Mon Nov 3 08:03:14 2025 -0800
adding ancient dna track, refs #36592

diff --git src/lib/common.c src/lib/common.c
index 755d81602ad..9ce000d7c34 100644
--- src/lib/common.c
+++ src/lib/common.c
@@ -2990,30 +2990,40 @@
 {
 char *e = strrchr(s, c);
 if (e != NULL)
     *e = 0;
 }
 
 char *chopPrefixAt(char *s, char c)
 /* Like chopPrefix, but can chop on any character, not just '.' */
 {
 char *e = strchr(s, c);
 if (e == NULL) return s;
 *e++ = 0;
 return e;
 }
 
+char *chopPrefixAtAlt(char *s, char c1, char c2)
+/* Like chopPrefixAt, but with an alternative character: first try to chop on c1, if no c1 found, chop on c2 */
+{
+char *e = strchr(s, c1);
+if (e == NULL) 
+    return chopPrefixAt(s, c2);
+else
+    return chopPrefixAt(s, c1);
+}
+
 char *chopPrefix(char *s)
 /* This will replace the first '.' in a string with
  * 0, and return the character after this.  If there
  * is no '.' in the string this will just return the
  * unchanged s passed in. */
 {
 return chopPrefixAt(s, '.');
 }
 
 
 
 boolean carefulCloseWarn(FILE **pFile)
 /* Close file if open and null out handle to it.
  * Return FALSE and print a warning message if there
  * is a problem.*/