2
$\begingroup$

I am running a blastp search:

time ~/bin/ncbi-blast-2.14.0+-src/c++/ReleaseMT/bin/blastp -db nr -query X.fasta -out nr.X -num_descriptions 4000 -remote

but I have 2 problems with the output:

I. Under Sequences producing significant alignments:, the output is truncated, and I can't read the exact species name:

XP_002906761.1 elongation factor 3, putative [Phytophthora infest...  848     0.0  
KAG3108573.1 Elongation factor 3 [Phytophthora idaei] >gb|KAG3151...  845     0.0  
KAG2772535.1 Elongation factor 3 [Phytophthora cactorum] >gb|KAG2...  845     0.0  
KAG6976665.1 hypothetical protein JG688_00001147 [Phytophthora al...  844     0.0

II.

The above sequences do not show up on the detailed sequence alignments below.

I have tried numerous variations of "outfmt" variations, but now am getting warnings that I'm using the system too much. So far, output format 0 is the best.

How can I get the full names and not the truncations?

Why aren't the above species showing up later on, and how can I get the full alignment to show?

$\endgroup$

2 Answers 2

1
$\begingroup$

Hmmm, firstly can you attempt multi-threading on a remote command via -num_threads 8...

blastp -db nr -query X.fasta -out nr.X -num_threads 8 -num_descriptions 4000 -remote

It's a worth a try. Otherwise it could likely be a function of the network access or remote server resources. I don't think this is a function of the local RAM. Therefore performing a remote blast to download relevant sections of the NCBI database, convert that into a local database and then perform local blast seems the best strategy.

Multi-threading and -outfmt work well with local blast.

blastp -query query.fa -db test.db -outfmt 6 -max_target_seqs 1000 -num_threads 8 -out blasthits.txt

The alignment is a function of the output formats in the above example its -outfmt 6 that is not useful, but 1 to 4 are relevant as follows.

 -outfmt <String>
   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) 

Multi-threading/parallelisation is the way to overcome memory issues, but really effective only in local operations not remote operations. Again, I think there's too much traffic/ or too many resources requested on NCBI server - and thats where the memory error is occurring.

$\endgroup$
2
  • $\begingroup$ There's no RAM issue, NCBI said they would deprioritize me. I just need to get all of the alignments showing in the 2nd part of the output file, and I'm not sure how to write the command that correctly. So far, option 0 is best, but I've yet to find a way of telling blastp to not truncate the output, and output the alignments for all $\endgroup$
    – con
    Jun 17 at 1:34
  • $\begingroup$ I did say I thought local RAM was unlikely to be RAM. NCBI have deprioritised you? Wow. Biopython does use scheduling so maybe their blast package may be better. -outfmt 1 is probably the best. I've never encounter truncation in blast so dunno. What I'm recommending is a two stage process and perform the blast locally. $\endgroup$
    – M__
    Jun 17 at 2:30
-2
$\begingroup$

The problem I had was solved by num_alignments, which is more complete than the first section. I do not think that the text truncation is solvable. However, parsing of the latter half solved the problem.

the correct way to get the most complete output is:

time ~/bin/ncbi-blast-2.14.0+-src/c++/ReleaseMT/bin/blastp -db nr -query X.fasta -out nr.X.0 -outfmt 0 -num_descriptions 4000 -remote -num_alignments 4000

$\endgroup$
0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.