AlexsLemonade / AlexsLemonade/refinebio

Handle taxonomy id edge cases for strains

Open
#2,123 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
135
Forks
21
PR merge metrics
No merged PRs in 30d

Description

Context

#1722
https://github.com/AlexsLemonade/refinebio/pull/2035
https://www.ebi.ac.uk/ena/data/view/SRS663100&display=xml

We now support organisms with strains by using a single strain's transcriptome index for the whole species. Which strain to use is chosen by an expert. However this is complicated because NCBI has a different organism with a different taxonomy id for each strain.

Problem or idea

It seems like generally ENA returns the taxonomy id for the organism rather than the strain, but I found some edge cases where the only information we have on the species is:

<TAXON_ID>511145</TAXON_ID>
<SCIENTIFIC_NAME>Escherichia coli str. K-12 substr. MG1655</SCIENTIFIC_NAME>

(https://www.ebi.ac.uk/ena/data/view/SRS663100&display=xml)

This means that we can't easily tell that this sample has the organism "E. coli", so we end up thinking that we don't have a transcriptome index for it.

Solution or next step

@jaclyn-taroni has agreed that trying to use the above metadata to map to "E. coli" via some manipulation of the SCIENTIFIC_NAME would be messy and bug prone. Therefore the only solution we have at the moment is to create a mapping from strain-specific-taxonomy-ids to the taxonomy id for the organism (i.e. https://www.ncbi.nlm.nih.gov/Taxonomy/Browser/wwwtax.cgi?mode=info&id=562 rather than https://www.ncbi.nlm.nih.gov/Taxonomy/Browser/wwwtax.cgi?mode=info&id=511145)

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the ENA XML example for SRS663100 and compare its TAXON_ID 511145 and SCIENTIFIC_NAME with the NCBI taxonomy entry for organism ID 562. Review the context in #1722 and pull request #2035, then define the strain-specific taxonomy mapping needed so the sample resolves to the organism's transcriptome index.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
bioinformatics, data
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.