したがって、私のコードは正常に機能しますが、正しい結果の半分しか出力されません。ファイルにヘッダーを書き込もうとしています。計算を確認して印刷しましたが、これは正しいです。ただし、正しい番号で正しく印刷されたファイルは1つだけで、別のファイルを印刷できませんでした。
lookup[uniprotID] =['177','26','418']
正しく印刷されなかったファイルには、次の情報が含まれていますstart 174 and end 196
。
そのファイルには、結果として次のようになります。
uniprotID | 3位で
YSADACERD
これが私のコードです。
for i, (start, end) in enumerate(searchPFAM(fname)):
print start, end
for item in lookup[uniprotID]:
item, start, end = map(int, (item, start, end))
if start <=end:
if item in xrange(start, end+1):
print item
with open('newfile-%s.txt' % i,'w') as fileinput:
atPosition = (item)-start
result = str(atPosition)
fileinput.write(">"+uniprotID+' | at '+result +' position\n')
text=''.join(makeList[(start-1):(end)])
fileinput.write(text)
else:
with open('newfile-%s.txt' % i,'w') as fileinput:
fileinput.write(">"+uniprotID+' | '+ 'N/A\n')
text=''.join(makeList[(start-1):(end)])
fileinput.write(text)