blastn: Welche Substitutionsmatrix wird verwendet?

Ich arbeite derzeit daran, Sequenzen auszurichten, und ich muss die Ähnlichkeit zwischen Paaren von DNA-„Wörtern“ einer bestimmten Länge berechnen.

Für Aminosäuren kann ich die Substitutionsmatrizen in Biopython (Bio.SubsMat.MatrixInfo) verwenden.

Ich habe jedoch nichts Ähnliches für DNA gefunden, also habe ich nachgelesen und festgestellt, dass die meisten Systeme ein Übereinstimmungs-/Nichtübereinstimmungs-Bewertungssystem verwenden, bei dem jede Nukleotidübereinstimmung und Nichtübereinstimmung bewertet und dann die Bewertungen summiert werden. Das funktioniert gut, solange ich nur mit A, G, C und T zu tun habe, aber ich bekomme Probleme, wenn ich eine Sequenz bekomme, die N oder M und dergleichen enthält (dh Nukleotid unbekannt).

Gibt es eine Standardmethode, um die Situation mit Unbekannten zu handhaben? Das heißt, wie bewerte ich A gegen N oder M gegen N?

Danke im Voraus.

Antworten (1)

BLASTN verwendet keine Substitutionsmatrix. Es gibt Scores für Übereinstimmung, Nichtübereinstimmung und Lücken, die Sie ebenfalls definieren können.

Derzeit ist keine Funktion verfügbar, mit der Spiele gegen Unbekannt gewertet werden können. Sie werden als Nichtübereinstimmungen betrachtet (wie unten gezeigt). Wenn sich diese Unbekannten in der Mitte eines HSP befinden, können Sie das HSP wahrscheinlich mithilfe eines Python-Skripts gemäß Ihrem Schema neu bewerten. Wenn die NDehnung die HSP stört, können Sie versuchen, die Mismatch-Strafen zu lockern und die Wortgröße zu reduzieren (im Grunde genommen die Stringenz reduzieren). Mir fällt keine andere Lösung ein.

Query  1    CAGCGTCCANNTCCCGAGGTGCCGGGATTGCAGACGGAGTCTGGTTCACTCAGTGCTCAA  60
            |||||||||  |||||||||||||||||||||||||||||||||||||||||||||||||
Sbjct  8    CAGCGTCCACCTCCCGAGGTGCCGGGATTGCAGACGGAGTCTGGTTCACTCAGTGCTCAA  67

Query  61   TGGTGCCCAGGCTGGAGTGCAGTGGCGTGATCTCGGCTCGCTACANNCTCCACCTCCCAG  120
            |||||||||||||||||||||||||||||||||||||||||||||  |||||||||||||
Sbjct  68   TGGTGCCCAGGCTGGAGTGCAGTGGCGTGATCTCGGCTCGCTACAACCTCCACCTCCCAG  127

Query  121  CCGCCTGCCCTGGCCTCCCAAAGTGCCGAGATTGCAGCCTCTGCCCAGCCGCCACCCC  178
            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sbjct  128  CCGCCTGCCCTGGCCTCCCAAAGTGCCGAGATTGCAGCCTCTGCCCAGCCGCCACCCC  18
Ich verstehe das, ich verwende den Begriff Matrix, weil ich ihn programmatisch mit einem handhabe, aber ich erzeuge ihn mit den Übereinstimmungs- und Nichtübereinstimmungswerten. Ich werde die Frage ändern, um genauer zu sein, was ich will.
@ChrisChambers Bearbeitet. Aber ich fürchte, was Sie suchen, ist ohne zusätzliches Scripting nicht möglich.
"Sie gelten als Nichtübereinstimmungen (wie unten gezeigt)" Das wollte ich wissen. Wenn ich also auf ein Nukleotid stoße, das nicht speziell angegeben ist (dh N, M usw.), ist es automatisch eine Nichtübereinstimmung. Es spielt keine Rolle, ob ich N mit M oder N mit A usw. usw. vergleiche, es ist eine Nichtübereinstimmung, richtig? Das ist alles, was ich wissen muss, da ich an der Implementierung der Bewertung arbeite, um ähnliche Wörter für die Ausrichtung zu bestimmen.