Skip to main content

Integration Modules

All integration modules provide a consistent interface for calculating SASA from structure files.

Available Integrations

ModuleLibraryFormatsBest For
gemmigemmimmCIF, PDBFast parsing, large files
biopythonBioPythonPDB, mmCIFExisting BioPython workflows
biotiteBiotitePDB, mmCIF, BinaryCIFAtomWorks compatibility
mdtrajMDTrajXTC, TRR, DCD, etc.MD trajectory analysis
mdanalysisMDAnalysisXTC, TRR, DCD, etc.MD trajectory analysis

Common Functions

All structure file integrations (gemmi, biopython, biotite) provide:

FunctionDescription
extract_atoms_from_model(model)Extract atom data from model
calculate_sasa_from_model(model)Calculate SASA from model
calculate_sasa_from_structure(source)Calculate SASA from file or structure

Biotite uses atom_array instead of model:

FunctionDescription
extract_atoms_from_atom_array(atom_array)Extract atom data from AtomArray
calculate_sasa_from_atom_array(atom_array)Calculate SASA from AtomArray

Common Parameters

ParameterTypeDefaultDescription
classifierClassifierTypeNACCESSAtom radius classifier
algorithm"sr" or "lr""sr"SASA algorithm
n_pointsint100Test points (SR)
n_slicesint20Slices (LR)
probe_radiusfloat1.4Probe radius in Å
n_threadsint0Threads (0 = auto)
include_hetatmboolTrueInclude HETATM records
include_hydrogensboolFalseInclude hydrogen atoms
model_indexint0Model index (NMR)

SasaResultWithAtoms

Extended result class with atom metadata:

@dataclass
class SasaResultWithAtoms(SasaResult):
atom_classes: NDArray[int32] # Per-atom polarity classes
atom_data: AtomData # Atom metadata
polar_area: float # Total polar SASA
apolar_area: float # Total apolar SASA

AtomData

@dataclass
class AtomData:
coords: NDArray[float64] # (N, 3) coordinates
residue_names: list[str] # Residue names
atom_names: list[str] # Atom names
chain_ids: list[str] # Chain IDs
residue_ids: list[int] # Residue numbers
elements: list[str] # Element symbols