mirror of
https://github.com/metabarcoding/obitools4.git
synced 2025-06-29 16:20:46 +00:00
Adds some more error controle on taxonomy reading
Former-commit-id: 29c9eafd8c32a92d30611094b06e600aff2e09c6
This commit is contained in:
@ -29,13 +29,13 @@ func loadNodeTable(reader io.Reader, taxonomy *obitax.Taxonomy) {
|
||||
taxid, err := strconv.Atoi(strings.TrimSpace(record[0]))
|
||||
|
||||
if err != nil {
|
||||
log.Panicf("Cannot read taxid at line %d: %v", n, err)
|
||||
log.Panicf("Cannot read taxon taxid at line %d: %v", n, err)
|
||||
}
|
||||
|
||||
parent, err := strconv.Atoi(strings.TrimSpace(record[1]))
|
||||
|
||||
if err != nil {
|
||||
log.Panicf("Cannot read parent taxid at line %d: %v", n, err)
|
||||
log.Panicf("Cannot read taxon parent taxid at line %d: %v", n, err)
|
||||
}
|
||||
|
||||
rank := strings.TrimSpace(record[2])
|
||||
@ -56,15 +56,21 @@ func loadNameTable(reader io.Reader, taxonomy *obitax.Taxonomy, onlysn bool) int
|
||||
file := bufio.NewReader(reader)
|
||||
|
||||
n := 0
|
||||
l := 0
|
||||
|
||||
for line, prefix, err := file.ReadLine(); err == nil; line, prefix, err = file.ReadLine() {
|
||||
|
||||
l++
|
||||
if prefix {
|
||||
return -1
|
||||
}
|
||||
|
||||
record := strings.Split(string(line), "|")
|
||||
taxid, _ := strconv.Atoi(strings.TrimSpace(record[0]))
|
||||
taxid, err := strconv.Atoi(strings.TrimSpace(record[0]))
|
||||
|
||||
if err != nil {
|
||||
log.Panicf("Cannot read taxon name taxid at line %d: %v", l, err)
|
||||
}
|
||||
|
||||
name := strings.TrimSpace(record[1])
|
||||
classname := strings.TrimSpace(record[3])
|
||||
|
||||
@ -87,9 +93,18 @@ func loadMergedTable(reader io.Reader, taxonomy *obitax.Taxonomy) int {
|
||||
n := 0
|
||||
|
||||
for record, err := file.Read(); err == nil; record, err = file.Read() {
|
||||
oldtaxid, _ := strconv.Atoi(strings.TrimSpace(record[0]))
|
||||
newtaxid, _ := strconv.Atoi(strings.TrimSpace(record[1]))
|
||||
n++
|
||||
oldtaxid, err := strconv.Atoi(strings.TrimSpace(record[0]))
|
||||
|
||||
if err != nil {
|
||||
log.Panicf("Cannot read alias taxid at line %d: %v", n, err)
|
||||
}
|
||||
newtaxid, err := strconv.Atoi(strings.TrimSpace(record[1]))
|
||||
|
||||
if err != nil {
|
||||
log.Panicf("Cannot read alias new taxid at line %d: %v", n, err)
|
||||
}
|
||||
|
||||
taxonomy.AddNewAlias(newtaxid, oldtaxid)
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user