文章目录

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

格式说明

Fasta格式首先以大于号>开头,接着是序列的标识符,然后是序列的描述信息。换行后是序列信息,序列中允许空格,换行,空行,直到下一个大于号,表示该序列的结束。

查看fasta

!cat ./data/AY810830.fasta

实例演练

读取fasta文件,并打印

def cat(file):"""读入FASTA格式的文件:param file: FASTA格式的文件:return: None"""for line in open(file):print(line.strip())cat("./data/test1.fa")
>NM_001011874 gene=Xkr4 CDS=151-2091
gcggcggcgggcgagcgggcgctggagtaggagctggggagcggcgcggccggggaaggaagccagggcg
>NM_001195662 gene=Rp1 CDS=55-909
AGGTCTCACCCAAAATGAGTGACACACCTTCTACTAGTTTCTCCATGATTCATCTGACTTCTGAAGGTCA
>NM_011283 gene=Rp1 CDS=128-6412
AATAAATCCAAAGACATTTGTTTACGTGAAACAAGCAGGTTGCATATCCAGTGACGTTTATACAGACCAC
>NM_0112835 gene=Rp15 CDS=128-6412
AATAAATCCAAAGACATTTGTTTACGTGAAACAAGCAGGTTGCATATCCAGTGACGTTTATACAGACCAC
>NM_001011874 gene=Xkr4 CDS=151-2091
gcggcggcgggcgagcgggcgctggagtaggagctggggagcggcgcggccggggaaggaagccagggcg
aggcgaggaggtggcgggaggaggagacagcagggacaggTGTCAGATAAAGGAGTGCTCTCCTCCGCTG
CCGAGGCATCATGGCCGCTAAGTCAGACGGGAGGCTGAAGATGAAGAAGAGCAGCGACGTGGCGTTCACC
CCGCTGCAGAACTCGGACAATTCGGGCTCTGTGCAAGGACTGGCTCCAGGCTTGCCGTCGGGGTCCGGAG

把每条FASTA序列连成一行然后输出

def formatFasta(filename):"""把每条FASTA序列连成一行然后输出:param filename: 文件名:return: None"""alist = []for line in open(filename):if line[0] == '>':lineL = line.split(' ')if alist:print(''.join(alist))alist = []name = lineL[0]print(name)else:alist.append(line.strip())#不要忘了最后一个序列print(''.join(alist))filename = "./data/test2.fa"
formatFasta(filename)
>NM_0112835
AATAAATCCAAAGACATTTGTTTACGTGAAACAAGCAGGTTGCATATCCAGTGACGTTTATACAGACCACACAAACTATTTACTCTTTTCTTCGTAAGGAAAGGTTCAACTTCTGGTCTCACCCAAAATGAGTGACACACCTTCTACTAGTTTCTCCATGATTCATCTGACTTCTGAAGGTCAAGTTCCTTCCCCTCGCCATTCAAATATCACTCATCCTGTAGTGGCTAAACGCATCAGTTTCTATAAGAGTGGAGACCCACAGTTTGGCGGCGTTCGGGTGGTGGTCAACCCTCGTTCCTTTAAGACTTTTGACGCTCTGCTGGACAGTTTATCCAGGAAGGTACCCCTGCCCTTTGGGGTAAGGAACATCAGCACGCCCCGTGGACGACACAGCATCACCAGGCTGGAGGAGCTAGAGGACGGCAAGTCTTATGTGTGCTCCCACAATAAGAAGGTGCTGCCAGTTGACCTGGACAAGGCCCGCAGGCGCCCTCGGCCCTGGCTGAGTAGTCGCTCCATAAGCACGCATGTGCAGCTCTGTCCTGCAACTGCCAATATGTCCACCATGGCACCTGGCATGCTCCGTGCCCCAAGGAGGCTCGTGGTCTTCCGGAATGGTGACCCGAA
>NM_001195662
AAGCTCAGCCTTTGCTCAGATTCTCCTCTTGATGAAACAAAGGGATTTCTGCACATGCTTGAGAAATTGCAGGTCTCACCCAAAATGAGTGACACACCTTCTACTAGTTTCTCCATGATTCATCTGACTTCTGAAGGTCAAGTTCCTTCCCCTCGCCATTCAAATATCACTCATCCTGTAGTGGCTAAACGCATCAGTTTCTATAAGAGTGGAGACCCACAGTTTGGCGGCGTTCGGGTGGTGGTCAACCCTCGTTCCTTTAAGACTTTTGACGCTCTGCTGGACAGTTTATCCAGGAAGGTACCCCTGCCCTTTGGGGTAAGGAACATCAGCACGCCCCGTGGACGACACAGCATCACCAGGCTGGAGGAGCTAGAGGACGGCAAGTCTTATGTGTGCTCCCACAATAAGAAGGTGCTG
>NM_011283
AATAAATCCAAAGACATTTGTTTACGTGAAACAAGCAGGTTGCATATCCAGTGACGTTTATACAGACCACACAAACTATTTACTCTTTTCTTCGTAAGGAAAGGTTCAACTTCTGGTCTCACCCAAAATGAGTGACACACCTTCTACTAGTTTCTCCATGATTCATCTGACTTCTGAAGGTCAAGTTCCTTCCCCTCGCCATTCAAATATCACTCATCCTGTAGTGGCTAAACGCATCAGTTTCTATAAGAGTGGAGACCCACAGTTTGGCGGCGTTCGGGTGGTGGTCAACCCTCGTTCCTTTAAGACTTTTGACGCTCTGCTGGACAGTTTATCCAGGAAGGTACCCCTGCCCTTTGGGGTAAGGAACATCAGCACGCCCCGTGGACGACACAGCATCACCAGGCTGGAGGAGCTAGAGGACGGCAAGTCTTATGTGTGCTCCCACAATAAGAAGGTGCTGCCAGTTGACCTGGACAAGGCCCGCAGGCGCCCTCGGCCCTGGCTGAGTAGTCGCTCCATAAGCACGCATGTGCAGCTCTGTCCTGCAACTGCCAATATGTCCACCATGGCACCTGGCATGCTCCGTGCCCCAAGGAGGCTCGTGGTCTTCCGGAATGGTGACCCGAA

