A simple framework for representing biomolecular structure.
A simple, intuitive and Pythonic framework for representing biomolecular structure.
You can install AMPAL from pip:
pip install ampal
Or from source by downloading/cloning this repository, navigating to the folder and typing:
pip install .
AMPAL uses Cython, so if you're installing from source make sure you have it installed.
Super Quick Start
Load a PDB file into AMPAL:
my_structure = ampal.load_pdb('3qy1.pdb') print(my_structure) # OUT: <Assembly (3qy1) containing 2 Polypeptides, 449 Ligands>
Select regions of the structure in an intuitive manner:
my_atom = my_structure['A']['56']['CA'] print(my_structure['A']['56']['CA']) # OUT: <Carbon Atom (CA). Coordinates: (6.102, -4.287, -29.607)>
Then climb all the way back up the hierachy:
print(my_atom.parent) # OUT: <Residue containing 9 Atoms. Residue code: GLU> print(my_atom.parent.parent) # OUT: <Polypeptide containing 215 Residues. Sequence: DIDTLISNNALW...> print(my_atom.parent.parent.parent) # OUT: <Assembly (3qy1) containing 2 Polypeptides, 449 Ligands>
This is just a quick introduction, AMPAL contain tonnes of tools for making complex selections and performing analysis. Take a look at the docs to find out more.
ampal.dssp. This function can be used to extract all regions of a protein in a particular secondary structure.
- Fixes bug with DSSP
ss_regiontagging. End residues used to be missed.
- Adds an interface for NACCESS. Functions for using NACCESS to calculate solvent accessibility.
- Adds an interface for DSSP. If you have DSSP on your computer and have the
mkdsspcommand available on your path, you can use the
ampal.tag_dssp_datafunction to add secondary structure information to the tags dictionary of the residues in your structure.
- Adds the
ampal.alignmodule. Contains a simple class for aligning two
Polypeptidesusing MMC. The simplest interface is the
- This is currently super inefficient and will be reimplemented.
- Adds the centroid property to residues.