Hi Cristian, I've had some issues recently too with software on nmrbox. In my case cyana... (am I allowed to say cyana on this list? ;)) Anyway I've noticed that the more newly updated nmrbox servers will not run certain aspects of cyana while the old servers still work ok. So I suggest you try an old server and see if your problem goes away. Try lts2021-33.nmrbox.org? If the problem goes away but persists on the newer system you have the error on you can contact the nmrbox people about it. Or let me know and I can help you elevate it to their attention - I need to do this for cyana anyway. My guess is a legacy library that got updated and no longer works the way the old compiled versions of these software expect.
Scott On Tue, Jul 5, 2022 at 6:49 PM Cristian E. < [email protected]> wrote: > Hi, > > I have been using a script to refine a NMR structure using NOEs, RDCs, > SAXS and other data without problems until recently. Now, the same script > results in a Segmentation fault (core dumped) error. After doing some > trouble shooting, I noticed that the program runs fine when I remove the > RDC part in the script, but I don't know what the issue is. I use Xplor-NIH > in NMRBOX. Here is the code and the last lines in the output. > > Thanks for the help, > > Cristian > > ########################################################################### > > import psfGen > > outfilename = 'SCRIPT_STRUCTURE.pdb' > > > import protocol > > protocol.initRandomSeed(3422) # by specific seed number > > > # Load paramaters. > > protocol.initParams(files=['nucleic']) > > psfGen.pdbToPSF(pdb_filename) > protocol.initCoords(pdb_filename) > xplor.simulation.deleteAtoms("not known") > > > from potList import PotList > potList = PotList() > crossTerms = PotList() > > > from simulationTools import StaticRamp, MultRamp, InitialParams, AnnealIVM > > highTempParams = [] > rampedParams = [] > > # > # Set up distance restraint potential > # > import noePotTools > noe = PotList('noe') > for (name, scale, table) in [('all', 1, noe_tbl), > ]: > pot = noePotTools.create_NOEPot(name, table) > > pot.setScale(scale) > noe.append(pot) > potList.append(noe) > rampedParams.append(MultRamp(2, 50, "noe.setScale( VALUE )")) > > > import xplorPot > > # Set up dihedral angles > protocol.initDihedrals(dihedral_tbl, > #useDefaults=False # by default, symmetric > sidechain > # restraints are included > ) > potList.append( xplorPot.XplorPot('CDIH') ) > highTempParams.append( StaticRamp("potList['CDIH'].setScale(10)") ) > rampedParams.append( StaticRamp("potList['CDIH'].setScale(200)") ) > > # > # Set up potential for base-pair planarity restraints. > # > protocol.initPlanarity(plane_tbl) > potList.append(xplorPot.XplorPot('PLAN')) > > > # Set up statistical torsion angle potential (torsionDB). > # > import torsionDBPotTools > torsiondb = > torsionDBPotTools.create_TorsionDBPot(name='torsiondb',system='rna') > potList.append(torsiondb) > rampedParams.append(MultRamp(0.5, 4, "torsiondb.setScale(VALUE)")) > > > # Setup parameters for atom-atom repulsive term (van der Waals-like term). > # > from repelPotTools import create_RepelPot,initRepel > repel = create_RepelPot('repel') > potList.append(repel) > rampedParams.append( StaticRamp("initRepel(repel,use14=False)") ) > rampedParams.append( MultRamp(.004, 4, "repel.setScale( VALUE)") ) > # nonbonded interaction only between C1' atoms > highTempParams.append( StaticRamp("""initRepel(repel, > use14=True, > scale=0.004, > repel=1.2, > moveTol=45, > interactingAtoms="name C1'" > )""") ) > > > # Selected 1-4 interactions. > > import torsionDBPotTools > repel14 = torsionDBPotTools.create_Terminal14Pot('repel14') > potList.append(repel14) > highTempParams.append(StaticRamp("repel14.setScale(0)")) > rampedParams.append(MultRamp(0.004, 4, "repel14.setScale(VALUE)")) > > # Set up bond length potential. > > potList.append(xplorPot.XplorPot('BOND')) > # (The setup of this term remains unchanged throughout; no need to involve > # highTempParams and/or rampedParams.) > > > # > # Set up bond angle potential. > > potList.append(xplorPot.XplorPot('ANGL')) > rampedParams.append(MultRamp(0.4, 1.0, "potList['ANGL'].setScale(VALUE)")) > > # > # Set up improper dihedral angle potential. > > potList.append(xplorPot.XplorPot('IMPR')) > rampedParams.append(MultRamp(0.1, 1.0, "potList['IMPR'].setScale(VALUE)")) > > ###RDC > > from varTensorTools import create_VarTensor > from rdcPotTools import create_RDCPot, scale_toNH > from varTensorTools import calcTensorOrientation, calcTensor > > media={} > > for medium, Da, Rh in tensor_list: > #print(medium,Da, Rh, tensor_list) > oTensor = create_VarTensor(medium) > oTensor.setDa(Da) > oTensor.setRh(Rh) > oTensor.setFreedom ("varyDa, varyRh" ) > #oTensor.setFreedom ("fixDa, fixRh" ) > media[medium] = oTensor > > highTempParams.append(StaticRamp(""" > for medium in media.values(): > calcTensorOrientation(medium) > """) ) > > > rdcs = PotList('rdc') > > for medium, expt, rdc_file, scale in rdc_exp_list: > #print(experiments_list, medium, expt, rdc_file, scale, > media_dictionary) > rdc = create_RDCPot("%s_%s"%(medium,expt), file=rdc_file, > oTensor=media[medium]) > > #rdc.setScale(scale) > scale_toNH(rdc) > rdc.setShowAllRestraints(1) #all restraints are printed during analysis > rdc.setThreshold(1.5) # in Hz > rdcs.append(rdc) > > > potList.append(rdcs) > rampedParams.append( MultRamp(0.01,1, "rdcs.setScale( VALUE )") ) > > ### SAXS term ########### > > #from solnXRayPotTools import create_solnXRayPot > import solnXRayPotTools > > > xray=solnXRayPotTools.create_solnXRayPot('xray', > experiment=saxs_data, #data file with columns q, > I, err > numPoints=100, #specifies the number of datapoints > to sample > normalizeIndex=-3, #specifies which grid point to > use to normalize data. -3 specifies normalization which minimizes the Chi^2 > value. > preweighted=False) > > xrayCorrect=solnXRayPotTools.create_solnXRayPot('xray-c', > experiment=saxs_data, > numPoints=100, #should be the same as > 'xray' > normalizeIndex=-3, > preweighted=False) > > > solnXRayPotTools.useGlobs(xray) #uses atom globbing aproximation > > xray.setNumAngles(100) #number of angles in solid angle averaging > > xrayCorrect.setNumAngles(500) # use a large number for correction term > > xray.setScale(50) #restrint weight value > > xray.setCmpType("plain") #'plain' > > potList.append(xray) #add to potlist energy terms > > crossTerms.append(xrayCorrect) > > > from solnScatPotTools import fitParams > > rampedParams.append( > StaticRamp( > "fitParams(xrayCorrect);xray.calcGlobCorrect(xrayCorrect.calcd())", > stride=100)) > > > # Give atoms uniform weights, except for anisotropy axes (if any). > # > protocol.massSetup() > > # > # Set up IVM object(s). > # > # IVM object for torsion-angle dynamics/minimization. > import ivm > dyn = ivm.IVM() > > protocol.torsionTopology(dyn, flexRiboseRing='resid 1:24') > > ### Optional IVM object for final Cartesian minimization. > minc = ivm.IVM() > protocol.cartesianTopology(minc) > > # > # Temperature set up. > # > temp_ini = 3000.0 # initial temperature > temp_fin = 25.0 # final temperature > > > def calcOneStructure(loopInfo): > """Calculate a structure. > > """ > > # Fix up covalent geometry. > # (The torsion restraints may include ring torsions and distort > geometry.) > while True: > try: > protocol.fixupCovalentGeom(maxIters=100, useVDW=1) > break > except protocol.CovalentViolation: > pass > > # > # High Temperature Dynamics Stage. > # > > # Initialize parameters for high temperature dynamics. > InitialParams(rampedParams) > InitialParams(highTempParams) # purposedly overides some > # setups in rampedParams > > # Set up IVM object and run. > protocol.initDynamics(dyn, > potList=potList, > bathTemp=temp_ini, > initVelocities=1, > finalTime=15, # run for finalTime or > numSteps=15001, # numSteps * 0.001, whichever is > less > printInterval=100) > > dyn.setETolerance(temp_ini/100) # used to find stepsize (default: > temp/1000) > > dyn.run() > > # > # Simulated Annealing Stage. > # > > # Initialize parameters for annealing. > InitialParams(rampedParams) > > # Set up IVM object for annealing. > protocol.initDynamics(dyn, > potList=potList, > finalTime=0.63, # run for finalTime or > numSteps=631, # numSteps * 0.001, whichever is > less > printInterval=100) > > # Set up cooling loop and run. > AnnealIVM(initTemp=temp_ini, > finalTemp=temp_fin, > tempStep=12.5, > ivm=dyn, > rampedParams=rampedParams).run() > > # > # Torsion angle minimization. > # > protocol.initMinimize(dyn, > potList=potList, > printInterval=50) > dyn.run() > > # > # Cartesian minimization (optional). > # > protocol.initMinimize(minc, > potList=potList, > dEPred=10) > minc.run() > > > from simulationTools import StructureLoop > StructureLoop(numStructures=nstructures, > #pdbFilesIn=infilename, > pdbTemplate=outfilename, > doWriteStructures=True, > structLoopAction=calcOneStructure, > # Arguments for generating structure statistics: > genViolationStats=True, > averageSortPots=[potList['noe'], # terms for structure > sorting > potList['PLAN'], > potList['xray'], > potList['CDIH'], > potList['rdc']], > averageTopFraction=FRACTION, # top fraction of structs. to > report on > averageFilename="SCRIPT_ave.pdb", > averagePotList=potList, # terms analyzed > averageFitSel='not (name H* or resname ANI)', # selection to > fit > ).run() # to average > struct. > # and report > precision > > > ################################################################# > > Log: > > GU12_ref_RDC_SAXS.py(373): StructureLoop(numStructures=nstructures, > StructureLoop: calculating structure 0 > GU12_ref_RDC_SAXS.py(306): try: > GU12_ref_RDC_SAXS.py(307): > protocol.fixupCovalentGeom(maxIters=100, useVDW=1) > [stdin](1): xplor.execfile('GU12_ref_RDC_SAXS.py') > [stdin](1): xplor.execfile('GU12_ref_RDC_SAXS.py') > [stdin](1): xplor.execfile('GU12_ref_RDC_SAXS.py') > [stdin](1): xplor.execfile('GU12_ref_RDC_SAXS.py') > [stdin](1): xplor.execfile('GU12_ref_RDC_SAXS.py') > [stdin](1): xplor.execfile('GU12_ref_RDC_SAXS.py') > [stdin](1): xplor.execfile('GU12_ref_RDC_SAXS.py') > [stdin](1): xplor.execfile('GU12_ref_RDC_SAXS.py') > [stdin](1): xplor.execfile('GU12_ref_RDC_SAXS.py') > [stdin](1): xplor.execfile('GU12_ref_RDC_SAXS.py') > [stdin](1): xplor.execfile('GU12_ref_RDC_SAXS.py') > [stdin](1): xplor.execfile('GU12_ref_RDC_SAXS.py') > [stdin](1): xplor.execfile('GU12_ref_RDC_SAXS.py') > [stdin](1): xplor.execfile('GU12_ref_RDC_SAXS.py') > [stdin](1): xplor.execfile('GU12_ref_RDC_SAXS.py') > [stdin](1): xplor.execfile('GU12_ref_RDC_SAXS.py') > [stdin](1): xplor.execfile('GU12_ref_RDC_SAXS.py') > [stdin](1): xplor.execfile('GU12_ref_RDC_SAXS.py') > [stdin](1): xplor.execfile('GU12_ref_RDC_SAXS.py') > [stdin](1): xplor.execfile('GU12_ref_RDC_SAXS.py') > [stdin](1): xplor.execfile('GU12_ref_RDC_SAXS.py') > [stdin](1): xplor.execfile('GU12_ref_RDC_SAXS.py') > [stdin](1): xplor.execfile('GU12_ref_RDC_SAXS.py') > [stdin](1): xplor.execfile('GU12_ref_RDC_SAXS.py') > GU12_ref_RDC_SAXS.py(308): break > GU12_ref_RDC_SAXS.py(317): InitialParams(rampedParams) > [stdin](1): xplor.execfile('GU12_ref_RDC_SAXS.py') > [stdin](1): xplor.execfile('GU12_ref_RDC_SAXS.py') > [stdin](1): xplor.execfile('GU12_ref_RDC_SAXS.py') > [stdin](1): xplor.execfile('GU12_ref_RDC_SAXS.py') > Segmentation fault (core dumped) > > ######################################################################## > > To unsubscribe from the XPLOR-NIH list, click the following link: > Bad URL Removed - see why - > https://ees.sps.nih.gov/services/Pages/Anti-Virus.aspx?SUBED1=XPLOR-NIH&A=1 > -- ------------------------ Scott A. Robson ######################################################################## To unsubscribe from the XPLOR-NIH list, click the following link: http://list.nih.gov/cgi-bin/wa.exe?SUBED1=XPLOR-NIH&A=1
