




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Bioperl操作指南camelbbsBioperl为许多经典的生物信息学程序提供了软件模块,这些包括: 从本地或远程数据库获取数据; 转换数据库或文件记录的格式; 操作单个序列; 搜索相似序列; 创建和进行序列比对; 搜索基因组上的基因及其它结构; 发展机器可读的序列注释;下面的章节将描述bioperl怎样执行这些任务;III.1从本地和远程数据库中获取数据bioperl主要集中于序列操作,但是在用bioperl操作序列之前,需要获取序列数据。现在你可以直接将序列数据输入到bioperl的Seq对象,例如: $seq = Bio:Seq->new(-seq => 'act
2、gtggcgtcaact', -desc => 'Sample Bio:Seq object', -display_id => 'something', -accession_number => 'accnum', -alphabet => 'dna' );然而,在大多数时候,从在线文档及数据库中获取序列更优越。注意在生物信息学的传统叫法中有时候被称作“数据库”的很可能是一个“索引平台文件”。Bioperl支持远程数据获取,也可为访问本地数据库创建索引。有两个普通的方法完成这个。如果你知道序列储存在
3、什么样的数据库中(例如文本文件、本地关系型数据库或一个internet上可访问的远程数据库),你可以写一个脚本特定地从这些数据库中获得数据。这种方法将在III.1.1 节和III.1.2节中描述,这两节分别讲如何从远程数据库和本地的索引平台文件中获取数据。明确地从本地关系型数据库中获取序列数据需要安装和设置bioperl-db库和BioSQL计划中的模块,更多介绍可见IV.3节。另一个方法是使用最近发展起来的OBDA(Open Bioinformatics Data Access)注册系统。使用OBDA可以从一个数据库中输出序列而不需要知道可访问的数据库是平台文件还是关系型,甚至不管它是本地的
4、还是仅能从网上获得的。关于怎样安装必须的注册配置文件和获取序列数据已在doc/howto中的BIODATABASE_ACCESS中叙述,这里不再重复。III.1.1 获取远程数据(Bio:DB:GenBank等)Bioperl可以直接从主要的分子生物学数据库中获取序列数据。数据可以通过序列的获取号或id来获得。还可以进行批量获取以方便地获取多重序列。例如,从genbank中获取数据的代码如下: $gb = new Bio:DB:GenBank(); # this returns a Seq object : $seq1 = $gb->get_Seq_by_id('MUSIGHBA
5、1'); # this returns a Seq object : $seq2 = $gb->get_Seq_by_acc('AF303112'); # this returns a SeqIO object : $seqio = $gb->get_Stream_by_id("J00522","AF303112","2981014");更多信息见III.2.1关于使用SeqIO对象。Bioperl当前支持从genbank,genpept,Refseq,swissprot和EMBL数据库中获取序列数
6、据。更多信息见 Bio:DB:GenBank manpage, the Bio:DB:GenPept manpage, the Bio:DB:SwissProt manpage, the Bio:DB:RefSeq manpage 和the Bio:DB:EMBL manpage。用户可以为一个数据库指定不同的数据库镜像特别相关的是SwissProt资源有许多ExPaSy镜像。还有一些为那些后台防火墙指定本地的代理服务器的配置项。获取NCBI RefSeqs序列可以通过一个叫Bio:DB:RefSeq的特定模块来查询EBI服务器。使用之前可以参考Bio:DB:RefSeq manpage,有一
7、些关于获取RefSeq的告诫。RefSeq在Genbank中的id一般是以"NT_", "NC_", "NG_", "NM_", "NP_", "XM_", "XR_", or"XP_"开头(更多信息见/LocusLink/refseq.html)。严格来说Bio:DB:GenBank可被用来获取与这些id一致的entries,但是记住它们不是Genbank entries。关于获取以
8、"NT_"开头的entries的特定细节见Bio:DB:GenBank manpage,这些是经过特别格式化的"CONTIG" entries。Bioperl也支持从一个远程Ace数据库中获取序列。这个功能需要另外的AcePerl模块。你需要下载并安装aceperl模块,见/AcePerl/。另一个模块BioFetch,可用于访问远程数据库,它会查询EBI中的dbfetch脚本。适用数据库如EMBL,GenBank或SWALL,可以通过不同格式如objects或streams(SeqIO objects),或&qu
9、ot;tempfiles"来获取entries。详细内容见Bio:DB:BioFetch manpage。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格式的索引平台文件数据库,并获取
10、一个文件,可以这样写代码: # script 1: create the index use Bio:Index:Fasta; # using fasta file format use strict; # some users have reported that this is necessary my $Index_File_Name = shift; my $inx = Bio:Index:Fasta->new( -filename => $Index_File_Name, -write_flag => 1); $inx->make_index(ARGV); #
11、 script 2: retrieve some files use Bio:Index:Fasta; use strict; # some users have reported that this is necessary my $Index_File_Name = shift; my $inx = Bio:Index:Fasta->new($Index_File_Name); foreach my $id (ARGV) my $seq = $inx->fetch($id); # Returns Bio:Seq object # do something with the se
12、quence 为了方便创建和使用更复杂或更灵活的索引系统,bioperl在scripts/index文件夹下分配了两个样本脚本,bp_index.PLS 和bp_fetch.PLS。这些脚本能够被用作模板来发展用户化的本地数据文件索引系统。Bioperl还提供了Bio:DB:Fasta作为索引和查询Fasta格式文件的手段。它与Bio:Index:Fasta的精髓是一致的但是提供了更多的方法,例如: use Bio:DB:Fasta; use strict; my $db = Bio:DB:Fasta->new($file); # one file or many files my $s
13、eqstring = $db->seq($id); # get a sequence as string my $seqobj = $db->get_Seq_by_id($id); # get a PrimarySeq obj my $desc = $db->header($id); # get the header, or description line关于这个模块的全部特征的更多信息见Bio:DB:Fasta manpage 。这两个模块还可以让用户在fasta头文件中指明一个特定字符串作为识别id,如字符串"gi|4556644|gb|X45555"
14、;中的gi number。看下面的fasta格式序列,它储存在文件"test.fa"中: >gi|523232|emb|AAC12345|sp|D12567 titin fragment MHRHHRTGYSAAYGPLKJHGYVHFIMCVVVSWWASDVVTYIPLLLNNSSAGWKRWWWIIFGGE GHGHHRTYSALWWPPLKJHGSKHFILCVKVSWLAKKERTYIPKKILLMMGGWWAAWWWI默认情况下,Bio:Index:Fasta和Bio:DB:Fasta会使用他们在fasta头文件中遇到的第一个词作为获取关键词,如本例中的&
15、quot;gi|523232|emb|AAC12345|sp|D12567"。一个单独的id作为一个关键词会更有用。下面的代码将索引"test.fa"并创建一个索引文件"test.fa.idx",其关键词是Swissprot,或"sp"标识符。 $ENVBIOPERL_INDEX_TYPE = "SDBM_File" # look for the index in the current directory $ENVBIOPERL_INDEX = "." my $file_name =
16、 "test.fa" my $inx = Bio:Index:Fasta->new( -filename => $file_name . ".idx", -write_flag => 1 ); # pass a reference to the critical function to the Bio:Index object $inx->id_parser(&get_id); # make the index $inx->make_index($file_name); # here is where the ret
17、rieval key is specified sub get_id my $header = shift; $header = />.*bsp|(A-Zd5b)/; $1; 这里是关于怎样获取序列的方法,如用一个Bio:Seq对象: my $seq = $inx->fetch("D12567"); print $seq->seq;如果你想用一个Swissprot id或一个gi number获取一条序列,而fasta头文件实际上是多个gi和Swissprot串联的头文件,该如何操作? >gi|523232|emb|AAC12345|sp|D1256
18、7|gi|7744242|sp|V11223 titin fragment修改那些传递到id_parser方法的功能: sub get_id my $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->new('test.fa', -makeid=>&make_my_id
19、); my $seqobj = $db->get_Seq_by_id($id); sub make_my_id my $description_line = shift; $description_line = /gi|(d+)|emb|(w+)/; ($1,$2); bioperl的核心安装文件并不支持访问储存在关系数据库中的序列和数据。这种功能由附属的bioperl-db文库提供。更多信息见IV.3节。III.2转换数据库或文件记录格式III.2.1转换序列文件(SeqIO)生物信息学的一个普通的任务就是在广泛使用的序列数据格式之间进行转换。Bioperl的SeqIO对象使这件事变得
20、轻而易举。SeqIO能够阅读大量的序列格式(在一个或多个文件中):Fasta,EMBL,GenBank,Swissprot,PIR,GCG,SCF, phd/phred, Ace, fastq, exp, chado, or raw (plain sequence)。SeqIO也能够分析alf, ztr, abi, ctf, 和ctr格式的文件,一旦序列数据被SeqIO读取,就变成bioperl的Seq、PrimarySeq或RichSeq对象所能利用的形式,选用这几个对象要看序列的来源。此外,序列对象可以任何支持的数据格式被写入另一个文件(也用SeqIO),使数据转换简单并可执行,例如: u
21、se Bio:SeqIO; $in = Bio:SeqIO->new(-file => "inputfilename", -format => 'Fasta'); $out = Bio:SeqIO->new(-file => ">outputfilename", -format => 'EMBL'); while ( my $seq = $in->next_seq() ) $out->write_seq($seq); 另外,perl的"tied句柄"
22、句法是SeqIO可用的,你可以用standard<> 和打印操作来读写序列对象,例如: $in = Bio:SeqIO->newFh(-file => "inputfilename" , -format => 'fasta'); $out = Bio:SeqIO->newFh(-format => 'embl'); print $out $_ while <$in>如果不使用"-format"语句,Bioperl会依赖于文件后缀来决定格式,这是一个较慢的办法。如果没有后
23、缀可用,SeqIO会基于实际内容推测序列的格式。这里是当前通用的一组后缀: Format Suffixes Comment fasta fasta|fast|seq|fa|fsa|nt|aa Fasta genbank gb|gbank|genbank|gbs|gbk Genbank scf scf SCF tracefile pir pir PIR embl embl|ebl|emb|dat EMBL raw txt plain gcg gcg GCG ace ace ACeDB bsml bsm|bsml BSML XML game GAME XML swiss swiss|sp Swis
24、sProt phd phd|phred Phred fastq fastq Fastq Locuslink LL_tmpl format qual Phred quality file chado Chado XML tinyseq NCBI TinySeq XML exp exp Staden experiment file abi* abi ABI tracefile alf* alf ALF tracefile ctf* ctf CTF tracefile ztr* ztr ZTR tracefile pln* pln Staden plain tracefile*这些格式需要biope
25、rl-ext包和来自于Staden包的io_lib文库更多信息见Bio:SeqIO manpage 或SeqIO HOWTO (/HOWTOs/html/SeqIO.html)III.2.2转换比对文件(AlignIO)数据文件储存的多序列比对也具有不同的格式。AlignIO是bioperl中转换比对文件格式的对象。AlignIO基本用法类似于SeqIO对象,它的许多命令的名字与SeqIO相同。如在SeqIO和AlignIO对象中都可以用"-file"和"-format"来创建文件: use Bio:AlignIO; m
26、y $io = Bio:AlignIO->new(-file => "receptors.aln", -format => "clustalw" );如果"-format"语句不起作用, Bioperl就通过文件后缀来决定格式,下面是目前常用的一组后缀: 格式 后缀 内容 bl2seq clustalw aln emboss* water|needle fasta fasta|fast|seq|fa|fsa|nt|aa maf maf mase Seaview mega meg|mega meme meme meta
27、fasta msf msf|pileup|gcg GCG nexus nexus|nex pfam pfam|pfm phylip phylip|phlp|phyl|phy|phy|ph interleaved prodom psi psi PSI-BLAST selex selex|slx|selx|slex|sx HMMER stockholm*water, needle, matcher, stretcher, merger, 和supermatcher见IV.2.1的EMBOSS。与SeqIO不同的是,AlignIO不能创建每种格式的输出文件。AlignIO当前支持6种输出格式:fas
28、ta, mase, selex, clustalw, msf/gcg和phylip (交叉存取)。AlignIO与SeqIO的另一个重要区别是AlignIO一次只能操作一个比对IO,而SeqIO.pm可以在单串中操作多个序列。AlignIO的句法基本上与SeqIO一致: use Bio:AlignIO; $in = Bio:AlignIO->new(-file => "inputfilename" , -format => 'fasta'); $out = Bio:AlignIO->new(-file => ">
29、outputfilename", -format => 'pfam'); while ( my $aln = $in->next_aln() ) $out->write_aln($aln); 仅有的区别是返回的对象的条目,$aln,是针对SimpleAlign对象而不是Seq对象。AlignIO也支持上面描述的SeqIO的tied句柄的句法。更多关于SimpleAlign的信息见Bio:AlignIO manpage, Bio:SimpleAlign manpage和III.5。III.3 操作序列Bioperl包括许多序列分析模块。如果在biope
30、rl中没有找到你要找的功能,就在EMBOSS或PISE中找,它们可在bioperl-run附加文库中得到(见IV.2.1)。III.3.1使用Seq方法操作序列现在我们知道了如何获取序列并将它们作为序列对象访问。再来看看怎样使用序列对象去操作我们的序列数据并返回信息。Seq提供了多种方法来执行许多普通(有时候不普通)的操作序列和返回数据的任务。这里列了一些最有用的:这些方法返回字符串或者被用来设定值: $seqobj->display_id(); # the human read-able id of the sequence $seqobj->seq(); # string of
31、 sequence $seqobj->subseq(5,10); # part of the sequence as a string $seqobj->accession_number(); # when there, the accession number $seqobj->alphabet(); # one of 'dna','rna','protein' $seqobj->primary_id(); # a unique id for this sequence irregardless # of its dis
32、play_id or accession number $seqobj->desc(); # a description of the sequence值得一提的是有些值对应于给定格式的特定区域。例如,display_id方法返回一个Genbank entry的LOCUS名字,在一个Fasta文件中,(S+)跟随>,ID来自于一个SwissProt文件,等等。desc()方法将返回一个Genbank文件中的DEFINITION行,在Fasta文件中,这一行跟着display_id,SwissProt文件中在DE区。 下面的方法返回一组Bio:SeqFeature对象: $seqob
33、j->get_SeqFeatures; # The 'top level' sequence features $seqobj->get_all_SeqFeatures; # All sequence features, including sub- # seq features对于一条comment注释,你可以使用: use Bio:Annotation:Comment; $seq->annotation->add_Annotation('comment', Bio:Annotation:Comment->new(-text =&
34、gt; 'some description');对于一条reference注释,可以使用: use Bio:Annotation:Reference; $seq->annotation->add_Annotation('reference', Bio:Annotation:Reference->new(-authors => 'author1,author2', -title => 'title line', -location => 'location line', -medl
35、ine => 998122 );序列特征将在III.7的机器可读序列注释中讨论。对这个对象的总体描述在Bio:SeqFeature:Generic manpage中可以找到,一个相关的高水平的注释描述在Bio:Annotation:Collection manpage中。另外的关于获取序列特征的样本代码可在gb2features.pl中找到,它在子文件夹examples/DB下。最后,还有关于特征和注释的HOWTO (/HOWTOs/html/Feature-Annotation.html) 和一节在FAQ中关于特征的介绍(http:/bioperl.o
36、rg/Core/Latest/faq.html#5)。下面的方法返回新的序列对象,但是并不把起始对象的特征传递到结果特征中: $seqobj->trunc(5,10); # truncation from 5 to 10 as new object $seqobj->revcom; # reverse complements sequence $seqobj->translate; # translation of the sequence注意到一些方法返回字符串,一些返回队列,一些返回对象。更多信息见Bio:Seq manpage。许多方法自己都带有注释。然而,bioper
37、l灵活的方法准许有更多的注释。生物信息学中的翻译意味着两种稍有不同的事件:1.从头到尾翻译一段核苷酸序列。2.重视mRNAs中真实编码区的局限性。bioperl关于执行序列的翻译可以很简单的完成这些任务的第一步。任何不是蛋白质字母表的序列对象,都可以通过返回一个蛋白序列对象的方法被翻译: $translation1 = $my_seq_object->translate;然而,翻译方法也可以通过传递许多可选参数来改变作用。例如,translate()的前两句可以用来修饰用于代表终止(default'*')和未知氨基酸('X')的参数。(正常情况下最好是左边
38、未被改变)。第三句决定翻译框。默认的框是"0"。用其他两种前移框来翻译,可以这样写: $translation2 = $my_seq_object->translate(undef,undef,1); $translation3 = $my_seq_object->translate(undef,undef,2);translate()的第四个语句使它可以选择使用遗传密码。目前有16个编码平台,包括'Vertebrate Mitochondrial', 'Bacterial', 'Alternative Yeast Nuc
39、lear' 和'Ciliate, Dasycladacean and Hexamita Nuclear' 翻译平台。这些平台在Bio:Tools:CodonTable对象中,被翻译方法所使用。例如,线粒体翻译: $human_mitochondrial_translation = $seq_obj->translate(undef,undef,undef,2);如果我们想翻译全部编码区(CDS),主要是核酸数据库EMBL、GenBank和DDBJ这样做,翻译方法不得不执行更多的技巧。特别是,'translate'需要确定序列的开头和末尾有适当的起始
40、和终止密码子,而序列内部没有终止密码子。另外,如果使用的遗传密码中有一个非典型(非ATG)起始密码子,翻译方法需要将起始氨基酸转换为亮氨酸。这些检查和转换可以通过设定翻译方法的第五句求真值而触发。如果第五句设为真而没有一个标准来找合适的CDS,默认情况下就会出现一种警告。通过设定第六句来求真值,如果发现不合适的CDS,就通知程序进行消除。例如: $protein_object = $cds->translate(undef,undef,undef,undef,1,'die_if_errors');相关细节见Bio:Tools:CodonTable manpage。III.
41、3.2获得序列的基本统计数据(SeqStats,SeqWord)为了增加Seq对象中的直接可用的方法,bioperl提供了多个帮助对象来测定一条序列更多的信息。例如,SeqStats对象提供了来获取序列的分子质量的方法,以及每种残基(核酸的碱基或蛋白质的氨基酸)的出现数量。对核酸来说,SeqStats也可以返回使用的密码子的数量统计。例如: use SeqStats; $seq_stats = Bio:Tools:SeqStats->new($seqobj); $weight = $seq_stats->get_mol_wt(); $monomer_ref = $seq_stats
42、->count_monomers(); $codon_ref = $seq_stats->count_codons(); # for nucleic acid sequence注意:有时候序列会包含模糊密码。因为这个原因,get_mol_wt()返回一个条目给一个包含分子质量的最大下限和最小上限的两个元件的队列。SeqWords对象与SeqStats相似并提供一种方法计算序列中"单词"(例如tetramers或hexamers)的出现频率。更多信息请见Bio:Tools:SeqStats manpage和Bio:Tools:SeqWords manpage。II
43、I.3.3识别限制性酶切位点(Bio:Restriction)操作核酸序列的另一个常见任务是定位限制性酶切位点。Bioperl为这个目的提供了Bio:Restriction:Enzyme,Bio:Restriction:EnzymeCollection和Bio:Restriction:Analysis对象。这些模块取代旧的模块Bio:Tools:RestrictionEnzyme. 一种新的收集酶的对象定义如下: use Bio:Restriction:EnzymeCollection; my $all_collection = Bio:Restriction:EnzymeCollection
44、;Bioperl默认的Restrcition:EnzymeCollection对象返回500多个不同的II型限制性酶的数据。用available_list()方法可以得到可用酶的列表,但这些仅是名称,不是功能对象。你也可以访问酶的子集。例如选择所有的具有6碱基长识别位点的可用酶对象,代码如下: my $six_cutter_collection = $all_collection->cutters(6); foreach my $enz ($six_cutter_collection) print $enz->name,"t",$enz->site,&qu
45、ot;t",$enz->overhang_seq,"n" # prints name, recognition site, overhang 还有一些方法也可用来选择酶对象组,如unique_cutters()和blunt_enzymes()。你也可以通过名称来选择一个酶对象,如:my $ecori_enzyme = $all_collection->get_enzyme('EcoRI');一旦选择了一个合适的酶对象,就可用fragments()方法获得给定核酸序列上的酶位点。执行这个任务的句法: use Bio:Restriction
46、:Analysis; my $analysis = Bio:Restriction:Analysis->new(-seq => $seq); # where $seq is the Bio:Seq object for the DNA to be cut fragments = $analysis->fragments($enzyme); # and fragments will be an array of strings 为了得到同裂酶,甲基化位点和微生物资源的信息,你需要从一个REBASE文件里直接创建你的EnzymeCollection,如: use Bio:Rest
47、riction:IO; my $re_io = Bio:Restriction:IO->new(-file=>$file,-format=>'withrefm'); my $rebase_collection = $re_io->read;正确格式的REBASE文件可以在ftp:/my $re = new Bio:Restriction:Enzyme(-enzyme=>'BioRI',-seq=>'GGAATTCC');更多信息请看 Bio:Restriction:Enzyme manpage, Bio:Res
48、triction:EnzymeCollection manpage, Bio:Restriction:Analysis manpage, 和 Bio:Restriction:IO manpage.III.3.4识别氨基酸裂解位点(Sigcleave)对于氨基酸序列我们有兴趣知道氨基酸序列是否包含一个可分裂的信号序列来指导细胞内蛋白质的运输。SigCleave是一个预测信号序列的程序(最初是EGCG分子生物学包的一部分),同时基于von Heijne算法识别裂解位点。初始设置可以控制分数报告。如果用户没有传递初始值,密码子默认为一个报告值3.5。SigCleave将只返回满足初始限制的分数/位置
49、信息。使用Sigcleave句法如下: # create a Seq object, for example: $seqobj = Bio:Seq->new(-seq => "AALLHHHHHHGGGGPPRTTTTTVVVVVVVVVVVVVVV"); use Bio:Tools:Sigcleave; $sigcleave_object = new Bio:Tools:Sigcleave ( -seq => $seqobj, -threshold => 3.5, -desc => 'test sigcleave protein se
50、q', -type => 'AMINO' ); %raw_results = $sigcleave_object->signals; $formatted_output = $sigcleave_object->pretty_print;注意SigCleave对象中"Type"是指"amino",而在Seq对象中它是"protein"。更多细节请看Bio:Tools:Sigcleave manpage。III.3.5显示各种复杂的序列信息:OddCodes,SeqPatternOddCodes
51、:有时候有必要显示一条氨基酸序列的各种信息,如疏水性氨基酸的位置或者是带正电的地方。Bioperl可以用Bio:Tools:OddCodes实现这个目的。例如,快速查看带电氨基酸在序列中的位置可以这样实现: use Bio:Tools:OddCodes; $oddcode_obj = Bio:Tools:OddCodes->new($amino_obj); $output = $oddcode_obj->charge();每条序列都可被转换为成一种三字母序列(A,C,N)即负电(酸性),正电(碱性)和中性氨基酸。例如ACDEFGH会成为NNAANNC。为了得到更完全的序列的化学特征
52、,可以用chemical()方法将序列转化成一种8字母的化学字母表 A (acidic), L (aliphatic), M (amide), R (aromatic), C (basic), H (hydroxyl), I (imino), S (sulfur) : $output = $oddcode_obj->chemical();在这种情况下例子序列ACDEFGH就成为LSAARAC。OddCodes也提供到字母表的翻译以显示氨基酸序列的一些特征如疏水性、“功能性”或使用Dayhoff定义来分组。详细内容见文档Bio:Tools:OddCodes manpage。SeqPatte
53、rn:SeqPattern对象使用perl正则表达式来操作序列。设计SeqPattern的目的是为了产生一条包括模糊碱基和(或)正则表达式的核酸序列模式的反转互补序列。当提交的一条序列的正义和反义链都需要模式匹配的时候,就可以用这种方法来实现。典型的SeqPattern句法如下。一些有趣的例子在examples/tools文件夹的Seq_Pattern.pl代码中可以提供更多的信息。 use Bio:Tools:SeqPattern; $pattern = '(CCCCT)N1,200(agggg)N1,200(agggg)' $pattern_obj = new Bio:To
54、ols:SeqPattern(-SEQ => $pattern, -TYPE => 'dna'); $pattern_obj2 = $pattern_obj->revcom(); $pattern_obj->revcom(1); # returns expanded rev complement pattern.更多的细节可见Bio:Tools:SeqPattern manpage。III.3.6 同等系统转换(Coordinate:Pair, RelSegment)同等系统转换是一个普通的需求,例如,当你想查看序列特征的相关位置并转换这些相关位置到分离同等通过一条染色体或一个contig。尽管同等的转换听起来很漂亮,当包括转换到同等的可能性在负链的时候或者有一个同等的系统末端因为你到达一个克隆或contig的末端。Bi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 户口注销委托书写作技巧3篇
- 工程水泵安装施工合同书2篇
- 五角度空气质量提升计划3篇
- 律师聘请委托书的写作技巧3篇
- 会议技术服务协议3篇
- 泵的智能故障诊断与预测维护考核试卷
- 桥梁工程的抗震性能评价考核试卷
- 管道工程法律法规更新与培训考核试卷
- 机械设备行业发展趋势预测考核试卷
- 礼仪用品企业市场竞争态势分析考核试卷
- 公务用车分时租赁实施方案
- 全国AEFI监测方案
- DB3301∕T 0451-2024 医学美容机构电子病历系统技术规范
- 《大国浮沉500年:经济和地理背后的世界史》记录
- 水工维护初级工技能鉴定理论考试题库(含答案)
- 运维项目进度计划
- 商场中央空调租赁协议模板
- 十八项核心制度
- 浙江省杭州市2023-2024学年六年级下学期期中模拟测试数学试卷(人教版)
- 国家开放大学《Python语言基础》实验4:条件分支结构基本应用参考答案
- OTA代运营协议文档
评论
0/150
提交评论