[Bioperl-l] alignment by TCoffee as a subroutine

Sendu Bala bix at sendu.me.uk
Wed Apr 30 11:28:50 EDT 2008

sergei ryazansky wrote:
> Hi Albert,
> The isolated call is executed without any problem, so the code is 
> absolutely correct. The problem arise when this sub executed within the 
> whole script - after successful execution of TCoffee alignment the 
> execution of the rest of script is terminated. The whole code is very 
> big (~500 lines), so for simplicity lets imagine the sheme of script in 
> the following view:
> sub1;
> sub2;
> sub3;
> sub align;  # TCoffe alignment;
> sub4;
> sub5;
> Each sub (subroutine) is independent from the others subs; The order of 
> script execution is 1,2,3,align,4,5. But after the execution of align 
> the execution of the rest of subs (4 and 5) is terminated. The script 
> without sub align {} successfully execute the sub 4 and sub 5. So, I 
> mean that interpreter won't compile sub 4 and 5 if sub align is placed 
> before them.

This has nothing to do with interpreter compilation, which is successful 
if the script runs at all.

What do you do with the output of &align? The thing you are doing with 
that output is most likely the cause of your script terminating, which 
is why &sub4 and &sub5 run when you don't run &align (have no output 
that causes the problem).

If you're not willing to show us your script, here are some simple 
debugging steps you can do yourself:

# don't do anything with the output of align() - does &sub4 still run?

# add some print statements after you call align(), and then after every 
further block of code in your script to see exactly where the script 

# reduce your script down to a minimal script that shows the problem 
(with the help of the previous step) and show us that

More information about the Bioperl-l mailing list