Does zalign use any ENV values?

I'm trying to get I-TASSER to work with SGE, since we don't have PBS. It is mostly working except that zalign simply won't work when run from an SGE queue, and my best guess as to why is that it uses implicitly or explicitly some environment variable that isn't set by SGE. Since the source for zalign isn't available it is a little hard for the end user to determine what this environmental factor might be.

To figure this out a bunch of debug statements were put into the PPAS perl script (as generated from the runI-TASSER.pl script), and that script was run either interactively or via qsub . The contents of in.dd and the working directory
(here /tmp/mathog/PPAS_spu_000100.1_on_compute-0-21.local) in general were identical in both cases (by md5sum hashes) yet at

`./zalign`

the interactive variant ran correctly, producing an rst.dat file, whereas no such file was produced when run with qsub (it exited very quickly, with no error messages), which shortly thereafter resulted in a divide by zero at the 2nd line below:

$N_hit=$i;
$v3_a/=$N_hit;

in the PPAS perl script because $i was never incremented. The open() statement a few lines above this does not have an "or die", so even though the file is not present, the while() executes - sort of.

As another control, after a failed qsub run an interactive session was "cd" to that directory and

./zalign

entered on the command line. It worked with no issues. This is yet another indication that there is nothing wrong with the directory structure or files present, but rather that some environmental factor accounts for the difference in how zalign behaves.

This is quite strange because all sorts of other programs run just fine from qsub, so there is something specific that zalign wants and isn't getting. The perl script sets two environmental variables, but it does that the same for both run modes, so it is hard to see how that could be the issue.

Suggestions???

Thanks.