Länge, die das Dateihandling durchschneidet

9

Ich habe zwei Codes, die die gleiche Arbeit verrichtet haben wie ich, aber trotzdem habe ich keinen nützlichen oder besseren Code für meinen Datensatz bekommen, um ihn für mich nützlich zu machen. Zuerst möchte ich klarstellen, was ich mache. Ich habe 2 TEXT files, einen Namen als input_num und zweitens benannt als input_data , da es klar ist, dass input_num.txt eine Zahl enthält und input_data Daten enthält, diese 2 Dateien sind 8 bis 10 mb, lass mich dir etwas von ihrem Teil zeigen, Das ist 'input_num.txt'

%Vor%

und dieses input_data.txt

%Vor%

Diese 2 sind Teile ihrer Textdateien, input_data.txt haben die letzte Spalte, die ASA5 enthält und so weiter, das sind Daten von input_num.txt , also überprüft das Programm zuerst die letzte Spalte von >56|61|83|92|ASA5 was ist ASA5 als goto input_num.txt , die 5 haben, sie enthalten einen Wert in input_num.txt wie 4 im obigen Beispiel, also komm zurück zu den input_data.txt gehe zu den Wörtern und schneide sie auf 4,

Ich habe 2 Codes dafür: 1 ist

%Vor%

und der zweite ist

%Vor%     
Rocket 12.04.2013, 18:46
quelle

1 Antwort

5

So weit ich aus der Beschreibung Ihres Problems mit dem ersten Code verstehen konnte, wollen Sie die ersten N Buchstaben in der Ausgabe haben, während Sie eigentlich alles außer den ersten N Buchstaben erhalten. Dies kann wahrscheinlich durch Ändern von

behoben werden %Vor%

bis

%Vor%

Ich denke auch, dass die verwendeten regulären Ausdrücke nicht vollständig korrekt sind. Ich empfehle folgendes für die Nummern:

%Vor%

und das Folgende für die Daten:

%Vor%

Beachten Sie jedoch, dass die Idee immer noch fehlerhaft ist, weil Sie versehentlich mehr als eine Sequenz ändern können, wenn Sie replace ausführen. Auch diese Methode ist speicherineffizient, da die Dateien als eine Zeichenfolge in den Speicher gelesen werden. Ich schlage vor, einen iterativen Parser für die Daten zu verwenden, wie die unten genannten.

Wenn ich dieses Problem lösen müsste, würde ich pyteomics verwenden, um FASTA-Dateien zu lesen und zu schreiben ( weil ich es geschrieben habe und immer griffbereit habe.

Das Format von input_num.txt ist schrecklich, daher denke ich, dass der Code aus Ihrem ersten Beispiel der beste ist, um die Informationen zu extrahieren. Ich habe jedoch ein paar Korrekturen vorgenommen:

%Vor%

Andererseits, da Ihre Daten eher wie DNA-Sequenzen aussehen und Pyteomics für die Proteomik geeignet ist, könnte es sinnvoller sein, BioPython.SeqIO zu verwenden. :

%Vor%     
Lev Levitsky 16.04.2013, 17:59
quelle

Tags und Links