MLST database SOAP API
We have developed a Simple Object Access Protocol (SOAP) Application Programming Interface (API) to enable software developers to write applications that can query the MLST databases directly without using the standard web interface.
It should be possible to use the API with any computer language with Web services support. The API has been developed using Perl SOAP::Lite and we provide sample code written in Perl and Java to demonstrate the functionality. This code is intended to provide quick and dirty, self-contained demonstrations and doesn't necessarily check for exceptions.
The services offered by this server are described in a Web Services Description Language (WSDL) file. The WSDL description can be used by tools, e.g. the Axis Java library, to automatically generate robust client code, or to test the service, e.g. soapUI.
Services currently available:
| Function | Arguments | Description |
|---|---|---|
| blast | database (string) sequence (string) maxResults (int) [optional] | Performs a BLAST query against all loci for a particular database |
| getAlleleCount | database (string) locus (string) | Returns number of alleles defined for specified locus |
| getAlleleSequence | database (string) locus (string) allele (integer) | Returns allele sequence based on locus name and allele number |
| getAlleleSequences | database (string) locus (string) | Returns all allele sequences defined for a locus |
| getAlleleSequencesURL | database (string) locus (string) | Returns URL of FASTA file of sequences for particular locus |
| getClonalComplex | database (string) ST (integer) | Returns clonal complex defined for a ST |
| getClonalComplexes | database (string) | Returns list of clonal complexes defined in database |
| getDatabaseList | Returns list of available databases | |
| getForwardConsensus | database (string) locus (string) length (int) [optional] | Returns 5' consensus sequence of selected locus. IUPAC codes are used to represent variable bases |
| getIsolate | database (string) id (int) | Returns isolate record |
| getIsolateCount | database (string) | Returns number of isolates submitted to database |
| getIsolateFields | database (string) | Returns isolate fields defined for database |
| getLocusLength | database (string) locus (string) | Returns standard length of locus and a boolean value indicating whether variable lengths are allowed |
| getLocusList | database (string) | Returns list of loci defined for database |
| getProfile | database (string) ST (int) | Returns allelic profile defined for a ST. Clonal complex is also returned if it is defined. |
| getProfileCount | database (string) | Returns number of defined profiles. |
| getProfileListURL | database (string) | Returns URL of a tab-delimited list of allelic profile definitions |
| getRelatedIsolateIdsByProfile | database (string) match (int) [alleleNumber] x n alleleNumber =(locus,id) | Returns list of isolate ids that have profiles that match specified profile at at least the specified number of loci. |
| getRelatedIsolateIdsByST | database (string) match (int) ST (integer) | Returns list of isolate ids that have profiles that match specified ST at at least the specified number of loci. |
| getRelatedProfilesByProfile | database (string) match (integer) [alleleNumber] x n alleleNumber =(locus,id) | Returns profiles (and clonal complexes if defined) that match at at least the specified number of loci. Query is by profile. |
| getRelatedProfilesByST | database (string) match (integer) ST (integer) | Returns profiles (and clonal complexes if defined) that match at at least the specified number of loci. Query is by ST. |
| getRelatedSTsByProfile | database (string) match (int) [alleleNumber] x n alleleNumber =(locus,id) | Returns list of STs that match at at least the specified number of loci. Query is by allelic profile. |
| getRelatedSTsByST | database (string) match (int) ST (integer) | Returns list of STs that match at at least the specified number of loci. Query is by ST. |
| getReverseConsensus | database (string) locus (string) length (int) [optional] | Returns 3' consensus sequence of selected locus. IUPAC codes are used to represent variable bases |
| getSTs | database (string) [alleleNumber] x n alleleNumber =(locus,id) | Returns list of STs that contain all the alleles specified. Any number of loci can be included in a query - include all loci for an exact match. |
| isolateQuery | database (string) [field] x n exactMatch (boolean) [optional] field = (name,value) | Returns a list of isolate ids that match all fields. Searching is not case-sensitive. Any number of fields can be passed as arguments. By passing an exactMatch boolean parameter, you can set whether exact or partial matches are used. |
| locusBlast | database (string) locus (string) sequence (string) maxResults (int) [optional] | Performs a BLAST query against a selected locus for a particular database |
| locusQuery | database (string) locus (string) sequence (string) | Finds a database match to an allele sequence. The sequence must be trimmed to the start and end of the locus with no extraneous bases. If an exact match is not found, the id of the nearest sequence will be returned along with a list of nucleotide differences. |