SASA Plugin Reference
This page is lookup documentation for the sasa analysis plugin: settings,
selection behavior, output paths, artifact fields, comparison outputs, and plot
files.
For a guided workflow, see Tutorial: Measure Polymer Shielding with SASA. For practical recipes and commands, see SASA Analysis: Quick Start.
Plugin key
Top-level comparison YAML key: plugins.sasa.
plugins:
sasa:
runs:
- label: "protein_total"
target_selection: "protein"
Settings
plugins.sasa
Field |
Type |
Default |
Constraints |
Description |
|---|---|---|---|---|
|
list |
required |
at least one entry; labels must be unique |
Named SASA computations to run. |
|
float |
|
|
Shrake-Rupley probe radius in nanometers. |
|
int |
|
|
Number of test points on each atom sphere. Higher is more accurate and slower. |
|
int |
|
|
Frames processed per chunk for memory-managed computation. |
runs entries
Field |
Type |
Default |
Constraints |
Description |
|---|---|---|---|---|
|
string |
required |
non-empty; must not contain |
Human-readable run label used in summaries and plot filenames. |
|
string |
required |
non-empty |
MDAnalysis selection for atoms whose SASA is reported. |
|
string or null |
|
blank values become omitted |
MDAnalysis selection for atoms included as surface blockers during SASA computation. |
|
int |
|
|
Analyze every Nth selected frame. |
Target and context behavior
SASA runs separate what is reported from what can block the surface:
Selection |
Behavior |
|---|---|
|
Defines the atoms/residues whose SASA values are summarized. |
|
Defines the atoms present in the Shrake-Rupley surface calculation. |
If context_selection is omitted, PolyzyMD sets it equal to
target_selection. This is useful for self-SASA measurements such as whole
protein SASA.
Examples:
Goal |
|
|
|---|---|---|
Whole-protein self-SASA |
|
|
Protein SASA with polymer shielding |
|
|
Active-site SASA |
|
|
Active-site SASA with polymer shielding |
|
|
Monomer-specific shielding |
|
|
The project chain convention is A = protein, B = substrate, C = polymer, and
D+ = solvent/ions/other. Use lowercase chainid in MDAnalysis selections.
Canonical output paths
SASA writes canonical artifact outputs for compute and aggregate stages, plus a comparison output and plots.
Level |
Path |
Contents |
|---|---|---|
Per replicate |
|
|
Per replicate sidecars |
|
Large arrays such as per-frame total SASA and per-residue SASA. |
Per condition |
|
|
Per condition sidecars |
|
Aggregate arrays and supporting data, when written. |
Cross condition |
|
Comparison output with condition summaries, pairwise tests, ANOVA-by-run, rankings, and metadata. |
Plots |
|
SASA comparison, normalized-control, time-series, and profile plots. |
Artifact envelope fields
Replicate and condition JSON files are artifact envelopes. The stable public concepts are the artifact envelope and the canonical paths, not private helper classes.
Field |
Meaning |
|---|---|
|
Analysis plugin name, usually |
|
Comparison condition label. |
|
Replicate number for replicate artifacts; absent or not meaningful for condition artifacts. |
|
JSON-compatible SASA summaries, metrics, run labels, and relative sidecar paths. |
|
Settings fingerprints, software versions, equilibration labels, units, and related run metadata. |
|
Input trajectory/topology identity and workflow details. |
|
Validated references to large sidecar files, including relative paths and integrity metadata. |
Common replicate payload keys include:
Key |
Meaning |
|---|---|
|
List of per-run summaries for the replicate. |
|
Number of configured SASA runs. |
|
Total frames available after the workflow frame selection. |
|
Frames actually analyzed after per-run stride. |
|
Scalar metrics extracted from run summaries. |
|
Units and labels for scalar metrics. |
Common per-run payload fields include:
Key |
Meaning |
|---|---|
|
SASA run label. |
|
Selection whose SASA is reported. |
|
Selection used as the blocking context. |
|
Mean SASA for the run in A^2. |
|
Standard error estimate for the run in A^2. |
|
Relative path to the NPZ sidecar for arrays. |
|
Probe radius used for the calculation. |
|
Sphere point count used for the calculation. |
Loading artifacts with ArtifactStore
Use the public MDAnalysis artifact API to inspect canonical artifacts:
from pathlib import Path
from polyzymd.analyses.mda import ArtifactStore
replicate_store = ArtifactStore(Path("analysis/With Polymer/sasa/run_1"))
replicate = replicate_store.read_replicate_result()
print(replicate.payload["run_results"])
condition_store = ArtifactStore(Path("analysis/With Polymer/sasa/aggregated"))
condition = condition_store.read_condition_result()
print(condition.payload)
Sidecar NPZ files are referenced from the artifact sidecars list and from
payload fields such as sidecar_path. Treat sidecars as large validated data
files linked by the artifact, not as independently discovered cache files.
Comparison output
comparison/sasa/result.json contains cross-condition statistics organized by
configured run label.
Field |
Description |
|---|---|
|
Comparison metric name, currently |
|
Comparison study name. |
|
Number of configured SASA runs. |
|
Ordered list of run labels. |
|
Configured control condition, when present. |
|
Per-condition summaries with per-run means and SEMs. |
|
Per-run pairwise statistics between conditions. |
|
Per-run ANOVA results when testable. |
|
Condition ranking for each run. |
|
Equilibration cutoff used for the comparison. |
Pairwise comparison entries include:
Field |
Description |
|---|---|
|
SASA run being compared. |
|
Conditions in the comparison. |
|
Raw and adjusted p-values when available. |
|
Effect size when available. |
|
|
|
Whether the comparison passed the configured significance rule. |
|
Percent change from condition A to condition B. |
|
Whether the comparison had enough data for a statistical test. |
|
Explanation for non-testable or special cases. |
Normalized-control formula
Normalized comparison plots use the configured control condition as the denominator:
percent change = (condition_mean - control_mean) / control_mean * 100
For a shielding run such as protein_with_polymer, negative values indicate
lower SASA than the control and are consistent with polymer shielding. Positive
values indicate increased exposure relative to the control.
Plot outputs
For each configured run label, SASA may generate these plots under the
configured plot output directory, usually figures/sasa/:
Plot output |
Description |
|---|---|
|
Mean SASA bar chart with SEM and replicate points. |
|
Percent change relative to the configured control. |
|
Per-frame SASA traces summarized across conditions. |
|
Per-residue mean SASA profile across conditions. |
Time-axis plots assume uniformly saved frames. PolyzyMD maps frame index to time
as frame_index * dt; variable-timestep concatenated trajectories are not
supported.
Units
Quantity |
Unit |
|---|---|
|
nm |
SASA values in outputs |
A^2 |
Time sidecar arrays |
ns |
See also
Tutorial: Measure Polymer Shielding with SASA — guided shielding tutorial
SASA Analysis: Quick Start — task recipes and commands
comparison.yaml Schema Reference — comparison file schema
Comparison and Plotting Reference — shared comparison and plotting behavior