from __future__ import division#这是计算gc含量需要的模块,需要在首行导入,否则会报错
import re#04_3  DNA 翻译为 RNA时会用得着#01打开下载的文件
with open('sequence01.fasta') as file:for line in file:print (line)#02把描述字段和序列分别提取并存储在字典中
fasta = {}
with open('sequence01.fasta') as file:sequence = ""for line in file:if line.startswith(">"):# 去除描述字段行中的\n和>name = line[1:].rstrip()print(name)#这里只显示描述,即字典里的键fasta[name] = ''#得到值continue# 去除序列字段行中的\n,并将所有字符规范为大写字符fasta[name] += line.rstrip().upper()#序列是描述的值
print (fasta)#显示字典
print(fasta[name])#显示值#03用函数把02的代码组装起来,以便后续调用
def get_fasta(fasta_path):fasta = {}with open(fasta_path) as file:sequence = ""for line in file:if line.startswith(">"):# 去除描述字段行中的\n和>name = line[1:].rstrip()fasta[name] = ''continue# 去除序列字段行中的\n,并将所有字符规范为大写字符fasta[name] += line.rstrip().upper()return fasta#返回的是字典
#调用03中的函数,完成02中的工作
get_fasta_result=get_fasta('sequence01.fasta')#文件路径是字符串
print(get_fasta_result)#调用03的函数返回的是字典
print(get_fasta_result[name])#取出字典中的值#04拿到规范化的数据后,查看序列的生物学意义
#04_1核苷酸计数,碱基偏好性:
#该统计数值可以查看碱基偏好性。比如, 一定类型的小RNA会有特定的碱基偏好性,它的第一个碱基偏好U。可以用于评价数据质量。如果miRNA 第一碱基不是U偏好,说明数据或分析过程有问题。
# 核苷酸计数的函数
def nt_count(seq):ntCounts = []for nt in ['A', 'C', 'G', 'T']:ntCounts.append(seq.count(nt))#注意count函数用于list或者字符串,所以seq一定要符合特定的数据结构。return ntCounts
#调用核苷酸计数的函数
seq=get_fasta_result[name]#参数seq是字典中的值
nt_count_result= nt_count(seq)
print(nt_count_result)#04_2 GC含量:
#(A+T)/(G+C)之比随DNA的种类不同而异。GC含量愈高,DNA的密度也愈高,同时热及碱不易使之变性,因此利用这一特性便可进行DNA的分离或测定。同时,物种的GC含量有着特异性,以此可以判断测序后的数据是否合格。
def cg_content(seq):total = len(seq)gcCount = seq.count('G') + seq.count('C')gcContent = format(float(gcCount / total * 100), '.6f')#保留小数点后六位return gcContent
#调用04_2的函数
seq=get_fasta_result[name]#参数seq是字典中的值
cg_content_result=cg_content(seq)
print(cg_content_result)#04_3  DNA 翻译为 RNA:
def dna_trans_rna(seq):rnaSeq = re.sub('T', 'U', seq)return rnaSeq
#调用04_3的函数
seq=get_fasta_result[name]#参数seq是字典中的值,是DNA序列
dna_trans_rna_result=dna_trans_rna(seq)
print(dna_trans_rna_result)#04_4 RNA 翻译为 蛋白质:
def rna_trans_protein(rnaSeq):codonTable = {'AUA':'I', 'AUC':'I', 'AUU':'I', 'AUG':'M','ACA':'T', 'ACC':'T', 'ACG':'T', 'ACU':'T','AAC':'N', 'AAU':'N', 'AAA':'K', 'AAG':'K','AGC':'S', 'AGU':'S', 'AGA':'R', 'AGG':'R','CUA':'L', 'CUC':'L', 'CUG':'L', 'CUU':'L','CCA':'P', 'CCC':'P', 'CCG':'P', 'CCU':'P','CAC':'H', 'CAU':'H', 'CAA':'Q', 'CAG':'Q','CGA':'R', 'CGC':'R', 'CGG':'R', 'CGU':'R','GUA':'V', 'GUC':'V', 'GUG':'V', 'GUU':'V','GCA':'A', 'GCC':'A', 'GCG':'A', 'GCU':'A','GAC':'D', 'GAU':'D', 'GAA':'E', 'GAG':'E','GGA':'G', 'GGC':'G', 'GGG':'G', 'GGU':'G','UCA':'S', 'UCC':'S', 'UCG':'S', 'UCU':'S','UUC':'F', 'UUU':'F', 'UUA':'L', 'UUG':'L','UAC':'Y', 'UAU':'Y', 'UAA':'', 'UAG':'','UGC':'C', 'UGU':'C', 'UGA':'', 'UGG':'W',}proteinSeq = ""for codonStart in range(0, len(rnaSeq), 3):codon = rnaSeq[codonStart:codonStart + 3]if codon in codonTable:proteinSeq += codonTable[codon]return proteinSeq
#调用04_4中的函数
rnaSeq=dna_trans_rna_result
rna_trans_protein_result=rna_trans_protein(rnaSeq)
print(rna_trans_protein_result)#04_5获取反向序列
def reverse_comple(type, seq):seq = seq[::-1]dnaTable = {"A":"T", "T":"A", "C":"G", "G":"C"}rnaTable = {"A": "T", "U": "A", "C": "G", "G": "C"}res = ""if type == "dna":for ele in seq:if ele in seq:if type == "dna":res += dnaTable[ele]else:res += rnaTable[ele]return res
#调用04_5的函数
#DNA的反向序列
type1="dna"
seq1=get_fasta_result[name]
dna_reverse_comple_result=reverse_comple(type1, seq1)
print(dna_reverse_comple_result)#RNA的反向序列
type2="rna"
seq2=dna_trans_rna_result
rna_reverse_comple_result=reverse_comple(type2, seq2)
print(rna_reverse_comple_result)[1]: https://blog.csdn.net/u011262253/article/details/88542804#基本以此博主为模板修改的,在此感谢。[2]: https://www.ncbi.nlm.nih.gov/nuccore/NC_000006.12?report=fasta&from=31164337&to=31170682&strand=true

