Skip to main content

Posts

Showing posts with the label Software

myChEMBL on Bare Metal

myChEMBL is distributed as a Virtual Machine (VM), which is good because you can treat it like another file on your filesystem. It can be transmitted, copied, renamed, deleted,  etc . The myChEMBL VM behaves like a sandbox, so software installed there can't harm your computer. But there are sometimes costs associated with using a VM, for example VMs are usually several percent slower than the host they are running on. There are also a number of scenarios where using a VM may not optimal or even possible, for example: You just want to enrich your existing machine with chemistry-related software The only machine you have is itself virtual - VM provisioning software often prevents you from installing a VM within a VM When performance is critical In these cases you may not want the whole myChEMBL VM, only the software that it ships with. Fortunately we have a script, that automates the process of creating our customized VM. But not only that - we keep it publicly avail...

How to install myChEMBL using two Vagrant commands

      TL;DR install Vagrant and VirtualBox run vagrant init chembl/myChEMBL && vagrant up wait a bit... go to http://127.0.0.1:8000/ enjoy! What have I just done? Vagrant is a tool for building and deploying complete development environments and myChEMBL 18 now supports installation via Vagrant. We achieved this by first creating a myChEMBL Vagrant Box , which we then register on the Vagrant Cloud . This then allows users to install myChEMBL on there local system using two simple commands*: vagrant init chembl/myChEMBL vagrant up *assumes you have vagrant installed It's that simple! After you type this into your system console, the expected output should be similar to the one below: What are those two commands doing? The first command initializes the current directory to be a Vagrant environment by creating an initial Vagrantfile and prepopulates the config.vm.box setting in the created Vagrantfile. This happens immediately. T...

ADME SARfari: A tool for predicting and comparing cross-species ADME targets

ADME studies are focused on understanding the disposition of a compound within an organism and the results of such studies play a critical role in the drug development process. ADME studies (more commonly referred to as pharmacokinetic or PK studies) are focused on 4 main areas: Absorption, Distribution, Metabolism and Excretion. More information on the PK measurement types can be found here . Comparisons of PK data across species is a potential problem drug researchers need to deal with, as model organism studies are the primary source of such data. For example, in an animal model study, which may be carried out on a compound as it passes through the drug development pipeline, is it meaningful to compare clearance or bioavailability data from a mouse or rat to human? Clearly there are many differences (physical, metabolic, genetic,..), which make answering these types of questions difficult. Building tools which guide researchers to potential answers or pr...

RDKit and Raphael.js

The ChEMBL group had the honour of hosting the second RDKit UGM . It was a great way to catch up with the RDKit community, find out about what they are working and learn about new features the toolkit offers. We gave two talks during the meeting, so if you want to know how Clippy can make interacting with different chemical formats on your desktop easier, go here , and if you want to learn about wrapping RDKit up in a RESTful Web Service a.k.a. Beaker (to be described in future blog post), go here . Many discussions about new features RDKit could offer were had throughout the meeting and one which caught my attention was support for plotting compound images on HTML5 Canvas . Unable to participate in a hackathon held on the final day, I set about hosting my own small hackathon during the weekend (only 1 attendee). The result of this weekend coding effect was a pull request made against RDKit github repo , introducing the new class called JSONCanvas . Technical Details As a ge...

ChEMBL Web Service Update 3: Image Rendering Changes

If you are a follower of this blog you will have seen some earlier posts ( here and here ) providing details on changes we are making to our Web Services. I recommend reviewing the previous posts, but in summary we have setup a temporary base URL to allow existing ChEMBL Web Service users to test the new ChEMBL API powered Web Services. The new temporary base URL is: https://www.ebi.ac.uk/chemblws2 As well as providing users with all existing functionality we have also added a couple of extra features, one of which is improved molecule rendering options. The current live Web Services provides the following REST call to allow you to get a molecule image:   https://www.ebi.ac.uk/chemblws/compounds/CHEMBL192/image     You are able to provide a dimension argument (pixels) to change the size of the image: https://www.ebi.ac.uk/chemblws/compounds/CHEMBL192/image?dimensions=200 The image quality has deteriorated, this is because the ima...

