Using POKY to generate 3D Structures based on the Resonance Assignments of a 2D NOESY

18 views
Skip to first unread message

Molly Weber

unread,
Oct 30, 2025, 7:09:34 PMOct 30
to NMR POKY/SPARKY USER GROUP
Hello, 

We are wondering if it would be possible to generate a 3D DNA structure based off the NOE constraints and resonance assignments in POKY. If so, how would we go about this? Would it be the same principles as for secondary structures of proteins?

All the best, 
Molly

Lee, Woonghee

unread,
Oct 30, 2025, 7:22:45 PMOct 30
to Molly Weber, NMR POKY/SPARKY USER GROUP
Hi,

Generate noe.tbl restraints using “xf”, then you can run XPLOR-NIH.
I asked Gemini to create Xplor-NIH. If you work in NMRbox, it will be seamless.

# --- Updated User-Defined Variables ---
# The DNA sequence (A, C, G, T) is represented by three-letter codes: ADE, CYT, GUA, THY.
seq = "GUA GUA CYT THY ADE THY CYT ADE ADE GUA GUA"
mol_type = "dna"

# --- Potential Definition: NOE Restraints ---
# Note: Spaces are used instead of newlines for separation.
noeTerm = (
    'from noePotTools import create_NOEPot; '
    'noe = create_NOEPot("noe", "noe.tbl"); '
    'noe.setPotType("soft"); '
    'potList.append(noe); '
    'rampedParams.append(MultRamp(2.0,30.0, "noe.setScale( VALUE )")); '
)

# --- Xplor-NIH Protocol Construction (Flat String) ---
# The f-string now uses the concrete values for seq and mol_type.

xplor_protocol_flat = (
    # 1. Initialization and Topology
    'import protocol; '
    'protocol.initRandomSeed(3421); '
    'protocol.initTopology("nucleic-3.1"); '
    'protocol.initParams("nucleic-3.1"); '
    'import psfGen; '
    f'psfGen.seqToPSF("{seq}", seqType="{mol_type}"); ' # <-- Updated with seq and mol_type
    'protocol.genExtendedStructure(); '
    'from simulationTools import StaticRamp, MultRamp, InitialParams, AnnealIVM; '
    'highTempParams = []; '
    'rampedParams = []; '
    'from potList import PotList; '
    'potList = PotList(); '
    'crossTerms=PotList("cross terms"); '

    # 2. Force Field and Repel Potentials
    # Torsion Database
    'from torsionDBPotTools import create_TorsionDBPot; '
    f'tDB = create_TorsionDBPot("tDB", system="{mol_type}"); ' # <-- Updated with mol_type
    'potList.append(tDB); '
    'rampedParams.append(MultRamp(0.5, 4, "tDB.setScale(VALUE)")); '
    # Repel (van der Waals)
    '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)") ); '
    'highTempParams.append( StaticRamp("""initRepel(repel, use14=True, scale=0.004, repel=1.2, movetol=45, interactingAtoms="name C1*")""")); '
    # Terminal 1-4 Repel
    'from torsionDBPotTools import create_Terminal14Pot; '
    'repel14 = create_Terminal14Pot("repel14"); '
    'potList.append(repel14); '
    'highTempParams.append(StaticRamp("repel14.setScale(0)")); '
    'rampedParams.append(MultRamp(0.004, 4, "repel14.setScale(VALUE)")); '
    # Covalent Potentials (BOND, ANGL, IMPR)
    'from xplorPot import XplorPot; '
    'potList.append(XplorPot("BOND")); '
    'potList.append(XplorPot("ANGL")); '
    'rampedParams.append(MultRamp(0.4, 1.0, "potList[\\"ANGL\\"].setScale(VALUE)")); '
    'potList.append(XplorPot("IMPR")); '
    'rampedParams.append(MultRamp(0.1, 1.0, "potList[\\"IMPR\\"].setScale(VALUE)")); '

    # 3. NOE Term (Injected)
    f'{noeTerm} '

    # 4. Dynamics and Annealing Protocol
    'protocol.massSetup(); '
    'from ivm import IVM; '
    'dyn = IVM(); '
    'import monteCarlo; '
    'monteCarlo.randomizeTorsions(dyn); '
    'protocol.fixupCovalentGeom(maxIters=100, useVDW=1); '
    'InitialParams(rampedParams); '
    'InitialParams(highTempParams); '
    'protocol.initDynamics(dyn, potList=potList, bathTemp=3500, initVelocities=1, finalTime=15, numSteps=15001, printInterval=100); '
    'dyn.setETolerance(35); '
    'dyn.run(); '
    'InitialParams(rampedParams); '
    'protocol.initDynamics(dyn, potList=potList, finalTime=0.2, numSteps=201, printInterval=100); '
    'AnnealIVM(initTemp=3500, finalTemp=25, tempStep=12.5, ivm=dyn, rampedParams=rampedParams).run(); '
    'protocol.initMinimize(dyn, potList=potList, printInterval=50); '
    'dyn.run(); '
    'protocol.writePDB("thread.pdb")'
)

