Hi,

I know there have been a million different and redundant questions asked concerning parallel jobs using modeller. However, after thoroughly reading through most of them (and the manual pages concerning parallel jobs) I still cannot run a modeller parallel job.

I understand that in order to run parallel modeller one has to have the python2.3 modules.

I have installed Python2.3.6 as an alternative install on my RHEL machine (the default Python for my machine is 2.7.5). However even after installing Python2.3.6 I still get the same error (no module named socket, although Python2.3.6 has the socket module --python2.7.5 does not--).

Adding a shebang with the python2.3 location in the beginning of the input changes nothing.

Here is my input:


from modeller import *
from modeller.automodel import *
from modeller.parallel import *


# Use 4 CPUs in a parallel job on this machine
j = job()
j.append(local_slave())
j.append(local_slave())
j.append(local_slave())
j.append(local_slave())



log.verbose()
env = environ()

env.io.atom_files_directory = ['.', './template_struc']

# Create a new class based on 'loopmodel' so that we can redefine
# select_loop_atoms
class MyLoop(dopehr_loopmodel):
    # This routine picks the residues to be refined by loop modeling
    def select_loop_atoms(self):
        # Two residue ranges (both will be refined simultaneously)
        return selection(self.residue_range('278:', '284:'))

a = MyLoop(env,
           alnfile  = 'alignment.ali',      # alignment filename
           knowns   = '2cjf_0',               # codes of the templates
           sequence = '2cjf',               # code of the target
           loop_assess_methods=assess.DOPE) # assess each loop with DOPE

a.starting_model= 1                 # index of the first model
a.ending_model  = 1                # index of the last model

a.loop.starting_model = 1           # First loop model
a.loop.ending_model   = 1000           # Last loop model
a.loop.assess_methods=(assess.DOPE, assess.GA341, assess.normalized_dope)

a.use_parallel_job(j)               # Use the job for model building


a.make()                            # do modeling and loop refinement


And here is my error:

Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
'import site' failed; use -v for traceback
Traceback (most recent call last):
  File "backup.py", line 4, in ?
    from modeller.parallel import *
  File "/usr/lib/modeller9.15/modlib/modeller/parallel/__init__.py", line 1, in ?
    from modeller.parallel.job import job
  File "/usr/lib/modeller9.15/modlib/modeller/parallel/job.py", line 1, in ?
    import socket, random, os, select
ImportError: No module named socket