ChEMBL Web Service Update 2: JSONP Support

We posted earlier in the week about some behind the scenes changes we had made to our Web Services. Having read that post (if you missed the post and use our Web Services please take a look), you will know we setup a temporary base URL to allow users to test the new ChEMBL API powered services. The base URL is: https://www.ebi.ac.uk/chemblws2 We have made it straightforward for users to test the new services as all current methods are available using the new base URL. As well as maintaining existing functionality, we have also been able to add a couple of new features, the first of which is JSONP support. Those familiar with web application development will be familiar with the issue of requesting data from a domain different from that of the domain the web application is running. This type of data requested is prevented by the web browser, due to the enforcement of the same-origin policy. This is an important security concept, but there are times when it being able pull...

ChEMBL Web Service Update 1

Over the last the year we have be doing a lot work designing and building an API layer to the ChEMBL database. The reason for adding this programmatic interface is to simplify many of the daily tasks we carry out on the database. From a technical perspective the API is actually a series Object Relational Mapper (ORM) classes built on top of the ChEMBL database using the Python Django web framework . For many of our daily programmatic tasks we use the ORM directly, but we also expose the ORM as a RESTful Interface using Tastypie . Some examples tools and processes currently using the new API include the ChEMBL twitter bot and the database migration process (creating PostgreSQL and MySQL versions of the ChEMBL Oracle database during the ChEMBL release cycle). We are now at the stage where we can start to think about updating some of the existing larger services to run off the new API and first of these to make the transition are the ChEMBL Web Services. So, what have we done? Ess...

Open PHACTS KNIME and Pipeline Pilot Components

Open PHACTS has released a collection of Pipeline Pilot and KNIME workflow components which integrate with the Open PHACTS API. Integration with these well-established graphical workflow tools allows the pharmacological and physicochemical data within the Open PHACTS Discovery Platform to be easily accessed and consumed. Open PHACTS ( O pen PHA rmacological C oncepts T riple S tore) is a project of the Innovative Medicines Initiative ( IMI ) and has seen SMEs, academia and the pharmaceutical industry work together to create a freely-available online platform to multiple, integrated sources of publicly available pharmacological data. The project ends in 2014 and the project’s not-for-profit successor organisation, the Open PHACTS Foundation, will continue to support and develop the infrastructure created. The Open PHACTS Discovery Platform has been designed to answer various critical pharmacology questions, many of which can be addressed using the newly released Pipeline Pi...

Compiling inchi-1 to JavaScript

There are more and more software libraries being ported to JavaScript. The best example is JavaScript/HTML5 Citadel demo of the  Unreal Engine . So why not to try with some chemical stuff? One of the most important chemical software libraries is  IUPAC InChi . It's also extremely hard to reimplement as it's written in low-level, functional-style  C . On the other hand it's just a few headers and source files, without any dependencies so it's a perfect use case for  Emscripten . Emscripten  'is an LLVM-to-JavaScript compiler'. It can be used as a drop-in replacement for standard tools such as gcc or make. Recently it got support for  asm.js  - optimizable, low-level subset of JavaScript. I wasn't the first to come up with this idea - one of our local  heroes ,  Noel O'Boyle  wrote a  set of articles  about translating the InChI code into JavaScript on his blog. I didn't know about his work during my experiment...

2nd RDKit UGM, 2-4 October 2013

We are very happy to announce the 2nd RDKit User Group Meeting.  The  meeting  will take place October 2nd-4th  here the  Genome Campus in Hinxton, UK.  We're using a different format for the meeting this year: Days 1 and 2: Talks, lightning talks, roundtable(s), discussion, and something new: talktorials!  Talktorials are somewhere between a talk and a tutorial, they cover something interesting done with the RDKit and include the code used to do the work. During the presentation you'll give an overview of what you did and also show the pieces of the code that are central to the work. The idea is to mix the science up with the tutorial aspects. Day 3 will be the first ever RDKit sprint: those who choose to stay will spend an intense day working in small groups to produce useful artifacts: new bits of code, knime nodes, knime workflows, tutorials, documentation, IPython notebooks, etc . We'll see who's there and what folks are interested in...