把每条FASTA序列按一定长度输出

def formatFasta(filename,length):"""把每条FASTA序列按一定长度输出:param filename: 文件名:param length: 长度:return: None"""alist = []for line in open(filename):if line[0] == '>':lineL = line.split(' ')if alist:seq = ''.join(alist)len_seq = len(seq)for i in range(0,len_seq,length):print(seq[i:i+length])alist = []name = lineL[0]print(name)else:alist.append(line.strip())#不要忘了最后一个序列seq = ''.join(alist)len_seq = len(seq)for i in range(0,len_seq,length):print(seq[i:i+length] )
length = 60
filename = "./data/test2.fa"
formatFasta(filename,length)
>NM_0112835
AATAAATCCAAAGACATTTGTTTACGTGAAACAAGCAGGTTGCATATCCAGTGACGTTTA
TACAGACCACACAAACTATTTACTCTTTTCTTCGTAAGGAAAGGTTCAACTTCTGGTCTC
ACCCAAAATGAGTGACACACCTTCTACTAGTTTCTCCATGATTCATCTGACTTCTGAAGG
TCAAGTTCCTTCCCCTCGCCATTCAAATATCACTCATCCTGTAGTGGCTAAACGCATCAG
TTTCTATAAGAGTGGAGACCCACAGTTTGGCGGCGTTCGGGTGGTGGTCAACCCTCGTTC
CTTTAAGACTTTTGACGCTCTGCTGGACAGTTTATCCAGGAAGGTACCCCTGCCCTTTGG
GGTAAGGAACATCAGCACGCCCCGTGGACGACACAGCATCACCAGGCTGGAGGAGCTAGA
GGACGGCAAGTCTTATGTGTGCTCCCACAATAAGAAGGTGCTGCCAGTTGACCTGGACAA
GGCCCGCAGGCGCCCTCGGCCCTGGCTGAGTAGTCGCTCCATAAGCACGCATGTGCAGCT
CTGTCCTGCAACTGCCAATATGTCCACCATGGCACCTGGCATGCTCCGTGCCCCAAGGAG
GCTCGTGGTCTTCCGGAATGGTGACCCGAA
>NM_001195662
AAGCTCAGCCTTTGCTCAGATTCTCCTCTTGATGAAACAAAGGGATTTCTGCACATGCTT
GAGAAATTGCAGGTCTCACCCAAAATGAGTGACACACCTTCTACTAGTTTCTCCATGATT
CATCTGACTTCTGAAGGTCAAGTTCCTTCCCCTCGCCATTCAAATATCACTCATCCTGTA
GTGGCTAAACGCATCAGTTTCTATAAGAGTGGAGACCCACAGTTTGGCGGCGTTCGGGTG
GTGGTCAACCCTCGTTCCTTTAAGACTTTTGACGCTCTGCTGGACAGTTTATCCAGGAAG
GTACCCCTGCCCTTTGGGGTAAGGAACATCAGCACGCCCCGTGGACGACACAGCATCACC
AGGCTGGAGGAGCTAGAGGACGGCAAGTCTTATGTGTGCTCCCACAATAAGAAGGTGCTG
>NM_011283
AATAAATCCAAAGACATTTGTTTACGTGAAACAAGCAGGTTGCATATCCAGTGACGTTTA
TACAGACCACACAAACTATTTACTCTTTTCTTCGTAAGGAAAGGTTCAACTTCTGGTCTC
ACCCAAAATGAGTGACACACCTTCTACTAGTTTCTCCATGATTCATCTGACTTCTGAAGG
TCAAGTTCCTTCCCCTCGCCATTCAAATATCACTCATCCTGTAGTGGCTAAACGCATCAG
TTTCTATAAGAGTGGAGACCCACAGTTTGGCGGCGTTCGGGTGGTGGTCAACCCTCGTTC
CTTTAAGACTTTTGACGCTCTGCTGGACAGTTTATCCAGGAAGGTACCCCTGCCCTTTGG
GGTAAGGAACATCAGCACGCCCCGTGGACGACACAGCATCACCAGGCTGGAGGAGCTAGA
GGACGGCAAGTCTTATGTGTGCTCCCACAATAAGAAGGTGCTGCCAGTTGACCTGGACAA
GGCCCGCAGGCGCCCTCGGCCCTGGCTGAGTAGTCGCTCCATAAGCACGCATGTGCAGCT
CTGTCCTGCAACTGCCAATATGTCCACCATGGCACCTGGCATGCTCCGTGCCCCAAGGAG
GCTCGTGGTCTTCCGGAATGGTGACCCGAA

