bioinformatics perl useful

BLAST

use Bio::SearchIO;
my $searchio=Bio::SearchIO->new(-file=>$file_blast,-format=>'blast');
while( my $result = $searchio->next_result ) {
  my $qid = $result->query_name();
  my $qlen= $result->query_length();
  my $did = $result->database_name();
  while( my $hit = $result->next_hit ) {
    my $hit_name = $hit->name();
    my $hit_len = $hit->length;
    while( my $hsp = $hit->next_hsp ) {
      my $qs=$hsp->start('query');
      my $qe=$hsp->end('query');
      my $ds=$hsp->start('subject');
      my $de=$hsp->end('subject');
    }#hsp
  }#hit
}#result



FASTA

use Bio::SeqIO;
my $in=Bio::SeqIO->new(-file=>$fa_add,-format=>'fasta');
while(my $s=$in->next_seq){
  my $id=$s->id;
  my $seq=$s->seq;
}



GFF3

my($seqid,$source,$type,$start,$end,$score,$strand,$phase,$attribute)=split /\t/;


Pfam

my($seqid,$alignment_start,$alignment_end,$envelope_start,$envelope_end,$hmm_acc,$hmm_name,$type,$hmm_start,$hmm_end,$hmm_length,$bit_score,$evalue,$significance,$clan)=split /\s+/;


mumer

my %aln;

  open(F,'<',$file_nucmer) or die("$!: $file_nucmer\n");
  while (<F>) {
    next unless(m/^\d+/);
    chomp;
    my($start1,$end1,$start2,$end2,$len1,$len2,$identity,$length_reference,$length_query,$coverage_reference,$coverage_query,$id_reference,$id_query)=split /\t/;
    push(@{$aln{$id_reference}},[$start1,$end1,$start2,$end2,$len1,$len2,$identity,$length_reference,$length_query,$coverage_reference,$coverage_query,$id_reference,$id_query]);
  }
  close(F);



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值