生物信息学算法之Python实现|Rosalind刷题笔记:002 中心法则:转录
我在生物信息学:全景一文中,阐述了生物信息学的应用领域非常广泛。但是有一点是很关键的,就是细胞内的生命活动都遵从中心法则,生物信息学很多时候就是在中心法则上做文章:
分子生物学中心法则:DNA --> RNA --> 蛋白质 --> 细胞表型
基因组中心法则:基因组 --> 转录组 --> 蛋白质组 --> 细胞表型
如何用计算机语言描述生物大分子,以及它们之间如何相互转换,是首先要面对的问题。
问题描述
遗传信息从 DNA 流向 RNA 的过程,称为转录。DNA 有 4 张不同的扑克牌,RNA 也有 4 张,唯一的区别是 DNA 中的 T,在 RNA 中变成了 U,因此 RNA 的 4 张牌是:A、U、C、G。因此,给定一条与编码链相同的 DNA 序列,要转录成 RNA 只需要将 T 替换成 U 就可以了。
给定:一条长度至多 1000bp 的 DNA 序列。
应得:其转录的 RNA 序列。
示例数据
GATGGAACTTGACTACGTAAATT
示例结果
GAUGGAACUUGACUACGUAAAUU
Python 实现
Transcribing_DNA_into_RNA.py
import sysdef transcript(dna):return dna.upper().replace('T', 'U')def test():dna = 'GATGGAACTTGACTACGTAAATT'return transcript(dna) == 'GAUGGAACUUGACUACGUAAAUU'if __name__ == '__main__':if not test():print("transcript: Failed")sys.exit(1)with open('rosalind_rna.txt') as fh:dna = fh.read()rna = transcript(dna)print(rna)
只需要将
T
替换成U
就可以了;替换前先用 upper()是为了提高程序的健壮性,使得输入序列中含有小写字母时也能转换成功。
Problem
An RNA string is a string formed from the alphabet containing 'A', 'C', 'G', and 'U'.
Given a DNA string corresponding to a coding strand, its transcribed RNA string is formed by replacing all occurrences of 'T' in with 'U' in .
Given: A DNA string having length at most 1000 nt.
Return: The transcribed RNA string of .
Sample Dataset
GATGGAACTTGACTACGTAAATT
Sample Output
GAUGGAACUUGACUACGUAAAUU
Rosalind 刷题计划:
生物信息学算法之 Python 实现|Rosalind 刷题笔记:001 碱基统计
生物信息学算法之 Python 实现|Rosalind 刷题笔记:002 中心法则:转录
生物信息学算法之 Python 实现|Rosalind 刷题笔记:003 中心法则:翻译
如果你喜欢这篇文章,请点个“赞”吧!或者点击“在看”让更多朋友看到,点击“阅读原文”可以在知乎专栏上给我留言
生物信息学算法之Python实现|Rosalind刷题笔记:002 中心法则:转录相关推荐
- 生物信息学算法之Python实现|Rosalind刷题笔记:003 中心法则:翻译
我在生物信息学:全景一文中,阐述了生物信息学的应用领域非常广泛.但是有一点是很关键的,就是细胞内的生命活动都遵从中心法则,生物信息学很多时候就是在中心法则上做文章: 分子生物学中心法则:DNA --& ...
- 生物信息学算法之Python实现|Rosalind刷题笔记:001 碱基统计
前言 Rosalind is a platform for learning bioinformatics and programming through problem solving. Rosal ...
- 生物信息学算法之Python实现|Rosalind刷题笔记:013 随机DNA序列
众所周知,基因组的核酸链不可能是随机形成的.有时候许多物种基因组之间,存在一些保守序列(motif),这意味着它们可能具有重要功能.但是,我们如何确定这些序列不是随机形成的 DNA 片段呢? 一个常识 ...
- 生物信息学算法之Python实现|Rosalind刷题笔记:010 DNA一致性序列计算
经常碰到需要计算一组 DNA 序列的一致性序列,比如去除测序数据中的 PCR 错误,最简单的方法就是通过计算它们之间的一致性序列. 图源:rosalind.info 计算一致性序列,通常借助一个中间矩 ...
- 生物信息学算法之Python实现|Rosalind刷题笔记:011 DNA六框翻译
开放阅读框(Open Reading Frame, ORF)是由起始密码子开始,直到终止密码子结束,中间不含有其他终止密码子的核酸序列.由于 DNA 是双链结构,任何一条链都可以作为模板合成 RNA: ...
- 生物信息学算法之Python实现|Rosalind刷题笔记:004 求DNA的反向互补序列
碱基互补配对原则是:A 与 T 配对,G 与 C 配对. 求 DNA 的反向互补序列分两步:第一是反向,第二是互补.比如序列"ATGC",反向就是"CGTA", ...
- Python牛客刷题笔记
一.类型转换 a=input() print(a.lower()) #全小写 print(a.upper()) #全大写 print(a.title()) #首字母大写a=int(input()) p ...
- Github最强算法刷题笔记.pdf
资料一 昨晚逛GitHub,无意中看到一位大佬(https://github.com/halfrost)的算法刷题笔记,感觉发现了宝藏!有些小伙伴可能已经发现了,但咱这里还是忍不住安利一波,怕有些小伙 ...
- 写了三百篇算法题解,关于如何刷题有些话我想对你说
这篇文章憋了我挺久的,感觉都快憋出内伤,一次次的打开 Typora 写几十个字,一次次的修改删除最后关闭 Typora,如此反复. 为什么会如此纠结? 或许是太狂妄了,我真的想让那些看了这篇文章的人都 ...
最新文章
- css编写要注意什么 及一些公用的样式和外部引用 转码
- Oracle配置管理
- cf1561D Up the Strip(D1D2)
- FutureTask isDone 返回 false
- cesium获取模型实时坐标_Cesium 顶点着色器中求解模型坐标
- andriod studio 运行 无结果_无负压静音供水设备下篇一
- easyconnect无法在mac上使用_Mac上Python无法输入中文- 2017年
- (11)verilog语言编写加减乘除
- 推荐安卓开发神器(里面有各种UI特效和实例)
- mybatis进阶--一对一查询
- VB APP对象属性一览表 + 灵活使用VB的APP对象
- spring事务传播机制源码学习笔记
- 身份证号判断是否合法(具体代码)
- 【DB笔试面试666】在Oracle中,在高并发、高负载的情况下,如何给表添加字段并设置DEFAULT值?...
- task4b_Nature_Pan_Cancer_词云
- 传感技术复习笔记(9)——光电式传感器
- 减肥中,做个 体重三围 测量软件
- JVM知识点精华汇总 侵立删
- 四大微信小程序测评结果出炉
- 给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。 请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。如下实例。示例 :输入: 1->2->3->4-
热门文章
- SDUT 2021 Winter Individual Contest - J(Gym-101879)
- c语音,求两个数中的最大值
- 2021版!万字UNIX网络编程学习笔记(套接字篇)
- kaggle:谁是NBA最佳防守球员?(二)
- Selenium 爬取评论数据,就是这么简单!
- “5G通达,AI赋能“ AI在网络规划中的应用实践(人工智能应用案例)
- C#对图片进行马赛克处理,可控制模糊程度
- vs2017 c++工程编译解析
- 消费者权益法规的精神
- 深入浅出,一篇超棒的机器学习入门文章