首页 > 编程语言 >python中实现RNA序列的翻译

python中实现RNA序列的翻译

时间:2023-08-27 20:22:53浏览次数:35  
标签:python RNA PC1 Stop test file 序列 test01 root

 

001、 利用循环结构实现

[root@PC1 test01]# ls
a.fa  test.py
[root@PC1 test01]# cat a.fa            ## 测试RNA序列
AUGGCCAUGGCGCCCAGAACUGAGAUCAAUAGUACCCGUAUUAACGGGUGA
[root@PC1 test01]# cat test.py         ## 翻译程序
#!/usr/bin/env python
# -*- coding: utf-8 -*-

in_file = open("a.fa", "r")
file = in_file.read().strip()
in_file.close()

table = {
                'UUU':'F','CUU':'L','AUU':'I','GUU':'V',
                'UUC':'F','CUC':'L','AUC':'I','GUC':'V',
                'UUA':'L','CUA':'L','AUA':'I','GUA':'V',
                'UUG':'L','CUG':'L','AUG':'M','GUG':'V',
                'UCU':'S','CCU':'P','ACU':'T','GCU':'A',
                'UCC':'S','CCC':'P','ACC':'T','GCC':'A',
                'UCA':'S','CCA':'P','ACA':'T','GCA':'A',
                'UCG':'S','CCG':'P','ACG':'T','GCG':'A',
                'UAU':'Y','CAU':'H','AAU':'N','GAU':'D',
                'UAC':'Y','CAC':'H','AAC':'N','GAC':'D',
                'UAA':'Stop','CAA':'Q','AAA':'K','GAA':'E',
                'UAG':'Stop','CAG':'Q','AAG':'K','GAG':'E',
                'UGU':'C','CGU':'R','AGU':'S','GGU':'G',
                'UGC':'C','CGC':'R','AGC':'S','GGC':'G',
                'UGA':'Stop','CGA':'R','AGA':'R','GGA':'G',
                'UGG':'W','CGG':'R','AGG':'R','GGG':'G'
                }

str1 = ""
if len(file) % 3 != 0:
        print("no integrate sequence!")
        exit
else:
        for i in range(0, len(file), 3):
                idx = file[i:i+3]
                if table[idx] == "Stop":
                        exit
                else:
                        str1 += table[idx]

print(str1)
[root@PC1 test01]# python test.py        ## 翻译结果
MAMAPRTEINSTRING

 

002、解法2

[root@PC1 test01]# ls
a.fa  test.py
[root@PC1 test01]# cat a.fa               ## 测试RNA序列
AUGGCCAUGGCGCCCAGAACUGAGAUCAAUAGUACCCGUAUUAACGGGUGA
[root@PC1 test01]# cat test.py            ## 翻译程序
#!/usr/bin/env python
# -*- coding: utf-8 -*-

in_file = open("a.fa", "r")
file = in_file.read().strip()

table = {
                'UUU':'F','CUU':'L','AUU':'I','GUU':'V',
                'UUC':'F','CUC':'L','AUC':'I','GUC':'V',
                'UUA':'L','CUA':'L','AUA':'I','GUA':'V',
                'UUG':'L','CUG':'L','AUG':'M','GUG':'V',
                'UCU':'S','CCU':'P','ACU':'T','GCU':'A',
                'UCC':'S','CCC':'P','ACC':'T','GCC':'A',
                'UCA':'S','CCA':'P','ACA':'T','GCA':'A',
                'UCG':'S','CCG':'P','ACG':'T','GCG':'A',
                'UAU':'Y','CAU':'H','AAU':'N','GAU':'D',
                'UAC':'Y','CAC':'H','AAC':'N','GAC':'D',
                'UAA':'Stop','CAA':'Q','AAA':'K','GAA':'E',
                'UAG':'Stop','CAG':'Q','AAG':'K','GAG':'E',
                'UGU':'C','CGU':'R','AGU':'S','GGU':'G',
                'UGC':'C','CGC':'R','AGC':'S','GGC':'G',
                'UGA':'Stop','CGA':'R','AGA':'R','GGA':'G',
                'UGG':'W','CGG':'R','AGG':'R','GGG':'G'
                }

str1 = ""
while(len(file) >= 3):
        idx = file[0:3]
        if table[idx] != "Stop":
                str1 += table[idx]
        else:
                break
        file = file[3:]
print(str1)
[root@PC1 test01]# python3 test.py           ## 翻译结果
MAMAPRTEINSTRING

 

标签:python,RNA,PC1,Stop,test,file,序列,test01,root
From: https://www.cnblogs.com/liujiaxin2018/p/17660750.html

相关文章

  • python操作Excel
    安装依赖用户目录下配置依赖下载源:pip.ini[global]index-url=https://pypi.tuna.tsinghua.edu.cn/simple[install]trusted-host=pypi.tuna.tsinghua.edu.cn安装依赖:pipinstallopenpyxl,pandas......
  • Python HTML 的模板引擎 Jinja2
    PythonJinja2是一个用于生成动态HTML的模板引擎。它可以让你在HTML中使用Python的语法和逻辑,从而实现数据和视图的分离。本文将介绍PythonJinja2的基本用法和特性,以及一些实例和技巧。安装和导入要使用PythonJinja2,你需要先安装它。你可以使用pip命令来安装:pip......
  • Python+Requests示例记录【2023-08-27】
    importrequestsimportjsonpayload={"userNo":"用户","password":"密码"}response=requests.post(url,json=payload)print(response)print('---------------------------')print(response.status_code)print('......
  • python代码模拟一个工厂的库存管理软件
    下面是一个简单的工厂库存管理软件的Python代码示例:importjson#初始化库存数据inventory={"products":[{"id":1,"name":"Product1","quantity":10},{"id":2,"name":"Product2"......
  • python+playwright 学习-76 playwright 忽略SSL 错误
    前言playwright设置ignore_https_errors参数忽略SSL错误context上下文中设置browser.new_context()创建上下文时fromplaywright.sync_apiimportsync_playwright,expectwithsync_playwright()asp:browser=p.chromium.launch(headless=False)conte......
  • 用vscode运行python
    0下载好vscode和python1下载python插件选择python解释器F1或ctrl+shift+P打开命令栏输入Python:SelectInterpreter选择我们下载好的解释器3新建一个python文件打开我们的文件夹,然后新建.py文件写入代码运行python代码就好了......
  • 【免费】基于径向基神经网络的时间序列预测附matlab代码
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进。......
  • excel+python 根据A列分类查找B列值最大的C列元素
    根据C列分类查找B列值最大的C列元素1https://developer.aliyun.com/article/306428......
  • 学习笔记413—python实现BP神经网络进行预测和误差分析(附源代码)
    python实现BP神经网络进行预测和误差分析(附源代码)反向传播算法也称为BP神经网络,是一种带有反馈的神经网络反向学习方法,它可以对神经网络的各层上的各个神经元的各个神经元之间的连接权重进行不断迭代修改,使神经网络将输入数据转换成期望的输出数据 BP神经网络的学习过程由正向......
  • hibernate中clob处理
    用hibernate封装oracle的clob类型操作起来很不方便,但是新的oracle10g的jdbc驱动,对此有很多改进。环境:wodows2000、oracle9.2、oracle10gJDBC驱动(必须)、hibernate3.1.2  建表脚本:/*==============================================================*//*Table:StoreFile......