This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Problem with extract aligment from a blast result to a fasta file....

I have a metagenome like a db, and I need to blast a genome with this metagenome, the results are very wide, and I need to extract the alignment from this result and put into a fasta file, but I can't, because the result are in a *.html file. I do this:

formatdb

formatdb -i home/biolinux/Desktop/prueba/Metagenoma/l1l2/4499203.3.350.genecalling.coding.faa

Blastp

blastall \
  -p blastp \
  -d /home/biolinux/Desktop/prueba/Metagenoma/l1l2/4499203.3.350.genecalling.coding.faa \
  -T T \
  -i /home/biolinux/Desktop/prueba/Nitrincola.gbk \
  -o /home/biolinux/Desktop/prueba/resulnitri.html

Later I try to do a fastacmd, but I can't

What can I do?

blast fasta

1 answer

I would first recommend you update the BLAST cli you're using to the latest release. (ncbi-blast-2.2.29+)

The command to make the db would then be:

makeblastdb -in <input file> -input_type <file type> -dbtype <molecule type> -out <database name>

then for blastp:

blastp -db <database name> -query <input_file> -out <output file name> -outfmt <**format> -num_threads int_value (if you have more CPUs at your disposal

alignment view options:

0 = pairwise,
1 = query-anchored showing identities,
2 = query-anchored no identities,
3 = flat query-anchored, show identities,
4 = flat query-anchored, no identities,
5 = XML Blast output,
6 = tabular,
7 = tabular with comment lines,
8 = Text ASN.1,
9 = Binary ASN.1
10 = Comma-separated values
11 = BLAST archive format (ASN.1)

Choose the output format that best fits what you want to do. When I want to get a new fasta of results, I often will output in the tabular format, and using unix commands and python will sort the evalues in column 11, and toss out hits I don't want. I pull out the desired IDs from the first column, and then pull the corresponding sequences and headers from the original fasta file given the id's from the blast output.

Log in to answer this question.