CICECO & Departamento de Química - Universidade de Aveiro
ProtoSyn.jl is a platform for molecular manipulation and simulation, with an emphasis on peptide design.
The main goal of ProtoSyn.jl is to be a basis on top of which new tools and protocols can be experimented and prototyped. Taking advantage of Julia’s environment, ProtoSyn has been built with emergent technologies in mind, such as distributed computing, GPU/SIMD acceleration and machine learning models usage. ProtoSyn.jl intends to be a playground for trying out new emergent models and algorithms in a plug-and-play environment, completly open-source and with curated & up-do-date documentation, examples and tutorials.
- Edit a peptide structure by removing, adding and mutating any number of residues
- Create peptides from scratch by providing the desired sequence
- Copy parts of other molecules and graft them together to create something new
- Explore Ramachandran maps to introduce secondary structure variations
- Run Monte Carlo simulations to optimize a structure or a sequence
- Calculate energies and forces using native potentials (such as SASA/GB, Coulomb or simple harmonics) or commonly used tools now integrated in Julia (such as TorchANI or REF15 from PyRosetta).
- Perform Steepest Descent optimizations
- Explore rotamer libraries to optimize sidechain packaging
- Select residues based on name, index, distance and other parameters, with a rich combinatory selection syntax
- Perform rigid body docking of ligands
- Include ramified carbohydrates and glycoproteins in your simulations, with support for sugar residues
- Include non-canonical aminoacids (NCAAs) and post-translational modifications, such as methylation or phosporylation
- Generate functionalized carbon models, including multi-layer & pore generation support
After setting up your Julia installation, open a new REPL and add ProtoSyn.jl using the package manager:
julia> ] add https://github.com/sergio-santos-group/ProtoSyn.jl.git
All Julia-based dependencies should be automatically installed/updated. Some functionalities of ProtoSyn.jl interact with external packages or tools (such as Python packages. For example, in order to use TorchANI's energy function, you'll also need to install Python with both Torch and TorchANI libraries). In either case, upon using ProtoSyn.jl for the first time, users should be prompted to install any additional tool, if they so choose. These warning can be supressed at any time by adding export JULIA_PROTOSYN_WARN_NON_AVALIABLE_EFC=false
in the user's .bashrc
file.
For trying out new features, consider using the development branch of ProtoSyn.jl instead. Be aware that some bugs and missing documentation are to be expected when using the latest versions.
julia> ] add https://github.com/sergio-santos-group/ProtoSyn.jl.git#dev
- STABLE — documentation of the most recently tagged version.
For any question or curiosity, please contact [email protected].
Check for the most recent developments in ProtoSyn's blog.