Gathering Data

From Hackuarium
Jump to navigation Jump to search

Introduction

Gathering data, on a biochemical standpoint, can prove to be at first a daunting task for an inexperienced user. Databases containing information such as chemical structures, gene sequences and protein structures have flourished in the past years. Several of those databases support and provide APIs for remotely, through scripts, access and gather the data. Furthermore, scientists developed libraries allowing one to access the servers with greater ease thanks to some available functions. Here we aim to document several of our favorites databases supporting Python scripting and to present the libraries we use. We will try to implement some of the already existing libraries with scripts facilitating the database access allowing programmers to quickly get access to scripts. We do not pretend to be the first ones listing databases and will try to punctuate the document with existing articles to expand the reader's knowledge.

Chemistry

Here we will describe the databases that we found to be the most complete and where the data access is the most straightforward.

From previous authors

Pubchem

The chemical database by excellence, this database provides a myriad of chemical structures and properties. Possessing a fairly intuitive library, pubchempy, scripting data
Links:

ZINC

ZINC (Zinc Is Not Commercial - That sick acronym though - ) is a database gathering information on a large amount of commercially available compounds. Each compound entry comes with links for providers as well as, sometimes, physical, chemical and biological characteristics. The compounds can be downloaded directly as an optimized 3D coordinates for virtual docking applications. The database can be accessed thanks to the smilite package.
Links:

I remember this package to be unpractical check if I had scriptes for this

ChemSpider

ChemSpider offers information of 57million structures gathered from 518 different sources (Jul 2016). This database is owned by the RSC (Royal Society of Chemistry) and received awards for the quality of the information available. A large pannel of information is freely available on each molecular entry. The database can be accessed using the wrapper ChemSpiPy.
Links:

Protein Structures

In this part we will describe ways, no only to gather pdb files and files containing crystal structures but also ressources allowing you to perform a BLAST or gather information on protein interaction.

Protein Data Bank

The Protein Data Bank, or more commonly known in the field as PDB, is the most massive crystal structure repository freely available on the web. Crystallographs are requested, upon paper submission to deposit quality, X-Ray structures of their published proteins on this website, constantly fueling it with quality data. With libraries such as BioPython, the user can query this database for .pdb files allowing to quickly gather homologues for comparison.
Links:

Expasy (SIB)

This ressource is maintained by the Swiss Institute of Bioinformatics (SIB) and is a good gateway to obtain not only peer-reviewed information on a gene/protein but also packs some powerful tools for BLAST, structure and sequence alignement. Through the main page you are able to request several databases that will give you large amounts of data. Again, the very versatile BioPython library can give you access through scripts to this material.
Links:

PubMed

PubMed, such as PubChem, is the child of the National Center for Biotechnology Information (NCBI) and hosts an extremely large database of scientific papers (their reference sadly most are not open), gene/protein information and
Links:

Genetic sequences

Libraries

Here we describe the most important features of our favorite libraries, most of them have been introduced previously.

BioPython

If there would be one library to use to perform biochemical searches it would be this one. This library packs most of the functionalities a biologist would need. From sequence and structure gathering to alignement and translation the functions proposed in the package are powerful!
Links:

PubChemPy

OpenBabel

The OpenBabel software is one of the most practical ressource when it comes to convert file formats. Indeed, in the world of molecule and structures, during the development of computationally aided chemistry a wide amount of file formats emerged all presenting the information in various ways. Compatibility of files versus program is not always guaranteed and therefore converting these files can prove beneficial in order to ensure smooth computation. OpenBabel possesses a Python wrapper, it is a very valuable one but might be sometimes tricky to install.
Links:

Viewers

In this section we will propose some good Python compatible molecular viewers allowing the user to model protein or molecular structures.

PyMOL

PyMOL is in my opinion one of the most "script friendly" interface. Any feature of a protein can be accessed and modified. It possesses a nice rendering script allowing the user to export professional grade images. Another powerful function of PyMOL is its ability to integrate some plugins giving it more functions.
Links:

MGLTools

MGLTools or also name autodock tools is part of the autodock 4/autodock vina suite. This software was developed by the Scripps Research Institute better known for its excellent program autodock vina (described later). This tool proposes as well a lot of structure optimisation algorithms that help minimize and clean protein structures.
Links:

Computations

Gathering data and possessing structures gets much more interesting if we are using them. Comparing chemical properties and comparing protein structures differences between several micro-organisms might reveal much more information. Here we try to propose and show some already existing applications one can make with data.