Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

anvi-display-functions, KOfam, sugar #2250

Open
Lcornet opened this issue Apr 9, 2024 · 1 comment
Open

anvi-display-functions, KOfam, sugar #2250

Lcornet opened this issue Apr 9, 2024 · 1 comment

Comments

@Lcornet
Copy link

Lcornet commented Apr 9, 2024

Dear anvio teams (on others),

I am working with anvi-display-functions, using KOfam as annotation source.
I have a list of Kofams which i know to be linked with Carbon source to summarize which sugar can be used by a bacteria.
I would like to reduce the anvi-display-functions to this list and order the plot to group the Kofams by sugar source (Glucose, Mannose, Cellobiose ect ...).

anvi-display-functions work well but i don't know how to (if possible):

  1. limit the Kofams displayed
  2. order the Kofam in the display

Could you point me on some documentation to do this ?

Thanks

@ivagljiva
Copy link
Contributor

ivagljiva commented Apr 9, 2024

Hi @Lcornet ,

There isn't currently a way to restrict anvi-display-functions to a specific set of annotations within a given annotation source. However, I can think of one workaround:

  • export the KOfam functions from each contigs database using anvi-export-functions
  • filter the (db-specific) functions list to your KOfams of interest
  • import the filtered list of KOfams into each contigs database with a unique annotation source name (for example, 'KOfam_filtered'), with anvi-import-functions
  • run anvi-display-functions with the new annotation source name describing the filtered KOs

For your second question, I think you could order by sugar source by importing the sugar source information per item in the display, so that this additional data field will then show up in Order By box on the interface. This can be done pretty easily by using anvi-import-misc-data on your profile database before you re-visualize it using anvi-interactive --manual. The tricky bit will be to figure out which item name belongs to each KOfam, since functions in this display are described via a hash value, not the KO accession itself. I am guessing that a workflow like this could work:

  • generate your initial display with anvi-display-functions to get a profile database
  • export the KO associated with each item, and the item's name (hash value) using anvi-export-misc-data (you will need to export the items table)
  • create a new items misc data file mapping the sugar source to each item based upon its associated KOfam annotation
  • import that new data file into the existing profile database (the items additional data table again) using anvi-import-misc-data.
  • visualize the display again using anvi-interactive --manual and giving the program the path to your profile database
  • then you should see the sugar source additional data value as an option for ordering the display.

The documentation for all of the programs mentioned here (and their associated artifacts) can be found on the anvi'o website. Hopefully it is clear enough that you can figure out the parameters you need for each step. If not, let us know.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants