analysiert wurde Ich versuche, eine Fasta-Datei nach der alphabetischen Reihenfolge der Sequenzen in der Datei zu sortieren (nicht die ID der Sequenzen). Die Fasta-Datei enthält mehr als 200 Sequenzen und ich versuche, Duplikate zu finden (mit Duplikaten meine ich fast dieselbe Proteinsequenz, aber nicht dieselbe ID) innerhalb eines Bit-Masters (mit einem Python-Code). Also wollte ich ein Wörterbuch aus der Fasta-Datei machen und dann die Wörterbuchwerte sortieren. Der Code, den ich zu verwenden Ich versuche ist die folgende:"NotImplementedError: SeqRecord" bei der Sortierung nach einer Fasta-Datei, die mit SeqIO
from Bio import SeqIO
input_file = open("PP_Seq.fasta")
my_dict = SeqIO.to_dict(SeqIO.parse(input_file, "fasta"))
print sorted(my_dict.values())
Ich halte diese Fehlermeldung bekommen:
"Traceback (most recent call last):
File "sort.py", line 4, in <module>
print sorted(my_dict.values())
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Bio/SeqRecord.py", line 730, in __lt__
raise NotImplementedError(_NO_SEQRECORD_COMPARISON)
NotImplementedError: SeqRecord comparison is deliberately not implemented. Explicitly compare the attributes of interest."
Ich habe auch versucht zu suchen, wie man diesen Fehler fin aber es ares't viel Informationen darüber, und einige der Informationen, die ich gelesen habe, wo scheinbar gesagt wird, dass die Länge der im Wörterbuch gespeicherten Sequenzen ein Problem sein könnte? ... Wenn ja, wie wird die Fasta-Datei ohne SeqIO sortiert?
Ist Ihr Diktat wie '{fasta_header: sequence}'? –
Das bedeutet, dass 'SeqRecords' nicht vergleichbar sind und daher nicht sortiert werden können. Mit welchem Schlüssel möchten Sie sie sortieren? Etwas wie 'sorted (my_dict.values (), key = operator.attrgetter ('seq'))' würde wahrscheinlich funktionieren. – mata
@mata können sagen, dass ich diese Datei als Eingabe haben: > seq0 ABCWYXO > seq1 IJKLMNOP > seq2 BCDEFGH > SEQ3 ABCDEFG Ich möchte die Ausgabe eine Datei organisiert wie diese werden: > SEQ3 ABCDEFG > seq0 ABCWYXO > seq2 BCDEFGH > seq1 IJKLMNOP sie nach alphabetischer Reihenfolge von Proteinsequenzen ... Grundsätzlich aussortieren Also ich wie der Vergleich eine Sequenz denke (strin g) zum jeweils anderen Zeichen in einer Schleife, und sortiere sie auf diese Weise. In der Lage sein, sie in einer neuen Datei basierend auf dieser Reihenfolge zu platzieren und ihre eigene ID jedes Mal abrufen ... –