Simple thin client to interface python scripts with SambVca catalytic pocket fortran calculator.
GPL-3.0 License
py2sambvca
is available on PyPI and can be installed like so:
pip install py2sambvca
py2sambvca
has zero external dependencies.
SambVca
py2sambvca
can read and write input and output files for SambVca
without the actual program in place, but in order to run input files you must have an executable sambvca21.exe
(or similar) somewhere on your machine.
You can download the source code on the SambVca
webserver and compile it using gfortran
.
By default, py2sambvca
expects the executable to be present in the cwd
and named sambvca21.exe
on Windows or sambvca21.x
on Unix-based systems. optionally, the filepath to your executable can be specified as shown below.
After installation, py2sambvca
can be added to a Python script via import
and instantiated:
from py2sambvca import p2s
nhc_p2s = p2s(
"test/data/nhc.xyz",
[22],
[5],
[1],
path_to_sambvcax="sambvca21.exe",
)
The required input parameters are shown below:
xyz_filepath
(str): Location of .xyz molecular coordinates file for writing input datasphere_center_atom_ids
(list): ID of atoms defining the sphere centerz_ax_atom_ids
(list): ID of atoms for z-axisxz_plane_atoms_ids
(list): ID of atoms for xz-planeThe following parameters are optional and will be filled with default values if not specified:
atoms_to_delete_ids
(list): ID of atoms to be deleted (default None)sphere_radius
(float): Sphere radius in Angstrom (default 3.5)displacement
(float): Displacement of oriented molecule from sphere center in Angstrom (default 0.0)mesh_size
(float): Mesh size for numerical integration (default 0.10)remove_H
(int): 0/1 Do not remove/remove H atoms from Vbur calculation (default 1)orient_z
(int): 0/1 Molecule oriented along negative/positive Z-axis (default 1)write_surf_files
(int): 0/1 Do not write/write files for top and bottom surfaces (default 1)path_to_sambvcax
(str): Path to the SambVca executable. Only needed to use py2sambvca.calc()(default "sambvca.exe")working_dir
(path): Path to the working directory where the output and input files are generated (default os.getcwd())verbose
(int): 0 for no output, 1 for some output, 2 for the most output (default 1)radii_table
(dict or str): a dictionary of atomic symbols and their radii (angstroms), or "default" for the radii used in the original implementationFrom here, running can be done stepwise or with a single function:
nhc_p2s.run()
# equivalent to
nhc_p2s.write_input()
nhc_p2s.calc()
nhc_p2s.parse_output()
nhc_p2s.clean_files()
All values for the total complex, quadrants, and octants are available through getters:
Total Values | Quadrant Values | Octant Values |
---|---|---|
get_free_volume() |
get_quadrant_free_volume() |
get_octant_free_volume() |
get_buried_volume() |
get_quadrant_buried_volume() |
get_octant_buried_volume() |
get_exact_volume() |
not available | not available |
get_total_volume() |
get_quadrant_total_volume() |
get_octant_total_volume() |
get_percent_buried_volume() |
get_quadrant_percent_buried_volume() |
get_octant_percent_buried_volume() |
get_percent_free_volume() |
get_quadrant_percent_free_volume() |
get_octant_percent_free_volume() |
get_percent_total_volume() |
not available | not available |
Results can also be accessed through a general getter method: get()
, get_quadrant_result()
, and get_octant_result()
.
All results can also be directly accessed through dictionaries, returned from a call to run()
or parse_output()
and available through p2s.total_results
, p2s.quadrant_results
, and p2s.octant_results
.
In case there is something else you are looking for, you can use a general purpose get_regex()
function to return the line containing a pattern.
Here are a couple repositories using py2sambvca
as a Python package or extending its source code, check them out:
py2sambvca
is available under the GNU GPLv3 in accordance with the base Fortran code which is available under the same license and can be retreieved here: https://www.molnac.unisa.it/OMtools/sambvca2.1/download/download.html
The original fortran program (sambvca21.f
) is also included in the test
directory for testing purposes. It is still under the same terms of the GNU license:
Please cite the SambVca
underlying Fortran tool according to the guidelines on the buried volume webserver: https://www.molnac.unisa.it/OMtools/sambvca2.1/help/help.html
py2sambvca
has been uploaded to Figshare and may be cited as: Burns, J. figshare. 2020, DOI:10.6084/m9.figshare.12846707