我无法弄清楚如何使用输入1中的数字从输入2中提取某个字符串。我正在尝试提取dna /查询序列中未在主题ID中对齐的所有基础FO203509 0.1。所以从1057-2381开始,基本上当你查看blast文件输入1. q.start是序列在查询序列文件input2中开始的地方,q.end是它结束的地方。
输入1:Blast报告文件(抱歉,我无法复制和粘贴格式化全部错误)
输入2:查询序列文件
EMB | AJ000012.1 |结核分枝杆菌recA基因(菌株Canetti) CGAAAGGTCAGATCCGGGCCGGTGAGCACGCCGGATCCGGCCAGGCTAGCGGTGTTCAGCAGATCGTCGG TGATCCGGACCAGCCGCGCACGCAAGTCGGGCCGCACCGCCGCCAGGGCGTTCGACGCGCCGACGAGCGC GGACGCGATGTTGCCACACGCGGCGTGTCACACTTGAATCGAACAGGTGTTCGGCTACTGTGGTGATCAT TCGGAGCAGCCGACTTGTCAGTGGCTGTCTCTAGTGTCACGGCCAACCGACCGATACCGGTCAATCGAAC ACCGACCACAGGAGAGGCACCATGACGCAGACCCCCGATCGGGAAAAGGCGCTCGAGCTGGCAGTGGCCC AGATCGAGAAGAGTTACGGCAAAGGTTCGGTGATGCGCCTCGGCGACGAGGCGCGTCAGCCGATTTCGGT CATTCCGACCGGATCCATCGCACTCGACGTGGCCCTGGGCATTGGCGGCCTGCCGCGTGGCCGGGTGATA GAGATATACGGCCCGGAATCTTCGGGTAAGACCACCGTGGCGCTGCACGCGGTGGCCAACGCTCAGGCCG CCGGTGGTGTTGCGGCGTTCATCGACGCCGAGCACGCGCTGGATCCGGACTATGCCAAGAAGCTCGGTGT CGACACCGATTCGCTGCTGGTCAGCCAGCCGGACACCGGGGAACAGGCACTCGAGATCGCCGACATGCTG ATCCGCTCGGGTGCGCTTGACATCGTGGTGATCGACTCGGTGGCGGCGCTGGTGCCGCGCGCGGAGCTCG AAGGCGAGATGGGCGACAGCCACGTCGGGCTGCAGGCCCGGCTGATGAGCCAGGCGCTGCGGAAAATGAC CGGCGCGCTGAATAATTCGGGCACCACGGCGATCTTCATCAACCAGCTCCGCGACAAGATCGGAGTGATG TTCGGGTCGCCCGAGACGACAACGGGCGGAAAGGCGTTGAAGTTCTACGCGTCGGTGCGCATGGACGTGC GGCGGGTCGAGACGCTCAAGGACGGTACCAACGCGGTCGGCAACCGCACCCGGGTCAAGGTCGTCAAGAA CAAGTGCCTCGCAGAGGGCACTCGGATCTTCGATCCGGTCACCGGTACAACGCATCGCATCGAGGATGTT GTCGATGGGCGCAAGCCTATTCATGTCGTGGCTGCCGCCAAGGACGGAACGCTGCATGCGCGGCCCGTGG TGTCCTGGTTCGACCAGGGAACGCAGGATGTGATCGGGTTGCGGATCGCCGGTGGCGCCATCGTGTGGGC GACACCCGATCACAAGGTGCTGACAGAGTACGGCTGGCGTGCCGCCGGGGAACTCCGCAAGGGAGACCGG GTGGCGCAACCGCGACGCTTCGACGGATTCGGTGACAGTGCGCCGATTCCGGCGGATCATGCCCGGCTGC TTGGCTACCTGATCGGAGATGGCAGGGATGGTTGGGTGGGGGGCAAGACTCCGATCAACTTCATCAATGT TCAGCGGGCGCTCATTGACGACGTGACGCGAATCGCTGCGACGCTCGGTTGTGCGGCCCATCCGCAGGGG CGTATCTCACTCGCGATCGCTCATCGACCCGGTGAGCGCAACGGGGTACTGGACCTTTGTCGGCGGGCCG GTGTGCACGGCAAGCTCGCGTGGGAGAAGACGATTCCGAATTGGTTCTTCGAGCCGGACATCGCGGCCGA CATTGTCGGCAATCTGCTCTTCGGCCTGTTCGAAAGCGACGGGTGGGTGAGCCGGGAACAGACCGGGGCA CTTCGGGTCGGTTACACGACGACCTCTGAACAACTCGCGCATCAGATTCATTGGCTGCTGCTGCGGTTCG GTGTCGGGAGCACCGTTCGAGATTACGATCCGACCCAGAAGCGGCCGAGCATCGTCAACGGTCGACGGAT CCAGAGCAAACGTCAAGTGTTCGAGGTCCGGATCTCGGGTATGGATAACGTCACGGCATTCGCGGAGTCA GTTCCCATGTGGGGGCCGCGCGGTGCCGCGCTTATCCAGGCGATTCCAGAAGCCACGCAGGGGCGGCGTC GTGGATCGCAAGCGACATATCTGGCTGCAGAGATGACCGATGCCGTGCTGAATTATCTGGACGAGCGCGG CGTGACCGCGCAGGAGGCCGCGGCCATGATCGGTGTAGCTTCCGGGGACCCCCGCGGTGGAATGAAGCAG GTCTTAGGTGCCAGCCGCCTTCGTCGGGATCGCGTGCAGGCGCTCGCGGATGCCCTGGATGACAAATTCC TGCACGACATGCTGGCGGAAGAACTCCGGTATTCGGTGATCCGAGAAGTGCTGCCAACGCGGCGGGCACG AACGTTCGACCTCGAGGTCGAGGAACTGCACACCCTCGTCGCCGAAGGGGTTGTCGTGCACAACTGTTCG CCCCCCTTCAAGCAGGCCGAGTTCGACATCCTCTACGGCAAGGGAATCAGCAGGGAGGGCTCGCTGATCG ACATGGGTGTGGATCAGGGCCTCATCCGCAAGTCGGGTGCCTGGTTCACCTACGAGGGCGAGCAGCTCGG CCAGGGCAAGGAGAATGCCCGCAACTTCTTGGTGGAGAACGCCGACGTGGCTGACGAGATCGAGAAGAAG ATCAAGGAAAAGCTTGGCATTGGTGCCGTGGTGACCGATGACCCCTCAAATGACGGTGTCCTGCCCGCCC CCGTCGACTTCTGAGCGCGAAGAGCAGGCGCGGGCACTGTGCCTGCGCCTGCTCACCGCGCGATCCCGCA CCCGCGC
我的代码:
input_1=open('blastreport', 'r')
input_2=open('queryseq', 'r')
def slice_sequence(input1,input2):
for line in input1:
if not line.startswith('#'):
list = line.split()
q_start=int(list[6])
q_end=int(list[7])
if list[1]=='FO203509.1':
for line in input2:
next(input2)
string=''.join(row.strip() for row in input2)
answer=string[q_end:]+string[:q_start]
return answer
ans=slice_sequence(input_1, input_2)
print(ans)
非常感谢任何见解,谢谢!