[Bioperl-l] alignment by TCoffee as a subroutine

Sebastien MORETTI Sebastien.Moretti at unil.ch
Wed Apr 30 10:06:28 EDT 2008

>>> 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.

Do you have tried to use the tcoffee command, called via bioperl, as a 
command line ?
To check if it is a problem with tcoffee or with the tcoffee release 
that bioperl must use.

Sébastien Moretti

More information about the Bioperl-l mailing list