资讯专栏INFORMATION COLUMN

通过自学python求已经知道DNA模版的相辅相成DNA序列

89542767 / 174人阅读

  本文关键给大家介绍了通过自学python求已经知道DNA模版的相辅相成DNA序列的实例详细说明,感兴趣的小伙伴可以参考借鉴一下,希望可以有一定的帮助,祝愿大家多多的发展,尽早涨薪。


  DNA序列


  ACTGATCGATTACGTATAGTATTTGCTATCATACATATATATCGATGCGTTCAT


  求其相辅相成DNA序列。


  在微生物上DNA相辅相成编码序列概述表述能够表述为:A与T,C与G相辅相成,可以看作将以上编码序列中已有的A用T取代,C用G取代,T用A取代,G用C取代,则其相辅相成编码序列为:


  TGACTAGCTAATGCATATCATAAACGATAGTATGTATATATAGCTACGCAAGTA


  根据上述表述,我可以利用replace()函数进行替换,将A用T替换,T用A替换,C用G替换,G用C替换,


  简述其代码


  my_dna="ACTGATCGATTACGTATAGTATTTGCTATCATACATATATATCGATGCGTTCAT"
  #replace A with T
  sequence1=my_dna.replace('A','T')
  #replace T with A
  sequence2=sequence1.replace('T','A')
  #replace C with G
  sequence3=sequence2.replace('C','G')
  #replace G with C
  sequence4=sequence3.replace('G','C')
  #print the result of the final replacement
  print(sequence1)
  print(sequence2)
  print(sequence3)
  print(sequence4)


  其输出结果如下:


  TCTGTTCGTTTTCGTTTTGTTTTTGCTTTCTTTCTTTTTTTTCGTTGCGTTCTT


  ACAGAACGAAAACGAAAAGAAAAAGCAAACAAACAAAAAAAACGAAGCGAACAA


  AGAGAAGGAAAAGGAAAAGAAAAAGGAAAGAAAGAAAAAAAAGGAAGGGAAGAA


  ACACAACCAAAACCAAAACAAAAACCAAACAAACAAAAAAAACCAACCCAACAA


  原始序列上进行替换


  显然结果是不正确的,我们在sequence1到sequence2中就已经出现错误,误把sequence1中A被替换之后变为T的序列,在sequence2中又被替换掉了,因此我们要转变思路,保持只替换原本的序列,不进行多次替换,避免错误,我们可以尝试每次只在原始序列上进行替换,尝试代码如下:


  my_dna="ACTGATCGATTACGTATAGTATTTGCTATCATACATATATATCGATGCGTTCAT"
  #replace A with T
  sequence=my_dna.replace('A','T')
  #replace T with A
  sequence2=my_dna.replace('T','A')
  #replace C with G
  sequence3=my_dna.replace('C','G')
  #replace G with C
  sequence4=my_dna.replace('G','C')
  print(sequence1)
  print(sequence2)
  print(sequence3)
  print(sequence4)


  其输出结果如下:


  TCTGTTCGTTTTCGTTTTGTTTTTGCTTTCTTTCTTTTTTTTCGTTGCGTTCTT


  ACAGAACGAAAACGAAAAGAAAAAGCAAACAAACAAAAAAAACGAAGCGAACAA


  AGTGATGGATTAGGTATAGTATTTGGTATGATAGATATATATGGATGGGTTGAT


  ACTCATCCATTACCTATACTATTTCCTATCATACATATATATCCATCCCTTCAT


  显然结果也是不正确的,因此,我们要引入中间变量,最后再把它做一个回环,


  也就是说引入四个临时字母,然后每个变换2次,最后把最终结果输出,其代码可以为:


  my_dna="ACTGATCGATTACGTATAGTATTTGCTATCATACATATATATCGATGCGTTCAT"
  sequence1=my_dna.replace('A','H')
  sequence2=sequence1.replace('T','J')
  sequence3=sequence2.replace('C','K')
  sequence4=sequence3.replace('G','L')
  sequence5=sequence4.replace('H','T')
  sequence6=sequence5.replace('J','A')
  sequence7=sequence6.replace('K','G')
  sequence8=sequence7.replace('L','C')
  print(sequence8)
  其结果为:
  TGACTAGCTAATGCATATCATAAACGATAGTATGTATATATAGCTACGCAAGTA
  利用upper()输出大写结果
  至此得到了我们想要的结果,但这种方法显然是有些复杂了,我们可以利用字符的大小写来完成我们的工作,也就是利用小写字母为临时变量,最终利用upper()输出大写的结果就行了,其代码和结果如下:
  my_dna="ACTGATCGATTACGTATAGTATTTGCTATCATACATATATATCGATGCGTTCAT"
  sequence1=my_dna.replace('A','t')
  print(sequence1)
  sequence2=sequence1.replace('T','a')
  print(sequence2)
  sequence3=sequence2.replace('C','g')
  print(sequence3)
  sequence4=sequence3.replace('G','c')
  print(sequence4)
  print(sequence4.upper())


  其结果为:


  tCTGtTCGtTTtCGTtTtGTtTTTGCTtTCtTtCtTtTtTtTCGtTGCGTTCtT


  tCaGtaCGtaatCGatatGataaaGCataCtatCtatatataCGtaGCGaaCta


  tgaGtagGtaatgGatatGataaaGgatagtatgtatatatagGtaGgGaagta


  tgactagctaatgcatatcataaacgatagtatgtatatatagctacgcaagta


  TGACTAGCTAATGCATATCATAAACGATAGTATGTATATATAGCTACGCAAGTA


  至此我们的互补DNA序列得到了,也许有更好更简洁的代码。


  结尾


  尽管这是一个不起眼的测算程序流程,但是对于新手的我来说每次对源代码的更新改造,即便是了解后注解都觉得是一场发展提高,总而言之编码虽然不大,出手最关键!期待更多学学Pythod的发烧友不必像我这样好高骛远,学编程就是为了,思索,敲码,思索,敲码,敲码,再敲码,更多关于python求DNA模板互补序列的资料欢迎关注原网页其他类似文章!

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/128700.html

