From 7b23985693f9103dd7dcaab351096a12138f04e6 Mon Sep 17 00:00:00 2001 From: Eric Coissac Date: Fri, 6 Jun 2025 14:37:57 +0200 Subject: [PATCH] Add _ to allowed in taxid --- pkg/obioptions/version.go | 2 +- pkg/obitax/taxonomy.go | 4 +++- pkg/obiutils/strings.go | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/pkg/obioptions/version.go b/pkg/obioptions/version.go index 102059c..fa7137f 100644 --- a/pkg/obioptions/version.go +++ b/pkg/obioptions/version.go @@ -8,7 +8,7 @@ import ( // corresponds to the last commit, and not the one when the file will be // commited -var _Commit = "6cb7a5a" +var _Commit = "d31e677" var _Version = "Release 4.4.0" // Version returns the version of the obitools package. diff --git a/pkg/obitax/taxonomy.go b/pkg/obitax/taxonomy.go index 76fdb2f..90a5e1b 100644 --- a/pkg/obitax/taxonomy.go +++ b/pkg/obitax/taxonomy.go @@ -42,6 +42,8 @@ type Taxonomy struct { index map[*string]*TaxonSet } +var DefaultTaxidAlphabet = obiutils.AsciiAlphaNumSet.Union(obiutils.AsciiUnderScore) + // NewTaxonomy creates and initializes a new Taxonomy instance with the specified name and code. // It sets up the necessary internal structures, including ranks, nodes, aliases, and an index. // @@ -365,7 +367,7 @@ func (taxonomy *Taxonomy) InsertPathString(path []string) (*Taxonomy, error) { code, taxid, scientific_name, rank, err := ParseTaxonString(path[0]) if taxonomy == nil { - taxonomy = NewTaxonomy(code, code, obiutils.AsciiAlphaNumSet) + taxonomy = NewTaxonomy(code, code, DefaultTaxidAlphabet) } if err != nil { diff --git a/pkg/obiutils/strings.go b/pkg/obiutils/strings.go index 09807c1..2586206 100644 --- a/pkg/obiutils/strings.go +++ b/pkg/obiutils/strings.go @@ -8,6 +8,7 @@ import ( type AsciiSet [256]bool var AsciiSpaceSet = AsciiSetFromString("\t\n\v\f\r ") +var AsciiUnderScore = AsciiSetFromString("_") var AsciiDigitSet = AsciiSetFromString("0123456789") var AsciiUpperSet = AsciiSetFromString("ABCDEFGHIJKLMNOPQRSTUVWXYZ") var AsciiLowerSet = AsciiSetFromString("abcdefghijklmnopqrstuvwxyz")