Nowość w kodowaniu. Nowość w Pytho/biopython; to jest moje pierwsze pytanie online, nigdy. Jak otworzyć skompresowany plik fasta.gz, aby wyodrębnić informacje i wykonać obliczenia w mojej funkcji. Oto uproszczony przykład tego, co próbuję zrobić (próbowałem na różne sposoby) i jaki jest błąd. Polecenie gzip, którego używam, nie działa.SeqIO.parse na fasta.gz
with gzip.open("practicezip.fasta.gz", "r") as handle:
for record in SeqIO.parse(handle, "fasta"):
print(record.id)
Traceback (most recent call last):
File "<ipython-input-192-a94ad3309a16>", line 2, in <module>
for record in SeqIO.parse(handle, "fasta"):
File "C:\Users\Anaconda3\lib\site-packages\Bio\SeqIO\__init__.py", line 600, in parse
for r in i:
File "C:\Users\Anaconda3\lib\site-packages\Bio\SeqIO\FastaIO.py", line 122, in FastaIterator
for title, sequence in SimpleFastaParser(handle):
File "C:\Users\Anaconda3\lib\site-packages\Bio\SeqIO\FastaIO.py", line 46, in SimpleFastaParser
if line[0] == ">":
IndexError: index out of range
Miałem podobne błędy, gdy przypadkowo sparsowałem plik fastq w niewłaściwym formacie. Jeśli rozpakujesz plik fasta i pobierzesz go krótko za pomocą edytora tekstu, nie widzisz niczego niezwykłego? –
Dziękujemy! Hunch był poprawny. – MelBel88