mirror of
https://github.com/metabarcoding/obitools4.git
synced 2026-03-26 05:50:52 +00:00
First commit
This commit is contained in:
68
cmd/obitools/obifind/main.go
Normal file
68
cmd/obitools/obifind/main.go
Normal file
@@ -0,0 +1,68 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
|
||||
"git.metabarcoding.org/lecasofts/go/oa2/pkg/obioptions"
|
||||
"git.metabarcoding.org/lecasofts/go/oa2/pkg/obitools/obifind"
|
||||
)
|
||||
|
||||
func main() {
|
||||
option_parser := obioptions.GenerateOptionParser(obifind.OptionSet)
|
||||
|
||||
_, args, _ := option_parser(os.Args)
|
||||
|
||||
//prof, _ := os.Create("obifind.prof")
|
||||
//pprof.StartCPUProfile(prof)
|
||||
|
||||
restrictions, err := obifind.ITaxonRestrictions()
|
||||
if err != nil {
|
||||
fmt.Printf("%+v", err)
|
||||
}
|
||||
|
||||
switch {
|
||||
case obifind.RequestsPathForTaxid() >= 0:
|
||||
taxonomy, err := obifind.LoadSelectedTaxonomy()
|
||||
if err != nil {
|
||||
fmt.Printf("%+v", err)
|
||||
}
|
||||
|
||||
taxon, err := taxonomy.Taxon(obifind.RequestsPathForTaxid())
|
||||
|
||||
if err != nil {
|
||||
fmt.Printf("%+v", err)
|
||||
}
|
||||
|
||||
s, err := taxon.Path()
|
||||
|
||||
if err != nil {
|
||||
fmt.Printf("%+v", err)
|
||||
}
|
||||
|
||||
obifind.TaxonWriter(s.Iterator(),
|
||||
fmt.Sprintf("path:%d", taxon.Taxid()))
|
||||
|
||||
case len(args) == 0:
|
||||
taxonomy, err := obifind.LoadSelectedTaxonomy()
|
||||
if err != nil {
|
||||
fmt.Printf("%+v", err)
|
||||
}
|
||||
|
||||
obifind.TaxonWriter(restrictions(taxonomy.Iterator()), "")
|
||||
|
||||
default:
|
||||
matcher, err := obifind.ITaxonNameMatcher()
|
||||
|
||||
if err != nil {
|
||||
fmt.Printf("%+v", err)
|
||||
}
|
||||
|
||||
for _, pattern := range args {
|
||||
s := restrictions(matcher(pattern))
|
||||
obifind.TaxonWriter(s, pattern)
|
||||
}
|
||||
}
|
||||
|
||||
//pprof.StopCPUProfile()
|
||||
}
|
||||
Reference in New Issue
Block a user