python中截取序列的反向互补序列

 

001、

复制代码
(base) root@PC1:/home/test3# ls
test.py
(base) root@PC1:/home/test3# cat test.py       ## 测试程序
#!/usr/bin/python

def com_trs(str):
    list1 = []
    str = reversed(str)
    for i in str:
        if i == "a":
            list1.append("t")
        if i == "A":
            list1.append("T")
        if i == "t":
            list1.append("a")
        if i == "T":
            list1.append("A")
        if i == "c":
            list1.append("g")
        if i == "g":
            list1.append("c")
        if i == "C":
            list1.append("T")
        if i == "G":
            list1.append("C")
        if i == "n":
            list1.append("n")
        if i == "N":
            list1.append("N")
    print("".join(list1))

test_str = "gTActnGtN"                          ## 测试序列
com_trs(test_str)                          
(base) root@PC1:/home/test3# python test.py     ## 运行结果
NaCnagTAc
复制代码

 

002、借助字典

复制代码
(base) root@PC1:/home/test3# ls
test.py
(base) root@PC1:/home/test3# cat test.py                      ## 测试脚本
#!/usr/bin/python

def com_pro(str):
    dict1 = {"a":"t", "t":"a", "A":"T", "T":"A", "c":"g", "g":"c", "C":"G", "G":"C", "n":"n", "N":"N"}
    str = reversed(str)
    list1 = [dict1[k] for k in str]
    print("".join(list1))


test_str = "aacGTNtc"                           ## 测试字符串

com_pro(test_str)
(base) root@PC1:/home/test3# python test.py     ## 运行结果
gaNACgtt
复制代码

 

参考:https://mp.weixin.qq.com/s?__biz=MzIxNzc1Mzk3NQ==&mid=2247491504&idx=1&sn=4ac56dfb5cae9cf101b95c64b2585915&chksm=97f5afa8a08226be7ff80e8f85093295d6370dd4f014d2bc67f0302d9c794110709de7a12818&scene=178&cur_album_id=2403674812188688386#rd

 

posted @   小鲨鱼2018  阅读(86)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2021-08-09 c语言中的指数运算
2021-08-09 c primer plus 4编程练习
2021-08-09 c语言中以八进制数表示字符、并输出
点击右上角即可分享
微信分享提示