Research Blog
Ondex
Stats
Jul 1st
- 4842 – Drugs
- 3500 – Targets
- 10743 – bi_to
- 274607 – h_s_s
With this information how likely/often will a motif appear in the dataset.
ONDEXView hss = graph.getRelationsOfRelationType(graph.getMetaData().getRelationType("h_s_s"));
int j = 0;
for (ONDEXRelation r : hss) {
ONDEXConcept to = r.getToConcept();
ONDEXConcept from = r.getFromConcept();
if (to.getOfType().getId().equals("Protein") && from.getOfType().getId().equals("Protein")) {
j++;
}
}
System.out.println("hss " + j);
I’m a ropinirole star
Jun 22nd
Played around with Ondex suite to try and define more motifs.
There were 16 instances of motifs(2) involving Ropinirole.
Useful IDs:
- Chlorpromazine 120943
- Trimeprazine 120836
- Ropinrole 118054
- Pramipexole 118131
- Bupropion 118567
- Sibutramine 118536
- Lidocaine 120780
- Celecoxib 121260
- Finasteride 118603
- Raloxifene 118164
- Topiramate 116780
Motif Definition 2
Jun 17th
The second motif that was defined has been completed in Java.
Example output from Java (cutoff dataset):
Code was ran on the updated dataset:
- There were 70,866 instances of this motif definition in the dataset.
- However, this doesn’t address the issue of the OMIM database. So many of these will not have true “Diseases”. This would probably be best addressed when trying to score this type, if its even possible to do this.
Abstract Motifs
Jun 14th
Developed a java class to represent a abstractMotif as described in the paper (has fields for drug1, drug2 and thepotential target for drug1 (see previous post)). Created a TreeSet (Allows automated sorting of a Set, currently sorting by drug1.getId()) to store motifs found within the dataset, these are added in the method when a target is discovered. These motifs can then be manipulated when trying to score this type of motif.
It would be a good idea to cross check this with Chlorpromazine, but I need to get Linux up and running properly in a dual-boot due to memory issues in Windows (also not being able to print concept names is a problem).
Wrote a toString() method for a nicer output for testing purposes:
Drug1 <--> Drug2 --> Target
I wanted the Concepts name for example Chlorpromazine:
Chlorpromazine <--> Trimeprazine --> Histamine H1 Receptor
However , the ondex API is not working for printing names? – so using getId()’s for now.
Output
Here is some current output of the basic semantic motif definition.
Differences
This new implementation is different to the previously developed code by Cockell, S.J. for the 2010 paper. However, in the cutoff_data.xml.gz 157 motifs were identified, the same as the using the other method. However, there is a difference when using the code on the larger dataset ib2010_data.xml.gz. Previously there were 26,693 motifs identified compared with 29,633 using the new implementation, a difference of 2,940.
Note
It should also be reminded that it was discovered in the proper dataset:
- Drugs seem to have the ConceptClass “
Comp:Compound“. - Rather than the ConceptClass “
Compound“. - There are 70 of these, none of which seem to bind to a target.
- There are over 8k concepts of the former, so I will use this.
Getting data from relations and concepts in Ondex
Jun 1st
Did not know how to get attributes from the ondex data, researched into it by looking at various classes such as GDS and AttributeName. This is my current method of getting this type of data from the dataset:-
Example – TanimotoCoefficient of a “sim” relation:
int i = 0;
for (ONDEXRelation r : relationview) {
// Get an attribute test;
AttributeName an = graph.getMetaData().getAttributeName("TanimotoCoefficient");
GDS gds = r.getGDS(an);
System.out.println(i + "-" + gds.getValue());
i++;
}
General terminal output seems to be done like this in other classes :-
fireEventOccurred(new GeneralOutputEvent("Unknown Relation type set :" + rts + " ignoring", "[Filter - start]"));
Thoughts :-
Store the semantic motifs as ONDEXGraph’s in a Set.
Create these subgraphs using the drug1, drug2, drug1Relations and drug2Relations, used in the code to count motifs. Does ONDEXViewFunctions provide this? (.and, .andNot and .or) Do these automatically give the concepts when “and’ing” to ONDEXView’s of relations.
- But only if it is a ‘match‘.
Previous Code
May 30th
The previous code used to count the abstract semantic motif within the data has been modified and extended so now it correctly functions. (i.e. coded in the latest version of java, new ondex functions, ondex deprecated methods etc…).
Testing gave :-
- 157 semantic motifs for the cutdown_set.xml.gz dataset.
- 26,693 sematnic motifs for the ib2010_data.xml.gz dataset.
Which is the same as what the paper stated, showing the newest code is working correctly.
Monday
May 24th
Browsed other Ondex filter classes for solutions to the iterator problem:
Exception in thread "main" java.lang.NoSuchMethodError: net.sourceforget.ondex.core.ONDEXView.iterator()Ljava/util/Iterator;
Tried a number of methods but still getting the Iterator error no matter what.
Trying a Set/HashSet approach.
Ondex Dataset
May 20th
ConceptClasses
- Compound (Chemical Compound (used as drug))
- Disease (Human Diseases)
- EC
- Protein
- Publication
- Target (Target of Compound concept)
RelationTypes
- bi_to (binds to)
- cat_c (catalysing class)
- inv_in (involved in)
- h_s_s
- is_a
- it_wi (interacts with)
- pub_in (published in)
- r (is related to)
- sim
Data Sources
- UC (Unclassified)
- UC:UNIPROTKB (Collapsed CV Set)
- UNIPROTKB
Evidence Types
- ACC (Accession based mapping)
- BLAST (BLAST based mapping)
- IMPD (Imported from database)
- IMPD_MANUALLY_CURATED
Ondex
May 19th
Downloaded latest version of the Ondex Visualisation Suite (May 2010).
Discovered the compound Dutasteride within the dataset. After using the neighbourhood filter, the results showed that it is linked with Finasteride and Azelaic Acid (hair growth stimulant) are linked to treatment of benign prostatic hyperplasia (BPH) and off-label treatment of male pattern baldness (MPB).





