GithubHelp home page GithubHelp logo

Comments (2)

kStarr24 avatar kStarr24 commented on May 28, 2024

Hi @Joseph7e, I am the exact same issue. I tried both giving the script blast results in the required format and allowing the script to perform the blastn command. Both ways I encountered the generic output with no taxonomy information (exactly as shown above). Not sure what's going on here but it seems it must be something related to the expanded_ncbi_taxonomy.tsv file? I created the expanded_ncbi_taxonomy.tsv following the instructions in the README file.

I would be very grateful for any advice on how to fix this.

from assign-taxonomy-with-blast.

kStarr24 avatar kStarr24 commented on May 28, 2024

Hi @maottino, I've been digging into this, and after lots of trouble shooting I have the program working well! There are a couple things to check that might fix your issue.

As of today, the readme file for this program states that if you bring in your own blast file it should have the following format '6 qseqid qlen sseqid pident length qstart qend sstart send evalue bitscore'. However, the taxonomy_assignment_BLAST.py uses the last column of the blast table as the taxonomy id to look up in the taxonomy database. Ensure the the blast output's final column is staxids. This is the blast output format I used: "6 qseqid qlen sseqid pident length qstart qend sstart send evalue staxids". However, your post indicates that you do have staxids as the final column. I'm wondering if there was a change in the readme file between now and when you were attempting to use it?

Here is what is more likely your problem. If you look at the readme file in the usage section you can find that there is a flag called --ncbi_nt. When you include it it gets set to 'True'. You have to include this flag in the function call if you are using the ncbi database because it sends the function into an if statement that assigns the correct indexing for the NCBI taxonomy levels.

You can check to see if this is your problem by looking in the log_file.txt output. Near the beginning there is a section to check to make sure the taxonomy indexing is correct.
If it is incorrect you will see something like this:
#Taxonomy Categories
superkingdom:subkingdom:sub_subkingdom:kingdom:tmp1:tmp2:phylum:class:family:genus:species:tmp3:tmp4>#The below levels should match the target, i.e. species_level = species
Species_level = 14 = tmp6
Family_level = 10 = species
Phylum_level = 7 = class

And if it is correct you will see this:
#Taxonomy Categories
superkingdom:kingdom:phylum:subphylum:superclass:class:subclass:superorder:order:superfamily:family:>#The below levels should match the target, i.e. species_level = species
Species_level = 13 = species
Family_level = 10 = family
Phylum_level = 2 = phylum

Here is the function call that worked for me:

python3 Assign-Taxonomy-with-BLAST-master/taxonomy_assignment_BLAST.py ASVstest.fa /scratch/ncbi_taxonomy/expanded_ncbi_taxonomy.tsv --ncbi_nt --blast_file=blast_table.txt

from assign-taxonomy-with-blast.

Related Issues (7)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.