| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [View Raw Code] [Original HTTPS Page] |
This tutorial describes the main ways to use SIMPLE for metal-containing simulation setup and analysis. SIMPLE can be used through the browser GUI for visual, system-by-system preparation, or through the command line for reproducible and batch workflows.
For a new Conda installation, run the interactive installer from the repository root:
python install_simple.py
conda activate simpleAmberTools 26 is the recommended default. AmberTools alone supports SIMPLE system setup, parameter and input preparation, most analyses, and both GUI and CLI operation. It does not supply licensed pmemd, pmemd.MPI, or pmemd.cuda; therefore generic production MD and TI/free-energy simulation execution requires a separately licensed AMBER installation registered in the per-user tools.toml file.
NWChem is optional unless a selected RESP/QM path needs it. Choose either the complete Conda NWChem/OpenMPI option or an existing NWChem executable together with the MPI launcher against which it was built. Do not mix the two MPI stacks.
Review or change the software configuration later with:
simple doctor
simple configureOn Linux the default file is ~/.config/simple/tools.toml. Generic sbatch files snapshot the configured AMBER or NWChem/MPI paths when they are generated. If the TOML path changes, regenerate the generic script.
Tahoma users should install AmberTools with Conda for preparation and analysis. Tahoma-specific MD, TI, RESP, and MM-PBSA sbatch files retain their existing Tahoma setup and do not require the local licensed-AMBER path in tools.toml.
Start the browser interface from the repository root:
simple-guiOn a local workstation, this command starts the GUI server and opens the default web browser automatically. If the browser does not open, copy the printed local URL into a browser manually.
When running on an HPC login node or other remote machine, disable automatic browser launch and choose a forwarded port:
simple-gui --web-port 8000 --no-browserThen open the forwarded address in your local browser. A typical SSH tunnel is:
ssh -L 8000:127.0.0.1:8000 USER@HPC_HOSTThe GUI runs on 127.0.0.1 and is intended for private local or forwarded access. Uploaded files are first staged in the GUI session directory, then copied into the workflow output folder when a TOML file is saved or when Finish + Build Inputs is pressed.
The final workflow folder is organized as:
output_root/job_name/
00_inputs/ # GUI-staged uploaded files
01_prepare/ # cleaned structures, manifests, ligand/RESP assets
02_system/ # tleap, ParmEd, prmtop, inpcrd, and system PDB files
03_md/ # MD input files and Slurm scripts
Use the Metallophore (S) workflow for small metal-binding molecules, metallophores, and ligand-like systems.
The metallophore workflow supports MOL2 and PDB files, as well as SMILES text. After loading the molecule, SIMPLE detects supported metal atoms and donor atoms. You can keep, replace, or remove detected metals; select donor atoms; insert an additional metal near selected donors; and prepare RESP/NWChem input assets when RESP charges are needed.
The central preview panel uses a VMD-style molecular view so the coordination environment can be inspected before generating files. The right-side setup panel controls geometry optimization, RESP fitting settings, charge, multiplicity, grid choice, and job-size settings.
After editing coordination, SIMPLE can perform a quick geometry cleanup. This is useful after changing donor atoms, changing the target coordination number, or inserting another metal. The cleanup is not a replacement for scientific review, but it helps remove obviously strained preview geometries before parameterization.
Typical steps:
Use MetalloProtein (P) for protein systems containing native or inserted metal sites.
The protein workflow accepts a local PDB file or a PDB ID. It can remove waters, remove non-standard hetero groups, retain selected ligand tokens, identify metal sites, and prepare a cleaned structure for Amber. The residue table highlights important residues, such as metal-binding residues and candidate disulfide residues, in the Note column.
Metal handling options include:
PROPKA-assisted protonation review can suggest residue-state changes based on pKa estimates. Disulfide candidates can also be detected and selected before system building.
New protein metal-site RESP calculations are an advanced main.py option; the web GUI does not generate them. Keep standard ff19SB charges for the default 12-6-4 model, and choose the site-specific RESP path in the interactive main.py workflow only when a reviewed, site-polarization-aware hybrid model is scientifically justified.
SIMPLE then uses an unsolvated TLeap reference topology to establish hydrogens, protonation variants, atom indices, and baseline Amber charges. It detects directly coordinating HIS/CYS/ASP/GLU/MET residues and treats directly coordinating water or parameterized heteroligands as fixed QM environment. The default fit scope is the side chain; the metal formal charge, backbone, caps, fixed environment, target-residue total charges, and whole cluster charge remain constrained.
During the main.py prompts, SIMPLE shows the existing default/high-spin multiplicity and, where conventional ligand-field alternatives exist, a low-spin multiplicity as well. The default remains the original heuristic; the user must select and confirm the electronic state appropriate to the coordination environment. SIMPLE writes one NWChem/RESP job per independent metal cluster, or one joint job when multiple metals share a donor, together with generic and Tahoma CPU sbatch scripts. Each sbatch file starts directly with #!/bin/bash, followed by its #SBATCH directives. Submit the Tahoma script, or edit and submit the generic script; the MD workflow pauses at this point.
After the NWChem job completes, either continue through main.py or open the GUI and press Scan / Browse RESP Results. Choose the completed case folder rather than individual files; SIMPLE preserves the selected folder tree and searches all subdirectories for the required manifests and outputs. Select a completed candidate, then press Finish + Build Inputs to run the exact fingerprint check and display baseline, fitted, and delta charges together with residue sums, symmetry checks, fit metrics, and warnings. MD generation resumes only after Approve Charges and Resume MD is pressed. The standard-charge topology is retained as 02_system/system.standard_ff.prmtop, while the validated patched topology becomes 02_system/system.prmtop.
If SIMPLE detects missing internal loops, the GUI asks whether to repair the missing regions before preview. After the protein is loaded, residues suggested by PropKa are highlighted in red, and possible disulfide-bond-forming residue pairs are highlighted in yellow.
After setup, switch to the Solvation and MD / Slurm tabs.
The solvation tab controls:
For Protein and Small Molecule metal setups, the GUI checks the selected element and oxidation state against the bundled Duvail tables. If a species such as a divalent transition-metal ion is absent, OPC + Duvail is disabled, an explicit warning is shown, and the setup switches to SPC/E + Li/Merz with SPC/E as the solvation default.
The MD / Slurm tab controls the MD protocol, temperature, pressure, production length, stage-level MD input overrides, and CPU/GPU Slurm script generation. Press Finish + Build Inputs to write the final TOML, run the workflow, and produce system.prmtop, system.inpcrd, MD inputs, and scheduler scripts.
Use Deep Eutectic (D) to build DES boxes from registered Amber component libraries.
The DES panel lets you select supported components, choose component ratios, set the mixing mode, and define the number of units or box size. SIMPLE can also place supported metal ions in the DES box center when requested. After preview, the same solvation and MD setup concepts apply, with DES-specific protocol defaults.
SIMPLE writes Slurm scripts together with the generated MD input files. These scripts can be submitted directly on HPC systems after checking the account, partition, walltime, node count, GPU count, and module-loading section.
For a normal GUI or CLI simulation setup, inspect:
Then submit the generated Slurm script from the 03_md directory or adjust it for the target machine. Free-energy setup usually starts after the production trajectory, restart, topology, and reference PDB are available, because FreeE.py builds new free-energy inputs from an existing bound MD workflow rather than replacing the original main.py setup.
FreeE.py is the standalone launcher for setting up free-energy calculations from a completed or partially completed SIMPLE/Amber simulation. It keeps the original MD workflow untouched and writes a separate output directory containing free-energy input files, Slurm scripts, manifests, and, for MM-PBSA/GBSA, summary files.
Start the interactive free-energy wizard with:
python FreeE.py --interactiveSave the prompted answers to a reusable TOML file:
python FreeE.py --interactive --write-config free_energy_config.tomlRun a saved free-energy setup non-interactively:
python FreeE.py --config free_energy_config.tomlUse --dry-run when you want to generate and inspect the free-energy assets without validating or launching the external Amber executables:
python FreeE.py --config free_energy_config.toml --dry-runThe wizard first looks for an existing AMBER topology, trajectory, production input file, production restart, and reference structure. In a typical SIMPLE output folder, these come from 02_system and 03_md. If automatic discovery is not enough, the wizard can also accept manual paths for:
After loading the input, FreeE.py detects metal sites, proposes the selected metal atom or atoms, checks whether the last snapshot appears stable, and asks whether to continue if the selected site looks unstable.
Thermodynamic integration, or TI, computes a free-energy difference by gradually changing the Hamiltonian of the system along an alchemical coordinate called lambda. At each lambda window, Amber samples the ensemble average of dV/dlambda. The final free energy is obtained by numerical integration of those dV/dlambda values across the lambda schedule.
For metal binding workflows, SIMPLE treats the selected metal site as the alchemical group. The currently supported Amber 12-6-4 GTI/CUDA default changes charge and van der Waals interactions together along one softcore path. The split protocol is retained for the Amber 12-6 workaround and for future GTI support; it separates the transformation into two physical legs:
For a binding free-energy style calculation, the bound leg should be paired with a metal-in-water reference leg. The analysis step later reports quantities such as dG_bound, dG_water, restraint correction, and ddG = (dG_bound + restraint_correction) - dG_water when both legs are available.
Important TI options in the FreeE TOML are:
Combined mode uses a flat layout: inputs are written under bound/inputs, a single-pass run writes directly under output, and bidirectional results are separated into output/forward and output/reverse. The qoff and vdwoff directories are reserved for split mode.
Every generated TI workflow, including a single-metal calculation, also writes aggregate submission assets under TI_BATCH. The Tahoma and generic submit-all scripts launch each bound-site job separately but submit a shared water-reference job only once for each unique compatible water-reference directory and protocol signature. For example, ten Eu3+/OPC bound sites share one Eu3+/OPC water-reference simulation rather than writing ten jobs into the same output directory.
A minimal TI TOML section looks like:
[free_energy]
method = "ti"
[snapshot]
mode = "last"
[metal]
selection_mode = "single"
selected_site = 1
formal_charge = 3
[ti]
implementation_mode = "amber_12_6_4_gti"
decoupling_mode = "combined_q_vdw"
sampling_mode = "single_pass"
production_time_ns = 1.0
charge_lambdas = [0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.85, 0.9, 0.95, 0.98, 1.0]
vdw_lambdas = [0.0, 0.025, 0.05, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.95, 0.975, 1.0]
[water_reference]
enabled = true
water_model = "opc"
reuse_existing = trueMM-PBSA/GBSA estimates binding energetics from snapshots of a bound trajectory instead of running alchemical lambda windows. For each selected frame, the method evaluates an approximate free energy for the complex, receptor, and ligand, then reports a difference:
DeltaG_binding = G_complex - G_receptor - G_ligand
G = E_MM + G_solvation - T*S
E_MM is the molecular-mechanics energy from the force field. G_solvation is estimated with an implicit-solvent model. GBSA uses a generalized Born model and is usually faster. PBSA solves a Poisson-Boltzmann style continuum electrostatics problem and is usually more expensive, but can be useful as a complementary estimate. The entropy term is optional because it can be noisy and expensive, especially for large metalloprotein systems.
For SIMPLE metalloprotein cases, the default MM-PBSA path treats the selected metal atom as the ligand and builds dry complex, receptor, and ligand topologies for Amber MMPBSA.py. For general Amber inputs, the wizard can ask for ligand residue names and optional receptor residue names instead.
Important MM-PBSA/GBSA options are:
A compact MM-PBSA/GBSA TOML section looks like:
[free_energy]
method = "mmpbsa"
[mmpbsa]
run_gb = true
run_pb = true
start_frame = 901
end_frame = 1000
frame_stride = 1
include_entropy = false
include_decomposition = true
decomposition_run_pb = true
ligand_selection_mode = "metal_site"Typical MM-PBSA outputs include:
If Amber output files already exist and only the SIMPLE summary files need to be rebuilt, use:
python FreeE.py --refresh-summaries /path/to/MM-PBSAFor campaign-style folders, refresh all matching MM-PBSA outputs under a root directory:
python FreeE.py --refresh-summaries-batch /path/to/campaign --refresh-output-name MM-PBSAUse TI when the scientific target is a more rigorous alchemical free-energy estimate and when you can afford many lambda-window simulations for both bound and reference states. TI is slower, but it gives a direct thermodynamic path and has a clearer route to dG or ddG postprocessing through saved DV/DL output.
Use MM-PBSA/GBSA when you want a faster, trajectory-based comparison across many cases, pH states, ligands, or metal identities. It is approximate and sensitive to frame selection, receptor/ligand definition, entropy settings, and the quality of the underlying trajectory, but it is practical for screening and sanity checks before committing to TI-scale sampling.
After FreeE setup and the relevant Amber jobs have finished, use analyses.py for postprocessing free-energy results or for trajectory analysis.
Run the general analysis launcher:
python analyses.pyThe general launcher asks for the analysis family:
For TI postprocessing, SIMPLE currently uses the trapezoidal TI estimator from existing Amber DV/DL output. BAR and MBAR are listed as future analysis options, but the current TI runs do not yet generate the additional overlap information needed for those estimators.
When a selected case contains completed forward and reverse sweeps, the launcher asks whether to use Forward only or Forward + Reverse. Forward only is the default and is written under analysis/abfe or analysis/rbfe. Forward + Reverse is an optional convergence diagnostic written separately under analysis/abfe_forward_reverse or analysis/rbfe_forward_reverse; use its averaged estimate only when the reported hysteresis is acceptably small. Its hierarchical bootstrap resamples both time blocks and complete sweeps, so the confidence interval includes direction disagreement instead of hiding it.
Water-library values are stored separately by analysis sampling source (forward_only versus forward_reverse). Legacy library entries created before this metadata existed remain selectable for Forward-only RBFE and are marked as legacy/unspecified. New direction-specific contributors are never pooled into the same aggregate.
Bidirectional combined TI has one deliberately narrow recovery rule for a recurrent GTI endpoint failure. If every production window is available except the reverse lambda=0 window, and the completed forward lambda=0 output contains a final Amber average, analyses.py substitutes that forward endpoint DV/DL for the reverse endpoint because both correspond to the same Hamiltonian. A missing or truncated reverse endpoint is accepted; a missing interior window is not. The result is marked APPROXIMATE, the forward and patched-reverse integrals and their hysteresis are reported separately, and the expected and substituted mdout paths are recorded in JSON and CSV outputs. This recovery is preferable to deleting the 0 -> next-lambda integration interval, but it is not an independent reverse endpoint sample.
For MM-PBSA/GBSA, the primary postprocessing is produced by FreeE.py itself through summary.txt, summary.json, summary_decomp.txt, and summary_decomp.json. Use the --refresh-summaries commands above when Amber MMPBSA.py has completed but the SIMPLE summaries need to be regenerated.
Run trajectory analysis directly:
python analyses.py --trajectoryThe trajectory wizard asks for:
Common structural analyses are:
The standalone command-line launcher is:
python main.py --interactiveTo save answers as a reusable TOML file:
python main.py --interactive --write-config config.tomlThe interactive wizard asks for the same scientific choices as the GUI, but in terminal form:
On Linux, WSL, or HPC systems, running without --dry-run executes the external tools needed for the selected workflow. On Windows or when preparing files for later execution, use:
python main.py --interactive --dry-runDry-run mode writes configuration files, helper scripts, and planned input files without running Amber binaries.
Any TOML generated by the GUI or the interactive CLI can be rerun non-interactively:
python main.py --config config.tomlFor a validation-only pass:
python main.py --config config.toml --dry-runTo regenerate only part of a workflow:
python main.py --config config.toml --from-stage prepare --to-stage system
python main.py --config config.toml --from-stage system --to-stage mdThe main stages are:
A TOML file records the workflow input, preparation choices, ligand settings, system settings, MD protocol, Slurm settings, and output directory. For high-throughput campaigns, copy a reviewed TOML, edit the input path, metal charge, water model, salt condition, or output directory, then run each configuration with python main.py --config.
Before production MD:
Library mode registers Amber-ready custom residues so they can be used later as DES components. This mode is for extending the DES component list, not for building a protein, metallophore, or DES box immediately.
A library bundle should contain:
The library file defines the residue name, atoms, atom names, charges, and connectivity. The frcmod file supplies the missing bonded and nonbonded parameters needed by Amber. SIMPLE assumes these files are already chemically reviewed and Amber-ready; Library mode does not run RESP, GAFF, or quantum chemistry parameterization.
When a bundle is registered, SIMPLE copies the files into its managed REF_DATA area, records the component in custom_des_components.json, and makes that component available in later DES builds. In an installed package this managed area is under the operating system's per-user application-data directory; SIMPLE_REF_DATA_DIR can override it. User-added components are stored under REF_DATA/Custom_DES/<component_key>/. Built-in DES components are protected, while user-added components can be edited, overwritten, or removed.
The command-line route is:
python main.py --interactiveThen choose A / Add component in library at the workflow prompt. The CLI scans the launch directory for .lib or .off plus .frcmod bundles, or lets you enter a folder path or a comma-separated file pair manually. If the residue is new, SIMPLE asks for a component key and display label. If the residue already exists with identical files, it reports that the component is already registered. If the residue name matches an existing component but the file contents differ, SIMPLE can register it as a separate variant.
In the GUI, choose Add Component Library (A) from the workflow selector. The Library workspace shows the existing DES library, a candidate directory or uploaded file pair, and a small file editor for inspecting library contents. Use Choose Directory, Choose Files, or Scan Path to find candidate bundles, then add the selected candidate to the library. Built-in components are read-only; user-added components can be edited or removed.
After registration, return to the normal Deep Eutectic Solvent (D) workflow. The new component appears together with the built-in DES components and can be mixed by ratio, packed into a DES box, combined with supported metal ions, and carried through the same system-building and MD-input generation steps.
Library mode is supported in both the GUI and the command-line interface.
| Back | FazBrowse Home | New Git URL |