Ich versuche, eine große Fasta-Datei zu analysieren, und ich habe nicht genügend Speicherfehler. Einige Vorschläge zur Verbesserung der Datenverarbeitung würden geschätzt. Momentan druckt das Programm die Namen korrekt aus, aber teilweise durch die Datei bekomme ich einen MemoryError
Hier ist der Generator
%Vor%und hier ist der Anruferstummel mehr wird hinzugefügt, nachdem dieser Teil funktioniert
%Vor%Für diejenigen, die mit dem Fasta-Format nicht verwandt sind, hier ist ein Beispiel
%Vor%Jeder Eintrag beginnt mit einem "& gt;" unter Angabe des Namens usw. sind die nächsten N Zeilen Daten. Es gibt kein definiertes Ende der Daten außer der nächsten Zeile mit einem "& gt;" am Anfang.
Haben Sie daran gedacht, BioPython zu verwenden? Sie haben einen Sequenzleser , der Fasta-Dateien lesen kann. Und wenn Sie daran interessiert sind, selbst einen zu programmieren, können Sie sich den BioPython-Code .
Bearbeiten : Code hinzugefügt
%Vor%Ohne ein großes Verständnis davon zu haben, was Sie tun, hätte ich den Code so geschrieben:
%Vor% Dies sammelt die Daten nach einer Startlinie bis zur nächsten Startlinie. Wenn Sie seq
auf ein Array setzen, bedeutet dies, dass Sie die Verbindung bis zum letzten möglichen Moment minimieren. Ein Tupel zu ergeben macht mehr Sinn als eine Liste.