mirror of
https://github.com/metabarcoding/obitools4.git
synced 2025-06-29 16:20:46 +00:00
57 lines
1.2 KiB
Go
57 lines
1.2 KiB
Go
|
package obitax
|
||
|
|
||
|
import (
|
||
|
"git.metabarcoding.org/lecasofts/go/obitools/pkg/goutils"
|
||
|
"git.metabarcoding.org/lecasofts/go/obitools/pkg/obiiter"
|
||
|
"git.metabarcoding.org/lecasofts/go/obitools/pkg/obiseq"
|
||
|
log "github.com/sirupsen/logrus"
|
||
|
)
|
||
|
|
||
|
func (taxonomy *Taxonomy) MakeSetTaxonAtRankWorker(rank string) obiiter.SeqWorker {
|
||
|
|
||
|
if !goutils.Contains(taxonomy.RankList(), rank) {
|
||
|
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
|
||
|
}
|
||
|
|
||
|
func (taxonomy *Taxonomy) MakeSetSpeciesWorker() obiiter.SeqWorker {
|
||
|
|
||
|
w := func(sequence *obiseq.BioSequence) *obiseq.BioSequence {
|
||
|
taxonomy.SetSpecies(sequence)
|
||
|
return sequence
|
||
|
}
|
||
|
|
||
|
return w
|
||
|
}
|
||
|
|
||
|
func (taxonomy *Taxonomy) MakeSetGenusWorker() obiiter.SeqWorker {
|
||
|
|
||
|
w := func(sequence *obiseq.BioSequence) *obiseq.BioSequence {
|
||
|
taxonomy.SetGenus(sequence)
|
||
|
return sequence
|
||
|
}
|
||
|
|
||
|
return w
|
||
|
}
|
||
|
|
||
|
func (taxonomy *Taxonomy) MakeSetFamilyWorker() obiiter.SeqWorker {
|
||
|
|
||
|
w := func(sequence *obiseq.BioSequence) *obiseq.BioSequence {
|
||
|
taxonomy.SetFamily(sequence)
|
||
|
return sequence
|
||
|
}
|
||
|
|
||
|
return w
|
||
|
}
|
||
|
|
||
|
|