pyadmd 3.2.2__tar.gz → 3.3.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pyadmd-3.2.2/src/pyadmd.egg-info → pyadmd-3.3.0}/PKG-INFO +124 -111
- {pyadmd-3.2.2 → pyadmd-3.3.0}/README.md +123 -110
- {pyadmd-3.2.2 → pyadmd-3.3.0}/pyproject.toml +1 -1
- {pyadmd-3.2.2 → pyadmd-3.3.0}/src/pyadmd/__init__.py +1 -1
- {pyadmd-3.2.2 → pyadmd-3.3.0}/src/pyadmd/analysis/analyzer.py +271 -2
- {pyadmd-3.2.2 → pyadmd-3.3.0}/src/pyadmd/charmm/wrt-nm.mdu +3 -3
- {pyadmd-3.2.2 → pyadmd-3.3.0}/src/pyadmd/cli/commands.py +12 -24
- {pyadmd-3.2.2 → pyadmd-3.3.0}/src/pyadmd/cli/main.py +1 -1
- {pyadmd-3.2.2 → pyadmd-3.3.0}/src/pyadmd/cli/parser.py +99 -75
- {pyadmd-3.2.2 → pyadmd-3.3.0}/src/pyadmd/console.py +1 -1
- {pyadmd-3.2.2 → pyadmd-3.3.0}/src/pyadmd/fel/calculator.py +332 -389
- pyadmd-3.3.0/src/pyadmd/modes/projection.py +251 -0
- {pyadmd-3.2.2 → pyadmd-3.3.0}/src/pyadmd/simulation/engine.py +68 -12
- {pyadmd-3.2.2 → pyadmd-3.3.0}/src/pyadmd/simulation/runner.py +8 -2
- {pyadmd-3.2.2 → pyadmd-3.3.0}/src/pyadmd/utils.py +5 -3
- {pyadmd-3.2.2 → pyadmd-3.3.0/src/pyadmd.egg-info}/PKG-INFO +124 -111
- {pyadmd-3.2.2 → pyadmd-3.3.0}/src/pyadmd.egg-info/SOURCES.txt +1 -0
- {pyadmd-3.2.2 → pyadmd-3.3.0}/LICENSE +0 -0
- {pyadmd-3.2.2 → pyadmd-3.3.0}/setup.cfg +0 -0
- {pyadmd-3.2.2 → pyadmd-3.3.0}/src/pyadmd/__main__.py +0 -0
- {pyadmd-3.2.2 → pyadmd-3.3.0}/src/pyadmd/analysis/__init__.py +0 -0
- {pyadmd-3.2.2 → pyadmd-3.3.0}/src/pyadmd/analysis/completion.py +0 -0
- {pyadmd-3.2.2 → pyadmd-3.3.0}/src/pyadmd/charmm/charmm_toppar.zip +0 -0
- {pyadmd-3.2.2 → pyadmd-3.3.0}/src/pyadmd/cli/__init__.py +0 -0
- {pyadmd-3.2.2 → pyadmd-3.3.0}/src/pyadmd/constants.py +0 -0
- {pyadmd-3.2.2 → pyadmd-3.3.0}/src/pyadmd/enm/__init__.py +0 -0
- {pyadmd-3.2.2 → pyadmd-3.3.0}/src/pyadmd/enm/analysis.py +0 -0
- {pyadmd-3.2.2 → pyadmd-3.3.0}/src/pyadmd/enm/calculator.py +0 -0
- {pyadmd-3.2.2 → pyadmd-3.3.0}/src/pyadmd/fel/__init__.py +0 -0
- {pyadmd-3.2.2 → pyadmd-3.3.0}/src/pyadmd/fel/completion.py +0 -0
- {pyadmd-3.2.2 → pyadmd-3.3.0}/src/pyadmd/geometry.py +0 -0
- {pyadmd-3.2.2 → pyadmd-3.3.0}/src/pyadmd/io/__init__.py +0 -0
- {pyadmd-3.2.2 → pyadmd-3.3.0}/src/pyadmd/io/dcd.py +0 -0
- {pyadmd-3.2.2 → pyadmd-3.3.0}/src/pyadmd/io/namd.py +0 -0
- {pyadmd-3.2.2 → pyadmd-3.3.0}/src/pyadmd/io/openmm_restart.py +0 -0
- {pyadmd-3.2.2 → pyadmd-3.3.0}/src/pyadmd/io/params.py +0 -0
- {pyadmd-3.2.2 → pyadmd-3.3.0}/src/pyadmd/io/state.py +0 -0
- {pyadmd-3.2.2 → pyadmd-3.3.0}/src/pyadmd/modes/__init__.py +0 -0
- {pyadmd-3.2.2 → pyadmd-3.3.0}/src/pyadmd/modes/exciter.py +0 -0
- {pyadmd-3.2.2 → pyadmd-3.3.0}/src/pyadmd/simulation/__init__.py +0 -0
- {pyadmd-3.2.2 → pyadmd-3.3.0}/src/pyadmd/simulation/system_builder.py +0 -0
- {pyadmd-3.2.2 → pyadmd-3.3.0}/src/pyadmd.egg-info/dependency_links.txt +0 -0
- {pyadmd-3.2.2 → pyadmd-3.3.0}/src/pyadmd.egg-info/entry_points.txt +0 -0
- {pyadmd-3.2.2 → pyadmd-3.3.0}/src/pyadmd.egg-info/requires.txt +0 -0
- {pyadmd-3.2.2 → pyadmd-3.3.0}/src/pyadmd.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pyadmd
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.3.0
|
|
4
4
|
Summary: Adaptive Molecular Dynamics with Excited Normal Modes (aMDeNM) on OpenMM.
|
|
5
5
|
Author-email: Pedro Túlio Resende-Lara <laraptr@unicamp.br>
|
|
6
6
|
License-Expression: GPL-3.0-or-later
|
|
@@ -104,13 +104,13 @@ The **Adaptive Molecular Dynamics with Excited Normal Modes (aMDeNM)** method ap
|
|
|
104
104
|
- [Extending a Previous Free Energy Calculation](#extending-a-previous-free-energy-calculation)
|
|
105
105
|
- [Output Structure](#output-structure-1)
|
|
106
106
|
- [Directory Organization](#directory-organization-1)
|
|
107
|
-
|
|
107
|
+
- [Output Files Description](#output-files-description-1)
|
|
108
108
|
- [Analysis](#analysis-1)
|
|
109
109
|
- [Basic Structural Properties Calculated](#basic-structural-properties-calculated)
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
110
|
+
- [Analysis Modes](#analysis-modes)
|
|
111
|
+
- [Standard Analysis](#standard-analysis)
|
|
112
|
+
- [Rough Analysis](#rough-analysis)
|
|
113
|
+
- [Selective Analysis (Skip Flags)](#selective-analysis-skip-flags)
|
|
114
114
|
- [Trajectory Source](#trajectory-source)
|
|
115
115
|
- [Handling Incomplete Units](#handling-incomplete-units)
|
|
116
116
|
- [Configuration Parameters](#configuration-parameters)
|
|
@@ -384,7 +384,7 @@ $$
|
|
|
384
384
|
|
|
385
385
|
where $`\mathbf{M}_{\mathrm{nm}}^+`$ denotes the Moore–Penrose pseudoinverse of $`\mathbf{M}_{\mathrm{nm}}`$. These approximate coefficients are written to the `factors.csv` output file for reference but do not influence the simulation; the physical vectors $`\mathbf{q}_i`$ are used directly as excitation directions.
|
|
386
386
|
|
|
387
|
-
**Reproducibility:** the only stochastic step in this procedure is the initial placement of the $`P`$ points on $`S^{N-1}`$ before the repulsion loop runs (skipped entirely when $`P=2N`$, see above). This is
|
|
387
|
+
**Reproducibility:** the only stochastic step in this procedure is the initial placement of the $`P`$ points on $`S^{N-1}`$ before the repulsion loop runs (skipped entirely when $`P=2N`$, see above). This is controlled by a seeded RNG (`-seed`/`--seed`, default `42`), so `pyadmd run` calls with identical arguments produce identical excitation vectors and `factors.csv` — see [Run Parameters](#parameters).
|
|
388
388
|
|
|
389
389
|
**Note:** ENM recomputation under `--recalc` (see [Excitation Direction Update](#excitation-direction-update)) draws a *new* random combination each time it fires and is intentionally **not** covered by `--seed`, since its purpose is to re-diversify the excitation direction mid-simulation.
|
|
390
390
|
|
|
@@ -479,7 +479,7 @@ Create an atom selection to apply the energy injection using *[MDAnalysis select
|
|
|
479
479
|
|
|
480
480
|
- **`-rep`/`--replicas`**: Number of replicas to run (**optional**. Default: **`10`**)
|
|
481
481
|
|
|
482
|
-
- **`-seed`/`--seed`**: Random seed for the uniform mode-combination generation (the repulsion-algorithm initialization described in [Uniform Normal Modes Combination](#uniform-normal-modes-combination)) (**optional**. Default: **`42`**). Fixing this makes `run` reproducible: identical CLI arguments always produce identical excitation vectors and `factors.csv`. Pass a different value to obtain an independent replicate ensemble. Does **not** affect the `--recalc` mid-simulation re-excitation, which remains stochastic by design — see [Excitation Direction Update](#excitation-direction-update).
|
|
482
|
+
- **`-seed`/`--seed`**: Random seed for the uniform mode-combination generation (the repulsion-algorithm initialization described in [Uniform Normal Modes Combination](#uniform-normal-modes-combination)) (**optional**. Default: **`42`**). Fixing this value makes `run` more reproducible: identical CLI arguments always produce identical excitation vectors and `factors.csv`. Pass a different value to obtain an independent replicate ensemble. Does **not** affect the `--recalc` mid-simulation re-excitation, which remains stochastic by design — see [Excitation Direction Update](#excitation-direction-update). **Note:** fixing the random seed will create the same start conditions to `run`, but the simulation will diverge after a given point due to stochasticity and floating point precision.
|
|
483
483
|
|
|
484
484
|
### Files
|
|
485
485
|
`pyadmd run` automatically creates the `inputs/` directory in the current
|
|
@@ -502,13 +502,13 @@ below into it.
|
|
|
502
502
|
- **`-rst`/`--rstfile`**: OpenMM XML restart file (`.rst`), written via `XmlSerializer.serialize(state)` from a state built with `getPositions=True, getVelocities=True`
|
|
503
503
|
|
|
504
504
|
### Feature Flags
|
|
505
|
-
- **`-n`/`--
|
|
505
|
+
- **`-n`/`--no-correc`**: Disable excitation vector direction correction and compute standard MDeNM
|
|
506
506
|
|
|
507
507
|
- **`-f`/`--fixed`**: Disable excitation vector correction and keep constant excitation energy injections
|
|
508
508
|
|
|
509
509
|
- **`-r`/`--recalc`**: Recompute ENM modes instead of correcting the excitation vector direction. **Note:** the new mode combination generated after each recomputation is drawn from a fresh random unit vector and is not controlled by `-seed`/`--seed` — see [Excitation Direction Update](#excitation-direction-update).
|
|
510
510
|
|
|
511
|
-
- **`--
|
|
511
|
+
- **`--full-ener`**: Write per-term energy decomposition (BOND, ANGLE, DIHED, IMPRP, CMAP, UBREY, NBFIX, NONBONDED, etc.) to `rep{N}_ener_decomp.log` every cycle
|
|
512
512
|
|
|
513
513
|
## Append
|
|
514
514
|
### Parameters
|
|
@@ -517,15 +517,15 @@ below into it.
|
|
|
517
517
|
## Free Energy
|
|
518
518
|
All parameters are optional; the `fel` subcommand reads its input trajectories and reference state from files already produced by `run`/`restart`/`append`, so no additional files need to be supplied.
|
|
519
519
|
|
|
520
|
-
- **`-c`/`--cutoff`**: GROMOS RMSD clustering cutoff, in Å (**optional**. Default: **`0
|
|
520
|
+
- **`-c`/`--cutoff`**: GROMOS RMSD clustering cutoff, in Å (**optional**. Default: **`1.0`**)
|
|
521
521
|
- **`-d`/`--deexcite`**: Total restrained de-excitation MD length per centroid, in ps, split evenly over 4 restraint phases (**optional**. Default: **`200`**)
|
|
522
522
|
- **`-p`/`--production`**: Unrestrained production MD length per centroid, in ps (**optional**. Default: **`800`**)
|
|
523
523
|
- **`-nm`/`--modes`**: Comma-separated mode indices to project for the FEL (**optional**. Default: same modes used in `run`, *e.g.* `7,8,9`)
|
|
524
|
-
- **`--
|
|
525
|
-
- **`-b`/`--bins`**: Number of histogram bins used for the FEL (**optional**. Default: **`
|
|
524
|
+
- **`--modes-2d`**: Mode pairs for 2D FEL plots, as space-separated `"m1,m2"` tokens (**optional**. Default: all pairwise combinations of --modes, *e.g.* "7,8 7,9 8,9")
|
|
525
|
+
- **`-b`/`--bins`**: Number of histogram bins used for the FEL (**optional**. Default: **`100`**)
|
|
526
526
|
- **`-T`/`--temp`**: Temperature for k<sub>B</sub>T scaling and the production ensemble, in K (**optional**. Default: **`303.15`**)
|
|
527
527
|
- **`-s`/`--sel`**: MDAnalysis selection string used for GROMOS RMSD clustering (**optional**. Default: **`"protein and name CA"`**)
|
|
528
|
-
- **`--
|
|
528
|
+
- **`--max-centroids`**: Maximum number of centroids submitted to MD. When the cluster count exceeds this value, exactly this many centroids are selected by greedy farthest-point (MaxMin) sampling to maximize conformational diversity (**optional**. Default: **`50`**)
|
|
529
529
|
|
|
530
530
|
**Note:** `-s`/`--sel` and `-T`/`--temp` must stay the same across repeated `fel` calls on the same simulation — see [Extending a Previous Free Energy Calculation](#extending-a-previous-free-energy-calculation). This `-s`/`--sel` selection is independent of `run`'s `-sel`/`--selection`: it controls GROMOS clustering only, while `run`'s selection controls both energy injection and (by default) the scope of most `pyadmd analyze` metrics — see [Analysis Selection Scope](#analysis-selection-scope).
|
|
531
531
|
|
|
@@ -539,19 +539,20 @@ All parameters are optional; the `fel` subcommand reads its input trajectories a
|
|
|
539
539
|
### Skip Flags
|
|
540
540
|
Each analysis step can be independently disabled. When skipped, that metric will not appear in any CSV, plot, or HTML summary output.
|
|
541
541
|
|
|
542
|
-
- **`--
|
|
543
|
-
- **`--
|
|
544
|
-
- **`--
|
|
545
|
-
- **`--
|
|
546
|
-
- **`--
|
|
547
|
-
- **`--
|
|
548
|
-
- **`--
|
|
542
|
+
- **`--no-rmsd`**: Skip RMSD calculation
|
|
543
|
+
- **`--no-rg`**: Skip radius of gyration calculation
|
|
544
|
+
- **`--no-sasa`**: Skip SASA and hydrophobic exposure calculation
|
|
545
|
+
- **`--no-rmsf`**: Skip RMSF calculation
|
|
546
|
+
- **`--no-dssp`**: Skip secondary structure analysis via DSSP
|
|
547
|
+
- **`--no-dccm`**: Skip DCCM (dynamic cross-correlation matrix) calculation
|
|
548
|
+
- **`--no-lmi`**: Skip LMI (Linear Mutual Information) calculation
|
|
549
|
+
- **`--no-modeproj`**: Skip mode-projection analysis
|
|
549
550
|
|
|
550
551
|
**Note:** Before analysis, the program checks if `pyadmd` or `fel` calls are properly completed. If any unit (pyAdMD replica or free energy centroid) hasn't finished running, `analyze` prints a warning listing the incomplete units and their cycles completed/target, but proceeds anyway — see [Handling Incomplete Units](#handling-incomplete-units) below.
|
|
551
552
|
|
|
552
553
|
## ENM
|
|
553
554
|
### Parameters
|
|
554
|
-
- **`-i`/`--input`**: Input PDB file (**required**, unless **`-w`/`--
|
|
555
|
+
- **`-i`/`--input`**: Input PDB file (**required**, unless **`-w`/`--write-modes`** is used)
|
|
555
556
|
|
|
556
557
|
- **`-o`/`--output`**: Output folder name (**optional**. Default: **`output`**)
|
|
557
558
|
|
|
@@ -561,25 +562,25 @@ Each analysis step can be independently disabled. When skipped, that metric will
|
|
|
561
562
|
|
|
562
563
|
- **`-c`/`--cutoff`**: Interaction cutoff distance, in Å (**optional**. Default: **`15.0`** for CA, **`12.0`** for HEAVY)
|
|
563
564
|
|
|
564
|
-
- **`-k`/`--
|
|
565
|
+
- **`-k`/`--spring-constant`**: ENM harmonic spring constant, in kcal/mol/Ų (**optional**. Default: **`1.0`**)
|
|
565
566
|
|
|
566
|
-
- **`--
|
|
567
|
+
- **`--max-modes`**: Number of non-rigid-body vibrational modes to compute (**optional**. Default: **`50`**)
|
|
567
568
|
|
|
568
|
-
- **`--
|
|
569
|
+
- **`--output-modes`**: Number of modes (file-labeled 1 through N, where label 1 is the first non-rigid mode) to write vectors/trajectories for (**optional**. Default: **`10`**)
|
|
569
570
|
|
|
570
571
|
### Skip Flags
|
|
571
572
|
Collectivity, contributions, RMSF, DCCM, and mode vector/trajectory writing can each be independently disabled:
|
|
572
573
|
|
|
573
|
-
- **`--
|
|
574
|
-
- **`--
|
|
575
|
-
- **`--
|
|
576
|
-
- **`--
|
|
577
|
-
- **`--
|
|
578
|
-
- **`--
|
|
579
|
-
- **`--
|
|
574
|
+
- **`--no-vec`**: Skip writing mode vectors (`.xyz`)
|
|
575
|
+
- **`--no-trj`**: Skip writing mode trajectories (`_traj.pdb`)
|
|
576
|
+
- **`--no-collectivity`**: Skip mode collectivity calculation
|
|
577
|
+
- **`--no-contributions`**: Skip the variance-contributions plot
|
|
578
|
+
- **`--no-rmsf`**: Skip the NMA-predicted RMSF plot (analytical, from the harmonic approximation — not derived from an MD trajectory; see [Analysis](#analysis-1) for the trajectory-based RMSF computed elsewhere in the package)
|
|
579
|
+
- **`--no-dccm`**: Skip the NMA-predicted DCCM plot (same analytical distinction as RMSF above)
|
|
580
|
+
- **`--no-gpu`**: Disable GPU acceleration
|
|
580
581
|
|
|
581
582
|
### Post-hoc Mode Re-writer
|
|
582
|
-
- **`-w`/`--
|
|
583
|
+
- **`-w`/`--write-modes`**: Write mode vectors/trajectories from a previously completed `enm` run's saved `*_modes.npy`/`*_frequencies.npy`/structure PDB, without recomputing the ENM. Accepts comma-separated integers and inclusive ranges (`start:end`), *e.g.* `"26,41"`, `"7:10"`, `"42,44:50"`. Requires **`-o`/`--output`** pointing to an existing `enm` output directory.
|
|
583
584
|
|
|
584
585
|
**Note on mode-file resolution:** `pyadmd enm`'s mode vector/trajectory files (`_mode_{N}.xyz`/`_mode_{N}_traj.pdb`) are written at the ENM's **native reduced resolution** (Cα-only or heavy-atom only, matching whatever the modes were computed on).
|
|
585
586
|
|
|
@@ -590,21 +591,21 @@ enm_output/
|
|
|
590
591
|
├── {base_name}_{model}_structure.pdb # reduced‑resolution structure (Cα or heavy atoms)
|
|
591
592
|
├── {base_name}_{model}_frequencies.npy # vibrational frequencies (filtered, non‑rigid modes)
|
|
592
593
|
├── {base_name}_{model}_modes.npy # eigenvector matrix (filtered, non‑rigid modes)
|
|
593
|
-
├── collectivity.csv # per‑mode collectivity (κ) and frequency (cm⁻¹) (omitted with --
|
|
594
|
-
├── mode_contributions.png # per‑mode and cumulative variance contributions (omitted with --
|
|
595
|
-
├── rmsf_plot.png # NMA‑predicted residue RMSF (harmonic approximation) (omitted with --
|
|
596
|
-
├── dccm_plot.png # NMA‑predicted residue cross‑correlation matrix (omitted with --
|
|
597
|
-
├── dccm_matrix.npy # raw NMA‑DCCM matrix (omitted with --
|
|
598
|
-
├── {base_name}_{model}_mode_{N}.xyz # displacement vector of mode N (XYZ format) (omitted with --
|
|
599
|
-
└── {base_name}_{model}_mode_{N}_traj.pdb # oscillatory PDB trajectory along mode N (multi‑model) (omitted with --
|
|
594
|
+
├── collectivity.csv # per‑mode collectivity (κ) and frequency (cm⁻¹) (omitted with --no-collectivity)
|
|
595
|
+
├── mode_contributions.png # per‑mode and cumulative variance contributions (omitted with --no-contributions)
|
|
596
|
+
├── rmsf_plot.png # NMA‑predicted residue RMSF (harmonic approximation) (omitted with --no-rmsf)
|
|
597
|
+
├── dccm_plot.png # NMA‑predicted residue cross‑correlation matrix (omitted with --no-dccm)
|
|
598
|
+
├── dccm_matrix.npy # raw NMA‑DCCM matrix (omitted with --no-dccm)
|
|
599
|
+
├── {base_name}_{model}_mode_{N}.xyz # displacement vector of mode N (XYZ format) (omitted with --no-vec)
|
|
600
|
+
└── {base_name}_{model}_mode_{N}_traj.pdb # oscillatory PDB trajectory along mode N (multi‑model) (omitted with --no-trj)
|
|
600
601
|
```
|
|
601
602
|
|
|
602
603
|
|
|
603
604
|
**Notes:**
|
|
604
605
|
- `{base_name}` is the stem of the input PDB file (e.g., `system`).
|
|
605
606
|
- `{model}` is either `ca` (Cα‑only) or `heavy` (heavy atoms).
|
|
606
|
-
- The mode vector and trajectory files are written only for the modes specified by `‑‑
|
|
607
|
-
- The `-w` / `‑‑
|
|
607
|
+
- The mode vector and trajectory files are written only for the modes specified by `‑‑output-modes` (default: first 10 non‑rigid modes).
|
|
608
|
+
- The `-w` / `‑‑write-modes` option re‑uses an existing output directory to write **additional** mode files (vectors/trajectories) without recomputing the ENM.
|
|
608
609
|
|
|
609
610
|
### Output Files Description
|
|
610
611
|
|
|
@@ -614,17 +615,17 @@ enm_output/
|
|
|
614
615
|
- **`{base_name}_{model}_modes.npy`**: 2D array of shape `(3N, M)`, where column `i` is the mass‑weighted eigenvector for mode `i` (matching the order of `frequencies`). These two NumPy files enable fast post‑hoc re‑writing of vectors/trajectories via `-w`.
|
|
615
616
|
|
|
616
617
|
2. **Collectivity and Variance Contributions**
|
|
617
|
-
- **`collectivity.csv`**: CSV with columns `Mode`, `Frequency (cm⁻¹)`, and `Collectivity`. Omitted with `‑‑
|
|
618
|
-
- **`mode_contributions.png`**: Two‑panel figure showing (left) the proportion of total mean‑square fluctuation contributed by each of the first `‑‑
|
|
618
|
+
- **`collectivity.csv`**: CSV with columns `Mode`, `Frequency (cm⁻¹)`, and `Collectivity`. Omitted with `‑‑no-collectivity`.
|
|
619
|
+
- **`mode_contributions.png`**: Two‑panel figure showing (left) the proportion of total mean‑square fluctuation contributed by each of the first `‑‑max-modes` non‑rigid modes (proportional to `1/λ_k` under equipartition), and (right) the cumulative fraction. Omitted with `‑‑no-contributions`.
|
|
619
620
|
|
|
620
621
|
3. **NMA‑Predicted RMSF and DCCM**
|
|
621
|
-
- **`rmsf_plot.png`**: Residue‑averaged root‑mean‑square fluctuation (Å) derived from the harmonic approximation. The plot is based on the sum over modes of `(kBT/λ_k) * |u_i^(k)|² / m_i`. Omitted with `‑‑
|
|
622
|
+
- **`rmsf_plot.png`**: Residue‑averaged root‑mean‑square fluctuation (Å) derived from the harmonic approximation. The plot is based on the sum over modes of `(kBT/λ_k) * |u_i^(k)|² / m_i`. Omitted with `‑‑no-rmsf`.
|
|
622
623
|
- **`dccm_plot.png`**: DCCM heatmap, diverging colormap (red = fully correlated, white = uncorrelated, blue = fully anti-correlated).
|
|
623
|
-
- **`dccm_matrix.npy`**: Raw correlation matrix, saved alongside the plot. Both are omitted with `‑‑
|
|
624
|
+
- **`dccm_matrix.npy`**: Raw correlation matrix, saved alongside the plot. Both are omitted with `‑‑no-dccm`.
|
|
624
625
|
|
|
625
626
|
4. **Mode‑Specific Vector and Trajectory Files**
|
|
626
|
-
- **`{base_name}_{model}_mode_{N}.xyz`**: XYZ‑formatted file listing the displacement vector for mode `N`. The header includes the mode frequency in cm⁻¹. Omitted with `‑‑
|
|
627
|
-
- **`{base_name}_{model}_mode_{N}_traj.pdb`**: Multi‑model PDB showing a smooth oscillation along mode `N`. The trajectory is mass‑weighted and scaled to a peak amplitude (default 4 Å). Omitted with `‑‑
|
|
627
|
+
- **`{base_name}_{model}_mode_{N}.xyz`**: XYZ‑formatted file listing the displacement vector for mode `N`. The header includes the mode frequency in cm⁻¹. Omitted with `‑‑no-vec`.
|
|
628
|
+
- **`{base_name}_{model}_mode_{N}_traj.pdb`**: Multi‑model PDB showing a smooth oscillation along mode `N`. The trajectory is mass‑weighted and scaled to a peak amplitude (default 4 Å). Omitted with `‑‑no-trj`.
|
|
628
629
|
|
|
629
630
|
**Note:** When using the post‑hoc mode re‑writer (`pyadmd enm -w "..." -o enm_output`), only the mode‑specific vector and trajectory files are newly written for the requested modes; all other files (core data, collectivity, plots) are left untouched and must already exist from a previous full ENM run.
|
|
630
631
|
|
|
@@ -636,17 +637,21 @@ The **`fel`** subcommand computes a free energy landscape (FEL) from a completed
|
|
|
636
637
|
|
|
637
638
|
## Method Overview
|
|
638
639
|
1. **Merge trajectories**: all `rep*.dcd` replica trajectories are concatenated into a single pseudo-trajectory.
|
|
639
|
-
2. **GROMOS clustering**: frames are clustered by Cα RMSD (`-s`/`-c`); when the number of clusters exceeds `--
|
|
640
|
-
3. **Centroid MD**: each centroid undergoes a 4-phase restrained
|
|
640
|
+
2. **GROMOS clustering**: frames are clustered by Cα RMSD (`-s`/`-c`); when the number of clusters exceeds `--max-centroids`, a maximally diverse subset is selected via greedy farthest-point (MaxMin) sampling on the cluster centroids.
|
|
641
|
+
3. **Centroid MD**: each centroid undergoes a 4-phase NVT restrained
|
|
642
|
+
de-excitation (`-d`, progressively decreasing positional restraints on
|
|
643
|
+
backbone and sidechain heavy atoms) followed by unrestrained NPT production
|
|
644
|
+
MD (`-p`). Each de-excitation phase is further split into a
|
|
645
|
+
30%/20%/30%/20% pattern of nominal restraint / brief relief dip, where the dip targets a gentler restraint level rather than the nominal one, periodically releasing local strain due to the force constraints. If a centroid's de-excitation fails, it is automatically retried using an alternative member frame from the same cluster (up to 4 substitutes), and if all of those also fail, retried once more with a reinforced integrator ($`1 fs`$ timestep, $`5 ps^{-1}`$ friction, applied to de-excitation only) before the centroid is finally marked failed and excluded from the FEL.
|
|
641
646
|
4. **Mode projection**: every production frame is projected onto each individual normal mode vector as a signed mass-weighted RMS displacement.
|
|
642
|
-
5. **FEL computation**: a population histogram (`-b` bins) is converted to $`\Delta G`$ via $`\Delta G = -k_{BT} \cdot ln[P(q)/P_{max}]`$, computed independently per mode (1D) and for user-specified mode pairs (2D, `--
|
|
647
|
+
5. **FEL computation**: a population histogram (`-b` bins) is converted to $`\Delta G`$ via $`\Delta G = -k_{BT} \cdot ln[P(q)/P_{max}]`$, computed independently per mode (1D) and for user-specified mode pairs (2D, `--modes-2d`).
|
|
643
648
|
|
|
644
649
|
## Extending a Previous Free Energy Calculation
|
|
645
|
-
`fel` can be re-invoked on the same simulation with a larger `--
|
|
650
|
+
`fel` can be re-invoked on the same simulation with a larger `--max-centroids` and/or longer `-p`/`--production` to extend an earlier calculation, rather than starting over:
|
|
646
651
|
|
|
647
652
|
- **Free to change**: `-c`/`--cutoff` and `-d`/`--deexcite`. Changing the cutoff only affects the re-thresholding of the cached pairwise-RMSD matrix. Changing the de-excitation length only affects newly-created centroids going forward; existing centroids keep whatever de-excitation they originally had and are simply extended in production.
|
|
648
653
|
- **Must stay the same**: `-s`/`--sel`, `-T`/`--temp`. Mixing clustering selections or temperatures inside one pooled FEL is not physically valid.
|
|
649
|
-
- **Never shrinks existing work**: if `--
|
|
654
|
+
- **Never shrinks existing work**: if `--max-centroids` or `-p`/`--production` is *smaller* than the previous call, the program warns and uses the larger of the two values instead. We suggest start with smaller values and append more data, if necessary.
|
|
650
655
|
|
|
651
656
|
## Output Structure
|
|
652
657
|
### Directory Organization
|
|
@@ -656,7 +661,7 @@ fel/
|
|
|
656
661
|
├── clustering_rmsd_cache.npz # cached pairwise-RMSD matrix (reused across calls)
|
|
657
662
|
├── clustering_rmsd_cache.json # cache validity metadata (selection, frame count, stride)
|
|
658
663
|
├── clustering_summary.csv # per-cluster frame index, size, and production status
|
|
659
|
-
├──
|
|
664
|
+
├── mode_projections.csv # combined per-frame mode projections (centroid_frame, time, mode_N...)
|
|
660
665
|
├── fel_mode[N].csv # 1D FEL data (coordinate, ΔG)
|
|
661
666
|
├── fel_mode[N]_plot.png # 1D FEL plot
|
|
662
667
|
├── fel_2d_mode[N]_mode[M].png # 2D FEL plot for a mode pair
|
|
@@ -669,16 +674,19 @@ fel/
|
|
|
669
674
|
└── checkpoint.chk # periodic (every 10 cycles) checkpoint
|
|
670
675
|
```
|
|
671
676
|
|
|
672
|
-
|
|
677
|
+
### Output Files Description
|
|
673
678
|
1. **Cache Files**
|
|
674
|
-
- **`run_metadata.json`**: the clustering selection, temperature, cutoff, de-excitation length, `
|
|
675
|
-
- **`clustering_rmsd_cache.npz`/`.json`**: the pairwise-RMSD matrix over subsampled frames.
|
|
676
|
-
- **`clustering_summary.csv`**: summary containing cluster ID, frame index, cluster size, status this run (fresh
|
|
679
|
+
- **`run_metadata.json`**: the clustering selection, temperature, cutoff, de-excitation length, `max-centroids`, and production length used.
|
|
680
|
+
- **`clustering_rmsd_cache.npz`/`.json`**: the pairwise-RMSD matrix over subsampled frames.
|
|
681
|
+
- **`clustering_summary.csv`**: summary containing cluster ID, frame index, cluster size, status this run (`fresh`/`extended`/`skipped`/`failed`, annotated with `substitute frame {N}` and/or `reinforced` when a centroid needed those fallbacks), `source_frame_used` (the frame whose coordinates actually produced a successful run — equal to `centroid_frame` unless a substitute member was used), `md_attempts` (total attempts across the standard and reinforced passes), and cycles/ps completed. A `status` of `failed` means every attempt (original frame + substitutes, standard + reinforced settings) failed; that centroid is excluded from the FEL rather than blocking the run.
|
|
682
|
+
- **`mode_projections.csv`**: every production frame's signed mass-weighted MRMS displacement (Å) along each mode in `--modes`, one row per `(centroid_frame, time)` pair, columns `centroid_frame, time, mode_{N}, ...`. Reused directly by `pyadmd analyze -src fel`'s mode-projection analysis (see [Analysis](#analysis-1)) whenever it already covers every mode that call needs, skipping recomputation entirely.
|
|
683
|
+
|
|
677
684
|
2. **Plot Files**
|
|
678
|
-
- **`fel_mode[N].csv`/`fel_mode[N]_plot.png`**: 1D free energy landscape per mode, in Å and kcal/mol.
|
|
679
|
-
- **`fel_2d_mode[N]_mode[M].png`**: 2D free energy landscape for a mode pair.
|
|
685
|
+
- **`fel_mode[N].csv`/`fel_mode[N]_plot.png`**: 1D free energy landscape per mode, in Å and kcal/mol.
|
|
686
|
+
- **`fel_2d_mode[N]_mode[M].png`**: 2D free energy landscape for a mode pair.
|
|
687
|
+
|
|
680
688
|
3. **HTML Summary**
|
|
681
|
-
- **`fel_summary.html`**: interactive summary with protocol parameters, per-mode FEL statistics, per-centroid production status, and embedded plots.
|
|
689
|
+
- **`fel_summary.html`**: interactive summary with protocol parameters, per-mode FEL statistics, per-centroid production status, and embedded plots.
|
|
682
690
|
|
|
683
691
|
[Back to top ↩](#)
|
|
684
692
|
* ****
|
|
@@ -700,22 +708,24 @@ The PyAdMD **`analysis`** module provides comprehensive analysis capabilities fo
|
|
|
700
708
|
|
|
701
709
|
6. **Secondary Structure Content:** Calculates secondary structure elements using DSSP. Tracks helix, sheet, coil, turn, and other structural elements over time and reports the number of residues in each secondary structure type.
|
|
702
710
|
|
|
703
|
-
7. **Dynamic Cross-Correlation Matrix (DCCM):** Measures pairwise linear correlation of Cα residue motions after Kabsch superposition to remove rigid-body rotation/translation. Values range from
|
|
711
|
+
7. **Dynamic Cross-Correlation Matrix (DCCM):** Measures pairwise linear correlation of Cα residue motions after Kabsch superposition to remove rigid-body rotation/translation. Values range from $`+1`$ (fully correlated motion) through $`0`$ (uncorrelated) to $`−1`$ (fully anti-correlated motion), useful for identifying coupled domains, allosteric communication paths, and correlated/anti-correlated collective motions.
|
|
704
712
|
|
|
705
|
-
8. **Linear Mutual Information (LMI):** An alternative, signless measure of residue-residue coupling strength (range [0, 1]) computed via the Gaussian approximation of generalized correlation. Unlike DCCM, LMI reports strongly anti-correlated motion with the same high value as strongly correlated motion, since it measures total coupling rather than its direction.
|
|
713
|
+
8. **Linear Mutual Information (LMI):** An alternative, signless measure of residue-residue coupling strength (range $`[0, 1]`$) computed via the Gaussian approximation of generalized correlation. Unlike DCCM, LMI reports strongly anti-correlated motion with the same high value as strongly correlated motion, since it measures total coupling rather than its direction.
|
|
706
714
|
|
|
707
|
-
|
|
708
|
-
|
|
715
|
+
9. **Mode Projections:** Every analyzed frame's signed mass-weighted MRMS displacement (Å) along each individually excited normal mode. Pairs of excited modes are additionally visualized as 2D scatter plots colored by KDE density, useful for seeing which combinations of mode directions the trajectory actually populates.
|
|
716
|
+
|
|
717
|
+
### Analysis Modes
|
|
718
|
+
#### Standard Analysis
|
|
709
719
|
- Analyzes every frame of the trajectory
|
|
710
720
|
- Provides the highest resolution data
|
|
711
721
|
- May be computationally intensive
|
|
712
722
|
|
|
713
|
-
|
|
714
|
-
- Analyzes frames at
|
|
723
|
+
#### Rough Analysis
|
|
724
|
+
- Analyzes frames at $`5ps`$ intervals
|
|
715
725
|
- Significantly reduces computation time
|
|
716
726
|
- Suitable for quick overviews or large systems
|
|
717
727
|
|
|
718
|
-
|
|
728
|
+
#### Selective Analysis (Skip Flags)
|
|
719
729
|
Individual analyses can be disabled at the command line. This is useful when:
|
|
720
730
|
- DSSP is not installed (avoid exception error)
|
|
721
731
|
- Only a subset of metrics is needed (*e.g.* RMSD + RMSF only)
|
|
@@ -751,55 +761,58 @@ When `-src fel` is used, the shared production time axis (applied uniformly acro
|
|
|
751
761
|
```
|
|
752
762
|
analysis/{fel/}
|
|
753
763
|
├── analysis_results.csv # Combined analysis data from all units
|
|
754
|
-
├── rmsf.csv # Combined RMSF data (omitted with --
|
|
764
|
+
├── rmsf.csv # Combined RMSF data (omitted with --no-rmsf)
|
|
765
|
+
├── mode_projections.csv # Combined mode-projection data from all units (omitted with --no-modeproj)
|
|
766
|
+
├── mode_proj_scatter_mode[N]_mode[M].png # KDE-colored scatter plot for a pair of excited modes (omitted with --no-modeproj)
|
|
755
767
|
├── analysis_summary.html # HTML summary report
|
|
756
|
-
├── rmsd_plot.png # RMSD plot (omitted with --
|
|
757
|
-
├── radius_gyration_plot.png # Radius of gyration plot (omitted with --
|
|
758
|
-
├── sasa_plot.png # SASA plot (omitted with --
|
|
759
|
-
├── hydrophobic_exposure_plot.png # Hydrophobic exposure plot (omitted with --
|
|
760
|
-
├── rmsf_average.png # Average RMSF plot (omitted with --
|
|
761
|
-
├── secondary_structure_average.png # Average secondary structure plot (omitted with --
|
|
762
|
-
├── dccm_average.png # Average DCCM heatmap (omitted with --
|
|
763
|
-
├── dccm_average.npy # Average DCCM matrix, raw (omitted with --
|
|
764
|
-
├── lmi_average.png # Average LMI heatmap (omitted with --
|
|
765
|
-
├── lmi_average.npy # Average LMI matrix, raw (omitted with --
|
|
768
|
+
├── rmsd_plot.png # RMSD plot (omitted with --no-rmsd)
|
|
769
|
+
├── radius_gyration_plot.png # Radius of gyration plot (omitted with --no-rg)
|
|
770
|
+
├── sasa_plot.png # SASA plot (omitted with --no-sasa)
|
|
771
|
+
├── hydrophobic_exposure_plot.png # Hydrophobic exposure plot (omitted with --no-sasa)
|
|
772
|
+
├── rmsf_average.png # Average RMSF plot (omitted with --no-rmsf)
|
|
773
|
+
├── secondary_structure_average.png # Average secondary structure plot (omitted with --no-dssp)
|
|
774
|
+
├── dccm_average.png # Average DCCM heatmap (omitted with --no-dccm)
|
|
775
|
+
├── dccm_average.npy # Average DCCM matrix, raw (omitted with --no-dccm)
|
|
776
|
+
├── lmi_average.png # Average LMI heatmap (omitted with --no-lmi)
|
|
777
|
+
├── lmi_average.npy # Average LMI matrix, raw (omitted with --no-lmi)
|
|
766
778
|
└── {rep[1-N]}/ or {centroid_frame[F]}/ # Unit-specific directories
|
|
767
779
|
├── analysis_results.csv # Unit-specific analysis data
|
|
768
|
-
├── rmsf.csv # Unit-specific RMSF data (omitted with --
|
|
769
|
-
├── rmsd_plot.png # Unit-specific RMSD plot (omitted with --
|
|
770
|
-
├── radius_gyration_plot.png # Unit-specific RoG plot (omitted with --
|
|
771
|
-
├── sasa_plot.png # Unit-specific SASA plot (omitted with --
|
|
772
|
-
├── hydrophobic_exposure_plot.png # Unit-specific hydrophobic exposure plot (omitted with --
|
|
773
|
-
├── rmsf_plot.png # Unit-specific RMSF plot (omitted with --
|
|
774
|
-
├── secondary_structure.png # Unit-specific secondary structure plot (omitted with --
|
|
775
|
-
├── dccm_matrix.npy # Unit-specific DCCM matrix, raw (omitted with --
|
|
776
|
-
├── dccm_plot.png # Unit-specific DCCM heatmap (omitted with --
|
|
777
|
-
├── lmi_matrix.npy # Unit-specific LMI matrix, raw (omitted with --
|
|
778
|
-
└── lmi_plot.png # Unit-specific LMI heatmap (omitted with --
|
|
780
|
+
├── rmsf.csv # Unit-specific RMSF data (omitted with --no-rmsf)
|
|
781
|
+
├── rmsd_plot.png # Unit-specific RMSD plot (omitted with --no-rmsd)
|
|
782
|
+
├── radius_gyration_plot.png # Unit-specific RoG plot (omitted with --no-rg)
|
|
783
|
+
├── sasa_plot.png # Unit-specific SASA plot (omitted with --no-sasa)
|
|
784
|
+
├── hydrophobic_exposure_plot.png # Unit-specific hydrophobic exposure plot (omitted with --no-sasa)
|
|
785
|
+
├── rmsf_plot.png # Unit-specific RMSF plot (omitted with --no-rmsf)
|
|
786
|
+
├── secondary_structure.png # Unit-specific secondary structure plot (omitted with --no-dssp)
|
|
787
|
+
├── dccm_matrix.npy # Unit-specific DCCM matrix, raw (omitted with --no-dccm)
|
|
788
|
+
├── dccm_plot.png # Unit-specific DCCM heatmap (omitted with --no-dccm)
|
|
789
|
+
├── lmi_matrix.npy # Unit-specific LMI matrix, raw (omitted with --no-lmi)
|
|
790
|
+
└── lmi_plot.png # Unit-specific LMI heatmap (omitted with --no-lmi)
|
|
779
791
|
```
|
|
780
792
|
**Note:** With `-src fel`, the same set of files is written under `analysis/fel/` instead, with one subdirectory per centroid (named by frame index, mirroring `fel/centroids/centroid_frame[F]/`) in place of `rep[1-N]/`.
|
|
781
793
|
|
|
782
794
|
## Output Files Description
|
|
783
795
|
1. **CSV Files**
|
|
784
|
-
- **`analysis_results.csv`:** Time-series data for RMSD, RoG, SASA, hydrophobic exposure, and secondary structure content
|
|
785
|
-
- **`rmsf.csv`:** Per-residue RMSF values for all analyzed units (all replicas, or all centroids with `-src fel`)
|
|
796
|
+
- **`analysis_results.csv`:** Time-series data for RMSD, RoG, SASA, hydrophobic exposure, and secondary structure content
|
|
797
|
+
- **`rmsf.csv`:** Per-residue RMSF values for all analyzed units (all replicas, or all centroids with `-src fel`)
|
|
798
|
+
- **`mode_projections.csv`:** Combined per-frame mode-projection data across all analyzed units, columns `{unit_col}, time, mode_{N}, ...` where `{unit_col}` is `replica` (`-src pyadmd`) or `centroid_frame` (`-src fel`) and `mode_{N}` are the individual modes excited in `run` (`nm_parsed`). With `-src fel`, reused directly from `fel/mode_projections.csv` when that file already covers every needed mode, instead of being recomputed — see [Mode Projections](#mode-projections). Omitted with `--no-modeproj`.
|
|
786
799
|
|
|
787
800
|
2. **Plot Files**
|
|
788
|
-
- Individual property plots for each unit (replica, or centroid with `-src fel`)
|
|
789
|
-
- Combined plots showing all units
|
|
790
|
-
- Average plots across all units
|
|
801
|
+
- Individual property plots for each unit (replica, or centroid with `-src fel`)
|
|
802
|
+
- Combined plots showing all units
|
|
803
|
+
- Average plots across all units
|
|
804
|
+
- **`dccm_plot.png`** / **`dccm_average.png`**: DCCM heatmap, diverging colormap (red = fully correlated, white = uncorrelated, blue = fully anti-correlated).
|
|
805
|
+
- **`lmi_plot.png`** / **`lmi_average.png`**: LMI heatmap, sequential colormap (LMI has no sign).
|
|
806
|
+
- **`mode_proj_scatter_mode[N]_mode[M].png`:** One 2D scatter plot per pairwise combination of excited modes, pooling frames from every analyzed unit, colored by KDE density. Omitted with `--no-modeproj`.
|
|
791
807
|
|
|
792
808
|
3. **Correlation Matrix Files**
|
|
793
|
-
- **`dccm_matrix.npy`** (per-unit) / **`dccm_average.npy`** (cross-unit): raw (n_Cα × n_Cα) DCCM matrix, values in [-1, 1]
|
|
794
|
-
- **`
|
|
795
|
-
- **`lmi_matrix.npy`** / **`lmi_average.npy`**: raw (n_Cα × n_Cα) LMI matrix, values in [0, 1]. Omitted with `--no_lmi`.
|
|
796
|
-
- **`lmi_plot.png`** / **`lmi_average.png`**: LMI heatmap, sequential colormap (LMI has no sign).
|
|
809
|
+
- **`dccm_matrix.npy`** (per-unit) / **`dccm_average.npy`** (cross-unit): raw (n_Cα × n_Cα) DCCM matrix, values in $`[-1, 1]`$. Omitted with `--no-dccm`.
|
|
810
|
+
- **`lmi_matrix.npy`** / **`lmi_average.npy`**: raw (n_Cα × n_Cα) LMI matrix, values in $`[0, 1]`$. Omitted with `--no-lmi`.
|
|
797
811
|
|
|
798
812
|
4. **HTML Summary**
|
|
799
|
-
-
|
|
800
|
-
- Statistics for each unit and averages across all units
|
|
801
|
-
- An "Incomplete Units" section when any unit hadn't reached its target cycle count at analysis time (see [Handling Incomplete Units](#handling-incomplete-units))
|
|
802
|
-
- Easy navigation and visualization of results
|
|
813
|
+
- Summary report with tables and embedded plots
|
|
814
|
+
- Statistics for each unit and averages across all units
|
|
815
|
+
- An "Incomplete Units" section when any unit hadn't reached its target cycle count at analysis time (see [Handling Incomplete Units](#handling-incomplete-units))
|
|
803
816
|
|
|
804
817
|
|
|
805
818
|
Furthermore, some basic analyses are written inside each replica folder at the end of the simulation, they can be found as follows:
|
|
@@ -818,21 +831,21 @@ Example files are available at the **[tutorial](tutorial)** folder (human calmod
|
|
|
818
831
|
## Using OpenMM inputs and heavy atoms NMs
|
|
819
832
|
```
|
|
820
833
|
pyadmd run -src OPENMM \
|
|
821
|
-
-m HEAVY \
|
|
822
834
|
-psf tutorial/system.psf \
|
|
823
835
|
-rst tutorial/system.rst \
|
|
824
|
-
-pdb tutorial/system.pdb
|
|
836
|
+
-pdb tutorial/system.pdb \
|
|
837
|
+
-m HEAVY
|
|
825
838
|
```
|
|
826
839
|
## Using NAMD inputs and Cα NMs with custom parameters
|
|
827
840
|
```
|
|
828
841
|
pyadmd run -src NAMD \
|
|
829
|
-
-m CA \
|
|
830
842
|
-psf tutorial/system.psf \
|
|
831
843
|
-pdb tutorial/system.pdb \
|
|
832
844
|
-coor tutorial/system.coor \
|
|
833
845
|
-vel tutorial/system.vel \
|
|
834
846
|
-xsc tutorial/system.xsc \
|
|
835
847
|
-str tutorial/system.str \
|
|
848
|
+
-m CA \
|
|
836
849
|
-nm 7,8 \
|
|
837
850
|
-ek 0.5 \
|
|
838
851
|
-t 100 \
|
|
@@ -842,15 +855,15 @@ pyadmd run -src NAMD \
|
|
|
842
855
|
## Using NAMD inputs and CHARMM NMs without direction correction (standard MDeNM)
|
|
843
856
|
```
|
|
844
857
|
pyadmd run -src NAMD \
|
|
845
|
-
-m CHARMM \
|
|
846
|
-
-mod tutorial/system.mod \
|
|
847
858
|
-psf tutorial/system.psf \
|
|
848
859
|
-pdb tutorial/system.pdb \
|
|
849
860
|
-coor tutorial/system.coor \
|
|
850
861
|
-vel tutorial/system.vel \
|
|
851
862
|
-xsc tutorial/system.xsc \
|
|
852
863
|
-str tutorial/system.str \
|
|
853
|
-
|
|
864
|
+
-m CHARMM \
|
|
865
|
+
-mod tutorial/system.mod \
|
|
866
|
+
--no-correc
|
|
854
867
|
```
|
|
855
868
|
## Restart unfinished pyAdMD simulations
|
|
856
869
|
```
|
|
@@ -866,7 +879,7 @@ pyadmd analyze
|
|
|
866
879
|
```
|
|
867
880
|
## Analyze every 5 ps skipping DSSP and LMI
|
|
868
881
|
```
|
|
869
|
-
pyadmd analyze -r --
|
|
882
|
+
pyadmd analyze -r --no-dssp --no-lmi
|
|
870
883
|
```
|
|
871
884
|
## Compute a free energy landscape
|
|
872
885
|
```
|
|
@@ -874,7 +887,7 @@ pyadmd fel -c 2 -p 100
|
|
|
874
887
|
```
|
|
875
888
|
## Extend a previous free energy calculation with more centroids and production time
|
|
876
889
|
```
|
|
877
|
-
pyadmd fel -c 2 -p 500 --
|
|
890
|
+
pyadmd fel -c 2 -p 500 --max-centroids 100
|
|
878
891
|
```
|
|
879
892
|
## Compute a standalone ENM (Cα model, writing modes 7-16)
|
|
880
893
|
```
|