
求生物信息学相关的 应用Perl 语言的 简单案例
1个回答
展开全部
这是我刚开始学习perl的时候写的一个应用bioperl做本地blast的脚本,希望有点帮助
#!/usr/bin/perl -w
use strict;
use Bio::SearchIO;
use Bio::Tools::Run::StandAloneBlast;
my $filein=shift;
open OUT,">test.out" or die "$!";
my @para=(program=>'blastn',database=>"hg18/chr1.fa",expect=>1e-10);
my $blast=Bio::Tools::Run::StandAloneBlast->new(@para);
my $str = Bio::SeqIO->new(-file=>$filein,-format =>'fasta');
while (my $input = $str->next_seq())
{
my $id=$input->display_id();
my $len=$input->length();
my $report=$blast->blastall($input);
#print "$report\n";
while(my $result=$report->next_result)
{
while(my $hit = $result->next_hit)
{
while(my $hsp = $hit->next_hsp)
{
next if($hsp->percent_identity<85);
next if($hsp->length('total')<300);
#next if($hsp->hit->strand eq $hsp->query->strand);
print OUT $id,"\t",$hit->name,"\t",$hsp->length('total'),"\t",$hsp->hit->strand,"/",$hsp->query->strand,"\t",$hsp->hit->start,"\t",$hsp->hit->end,"\t",$hsp->query->start,"\t",$hsp->query->end,"\t",$hsp->percent_identity,"\t",$hsp->evalue,"\n";
}
}
}
}
close OUT;
#!/usr/bin/perl -w
use strict;
use Bio::SearchIO;
use Bio::Tools::Run::StandAloneBlast;
my $filein=shift;
open OUT,">test.out" or die "$!";
my @para=(program=>'blastn',database=>"hg18/chr1.fa",expect=>1e-10);
my $blast=Bio::Tools::Run::StandAloneBlast->new(@para);
my $str = Bio::SeqIO->new(-file=>$filein,-format =>'fasta');
while (my $input = $str->next_seq())
{
my $id=$input->display_id();
my $len=$input->length();
my $report=$blast->blastall($input);
#print "$report\n";
while(my $result=$report->next_result)
{
while(my $hit = $result->next_hit)
{
while(my $hsp = $hit->next_hsp)
{
next if($hsp->percent_identity<85);
next if($hsp->length('total')<300);
#next if($hsp->hit->strand eq $hsp->query->strand);
print OUT $id,"\t",$hit->name,"\t",$hsp->length('total'),"\t",$hsp->hit->strand,"/",$hsp->query->strand,"\t",$hsp->hit->start,"\t",$hsp->hit->end,"\t",$hsp->query->start,"\t",$hsp->query->end,"\t",$hsp->percent_identity,"\t",$hsp->evalue,"\n";
}
}
}
}
close OUT;

2025-03-06 广告
动物行为学研究的对象包括动物的沟通行为、情绪表达、社交行为、学习行为、繁殖行为等。 由于动物行为学对于动物学习和认知等方面的研究,以及与神经科学的相关性,它对心理学、教育学等学科产生一定的影响。吉安得尔是微循环与微血管研究系统、动物精细表型...
点击进入详情页
本回答由吉安得尔科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询