This workflow searches for genes which reside in a QTL (Quantitative Trait Loci) region in the mouse, Mus musculus. The workflow requires an input of: a chromosome name or number; a QTL start base pair position; QTL end base pair position. Data is then extracted from BioMart to annotate each of the genes found in this region. The Entrez and UniProt identifiers are then sent to KEGG to obtain KEGG gene identifiers. The KEGG gene identifiers are then used to searcg for pathways in the KEGG pathway database.
org.embl.ebi.escience.scuflworkers.java.StringStripDuplicates
mus_musculus
kegg pathway
\n
org.embl.ebi.escience.scuflworkers.java.SplitByRegex
org.embl.ebi.escience.scuflworkers.java.StringListMerge
org.embl.ebi.escience.scuflworkers.java.StringListMerge
org.embl.ebi.escience.scuflworkers.java.StringListMerge
org.embl.ebi.escience.scuflworkers.java.StringStripDuplicates
org.embl.ebi.escience.scuflworkers.java.StringListMerge
org.embl.ebi.escience.scuflworkers.java.StringStripDuplicates
org.embl.ebi.escience.scuflworkers.java.SplitByRegex
org.embl.ebi.escience.scuflworkers.java.StringListMerge
org.embl.ebi.escience.scuflworkers.java.StringListMerge
org.embl.ebi.escience.scuflworkers.java.StringStripDuplicates
org.embl.ebi.escience.scuflworkers.java.StringListMerge
org.embl.ebi.escience.scuflworkers.java.StringStripDuplicates
org.embl.ebi.escience.scuflworkers.java.StringListMerge
org.embl.ebi.escience.scuflworkers.java.StringListMerge
org.embl.ebi.escience.scuflworkers.java.StringListMerge
org.embl.ebi.escience.scuflworkers.java.StringListMerge
org.embl.ebi.escience.scuflworkers.java.StringConcat
org.embl.ebi.escience.scuflworkers.java.StringListMerge
String[] split = input.split("\n");
Vector nonEmpty = new Vector();
for (int i = 0; i < split.length; i++){
if (!(split[i].equals("")))
{
nonEmpty.add(split[i].trim());
}
}
String[] non_empty = new String[nonEmpty.size()];
for (int i = 0; i < non_empty.length; i ++)
{
non_empty[i] = nonEmpty.elementAt(i);
}
String output = "";
for (int i = 0; i < non_empty.length; i++)
{
output = output + (String) (non_empty[i] + "\n");
}
input
output
String[] split = input.split("\n");
Vector nonEmpty = new Vector();
for (int i = 0; i < split.length; i++){
if (!(split[i].equals("")))
{
nonEmpty.add(split[i].trim());
}
}
String[] non_empty = new String[nonEmpty.size()];
for (int i = 0; i < non_empty.length; i ++)
{
non_empty[i] = nonEmpty.elementAt(i);
}
String output = "";
for (int i = 0; i < non_empty.length; i++)
{
output = output + (String) (non_empty[i] + "\n");
}
input
output
String[] split = input.split("\n");
Vector nonEmpty = new Vector();
for (int i = 0; i < split.length; i++){
if (!(split[i].equals("")))
{
nonEmpty.add(split[i].trim());
}
}
String[] non_empty = new String[nonEmpty.size()];
for (int i = 0; i < non_empty.length; i ++)
{
non_empty[i] = nonEmpty.elementAt(i);
}
String output = "";
for (int i = 0; i < non_empty.length; i++)
{
output = output + (String) (non_empty[i] + "\n");
}
input
output
String[] split = input.split("\n");
Vector nonEmpty = new Vector();
for (int i = 0; i < split.length; i++)
{
String trimmed = split[i].trim();
nonEmpty.add(trimmed);
}
String output = "";
for (int i = 0; i < nonEmpty.size(); i++)
{
output = output + "ncbi-geneid:" + (String) (nonEmpty.elementAt(i) + "\n");
}
input
output
String[] split = input.split("\n");
Vector nonEmpty = new Vector();
for (int i = 0; i < split.length; i++){
if (!(split[i].equals("")))
{
nonEmpty.add(split[i].trim());
}
}
String[] non_empty = new String[nonEmpty.size()];
for (int i = 0; i < non_empty.length; i ++)
{
non_empty[i] = nonEmpty.elementAt(i);
}
String output = "";
for (int i = 0; i < non_empty.length; i++)
{
output = output + (String) (non_empty[i] + "\n");
}
input
output
String[] split = input.split("\n");
Vector nonEmpty = new Vector();
for (int i = 0; i < split.length; i++){
if (!(split[i].equals("")))
{
nonEmpty.add(split[i].trim());
}
}
String[] non_empty = new String[nonEmpty.size()];
for (int i = 0; i < non_empty.length; i ++)
{
non_empty[i] = nonEmpty.elementAt(i);
}
String output = "";
for (int i = 0; i < non_empty.length; i++)
{
output = output + (String) (non_empty[i] + "\n");
}
input
output
String[] split = input.split("\n");
Vector nonEmpty = new Vector();
for (int i = 0; i < split.length; i++)
{
String trimmed = split[i].trim();
nonEmpty.add(trimmed);
}
String output = "";
for (int i = 0; i < nonEmpty.size(); i++)
{
output = output + "uniprot:" + (String) (nonEmpty.elementAt(i) + "\n");
}
input
output
Mus musculus genes (NCBIM37)
String[] split = input.split("\n");
Vector nonEmpty = new Vector();
for (int i = 0; i < split.length; i++)
{
String trimmed = split[i].trim();
String[] trimmedSplit = trimmed.split("\t");
if (trimmedSplit.length > 2)
{
nonEmpty.add(trimmedSplit[1].trim());
}
}
String output = "";
for (int i = 0; i < nonEmpty.size(); i++)
{
output = output + (String) (nonEmpty.elementAt(i) + "\n");
}
input
output
Mus musculus genes (NCBIM36)
result = ensemblGene_Id + "," + entrezGeneId + "," + externalGeneId + "," + chromoName + "," + geneStart + "," + geneEnd + "," + ensemblTranscriptId + "," + uniprotAcc + "," + Affy_Mouse430_2;
ensemblGene_Id
entrezGeneId
externalGeneId
chromoName
geneStart
geneEnd
ensemblTranscriptId
uniprotAcc
Affy_Mouse430_2
result
Retrieves the current databases from ENSEMBL for a species
http://phoebus.cs.man.ac.uk:1977/axis/services/qtl_analysis.getcurrentdatabase
This service flattens a list of KEGG output files to provide a list of KEGG pathways names and their associated gene names
http://phoebus.cs.man.ac.uk:1977/axis/services/qtl_analysis.flatten_pathway_files
http://soap.genome.jp/KEGG.wsdl
bconv
http://soap.genome.jp/KEGG.wsdl
binfo
http://soap.genome.jp/KEGG.wsdl
btit
http://soap.genome.jp/KEGG.wsdl
btit
http://soap.genome.jp/KEGG.wsdl
bconv
This workflow removes any null values from a list of strings
This workflow removes any null values from a list of strings
org.embl.ebi.escience.scuflworkers.java.StringListMerge
\n
org.embl.ebi.escience.scuflworkers.java.SplitByRegex
org.embl.ebi.escience.scuflworkers.java.StringListMerge
String pathway_id_input = pathway_ids.trim();
String gene_id_input = gene_id.trim();
String output = "";
output = gene_id_input + "\t" + pathway_id_input;
pathway_ids
gene_id
output
String[] split = input.split("\n");
Vector nonEmpty = new Vector();
for (int i = 0; i < split.length; i++){
if (!(split[i].equals("")))
{
nonEmpty.add(split[i].trim());
}
}
String[] non_empty = new String[nonEmpty.size()];
for (int i = 0; i < non_empty.length; i ++)
{
non_empty[i] = nonEmpty.elementAt(i);
}
String output = "";
for (int i = 0; i < non_empty.length; i++)
{
output = output + (String) (non_empty[i] + "\t");
}
input
output
http://soap.genome.jp/KEGG.wsdl
get_pathways_by_genes
http://phoebus.cs.man.ac.uk:8081/axis/EnsemblListner.jws?wsdl
lister