提取fasta.name中名字对应的test2.fa的序列,并输出到屏幕。

fasta.name文件内容如下:

!cat "./data/fasta.name"
NM_011283
aDict = {}
seqFile = "data/test2.fa"
nameFile = "data/fasta.name"for line in open(seqFile):if line[0] == '>':key = line.split()[0][1:] aDict[key] = []  else:aDict[key].append(line.strip())for line in open(nameFile):name = line.strip()print(">%s\n%s" % (name, ''.join(aDict[name])))print(">%s\n%s" % (name, aDict[name]))
>NM_011283
AATAAATCCAAAGACATTTGTTTACGTGAAACAAGCAGGTTGCATATCCAGTGACGTTTATACAGACCACACAAACTATTTACTCTTTTCTTCGTAAGGAAAGGTTCAACTTCTGGTCTCACCCAAAATGAGTGACACACCTTCTACTAGTTTCTCCATGATTCATCTGACTTCTGAAGGTCAAGTTCCTTCCCCTCGCCATTCAAATATCACTCATCCTGTAGTGGCTAAACGCATCAGTTTCTATAAGAGTGGAGACCCACAGTTTGGCGGCGTTCGGGTGGTGGTCAACCCTCGTTCCTTTAAGACTTTTGACGCTCTGCTGGACAGTTTATCCAGGAAGGTACCCCTGCCCTTTGGGGTAAGGAACATCAGCACGCCCCGTGGACGACACAGCATCACCAGGCTGGAGGAGCTAGAGGACGGCAAGTCTTATGTGTGCTCCCACAATAAGAAGGTGCTGCCAGTTGACCTGGACAAGGCCCGCAGGCGCCCTCGGCCCTGGCTGAGTAGTCGCTCCATAAGCACGCATGTGCAGCTCTGTCCTGCAACTGCCAATATGTCCACCATGGCACCTGGCATGCTCCGTGCCCCAAGGAGGCTCGTGGTCTTCCGGAATGGTGACCCGAA
>NM_011283
['AATAAATCCAAAGACATTTGTTTACGTGAAACAAGCAGGTTGCATATCCAGTGACGTTTATACAGACCAC', 'ACAAACTATTTACTCTTTTCTTCGTAAGGAAAGGTTCAACTTCTGGTCTCACCCAAAATGAGTGACACAC', 'CTTCTACTAGTTTCTCCATGATTCATCTGACTTCTGAAGGTCAAGTTCCTTCCCCTCGCCATTCAAATAT', 'CACTCATCCTGTAGTGGCTAAACGCATCAGTTTCTATAAGAGTGGAGACCCACAGTTTGGCGGCGTTCGG', 'GTGGTGGTCAACCCTCGTTCCTTTAAGACTTTTGACGCTCTGCTGGACAGTTTATCCAGGAAGGTACCCC', 'TGCCCTTTGGGGTAAGGAACATCAGCACGCCCCGTGGACGACACAGCATCACCAGGCTGGAGGAGCTAGA', 'GGACGGCAAGTCTTATGTGTGCTCCCACAATAAGAAGGTGCTGCCAGTTGACCTGGACAAGGCCCGCAGG', 'CGCCCTCGGCCCTGGCTGAGTAGTCGCTCCATAAGCACGCATGTGCAGCTCTGTCCTGCAACTGCCAATA', 'TGTCCACCATGGCACCTGGCATGCTCCGTGCCCCAAGGAGGCTCGTGGTCTTCCGGAATGGTGACCCGAA', '']

