import gzip
import io
from Bio import SeqIO
infile = "myinfile.fastq.gz"
fileout = open("myoutfile.fastq", "w+")
with io.TextIOWrapper(gzip.open(infile, "r")) as f:
line = f.read()
fileout.write(line)
fileout.seek(0)
count = 0
for rec in SeqIO.parse(fileout, "fastq"): #parsing from file
count += 1
print("%i reads" % count)
"line"이 파일에 기록되고 해당 파일이 구문 분석기로 공급되지만 아래의 경우 작동하지 않습니다. 왜 라인을 직접 읽을 수 없습니까? 파일에 먼저 쓰지 않고도 파서에 "라인"을 직접 공급할 수있는 방법이 있습니까?파일 대신 변수에서 Biopython을 구문 분석합니다.
infile = "myinfile.fastq.gz"
#fileout = "myoutfile.fastq"
with io.TextIOWrapper(gzip.open(infile, "r")) as f:
line = f.read()
#myout.write(line)
count = 0
for rec in SeqIO.parse(line, "fastq"): #line used instead of writing from file
count += 1
print("%i reads" % count)
이것은 효과가 있습니다. io.TextIOWrapper ("giip.open (infile,"rb "))를 f로 사용하여 io.TextIOWrapper를"with " – Stuber