코딩에 익숙하지 않아 내 자신의 fastq 마스킹을 시도하는 중에 문제가 발생했습니다. 첫 번째 모듈은 + 거리를 사용하여 줄을 잘라내고 순서 및 품질 줄 (각각 A, G, C, T 줄 및 유니 코드 점수)을 유지하면서 시퀀스 번호를 줄 번호 (>로 시작)에서 줄 번호로 수정합니다. .하나의 텍스트 파일에 여러 개의 목록 통합하기
class Import_file(object):
def trim_fastq (self, fastq_file):
f = open('path_to_file_a', 'a')
sanger = []
sequence = []
identifier = []
plus = []
f2 = open('path_to_file_b')
for line in f2.readlines():
line = line.strip()
if line[0]=='@':
identifier.append(line)
identifier.replace('@%s','>[i]' %(line))
elif line[0]==('A' or 'G'or 'T' or 'U' or 'C'):
seq = ','.join(line)
sequence.append(seq)
elif line[0]=='+'and line[1]=='' :
plus.append(line)
remove_line = file.writelines()
elif line[0]!='@' or line[0]!=('A' or 'G'or 'T' or 'U' or 'C') or line[0]!='+' and line[1]!='':
sanger.append(line)
else:
print("Danger Will Robinson, Danger!")
f.write("'%s'\n '%s'\n '%s'" %(identifier, sequence, sanger))
f.close()
return (sanger,sequence,identifier,plus)
내 질문에 대한 답변입니다. 나는 이것을 돌렸고 오류는 나타나지 않지만 대상 파일은 비어 있습니다. 나는 내가 뭘 잘못하고 있는지 궁금해. 목록이나 .join 부족을 처리하는 내 방식인가? 이것이 중복되면 유감입니다. 그것은 내가 여기에 실수가 무엇인지 모른다는 것입니다. 또한, 중요한 메모 ... 이것은 숙제가 아니며 작업을 위해 마스킹을해야합니다. 모든 도움을 주시면 대단히 감사 드리며 코드 개선에 대한 모든 언급을 환영합니다. 감사.
주 (fastq 형식) :
@SRR566546.970 HWUSI-EAS1673_11067_FC7070M:4:1:2299:1109 length=50
TTGCCTGCCTATCATTTTAGTGCCTGTGAGGTGGAGATGTGAGGATCAGT
+
hhhhhhhhhhghhghhhhhfhhhhhfffffe`ee[`X]b[d[ed`[Y[^Y
편집 : 아직도 아무것도 얻을 수 없습니다,하지만 작업입니다.
[biopython] (http://biopython.org/wiki/SeqIO)을 살펴보아야합니다. – root
'if'와'else' 문에서 당신이 테스트하고 싶은 것이 확실하지 않지만 가지고있는 코드는 확실히 테스트하지 않을 것입니다. – alexis
나는 'if'@ '== [0] in line과 같이 생각한다 : line [0] =='@ ':'인 경우 의도 된 것이었지만 확실하지 않다. – Brian