生物信息数据格式:fasta格式相关推荐

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

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

  2. fastq转化成fasta格式

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

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

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

  4. 医学图像数据格式和格式转换

    医学图像数据格式和格式转换 本文转载自:http://blog.csdn.net/kingmicrosoft/article/details/35798249 由于最近碰到了数据格式的问题,重建不出效 ...

  5. Fastq与Fasta格式

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

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

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

  7. 文件格式——fasta格式

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

  8. 生物信息数据格式:vcf格式

    文章目录 格式说明 实操 查看头部注释信息 查看样本信息 查看主体信息 过滤质量值大于80小于20000的标记 只保留SNP 使用vcftools对vcf文件的操作 格式说明 VCF格式,Varian ...

  9. 生物信息数据格式:gff,gtf格式

    文章目录 gff 示例 gtf 示例 gff和gtf的区别 gff GFF(General Feature Format)是一种用来描述基因组特征的文件,现在我们所使用的大部分都是第三版(gff3). ...

最新文章

  1. AlexeyAB DarkNet YOLOv3框架解析与应用实践(五)
  2. 160525、高并发之mysql主从复制(linux)
  3. NOIP2008 普及组T4 立体图 解题报告-S.B.S.(施工未完成)
  4. jQuey/js 省市县三级下拉框联动的回显(简单易懂)
  5. 删除mysql主键语句_MySQL主键添加/删除
  6. Eclipse中文乱码解决汇总(应该比较全):
  7. php 导入excal,php导入excel php使用phpexcel导入excel文件
  8. python基础教学PPT讲义(基础部分)
  9. PyTorch 模型训练教程(一)-数据
  10. rpm -ivh rpm包名
  11. CSDN免登录复制方式
  12. 分析2022年新型传播的.360后缀勒索病毒与数据恢复案例
  13. 审计人员需要哪些计算机知识,审计人员应具备的知识与技能
  14. 计算机硬件仿真实验软件,计算机硬件实验虚拟仿真平台的设计
  15. MacOS Big Sur 开启 HIDPI
  16. 无法将数据库从SINGLE_USER模式切换回MULTI_USER模式(Error 5064),及查找SQL Server数据库中用户spid(非SQL Server系统spid)的方法...
  17. 太阳高度角方位角计算
  18. 需要管理员权限才能删除此文件夹,解决办法
  19. KTV 歌房如何实现伴奏与人声同步功能
  20. 我的世界pe服务器坐标怎么显示,我的世界手机版坐标怎么看 PE版没有MOD怎么查看坐标...

热门文章

  1. 异步通信之IOCP详解
  2. Java根据IP地址/掩码位(CIDR)和起始IP-终止IP计算网段(IPV4和IPV6)
  3. html checkbox复选框更换背景,js实现点击切换checkbox背景图片的简单实例
  4. 2010年中国十大虚拟主机服务商排行榜(转)
  5. JAVA的sdn控制器,软件定义网络基础---SDN控制平面
  6. 微信小程序 阻止事件冒泡
  7. 64位开源处理器Rocket的源代码简单介绍
  8. Python必会的12道面试题,看看你会几题?
  9. 消防管道标志色号_消防标志的起步问题
  10. 计算机的基本配件图片,计算机硬件的重要部件