【问题标题】:Slicing out string (unaligned sequence)切出字符串(未对齐的序列)
【发布时间】:2016-07-31 10:10:39
【问题描述】:

我无法弄清楚如何使用输入 1 中的数字从输入 2 中提取某个字符串。我正在尝试提取 dna/查询序列中未在主题 ID FO203509 中对齐的所有碱基.1。因此,从 1057 到 2381 的所有内容基本上都是当您查看爆炸文件输入 1 时。 q.start 是查询序列文件 input2 中序列的开始位置,而 q.end 是它结束的位置。

输入1:爆破报告文件(抱歉我不能复制粘贴格式全错了)

输入2:查询序列文件

emb|AJ000012.1|结核分枝杆菌recA基因(Canetti菌株) CGAAAGGTCAGATCCGGGCCGGTGAGCACGCCGGATCCGGCCAGGCTAGCGGTGTTCAGCAGATCGTCGG TGATCCGGACCAGCCGCGCACGCAAGTCGGGCCGCACCGCCGCCAGGGCGTTCGACGCGCCGACGAGCGC GGACGCGATGTTGCCACACGCGGCGTGTCACACTTGAATCGAACAGGTGTTCGGCTACTGTGGTGATCAT TCGGAGCAGCCGACTTGTCAGTGGCTGTCTCTAGTGTCACGGCCAACCGACCGATACCGGTCAATCGAAC ACCGACCACAGGAGAGGCACCATGACGCAGACCCCCGATCGGGAAAAGGCGCTCGAGCTGGCAGTGGCCC AGATCGAGAAGAGGTTACGGCAAAGGTTCGGTGATGCGCCTCGGCGACGAGGCGCGTCAGCCGATTTCGGT CATTCCGACCGGATCCATCGCACTCGACGTGGCCCTGGGCATTGGCGGCCTGCCGCGTGGCCGGGTGATA GAGATATACGGCCCGGAATCTTCGGGTAAGACCACCGTGGCGCTGCACGCGGTGGCCAACGCTCAGGCCG CCGGTGGTGTTGCGGCGTTCATCGACGCCGAGCACGCGCTGGATCCGGACTATGCCAAGAAGCTCGGTGT CGACACCGATTCGCTGCTGGTCAGCCAGCCGGACACCGGGGAACAGGCACTCGAGATCGCCGACATGCTG ATCCGCTCGGGTGCGCTTGACATCGTGGTGATCGACTCGGTGGCGGCGCTGGTGCCGCGCGCGGAGCTCG AAGGCGAGATGGGGCGACAGCCACGTCGGGCTGCAGGCCCGGCTGATGAGCCAGGCGCTGCGGAAAATGAC CGGCGCGCTGAATAATTCGGGCACCACGGCGATCTTCATCAACCAGCTCCGCGACAAGATCGGAGTGATG TTCGGGTCGCCCGAGACGACAACGGGCGGAAAGGCGTTGAAGTTCTACGCGTCGGTGCGCATGGACGTGC GGCGGGTCGAGACGCTCAAGGACGGTACCAACGCGGTCGGCAACCGCACCCGGGTCAAGGTCGTCAAGAA CAAGTGCCTCGCAGAGGGCACTCGGATCTTCGATCCGGTCACCGGTACAACGCATCGCATCGAGGATGTT GTCGATGGGCGCAAGCCTATTCATGTCGTGGCTGCCGCCAAGGACGGAACGCTGCATGCGCGGCCCGTGG TGTCCTGGTTCGACCAGGGAACGCAGGATGTGATCGGGTTGCGGATCGCCGGTGGCGCCATCGTGTGGGC GACACCCGATCACAAGGTGCTGACAGAGTACGGCTGGCGTGCCGCCGGGGAACTCCGCAAGGGAGACCGG GTGGCGCAACCGCGACGCTTCGACGGATTCGGTGACAGTGCGCCGATTCCGGCGGATCATGCCCGGCTGC TTGGCTACCTGATCGGAGATGGCAGGGATGGTTGGGTGGGGGGCAAGACTCCGATCAACTTCATCAATGT TCAGCGGGCGCTCATTGACGACGTGACGCGAATCGCTGCGACGCTCGGTTGTGCGGCCCATCCGCAGGGGG CGTATCTCACTCGCGATCGCTCATCGACCCGGTGAGCGCAACGGGGTACTGGACCTTTGTCGGCGGGCCG GTGTGCACGGCAAGCTCGCGTGGGAGAAGACGATTCCGAATTGGTTCTTCGAGCCGGACATCGCGGCCGA CATTGTCGGCAATCTGCTCTTCGGCCTGTTCGAAAGCGACGGGTGGGTGAGCCGGGAACAGACCGGGGCA CTTCGGGTCGGTTACACGACGACCTCTGAACAACTCGCGCATCAGATTCATTGGCTGCTGCTGCGGTTCG GTGTCGGGAGCACCGTTCGAGATTACGATCCGACCCAGAAGCGGCCGAGCATCGTCAACGGTCGACGGAT CCAGAGCAAACGTCAAGTGTTCGAGGTCCGGATCTCGGGTATGGATAACGTCACGGCATTCGCGGAGTCA GTTCCCATGTGGGGGCCGCGCGGTGCCGCGCTTATCCAGGCGATTCCAGAAGCCACGCAGGGGCGGCGTC GTGGATCGCAAGCGACATATCTGGCTGCAGAGATGACCGATGCCGTGCTGAATTATCTGGACGAGCGCGG CGTGACCGCGCAGAGAGGCCGCGGCCATGATCGGTGTAGCTTCCGGGGACCCCCGCGGTGGAATGAAGCAG GTCTTAGGTGCCAGCCGCCTTCGTCGGGATCGCGTGCAGGCGCTCGCGGATGCCCTGGATGACAAATTCC TGCACGACATGCTGGCGGAAGAACTCCGGTATTCGGTGATCCGAGAAGTGCTGCCAACGCGGCGGGCACG AACGTTCGACCTCGAGGTCGAGGAACTGCACACCCTCGTCGCCGAAGGGGTTGTCGTGCACAACTGTTCG CCCCCCTTCAAGCAGGCCGAGTTCGACATCCTCTACGGCAAGGGAATCAGCAGGGAGGGCTCGCTGATCG ACATGGGTGTGGATCAGGGCCTCATCCGCAAGTCGGGTGCCTGGTTCACCTACGAGGGCGAGCAGCTCGG CCAGGGCAAGGAGAATGCCCGCAACTTCTTGGTGGAGAACGCCGACGTGGCTGACGAGATCGAGAAGAAG ATCAAGGAAAAGCTTGGCATTGGTGCCGTGGTGACCGATGACCCCTCAAATGACGGTGTCCTGCCCGCCC CCGTCGACTTCTGAGCGCGAAGAGCAGGCGCGGGCACTGTGCCTGCGCCTGCTCACCGCGCGATCCCGCA 中冶建工

我的代码:

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)

任何见解将不胜感激,谢谢!

【问题讨论】:

    标签: python string list function slice


    【解决方案1】:

    在您遍历 input2 的第二个 for 循环中,您是否尝试将所有行合并为一行并从一行中获取预期的切片?如果是这种情况,则不需要循环。你可以这样做,

    string = ''.join(row.strip() for row in input2[1:])
    answer = string[q_end:]+string[:q_start]
    return answer
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-19
      • 1970-01-01
      相关资源
      最近更新 更多