Hi,
I'm trying to run a simple protocol from a perl script. If I run my scripts from within Discovery Studio, these scripts work fine. I'm having trouble when I try to to run these under linux using perl (i.e. from the command-line). The scripts fail to establish a connection to the pipeline pilot server.
Here's my script:
#!/usr/bin/env perl
use strict;
use DSCommands;
use VisProtocolCommands;
use Getopt::Std;
my %options=();
getopts("p:", \%options);
my \$pdbfile = 0;
if (\$options{p}) {
\$pdbfile = \$options{p};
} else {
die "usage: -p pdbfile\n";
}
my \$parameterMap = Protocol::ParameterMap::Create();
my \$server = "localhost:9943";
\$parameterMap->AddItem("Input Protein", \$pdbfile);
my \$runpath = LaunchProtocol("Protein Preparation", \$parameterMap, \$server);
print "\$pdbfile\n";
======================
Here's my output:
/opt/software/DiscoveryStudio40/bin/perl.sh proteinPrep.pl -p ~/mypdb.pdb
Connecting to server...
Warning: Failed to establish a connection with host localhost:9943. Please select another Pipeline Pilot Server to connect to.
at VisProtocolCommands.pm line 71 in static function call Create
No server connection.
mypdb.pdb
===============================
Are there any environment parameters that I need to set, such as the location of the license file? Here's the environment variables that I have set currently:
export ACCELRYS_LICENSE_USERNAME=\$USER
export ACCELRYS_LICENSE_PLATFORM="linux"
export AccelrysRoot=/opt/software/DiscoveryStudio40
export ACCELRYS_ROOT=\$AccelrysRoot
export LD_LIBRARY_PATH=\$AccelrysRoot/lib:\$LD_LIBRARY_PATH
export PERL5LIB=\$AccelrysRoot/lib/vendor_perl/5.8.9:\$AccelrysRoot/bin:\$AccelrysRoot/lib/5.8.9:\$PERL5LIB
export PERL5LIB=\$scriptsDir/DStudio:\$PERL5LIB
export PATH=\$AccelrysRoot/bin:\$PATH
Thanks.