2022-08-31 20:38:03 +02:00
|
|
|
package obitax
|
|
|
|
|
|
|
|
import (
|
2023-11-29 12:14:37 +01:00
|
|
|
"git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obiseq"
|
|
|
|
"git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obiutils"
|
2022-08-31 20:38:03 +02:00
|
|
|
log "github.com/sirupsen/logrus"
|
|
|
|
)
|
|
|
|
|
2023-01-22 22:39:13 +01:00
|
|
|
func (taxonomy *Taxonomy) MakeSetTaxonAtRankWorker(rank string) obiseq.SeqWorker {
|
2022-08-31 20:38:03 +02:00
|
|
|
|
2023-03-24 10:25:12 +07:00
|
|
|
if !obiutils.Contains(taxonomy.RankList(), rank) {
|
2022-08-31 20:38:03 +02:00
|
|
|
log.Fatalf("%s is not a valid rank (allowed ranks are %v)",
|
|
|
|
rank,
|
|
|
|
taxonomy.RankList())
|
|
|
|
}
|
|
|
|
|
|
|
|
w := func(sequence *obiseq.BioSequence) *obiseq.BioSequence {
|
|
|
|
taxonomy.SetTaxonAtRank(sequence, rank)
|
|
|
|
return sequence
|
|
|
|
}
|
|
|
|
|
|
|
|
return w
|
|
|
|
}
|
|
|
|
|
2023-01-22 22:39:13 +01:00
|
|
|
func (taxonomy *Taxonomy) MakeSetSpeciesWorker() obiseq.SeqWorker {
|
2022-08-31 20:38:03 +02:00
|
|
|
|
|
|
|
w := func(sequence *obiseq.BioSequence) *obiseq.BioSequence {
|
|
|
|
taxonomy.SetSpecies(sequence)
|
|
|
|
return sequence
|
|
|
|
}
|
|
|
|
|
|
|
|
return w
|
|
|
|
}
|
|
|
|
|
2023-01-22 22:39:13 +01:00
|
|
|
func (taxonomy *Taxonomy) MakeSetGenusWorker() obiseq.SeqWorker {
|
2022-08-31 20:38:03 +02:00
|
|
|
|
|
|
|
w := func(sequence *obiseq.BioSequence) *obiseq.BioSequence {
|
|
|
|
taxonomy.SetGenus(sequence)
|
|
|
|
return sequence
|
|
|
|
}
|
|
|
|
|
|
|
|
return w
|
|
|
|
}
|
|
|
|
|
2023-01-22 22:39:13 +01:00
|
|
|
func (taxonomy *Taxonomy) MakeSetFamilyWorker() obiseq.SeqWorker {
|
2022-08-31 20:38:03 +02:00
|
|
|
|
|
|
|
w := func(sequence *obiseq.BioSequence) *obiseq.BioSequence {
|
|
|
|
taxonomy.SetFamily(sequence)
|
|
|
|
return sequence
|
|
|
|
}
|
|
|
|
|
|
|
|
return w
|
|
|
|
}
|
2024-02-27 20:10:26 +01:00
|
|
|
|
|
|
|
func (taxonomy *Taxonomy) MakeSetPathWorker() obiseq.SeqWorker {
|
|
|
|
|
|
|
|
w := func(s *obiseq.BioSequence) *obiseq.BioSequence {
|
|
|
|
taxonomy.SetPath(s)
|
|
|
|
return s
|
|
|
|
}
|
|
|
|
|
|
|
|
return w
|
|
|
|
|
|
|
|
}
|