There is a newer version of the record available.

Published April 22, 2025 | Version v1.2.9
Software Open

NoahHenrikKleinschmidt/buildamol: BuildAMol - v.1.2.9

Authors/Creators

  • 1. University of Bern (@ibmm-unibe-ch)

Description

New Extension - Docking

There was already a tutorial (the ligand design pipeline) that used molecular docking. This code has now been refactored and integrated as an extension, available via buildamol.extensions.docking. Two docking backends are available:

The extension has a top-level dock function that can be used to fit ligands into protein pockets. A tutorial on how to use it is available in the documentation.

New Extension - Solvating Molecules

There was a technical tutorial on how to create a (crystalline) solvation box from scratch. Now BuildAMol comes with a forward to integrate PDBFixer to create solvation boxes in one go using the solvate function from the buildamol.extensions.molecular_dynamics.solvate extension. The tutorial has also been updated to showcase the new extension.

Adjustable protonation states for specific pHs

  • Molecules now come with a new method adjust_to_ph which automatically adjusts the protonation state of all relevant atoms to match a desired pH (requires rdkit and molscrub to be installed!)

  • When using Molecule.set_charge to adjust the charge of an atom in a Molecule, a new argument adjust_protonation is available (True by default, so no changes in user experience) to automatically adjust the number of Hydrogen neighbours of the atom with changed charge status. This functionality uses the built-in Hydrogenator class, so it does not rely on external packages.

Updated bio Extension - Nucleic Acids + Protein Databases

The bio.proteins extension can now directly query RCSB, Alphafold, and PDBE databases to get proteins via their IDs.

Also, a new bio.nucleic_acids extension provides functions to create small oligonucleotides (DNA and RNA).

Smaller but notable new additions

  • PDBQT format is now supported!
  • A Molecule.cleanup method can perform common preprocessing tasks such as removing empty chains, adding hydrogens, or inferring bonds in one go
  • Molecule.chem2dview (standard of draw2d) supports more options to customise the visuals
  • The Molecule.infer_bonds_for can now also infer bond orders
  • Atom names (ids) can now be removed using the Molecule.drop_atom_names method (will turn atom names to just their element symbol)

Notable bugfixes

  • Molecule.split_models had issues fully detaching the parent objects from residues and chains. This should now be fixed to create truly independent molecule instances.
  • Multi-model PDB-file reading using read_pdb had issues setting up a list of multiple single-model Molecules, which should now work correctly.
  • Negative charges in some PDB files were not correctly loaded, which should work now in all cases.
  • Molecule.apply_standard_bonds would continuously add more bonds when called repeatedly (causing unrealistic bond orders of 4 or more). This should no longer happen.

Files

NoahHenrikKleinschmidt/buildamol-v1.2.9.zip

Files (161.5 MB)

Name Size Download all
md5:5caa2317d60e914054a1875b98c6e3fe
161.5 MB Preview Download

Additional details

Related works