完成基因序列(fasta格式)的提取,核苷酸计数,GC含量计算,DNA 翻译为 RNA,RNA 翻译为 蛋白质,反向序列获取的相关函数相关推荐

  1. 文件格式——fasta格式

    fasta格式 在生物信息学中,FASTA格式(又称为Pearson格式),是一种基于文本用于表示核苷酸序列或氨基酸序列的格式.在这种格式中碱基对或氨基酸用单个字母来编码,且允许在序列前添加序列名及注 ...

  2. linux系统fasta程序,fasta格式文件处理大全(一)

    前面我们介绍了fastq格式文件的处理,大概有20多个案例,掌握了这些案例,后面拿到fastq格式之后就可以根据需求,使用合适的软件工具进行处理了,从这次内容开始,我们将逐渐介绍fasta格式文件的处 ...

  3. 生物信息数据格式:fasta格式

    文章目录 格式说明 查看fasta 实例演练 读取fasta文件,并打印 把每条FASTA序列连成一行然后输出 把每条FASTA序列按一定长度输出 提取fasta.name中名字对应的test2.fa ...

  4. linux提取fasta文件的id,从大的fasta文件中提取特定的fasta序列

    我想使用以下脚本从大的fasta文件中提取特定的fasta序列,但输出为空.从大的fasta文件中提取特定的fasta序列 transcripts.txt文件包含我想从assembly.fasta到s ...

  5. fastq转化成fasta格式

    1.fastq格式 @A00601:606:H3LCWDSX3:3:1101:2428:1000 1:N:0:CGGCTATG+TCAGAGCC NTTGTTGGATTTGGGTCTTGGGTGTTT ...

  6. Rosalind: DNA核苷酸计数和DNA翻译成RNA

    DNA核苷酸计数 问题描述: 给定一行核苷酸序列,长度最长为1000 nt, 返回其中'A', 'T', 'C', 'G'出现的次数 C代码如下: #include <stdio.h> # ...

  7. 基因组序列genbank格式和fasta格式批量下载

    from Bio import Entrez,SeqIO import csv# 参数设置 Entrez.email = "example@163.com" Entrez.tool ...

  8. Fastq与Fasta格式

    一.关于Fastq FASTQ是基于文本的,保存生物序列(通常是核酸序列)和其测序质量信息的标准格式.其序列以及质量信息都是使用一个ASCII字符标示,最初由Sanger开发,目的是将FASTA序列与 ...

  9. bam格式转换为Fastq/Fasta格式

    bam格式转换为Fastq/Fasta格式 Samtools Fastq GATK SamToFastq Bedtools bamtofastq 举例说明,比如说我们现在有一个转录组比对文件D1_D1 ...

  10. php获取文件夹中所有lrc格式文件,提取lrc文件中内容

    功能说明: 一个文件夹内有MP3文件和lrc(歌词文件),我要提取文件夹下所有的lrc文件内容中的标题. 一个lrc文件的内容像这样: [al:新概念英语(一)] [ar:MP3 同步字幕版(美音)] ...

最新文章

  1. 视频文件详细信息python3_如何用python3爬取自己的收藏夹视频信息
  2. php mysql简单留言本_php+mysql写的简单留言本实例代码
  3. 如何使用JMX监控Kafka
  4. 【机器学习】机器学习从零到掌握之七 -- 教你使用KNN进行手写数字识别
  5. C++知识整理(在此感谢大牛的整理)
  6. android 4 动画,[Android]开发App,你得知道这些4——动画
  7. PC机中各类存储器的逻辑连接情况
  8. python cursor游标_python 使用sqlite需要使用游标cursor?
  9. Linux 多线程编程 (典藏、含代码)
  10. 在mysql中创建视图需要使用什么语句_mysql如何创建视图?创建语句是什么?
  11. ghost系统卡正在启动服务器,GHOST完后安装win7系统卡在正在启动windows界面...-华硕笔记本装win7,华硕win10改win7步骤...
  12. 技术架构图-Java技术栈
  13. win11提示windows许可证即将过期
  14. 互联网赚钱要有自己的核心思想,我为自己的分秒挣赚软件网创事业代言
  15. Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day26】—— Spring框架3
  16. 【自动驾驶】自动驾驶和手动驾驶的平滑切换控制方案探讨
  17. SAP 荣获「中国好公司」头衔
  18. #一日一图#自己的小窝舒服
  19. html使div内部元素水平排列_实现元素水平排列的六种方法
  20. 2014,2015年总结归纳

热门文章

  1. 解决OneNote for Windows 10 不能打开onedrive上已有笔记本问题
  2. 汇编语言(十二)颜色搭配显示+BIOS功能调用表+INT 10H功能详细列表
  3. R语言-缺失值判断以及处理
  4. 批处理命令%~dp0详解
  5. latex下的实数集R的写法
  6. VMware vSphere Esxi官网下载页面链接
  7. STM8S003F3 内部时钟初始化以及定时器做延时的使用
  8. 【c语言】算数转换解析+试题
  9. 越南大老二,游戏规则说明
  10. VS版权信息插件——初试VS插件开发小记