python中求DNA的反向互补序列
001、 利用循环结构实现
[root@PC1 test01]# ls a.fa test.py [root@PC1 test01]# cat a.fa ## 测试DNA序列 AAAACCCGGT [root@PC1 test01]# cat test.py ## 程序 #!/usr/bin/env python # -*- coding: utf-8 -*- in_file = open("a.fa", "r") file = in_file.read().strip()[::-1] str1 = str() for i in file: if i == "A": str1 += "T" elif i == "C": str1 += "G" elif i == "G": str1 += "C" elif i == "T": str1 += "A" else: print("anomanous letter!") exit print(str1) [root@PC1 test01]# python test.py ## 反向互补结果 ACCGGGTTTT
002、借助字典匹配碱基
[root@PC1 test01]# ls a.fa test.py [root@PC1 test01]# cat a.fa ## 测试DNA序列 AAAACCCGGT [root@PC1 test01]# cat test.py ## 求反向互补序列程序 #!/usr/bin/env python # -*- coding: utf-8 -*- in_file = open("a.fa", "r") file = in_file.read().strip()[::-1] in_file.close() dict1 = {"A":"T", "C":"G", "G":"C", "T":"A"} str1 = "" for i in file: if i not in dict1: print("anomanous letters!") break else: str1 += dict1[i] print(str1) [root@PC1 test01]# python test.py ## 转换结果 ACCGGGTTTT
003、借助函数结构实现
[root@PC1 test01]# ls a.fa test.py [root@PC1 test01]# cat a.fa ## 测试DNA序列 AAAACCCGGT [root@PC1 test01]# cat test.py ## 转换程序 #!/usr/bin/env python # -*- coding: utf-8 -*- in_file = open("a.fa", "r") file = in_file.read().strip()[::-1] in_file.close() dict1 = {"A":"T", "C":"G", "G":"C", "T":"A"} def rev_com(dna, table): str1 = str() for i in dna: if i not in table: print("anomanous letter!") break else: str1 += table[i] return str1 print(rev_com(file, dict1)) [root@PC1 test01]# python test.py ## 反向互补结果 ACCGGGTTTT
。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2022-08-27 R语言中unname函数
2022-08-27 R语言中条件表达语句ifelse语句
2022-08-27 R语言中当数据只有一列时,提取数据,增加drop = FALSE保证提取后的数据仍然为数据框
2022-08-27 R语言中lapply函数
2022-08-27 seurat 单细胞数据分析中 VizDimLoadings 函数
2022-08-27 seurat 单细胞数据分析中 DimPlot函数实现pca
2022-08-27 seurat 单细胞数据分析中 VariableFeaturePlot函数实现