[Bioperl-l] alignment by TCoffee as a subroutine

sergei ryazansky dr.hogart at gmail.com
Wed Apr 30 09:36:58 EDT 2008

On Wed, 30 Apr 2008 16:47:17 +0400, Sendu Bala <bix at sendu.me.uk> wrote:

> sergei ryazansky wrote:
>> My subroutine is following:
>>  sub align {
>>     my $file=shift @_;
>>     my @params = ('ktuple' => 2,'matrix' => 'BLOSUM', 'output' =>  
>> 'fasta', 'outfile' => 'temp_align.out');
>>     my $factory = Bio::Tools::Run::Alignment::TCoffee->new(@params);
>>     my $aln=$factory->align ($file);
>>     open (fy,'temp_align.out'); my @temp_file=<fy>; close fy;
>>     return @temp_file;
>> }
>>  This subroutine is called by the following command:
>>  my @align_fa = align($inputfile_align);
>>  After successful execution of this subroutine (accompaning with the  
>> corresponding messages on the terminal window) the execution of  
>> remainder script is terminated without any error messages.
> The problem lies somewhere within the rest of your script, so we have to  
> see it if you want help.
> Why are you using Bio::Tools::Run::Alignment::TCoffee at all if you  
> don't make use of the resulting alignment object? A system call might  
> make more sense given what you're doing. The beauty of  
> Bio::Tools::Run::Alignment::TCoffee is that you don't have to parse the  
> result file (temp_align.out) yourself.

The rest of script,imho, is ok, because without this sub it is work fine.  
May be problem lies into the TCoffee itself?

One of the feature of script is to estimate the quantity of nt changes in  
each position in the different similar sequences in comparing with  
consensus sequences. To perform this it is nesseccary to obtain the  
multiply alignment: the result of TCoffee alignment goes to another  
subroutine, that estemated the level of changes. Of course, I dont think  
that this way is the best approach, most probably there are a lot of the  
better ways to do it. But for my today purposes it is ok.


More information about the Bioperl-l mailing list