Web Services Description: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
the web services are accessible at http://gurgendev.bkslab.org:8080/aggregate_lookup/xml-rpc/. | the web services are accessible at http://gurgendev.bkslab.org:8080/aggregate_lookup/xml-rpc/. {LINK NO LONGER WORKING} | ||
The interaction with the service is based on following requests | The interaction with the service is based on following requests | ||
Latest revision as of 22:26, 3 January 2019
the web services are accessible at http://gurgendev.bkslab.org:8080/aggregate_lookup/xml-rpc/. {LINK NO LONGER WORKING} The interaction with the service is based on following requests
Description of Methods
method: '''similarity.getExactMatch'''. returns aggregators and non-aggregators that match the query molecule exactly params: '''<string>smile</string>''' query string This method queries the web service for an exact match(over 95% similarity) '''response''': <struct> <respcode><string>00</string></respcode> //00 in case of success, 90 if no results are found, 99 internal server error <msg><string> Message</string></msg> //optional, only when respcode != 00 <smile><string><string></smile> //filtered smile that was used for query <aggregators> <array> <struct> <formula><string>Formula</string></formula>//chemical formula of the compound <smile><string>SMILE</stiring></smile>//SMILE of the formula <similarity><double>Similarity</double> //similarity level of the molecule to query <reference><string>Reference</string></reference>// reference to where the aggregator was published </struct> </array> </aggregators> <non-aggregators> <array> <struct> <formula><string>Formula</string></formula>//chemical formula of the compound <smile><string>SMILE</stiring></smile>//SMILE of the formula <similarity><double>Similarity</double> //similarity level of the molecule to query <reference><string>Reference</string></reference>// reference to where the aggregator was published </struct> </array> </non-aggregators> </struct> method: '''similarity.getSimilar'''. returns similar aggregators and ambigous that match the query molecule exactly params: '''<string>smile</string>''' query string This method queries the web service for an exact match(over 65% similarity) '''response''': <struct> <respcode><string>00</string></respcode> //00 in case of success, 90 if no results are found, 99 internal server error <msg><string> Message</string></msg> //optional, only when respcode != 00 <smile><string><string></smile> //filtered smile that was used for query <aggregators> <array> <struct> <formula><string>Formula</string></formula>//chemical formula of the compound <smile><string>SMILE</string></smile>//SMILE of the formula <similarity><double>Similarity</double> //similarity level of the molecule to query <reference><string>Reference</string></reference>// reference to where the aggregator was published </struct> </array> </aggregators> < ambiguous > <array> <struct> <formula><string>Formula</string></formula>//chemical formula of the compound <smile><string>SMILE</stiring></smile>//SMILE of the formula <similarity><double>Similarity</double> //similarity level of the molecule to query <reference><string>Reference</string></reference>// reference to where the aggregator was published </struct> </array> </ambiguous> </struct> method: '''similarity.getMurcoSimilars'''. returns similar aggregators and ambigous that match the query molecule exactly params: '''<string>smile</string>''' query string This method queries the web service for matches which have similar(over 95% similarity) murco scaffold. The murco scaffold is calculated using MIB tools '''response''': <struct> <respcode><string>00</string></respcode> //00 in case of success, 90 if no results are found, 99 internal server error <msg><string> Message</string></msg> //optional, only when respcode != 00 <smile><string><string></smile> //smile for murco scaffold that was used for query <aggregators> <array> <struct> <formula><string>Formula</string></formula>//chemical formula of the compound <smile><string>SMILE</string></smile>//SMILE of the formula <similarity><double>Similarity</double> //similarity level of the molecule to query <reference><string>Reference</string></reference>// reference to where the aggregator was published </struct> </array> </aggregators> < ambiguous > <array> <struct> <formula><string>Formula</string></formula>//chemical formula of the compound <smile><string>SMILE</stiring></smile>//SMILE of the formula <similarity><double>Similarity</double> //similarity level of the molecule to query <reference><string>Reference</string></reference>// reference to where the aggregator was published </struct> </array> </ambiguous> </struct> method: '''similarity.getLogP'''. calculates and returns logP value for a molecule params: '''<string>smile</string>''' query string This method queries the web service for an exact match(over 65% similarity) '''response''': <struct> <respcode><string>00</string></respcode> //00 in case of success, 99 internal server error <msg><string> Message</string></msg> //optional, only when respcode != 00 <logP><double>LogP</double></logP> //LogP value as calculated by MIButils </struct> method: '''similarity.getAggregators'''. returns known aggregators from database params: '''<start><string>Start</string><start><count><count>''' start is the id of the aggregator, count is the number of aggregators to retrieve. Web service returns aggregators in the range [start, start+count] '''response''': <struct> <respcode><string>00</string></respcode> //00 in case of success, 90 if no results are found, 99 internal server error <count><int> Count</int></count> //total number of aggreagtors in the database <aggregators> <array> <struct> <formula><string>Formula</string></formula>//chemical formula of the compound <smile><string>SMILE</string></smile>//SMILE of the formula <similarity><double>Similarity</double> //similarity level of the molecule to query <reference><string>Reference</string></reference>// reference to where the aggregator was published </struct> </array> </aggregators> </struct> ===Example Client=== Any XML-RPC client is compatible with this web-service. When using Java I recommend using '''Redstone XML-RPC''' (http://xmlrpc.sourceforge.net/), since it is lightweight and easy to use. Below is an example code for interating with the web servce. import redstone.xmlrpc.XmlRpcClient; import java.util.HashMap; import java.util.ArrayList; public class Test{ public static void main( String[] args ) { try{ XmlRpcClient client = new XmlRpcClient( "http://localhost:8080/aggregate_lookup/xml-rpc/", false ); java.util.HashMap result = (java.util.HashMap)client.invoke("similarity.getSimilar", new Object[] {"c1cc(O)c2C(=O)C(O)=C(Oc2c1)c3ccc(O)c(O)c3"}); System.out.println("result retreived"); java.util.ArrayList agg = (java.util.ArrayList)result.get("aggregators"); System.out.println("retreived agg.size:"+agg.size()); for(int i=0; i< agg.size(); i++){ HashMap hit = (HashMap)agg.get(i); String formula =(String) hit.get("formula"); String reference =(String) hit.get("reference"); Double score =(Double) hit.get("dissimilarity"); System.out.println("Formula:"+formula+"\tReference:"+reference+"\tScore:"+score+"\n"); } }catch(Exception ex) { ex.printStackTrace(); } } }