Changes to be committed:

modified:   cmd/obitools/obitag/main.go
	modified:   cmd/obitools/obitaxonomy/main.go
	modified:   pkg/obiformats/csvtaxdump_read.go
	modified:   pkg/obiformats/ecopcr_read.go
	modified:   pkg/obiformats/ncbitaxdump_read.go
	modified:   pkg/obiformats/ncbitaxdump_readtar.go
	modified:   pkg/obiformats/newick_write.go
	modified:   pkg/obiformats/options.go
	modified:   pkg/obiformats/taxonomy_read.go
	modified:   pkg/obiformats/universal_read.go
	modified:   pkg/obiiter/extract_taxonomy.go
	modified:   pkg/obioptions/options.go
	modified:   pkg/obioptions/version.go
	new file:   pkg/obiphylo/tree.go
	modified:   pkg/obiseq/biosequenceslice.go
	modified:   pkg/obiseq/taxonomy_methods.go
	modified:   pkg/obitax/taxonomy.go
	modified:   pkg/obitax/taxonset.go
	modified:   pkg/obitools/obiconvert/sequence_reader.go
	modified:   pkg/obitools/obitag/obitag.go
	modified:   pkg/obitools/obitaxonomy/obitaxonomy.go
	modified:   pkg/obitools/obitaxonomy/options.go
	deleted:    sample/.DS_Store
This commit is contained in:
Eric Coissac
2025-06-04 09:48:10 +02:00
parent 3424d3057f
commit 6cb7a5a352
23 changed files with 230 additions and 56 deletions

View File

@ -11,7 +11,7 @@ import (
log "github.com/sirupsen/logrus"
)
type TaxonomyLoader func(path string, onlysn bool) (*obitax.Taxonomy, error)
type TaxonomyLoader func(path string, onlysn, seqAsTaxa bool) (*obitax.Taxonomy, error)
func DetectTaxonomyTarFormat(path string) (TaxonomyLoader, error) {
@ -67,26 +67,28 @@ func DetectTaxonomyFormat(path string) (TaxonomyLoader, error) {
case "application/x-tar":
return DetectTaxonomyTarFormat(path)
case "text/fasta":
return func(path string, onlysn bool) (*obitax.Taxonomy, error) {
return func(path string, onlysn, seqAsTaxa bool) (*obitax.Taxonomy, error) {
input, err := ReadFastaFromFile(path)
input = input.NumberSequences(1, true)
if err != nil {
return nil, err
}
_, data := input.Load()
return data.ExtractTaxonomy(nil)
return data.ExtractTaxonomy(nil, seqAsTaxa)
}, nil
case "text/fastq":
return func(path string, onlysn bool) (*obitax.Taxonomy, error) {
return func(path string, onlysn, seqAsTaxa bool) (*obitax.Taxonomy, error) {
input, err := ReadFastqFromFile(path)
input = input.NumberSequences(1, true)
if err != nil {
return nil, err
}
_, data := input.Load()
return data.ExtractTaxonomy(nil)
return data.ExtractTaxonomy(nil, seqAsTaxa)
}, nil
}
@ -96,14 +98,14 @@ func DetectTaxonomyFormat(path string) (TaxonomyLoader, error) {
return nil, nil
}
func LoadTaxonomy(path string, onlysn bool) (*obitax.Taxonomy, error) {
func LoadTaxonomy(path string, onlysn, seqAsTaxa bool) (*obitax.Taxonomy, error) {
loader, err := DetectTaxonomyFormat(path)
if err != nil {
return nil, err
}
taxonomy, err := loader(path, onlysn)
taxonomy, err := loader(path, onlysn, seqAsTaxa)
return taxonomy, err
}