Skip to content

Non existing BUSCO datasets selected by annotate.py #91

Description

@mat43672

Hello,

When providing a species name to "annotate", I end up with a choice of BUSCO datasets that do not exist.

My species is a Serinales (--species "Australozyma monospora"), so ascomycota_odb12 should be used, but I get serinales_odb12, which is not a BUSCO dataset.

There is a dictionary in config.py (busco_taxonomy); the key is the dataset to use, while the value contains all taxonomic nodes covered by the dataset to make the match.

These two entries in the dictionary are involved in this case.

Ascomycota is correct, as it is the first match in the lineage of my species, so both the key and the matching value would give a correct and most specific dataset.

"ascomycota": {
"superkingdom": "Eukaryota",
"kingdom": "Fungi",
"phylum": "Ascomycota",
},

The dictionary entry that is apparently being used, with two issues:

"debaryomycetaceae": {
"superkingdom": "Eukaryota",
"kingdom": "Fungi",
"phylum": "Ascomycota",
"class": "Pichiomycetes",
"order": "Serinales",
"family": "Debaryomycetaceae",
},

  1. The matching value is returned, Serinales, but not the key (debaryomycetaceae).
  2. The key would not be in the lineage of my species. It is indeed a Serinales, but not a Debaryomycetaceae.

I think the matching algorithm could still return the lowercase version of the match, but only the deepest level should be considered for the match, and in my case we would get Ascomycota from the "ascomcotya" entry.

In the meantime, I will manually define the BUSCO dataset to use with --busco-lineage.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions