KEGG:Pathway Scheme
Created: 2012-08-14 14:25:06
Last updated: 2013-08-27 07:47:51
The purpose of the workflow is to determine all the genes operating in the pathways that the input metabolite participates in. The overall idea is to generate a set of genes that potentially influence the levels of a metabolite due to the common pathways that they share.
Preview
Run
Run this Workflow in the Taverna Workbench...
Workflow Components
![header=[] body=[This is the author information extracted from the workflow version] cssheader=[boxoverTooltipHeader] cssbody=[boxoverTooltipBody] delay=[200] Information](/images/famfamfam_silk/information.png?1680607579)
Authors (1)
![header=[] body=[These are the descriptive titles embedded within the workflow version] cssheader=[boxoverTooltipHeader] cssbody=[boxoverTooltipBody] delay=[200] Information](/images/famfamfam_silk/information.png?1680607579)
Titles (1)
![header=[] body=[These are the descriptions embedded within the workflow version] cssheader=[boxoverTooltipHeader] cssbody=[boxoverTooltipBody] delay=[200] Information](/images/famfamfam_silk/information.png?1680607579)
Descriptions (1)
The purpose of the workflow is to determine all the genes operating in the pathways that the input metabolite participates in. The overall idea is to generate a set of genes that potentially influence the levels of a metabolite due to the common pathways that they share. |
![header=[] body=[These are the listed dependencies of the workflow] cssheader=[boxoverTooltipHeader] cssbody=[boxoverTooltipBody] delay=[200] Information](/images/famfamfam_silk/information.png?1680607579)
Dependencies (0)
Inputs (2)
Name |
Description |
Compound |
The input for the workflow is a Kegg compound ID.
|
path_to_output_file |
This takes the input of the local directory where the user wants to store the output result of the workflow.
|
Processors (8)
Name |
Type |
Description |
get_pathways_by_compounds |
wsdl |
Search all pathways which include the given compounds Wsdlhttp://soap.genome.jp/KEGG.wsdlWsdl Operationget_pathways_by_compounds |
get_genes_by_pathway |
wsdl |
Search all genes on the specified pathway. Organism name is given by the name of the pathway map. Wsdlhttp://soap.genome.jp/KEGG.wsdlWsdl Operationget_genes_by_pathway |
convert_to_entrez_id |
beanshell |
The Kegg gene IDs begin with the organism code, for example, hsa:2746. The numerical part corresponds to the entrez gene id, the beanshell removes 'hsa:' to convert the Kegg gene id to entrez gene id. Scriptimport java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.List;
import java.util.ArrayList;
List tmp = new ArrayList();
for(int i=0; i < in1.size(); i++) {
tmp.add(in1.get(i).toString().replace("hsa:",""));
}
result = tmp;
|
Create_and_populate_temporary_file |
beanshell |
This service creates a temporary file in a local tmp directory. ScriptFile f = File.createTempFile("taverna", ".tmp");
BufferedWriter writer = new BufferedWriter(new FileWriter(f));
writer.write(content);
writer.close();
filepath = f.getCanonicalPath(); |
Concatenate_Files |
localworker |
This service examines the files whose paths or URLs are specified in the filelist. The content of those files is concatenated. ScriptBufferedReader getReader (String fileUrl) throws IOException {
InputStreamReader reader;
try {
reader = new FileReader(fileUrl);
}
catch (FileNotFoundException e) {
// try a real URL instead
URL url = new URL(fileUrl);
reader = new InputStreamReader (url.openStream());
}
return new BufferedReader(reader);
}
String NEWLINE = System.getProperty("line.separator");
boolean displayResults = false;
if (displayresults != void) {
displayResults = Boolean.valueOf(displayresults).booleanValue();
}
StringBuffer sb = new StringBuffer(2000);
if (outputfile == void) {
throw new RuntimeException("The 'outputfile' parameter cannot be null");
}
if (filelist == null) {
throw new RuntimeException("The 'filelist' parameter cannot be null");
}
String str = null;
Writer writer = new FileWriter(outputfile);
for (int i = 0; i < filelist.size(); i++) {
BufferedReader reader = getReader(filelist.get(i));
while ((str = reader.readLine()) != null) {
writer.write(str);
writer.write(NEWLINE);
if (displayResults) {
sb.append(str);
sb.append(NEWLINE);
}
}
reader.close();
}
writer.flush();
writer.close();
if (displayResults) {
results= sb.toString();
}
|
Select_only_metabolic_pwy |
beanshell |
This is to insure that we select only metabolic pathways. Scriptimport java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.List;
import java.util.ArrayList;
List tmp = new ArrayList();
for(int i=0; i < in1.size(); i++) {
if( in1.get(i).toString().equals("path:ko00010") || in1.get(i).toString().equals("path:ko00020") || in1.get(i).toString().equals("path:ko00030") || in1.get(i).toString().equals("path:ko00040") || in1.get(i).toString().equals("path:ko00051") || in1.get(i).toString().equals("path:ko00052") || in1.get(i).toString().equals("path:ko00053") || in1.get(i).toString().equals("path:ko00500") || in1.get(i).toString().equals("path:ko00520") || in1.get(i).toString().equals("path:ko00620")
|| in1.get(i).toString().equals("path:ko00630") || in1.get(i).toString().equals("path:ko00640") || in1.get(i).toString().equals("path:ko00650") || in1.get(i).toString().equals("path:ko00660") || in1.get(i).toString().equals("path:ko00562") || in1.get(i).toString().equals("path:ko00190") || in1.get(i).toString().equals("path:ko00195") || in1.get(i).toString().equals("path:ko00196") || in1.get(i).toString().equals("path:ko00710") || in1.get(i).toString().equals("path:ko00720")
|| in1.get(i).toString().equals("path:ko00680") || in1.get(i).toString().equals("path:ko00910") || in1.get(i).toString().equals("path:ko00920") || in1.get(i).toString().equals("path:ko00061") || in1.get(i).toString().equals("path:ko00062") || in1.get(i).toString().equals("path:ko00071") || in1.get(i).toString().equals("path:ko00072") || in1.get(i).toString().equals("path:ko00073") || in1.get(i).toString().equals("path:ko00100") || in1.get(i).toString().equals("path:ko00120")
|| in1.get(i).toString().equals("path:ko00121") || in1.get(i).toString().equals("path:ko00140") || in1.get(i).toString().equals("path:ko00561") || in1.get(i).toString().equals("path:ko00564") || in1.get(i).toString().equals("path:ko00565")
|| in1.get(i).toString().equals("path:ko00600") || in1.get(i).toString().equals("path:ko00590") || in1.get(i).toString().equals("path:ko00591") || in1.get(i).toString().equals("path:ko00592") || in1.get(i).toString().equals("path:ko01040") || in1.get(i).toString().equals("path:ko00230") || in1.get(i).toString().equals("path:ko00240") || in1.get(i).toString().equals("path:ko00250") || in1.get(i).toString().equals("path:ko00260") || in1.get(i).toString().equals("path:ko00270")
|| in1.get(i).toString().equals("path:ko00280") || in1.get(i).toString().equals("path:ko00290") || in1.get(i).toString().equals("path:ko00300") || in1.get(i).toString().equals("path:ko00310") || in1.get(i).toString().equals("path:ko00330") || in1.get(i).toString().equals("path:ko00340") || in1.get(i).toString().equals("path:ko00350") || in1.get(i).toString().equals("path:ko00360") || in1.get(i).toString().equals("path:ko00380") || in1.get(i).toString().equals("path:ko00400")
|| in1.get(i).toString().equals("path:ko00410") || in1.get(i).toString().equals("path:ko00430") || in1.get(i).toString().equals("path:ko00440") || in1.get(i).toString().equals("path:ko00450") || in1.get(i).toString().equals("path:ko00460") || in1.get(i).toString().equals("path:ko00471") || in1.get(i).toString().equals("path:ko00472") || in1.get(i).toString().equals("path:ko00473") || in1.get(i).toString().equals("path:ko00480") || in1.get(i).toString().equals("path:ko00510")
|| in1.get(i).toString().equals("path:ko00513") || in1.get(i).toString().equals("path:ko00512") || in1.get(i).toString().equals("path:ko00514") || in1.get(i).toString().equals("path:ko00532") || in1.get(i).toString().equals("path:ko00534") || in1.get(i).toString().equals("path:ko00533") || in1.get(i).toString().equals("path:ko00531") || in1.get(i).toString().equals("path:ko00563") || in1.get(i).toString().equals("path:ko00601") || in1.get(i).toString().equals("path:ko00603")
|| in1.get(i).toString().equals("path:ko00604") || in1.get(i).toString().equals("path:ko00540") || in1.get(i).toString().equals("path:ko00550") || in1.get(i).toString().equals("path:ko00511") || in1.get(i).toString().equals("path:ko00730") || in1.get(i).toString().equals("path:ko00740") || in1.get(i).toString().equals("path:ko00750") || in1.get(i).toString().equals("path:ko00760") || in1.get(i).toString().equals("path:ko00770") || in1.get(i).toString().equals("path:ko00780")
|| in1.get(i).toString().equals("path:ko00785") || in1.get(i).toString().equals("path:ko00790") || in1.get(i).toString().equals("path:ko00670") || in1.get(i).toString().equals("path:ko00830") || in1.get(i).toString().equals("path:ko00860") || in1.get(i).toString().equals("path:ko00130") || in1.get(i).toString().equals("path:ko00900") || in1.get(i).toString().equals("path:ko00902") || in1.get(i).toString().equals("path:ko00909") || in1.get(i).toString().equals("path:ko00904")
|| in1.get(i).toString().equals("path:ko00906") || in1.get(i).toString().equals("path:ko00905") || in1.get(i).toString().equals("path:ko00981") || in1.get(i).toString().equals("path:ko00908") || in1.get(i).toString().equals("path:ko00903") || in1.get(i).toString().equals("path:ko00281") || in1.get(i).toString().equals("path:ko01052") || in1.get(i).toString().equals("path:ko00522") || in1.get(i).toString().equals("path:ko01051") || in1.get(i).toString().equals("path:ko01056")
|| in1.get(i).toString().equals("path:ko01057") || in1.get(i).toString().equals("path:ko00253") || in1.get(i).toString().equals("path:ko00523") || in1.get(i).toString().equals("path:ko01054") || in1.get(i).toString().equals("path:ko01053") || in1.get(i).toString().equals("path:ko01055") || in1.get(i).toString().equals("path:ko00940") || in1.get(i).toString().equals("path:ko00945") || in1.get(i).toString().equals("path:ko00941") || in1.get(i).toString().equals("path:ko00944")
|| in1.get(i).toString().equals("path:ko00942") || in1.get(i).toString().equals("path:ko00943") || in1.get(i).toString().equals("path:ko00901") || in1.get(i).toString().equals("path:ko00950") || in1.get(i).toString().equals("path:ko00960") || in1.get(i).toString().equals("path:ko01058") || in1.get(i).toString().equals("path:ko00232") || in1.get(i).toString().equals("path:ko00965") || in1.get(i).toString().equals("path:ko00966") || in1.get(i).toString().equals("path:ko00402")
|| in1.get(i).toString().equals("path:ko00311") || in1.get(i).toString().equals("path:ko00312") || in1.get(i).toString().equals("path:ko00521") || in1.get(i).toString().equals("path:ko00524") || in1.get(i).toString().equals("path:ko00331") || in1.get(i).toString().equals("path:ko00231") || in1.get(i).toString().equals("path:ko00401") || in1.get(i).toString().equals("path:ko00362") || in1.get(i).toString().equals("path:ko00627") || in1.get(i).toString().equals("path:ko00364")
|| in1.get(i).toString().equals("path:ko00625") || in1.get(i).toString().equals("path:ko00361") || in1.get(i).toString().equals("path:ko00623") || in1.get(i).toString().equals("path:ko00622") || in1.get(i).toString().equals("path:ko00633") || in1.get(i).toString().equals("path:ko00642") || in1.get(i).toString().equals("path:ko00643") || in1.get(i).toString().equals("path:ko00791") || in1.get(i).toString().equals("path:ko00930") || in1.get(i).toString().equals("path:ko00351")
|| in1.get(i).toString().equals("path:ko00363") || in1.get(i).toString().equals("path:ko00621") || in1.get(i).toString().equals("path:ko00626") || in1.get(i).toString().equals("path:ko00624") || in1.get(i).toString().equals("path:ko00980") || in1.get(i).toString().equals("path:ko00982") || in1.get(i).toString().equals("path:ko00983")
) {
tmp.add(in1.get(i).toString().replace("ko","hsa"));
}
}
out1 = tmp;
|
Remove_String_Duplicates |
localworker |
This service consumes a list of strings and outputs the string list with duplicate entries removed. ScriptList strippedlist = new ArrayList();
for (Iterator i = stringlist.iterator(); i.hasNext();) {
String item = (String) i.next();
if (strippedlist.contains(item) == false) {
strippedlist.add(item);
}
}
|
Flatten_List_2 |
localworker |
This service flattens the inputlist by one level. It returns the result of the flattening. Scriptflatten(inputs, outputs, depth) {
for (i = inputs.iterator(); i.hasNext();) {
element = i.next();
if (element instanceof Collection && depth > 0) {
flatten(element, outputs, depth - 1);
} else {
outputs.add(element);
}
}
}
outputlist = new ArrayList();
flatten(inputlist, outputlist, 1); |
Beanshells (3)
Name |
Description |
Inputs |
Outputs |
convert_to_entrez_id |
The Kegg gene IDs begin with the organism code, for example, hsa:2746. The numerical part corresponds to the entrez gene id, the beanshell removes 'hsa:' to convert the Kegg gene id to entrez gene id. |
in1
|
result
|
Create_and_populate_temporary_file |
This service creates a temporary file in a local tmp directory. |
content
|
filepath
|
Select_only_metabolic_pwy |
This is to insure that we select only metabolic pathways. |
in1
|
out1
|
Datalinks (9)
Source |
Sink |
Compound |
get_pathways_by_compounds:compound_id_list |
Select_only_metabolic_pwy:out1 |
get_genes_by_pathway:pathway_id |
get_genes_by_pathway:return |
convert_to_entrez_id:in1 |
Remove_String_Duplicates:strippedlist |
Create_and_populate_temporary_file:content |
Create_and_populate_temporary_file:filepath |
Concatenate_Files:filelist |
path_to_output_file |
Concatenate_Files:outputfile |
get_pathways_by_compounds:return |
Select_only_metabolic_pwy:in1 |
Flatten_List_2:outputlist |
Remove_String_Duplicates:stringlist |
convert_to_entrez_id:result |
Flatten_List_2:inputlist |
Uploader
License
All versions of this Workflow are
licensed under:
Version 1 (earliest)
(of 2)
Credits (1)
(People/Groups)
Attributions (0)
(Workflows/Files)
None
Shared with Groups (1)
Featured In Packs (1)
Log in to add to one of your Packs
Attributed By (1)
(Workflows/Files)
Favourited By (0)
No one
Statistics
Other workflows that use similar services
(0)
There are no workflows in myExperiment that use similar services to this Workflow.
No comments yet
Log in to make a comment