Coder Social home page Coder Social logo

c-sinner / sbm-tools Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 701 KB

sbm-tools is a simple python package for creating, modifying, and maintaining input files for native Structure-Based Model simulations to be used with the popular simulation software GROMACS.

License: GNU General Public License v3.0

Python 100.00%
gromacs protein-folding protein-dynamics md-simulations md-analysis structure-based-model

sbm-tools's Introduction

sbmtools

sbmtools is a simple python package for creating, modifying, and maintaining input files for native Structure-Based Model simulations to be used with the popular simulation software GROMACS.

Table of Contents

Introduction
Installation
Usage
Credits
Licence

Installation

There is no specific installation script at the moment. Download the repository to your machine:

wget https://github.com/c-sinner/sbm-tools.git

and try to run the installer with

python3 setup.py install

The software writes input files for GROMACS. If you want to use gaussian potentials please install and use the GROMACS binary distributed on the SMOG website:

Gromacs v4.5.4 containing Gaussian contact potentials

Introduction

Hello young PadawanTM, let me guide you through the world of protein folding and explain the purpose of this repository.

What is a protein?

MD

There are many ways of running a simulation and Structure-Based Models combined with Gromacs is only one way of running a simulation. The two important parts for a biomolecular simulation are the force-field and the simulation software. Structure-Based Models (SBM) can be understood as a specific kind of force-field (They are a class of implicit solvent models free of electrostatic interactions). Gromacs is one of many programs to run biomolecular simulations. It needs the input parameters in specific file formats, namely .top, .gro, and .mdp files.

Usage

Atom coordinates -> contact Map -> Atom Pairs List -> Force Field Potential -> Pairs Section

from sbmtools.pairs import PairsList, AtomPair

# Initiate with a list of iterables.
p1 = PairsList([[1, 2],[1, 3],[2, 3]])

# Initiate with a list of AtomPair objects.
ap1 = AtomPair(1, 2)
ap2 = AtomPair(1, 3)
ap3 = AtomPair(2, 3)

p1 = PairsList([ap1, ap2, ap3])

The following mathematical operations can be used with PairsList:

from sbmtools.pairs import PairsList, AtomPair

p1 = PairsList([ap1, ap2, ap3, ap4])
p2 = PairsList([ap1, ap2, ap5])

# add pairs
p3 = p1 + p2           # returns PairsList([ap1, ap2, ap3, ap4, ap1, ap2, ap5])
p3 = p1.add(p2)        # returns PairsList([ap1, ap2, ap3, ap4, ap1, ap2, ap5])

# remove pairs (behaves as set difference)
p3 = p1 - p2           # returns PairsList([ap3, ap4])
p3 = p1.remove(p2) # returns PairsList([ap3, ap4])

The following set operations have been implemented:

from sbmtools.pairs import PairsList, AbstractAtomPair

p1 = PairsList([ap1, ap2, ap3, ap4])
p2 = PairsList([ap1, ap2, ap5])

# union
p3 = p1.union(p2)      # returns PairsList([ap1, ap2, ap3, ap4, ap5])

# intersection
p3 = p1.intersection(p2)  # returns PairsList([ap1, ap2])

# symmetric difference
p3 = p1.symmetric_difference # returns PairsList([ap3, ap4, ap5])

Credits

Code written by Dr. Claude Sinner @ UTDallas. Please get in touch if this code was useful to you or you have any questions.

License

The project builds upon eSBMTools (Lutz, Sinner, Heuermann, Schug 2013) and copies its GPL3 licence.

sbm-tools's People

Contributors

c-sinner avatar jdg180001 avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.