Updated Drug Icons

In the recent release of CHEMBL_15, we have revisited the information displayed in the drug icons used in the ChEMBL interface and in the ChEMBL-og New Drug Approvals monographs and we have made a few changes. The following images show the main changes (in this example, for the case of an oral synthetic small molecule): 1. We have visually separated the ingredient-specific information (icons in green) from the product-specific information (icons in blue) . 2. The chirality icon will now also show if the ingredient is dosed as a racemic mixture (an image of two human hands). 3. An extra icon has been added to indicate the marketing status of a drug product. The product can be available as prescription (an image of the letters RX), over-the-counter (an image of the letters OTC) or discontinued (an image of the letters of RX with a stripe across it). In summary... The ingredient icons (in green) display the following information (from left to right) Drug class th...

DjangoCon - Vote for ChEMBL!!!!

We have a talk entered for DjangoCon Europe 2013 - and there is a vote underway for this - the title of the talk you may wish to vote for is " Do you feel the chemistry? Developing scientific applications with Django. " which is, you probably agree, a pretty interesting subject. You will need a github account to vote - but being hip cats you'll have one already. I must point out that this post has nothing to do with the smash-hit block-buster film Django Unchained from the superstar director Quentin Tarantino (but search engines may well be too stupid to realised this and bump the rank of this post). Update: Voting is now closed. jpo

Browsers and Bugs

We had a support email recently that some things on the interface didn't work with chrome (an export function) - we couldn't repeat the issue with the equipment we have here at ChEMBL Towers . But there are a lot of OS's and a lot of browsers out there, and we can't recreate every possible environment - interestingly, chrome is really popular amongst you people (the image above is a google analytics report of a weeks access of this very blog). I'm a safari man myself.... So as a reminder, we love hearing about bugs and issues, we really do, so send them to [email protected]!

Internship Project - A fully Open Chemically Searchable ChEMBL

For a long time now we have been keen to release a full and freely deployable version of the ChEMBL database with compound search capabilities built in. This has been possible in the past, but complicated by commercial licenses associated with either the databases or the chemical cartridges. There are now a number mature Open Source chemical toolkits available, such as the excellent CDK , and  RDKit. So with that brief bit of background there is now an opportunity for an intern to work in the ChEMBL group on the project for 2-3 months. The idea is will be to setup a process which: Creates a PostgreSQL version of the ChEMBL database (database required by RDKit). Install the RDKit chemical cartridge . Migrate this setup to Amazon Web Service public image . Migrate existing (or new) ChEMBL interface to run off new database and package this up into AWS image. Develop scripts to allow new releases of ChEMBL to be processed and uploaded as a new AWS image. Actually some wor...

ChEMBL RESTful Web Service API Release 1.0.0 - Update

We are pleased to announce that we have updated the ChEMBL RESTful Web Service API ( application programming interface ) with some more of the features that you - the ChEMBL users - have requested.  In particular, we have added support for the: Retrieval of compounds by Canonical SMILES string Retrieval of compounds containing a particular substructure, as given by a Canonical SMILES string Retrieval of a list of compounds similar, at a given cutoff percentage Tanimoto similarity, to one represented by a given Canonical SMILES string Retrieval of compound images, as given by a compound ChEMBLID Checking of the API's health status Inclusion of standard HTTP response codes in API responses Sample urls: Retrieve a compound image - https://www.ebi.ac.uk/chemblws/compounds/CHEMBL192/image Retrieve a compound image sized to specific dimensions - https://www.ebi.ac.uk/chemblws/compounds/CHEMBL192/image?dimensions=220 Retrieve a list of compounds containing ...