繁体   English   中英

Python:如何以单元素元组格式将输入的DNA序列字符串格式显示为核苷酸三联体列表

[英]Python: how to show an input DNA sequence in string format to a list of nucleotide triplets in single element tuple format

def s_seq(dna_seq):
    '''
    parses an input sequence in string format to a list of nucleotide triplets/codons as single-valued tuples
    '''
    codons = []

    # arrange codons as list of single element tuples
    if len(dna_seq) % 3 == 0:
        for i in range(0, len(dna_seq), 3):
            codons = dna_seq[i:i + 3]

    return codons

dna_seq01 = 'ATATTAAAGAATAATTTTATAAAAATATGT'
codons01 = s_seq(dna_seq01)

它仅显示最后三个密码子,但我想要的是所有内容的拆分:“ ATA”,“ TTA”等。 我不知道我在做什么错。

您只需要将密码子添加到上面设置的列表中即可:

codons = []
if len(dna_seq) % 3 == 0:
    for i in range(0,len(dna_seq),3):
       codons.append((dna_seq[i:i + 3],))

输出:

>>> [('ATA',), ('TTA',), ('AAG',), ('AAT',), ('AAT',), ('TTT',), ('ATA',), ('AAA',), ('ATA',), ('TGT',)]

通过使用codons = dna_seq[i:i+3]您只需替换每次循环迭代中的值即可。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM