Mercurial > repos > bernhardlutz > rest_tool
changeset 8:3c1e862e8cd6 draft
Uploaded
author | bernhardlutz |
---|---|
date | Fri, 02 May 2014 05:40:28 -0400 |
parents | 35b41070c20d |
children | 80bf0039c0dc |
files | readfile.py readfile.pyc rest_tool.py rest_tool.xml rest_tool_advanced.py rest_tool_assay_by_activity_or_target.py rest_tool_assays_with_cids_given_target.py rest_tool_macro_advanced.xml rest_tool_macros.xml |
diffstat | 9 files changed, 566 insertions(+), 149 deletions(-) [+] |
line wrap: on
line diff
--- a/readfile.py Thu Apr 03 06:51:54 2014 -0400 +++ b/readfile.py Fri May 02 05:40:28 2014 -0400 @@ -17,3 +17,7 @@ else: return connection.read().rstrip() +def store_result(url, outfile): + data=getresult(url) + outfile.write(data) + outfile.close()
--- a/rest_tool.py Thu Apr 03 06:51:54 2014 -0400 +++ b/rest_tool.py Fri May 02 05:40:28 2014 -0400 @@ -6,7 +6,7 @@ import readfile txt_output=["cids", "aids", "sids", "synonyms" ] -csv_output=["assaysummary"] +csv_output=["assaysummary", "property"] check_for_id_type=["cids", "aids", "sids"] def main(args): @@ -23,6 +23,8 @@ idlist=readfile.getListFromFile(args.id_file) idstring=",".join(idlist) url+=idstring+"/"+args.operation+"/" + if args.operation == "property": + url+=args.property_value+"/" if args.operation in csv_output: url+="csv" elif args.operation in txt_output:
--- a/rest_tool.xml Thu Apr 03 06:51:54 2014 -0400 +++ b/rest_tool.xml Fri May 02 05:40:28 2014 -0400 @@ -6,17 +6,15 @@ </requirements> <macros> <import>rest_tool_macros.xml</import> + <import>rest_tool_macro_advanced.xml</import> </macros> <command interpreter="python"> - #if $choose_action.action == 'search': - rest_tool_search.py --type $choose_action.input_type_search --name $choose_action.search_name --outfile $output - - #elif $choose_action.action == 'specific_data': + #if $choose_action.action == 'specific_data': rest_tool.py - #if $choose_action.field_or_file1.field_or_file1 == 'field': - --id $choose_action.field_or_file1.id1 + #if $choose_action.field_or_file.field_or_file_select == 'field': + --id $choose_action.field_or_file.id_value #else: - --id-file $choose_action.field_or_file1.file_ids_1 + --id-file $choose_action.field_or_file.id_value #end if --type $choose_action.choose_acs.input_type @@ -24,43 +22,31 @@ --operation $choose_action.choose_acs.operation_assay.operation_assay #if $choose_action.choose_acs.operation_assay.operation_assay == 'property': --property-value $choose_action.choose_acs.operation_assay.property_assay - #elif $choose_action.choose_acs.operation_assay.operation_assay == 'aids': - --id-type $choose_action.choose_acs.operation_assay.aids_type_assay - #elif $choose_action.choose_acs.operation_assay.operation_assay == 'cids': - --id-type $choose_action.choose_acs.operation_assay.cids_type_assay - #elif $choose_action.choose_acs.operation_assay.operation_assay == 'sids': - --id-type $choose_action.choose_acs.operation_assay.sids_type_assay + #elif $choose_action.choose_acs.operation_assay.operation_assay == 'aids' or $choose_action.choose_acs.operation_assay.operation_assay == 'cids' or $choose_action.choose_acs.operation_assay.operation_assay == 'sids': + --id-type $choose_action.choose_acs.operation_assay.ids_type_assay #end if #elif $choose_action.choose_acs.input_type == 'compound': --operation $choose_action.choose_acs.operation_compound.operation_compound #if $choose_action.choose_acs.operation_compound.operation_compound == 'property': --property-value $choose_action.choose_acs.operation_compound.property_compound - #elif $choose_action.choose_acs.operation_compound.operation_compound == 'aids': - --id-type $choose_action.choose_acs.operation_compound.aids_type_compound - #elif $choose_action.choose_acs.operation_compound.operation_compound == 'cids': - --id-type $choose_action.choose_acs.operation_compound.cids_type_compound - #elif $choose_action.choose_acs.operation_compound.operation_compound == 'sids': - --id-type $choose_action.choose_acs.operation_compound.sids_type_compound + #elif $choose_action.choose_acs.operation_compound.operation_compound == 'aids' or $choose_action.choose_acs.operation_compound.operation_compound == 'cids' or $choose_action.choose_acs.operation_compound.operation_compound == 'sids': + --id-type $choose_action.choose_acs.operation_compound.ids_type_compound #end if #else: --operation $choose_action.choose_acs.operation_substance.operation_substance #if $choose_action.choose_acs.operation_substance.operation_substance == 'property': --property-value $choose_action.choose_acs.operation_substance.property_substance - #elif $choose_action.choose_acs.operation_substance.operation_substance == 'aids': - --id-type $choose_action.choose_acs.operation_substance.aids_type_substance - #elif $choose_action.choose_acs.operation_substance.operation_substance == 'cids': - --id-type $choose_action.choose_acs.operation_substance.cids_type_substance - #elif $choose_action.choose_acs.operation_substance.operation_substance == 'sids': - --id-type $choose_action.choose_acs.operation_substance.sids_type_substance + #elif $choose_action.choose_acs.operation_substance.operation_substance == 'aids' or $choose_action.choose_acs.operation_substance.operation_substance == 'cids' or $choose_action.choose_acs.operation_substance.operation_substance == 'sids': + --id-type $choose_action.choose_acs.operation_substance.ids_type_substance #end if #end if --outfile $output #elif $choose_action.action == 'compounds_for_assay': rest_tool_comp_for_assay.py - #if $choose_action.field_or_file2.field_or_file2 == 'field': - --aid $choose_action.field_or_file2.id2 + #if $choose_action.field_or_file.field_or_file_select == 'field': + --aid $choose_action.field_or_file.id_value #else: - --aid-file $choose_action.field_or_file2.file_ids_2 + --aid-file $choose_action.field_or_file.id_value #end if --outfile $output #elif $choose_action.action == 'assays_by_activity_or_target': @@ -72,23 +58,81 @@ --target-type $choose_action.activity_or_target.target_identifier_type #end if --outfile $output - + #elif $choose_action.action == 'advanced': + rest_tool_advanced.py + --outfile $output + --type $choose_action.input_type.input_type_select + --id-type $choose_action.input_type.namespace_id.namespace_id_select + #if $choose_action.input_type.input_type_select == 'assay': + #if $choose_action.input_type.namespace_id.namespace_id_select == 'aid': + --id-type-ff $choose_action.input_type.namespace_id.field_or_file.field_or_file_select + --id-value $choose_action.input_type.namespace_id.field_or_file.id_value + #elif $choose_action.input_type.namespace_id.namespace_id_select == 'target': + --id-value $choose_action.input_type.namespace_id.target_select + #elif $choose_action.input_type.namespace_id.namespace_id_select == 'type': + --id-value $choose_action.input_type.namespace_id.type_select + #elif $choose_action.input_type.namespace_id.namespace_id_select == 'activity': + --id-value $choose_action.input_type.namespace_id.activity_select + #end if + + --operation $choose_action.input_type.operation_assay.operation_assay_select + + #if $choose_action.input_type.operation_assay.operation_assay_select == 'property': + --operation-value $choose_action.input_type.operation_assay.operation_assay_select.property_assay + #elif $choose_action.input_type.operation_assay.operation_assay_select == 'target': + --operation-value $choose_action.input_type.operation_assay.operation_assay_select.target_assay + #elif $choose_action.input_type.operation_assay.operation_assay_select == 'aids' or $choose_action.input_type.operation_assay.operation_assay_select == 'cids' or $choose_action.input_type.operation_assay.operation_assay_select == 'sids': + --ids-operation-type $choose_action.input_type.operation_assay.ids_type_assay + #end if + #elif $choose_action.input_type.input_type_select == 'compound': + #if $choose_action.input_type.namespace_id.namespace_id_select == 'cid' or $choose_action.input_type.namespace_id.namespace_id_select == 'name' or $choose_action.input_type.namespace_id.namespace_id_select == 'smiles' or $choose_action.input_type.namespace_id.namespace_id_select == 'inchi' or $choose_action.input_type.namespace_id.namespace_id_select == 'inchikey' or $choose_action.input_type.namespace_id.namespace_id_select == 'sdf': + --id-type-ff $choose_action.input_type.namespace_id.field_or_file.field_or_file_select + --id-value $choose_action.input_type.namespace_id.field_or_file.id_value + #elif $choose_action.input_type.namespace_id.namespace_id_select == 'xref': + --xref $choose_action.input_type.namespace_id.xref_select + --xref-value $choose_action.input_type.namespace_id.xref_value + #end if + + --operation $choose_action.input_type.operation_compound.operation_compound_select + #if $choose_action.input_type.operation_compound.operation_compound_select == 'property': + --operation-value $choose_action.input_type.operation_compound.property_compound + #elif $choose_action.input_type.operation_compound.operation_compound_select == 'xrefs': + --operation-value $choose_action.input_type.operation_compound.xref_compound + #elif $choose_action.input_type.operation_compound.operation_compound_select == 'aids' or $choose_action.input_type.operation_compound.operation_compound_select == 'cids' or $choose_action.input_type.operation_compound.operation_compound_select == 'sids': + --ids-operation-type $choose_action.input_type.operation_compound.ids_type_compound + #end if + + #elif $choose_action.input_type.input_type_select == 'substance': + #if $choose_action.input_type.namespace_id.namespace_id_select == 'sid' or $choose_action.input_type.namespace_id.namespace_id_select == 'name': + --id-type-ff $choose_action.input_type.namespace_id.field_or_file.field_or_file_select + --id-value $choose_action.input_type.namespace_id.field_or_file.id_value + #elif $choose_action.input_type.namespace_id.namespace_id_select == 'xrefs': + --xref $choose_action.input_type.namespace_id.xref_select + --xref-value $choose_action.input_type.namespace_id.xref_value + #end if + --operation $choose_action.input_type.operation_substance.operation_substance_select + #if $choose_action.input_type.operation_substance.operation_substance_select == 'property': + --operation-value $choose_action.input_type.operation_substance.operation_substance_select.property_substance + #elif $choose_action.input_type.operation_substance.operation_substance_select == 'xref': + --operation-value $choose_action.input_type.operation_substance.xref_substance + #elif $choose_action.input_type.operation_substance.operation_substance_select == 'aids' or $choose_action.input_type.operation_substance.operation_substance_select == 'cids' or $choose_action.input_type.operation_substance.operation_substance_select == 'sids': + --ids-operation-type $choose_action.input_type.operation_substance.ids_type_substance + #end if + #end if #end if </command> <inputs> <conditional name="choose_action"> <param name="action" multiple="false" type="select" label="Choose action"> - <option value="search">Search for Assay/Compound/Substance</option> <option value="specific_data">Get Data for specific Assay/Compound/Substance</option> <option value="compounds_for_assay">Get all compound IDs given BioAssay IDs</option> <option value="assays_by_activity_or_target">Get BioAssay IDs given activity/target</option> + <option value="advanced" selected="True">Advanced</option> </param> <when value="search"> <param name="input_type_search" multiple="false" type="select" label="Search for"> - <option value="assay">BioAssay</option> - <option value="compound">Compound</option> - <option value="substance">Substance</option> + <expand macro="acs_options" /> </param> <param name="input_type" multiple="false" type="select" label="Search By"> <option value="name">Name</option> @@ -96,128 +140,26 @@ <param format="txt" name="search_name" type="text" label="Enter the Name" /> </when> <when value="specific_data"> - <conditional name="field_or_file1"> - <param name="field_or_file1" multiple="false" type="select" label="Specify the ID by"> - <option value="field" selected="True">Textfield</option> - <option value="file">File</option> - </param> - <when value="field"> - <param format="txt" name="id1" type="text" label="Enter the ID(s)" /> - </when> - <when value="file"> - <param format="txt,csv" name="file_ids_1" type="data" label="Give the file" /> - </when> - </conditional> + <expand macro="field_or_file" /> <conditional name="choose_acs"> <param name="input_type" multiple="false" type="select" label="Input Type"> - <option value="assay">BioAssay</option> - <option value="compound">Compound</option> - <option value="substance">Substance</option> + <expand macro="acs_options" /> </param> <when value="assay"> - <conditional name="operation_assay"> - <param name="operation_assay" type="select" multiple="false" label="Operation"> - <expand macro="aid_cid_sid" /> - <option value="record">Record</option> - <option value="classification">Classification</option> - <option value="property">Property</option> - <option value="description">Discription</option> - <option value="summary">Summary</option> - </param> - <when value="property"> - <param name="property_assay" label="Specify Property" type="text" /> - </when> - <when value="aids"> - <param name="aids_type_assay" multiple="false" type="select" label="AID Type"> - <expand macro="aids_when_options" /> - </param> - </when> - <when value="cids"> - <param name="cids_type_assay" multiple="false" type="select" label="CID Type"> - <expand macro="aids_when_options" /> - - </param> - </when> - <when value="sids"> - <param name="sids_type_assay" multiple="false" type="select" label="SID Type"> - <expand macro="aids_when_options" /> - <option value="doseresponse">doseresponse</option> - </param> - </when> - </conditional> + <expand macro="conditional_operation_assay" /> </when> <when value="compound"> - <conditional name="operation_compound"> - <param name="operation_compound" type="select" multiple="false" label="Operation"> - <expand macro="aid_cid_sid" /> - <expand macro="option_compound_substance" /> - <option value="property">Property</option> - </param> - <when value="property"> - <param name="property_compound" label="Specify Property" type="text" /> - </when> - <when value="aids"> - <param name="aids_type_compound" multiple="false" type="select" label="AID Type"> - <expand macro="aids_when_options" /> - </param> - </when> - <when value="sids"> - <param name="sids_type_compound" multiple="false" type="select" label="SID Type"> - - <expand macro="cid_sid_type_options" /> - </param> - </when> - <when value="cids"> - <param name="cids_type_compound" multiple="false" type="select" label="CID Type"> - <expand macro="cid_cid_type_options" /> - </param> - </when> - </conditional> + <expand macro="conditional_operation_compound" /> </when> <when value="substance"> - <conditional name="operation_substance"> - <param name="operation_substance" type="select" multiple="false" label="Operation"> - <expand macro="aid_cid_sid" /> - <expand macro="option_compound_substance" /> - </param> - <when value="property"> - <param name="property_substance" label="Specify Property" type="text" /> - </when> - <when value="aids"> - <param name="aids_type_substance" multiple="false" type="select" label="AID Type"> - <expand macro="aids_when_options" /> - </param> - </when> - <when value="cids"> - <param name="cids_type_substance" multiple="false" type="select" label="CID Type"> - <expand macro="sid_cid_type_options" /> - </param> - </when> - <when value="sids"> - <param name="sids_type_substance" multiple="false" type="select" label="SID Type"> - <expand macro="sid_sid_type_options" /> - </param> - </when> - - </conditional> + <expand macro="conditional_operation_substance" /> </when> </conditional> </when> <!-- second option --> <when value="compounds_for_assay"> - <conditional name="field_or_file2"> - <param name="field_or_file2" multiple="false" type="select" label="Specify the ID by"> - <option value="field">Textfield</option> - <option value="file">File</option> - </param> - <when value="field"> - <param format="txt" name="id2" type="text" label="Enter the ID(s)" /> - </when> - <when value="file"> - <param format="txt,csv" name="file_ids_2" type="data" label="Give the file" /> - </when> - </conditional> + <expand macro="field_or_file" /> </when> <!-- third option --> <when value="assays_by_activity_or_target"> @@ -240,7 +182,9 @@ </when> </conditional> </when> - + <when value="advanced"> + <expand macro="advanced2" /> + </when> </conditional> </inputs> <outputs> @@ -251,6 +195,6 @@ <help> **What it does** -This tool fetches data from pubchem +This tool fetches data from pubchem. The outputformat will be if possible csv > txt > xml </help> </tool>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/rest_tool_advanced.py Fri May 02 05:40:28 2014 -0400 @@ -0,0 +1,80 @@ +#!/usr/bin/env python + +import sys, os +import argparse + +import readfile + +#dicitionary for the output format + +dict_output={"cids" :"txt", "aids" : "txt", "sids" : "txt", "description": "xml", "summary" : "xml", "record" : "csv", "classification": "xml", "targets" : "txt", "xrefs" : "txt", "synonyms" : "txt", "property": "csv" } + +#alles andere ist xml +check_for_id_type=["cids", "aids", "sids"] + +id_dict={"compound": "cid", "assay": "aid", "substance" : "sid" } + +def getListString(args): + if args.id_type_ff == "file": + #build comma list + list_string=",".join(getListFromFile(open(args.id_value,"r"))) + else: + list_string=args.id_value + return list_string + + +def main(args): + + url="http://pubchem.ncbi.nlm.nih.gov/rest/pug/"+args.type+"/" + url+=args.id_type+"/" + if args.id_type ==id_dict[args.type]: + url+=getListString(args)+"/" + else: + url+=args.id_value+"/" + url+=args.operation+"/" + if args.operation == "target" or args.operation == "property" or args.operation == "xrefs": + url+=args.operation_value+"/" + + url+=dict_output[args.operation] + if args.operation in check_for_id_type: + url+="?"+args.operation+"_type="+args.ids_operation_type + print(url) + readfile.store_result(url, args.outfile) + + + + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + parser.add_argument('--type', type=str, required=True, + help="That you want BioAssay Compund ...") + parser.add_argument('--id-type', type=str, + help="Specify the ID type") + parser.add_argument('--operation', type=str, required=True, + help="Specify the operation") + parser.add_argument('--operation-value', dest="operation_value", type=str, required=False, + help="Specify the additional operation value") + parser.add_argument('--xref-operation-value', dest="xref_operation_value", type=str, required=False, + help="Specify the xref operation ") + parser.add_argument('--ids-operation-type', dest="ids_operation_type", type=str, required=False, + help="all inactive ...") + parser.add_argument('--xref', dest="xref", type=str, + help="use xref to identify the searched thing") + parser.add_argument('--xref-value', dest="xref_value", type=str, + help="Specify the xref") + parser.add_argument('--property-value', dest="property_value", type=str, + help="Specify the property value") + parser.add_argument('--id-type-ff', dest="id_type_ff", type=str, + help="file or field") + parser.add_argument('--id-value', dest="id_value", type=str, required=True, + help="Specify the id") + parser.add_argument('--outfile', type=argparse.FileType('w'), required=True, + help="Specify the output file") + + + if len(sys.argv) < 8: + print "Too few arguments..." + parser.print_help() + exit(1) + args = parser.parse_args() + main( args )
--- a/rest_tool_assay_by_activity_or_target.py Thu Apr 03 06:51:54 2014 -0400 +++ b/rest_tool_assay_by_activity_or_target.py Fri May 02 05:40:28 2014 -0400 @@ -9,7 +9,7 @@ url="http://pubchem.ncbi.nlm.nih.gov/rest/pug/assay/" if args.activity is None: #target - url+="target/"+args.targettype+"/"+args.targetid + url+= "target/%s/%s" % ( args.targettype, args.targetid ) else: url+="activity/"+args.activity url+="/aids/txt"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/rest_tool_assays_with_cids_given_target.py Fri May 02 05:40:28 2014 -0400 @@ -0,0 +1,93 @@ +#!/usr/bin/env python + + +import sys, os +import argparse +import readfile + +#get every aid as a list +#returns a dictionary with aid as key and as value the list of cids +def getAllAssayIDs(): + url="http://pubchem.ncbi.nlm.nih.gov/rest/pug/assay/type/all/aids/TXT" + data=readfile.getresult(url) + aidlist=readfile.getListFromString(data) + return aidlist + + +def getIDofLine(line): + arr=line.split(">") + if len(arr) > 1: + aid=arr[1].split("<")[0] + return aid + else: + return "-1" + +#get xml of all aids with cids for an activity +def getAllCidsForAssayActivity(activity): + url="http://pubchem.ncbi.nlm.nih.gov/rest/pug/assay/activity/"+activity+"/aids/txt?list_return=listkey" + listkey=readfile.getresult(url) +# url="http://pubchem.ncbi.nlm.nih.gov/rest/pug/assay/listkey/"+listkey+"/cids/xml" + url="http://pubchem.ncbi.nlm.nih.gov/rest/pug/assay/aid/25425,12345/cids/xml" + print("url: "+url) + xml=readfile.getresult(url) + + #init parser + handler = DictHandler() + parser = sax.make_parser() + parser.setContentHandler(handler) + + tempfile=open("tempfile","w") + #handle the last line, there is sometimes some random output + lastline_arr=xml.split("\n") + #print(lastline_arr) + + print("l: ") + print(len(lastline_arr)) + lastline=lastline_arr[len(lastline_arr)-1] + print("lastline: "+lastline) + print("lastline-2: "+lastline_arr[len(lastline_arr)-2]) + cidlastline=getIDofLine(lastline) + aidkey="-1" + if cidlastline != "-1": + i=len(lastline_arr)-2 + #search for nex aid entry + while i >= 0 and "AID" not in lastline_arr[i]: + i-=1 + if i >= 0: + aid=getIDofLine(lastline_arr[i]) + if aid != "-1": + aidkey=aid + #remove the last line and put the array back together + + lastline_arr_list=list(lastline_arr) + #lastline_arr_list.remove(lastline) + xml2="\n".join(lastline_arr_list) + tempfile.write(xml2) + #add the last tags + #tempfile.write("</Information></InformationList>") + tempfile.close() + parser.parse(open("tempfile","r")) + dic=handler.ergebnis + + #add the last line + #if cidlastline != "-1": + # dic[aidkey].append(cidlastline) + return dic + + +def main(args): + aid_cid_dict=getAllCidsForAssayActivity(args.target) + write_to_csv(aid_cid_dict, args.outfile) + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + parser.add_argument('--outfile', type=argparse.FileType('w'), + help="Specify output file") + parser.add_argument('--target', type=str, + help="Specify output file") + if len(sys.argv) < 2: + print "Too few arguments..." + parser.print_help() + exit(1) + args = parser.parse_args() + main( args )
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/rest_tool_macro_advanced.xml Fri May 02 05:40:28 2014 -0400 @@ -0,0 +1,109 @@ +<macros> + <xml name="advanced2"> + <conditional name="input_type"> + <param name="input_type_select" multiple="false" type="select" label="What are you looking for?"> + <expand macro="acs_options" /> + </param> + <when value="assay"> + <conditional name="namespace_id"> + <param name="namespace_id_select" multiple="false" type="select" label="Choose data by"> + <option value="aid">aid</option> + <option value="type">type</option> + <option value="target">target</option> + <option value="activity">activity</option> + </param> + <when value="aid"> + <expand macro="field_or_file" /> + </when> + <when value="type"> + <param name="type_select" multiple="false" type="select" label="Choose type"> + <option value="all">all</option> + <option value="confirmatory">confirmatory</option> + <option value="doseresponse">doseresponse</option> + <option value="onhold">onhold</option> + <option value="panel">panel</option> + <option value="rnai">rnai</option> + <option value="screening">screening</option> + <option value="summary">summary</option> + </param> + </when> + <when value="target"> + <param name="target_select" multiple="false" type="select" label="Choose target"> + <option value="gi">gi</option> + <option value="geneid">geneid</option> + <option value="genesymbol">genesymbol</option> + </param> + </when> + <when value="activity"> + <!-- known activity: ic50, ec50, ac50, gi50 --> + <param name="activity_select" multiple="false" type="select" label="Choose activity"> + <option value="ic50">IC50</option> + <option value="ec50">EC50</option> + <option value="ac50">AC50</option> + <option value="gi50">GI50</option> + </param> + </when> + + </conditional> + + <expand macro="conditional_operation_assay" /> + </when> + <when value="substance"> + <conditional name="namespace_id"> + <param name="namespace_id_select" multiple="false" type="select" label="Choose data by"> + <option value="sid">sid</option> + <option value="name">name</option> + <option value="xref">xref</option> + </param> + <when value="xref"> + <expand macro="xref_select" /> + <param name="xref_value" type="text" label="Enter xref" /> + </when> + <when value="sid"> + <expand macro="field_or_file" /> + </when> + <when value="name"> + <expand macro="field_or_file" /> + </when> + </conditional> + <expand macro="conditional_operation_substance" /> + </when> + <when value="compound"> + <conditional name="namespace_id"> + <param name="namespace_id_select" multiple="false" type="select" label="Choose data by"> + <option value="cid">cid</option> + <option value="name">name</option> + <option value="smiles">smiles</option> + <option value="inchi">inchi</option> + <option value="sdf">sdf</option> + <option value="inchikey">inchikey</option> + <option value="xref">xref</option> + </param> + <when value="xref"> + <expand macro="xref_select" /> + <param name="xref_value" type="text" label="Enter xref" /> + </when> + <when value="cid"> + <expand macro="field_or_file" /> + </when> + <when value="name"> + <expand macro="field_or_file" /> + </when> + <when value="smiles"> + <expand macro="field_or_file" /> + </when> + <when value="inchi"> + <expand macro="field_or_file" /> + </when> + <when value="inchikey"> + <expand macro="field_or_file" /> + </when> + <when value="sdf"> + <expand macro="field_or_file" /> + </when> + </conditional> + <expand macro="conditional_operation_compound" /> + </when> + </conditional> + </xml> +</macros>
--- a/rest_tool_macros.xml Thu Apr 03 06:51:54 2014 -0400 +++ b/rest_tool_macros.xml Fri May 02 05:40:28 2014 -0400 @@ -4,7 +4,11 @@ <option value="cids">CIDs</option> <option value="sids">SIDs</option> </xml> - + <xml name="acs_options"> + <option value="assay">BioAssay</option> + <option value="compound">Compound</option> + <option value="substance">Substance</option> + </xml> <xml name="cid_sid_type_options"> <option value="all">all</option> <option value="standardized">standardized</option> @@ -57,10 +61,191 @@ <option value="synonyms">Synonyms</option> <option value="record">Record</option> <option value="classification">Classification</option> - <option value="property">Property</option> <option value="description">Discription</option> + <option value="xrefs">Xrefs</option> + </xml> + <xml name="compound_properties"> + <param name="property_compound" type="select" multiple="true" label="Specify Property"> + <option value="MolecularFormula">MolecularFormula</option> + <option value="MolecularWeight">MolecularWeight</option> + <option value="CanonicalSMILES">CanonicalSMILES</option> + <option value="IsomericSMILES">IsomericSMILES</option> + <option value="InChI">InChI</option> + <option value="InChIKey">InChIKey</option> + <option value="IUPACName">IUPACName</option> + <option value="XLogP">XLogP</option> + <option value="ExactMass">ExactMass</option> + <option value="MonoisotopicMass">MonoisotopicMass</option> + <option value="TPSA">TPSA</option> + <option value="Complexity">Complexity</option> + <option value="Charge">Charge</option> + <option value="HBondDonorCount">HBondDonorCount</option> + <option value="HBondAcceptorCount">HBondAcceptorCount</option> + <option value="RotatableBondCount">RotatableBondCount</option> + <option value="HeavyAtomCount">HeavyAtomCount</option> + <option value="IsotopeAtomCount">IsotopeAtomCount</option> + <option value="AtomStereoCount">AomStereoCount</option> + <option value="DefinedAtomStereoCount">DefinedAtomStereoCount</option> + <option value="UndefinedAtomStereoCount">UndefinedAtomStereoCount</option> + <option value="BondStereoCount">BondStereoCount</option> + <option value="DefinedBondStereoCount">DefinedBondStereoCount</option> + <option value="UndefinedBondStereoCount">UndefinedBondStereoCount</option> + <option value="CovalentUnitCount">CovalentUnitCount</option> + <option value="Volume3D">lume3D</option> + <option value="XStericQuadrupole3D">XStericQuadrupole3D</option> + <option value="YStericQuadrupole3D">YStericQuadrupole3D</option> + <option value="ZStericQuadrupole3D">ZStericQuadrupole3D</option> + <option value="FeatureCount3D">FeatureCount3D</option> + <option value="FeatureAcceptorCount3D">FeatureAcceptorCount3D</option> + <option value="FeatureDonorCount3D">FeatureDonorCount3D</option> + <option value="FeatureAnionCount3D">FeatureAnionCount3D</option> + <option value="FeatureCationCount3D">FeatureCationCount3D</option> + <option value="FeatureRingCount3D">FeatureRingCount3D</option> + <option value="FeatureHydrophobeCount3D">FeatureHydrophobeCount3D</option> + <option value="ConformerModelRMSD3D">ConformerModelRMSD3D</option> + <option value="EffectiveRotorCount3D">EffectiveRotorCount3D</option> + <option value="ConformerCount3D">ConformerCount3D</option> + </param> + </xml> + <xml name="xref_select"> + <param name="xref_compound_select" label="Choose Xrefs" multiple="true" type="select"> + <expand macro="xref_options" /> + </param> + </xml> + + <xml name="xref_options"> + <option value="RegistryID">external registry identifier</option> + <option value="RN">registry number</option> + <option value="PubMedID">NCBI PubMed identifier</option> + <option value="MMDBID">NCBI MMDB identifier</option> + <option value="DBURL">external database home page URL</option> + <option value="SBURL">external database substance URL</option> + <option value="ProteinGI">NCBI protein GI</option> + <option value="NucleotideGI">NCBI nucleotide GI</option> + <option value="TaxonomyID">NCBI taxonomy identifier</option> + <option value="MIMID NCBI">MIM identifier</option> + <option value="GeneID NCBI">gene identifier</option> + <option value="ProbeID NCBI">probe identifier</option> + <option value="PatentID">patent identifier</option> + <option value="SourceName">external depositor name</option> + <option value="SourceCategory">depositor category(ies)</option> + </xml> + <xml name="field_or_file"> + <conditional name="field_or_file"> + <param name="field_or_file_select" multiple="false" type="select" label="Specify Identifiers by"> + <option value="field">Textfield</option> + <option value="file">File</option> + </param> + <when value="field"> + <param format="txt" name="id_value" type="text" area="true" size="10x40" label="Enter the Identifiers (one per line)" /> + </when> + <when value="file"> + <param format="txt,csv" name="id_value" type="data" label="Select file" /> + </when> + </conditional> </xml> - + <xml name="conditional_operation_compound"> + <conditional name="operation_compound"> + <param name="operation_compound_select" type="select" multiple="false" label="Operation"> + <expand macro="aid_cid_sid" /> + <expand macro="option_compound_substance" /> + <option value="property">Property</option> + </param> + <when value="property"> + <expand macro="compound_properties" /> + </when> + <when value="xrefs"> + <param name="xref_compound" label="Choose Xrefs" multiple="true" type="select"> + <expand macro="xref_options" /> + </param> + </when> + <when value="aids"> + <param name="ids_type_compound" multiple="false" type="select" label="AID Type"> + <expand macro="aids_when_options" /> + </param> + </when> + <when value="sids"> + <param name="ids_type_compound" multiple="false" type="select" label="SID Type"> + <expand macro="cid_sid_type_options" /> + </param> + </when> + <when value="cids"> + <param name="ids_type_compound" multiple="false" type="select" label="CID Type"> + <expand macro="cid_cid_type_options" /> + </param> + </when> + </conditional> + </xml> + <xml name="conditional_operation_assay"> + <conditional name="operation_assay"> + <param name="operation_assay_select" type="select" multiple="false" label="Operation"> + <expand macro="aid_cid_sid" /> + <option value="record">Record</option> + <option value="classification">Classification</option> + <option value="xrefs">Xrefs</option> + <option value="description">Discription</option> + <option value="summary">Summary</option> + <option value="targets">Targets</option> + </param> + <when value="xrefs"> + <param name="property_assay" label="Specify Property" type="text" /> + </when> - + <when value="targets"> + <param name="target_assay" label="Specify Target" type="select" multiple="true"> + <option value="ProteinGI">NCBI GI of a protein sequence</option> + <option value="ProteinName">Protein Name</option> + <option value="GeneID">NCBI Gene database identifier</option> + <option value="GeneSymbol">Gene Symbol</option> + </param> + </when> + <when value="aids"> + <param name="ids_type_assay" multiple="false" type="select" label="AID Type"> + <expand macro="aids_when_options" /> + </param> + </when> + <when value="cids"> + <param name="ids_type_assay" multiple="false" type="select" label="CID Type"> + <expand macro="aids_when_options" /> + + </param> + </when> + <when value="sids"> + <param name="ids_type_assay" multiple="false" type="select" label="SID Type"> + <expand macro="aids_when_options" /> + <option value="doseresponse">doseresponse</option> + </param> + </when> + </conditional> + </xml> + <xml name="conditional_operation_substance"> + <conditional name="operation_substance"> + <param name="operation_substance_select" type="select" multiple="false" label="Operation"> + <expand macro="aid_cid_sid" /> + <expand macro="option_compound_substance" /> + </param> + + <when value="xrefs"> + <param name="xref_substance" label="Choose Xrefs" multiple="true" type="select"> + <expand macro="xref_options" /> + </param> + </when> + <when value="aids"> + <param name="ids_type_substance" multiple="false" type="select" label="AID Type"> + <expand macro="aids_when_options" /> + </param> + </when> + <when value="cids"> + <param name="ids_type_substance" multiple="false" type="select" label="CID Type"> + <expand macro="sid_cid_type_options" /> + </param> + </when> + <when value="sids"> + <param name="ids_type_substance" multiple="false" type="select" label="SID Type"> + <expand macro="sid_sid_type_options" /> + </param> + </when> + + </conditional> + </xml> </macros>