Frage:
Wie kann man Explosionsergebnisse gemäß der intuitiven Interpretation von `-max_target_seqs` erzielen?
Kamil S Jaron
2018-09-28 14:54:17 UTC
view on stackexchange narkive permalink

Vor kurzem hat ein BLAST -Parameter -max_target_seqs n viel Aufmerksamkeit erhalten. Anstelle der intuitiven Interpretation (Rückgabe der besten n -Sequenzen) werden die Parameter aufgefordert, die ersten n -Sequenzen zurückzugeben, die den E-Wert-Schwellenwert überschreiten. Dies betrifft Tausende von Workflows und Analysen, die die intuitive Interpretation voraussetzen.

Ich habe auch festgestellt, dass es einen anderen Parameter namens -num_alignments gibt. Was ist der Unterschied? Die verwandte Frage zu BioStars scheint den Parameter max_target_seqs falsch zu interpretieren. Wird num_alignments ebenfalls missverstanden?

Nun die Hauptfrage. Wie kann ich Blast ausführen, um die besten n Treffer in der Datenbank zu erzielen?

Bis jetzt dachte ich, dass dieses Beispiel den Job erledigen wird:

  blastp -query  $ QUERY -db $  span> PROTEINE -out $ BLASTOUT -evalue 1e-10 -outfmt 6 -num_alignments 5  

- edit -

Jetzt habe ich verstanden, dass ich die gewünschte Ausgabe nicht nur durch Explosionsparameter erreichen kann, aber ich sehe immer noch keine Antwort darauf, wie ich die besten n Treffer erzielen kann. Also wollte ich herausfinden, wie man alle Ergebnisse erhält, und das ist auch nicht intuitiv. Der Parameter -max_target_seqs ist standardmäßig auf 500 eingestellt. Bedeutet dies, dass ich bei mehr als 500 signifikanten Treffern keine Garantie für den besten habe? Muss ich max_target_seqs für eine verrückte hohe Zahl angeben, um sicherzugehen, dass ich sie alle habe?

relevante https://bioinformatics.stackexchange.com/questions/2846/why-does-a-very-strong-blast-hit-get-lost-when-i-change-num-alignments-num-desc
Zu Ihrer letzten Bearbeitung: Ich denke schon, ohne den Quellcode zu kennen, könnte er benötigt werden. Ich denke jedoch, dass der Standardwert der gleiche ist, der für das Web verwendet wird. Wenn Sie also dieselben Ergebnisse für Ihren Inline-Befehl und für das Web erzielen möchten, ist es möglicherweise besser, ihn unverändert zu lassen. (Falls Sie den C ++ - Code ändern wollten, habe ich versucht, die Lizenz der Software zu sehen, aber ich konnte nichts finden.)
Zwei antworten:
llrs
2018-09-28 15:32:46 UTC
view on stackexchange narkive permalink

Der -max_target_seqs bezieht sich auch auf den -Wert , der nicht funktioniert, wie man denkt. Wenn man sich die Blast News ansieht, stellt man fest, dass man seit der Veröffentlichung von Version BLAST 2.2.27+ die -max_target_seqs verwenden sollte:

4. ) Die Ausgabe für Berichte ohne separate Beschreibungen und Ausrichtungsabschnitte (alle –outfmt größer als 4) sollte jetzt –max_target_seqs verwenden, um die Ausgabe zu steuern, anstatt –num_descriptions und –num_alignments.

So scheint es dass num_alignments auch missverstanden wird. Ich bin zu dem Schluss gekommen, dass man nicht erwarten kann, die besten n -Ausrichtungen zu erhalten, es sei denn, Sie erhalten alle und filtern sich die besten.

Für einen manuellen Filteransatz schauen Sie sich meine Antwort an.
Kamil S Jaron
2018-10-03 21:24:08 UTC
view on stackexchange narkive permalink

Als Antwort auf die Antwort von @Llopis (keine native Explosionslösung) habe ich ein Skript blast_filter.py geschrieben und es meiner Sammlung nützlicher Skripte generic_genomics a hinzugefügt >. Das Skript filtert die Explosionsausgabe heraus und funktioniert mit Streams. Um die n (5) besten Explosionstreffer nach E-Wert zu erhalten, können Sie Folgendes ausführen:

  blastp -query  $ QUERY -db $  span> PROTEINE -evalue 1e-10 -outfmt 6 | blast_filter.py 5 > $ BLASTOUT  

Ich gehe davon aus, dass die Explosionsausgabe hauptsächlich nach Abfragenamen und sekundär nach E-Wert sortiert ist. Beachten Sie außerdem, dass der Standardwert max_target_seqs in blast 500 ist. Wenn eine Abfrage mit 500 Ausrichtungen vorliegt, wird vom Skript eine Warnung gelöscht (die Abfrage hat keine Garantie für den besten gefundenen Treffer).



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 4.0-Lizenz, unter der er vertrieben wird.
Loading...