Springcraft
Springcraft is a Biotite extension package, that allows the analysis of AtomArray objects via Elastic Network Models (ENMs). An ENM can be thought of as a system that connects residues via springs: Interaction of nearby residues is governed by a harmonic potential, with the native (input) conformation representing the energy minimum. Normal mode analysis allows the researcher to investigate global functional movements of a protein in a fast coarse-grained manner.
Installation
Springcraft can be installed via
$ pip install springcraft
or
$ conda install -c conda-forge springcraft
You can also install Springcraft from source. The package uses Poetry for building distributions. Via PEP 517 it is possible to install the package from local source code via pip:
$ git clone https://github.com/biotite-dev/springcraft.git
$ pip install ./springcraft
Example
import numpy as np
import biotite.structure.io.pdbx as pdbx
import springcraft
pdbx_file = pdbx.PDBxFile.read("path/to/1l2y.cif")
atoms = pdbx.get_structure(pdbx_file, model=1)
ca = atoms[(atoms.atom_name == "CA") & (atoms.element == "C")]
ff = springcraft.InvariantForceField(cutoff_distance=7.0)
gnm = springcraft.GNM(ca, ff)
kirchhoff = gnm.kirchhoff
np.set_printoptions(linewidth=100)
print(kirchhoff)
Output:
[[ 4. -1. -1. -1. -1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
[-1. 6. -1. -1. -1. -1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. -1. 0.]
[-1. -1. 7. -1. -1. -1. -1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. -1. 0.]
[-1. -1. -1. 7. -1. -1. -1. -1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
[-1. -1. -1. -1. 8. -1. -1. -1. -1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
[ 0. -1. -1. -1. -1. 9. -1. -1. -1. 0. -1. 0. 0. 0. 0. 0. 0. -1. 0. 0.]
[ 0. 0. -1. -1. -1. -1. 8. -1. -1. -1. -1. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
[ 0. 0. 0. -1. -1. -1. -1. 7. -1. -1. -1. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
[ 0. 0. 0. 0. -1. -1. -1. -1. 7. -1. -1. 0. 0. -1. 0. 0. 0. 0. 0. 0.]
[ 0. 0. 0. 0. 0. 0. -1. -1. -1. 7. -1. -1. -1. -1. 0. 0. 0. 0. 0. 0.]
[ 0. 0. 0. 0. 0. -1. -1. -1. -1. -1. 8. -1. -1. -1. 0. 0. 0. 0. 0. 0.]
[ 0. 0. 0. 0. 0. 0. 0. 0. 0. -1. -1. 7. -1. -1. -1. -1. -1. 0. 0. 0.]
[ 0. 0. 0. 0. 0. 0. 0. 0. 0. -1. -1. -1. 5. -1. -1. 0. 0. 0. 0. 0.]
[ 0. 0. 0. 0. 0. 0. 0. 0. -1. -1. -1. -1. -1. 7. -1. -1. 0. 0. 0. 0.]
[ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. -1. -1. -1. 4. -1. 0. 0. 0. 0.]
[ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. -1. 0. -1. -1. 5. -1. -1. 0. 0.]
[ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. -1. 0. 0. 0. -1. 4. -1. -1. 0.]
[ 0. 0. 0. 0. 0. -1. 0. 0. 0. 0. 0. 0. 0. 0. 0. -1. -1. 5. -1. -1.]
[ 0. -1. -1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. -1. -1. 5. -1.]
[ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. -1. -1. 2.]]
Release files for springcraft 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| springcraft-0.3.0.tar.gz | 43.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| springcraft-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 90.1 kB
Release files / springcraft-0.3.0.tar.gz
| Download URL | springcraft-0.3.0.tar.gz |
|---|---|
| Size | 43.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
faf2184e12bba2094ab4d0405a3fe7131ef0e114b9d2d7cf70bf7d9acfc5874a
|
|
BLAKE2b-256 checksum How to use checksums |
39121b6afd0e5319e760daaeffd848d47cceef74c82af4a615b8c77ddea4cb70
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.7.1 importlib_metadata/4.11.3 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.64.0 CPython/3.9.12
|
Release files / springcraft-0.3.0-py3-none-any.whl
| Download URL | springcraft-0.3.0-py3-none-any.whl |
|---|---|
| Size | 46.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d16e242d95abdbf6d21e7a72e73f336b123744c2b91de87123be4036f8041f2d
|
|
BLAKE2b-256 checksum How to use checksums |
7a006e74bc26264d36cfcea41e2838294cb02fe7e5f5a69be8879d5268a5bc2e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.7.1 importlib_metadata/4.11.3 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.64.0 CPython/3.9.12
|