Analyzer Module
The analyzer module (pharmacon.analyzer) is the computational core of
Pharmacon. It contains all analysis algorithms as standalone, stateless
routines that operate on MDAnalysis selections and return raw numerical
results.
RMSD
Computes the Root Mean Square Deviation of atomic positions relative to a
reference frame. Supports multiple atom-group selections per run with a
dedicated fitting group for structural alignment. Results are stored
per-frame in the .pta file and plotted as time series.
CLI: pharmacon trajectory rmsd
RMSF
Computes the per-atom Root Mean Square Fluctuation, i.e. the time-averaged
positional fluctuation of each atom about its mean position. Supports
multiple atom-group selections per run with a dedicated fitting group for
in-memory structural alignment. Alignment defaults to a two-pass scheme
(align to the initial frame, build the average structure, then re-align to
it) and can optionally target a single reference frame. Per-selection RMSF
values plus aggregate statistics are stored in the .pta file and plotted
as RMSF profiles.
CLI: pharmacon trajectory rmsf
Distances
Computes pairwise or group-to-group distance time series between user-defined atom selections. Four computation modes are supported:
MIN — minimum distance between any atom pair across the two groups
MAX — maximum distance between any atom pair across the two groups
COM — distance between the centres of mass
COG — distance between the centres of geometry
All calculations are PBC-aware. Multiple distance pairs can be calculated in a single run.
CLI: pharmacon trajectory distances
Angles
Measures geometric angles across a trajectory. Three angle types are supported, selected by the format of the MDAnalysis selection string:
Type |
Selection syntax |
Example |
|---|---|---|
Three-atom angle |
Select exactly 3 atoms; angle is measured at the central atom |
|
Vector angle |
Two atom pairs separated by |
|
Dihedral / torsion |
Select exactly 4 atoms; torsion measured around the central bond |
|
All calculations are PBC-aware when box dimensions are available.
CLI: pharmacon trajectory angles
Non-Covalent Interactions
Detects and quantifies nine types of non-covalent interactions on a per-frame basis. Atom-type classification uses RDKit SMARTS pattern matching for accuracy. Available for both protein–ligand and protein–protein pairs.
Interaction |
Detection criterion |
|---|---|
Hydrophobic contacts |
Distance-based between non-polar atoms |
Hydrogen bonds |
Donor–hydrogen–acceptor geometry: distance + D–H···A angle |
Ionic / salt-bridge |
Oppositely charged groups within a distance cutoff |
Halogen bonds |
C–X···A geometry with angle validation |
Metal contacts |
Metal ion coordination to nearby electronegative atoms |
Water bridges (1st degree) |
Single bridging water mediating an H-bond chain between two groups |
Water bridges (2nd degree) |
Two bridging waters forming an extended H-bond network (not yet implemented) |
Pi–cation |
Aromatic ring to charged group: distance + angle threshold |
Pi–stacking |
Parallel or T-shaped aromatic ring pairs classified by geometry |
Each interaction record includes:
Full atom metadata for both partners (name, residue, chain, segment)
Interaction-specific geometric details (distances, angles, orientation)
See Interaction row schema in File Formats for the full column schema.
CLI: pharmacon trajectory pl-interactions / pharmacon trajectory pp-interactions
Hydrogen Bonds (standalone)
Dedicated hydrogen-bond analysis that can be run independently from the full interaction profiler. Uses the same donor–acceptor detection and geometric criteria but produces a focused output containing only hydrogen-bond records. Useful when the hydrogen-bonding network is the sole interest.
CLI: pharmacon trajectory h-bonds
Principal Component Analysis (PCA)
Performs PCA on atomic coordinates across a trajectory to identify dominant modes of conformational motion.
Outputs stored in the .pta file:
Eigenvalues (explained variance ratios)
Eigenvectors (principal components)
Per-frame projections onto each selected component
Plot types produced by pharmacon plot pta:
PC projections vs time (time series)
PC1 vs PC2 scatter plot
Variance-ratio scree plot
Free-energy surface (FES) heatmap
Probability density heatmap
CLI: pharmacon trajectory pca
Average Structure
Computes per-atom mean coordinates over a specified frame range of a trajectory, with optional alignment to a reference frame. The resulting average structure is written as a coordinate file for visualisation or further analysis.
CLI: pharmacon trajectory average-st
Sequence Extraction
Extracts amino-acid sequences from a topology file, organised by chain.
Outputs:
Single-letter sequence (
aa1_seq)Three-letter residue list (
aa3_list)Residue ID mapping (
resid_seq)
Supports FASTA export via pharmacon export psa -f fasta.
CLI: pharmacon structure sequence
Molecular Properties
Computes structural and chemical descriptors for small molecules using RDKit.
Scalar properties:
Molecular weight, LogP, TPSA
Rotatable bond count, ring count, aromaticity flags
Stereocenter count, net formal charge
Element composition, molecular volume, fragment counts
Fingerprints:
Morgan / ECFP (circular fingerprint)
Topological torsion
Atom pair
MACCS keys
Results support CSV export and ML-ready parquet fingerprint dumps.
CLI: pharmacon structure properties