Example workflow demonstrating how to use GeneIlluminator_GetGraph, a synchronous BioMOBY service for gene symbol disambiguation. If a gene symbol is ambiguous this service uses GeneIlluminator to create clusters describing which different genes, sharing the same symbol, exist in different parts of the tree of life. GeneIlluminator provides also aliases associated to the input gene symbol. Finally, a graphical overview of the clusters and gene symbols is created in SVG format and returned to the client. For technical reasons the image is transferred over the wire in ZIPped and Base64 encoded format. On the client-side a Beanshell processor takes care of base64 decoding and unZIPping resulting in the Scalable Vector Graphics (SVG) image.
(Use GeneIlluminator_GetClusters to fetch the raw data instead of a graphical representation of the clusters or GeneIlluminator_Disambiguate to get the most likely cluster for a certain species of interest in addition to the clusters.)
Visit http://www.bioinformatics.nl/gi/ for more info about GeneIlluminator.
GeneIlluminator services use a secure connection over HTTPS. To make this work you *must* import our SSL certificates in your local Java keystores. More information can be found on https://www.bioinformatics.nl/phenolink/home/
//
// Import modules;
//
import java.io.*;
import java.util.zip.*;
import java.io.ByteArrayInputStream;
//
// Main script.
//
String vError = new String("");
String SVG = new String("");
Decoded = "false";
try {
sun.misc.BASE64Decoder oDecoder = new sun.misc.BASE64Decoder();
byte[] vGzippedData = oDecoder.decodeBuffer(Base64EncSVGZ);
ByteArrayInputStream oBAIS = new ByteArrayInputStream(vGzippedData);
GZIPInputStream oGIS = new GZIPInputStream(oBAIS);
BufferedReader oBR = new BufferedReader(new InputStreamReader(oGIS));
String vLine;
while ((vLine = oBR.readLine()) != null) {
//System.out.println(line);
SVG += vLine + System.getProperty("line.separator");
}
//System.out.println(vSVG);
Decoded = "true";
} catch (IOException oError) {
vError = vError + "IO Error: ";
vError = vError + oError.getMessage();
}
Message = vError;
Base64EncSVGZ
SVG
Decoded
LogMessage
Synchronous BioMOBY service for gene symbol disambiguation. If a gene symbol is ambiguous this service uses Gene Illuminator to create clusters describing which different genes sharing the same symbol exist in different parts of the tree of life. GeneIlluminator provides also aliases associated to the input gene symbol. Finally, a graphical overview of the clusters and gene symbols is created in SVG format and returned to the client. Have a look at the GeneIlluminator_GetClusters service if you want a textual representation of this data instead.
http://moby.ucalgary.ca/moby/MOBY-Central.pl
GeneIlluminator_GetGraph
www.bioinformatics.nl
an object
gene_symbol
http://moby.ucalgary.ca/moby/MOBY-Central.pl
Object
Processor to parse the datatype b64_encoded_svgz
http://moby.ucalgary.ca/moby/MOBY-Central.pl
b64_encoded_svgz
graph
Processor to parse the datatype b64_encoded_svgz
Your potentially ambiguous gene symbol of interest or one of it's aliases.
image/svg+xml
Scalable Vector Graphic (SVG) describing clusters of gene symbols that were mentioned in databases / literature in the same "context". Each cluster has:
1. One or more genes with a gene symbol. All genes and their symbols listed for the same cluster are aliases. These gene symbols might be ambiguous.
2. One or more fuctional descriptions. These are the terms that describe the context where the gene symbol was mentioned and that were used for the clustering.
3. One or more clades, identified by IDs from the NCBI Taxonomy. These clades are the last common ancestors (LCAs) of those parts of the tree of life where the gene symbols for this cluster are mentioned in the context of the functional descriptions for this cluster. See the graph's legend for further details.