Bioperl操作指南.pdf

上传人:b****1 文档编号:3209293 上传时间:2022-11-20 格式:PDF 页数:29 大小:373.72KB
下载 相关 举报
Bioperl操作指南.pdf_第1页
第1页 / 共29页
Bioperl操作指南.pdf_第2页
第2页 / 共29页
Bioperl操作指南.pdf_第3页
第3页 / 共29页
Bioperl操作指南.pdf_第4页
第4页 / 共29页
Bioperl操作指南.pdf_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

Bioperl操作指南.pdf

《Bioperl操作指南.pdf》由会员分享,可在线阅读,更多相关《Bioperl操作指南.pdf(29页珍藏版)》请在冰豆网上搜索。

Bioperl操作指南.pdf

Bioperl操作指南操作指南Bioperl为许多经典的生物信息学程序提供了软件模块,这些包括:

从本地或远程数据库获取数据;转换数据库或文件记录的格式;操作单个序列;搜索相似序列;创建和进行序列比对;搜索基因组上的基因及其它结构;发展机器可读的序列注释;下面的章节将描述bioperl怎样执行这些任务;III.1从本地和远程数据库中获取数据从本地和远程数据库中获取数据bioperl主要集中于序列操作,但是在用bioperl操作序列之前,需要获取序列数据。

现在你可以直接将序列数据输入到bioperl的Seq对象,例如:

$seq=Bio:

Seq-new(-seq=actgtggcgtcaact,-desc=SampleBio:

Seqobject,-display_id=something,-accession_number=accnum,-alphabet=dna);然而,在大多数时候,从在线文档及数据库中获取序列更优越。

注意在生物信息学的传统叫法中有时候被称作“数据库”的很可能是一个“索引平台文件”。

Bioperl支持远程数据获取,也可为访问本地数据库创建索引。

有两个普通的方法完成这个。

如果你知道序列储存在什么样的数据库中(例如文本文件、本地关系型数据库或一个internet上可访问的远程数据库),你可以写一个脚本特定地从这些数据库中获得数据。

这种方法将在III.1.1节和III.1.2节中描述,这两节分别讲如何从远程数据库和本地的索引平台文件中获取数据。

明确地从本地关系型数据库中获取序列数据需要安装和设置bioperl-db库和BioSQL计划中的模块,更多介绍可见IV.3节。

另一个方法是使用最近发展起来的OBDA(OpenBioinformaticsDataAccess)注册系统。

使用OBDA可以从一个数据库中输出序列而不需要知道可访问的数据库是平台文件还是关系型,甚至不管它是本地的还是仅能从网上获得的。

关于怎样安装必须的注册配置文件和获取序列数据已在doc/howto中的BIODATABASE_ACCESS中叙述,这里不再重复。

III.1.1获取远程数据(获取远程数据(Bio:

DB:

GenBank等)等)Bioperl可以直接从主要的分子生物学数据库中获取序列数据。

数据可以通过序列的获取号或id来获得。

生物秀-专心做生物KillerDigitallysignedbyKillerDN:

cn=Killer,o,ou,email=K,c=USDate:

2011.02.2517:

39:

18+0800还可以进行批量获取以方便地获取多重序列。

例如,从genbank中获取数据的代码如下:

$gb=newBio:

DB:

GenBank();#thisreturnsaSeqobject:

$seq1=$gb-get_Seq_by_id(MUSIGHBA1);#thisreturnsaSeqobject:

$seq2=$gb-get_Seq_by_acc(AF303112);#thisreturnsaSeqIOobject:

$seqio=$gb-get_Stream_by_id(J00522,AF303112,2981014);更多信息见III.2.1关于使用SeqIO对象。

Bioperl当前支持从genbank,genpept,Refseq,swissprot和EMBL数据库中获取序列数据。

更多信息见Bio:

DB:

GenBankmanpage,theBio:

DB:

GenPeptmanpage,theBio:

DB:

SwissProtmanpage,theBio:

DB:

RefSeqmanpage和theBio:

DB:

EMBLmanpage。

用户可以为一个数据库指定不同的数据库镜像特别相关的是SwissProt资源有许多ExPaSy镜像。

还有一些为那些后台防火墙指定本地的代理服务器的配置项。

获取NCBIRefSeqs序列可以通过一个叫Bio:

DB:

RefSeq的特定模块来查询EBI服务器。

使用之前可以参考Bio:

DB:

RefSeqmanpage,有一些关于获取RefSeq的告诫。

RefSeq在Genbank中的id一般是以NT_,NC_,NG_,NM_,NP_,XM_,XR_,orXP_开头(更多信息见http:

/www.ncbi.nlm.nih.gov/LocusLink/refseq.html)。

严格来说Bio:

DB:

GenBank可被用来获取与这些id一致的entries,但是记住它们不是Genbankentries。

关于获取以NT_开头的entries的特定细节见Bio:

DB:

GenBankmanpage,这些是经过特别格式化的CONTIGentries。

Bioperl也支持从一个远程Ace数据库中获取序列。

