mirror of
https://github.com/metabarcoding/obitools4.git
synced 2025-12-08 08:40:26 +00:00
Changes to be committed:
modified: cmd/obitools/obitag/main.go modified: cmd/obitools/obitag2/main.go modified: go.mod modified: go.sum modified: pkg/obiformats/ncbitaxdump/read.go modified: pkg/obioptions/version.go modified: pkg/obiseq/attributes.go modified: pkg/obiseq/taxonomy_lca.go modified: pkg/obiseq/taxonomy_methods.go modified: pkg/obiseq/taxonomy_predicate.go modified: pkg/obitax/inner.go modified: pkg/obitax/lca.go new file: pkg/obitax/taxid.go modified: pkg/obitax/taxon.go modified: pkg/obitax/taxonomy.go modified: pkg/obitax/taxonslice.go modified: pkg/obitools/obicleandb/obicleandb.go modified: pkg/obitools/obigrep/options.go modified: pkg/obitools/obilandmark/obilandmark.go modified: pkg/obitools/obilandmark/options.go modified: pkg/obitools/obirefidx/famlilyindexing.go modified: pkg/obitools/obirefidx/geomindexing.go modified: pkg/obitools/obirefidx/obirefidx.go modified: pkg/obitools/obirefidx/options.go modified: pkg/obitools/obitag/obigeomtag.go modified: pkg/obitools/obitag/obitag.go modified: pkg/obitools/obitag/options.go modified: pkg/obiutils/strings.go
This commit is contained in:
@@ -16,11 +16,24 @@ import (
|
||||
// if either of the taxa is nil, if they are not in the same taxonomy, or
|
||||
// if the taxonomy is unrooted.
|
||||
func (t1 *Taxon) LCA(t2 *Taxon) (*Taxon, error) {
|
||||
if t1 == nil || t1.Node == nil {
|
||||
return nil, fmt.Errorf("try to get LCA of nil taxon")
|
||||
if t1 == nil && t2 != nil {
|
||||
return t2, nil
|
||||
}
|
||||
|
||||
if t2 == nil || t2.Node == nil {
|
||||
if t2 == nil && t1 != nil {
|
||||
|
||||
return t1, nil
|
||||
}
|
||||
|
||||
if t1 == nil && t2 == nil {
|
||||
return nil, fmt.Errorf("try to get LCA of nil taxa")
|
||||
}
|
||||
|
||||
if t1.Node == nil {
|
||||
return nil, fmt.Errorf("try to get LCA of nil taxa")
|
||||
}
|
||||
|
||||
if t2.Node == nil {
|
||||
return nil, fmt.Errorf("try to get LCA of nil taxon")
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user