相关文章

  • Python一阶矩马尔可夫过程形成任意DNA序列完成实例

      此篇文章关键给大家介绍了Python完成一阶矩马尔可夫过程形成任意DNA序列实例详细说明,感兴趣的小伙伴可以参考借鉴一下,希望可以有一定的帮助,祝愿大家多多的发展,尽早涨薪。  1.基本原理  针对DNA序列,一阶矩马尔可夫过程可以看作现阶段碱基对的种类仅在于上一位碱基对种类。如下图1所示,1条编码序列的开始(由B逐渐)有可能是A、T、G、C4种碱基对(且概率同样,均是0.25),若编码序列某...

    89542767 评论0 收藏0
  • [Leetcode] Repeated DNA Sequences 重复DNA序列

    摘要:哈希表法复杂度时间空间思路最简单的做法,我们可以把位移一位后每个子串都存入哈希表中,如果哈希表中已经有这个子串,而且是第一次重复,则加入结果中。如果哈希表没有这个子串,则把这个子串加入哈希表中。 Repeated DNA Sequences All DNA is composed of a series of nucleotides abbreviated as A, C, G, a...

    wing324 评论0 收藏0
  • 第三代基因测序技术革新 云计算应用

    摘要:第三代基因测序技术革新云计算的应用一位准妈妈,在怀孕周时,需要做唐氏儿的筛查,传统唐筛的方式准确率低,如果结果显示危险性高,那么准妈妈还需要做羊膜穿刺等进一步检查。未来组目前已经拥有两台第三代基因测序仪,而未来这一数字将增长至五台。 第三代基因测序技术革新 云计算的应用一位准妈妈,在怀孕12-24周时,需要做唐氏儿的筛查,传统唐筛的方式准确率低,如果结果显示危险性高,那么准妈妈还需要做...

    RaoMeng 评论0 收藏0
  • leetcode187. Repeated DNA Sequences

    摘要:题目要求所有的都是有这四个字母组成的,比如。这个问题要求我们在一个序列中找到出现超过两次的长度为的子序列。因为个字母意味着每个字母至少需要位才能表示出来。因为每个字符串对应的二进制长度为,小于整数的,因此是可行的。 题目要求 All DNA is composed of a series of nucleotides abbreviated as A, C, G, and T, for...

    Noodles 评论0 收藏0
  • 一步步构建自己智能合约

    摘要:状态变量是被永久地保存在合约中。如何定义一个私有的函数呢这意味着只有我们合约中的其它函数才能够调用这个函数,给数组添加新成员。事件事件事件我们的合约几乎就要完成了让我们加上一个事件事件是合约和区块链通讯的一种机制。 大爱loom!大爱loom!内容整理自loom僵尸小游戏课程 一、合约 所有的 Solidity 源码都必须冠以 version pragma — 标明 Solidity ...

    kaka 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<