如何使用perl脚本批量生成反向互补序列
这篇文章将为大家详细讲解有关如何使用perl脚本批量生成反向互补序列,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
有时候我们需要得到序列的反向互补序列,可以用下面的脚本来批量处理序列。
用法:
perlfasta_Reverseplementary.pl-fainput.fa-outout.fa
input.fa是输入文件,out.fa是反向互补后的序列
输入文件格式入下所示:
>bta-26a-2GGCUGUGGCUGGAUUCAAGUAAUCCAGGAUAGGCUGUUUCCAUCUGUGAGGCCUAUUCUUGAUUACUUGUUUCUGGAGGCAGCU>bta-18bCUUGUGUUAAGGUGCAUCUAGUGCAGUUAGUGAAGCAGCUCAGAAUCUACUGCCCUAAAUGCUCCUUCUGGCACA>bta-29aAUGACUGAUUUCUUUUGGUGUUCAGAGUCAAUAUAAUUUUCUAGCACCAUCUGAAAUCGGUUAU>bta-7f-2UGUGGGAUGAGGUAGUAGAUUGUAUAGUUUUAGGGUCAUACCCCAUCUUGGAGAUAACUAUACAGUCUACUGUCUUUCCCACG
代码如下:
#!/usr/bin/perl-wusestrict;useGetopt::Long;useConfig::General;useBio::SeqIO;useBio::Seq;my$version="1.3";##prepareparameters#########################################################################-------------------------------------------------------------------------------------------##GetOptionsmy%opts;GetOptions(\%opts,"fa=s","out=s","h");if(!defined($opts{out})||!defined($opts{fa})||defined($opts{h})){print<<"UsageEnd.";UsageForcedparameter:-outoutfile<outfile>mustbegiven-fafastafile<infile>mustbegivenOtherparameter:-hHelpdocumentUsageEnd.exit;}my$in=Bio::SeqIO->new(-file=>"$opts{fa}",-format=>'Fasta');open(OUT,">$opts{out}")||die"openfile$opts{out}faild.\n";while(my$seq=$in->next_seq()){my($id,$sequence)=($seq->id,$seq->seq);$sequence=&reverseplement_IUPAC($sequence);printOUT">$id\n$sequence\n";}subreverseplement_IUPAC{my$dna=shift;#reversetheDNAsequencemy$rep=reverse($dna);# plementthereversedDNAsequence$rep=~tr/ABCDGHMNRSTUVWXYabcdghmnrstuvwxy/TVGHCDKNYSAABWXRtvghcdknysaabwxr/;return$rep;}subreverseplement{my$dna=shift;#reversetheDNAsequencemy$rep=reverse($dna);# plementthereversedDNAsequence$rep=~tr/ACGTacgt/TGCAtgca/;return$rep;}
关于“如何使用perl脚本批量生成反向互补序列”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
上一篇:perl如何处理文件路径
下一篇:perl如何从数组随机抽取元素
webacc.exe是什么文件?webacc.exe是不是病毒
WINSYS.vbs是什么文件?WINSYS.vbs是不是病毒
winssh.exe是什么文件?winssh.exe是不是病毒
wt.exe是什么文件?wt.exe是不是病毒
winsysetm.exe是什么文件?winsysetm.exe是不是病毒
winstrve.exe是什么文件?winstrve.exe是不是病毒
winsysupd7.exe是什么文件?winsysupd7.exe是不是病毒
winsysupd.exe是什么文件?winsysupd.exe是不是病毒
winsysupd2.exe是什么文件?winsysupd2.exe是不是病毒
winsysupd8.exe是什么文件?winsysupd8.exe是不是病毒