GithubHelp home page GithubHelp logo

molbiomeduab / rcbs.py Goto Github PK

View Code? Open in Web Editor NEW
3.0 1.0 0.0 9.56 MB

RCBS.py (Reactivity of Chemical and Biochemical Systems) is a Python package that contains several scripts, functions and classes that simplify the analysis of chemical and biochemical simulations.

License: MIT License

Python 100.00%
python molecular-dynamics molecular-dynamics-simulation molecular-simulation molecular-modeling chemistry computational-chemistry qmmm qm-mm

rcbs.py's Introduction

RCBS.py

DOI GitHub release (latest by date) PyPI GitHub MDAnalysis

Description

RCBS.py (Reactivity of Chemical and Biochemical Systems) is a Python package that contains several scripts, functions and classes that simplify the analysis of chemical and biochemical simulations. It is built on top of MDAnalysis package.

The package currently is divided in one main module, md_analyser. This module is mainly built in top of MDAnalysis' and is designed in order to symplify the analysis of MD simulations. In the future, capabilities for building QM/MM models from simulations will be added in a new module.

Installation

Using pip

pip install RCBS.py

From source code

  1. Clone the repository in you local machine
    git clone https://github.com/dynamicsUAB/RCBS.py.git
  2. Move to the folder
    cd RCBS.py
  3. Install the package using pip or pip3
    pip install .

Usage

md_analyser

md_analyser is made of two principal scripts: measurements.py and calculators.py.

measurements.py

This is the main file that has to be imported. In it a class called Measurement is created. This class has one only argument: a preloaded MDAnalysis' Universe. Once the object is created, measurements such as distances or angles can be created using the add_* functions from the class. They require previous creation of atom groups using the select_atoms function form Universe or the selections.selection function from RCBS.py. The syntax for the addition of a measurement is the following (shown using a distance as an example):

from RCBS.md_analyser import measurements

m = measurements.Measurement(u)
m.add_distance('name', sel1, sel2)

More examples are available in the example Notebook from RCBS.py-examples.

Once all measurements are added, m.run_measure() has to be used in order to run the measurements. The code works in such a way that each frame is loaded, each of the measurements is calculated and the next frame is loaded. A progress bar is shown during the process.

Once the measures are ran, m.run_boolean() can be used to do simple statistical studies. Examples can be found in the example Notebook.

calculators.py

In this file all the calculators are stored (work is being done to move all the calculators from measurements.py). Calculators can do very different things --in fact, anything you can think and code-- from the given selections. Calculators have to be implemented so they do the measure over only one structure (or frame) and they return a single variable.

calculators.py is loaded from measurements.py. Each calculator has to be incorporated in measurements.py, both as a add_* function and in the run_measurement function.

Future additions

  • Create a script for automatically add new calculators to measurements.py.
  • Add more calculators.
  • Create the qmmm module.

rcbs.py's People

Contributors

mikicanyelles avatar

Stargazers

 avatar  avatar

Watchers

 avatar

rcbs.py's Issues

Empty measurement class checker

Add an initial checker that checks if no measurement has been added so it prevents running the measures without measuring nothing.

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.