GithubHelp home page GithubHelp logo

aish-tan / ocean Goto Github PK

View Code? Open in Web Editor NEW

This project forked from rdkit/ocean

0.0 1.0 0.0 21.01 MB

OCEAN - Optimized Cross rEActivity estimatioN

Shell 0.22% Python 28.18% CSS 0.12% JavaScript 65.23% HTML 6.25%

ocean's Introduction

OCEAN - Optimized Cross rEActivity estimatioN

So what is OCEAN?

OCEAN is a web-tool for target-prediction of chemical structures which uses ChEMBL as datasource. For more details please feel free to read the paper.

Software dependencies

We recommend to use myChembl20-VM which has almost everything you need to run OCEAN.

Nevertheless here are the core-depencies:

  • RDKit (2015.03.1) http://www.rdkit.org/
  • Django (1.7.1)
  • numpy (1.9.0)
  • sciPy (0.15.1)
  • your preferred database-server (Oracle or PostgreSQL, we didn't test MySQL or sqlite but they are supported by Django as well)
  • python module for your database-server (cx_oracle for Oracle, psycopg2 for PostgreSQL)

Optional dependencies

  • matplotlib (1.3.0)
  • pillow (2.6.1)
  • images2gif (1.0.1)

Installation using myCHEMBL-VM

Prepare and activate a virtual environment for OCEAN:

# create a virtualEnv for OCEAN
virtualenv --system-site-packages ocean_env

# activate ocean_env
source ocean_env/bin/activate

# install Django 1.7.1
pip install Django==1.7.1

Get a clone of OCEAN from the Repo:

git clone https://www.github.com/rdkit/OCEAN.git
cd OCEAN

Create a PostgreSQL-User, the database for OCEAN and fill the OCEAN-DB:

# create PostgreSQL-User for OCEAN
# password 'ocean_pw' should be used when asked,
# according to database-entry in settings.py
createuser -P -s -d -r -e ocean_user

# create PostgreSQL-Database for OCEAN
createdb --owner=ocean_user ocean

If you want to use ChEMBL17-data for OCEAN you should:

change line CHEMBL_VERSION = "chembl_%d" % (20) in file ocean/settings.py to CHEMBL_VERSION = "chembl_%d" % (17)

createdb --owner=ocean_user chembl_17

# create and populate OCEAN-DB (duration <2 min)
psql chembl_17 < postgres_createOceanDB.sql
./importOcean17DB.sh

# Chembl17 is not a part of myChembl20-VM, so we need to create and populate
# a few tables (duration <10 sec)
psql chembl_17 < postgres_createChembl17Tables.sql
./importChembl17Tables.sh

For ChEMBL20-data you should:

psql chembl_20 < postgres_createOceanDB.sql
./importOcean20DB.sh

It's time to start OCEAN:

# On first start, you have to sync the django-server to create all missing tables.
# When asked, you should create a superuser and set a password.
# This is necessary to have access to the django-admin portal of OCEAN.
python manage.py syncdb

# Start OCEAN
python manage.py runserver 0.0.0.0:8080

The next steps are necessary to create the fingerprints for all structures:

  1. Login to ocean-admin portal http://0.0.0.0:8080/admin

  2. Select CHEMBL and 6 (section a), press createFPs to create Morgan-Fingerprints for all entries. This may take a few minutes. You should see a message at the bottom of the site when the process is done.

The last step is calculating the statistical parameters for OCEAN's scoring-function:

  1. In the Django-Admin portal select CHEMBL, 6 and activate Checkbox rebuild Pairs (section b), press recalc Statistics for Fingerprint and Datasource to calculate statistic-parameters for the scoring-function. This will also take a few minutes. Wait until you see a new message at the bottom of the site.

If you have a MarvinJS licence, you can copy the MarvinJS-folder to ocean/media/MarvinJS and change the line url(r'^$', main_smiles, name='home') in ocean/urls.py to url(r'^$', main_marvin, name='home') to use MarvinJS as sketcher.

Now lets try it:

  1. Open ocean-website http://0.0.0.0:8080

  2. Write a smiles-string into the smiles-field or sketch a molecule (if you have MarvinJS) and press Button Start OCEAN-Search. You should see the results after a few seconds.

Questions or Problems?

If you have any questions or problems with OCEAN please do not hesitate to contact Paul Czodrowski or Wolf-Guido Bolick.

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.