Skip to main content

DFT Based Steric Parameters

Project description

DBSTEP

DBSTEP

DFT-based Steric Parameters

Allows a user to compute steric parameters from chemical structures.

Calculate Sterimol parameters1 (L, Bmin, Bmax), %Buried Volume2, Sterimol2Vec and Vol2Vec parameters

Features

  • Compute requested steric parameters from molecular structure files with input options:
    • -s or --sterimol - Sterimol Parameters (L, Bmin, Bmax)
    • -b or --volume - Percent Buried Volume
    • -s or --sterimol AND --scan [rmin:rmax:interval] - Sterimol2Vec Parameters
    • -b or --volumeAND --scan [rmin:rmax:interval] - Vol2Vec Parameters
  • -r - Adjust radius of percent buried volume measurements (default 3.5 Angstrom)
  • Exclude atoms from steric measurement with --exclude [atom indices] option (no spaces, separated by commas)
  • Steric parameters can be computed from van der Waals radii or using a three dimensional grid (default is grid).
    • Change measurement type with --measure ['classic' or 'grid'] where classic will use vdw radii.
    • Grid point spacing can be adjusted (default spacing is 0.05 Angstrom), adjust with --grid [# in Angstrom]
  • Steric parameters can be measured from electron density .cube files generated by Gaussian (see Gaussian cubegen for information on how to generate these)
    • The --surface density command (default vdw) with a .cube input file will measure sterics from density values read in from the file.
    • Density values read from the cube file greater than a default cutoff of 0.002 determine if a molecule is occupying that point in space, this can be changed with --isoval [number]
  • --noH - exclude hydrogen atoms from steric measurements
  • --addmetals - add metals to steric measurements (traditionally metal centers are removed from steric measurements)

Requirements & Dependencies

  • Python 3.6 or greater
  • Non-standard dependencies will be installed along with DBSTEP, but include numpy, numba, scipy, and cclib.

Install

  • To run as a module (python -m dbstep), download this repository and install with python setup.py install

Conda and PyPI (pip)

  • Install using conda conda install -c patonlab dbstep
  • Or using pip pip install dbstep

Usage

File parsing is done by the cclib module, which can parse many quantum chemistry output files along with other common chemical structure file formats (sdf, xyz, pdb). For a full list of acceptable cclib file types, see their documentation here. Additionally, if used in a Python script, DBSTEP can also read coordinate information from RDKit mol objects if three-dimensional coordinates are present along with Gaussian 16 cube files containing volumetric density information.

To execute the program:

  • Run as a command line module with: python -m dbstep file --atom1 a1idx --atom2 a2idx

  • Run in a Python program by importing: import dbstep.Dbstep as db (example below)

    import dbstep.Dbstep as db
    
    #Create DBSTEP object
    mol = db.dbstep(file,atom1=atom1,atom2=atom2,commandline=True,verbose=True,sterimol=True,measure='classic')  
    
    #Grab Sterimol Parameters
    L = mol.L
    Bmin = mol.Bmin
    Bmax = mol.Bmax

DBSTEP currently takes a coordinate file (see information on appropriate file types above) along with reference atoms and other input options for steric measurement. Sterimol parameters are measured and output to the user using the --sterimol argument, volume parameters can be requested with the --volume option.

Atoms are specified by referring to the index of an atom in a coordinate file, (ex: "2", referencing the second atom in the file, with indexing starting at 1).

For Sterimol parameters, two atoms need to be specified using the arguments --atom1 [atom1idx] and --atom2 [atom2idx]. The L parameter is measured starting from the specified atom1 coordinates, extending through the atom1-atom2 axis until the end of the molecule is reached. The Bmin and Bmax molecular width parameters are measured on the axis perpendicular to L.

For buried volume parameters, only the --atom1 [atom] argument is necessary to specify.

If no atoms are specified, the first two atoms in the file will be used as reference.

Examples

Examples for obtaining Sterimol, Sterimol2Vec, Percent Buried Volume and Vol2Vec parameter sets are shown below (all example files found in examples/ directory).

  1. Sterimol Parameters for Ethane

    Obtain the Sterimol parameters for an ethane molecule along the C2-C5 bond on the command line:

>>>python -m dbstep examples/Et.xyz  --sterimol --atom1 2 --atom2 5

     Et.xyz / Bmin:  1.70 / Bmax:  3.25 / L:  2.15
where Et.xyz looks like: 
8
ethane
H	0.00	0.00	0.00
C	0.00	0.00    -1.10
H	-1.00	0.27	-1.47
H	0.27	-1.00	-1.47
C	1.03	1.03	-1.61
H	1.03	1.03	-2.71
H	2.03	0.76	-1.25
H	0.76	2.03	-1.25
  1. Sterimol2Vec Parameters for Ph

    The --scan argument is formatted as rmin:rmax:interval where rmin is the distance from the center along the L axis to start measurements, rmax dictates when to stop measurements, and interval is the frequency of measurements. In this case the length of the molecule (~6A) is measured in 1.0A intervals

>>>python -m dbstep examples/Ph.xyz --sterimol --atom1 2 --atom2 5 --scan 0.0:6.0:1.0

     Ph.xyz / R:  0.00 / Bmin:  1.65 / Bmax:  3.16 
     Ph.xyz / R:  1.00 / Bmin:  1.65 / Bmax:  3.16 
     Ph.xyz / R:  2.00 / Bmin:  1.65 / Bmax:  3.16 
     Ph.xyz / R:  3.00 / Bmin:  1.65 / Bmax:  3.16 
     Ph.xyz / R:  4.00 / Bmin:  1.65 / Bmax:  3.16 
     Ph.xyz / R:  5.00 / Bmin:  1.65 / Bmax:  3.11 
     Ph.xyz / R:  6.00 / Bmin:  1.15 / Bmax:  1.17 
  1. Percent Buried Volume

    %Vb is measured by constructing a sphere (typically with a 3.5A radius) around the center atom and measuring how much of the sphere is occupied by the molecule. Output will include the sphere radius, percent buried volume (%V_Bur) and percent buried shell volume (%S_Bur) (zero in all cases unless a scan is being done simultaneously).

>>>python -m dbstep examples/1Nap.xyz --atom1 2 --volume

     R/Å     %V_Bur     %S_Bur
    3.50      41.77       0.00
  1. Vol2Vec Parameters

    When invoking the --volume and --scan parameters simultaneously, vol2vec parameters can be obtained. In this case, a scan is performed using spheres with radii from 2.0A to 4.0A in 0.5A increments.

>>>python -m dbstep examples/CHiPr2.xyz --atom2 2 --volume --scan 2.0:4.0:0.5

     R/Å     %V_Bur     %S_Bur
    2.00      89.45      64.59 
    2.50      73.56      53.69
    3.00      63.83      44.40
    3.50      53.41      26.75
    4.00      41.61       9.59

Acknowledgements

This work is developed by Guilian Luchini and Robert Paton and is supported by the NSF Center for Computer-Assisted Synthesis, grant number CHE-1925607

References

  1. Verloop, A., Drug Design. Ariens, E. J., Ed. Academic Press: New York, 1976; Vol. III
  2. Hillier, A. C.; Sommer, W. J.; Yong, B. S.; Petersen, J. L.; Cavallo, L.; Nolan, S. P. Organometallics 2003, 22, 4322-4326.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dbstep-1.0.0.tar.gz (40.8 kB view details)

Uploaded Source

Built Distributions

dbstep-1.0-py3.8.egg (49.9 kB view details)

Uploaded Source

dbstep-1.0-py3.7.egg (62.5 kB view details)

Uploaded Source

File details

Details for the file dbstep-1.0.0.tar.gz.

File metadata

  • Download URL: dbstep-1.0.0.tar.gz
  • Upload date:
  • Size: 40.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/33.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.63.0 importlib-metadata/4.11.2 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.7.1

File hashes

Hashes for dbstep-1.0.0.tar.gz
Algorithm Hash digest
SHA256 bdd560fdd0bdf689a795f167d2b2511fec5ec6dc7140fb604088e5dcb2b2b12d
MD5 204b8cb56e35d3780221d6586bf6456f
BLAKE2b-256 cfa35c0e202b87421f17d7e5542791424dcf5cf4f3554b226d3067e7166b5bdf

See more details on using hashes here.

File details

Details for the file dbstep-1.0-py3.8.egg.

File metadata

  • Download URL: dbstep-1.0-py3.8.egg
  • Upload date:
  • Size: 49.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.6.0.post20210108 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.8.5

File hashes

Hashes for dbstep-1.0-py3.8.egg
Algorithm Hash digest
SHA256 d94de9911d017d2aad67bd5454fdd665aeb36276f65d5e4164c9fd8dcc397a38
MD5 593d36ccf0c3e064ee662459f5963324
BLAKE2b-256 ec6084356372a41a5de46c46fdfc659e4de5cab295bc1e95c3f957ffc1c04169

See more details on using hashes here.

File details

Details for the file dbstep-1.0-py3.7.egg.

File metadata

  • Download URL: dbstep-1.0-py3.7.egg
  • Upload date:
  • Size: 62.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.6.0.post20210108 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.8.5

File hashes

Hashes for dbstep-1.0-py3.7.egg
Algorithm Hash digest
SHA256 d77a68a65fb82107c6006bf749725da3defc6092a86ab533bcbfde8664da1cbf
MD5 f0e5407a3a326fe0f2a2e446b6f74c9a
BLAKE2b-256 d247e4d27f4a0e8ac24c9a05821369beb2cbed789e8083202e9962eb5663f775

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page