注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

云之南

风声,雨声,读书声,声声入耳;家事,国事,天下事,事事关心

 
 
 

日志

 
 
关于我

专业背景:计算机科学 研究方向与兴趣: JavaEE-Web软件开发, 生物信息学, 数据挖掘与机器学习, 智能信息系统 目前工作: 基因组, 转录组, NGS高通量数据分析, 生物数据挖掘, 植物系统发育和比较进化基因组学

网易考拉推荐

BioPerl指南 – 序列格式的转换  

2010-03-03 00:59:34|  分类: 生物信息学 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

 

BioPerl指南 – 序列格式的转换

这里所说的序列格式,都是实际应用中常常碰到的格式。例如Genbank格式、Fasta格式等。

大致上支持以下的格式:

AB1         ABI tracefile format              

ABI         ABI tracefile format              

ALF         ALF tracefile format              

CTF         CTF tracefile format              

EMBL        EMBL format              

EXP         Staden tagged experiment tracefile format              

Fasta       FASTA format              

Fastq       Fastq format              

GCG         GCG format              

GenBank     GenBank format              

PIR         Protein Information Resource format              

PLN         Staden plain tracefile format              

SCF         SCF tracefile format              

ZTR         ZTR tracefile format              

ace         ACeDB sequence format              

game        GAME XML format              

locuslink   LocusLink annotation (LL_tmpl format only)              

phd         phred output              

qual        Quality values (get a sequence of quality scores)              

raw         Raw format (one sequence per line, no ID)              

swiss       Swissprot format

不过,最经常用到的也不多。按我的经验来说有:Fasta,GenBank,EMBL,swiss。如果你不知道这些格式的具体含义,想要了解一下的话,没问题。下面给你看些例子就能大概明白了。

下面是Fasta的格式,点击下面的链接查看完整的序列

>NM_008261.2  Mus musculus hepatic nuclear factor 4, alpha (Hnf4a), mRNAGGGACCTGGGAGGAGGCAGGAGGAGGGCGGGGACGGGGGGGGCTGGGGC............

下面是GenBank格式,点击下面的链接查看完整的格式

LOCUS       NM_008261               4371 bp    mRNA    linear   ROD 07-JUN-2009

DEFINITION  Mus musculus hepatic nuclear factor 4, alpha (Hnf4a), mRNA.

ACCESSION   NM_008261

VERSION     NM_008261.2  GI:46575915

..........

下面是EMBL格式,点击下面的链接查看完整的格式(swiss的格式类似这样,但序列是蛋白的)

ID   AF509467; SV 1; linear; genomic DNA; STD; HUM; 311 BP.

XX

AC   AF509467;

XX

DT   27-MAY-2002 (Rel. 71, Created)

大概类似这样。如果你想了解这些格式的详细信息,可以搜索一下本站的内容。一定程序上不会让你失望。好了,废话少讲。下面进入正题,为你介绍用BioPerl来实现这些格式间的相互转换。

1,你的序列文件放在’inputfile’,输出后放在’>output.fa’,下面的结果是把GenBank格式转换为Fasta格式。这些参数根据你的需要更改。

#!/usr/bin/perl  

use Bio::SeqIO;  

$seqin = Bio::SeqIO->new( -format => 'GenBank' , -file => 'inputfile');  

$seqout= Bio::SeqIO->new( -format => 'Fasta', -file => '>output.fa');  

while((my $seqobj = $seqin->next_seq()))

{            

$seqout->write_seq;

}

2,下面的又比较高级点。基本上无需更改源文件。把下面的命名为’reformat’的文件,用下面的命令运行:

perl reformat format1 format2 < input > output

这样子程序就会把input这个文件的格式(format1)转换为另一个格式(format2),并输出到output。

   

#!/usr/bin/perl   

$format1 = shift;   

$format2 = shift || die      

     "Usage: reformat format1 format2 < input > output";   

use Bio::SeqIO;   

$in  = Bio::SeqIO->newFh(-format => $format1, -fh => \*ARGV );   

$out = Bio::SeqIO->newFh(-format => $format2 );

   print $out $_ while <$in>;

强大而又高效率的代码。想了解更多,用命令perldoc Bio::SeqIO,不明白这个命令的朋友也就无需明白啦。如果你有兴趣进一步了解的话,这当然不是个难题。

另外还有一个更加强大的脚本,支持更多的格式转换。例如像序列比对的格式之类的。在这里就不多讲啦,如果你的好奇心无药可救,那就给个链接看看:bpsreformat – convert sequence formats。如果看完还有兴趣,那就留个言,我们可以坐下来一起慢慢探讨。

  评论这张
 
阅读(2459)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016