Wie kann ich genomische Sequenz effizient mit Python holen? Zum Beispiel aus einer .fa-Datei oder einem anderen einfach zu erhaltenden Format? Ich möchte grundsätzlich eine Schnittstelle fetch_seq (chrom, strang, start, end), die die Sequenz [start, end] auf dem angegebenen Chromosom auf dem angegebenen Strang zurückgibt.Genomische Sequenz effizient in Python holen?
Analog gibt es eine programmatische Python-Schnittstelle zum Abrufen von phastCons Scores?
danke.
Ich stimme zu, dass dieser Ansatz sehr elegant ist, da Sie eine Standardbibliothek verwenden müssen, aber ich fand sie sehr langsam. Wenn Sie eine Fasta-Datei ohne Zeilenumbrüche annehmen, können Sie einfach die Koordinaten in der Datei "suchen", was meiner Meinung nach viel schneller ist, und Sie müssen nicht alle Fasta-Dateien von jedem Chromosom in den Speicher laden. Gibt es eine Möglichkeit, mit einer Standardbibliothek wie biopython die gleiche Effizienz zu erreichen? Vielen Dank. – user248237dfsf
Es ist nicht ganz klar, wonach Sie suchen, aber ich stimme zu, dass eine benutzerdefinierte Lösung, die auf Ihre spezifischen Dateien zugeschnitten ist, schneller ist als eine allgemeinere Lösung. In der Praxis haben die meisten FASTA-Dateien Zeilenumbrüche und was nicht, also bevorzuge ich es, allgemein zu sein, aber Ihre Erfahrung kann variieren. –
Ich weiß, dass dies ein alter Thread ist, aber ich hoffe, dass jemand anderes es bemerken wird und aktuellere Nachrichten bringt. Samtools (holtools.sourceforge.net) hat eine Funktion namens faidx, mit der Sie genau dies in der Befehlszeile tun können. Pysam (https://github.com/pysam-developers/pysam) umschließt viele der Methoden, aber ich kann die Funktion faidx nicht funktionieren lassen.: P Im schlimmsten Fall kann ich das Befehlszeilentool einpacken, aber ich möchte etwas "native", wenn möglich. –