메신저는 텍스트 파일의 시퀀스에서 dinuc 수와 주파수를 찾으려고 시도하지만 내 코드는 단일 뉴클레오티드 카운트 만 출력합니다.dinucleotide 카운트 및 주파수
e = "ecoli.txt"
ecnt = {}
with open(e) as seq:
for line in seq:
for word in line.split():
for i in range(len(seqr)):
dinuc = (seqr[i] + seqr[i:i+2])
for dinuc in seqr:
if dinuc in ecnt:
ecnt[dinuc] += 1
else:
ecnt[dinuc] = 1
for x,y in ecnt.items():
print(x, y)
샘플 입력 "AAATTTCGTCGTTGCCC"
샘플 출력 : AA : 2 TT : 3 TC : 2 CG : 2 GT : 2 GC : 1 CC : 2
지금 내 출력을위한 단일 뉴클레오타이드를 얻는 Im :
C 83550600 A 60342100 T 88192300 G 즉 "AAA"반복 뉴클레오티드를 들어 92834000
는 카운트 연속 'AA'의 가능한 모든 조합을 반환해야하므로 출력은 그것은 주문 어떤 문제가 나던 2가 아닌 1이어야한다 dinucleotides가 나열되면, 나는 모든 조합을 필요로하고 반복 된 뉴클레오타이드에 대한 정확한 카운트를 리턴하는 코드가 필요하다. 내 조교에게 물어보고 내 유일한 문제는 내 사전에 dinucleotides를 추가하는 'for'루프를 얻는 것이었고 내 범위가 잘못되거나 틀릴 수도 있다고 생각했습니다. 파일은 정말 큰 파일이므로 시퀀스가 여러 줄로 나뉩니다.
미리 감사드립니다.
샘플 입력의 짧은 부분과 해당 원하는 출력을 표시합니다. – John1024
무엇이'seqr'입니까? 게시 한 스 니펫에 정의되지 않았습니다. –
코드가 여러 가지 방법으로 손상되었습니다. 'seqr'이란 무엇입니까? 왜 line.split()에서 단어를 공백으로 분리 했습니까?', DNA 시퀀스가 아니겠습니까? 개행 기호를 제거하지 마십시오. –