Analysis API¶
Trajectory analysis and visualization tools.
TrajAnalysis¶
Main class for MD trajectory analysis.
from prism import TrajAnalysis
analyzer = TrajAnalysis(
topology="system.gro",
trajectory="md.xtc",
ligand_resname="LIG"
)
Parameters¶
- topology (str): Topology file (.gro, .pdb, .tpr)
- trajectory (str): Trajectory file (.xtc, .dcd, .trr)
- ligand_resname (str): Ligand residue name (default: "LIG")
Methods¶
analyze_all()¶
Run complete analysis suite.
Generates: - RMSD plots - RMSF per-residue - Contact maps - H-bond analysis - Interactive HTML
calc_rmsd()¶
Calculate RMSD.
Returns: numpy array of RMSD values (Å)
calc_rmsf()¶
Calculate RMSF.
Returns: numpy array of RMSF values (Å)
calc_contacts()¶
Calculate protein-ligand contacts.
Returns: Contact frequency array
calc_hbonds()¶
Calculate hydrogen bonds.
Returns: H-bond data
calc_sasa()¶
Calculate solvent accessible surface area.
Returns: SASA values (nm²)
Visualization¶
visualize_trajectory()¶
Generate interactive HTML visualization.
import prism
html_file = prism.visualize_trajectory(
trajectory="md.xtc",
topology="system.gro",
ligand="ligand.sdf",
output="contacts.html"
)
Parameters: - trajectory (str): Trajectory file - topology (str): Topology file - ligand (str): Ligand structure file - output (str): Output HTML file
Returns: Path to HTML file
HTMLGenerator¶
Advanced visualization control.
from prism.analysis.visualization import HTMLGenerator
generator = HTMLGenerator(
"trajectory.xtc",
"topology.gro",
"ligand.sdf"
)
generator.analyze()
generator.generate("output.html")
Trajectory Processing¶
process_trajectory()¶
Fix PBC artifacts and center system.
import prism
processed = prism.process_trajectory(
input_trajectory="raw.dcd",
output_trajectory="processed.xtc",
topology_file="system.tpr",
center_selection="Protein",
pbc_method="mol"
)
batch_process_trajectories()¶
Process multiple trajectories.
trajectories = ["traj1.dcd", "traj2.dcd", "traj3.dcd"]
processed = prism.batch_process_trajectories(
input_trajectories=trajectories,
output_dir="processed",
topology_file="system.tpr"
)
Examples¶
Basic Analysis¶
from prism import TrajAnalysis
analyzer = TrajAnalysis("system.gro", "md.xtc")
# RMSD
rmsd_protein = analyzer.calc_rmsd(selection="protein")
rmsd_ligand = analyzer.calc_rmsd(selection="resname LIG")
# Contacts
contacts = analyzer.calc_contacts()
print(f"Average contacts: {contacts.mean()}")
Complete Workflow¶
import prism
# Analyze trajectory
analyzer = prism.analyze_trajectory(
"system.gro",
"md.xtc",
ligand_resname="LIG",
output_dir="analysis"
)
# Generate visualization
prism.visualize_trajectory(
"md.xtc",
"system.gro",
"ligand.sdf",
output="interactive_contacts.html"
)