OpenTox API : Algorithm
Provides access to OpenTox algorithms. There are several algorithm services, developed by different OpenTox partners. List of algorithms can be retrieved by HTTP GET operation at http://host:port/algorithm.
Documentation, Representation, Examples
An OpenTox Algorithm resource is an instance of class ot:Algorithm, a subclass of ot:OpentoxResource.
As it can be notices, there are multiple kinds of algorithms, some are descriptor calculation algorithms, and others provide access to different machine learning procedures or data preprocessing. The representation of algorithms is again defined by Opentox ontology, where all algorithms are subclass of ot:Algorithm.
Algorithm name is defined by dc:title (Dublin Core namespace). Parameters, supported by the algorithm are specified via object property ot:parameters and should be of class ot:Parameter (as defined in opentox.owl). These entries serve as a information what parameters are required in order to run the algorithm, the values itself should be provided by the client when initiating the calculations via POST. Algorithm types are distinguished by means of Algorithm types ontology.
Algorithm types ontology is available at http://opentox.org/data/documents/development/RDF%20files/AlgorithmTypes and provides a hierarchical classification of algorithm types. Algorithm type in RDF representation is set by direct subclassing (rdf:type) of a class from the algorithm types ontology (ota:http://www.opentox.org/algorithms.owl ) , e.g. myalgorithm rdf:type ota:Classification, Example 21.
Algorithm types ontology can be used to query algorithms of specific type, via OpenTox Ontology service
Descriptor calculation Classification Regression Expert rules Applicability domain
- Example 1. Retrieve list of all algorithm URIs at IdeaConsult algorithm service :
curl -H "Accept:text/uri-list" https://apps.ideaconsult.net/ambit2/algorithm https://apps.ideaconsult.net/ambit2/algorithm/SimpleKMeans https://apps.ideaconsult.net/ambit2/algorithm/J48 https://apps.ideaconsult.net/ambit2/algorithm/RandomForest https://apps.ideaconsult.net/ambit2/algorithm/Functional+tree https://apps.ideaconsult.net/ambit2/algorithm/LibLINEAR https://apps.ideaconsult.net/ambit2/algorithm/IB1 https://apps.ideaconsult.net/ambit2/algorithm/LR https://apps.ideaconsult.net/ambit2/algorithm/GaussianProcesses https://apps.ideaconsult.net/ambit2/algorithm/IsotonicRegression https://apps.ideaconsult.net/ambit2/algorithm/LMSLR https://apps.ideaconsult.net/ambit2/algorithm/LogisticRegression https://apps.ideaconsult.net/ambit2/algorithm/MLP https://apps.ideaconsult.net/ambit2/algorithm/PaceRegresion https://apps.ideaconsult.net/ambit2/algorithm/RBFNetwork https://apps.ideaconsult.net/ambit2/algorithm/SMO https://apps.ideaconsult.net/ambit2/algorithm/SMOreg https://apps.ideaconsult.net/ambit2/algorithm/VotedPerceptron https://apps.ideaconsult.net/ambit2/algorithm/Winnow https://apps.ideaconsult.net/ambit2/algorithm/Bayesian+Logistic+Regression https://apps.ideaconsult.net/ambit2/algorithm/DMNBtext https://apps.ideaconsult.net/ambit2/algorithm/NaiveBayes https://apps.ideaconsult.net/ambit2/algorithm/NBM https://apps.ideaconsult.net/ambit2/algorithm/BayesianLogisticRegression https://apps.ideaconsult.net/ambit2/algorithm/AODE https://apps.ideaconsult.net/ambit2/algorithm/HNB https://apps.ideaconsult.net/ambit2/algorithm/pka https://apps.ideaconsult.net/ambit2/algorithm/categories https://apps.ideaconsult.net/ambit2/algorithm/toxtreecramer https://apps.ideaconsult.net/ambit2/algorithm/toxtreecramer2 https://apps.ideaconsult.net/ambit2/algorithm/toxtreeverhaar https://apps.ideaconsult.net/ambit2/algorithm/toxtreeverhaar2 https://apps.ideaconsult.net/ambit2/algorithm/toxtreeeye https://apps.ideaconsult.net/ambit2/algorithm/toxtreeskinirritation https://apps.ideaconsult.net/ambit2/algorithm/toxtreemic https://apps.ideaconsult.net/ambit2/algorithm/toxtreeskinsens https://apps.ideaconsult.net/ambit2/algorithm/toxtreesmartcyp https://apps.ideaconsult.net/ambit2/algorithm/toxtreemichaelacceptors https://apps.ideaconsult.net/ambit2/algorithm/toxtreecarc https://apps.ideaconsult.net/ambit2/algorithm/toxtreebiodeg https://apps.ideaconsult.net/ambit2/algorithm/toxtreekroes https://apps.ideaconsult.net/ambit2/algorithm/org.openscience.cdk.qsar.descriptors.molecular.XLogPDescriptor https://apps.ideaconsult.net/ambit2/algorithm/org.openscience.cdk.qsar.descriptors.molecular.ALOGPDescriptor https://apps.ideaconsult.net/ambit2/algorithm/org.openscience.cdk.qsar.descriptors.molecular.MannholdLogPDescriptor https://apps.ideaconsult.net/ambit2/algorithm/ambit2.descriptors.MolecularWeight https://apps.ideaconsult.net/ambit2/algorithm/org.openscience.cdk.qsar.descriptors.molecular.RuleOfFiveDescriptor https://apps.ideaconsult.net/ambit2/algorithm/org.openscience.cdk.qsar.descriptors.molecular.WHIMDescriptor https://apps.ideaconsult.net/ambit2/algorithm/org.openscience.cdk.qsar.descriptors.molecular.TPSADescriptor https://apps.ideaconsult.net/ambit2/algorithm/org.openscience.cdk.qsar.descriptors.molecular.CPSADescriptor https://apps.ideaconsult.net/ambit2/algorithm/org.openscience.cdk.qsar.descriptors.molecular.AromaticAtomsCountDescriptor https://apps.ideaconsult.net/ambit2/algorithm/org.openscience.cdk.qsar.descriptors.molecular.AromaticBondsCountDescriptor https://apps.ideaconsult.net/ambit2/algorithm/org.openscience.cdk.qsar.descriptors.molecular.BondCountDescriptor https://apps.ideaconsult.net/ambit2/algorithm/org.openscience.cdk.qsar.descriptors.molecular.AtomCountDescriptor https://apps.ideaconsult.net/ambit2/algorithm/org.openscience.cdk.qsar.descriptors.molecular.RotatableBondsCountDescriptor https://apps.ideaconsult.net/ambit2/algorithm/org.openscience.cdk.qsar.descriptors.molecular.ChiChainDescriptor https://apps.ideaconsult.net/ambit2/algorithm/org.openscience.cdk.qsar.descriptors.molecular.ChiClusterDescriptor https://apps.ideaconsult.net/ambit2/algorithm/org.openscience.cdk.qsar.descriptors.molecular.ChiPathClusterDescriptor https://apps.ideaconsult.net/ambit2/algorithm/org.openscience.cdk.qsar.descriptors.molecular.ChiPathDescriptor https://apps.ideaconsult.net/ambit2/algorithm/org.openscience.cdk.qsar.descriptors.molecular.LargestChainDescriptor https://apps.ideaconsult.net/ambit2/algorithm/org.openscience.cdk.qsar.descriptors.molecular.LargestPiSystemDescriptor https://apps.ideaconsult.net/ambit2/algorithm/org.openscience.cdk.qsar.descriptors.molecular.HBondAcceptorCountDescriptor https://apps.ideaconsult.net/ambit2/algorithm/org.openscience.cdk.qsar.descriptors.molecular.HBondDonorCountDescriptor https://apps.ideaconsult.net/ambit2/algorithm/org.openscience.cdk.qsar.descriptors.molecular.BCUTDescriptor https://apps.ideaconsult.net/ambit2/algorithm/org.openscience.cdk.qsar.descriptors.molecular.ZagrebIndexDescriptor https://apps.ideaconsult.net/ambit2/algorithm/org.openscience.cdk.qsar.descriptors.molecular.APolDescriptor https://apps.ideaconsult.net/ambit2/algorithm/org.openscience.cdk.qsar.descriptors.molecular.AutocorrelationDescriptorCharge https://apps.ideaconsult.net/ambit2/algorithm/org.openscience.cdk.qsar.descriptors.molecular.AutocorrelationDescriptorMass https://apps.ideaconsult.net/ambit2/algorithm/org.openscience.cdk.qsar.descriptors.molecular.AutocorrelationDescriptorPolarizability https://apps.ideaconsult.net/ambit2/algorithm/org.openscience.cdk.qsar.descriptors.molecular.BPolDescriptor https://apps.ideaconsult.net/ambit2/algorithm/org.openscience.cdk.qsar.descriptors.molecular.CarbonTypesDescriptor https://apps.ideaconsult.net/ambit2/algorithm/org.openscience.cdk.qsar.descriptors.molecular.EccentricConnectivityIndexDescriptor https://apps.ideaconsult.net/ambit2/algorithm/org.openscience.cdk.qsar.descriptors.molecular.FragmentComplexityDescriptor https://apps.ideaconsult.net/ambit2/algorithm/org.openscience.cdk.qsar.descriptors.molecular.GravitationalIndexDescriptor https://apps.ideaconsult.net/ambit2/algorithm/org.openscience.cdk.qsar.descriptors.molecular.IPMolecularDescriptor https://apps.ideaconsult.net/ambit2/algorithm/org.openscience.cdk.qsar.descriptors.molecular.KappaShapeIndicesDescriptor https://apps.ideaconsult.net/ambit2/algorithm/org.openscience.cdk.qsar.descriptors.molecular.KierHallSmartsDescriptor https://apps.ideaconsult.net/ambit2/algorithm/org.openscience.cdk.qsar.descriptors.molecular.LengthOverBreadthDescriptor https://apps.ideaconsult.net/ambit2/algorithm/org.openscience.cdk.qsar.descriptors.molecular.LongestAliphaticChainDescriptor https://apps.ideaconsult.net/ambit2/algorithm/org.openscience.cdk.qsar.descriptors.molecular.MDEDescriptor https://apps.ideaconsult.net/ambit2/algorithm/org.openscience.cdk.qsar.descriptors.molecular.MomentOfInertiaDescriptor https://apps.ideaconsult.net/ambit2/algorithm/org.openscience.cdk.qsar.descriptors.molecular.PetitjeanNumberDescriptor https://apps.ideaconsult.net/ambit2/algorithm/org.openscience.cdk.qsar.descriptors.molecular.PetitjeanShapeIndexDescriptor https://apps.ideaconsult.net/ambit2/algorithm/org.openscience.cdk.qsar.descriptors.molecular.VAdjMaDescriptor https://apps.ideaconsult.net/ambit2/algorithm/org.openscience.cdk.qsar.descriptors.molecular.WienerNumbersDescriptor https://apps.ideaconsult.net/ambit2/algorithm/ambit2.mopac.MopacOriginalStructure https://apps.ideaconsult.net/ambit2/algorithm/ambit2.dragon.DescriptorDragonShell https://apps.ideaconsult.net/ambit2/algorithm/ambit2.some.DescriptorSOMEShell https://apps.ideaconsult.net/ambit2/algorithm/ambit2.descriptors.InChI https://apps.ideaconsult.net/ambit2/algorithm/ambit2.descriptors.AtomTypeVerifierDescriptor https://apps.ideaconsult.net/ambit2/algorithm/ambit2.descriptors.KekulizationVerifier https://apps.ideaconsult.net/ambit2/algorithm/ambit2.mopac.MopacShell https://apps.ideaconsult.net/ambit2/algorithm/finder https://apps.ideaconsult.net/ambit2/algorithm/pcaRanges https://apps.ideaconsult.net/ambit2/algorithm/distanceEuclidean https://apps.ideaconsult.net/ambit2/algorithm/distanceCityBlock https://apps.ideaconsult.net/ambit2/algorithm/distanceMahalanobis https://apps.ideaconsult.net/ambit2/algorithm/nparamdensity https://apps.ideaconsult.net/ambit2/algorithm/leverage https://apps.ideaconsult.net/ambit2/algorithm/fptanimoto https://apps.ideaconsult.net/ambit2/algorithm/fpmissingfragments https://apps.ideaconsult.net/ambit2/algorithm/fingerprints https://apps.ideaconsult.net/ambit2/algorithm/atomenvironments https://apps.ideaconsult.net/ambit2/algorithm/structurequality https://apps.ideaconsult.net/ambit2/algorithm/struckeys https://apps.ideaconsult.net/ambit2/algorithm/smartsprop https://apps.ideaconsult.net/ambit2/algorithm/inchi https://apps.ideaconsult.net/ambit2/algorithm/mcss https://apps.ideaconsult.net/ambit2/algorithm/superservice https://apps.ideaconsult.net/ambit2/algorithm/superbuilder https://apps.ideaconsult.net/ambit2/algorithm/mockup https://apps.ideaconsult.net/ambit2/algorithm/expert
- Example 3. Retrieve list of all algorithm URIs at NTUA algorithm service http://opentox.ntua.gr:8080/algorithm
curl -H "Accept:text/uri-list" http://opentox.ntua.gr:8080/algorithm http://opentox.ntua.gr:8080/algorithm/fastRbfNn http://opentox.ntua.gr:8080/algorithm/pls http://opentox.ntua.gr:8080/algorithm/scaling http://opentox.ntua.gr:8080/algorithm/svm http://opentox.ntua.gr:8080/algorithm/mvh http://opentox.ntua.gr:8080/algorithm/leverages http://opentox.ntua.gr:8080/algorithm/modelBundler http://opentox.ntua.gr:8080/algorithm/mlr http://opentox.ntua.gr:8080/algorithm/consensus http://opentox.ntua.gr:8080/algorithm/cleanup
- Example4. Retrieve a representation of a descriptor calculation algorithm https://apps.ideaconsult.net/ambit2/algorithm/org.openscience.cdk.qsar.descriptors.molecular.XLogPDescriptor
curl -H "Accept:text/uri-list" https://apps.ideaconsult.net/ambit2/algorithm/org.openscience.cdk.qsar.descriptors.molecular.XLogPDescriptor @prefix ot: <http://www.opentox.org/api/1.1#> . @prefix dc: <http://purl.org/dc/elements/1.1/> . @prefix ota: <http://www.opentox.org/algorithmTypes.owl#> . @prefix otee: <http://www.opentox.org/echaEndpoints.owl#> . @prefix bx: <http://purl.org/net/nknouf/ns/bibtex#> . @prefix dcterms: <http://purl.org/dc/terms/> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix bo: <http://www.blueobelisk.org/ontologies/chemoinformatics-algorithms/#> . @prefix bo1: <http://ambit.sourceforge.net/descriptors.owl#> . @prefix owl: <http://www.w3.org/2002/07/owl#> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . ot:Algorithm a owl:Class . dc:description a owl:AnnotationProperty . dc:date a owl:AnnotationProperty . dc:publisher a owl:AnnotationProperty . dc:format a owl:AnnotationProperty . <https://apps.ideaconsult.net/ambit2/algorithm/org.openscience.cdk.qsar.descriptors.molecular.XLogPDescriptor> a ot:Algorithm , ota:DescriptorCalculation ; dc:publisher "https://apps.ideaconsult.net/ambit2/algorithm/"^^xsd:anyURI ; dc:title "XLogP"^^xsd:string ; bo:instanceOf bo:xlogP . dc:type a owl:AnnotationProperty . ot:Parameter a owl:Class . dc:title a owl:AnnotationProperty . ota:DescriptorCalculation a owl:Class .
The algorithm resource is declared as an instance of bo:instanceOf a xlogP algorithm, declared in the BlueObelisk ontology http://www.blueobelisk.org/ontologies/chemoinformatics-algorithms/#xlogP. The BlueObelisk ontology provides details of the algorithm itself, e.g. publication reference.
The BlueObelisk ontology can be queried via Ontology service.
- Example4. Retrieve a representation of a descriptor calculation algorithm https://apps.ideaconsult.net/ambit2/algorithm/org.openscience.cdk.qsar.descriptors.molecular.XLogPDescriptor