Recent Releases of pdbtbx
pdbtbx - v0.12.0
- Added unified file read logic, see
ReadOptions(Thanks to y1zhou and OWisset)- This deprecates the original read functions
open_gz(still around for ease of updating) andopen_raw(fully removed in this update)
- This deprecates the original read functions
- Added
unique_conformer_namesfor aPDB(Thanks to rvhonorato) - Added
chains_in_contactfor aPDB(Thanks to rvhonorato)
- Rust
Published by douweschulte over 1 year ago
pdbtbx - v0.10.0 Enumerated Elements
- Moved from string based elements to enums see
Element, this means that theAtom::set_element,Atom::element, andTerm::elementhave changed - Deprecated the following functions
Atom::atom_number,Atom::atomic_radius,Atom::covalent_bond_radii, andAtom::vanderwaals_radiusthe radius functions are replaced withElement::atomic_radiuswhich contains all these measures in the structAtomicRadius - Added
Element::weightandElement::electro_negativitydata - Implemented
Extendfor all levels in the PDB hierarchy - Implemented
FromIteratorfor thePDBstruct - Removed requirement for
atom_site.pdbx_formal_charge,atom_site.group_PDB,atom_site.occupancy, andatom_site.B_iso_or_equivfor mmCIF files (thanks to #93) - Added support for SCALE, ORIGX, and MTRIX in mmCIF files (open and save)
- Fixed ignoring some of the
auth_*series of mmCIF columns, by giving them precedence over thelabel_*columns inseq_idandasym_id(thanks to #95) - Fixed remark-type-number 400 missing from the valid number list (thanks to #96)
- Fixed a small bug in saving MtriX records (thanks to #96)
- Rust
Published by douweschulte almost 4 years ago
pdbtbx - v0.9.1
- Added more search terms
- Added angle and dihedral angle calculations on atoms (Thanks to DocKDE)
- Added extra examples (Thanks to DocKDE)
- Added support for DBREF1/2
- Improved PDB parsing performance (Thanks to DocKDE)
- Improved error message styling and merged common errors
- Additional code and documentation improvements
- Rust
Published by douweschulte about 4 years ago
pdbtbx - v0.9.0 Structured search
- Added
findmethod 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())) - Added
bounding_boxto the PDB struct. - Added
atom.overlaps_bound()which uses covalent bond radii instead of unbound radii. (Thanks to raised issue) - Extended
atomic_numberto 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. - Updated covalent bond radii to work in Å as well (was picometers).
- Respecified the dependencies versions to allow cargo to more often reuse dependencies in complex projects.
- Rust
Published by douweschulte over 4 years ago
pdbtbx - v0.8.0 All the hierarchy
- Added support for residue serial numbers over 9999 and atom serial numbers over 99999 for PDB files. (Thanks to DocKDE)
- Changed argument type of
save_pdbfromPDBto&PDB. (Thanks to DocKDE) - Allow lack of chain name in PDB files. (Thanks to DocKDE)
- Added mutable structs to extend the use of
AtomWithHierarchyalongside a refactor which created a struct for every hierarchy level. See the docs for more information. - Removed
Atom.pos_array()and moved therstar::rtreeto use(f64, f64, f64)instead of[f64; 3]. This was made possible by the adoption of tuples as points in rstar.
- Rust
Published by douweschulte over 4 years ago
pdbtbx - v0.7.0 Ecosystem integration
- Added parallel iterators based on Rayon (Thanks to DocKDE)
- Added support for generating r*trees from Rstar, this has to be opted in by using the feature
rstar - Added support for serialization using Serde, this has to be opted in using the feature
serde - Added a new struct
AtomWithHierarchyto have access to the containing layers of an atom in an easy way and added functions to generate and work with this struct - Added
binary_find_atomto all hierarchies to find atoms in less time - Added more names for amino acids and backbone atoms (Thanks to DocKDE)
- Added support for bonds (can only read Disulfide bonds from PDBs for now)
- And many more small fixes and docs updates
- Rust
Published by douweschulte about 5 years ago
pdbtbx - v0.6.3 Bug fixes
- Added Anisotropic temperature factor support for mmCIF files
- Fixed an issue in the aniso matrix
- Added a
full_sortfunction on PDB - Fixed small bugs in the PDB saving logic
- Rust
Published by douweschulte about 5 years ago
pdbtbx - v0.6.2 Bug fixes
- Fixed a bug in PDB b factor and occupancy validation which showed an error when the value was 0.00
- Fixed a bug in
atom.atomic_radius(), it used to give the radius of the previous atom in the periodic table - Added more atomic radii (vanderwaals and covalent bonds)
- Rust
Published by douweschulte about 5 years ago
pdbtbx - v0.6.1 Bugfix
- Fixed a bug arbitrarily constraining the maximum value of atom serial numbers in PDB files
- Rust
Published by douweschulte about 5 years ago
pdbtbx - v0.6.0 Hetero atoms remastered
- Reworked the library to handle Hetero atoms as normal atoms (with the
atom.hetero()function returningtrue) instead of saving them inmodel.hetero_chains() - Implemented the standard traits (Clone/PartialEq/Eq/PartialOrd/Ord) for most structures
- Fixed conformers in
pdb.renumber()they were disregarded before - The symmetry structure now also accepts and provides Hall symbols
- Fixed multiple bugs
- Added many more unit tests and started tracking test coverage
- Rust
Published by douweschulte about 5 years ago
pdbtbx - v0.5.1 Bug fixes
- Fixed bugs in
.remove_emptyto work better with hetero chains - Added support for negative residue sequence numbers
- Standardised the precision of floating points in the mmCIF output, at least 1 and at most 5 decimals will be shown
- Fixed an issue with the occupancy of atoms shared between multiple conformers, it will now add up to the original value
- Rust
Published by douweschulte about 5 years ago
pdbtbx - v0.5.0 Alternative location support
- Added
Conformerwhich sits betweenResidueandAtomand is analogous toatom_groupin cctbx - Added editing functions for Conformers
- Added
HEADERidentifier support for parsing PDB and saving PDB and mmCIF - Reverted mmCIF output atom_site column ordering to v0.3.3, the newly introduced ordering gave issues with Phenix
- Added
remove_emptyfunctions on all structs, to remove all empty layers after large scale deletions
- Rust
Published by douweschulte over 5 years ago
pdbtbx - v0.4.1 Bug fixes + extend
- All string based properties for atom/residue/chain are trimmed and converted to uppercase before being set
- A
.extendfunction is provided for residue/chain/model/pdb to easily add an iterator to the list of children
- Rust
Published by douweschulte over 5 years ago
pdbtbx - v0.4.0 Basic mmCIF support
- Added mmCIF/PDBx open support
- Changed
openandsaveto determine the filetype based on the extension - Added
validate_pdbto validate a PDB model before saving it in a PDB file - Added support for bigger serial numbers and names to allow for bigger models to be saved in mmCIF files
- Fixed some issues with mmCIF output
- Rust
Published by douweschulte over 5 years ago
pdbtbx - v0.3.3 Very basic CIF save
- Added very basic exporting to mmCIF, it will only export the unit cell, symmetry and atomic data.
- Rust
Published by douweschulte over 5 years ago
pdbtbx - v0.3.2 Saving of DBREF/SEQADV/SEQRES
- Added saving of
DBREF/SEQADV/SEQRES - Generates default matrices for
SCALEandORIGXif not available and the strictness level on save isStrict - Added constructor
scaletoTransformationMatrixto have a magnifying matrix with 3 different factors
- Rust
Published by douweschulte over 5 years ago
pdbtbx - v0.3.1 Wrapping distance & overlap detection
- Added
distance_wrappingandoverlaps_wrappingfunctions to Atom which wrap around the unit cell to find the shortest distance
- Rust
Published by douweschulte over 5 years ago
pdbtbx - v0.3.0 Primary Sequence Support
- Added support for parsing and validating
DBREF/SEQADV/SEQRES/MODRES - Added saving of
MODRESrecords, the other primary structure sections will follow soon - Added differential saving, which changes the output based on the
StrictnessLevelprovided - Redefined
overlapsfunction on Atoms, the calculation was faulty before - Added
distancefunction between two Atoms - Removed renumber on save
- Rust
Published by douweschulte over 5 years ago
pdbtbx - v0.2.1 Bug fixes and increased performance
- Exported
save_rawwas created in v0.2.0 but not accessible - Added
ENDMDLrecords after model definitions while saving making saved ensemble files valid in other software - Extended warnings for validation of ensemble files, it will now generate a
LooseWarningifHETATMs do not correspond - Changed the implementation of the
.remove_*_byfunctions to be 75% faster
- Rust
Published by douweschulte over 5 years ago
pdbtbx - v0.2.0 API changes and additions
- Made
add_childmethods for model/chain/residue public. - Extended saving it now validates and renumbers the given PDB. It fails upon generation of validation errors, while the user can specify the error levels to allow
- Added saveraw to save to a BufWriter. This function is called `saveraw`.
- Extended parser error generation and handling. It now fails upon generation of errors, while the user can specify the error levels to allow
- Added parser from BufReader. This function is called
parseand the function previously calledparseis renamed toopen. - Rewrote
pdb.total_*_count()as the previous version was inaccurate - Saved 21.4 MB in the published crate by ignoring certain files (thanks Byron!)
- Rust
Published by douweschulte over 5 years ago
pdbtbx - v0.1.5 Bug fix
- Finally fixed the full bug encountered in v0.1.3
- Rust
Published by douweschulte over 5 years ago
pdbtbx - v0.1.4 Bug fix (yanked)
- Fixed a bug in which strings that are too short cause setter functions of various character based properties of atoms/residues/chains to panic
- Rust
Published by douweschulte over 5 years ago
pdbtbx - v0.1.3 Bug fix (yanked)
- Fixed a mistake witch prevented valid characters from being used to set various character based properties of atoms/residues/chains
- Rust
Published by douweschulte over 5 years ago
pdbtbx - v0.1.2 Minor API additions and fixes
- Added
.join()on PDB. - Added atomic data lookup (number & radius) on Atoms
- Added
.overlaps()function to Atom, which uses the atomic radius to determine if two atoms overlap - Added support for the
MASTERPDB Record both while reading and saving - Fixed the behaviour of
.join()on Model/Chain/Residue
- Rust
Published by douweschulte over 5 years ago
pdbtbx - v0.1.1 Textual updates
Textual changes to documentation
- Rust
Published by douweschulte over 5 years ago
pdbtbx - v0.1.0 First release on crates.io
The first version is released on crates.io. This version is already capable of a large part of the PDB format, but future versions will add even more capabilities. The crate can be found here https://crates.io/crates/pdbtbx.
- Rust
Published by douweschulte over 5 years ago