Code Monkey home page Code Monkey logo

odin's Introduction

ODIN

Build Status

Current Functionality

ODIN is a work in progress. Currently, this is what works:

  • GPU-based scattering simulations (SAXS/WAXS/CXS)

Description

Structural ensemble determination from heterogeneous, multiple experimental sources.

ODIN takes your experimental data and predicts structures, and also structural ensembles in a rigorous way!

ODIN is a flexible software package that implements statistical mechanical theory capable of inferring geometrical structures from almost any experiment. The main focus of the software is on biomolecules studied via x-ray scattering and NMR, but in principle could be adapted to a number of different experimental systems and techniques.

The driving idea behind ODIN is that when an experiment is performed on a system, that experiment contains some quantity of information about the system's geometry. Extracting that information may be difficult. If, however, we possess an algorithm for predicting experiments from structures (often a much easier problem), then a direct comparison is possible. ODIN employs this comparison to generate a structural ensemble that, when run through such an algorithm, is guaranteed to reproduce the experimental data. Further, ODIN works to ensure that this ensemble contains as little "information", as measured by the entropy of the ensemble's Boltzmann distribution, as possible.

Details of the theory and ideas behind the inner workings of ODIN can be found in the references, below, and documentation included in the package.

In addition to providing structure determination functionality, ODIN contains:

  • Powerful tools for predicting SAXS and WAXS experiments, and analyzing these experiments using traditional and correlation techniques.

Install

Installation should be very easy. Hopefully, you can pretty much copy and paste the commands below!

  1. Install the Enthought Python distribution (get the academic version, not the free one: http://www.enthought.com/products/edudownload.php | alternative: install all the below dependencies marked 'epd'). Should be as easy as running their install script.

    sh epd-install-script.sh
  2. Clone & install ODIN

    git clone https://github.com/tjlane/odin.git
     cd odin
     python setup.py install
     
  3. Enjoy!

If you wish to run the structure determination part of ODIN, you'll need an nVidia GPU (sorry ATI owners) and also OpenMM. To get OpenMM, get the correct installation script from https://simtk.org/home/openmm, then

sh ./install

should do the trick!

We support Linux exclusively. MacOS and Windows should work, they are just largely untested. If someone wants to try on either, or has success, please let us know: [email protected].

Dependencies

We HIGHLY recommend using the Enthought python distribution (EPD, http://www.enthought.com/products/epd.php) which contains all of the dependancies marked above with (epd) in a single package. It's awesome and free for academics.

Authors and Contributors

  • TJ Lane
  • Derek Mendez
  • Yutong Zhao
  • Robert McGibbon

License

ODIN is full-GPL. See LICENSE file.

Related Packages

Various parts of ODIN are derived from, or explicitly borrow from:

odin's People

Contributors

tjlane avatar dermen avatar proteneer avatar schwancr avatar sellberg avatar

Watchers

Jade Shi 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.