# API Reference

The propka3 command provides a command-line interface to PROPKA 3’s functionality. It is built on classes and functions in the `propka` module. The API of `propka` is documented here for developers who might want to directly use the PROPKA 3 code.

Note

The API is still changing and there is currently no guarantee that it will remain stable between minor releases.

## Data structures

`atom` | Atom
`bonds` | Bonds
`group` | Data structures for groups
`conformation_container` | Molecular data structures
`molecular_container` | PDB molecular container

## I/O

`input` | Input handling
`lib` | Set-up of a PROPKA calculation
`output` | Output
`parameters` | Configuration file parameters
`hybrid36` | Hybrid36 PDB-like file format
`ligand_pka_values` | Ligand pKa values from Marvin
`run` | Script functionality
`version` | Version-based configuration

## Structure processing

`protonate` | Protonate a structure
`hydrogens` | Hydrogens
`ligand` | Ligand atom typing

## Calculations

`calculations` | Calculations
`coupled_groups` | Coupling between groups
`determinant` | Determinant
`determinants` | Working with Determinants
`energy` | Energy calculations
`iterative` | Working with Determinants
`vector_algebra` | Vector calculations