https://github.com/isambard-uob/isambard
Intelligent System for Analysis, Model Building And Rational Design of biomolecules.
https://github.com/isambard-uob/isambard
bioinformatics computational-biology parametric-modelling python structural-biology university-of-bristol
Last synced: about 2 months ago
JSON representation
Intelligent System for Analysis, Model Building And Rational Design of biomolecules.
- Host: GitHub
- URL: https://github.com/isambard-uob/isambard
- Owner: isambard-uob
- License: mit
- Created: 2018-04-18T08:14:15.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2021-03-11T16:58:02.000Z (about 5 years ago)
- Last Synced: 2026-04-03T20:10:34.860Z (about 2 months ago)
- Topics: bioinformatics, computational-biology, parametric-modelling, python, structural-biology, university-of-bristol
- Language: Python
- Homepage: https://isambard-uob.github.io/isambard/
- Size: 8.18 MB
- Stars: 26
- Watchers: 1
- Forks: 6
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.txt
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# ISAMBARD
Intelligent System for Analysis, Model Building And Rational Design.
[](https://circleci.com/gh/isambard-uob/isambard)
[](https://woolfson-group.github.io/isambard/)
[](https://github.com/woolfson-group/isambard/blob/master/LICENSE.md)
ISAMBARD is a Python-based framework for structural analysis and rational
design of biomolecules, with a particular focus on parametric modelling of
proteins. It is developed and maintained by members of the [Woolfson group, University of Bristol](http://www.chm.bris.ac.uk/org/woolfson/index.html).
### Citing ISAMBARD
Any publication arising from use of the ISAMBARD software package should cite the following reference:
[Wood CW *et al* (2017) ISAMBARD: an open-source computational environment for biomolecular analysis, modelling and design. *Bioinformatics*, **33**, 3043-50](https://doi.org/10.1093/bioinformatics/btx352)
## Installation
ISAMBARD can be installed straight from PyPI using `pip`:
```
pip install isambard
```
Or if you want to try an experimental build (you'll need a C compiler), download
from GitHub either by downloading the zipped file or cloning, then navigate to
the ISAMBARD folder and type:
```
pip install .
```
## External Programs
If you want to add side chains to your designs, you need to have [Scwrl4](
http://dunbrack.fccc.edu/scwrl4/) installed and available on your system path.
## Upgrading to ISAMBARD 2
If you were already using ISAMBARD prior to the 2.0.0 release, [here's a handy
guide](https://gist.github.com/ChrisWellsWood/578fcea671acbb68d4a130315874027b)
on the differences between version 1 and 2.
## Quick Start
> Note
> If you're not sure what parametric modelling of proteins is, have a
> play with [CCBuilder 2.0](http://coiledcoils.chm.bris.ac.uk/ccbuilder2/builder).
Let's build a coiled-coil dimer with typical parameters:
```Python
import isambard.specifications as specifications
import isambard.modelling as modelling
import isambard.optimisation
my_dimer = specifications.CoiledCoil.from_parameters(2, 28, 5, 225, 283)
dimer_sequences = [
'EIAALKQEIAALKKENAALKWEIAALKQ',
'EIAALKQEIAALKKENAALKWEIAALKQ'
]
my_dimer = modelling.pack_side_chains_scwrl(my_dimer, dimer_sequences)
print(my_dimer.pdb)
# OUT:
# HEADER ISAMBARD Model
# ATOM 1 N GLU A 1 -5.364 -1.566 -0.689 1.00 0.00 N
# ATOM 2 CA GLU A 1 -4.483 -2.220 0.308 1.00 0.00 C
# ATOM 3 C GLU A 1 -3.886 -1.143 1.216 1.00 0.00 C
# ATOM 4 O GLU A 1 -3.740 -1.337 2.425 1.00 0.00 O
# ATOM 5 CB GLU A 1 -3.389 -3.028 -0.392 1.00 0.00 C
# ...
```
Don't know what your parameters might be? Let's optimise them then!
```Python
import budeff
import isambard.optimisation.evo_optimizers as ev_opts
from isambard.optimisation.evo_optimizers import Parameter
specification = specifications.CoiledCoil.from_parameters
sequences = [
'EIAALKQEIAALKKENAALKWEIAALKQ',
'EIAALKQEIAALKKENAALKWEIAALKQ'
]
parameters = [
Parameter.static('Oligomeric State', 2),
Parameter.static('Helix Length', 28),
Parameter.dynamic('Radius', 5.0, 1.0),
Parameter.dynamic('Pitch', 200, 60),
Parameter.dynamic('PhiCA', 283, 27), # 283 is equivalent a g position
]
def get_buff_total_energy(ampal_object):
return budeff.get_internal_energy(ampal_object).total_energy
opt_ga = ev_opts.GA(specification, sequences, parameters, get_buff_total_energy)
opt_ga.run_opt(100, 5, cores=8)
# OUT:
# gen evals avg std min max
# 0 61 -820.401 42.0119 -908.875 -750.001
# 1 59 -859.86 31.4194 -950.15 -807.265
# 2 60 -887.028 23.8683 -951.153 -847.346
# 3 70 -907.257 15.9615 -952.863 -882.028
# 4 81 -922.522 14.6206 -972.335 -903.444
# Evaluated 431 models in total in 0:00:29.523487
# Best fitness is (-972.3348571854714,)
# Best parameters are [2, 28, 4.678360526981807, 151.35365923229745, 277.2061538048508]
optimized_model = opt_ga.best_model
```
This quick example of parametric modelling with ISAMBARD, the next thing to do
is take a look at the [docs](https://isambard-uob.github.io/isambard/) from
tutorials on the tools available, or just take a look through the code base and
hack around. Feel free to contact us through email or the issues if you get
stuck.
# Release Notes
### v2.3.1
* Fixes a minor bug in the DSSP output parsing code
### v2.3.0
* **Introduces functionality to calculate the packing density (measured as the atomic contact number) of all non-hydrogen atoms in a Polymer / Assembly object.**
### v2.2.0
* **Adds pacc module for parametric analysis of coiled coils.**