将重叠的DNA区域转换成一个变量,然后改变重叠区域的长度

2024-10-03 11:12:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我对Python还比较陌生,所以我非常感谢您对我的代码提出任何建设性的反馈,如果您能在我犯错的时候指导我正确的方向,我也会非常感激。你知道吗

所以我用Python设计了一个程序,它接收一个DNA序列,基本上是一个只包含四个字母(a,T,C和G)的字符串,并找到序列的补码。然后,它将这两个序列分成一定长度的片段,使每个片段与相邻片段重叠相同的字母数。你知道吗

例如,它将接收DNA序列,比如s1,并为其补体和片段产生以下输出。你知道吗

s1 = "AGCCCTCCAGGACAGGCTGCATCAGAAGAGGCCATCAAGCAGGTCTGTTCCAAGGGCCTTTGCGTCAGGT"

print(dna_complement(s1))
>>>> complement = TCGGGAGGTCCTGTCCGACGTAGTCTTCTCCGGTAGTTCGTCCAGACAAGGTTCCCGGAAACGCAGTCCA
print(dna_fragment(s1, oligo_size=8, oligo_overlap=3)):
>>>> AGCCCTCC..GACAGGCT..ATCAGAAG..GCCATCAA..AGGTCTGT..CAAGGGCC..TGCGTCAGGT
     .....AGGTCCTG..CGACGTAG..TTCTCCGG..GTTCGTCC..ACAAGGTT..CGGAAACG.......

正如您在上面的示例中所看到的,dna片段的输出是两个字符串,它们共享3个碱基对(即3个字母)的寡核苷酸重叠,寡核苷酸的大小至少为8个碱基对。你知道吗

此后,程序尝试确定重叠区域的特定参数(Tm)的值(Tm是重叠区域一半卷曲,另一半呈DNA双链形式时的温度)。现在程序必须尝试改变重叠区域的长度,使得所有重叠区域的Tm必须大致相同。我已经成功地完成了前一个任务,基本上是将寡头(片段)存储在一个列表中,并使用列表理解来找到每个寡头的Tm;但是,我没有完成后一个任务。你知道吗

所以我的问题是,我如何得到重叠区域,把它存储在一个变量中,然后改变它的长度,使它匹配某个Tm?你知道吗


Tags: 字符串程序区域列表字母序列dnatm