mirror of
https://github.com/metabarcoding/obitools4.git
synced 2025-06-29 16:20:46 +00:00
Add more error checks on taxonomy reading
Former-commit-id: 30c848d8e61214afcc7d92f0d3a3f5a1474fc720
This commit is contained in:
@ -22,9 +22,22 @@ func loadNodeTable(reader io.Reader, taxonomy *obitax.Taxonomy) {
|
|||||||
file.TrimLeadingSpace = true
|
file.TrimLeadingSpace = true
|
||||||
file.ReuseRecord = true
|
file.ReuseRecord = true
|
||||||
|
|
||||||
|
n := 0
|
||||||
|
|
||||||
for record, err := file.Read(); err == nil; record, err = file.Read() {
|
for record, err := file.Read(); err == nil; record, err = file.Read() {
|
||||||
taxid, _ := strconv.Atoi(strings.TrimSpace(record[0]))
|
n++
|
||||||
parent, _ := strconv.Atoi(strings.TrimSpace(record[1]))
|
taxid, err := strconv.Atoi(strings.TrimSpace(record[0]))
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
log.Panicf("Cannot read 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)
|
||||||
|
}
|
||||||
|
|
||||||
rank := strings.TrimSpace(record[2])
|
rank := strings.TrimSpace(record[2])
|
||||||
|
|
||||||
taxonomy.AddNewTaxa(taxid, parent, rank, true, true)
|
taxonomy.AddNewTaxa(taxid, parent, rank, true, true)
|
||||||
|
@ -11,6 +11,14 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func (t1 *TaxNode) LCA(t2 *TaxNode) (*TaxNode, error) {
|
func (t1 *TaxNode) LCA(t2 *TaxNode) (*TaxNode, error) {
|
||||||
|
if t1 == nil {
|
||||||
|
log.Fatalf("Try to get LCA of nil taxon")
|
||||||
|
}
|
||||||
|
|
||||||
|
if t2 == nil {
|
||||||
|
log.Fatalf("Try to get LCA of nil taxon")
|
||||||
|
}
|
||||||
|
|
||||||
p1, err1 := t1.Path()
|
p1, err1 := t1.Path()
|
||||||
|
|
||||||
if err1 != nil {
|
if err1 != nil {
|
||||||
|
@ -118,7 +118,8 @@ func IndexSequence(seqidx int,
|
|||||||
log.Println(sequence.Id(), tseq.Taxid(), tseq.ScientificName(), tseq.Rank(), nfastok)
|
log.Println(sequence.Id(), tseq.Taxid(), tseq.ScientificName(), tseq.Rank(), nfastok)
|
||||||
log.Println(sequence.Id(), tseq.Taxid(), tseq.ScientificName(), tseq.Rank(), nali)
|
log.Println(sequence.Id(), tseq.Taxid(), tseq.ScientificName(), tseq.Rank(), nali)
|
||||||
log.Println(sequence.Id(), tseq.Taxid(), tseq.ScientificName(), tseq.Rank(), nok)
|
log.Println(sequence.Id(), tseq.Taxid(), tseq.ScientificName(), tseq.Rank(), nok)
|
||||||
*/return obitag_index
|
*/
|
||||||
|
return obitag_index
|
||||||
}
|
}
|
||||||
|
|
||||||
func IndexReferenceDB(iterator obiiter.IBioSequence) obiiter.IBioSequence {
|
func IndexReferenceDB(iterator obiiter.IBioSequence) obiiter.IBioSequence {
|
||||||
|
Reference in New Issue
Block a user