# --- Final Command to Execute the Script ---
cmd = f"echo '{xplor_protocol_flat}' | xplor -py"



Woonghee Lee, I.E.I.P., M.S., Ph.D.

 

Assistant Professor & Data Science and Chemistry Certificate Program Director

Department of Chemistry

University of Colorado Denver

1151 Arapahoe St. (Science Bldg.) Rm 4128A (office), Rm 4128 (dry lab), Rm 4133 (wet lab)

Denver, CO 80217-3364, USA

Office: +1-303-315-7672

woongh...@ucdenver.edu

 

https://poky.clas.ucdenver.edu

https://poky.clas.ucdenver.edu/wlee-group

https://clas.ucdenver.edu/chemistry/woonghee-lee

https://clas.ucdenver.edu/chemistry/data-science-and-chemistry-certificate

 

Shipping/Mailing Address:

Woonghee Lee

1201 5th St. UCD CHEM-194

P.O. Box 173364 (USPS)

Denver, CO 80204, USA

From: nmr-s...@googlegroups.com <nmr-s...@googlegroups.com> on behalf of Molly Weber <mw...@wellesley.edu>
Date: Thursday, October 30, 2025 at 5:09 PM
To: NMR POKY/SPARKY USER GROUP <nmr-s...@googlegroups.com>
Subject: [NMR POKY/SPARKY] Using POKY to generate 3D Structures based on the Resonance Assignments of a 2D NOESY

[External Email - Use Caution]
--
You received this message because you are subscribed to the Google Groups "NMR POKY/SPARKY USER GROUP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nmr-sparky+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/nmr-sparky/03716458-dcc3-4a22-a360-4872ef1bdfe7n%40googlegroups.com.

Lee, Woonghee

unread,
Nov 3, 2025, 1:47:08 PMNov 3
to Molly Weber, NMR POKY/SPARKY USER GROUP

 

Latest update has the feature in the Nucleic-Acid Modeler “NM”. You can choose assigned 2D-NOESY/ROESY. It will use 6.6A upper bound for non-sequential assignments.

 

A screenshot of a computer

Description automatically generated

 

 

 

 

Woonghee Lee, I.E.I.P., M.S., Ph.D.

 

Assistant Professor & Data Science and Chemistry Certificate Program Director

Department of Chemistry

University of Colorado Denver

1151 Arapahoe St. (Science Bldg.) Rm 4128A (office), Rm 4128 (dry lab), Rm 4133 (wet lab)

Denver, CO 80217-3364, USA

Office: +1-303-315-7672

woongh...@ucdenver.edu

 

https://poky.clas.ucdenver.edu

https://poky.clas.ucdenver.edu/wlee-group

https://clas.ucdenver.edu/chemistry/woonghee-lee

https://clas.ucdenver.edu/chemistry/data-science-and-chemistry-certificate

 

Shipping/Mailing Address:

Woonghee Lee

1201 5th St. UCD CHEM-194

P.O. Box 173364 (USPS)

Denver, CO 80204, USA

 

A white circle with blue text and a black background

Description automatically generated

Reply all
Reply to author
Forward
0 new messages