Hello Tyler--

> 
> I am using xplor-NIH 3.9 with talosn and ccpnmr to calculate NMR
> structures. I am working on two data sets, one of which (50 amino
> acids) calculates to completion, and the other (104 amino acids)
> continually crashes after calculating the 310th structure. I am
> running these calculations on an intel i9-14900K processor with an
> Nvidia RTX 4080 with 64 GB of RAM. Please see the error output
> below:  
> 
> pass2.py(400):     pass
> StructureLoop: calculating structure 311
> pass2.py(325):     from monteCarlo import randomizeTorsions
> pass2.py(326):     randomizeTorsions(dyn)
> pass2.py(330):     from torsionTools import setTorsionsFromTable
> pass2.py(331):     setTorsionsFromTable( dihed.restraintString )
> pass2.py(332):     pass
> pass2.py(334):     protocol.fixupCovalentGeom(maxIters=100,useVDW=1)
> MMapAlloc::alloc: mmap failed with Cannot allocate memory

It seems to be an out-of-memory issue in pass2, so the remainder
doesn't work. I wonder how much memory is actually available. Please try:

  free -g

before running the script.

There may (probably is) a memory leak causing memory to slowly
fill. For now, here's a workaround for you:

After a crash, you can rerun the pass2 phase with a slightly modified
pass2 script, adding one argument to the processStructurePass call at
the bottom of the script: calcMissingStructs=True. I.e., change

processStructurePass(pasdTerms,
                          filenames=[structTemplate.replace("STRUCTURE",
                                                            str(key)) for
                                     key in sl.sharedData.keys()],
                          inPassName="pass2",
                          outPassName="pass3",
                          refStructFilename=refFilename,
                          highLikelihoodCutoff=highLikelihoodCutoff,
                          violCutoff=0.5)


to

processStructurePass(pasdTerms,
                          filenames=[structTemplate.replace("STRUCTURE",
                                                            str(key)) for
                                     key in sl.sharedData.keys()],
                          inPassName="pass2",
                          outPassName="pass3",
                          refStructFilename=refFilename,
                          highLikelihoodCutoff=highLikelihoodCutoff,
                          calcMissing=True,
                          violCutoff=0.5)


This way, structures which have already been calculated need not be
recalculated, and pass2 should complete. You may have to do something
similar for pass3, but maybe not.

One more hint: at the top of the script you use to run the procedure,
you might place:

SMP_PROCESSES=N
export SMP_PROCESSES

(or do this before running the pasd script (or the xplor command
directly), where N is a number greater than 1 specifying the number of
cores to run on. I bet your computer has more than 1 core.

Please let me know how it goes.

Charles

########################################################################

To unsubscribe from the XPLOR-NIH list, click the following link:
http://list.nih.gov/cgi-bin/wa.exe?SUBED1=XPLOR-NIH&A=1

Reply via email to