The usage of data mining in pharmaceutical companies? I know that data mining applications are being used in pharmaceutical companies, but my question is: what do they use them for? Sometimes I read: "drug discovery", but how? How is it used for drug discovery?!
 A: As you may know, "Data Mining" is a term that can be viewed as an overlap between "Databases" and "Machine Learning". Both are being exploited into the drug discovery field. Also, traditional mining methods and graph mining approaches are applied for the same purpose.
Let me here introduce under every term some examples of their use in drug discovery:


*

*Databases:
A good example of how databases are being used in drug discovery is the PubChem BioAssay database. This database holds reports about biological interactions between compounds (e.g. a drug) and target biological targets (e.g. a protein). The database offer different formats for downloading the data including XML, CSV and recently, RDF. In fact, the way these files are structured allows preparing data in a way suitable for building some data mining model to predict interactions between compounds and their biological targets. Basically, this data coming from either literature or some research institutes is a good source for extracting your training dataset to further pursue a machine learning task. Another good example of a database is DrugBank database.

*Traditional Data Mining Methods:

*Data Representation:
Once you extract a training dataset with records representing chemical compounds and target labels composed of activity scores or activity labels (i.e. positive label for active interaction or negative label for the inactive case), you may progress with feature generation. There has been a good research about generating chemical descriptors for a chemical compound and using them to build your feature vector. Chemical compounds can be represented in a string format called SMILE. For such a SMILE string, there exist ChemInformatics toolkits to generate directly numbers describing the compound. A good example of such toolkits are RDkit and OpenBabel.

*Model Building:
Since you have such a nice data matrix filled with numbers and target labels, you can train any classifier including SVM, KNN, Decision Trees, etc.
Something to note is that usually the distribution of target labels is highly imbalanced towards the inactive cases and you may need to do some kind of preprocessing like Random Undersampling or SMOTE. The reason of such imbalance is because of the low success rate in the experiments for discovering a drug. Basically, experts test thousands of compounds and only a few of them appears to be active.

*Drug Discovery:
Once you have a trained model, you can come up with new drugs from a different database or generate your own. The model shall give you some indication about how probable that the target you built the model for may interact with this new compound.

*References:
Some relevant good references about the topic are:


*

*Exploiting PubChem for virtual screening

*A novel method for mining highly imbalanced high-throughput screening data in PubChem

*Biological Data Mining and Its Applications in Healthcare


*Graph Mining approaches:

*Data Representation:Another way to construct a dataset is through representing it as a graph. Simply, the graph is composed of nodes where each node refers to either a chemical compound or a biological target. The edges between the chemical compounds are weighted by a similarity score. The edges between the biological targets are also weighted by some similarity score that is defined for their domain. Finally, the edges between the compounds and targets indicate if there is an interaction or not. This kind of graph is called a hetrogenous graph and could be thought of as the well-known papers-authors graph example.

*Graph Inference:
Given the constructed graph, you can try to infer a relationship between a specific query and the graph. For example, the query could be a new compound. You search in the graph for the most similar compound for this query (i.e. user defined compound). Then, you check the interacting biological target and you may infer that this query would also interact with the target. This of course is a naive solution as you may assign different weights for the edges or consider the length of a path in your inference.

*Drug Discovery:
Actually, this graph is full of information that may help in drug discovery. Looking at the graph itself and understanding how things are grouped and structured may help in drawing some conclusions about shared side-effects of drugs. In addition, you can find possible predictions for a given query whether it is of a compound type or a biological one. So, for a given protein, for example, you can get a set of possible drugs that will interact with it.

*References:
Some relevant good references about the topic are:


*

*Drug Target Predictions based on Hetrogeneous Graph Inference

*Prediction of drug–target interaction networks from the integration of chemical and genomic spaces

*Supervised prediction of drug–target interactions using bipartite local models
