Hi,
Greetings!
I have one query regarding HSP tiling. I want to parse tblastn output to merge all overlapping HSPs and also non-overlaping HSP with some distance cutoff and would like to get every possible statics which blast tabular format provides.
What i have written untill now. but i dont have much experience with Bioperl blast tiling. Could you please help me with the same?
use Bio::SearchIO;
use Bio::Search::Tiling::MapTiling;
use Bio::Search::Tiling::TilingI;
open (FH,">trial_output.txt");
my $in = new Bio::SearchIO(-format => 'blast',
-file => 'output.tblastn');
while( my $result = $in->next_result ) {
## $result is a Bio::Search::Result::ResultI compliant object
while( my $hit = $result->next_hit ) {
## $hit is a Bio::Search::Hit::HitI compliant object
$tiling = Bio::Search::Tiling::MapTiling->new($hit);
my $ident = $tiling->identities('query','exact');
$query_length = $tiling->length('query');
#print $query_length."\t";
#print $ident."\t";
#print $result-> query_name,"\t";
my @contexts = $tiling->contexts('query');
my $best_context = pop @contexts;
my $max_frac = $tiling->frac_conserved(-type=>'query',
-action=>'exact',
-context=>$best_context);
my $max_identical = $tiling->frac_identical(-type=>'query',
-action=>'exact',
-context=>$best_context);
my $range = $tiling->range('query',$best_context);
#@alns = $tiling->get_tiled_alns('query', $best_context);
my @map = $tiling->coverage_map_as_text('query', $best_context);
foreach $m (@map)
{
print $m."\t";
}
print $max_frac."\t".$max_identical."\t".$range."\n";
}
}
Best,
Sweta
Greetings!
I have one query regarding HSP tiling. I want to parse tblastn output to merge all overlapping HSPs and also non-overlaping HSP with some distance cutoff and would like to get every possible statics which blast tabular format provides.
What i have written untill now. but i dont have much experience with Bioperl blast tiling. Could you please help me with the same?
use Bio::SearchIO;
use Bio::Search::Tiling::MapTiling;
use Bio::Search::Tiling::TilingI;
open (FH,">trial_output.txt");
my $in = new Bio::SearchIO(-format => 'blast',
-file => 'output.tblastn');
while( my $result = $in->next_result ) {
## $result is a Bio::Search::Result::ResultI compliant object
while( my $hit = $result->next_hit ) {
## $hit is a Bio::Search::Hit::HitI compliant object
$tiling = Bio::Search::Tiling::MapTiling->new($hit);
my $ident = $tiling->identities('query','exact');
$query_length = $tiling->length('query');
#print $query_length."\t";
#print $ident."\t";
#print $result-> query_name,"\t";
my @contexts = $tiling->contexts('query');
my $best_context = pop @contexts;
my $max_frac = $tiling->frac_conserved(-type=>'query',
-action=>'exact',
-context=>$best_context);
my $max_identical = $tiling->frac_identical(-type=>'query',
-action=>'exact',
-context=>$best_context);
my $range = $tiling->range('query',$best_context);
#@alns = $tiling->get_tiled_alns('query', $best_context);
my @map = $tiling->coverage_map_as_text('query', $best_context);
foreach $m (@map)
{
print $m."\t";
}
print $max_frac."\t".$max_identical."\t".$range."\n";
}
}
Best,
Sweta