这个功能需要另外的AcePerl模块。

你需要下载并安装aceperl模块,见http:

/stein.cshl.org/AcePerl/。

另一个模块BioFetch,可用于访问远程数据库,它会查询EBI中的dbfetch脚本。

适用数据库如EMBL,GenBank或SWALL,可以通过不同格式如objects或streams(SeqIOobjects),或tempfiles来获取entries。

详细内容见Bio:

DB:

BioFetchmanpage。

III.1.2索引和访问本地数据库索引和访问本地数据库(Bio:

Index:

*,bp_index.pl,bp_fetch.pl,Bio:

DB:

*)通过Bio:

Index或Bio:

DB:

Fasta对象,Bioperl允许索引本地序列文件。

下面的序列数据格式支持Bio:

Index:

genbank,swissprot,pfam,embl和fasta。

一旦使用Bio:

Index索引一组序列,就可用与访问远程数据库相似的句法来获取单条序列。

例如,如果想设置一个fasta格式的索引平台文件数据库,并获取一个文件,可以这样写代码:

#script1:

createtheindexuseBio:

Index:

Fasta;#usingfastafileformatusestrict;#someusershavereportedthatthisisnecessarymy$Index_File_Name=shift;my$inx=Bio:

Index:

Fasta-new(生物秀-专心做生物-filename=$Index_File_Name,-write_flag=1);$inx-make_index(ARGV);#script2:

retrievesomefilesuseBio:

Index:

Fasta;usestrict;#someusershavereportedthatthisisnecessarymy$Index_File_Name=shift;my$inx=Bio:

Index:

Fasta-new($Index_File_Name);foreachmy$id(ARGV)my$seq=$inx-fetch($id);#ReturnsBio:

Seqobject#dosomethingwiththesequence为了方便创建和使用更复杂或更灵活的索引系统,bioperl在scripts/index文件夹下分配了两个样本脚本,bp_index.PLS和bp_fetch.PLS。

这些脚本能够被用作模板来发展用户化的本地数据文件索引系统。

Bioperl还提供了Bio:

DB:

Fasta作为索引和查询Fasta格式文件的手段。

它与Bio:

Index:

Fasta的精髓是一致的但是提供了更多的方法,例如:

useBio:

DB:

Fasta;usestrict;my$db=Bio:

DB:

Fasta-new($file);#onefileormanyfilesmy$seqstring=$db-seq($id);#getasequenceasstringmy$seqobj=$db-get_Seq_by_id($id);#getaPrimarySeqobjmy$desc=$db-header($id);#gettheheader,ordescriptionline关于这个模块的全部特征的更多信息见Bio:

DB:

Fastamanpage。

这两个模块还可以让用户在fasta头文件中指明一个特定字符串作为识别id,如字符串gi|4556644|gb|X45555中的ginumber。

看下面的fasta格式序列,它储存在文件test.fa中:

gi|523232|emb|AAC12345|sp|D12567titinfragmentMHRHHRTGYSAAYGPLKJHGYVHFIMCVVVSWWASDVVTYIPLLLNNSSAGWKRWWWIIFGGEGHGHHRTYSALWWPPLKJHGSKHFILCVKVSWLAKKERTYIPKKILLMMGGWWAAWWWI默认情况下,Bio:

Index:

Fasta和Bio:

DB:

Fasta会使用他们在fasta头文件中遇到的第一个词作为获取关键词,如本例中的gi|523232|emb|AAC12345|sp|D12567。

一个单独的id作为一个关键词会更有用。

下面的代码将索引test.fa并创建一个索引文件test.fa.idx,其关键词是Swissprot,或sp标识符。

$ENVBIOPERL_INDEX_TYPE=SDBM_File;#lookfortheindexinthecurrentdirectory$ENVBIOPERL_INDEX=.;my$file_name=test.fa;my$inx=Bio:

Index:

Fasta-new(-filename=$file_name.idx,生物秀-专心做生物-write_flag=1);#passareferencetothecriticalfunctiontotheBio:

Indexobject$inx-id_parser(&get_id);#maketheindex$inx-make_index($file_name);#hereiswheretheretrievalkeyisspecifiedsubget_idmy$header=shift;$header=/.*bsp|(A-Zd5b)/;$1;这里是关于怎样获取序列的方法,如用一个Bio:

Seq对象:

my$seq=$inx-fetch(D12567);print$seq-seq;如果你想用一个Swissprotid或一个ginumber获取一条序列,而fasta头文件实际上是多个gi和Swissprot串联的头文件,该如何操作?

gi|523232|emb|AAC12345|sp|D12567|gi|7744242|sp|V11223titinfragment修改那些传递到id_parser方法的功能:

subget_idmy$header=shift;my(sps)=$header=/.*bsp|(A-Zd5)b/g;my(gis)=$header=/gi|(d+)b/g;return(sps,gis);Bio:

DB:

Fasta模块使用相同的原理,但是句法稍微有所不同,例如:

my$db=Bio:

DB:

Fasta-ne

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 环境科学食品科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1