A library to open/edit/save (crystallographic) Protein Data Bank (PDB) and mmCIF files in Rust.
MIT License
.gz
) files (Thanks to OWisset)Published by douweschulte over 1 year ago
remove_models_except
and remove_models_except_first
(Thanks to OWisset) (#103)Published by douweschulte almost 2 years ago
is_amino_acid
StrictnessLevel
Published by douweschulte about 2 years ago
Element
, this means that the Atom::set_element
, Atom::element
, and Term::element
have changedAtom::atom_number
, Atom::atomic_radius
, Atom::covalent_bond_radii
,Atom::vanderwaals_radius
the radius functions are replaced with Element::atomic_radius
which containsAtomicRadius
Element::weight
and Element::electro_negativity
dataExtend
for all levels in the PDB hierarchyFromIterator
for the PDB
structatom_site.pdbx_formal_charge
, atom_site.group_PDB
, atom_site.occupancy
, and atom_site.B_iso_or_equiv
for mmCIF files (thanks to #93)auth_*
series of mmCIF columns, by giving them precedence over the label_*
columns in seq_id
and asym_id
(thanks to #95)Published by douweschulte over 2 years ago
open_mmcif_raw
AsRef<str>
instead of &str
const
Published by douweschulte over 2 years ago
Published by douweschulte almost 3 years ago
find
method on all levels in the PDB, this should allow for human friendly atom(s) searching.pdb.find(Term::ConformerName("ALA".to_string()) + Term::AtomName("CA".to_string()))
bounding_box
to the PDB struct.atom.overlaps_bound()
which uses covalent bond radii instead of unbound radii. (Thanks to raised issue)atomic_number
to take the first character of the name if this is one of "CHONS" and the element is unset and the name is not an element name.Published by douweschulte almost 3 years ago
save_pdb
from PDB
to &PDB
. (Thanks to DocKDE)AtomWithHierarchy
alongside a refactor which created a struct for every hierarchy level. See the docs for more information.Atom.pos_array()
and moved the rstar::rtree
to use (f64, f64, f64)
instead of [f64; 3]
. This was made possible by the adoption of tuples as points in rstar.Published by douweschulte over 3 years ago
rstar
serde
AtomWithHierarchy
to have access to the containing layers of an atom in an easy way and added functions to generate and work with this structbinary_find_atom
to all hierarchies to find atoms in less timePublished by douweschulte over 3 years ago
full_sort
function on PDBPublished by douweschulte over 3 years ago
atom.atomic_radius()
, it used to give the radius of the previous atom in the periodic tablePublished by douweschulte over 3 years ago
Published by douweschulte over 3 years ago
atom.hetero()
function returning true
) instead of saving them in model.hetero_chains()
pdb.renumber()
they were disregarded beforePublished by douweschulte over 3 years ago
.remove_empty
to work better with hetero chainsPublished by douweschulte over 3 years ago
Conformer
which sits between Residue
and Atom
and is analogous to atom_group
in cctbxHEADER
identifier support for parsing PDB and saving PDB and mmCIFremove_empty
functions on all structs, to remove all empty layers after large scale deletionsPublished by douweschulte over 3 years ago
.extend
function is provided for residue/chain/model/pdb to easily add an iterator to the list of childrenPublished by douweschulte over 3 years ago
open
and save
to determine the filetype based on the extensionvalidate_pdb
to validate a PDB model before saving it in a PDB filePublished by douweschulte over 3 years ago
Published by douweschulte over 3 years ago
DBREF
/SEQADV
/SEQRES
SCALE
and ORIGX
if not available and the strictness level on save is Strict
scale
to TransformationMatrix
to have a magnifying matrix with 3 different factorsPublished by douweschulte almost 4 years ago
distance_wrapping
and overlaps_wrapping
functions to Atom which wrap around the unit cell to find the shortest distance