生物信息学算法之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 sys

def 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 中心法则:翻译


如果你喜欢这篇文章,请点个“赞”吧!或者点击“在看”让更多朋友看到,点击“阅读原文”可以在知乎专栏上给我留言

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值