This workflow uses one or more services that are deprecated as of 31st December 2012 (almost 12 years ago), and may no longer function. Show details...
Kegg pathway diagrams (missing part 3)
Find pathways in which all the genes in the list are involved. For each pathway draw the pathway diagram. Colour all enzyme boxes with colours specified. This workflow still has one problem. The list of colours have to be specified. I would like ideally to only except one background and one foreground colour and expand that to a list with length equivalent to the number of enzymes found - just duplicating the specified colours. However with almost no Taverna documentation to speak of, none of my efforts wanted to work so far.
Find pathways in which all the genes in the list are involved. For each pathway draw the pathway diagram.
for each protein draw a diagram of the Kegg pathway that its protein is involved in and where available visualise the structures
Preview
Run
Run this Workflow in the Taverna Workbench...
Option 1:
Copy and paste this link into File > 'Open workflow location...'
http://myexperiment.org/workflows/1186/download?version=2
[ More Info ]
Taverna is available from http://taverna.sourceforge.net/
If you are having problems downloading it in Taverna, you may need to provide your username and password in the URL so that Taverna can access the Workflow:
Replace http:// in the link above with http://yourusername:yourpassword@
Workflow Components
Jannetta Steyn |
Kegg pathway diagrams |
Kegg pathway diagrams with enzymes coloured on path diagram |
Find pathways in which all the genes in the list are involved. For each pathway draw the pathway diagram. Colour all enzyme boxes with colours specified. This workflow still has one problem. The list of colours have to be specified. I would like ideally to only except one background and one foreground colour and expand that to a list with length equivalent to the number of enzymes found - just duplicating the specified colours. However with almost no Taverna documentation to speak of, none of my efforts wanted to work so far. |
Find pathways in which all the genes in the list are involved. For each pathway draw the pathway diagram. |
for each protein draw a diagram of the Kegg pathway that its protein is involved in and where available visualise the structures |
None
Name | Description |
---|---|
Species |
The three letter species code KEGG The three letter species code used by KEGG |
bg_color |
The background colour for the boxes containing enzymes. The background colour for the boxes containing enzymes. Values can be given as strings or hexadecimal RGB colour codes. |
fg_color | The text colour for the boxes containing enzymes. Values can be given as strings or hexadecimal RGB colour codes. |
path_proteins | |
drugs_file | |
DBSavePath | |
Sequence1 | Full path to FastA file containg nucleotide genome sequence (NB this would be supplied by part 1 however due to an oversight only the genome sequence from one EMBL file is generated) |
Sequence2 | Full path to FastA file containg nucleotide genome sequence (NB this would be supplied by part 1 however due to an oversight only the genome sequence from one EMBL file is generated) |
source_file_path | EMBL file name for source (file must be in EMBL folder within path specificed in DBSavePath e.g. D:\Drutex\EMBL\) |
target_file_path | EMBL file name for target (file must be in EMBL folder within path specificed in DBSavePath e.g. D:\Drutex\EMBL\) |
blast_bin_dir | File path to folder which contains FormatDB.exe |
Name | Type | Description |
---|---|---|
Workflow89 | workflow | |
Get_Image_From_URL_2 | localworker |
ScriptURL inputURL = null; if (base != void) { inputURL = new URL(new URL(base), url); } else { inputURL = new URL(url); } byte[] contents; if (inputURL.openConnection().getContentLength() == -1) { // Content size unknown, must read first... byte[] buffer = new byte[1024]; int bytesRead = 0; int totalBytesRead = 0; InputStream is = inputURL.openStream(); while (bytesRead != -1) { totalBytesRead += bytesRead; bytesRead = is.read(buffer, 0, 1024); } contents = new byte[totalBytesRead]; } else { contents = new byte[inputURL.openConnection().getContentLength()]; } int bytesRead = 0; int totalBytesRead = 0; InputStream is = inputURL.openStream(); while (bytesRead != -1) { bytesRead = is.read(contents, totalBytesRead, contents.length - totalBytesRead); totalBytesRead += bytesRead; if (contents.length==totalBytesRead) break; } image = contents; |
color_pathway_by_objects | wsdl |
Wsdlhttp://soap.genome.jp/KEGG.wsdlWsdl Operationcolor_pathway_by_objects |
get_enzymes_by_gene | wsdl |
Wsdlhttp://soap.genome.jp/KEGG.wsdlWsdl Operationget_enzymes_by_gene |
get_genes_by_enzyme | wsdl |
Wsdlhttp://soap.genome.jp/KEGG.wsdlWsdl Operationget_genes_by_enzyme |
get_pathways_by_genes | wsdl |
Wsdlhttp://soap.genome.jp/KEGG.wsdlWsdl Operationget_pathways_by_genes |
Flatten_List | localworker |
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); |
Flatten_List_2 | localworker |
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); |
Remove_String_Duplicates | localworker |
ScriptList strippedlist = new ArrayList(); for (Iterator i = stringlist.iterator(); i.hasNext();) { String item = (String) i.next(); if (strippedlist.contains(item) == false) { strippedlist.add(item); } } |
Beanshell | beanshell |
ScriptList bg_colors = new ArrayList(); List fg_colors = new ArrayList(); for (int i = 0; i < genes_list.size(); i++) { fg_colors.add(fg_color); bg_colors.add(bg_color); } |
Flatten_List_3 | localworker |
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); |
Flatten_List_4 | localworker |
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); |
Flatten_List_5 | localworker |
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); |
Flatten_List_6 | localworker |
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); |
Flatten_List_7 | localworker |
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); |
Flatten_List_8 | localworker |
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); |
Nested_workflow | workflow | |
Flatten_List_9 | localworker |
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); |
Flatten_List_2_2 | localworker |
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); |
Flatten_List_3_2 | localworker |
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); |
Filter_list_of_strings_extracting_match_to_a_regex | localworker |
Scriptimport java.util.regex.*; filteredlist = new ArrayList(); Pattern thePat = Pattern.compile(regex); int theGroup = Integer.parseInt(group); for (Iterator i = stringlist.iterator(); i.hasNext();) { String item = (String) i.next(); Matcher matcher = thePat.matcher(item); if (matcher.find()) { String s = matcher.group(theGroup); s = s.trim(); filteredlist.add(s); } } |
Group | stringconstant |
Value1 |
Regex | stringconstant |
Value.*gi\|(\w*)\| |
Beanshell_2 | beanshell |
ScriptArrayList n = new ArrayList(); for (int i = 0; i < in0.size(); i++) { ArrayList tmp = new ArrayList(); tmp.add (in0.get(i)); n.add(tmp); } |
Flatten_List_10 | localworker |
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); |
runMGCAT | localworker |
Scriptif (command == void || command.equals("")) { throw new RuntimeException("The 'command' port cannot be null."); } Process proc = null; Runtime rt = Runtime.getRuntime(); String osName = System.getProperty("os.name"); String[] cmdArray = null; if (osName.equals("Windows NT") || osName.equals("Windows XP")) { cmdArray = new String[] { "cmd.exe", "/c", command }; } else if (osName.equals("Windows 95")) { cmdArray = new String[] { "command.exe", "/c", command }; } else {// TODO: investigate if this will work in Linux and OSX cmdArray = new String[] { command }; } // concatenate the arrays if (args == null) { String args = new String(); } int argSize = cmdArray.length + 1; ArrayList appArray = new ArrayList(argSize); for (int i = 0; i < cmdArray.length; i++) { appArray.add(cmdArray[i]); } appArray.add(args); String[] applist = new String[argSize]; appArray.toArray(applist); File f = new File("D:/blastdb/"); proc = rt.exec(applist,null,f); // Get the input stream and read from it InputStream in = proc.getInputStream(); int c; StringBuffer sb = new StringBuffer(); while ((c = in.read()) != -1) { sb.append((char) c); } in.close(); result = sb.toString(); |
MGCAT_Path | stringconstant |
ValueD:\mgcat_v15b\mgcat.exe |
Working_Dir | stringconstant |
ValueD:\blastdb\ |
Read_Text_File | localworker |
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); } StringBuffer sb = new StringBuffer(4000); BufferedReader in = getReader(fileurl); String str; String lineEnding = System.getProperty("line.separator"); while ((str = in.readLine()) != null) { sb.append(str); sb.append(lineEnding); } in.close(); filecontents = sb.toString(); |
Split_string_into_string_list_by_regular_expression | localworker |
ScriptList split = new ArrayList(); if (!string.equals("")) { String regexString = ","; if (regex != void) { regexString = regex; } String[] result = string.split(regexString); for (int i = 0; i < result.length; i++) { split.add(result[i]); } } |
Regex1 | stringconstant |
Value\n |
Filter_List_of_Strings_by_regex | localworker |
Scriptimport java.util.regex.*; filteredlist = new ArrayList(); Pattern thePat1 = Pattern.compile(regex1); Pattern thePat2 = Pattern.compile(regex2); int theGroup = Integer.parseInt(group); for (Iterator i = stringlist.iterator(); i.hasNext();) { String item = (String) i.next(); Matcher matcher1 = thePat1.matcher(item); Matcher matcher2 = thePat2.matcher(item); if (matcher1.find()) { filteredlist.add("file=" + file + "\r"); } else if (matcher2.find()) { filteredlist.add("file1=" + file2 + "\r"); } else { filteredlist.add(item); } } |
Regex2 | stringconstant |
Value^file=.* |
Regex3 | stringconstant |
Value^file1=.* |
Write_Text_File | localworker |
ScriptBufferedWriter out = new BufferedWriter(new FileWriter(outputFile)); out.write(filecontents); out.close(); outputFile = filecontents; |
Concatenate_strings | localworker |
ScriptString output = new String(); output = stringlist.get(0); for (i = 1; i < stringlist.size(); i++) { output = output + "\n" + stringlist.get(i); } |
Group_2 | stringconstant |
Value1 |
INI_File | stringconstant |
ValueD:\mgcat_v15b\mgcat.ini |
Read_Text_File_2 | localworker |
ScriptString fileUrl1 = new String(); fileUrl1 = fileurl + "/output/mgcat.log"; BufferedReader getReader (String fileUrl) throws IOException { InputStreamReader reader; try { reader = new FileReader(fileUrl1); } catch (FileNotFoundException e) { // try a real URL instead URL url = new URL(fileUrl1); reader = new InputStreamReader (url.openStream()); } return new BufferedReader(reader); } StringBuffer sb = new StringBuffer(4000); BufferedReader in = getReader(fileUrl1); String str; String lineEnding = System.getProperty("line.separator"); while ((str = in.readLine()) != null) { sb.append(str); sb.append(lineEnding); } in.close(); filecontents = sb.toString(); |
Split_string_into_string_list_by_regular_expression_2 | localworker |
ScriptList split = new ArrayList(); if (!string.equals("")) { String regexString = ","; if (regex != void) { regexString = regex; } String[] result = string.split(regexString); for (int i = 0; i < result.length; i++) { split.add(result[i]); } } |
Regex1_2 | stringconstant |
Value\n |
Filter_list_of_strings_extracting_match_to_a_regex_2 | localworker |
Scriptimport java.util.regex.*; filteredlist = new ArrayList(); Pattern thePat = Pattern.compile(regex); int theGroup = Integer.parseInt(group); for (Iterator i = stringlist.iterator(); i.hasNext();) { String item = (String) i.next(); Matcher matcher = thePat.matcher(item); if (matcher.find()) { String t = new String(); t = matcher.group(theGroup); t = t.trim(); filteredlist.add(t); } } |
Group1 | stringconstant |
Value1 |
regex2 | stringconstant |
ValueTotal.coverage.among.all.sequences.(.*)\% |
Thresholder | beanshell |
Scriptdouble a = Double.valueOf(seqSim); double b = Double.valueOf(reqSim); if (a >= b) { cont = 1; } else { cont = 0; } |
Ask | localworker |
Scriptimport javax.swing.JOptionPane; answer = JOptionPane.showInputDialog(null, (message == void ? null : message), (title == void ? null : title), JOptionPane.QUESTION_MESSAGE); |
Message | stringconstant |
ValuePlease enter the minimum required strain similarity |
Title | stringconstant |
ValueGenome similarity |
INI_Path | stringconstant |
ValueD:\mgcat_v15b\mgcat.ini |
Beanshell_3 | beanshell |
ScriptaddClassPath("D:/Biojava/" + "biojava-1.7.1.jar"); import org.biojava.bio.Annotation; import org.biojava.bio.BioException; import org.biojava.bio.seq.Feature; import org.biojava.bio.seq.FeatureFilter; import org.biojava.bio.seq.FeatureHolder; import org.biojava.bio.seq.Sequence; import org.biojava.bio.seq.SequenceIterator; import org.biojava.bio.seq.io.SeqIOTools; createDatabaseFASTAFile(String source) { String EMBLfile = base_dir + "/EMBL/" + source; String FASTAfile = base_dir + "/FASTA/" + source.substring(0, source.length() - 4) + ".fna"; BufferedReader br = null; try { br = new BufferedReader(new FileReader(EMBLfile)); } catch (FileNotFoundException e1) { e1.printStackTrace(); } // read the EMBL File SequenceIterator sequences = SeqIOTools.readEmbl(br); // create an array list to hold protein sequences ArrayList proteinSeqs = new ArrayList(); while (sequences.hasNext()) { // iterate through the EMBL files try { Sequence seq = sequences.nextSequence(); FeatureFilter ff = new FeatureFilter.ByType("CDS"); // get the filtered Features FeatureHolder fh = seq.filter(ff); // iterate over the Features in fh for (Iterator i = fh.features(); i.hasNext();) { Feature f = (Feature) i.next(); Annotation a = f.getAnnotation(); // take protein sequence from EMBL file after the // "/translation tag" String cds = ">gi|" + (String) a.getProperty("locus_tag") + "|sp|" + (String) a.getProperty("protein_id") + "\n" + (String) a.getProperty("translation") + "\n"; // add elements to the array list proteinSeqs.add(cds); } } catch (BioException ex) { // not in EMBL format ex.printStackTrace(); // request for more sequence when there isn't any } catch (NoSuchElementException ex) { ex.printStackTrace(); } } FileWriter fstream; int j = -1; try { fstream = new FileWriter(FASTAfile); BufferedWriter out = new BufferedWriter(fstream); for (Iterator it = proteinSeqs.iterator(); it.hasNext();) { String s = (String) it.next(); try { j++; out.write(s); } catch (Exception exc) { exc.printStackTrace(); } } out.close(); fstream.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } BufferedReader br = null; // attribute holding the filename that will be converted to an fna file // and then blast database String database; // attribute holding the filename that will be converted to multiple fna // files String target; // filename for database fna output String fno = base_dir + "/FASTA/" + source_file_path.substring(0, source_file_path.length() - 4) + ".fna"; try { // ***** createDatabaseFASTAFile(source_file_path); Runtime rt = Runtime.getRuntime(); String runprog = progpath + "formatdb -i " + fno + " -n " + base_dir + "/DATABASE/" + source_file_path.substring(0, source_file_path.length() - 4) + "_db"; Process p = rt.exec(runprog); } catch (IOException e) { e.getStackTrace(); } database_dir = base_dir + "DATABASE/"; |
Name | Description | Inputs | Outputs |
---|---|---|---|
Beanshell |
bg_color fg_color genes_list |
bg_colors fg_colors |
|
Beanshell_2 | in0 | n | |
Thresholder |
seqSim reqSim |
cont | |
Beanshell_3 |
base_dir target_file_path source_file_path progpath |
database_dir | |
create_formatdb_cmdArgs |
fastAFileName DBSavePath |
cmdArgsList | |
Beanshell |
blastOutPath eValTol DBSaveLocation |
complete | |
create_blastall_cmdArgs |
sequenceFileName DBSaveLocation regex group |
cmdArgsList |
Name | Description |
---|---|
KeggPathwayIDs | A list of the pathways found. |
keggimageurl |
The URLs of the images produced for the KeggImage output The URLs of the images produced for the KeggImage output. |
keggGeneNames | A list of the gene ids, that was given as input with the species code concatenated. |
coloured_images | List of pathway diagram with enzyme boxes coloured in specified colours |
enzyme_list | List of enzyme id retrieve from Kegg using get_enzymes_by_gene |
genes_list | List of ids that are enzymes |
Output | |
test |
Source | Sink |
---|---|
Species | Workflow89:part1 |
Filter_list_of_strings_extracting_match_to_a_regex:filteredlist | Workflow89:part2 |
color_pathway_by_objects:return | Get_Image_From_URL_2:url |
Flatten_List_6:outputlist | color_pathway_by_objects:bg_color_list |
Flatten_List_8:outputlist | color_pathway_by_objects:fg_color_list |
Remove_String_Duplicates:strippedlist | color_pathway_by_objects:object_id_list |
Flatten_List_10:outputlist | color_pathway_by_objects:pathway_id |
Workflow89:string | get_enzymes_by_gene:genes_id |
Species | get_genes_by_enzyme:org |
Flatten_List:outputlist | get_genes_by_enzyme:enzyme_id |
Beanshell_2:n | get_pathways_by_genes:genes_id_list |
get_enzymes_by_gene:return | Flatten_List:inputlist |
get_genes_by_enzyme:return | Flatten_List_2:inputlist |
Flatten_List_2:outputlist | Remove_String_Duplicates:stringlist |
Remove_String_Duplicates:strippedlist | Beanshell:genes_list |
bg_color | Beanshell:bg_color |
fg_color | Beanshell:fg_color |
Beanshell:bg_colors | Flatten_List_3:inputlist |
Beanshell:fg_colors | Flatten_List_4:inputlist |
Flatten_List_3:outputlist | Flatten_List_5:inputlist |
Flatten_List_5:outputlist | Flatten_List_6:inputlist |
Flatten_List_4:outputlist | Flatten_List_7:inputlist |
Flatten_List_7:outputlist | Flatten_List_8:inputlist |
drugs_file | Nested_workflow:drugs_file |
path_proteins | Nested_workflow:path_proteins |
DBSavePath | Nested_workflow:DBSavePath |
Nested_workflow:output | Flatten_List_9:inputlist |
Flatten_List_9:outputlist | Flatten_List_2_2:inputlist |
Flatten_List_2_2:outputlist | Flatten_List_3_2:inputlist |
Flatten_List_3_2:outputlist | Filter_list_of_strings_extracting_match_to_a_regex:stringlist |
Group:value | Filter_list_of_strings_extracting_match_to_a_regex:group |
Regex:value | Filter_list_of_strings_extracting_match_to_a_regex:regex |
Workflow89:string | Beanshell_2:in0 |
get_pathways_by_genes:return | Flatten_List_10:inputlist |
MGCAT_Path:value | runMGCAT:command |
Working_Dir:value | runMGCAT:workingdir |
INI_File:value | runMGCAT:args |
INI_Path:value | Read_Text_File:fileurl |
Read_Text_File:filecontents | Split_string_into_string_list_by_regular_expression:string |
Regex1:value | Split_string_into_string_list_by_regular_expression:regex |
Split_string_into_string_list_by_regular_expression:split | Filter_List_of_Strings_by_regex:stringlist |
Regex2:value | Filter_List_of_Strings_by_regex:regex1 |
Regex3:value | Filter_List_of_Strings_by_regex:regex2 |
Sequence2 | Filter_List_of_Strings_by_regex:file2 |
Group_2:value | Filter_List_of_Strings_by_regex:group |
Sequence1 | Filter_List_of_Strings_by_regex:file |
Concatenate_strings:output | Write_Text_File:filecontents |
INI_Path:value | Write_Text_File:outputFile |
Filter_List_of_Strings_by_regex:filteredlist | Concatenate_strings:stringlist |
Working_Dir:value | Read_Text_File_2:fileurl |
Read_Text_File_2:filecontents | Split_string_into_string_list_by_regular_expression_2:string |
Regex1_2:value | Split_string_into_string_list_by_regular_expression_2:regex |
Split_string_into_string_list_by_regular_expression_2:split | Filter_list_of_strings_extracting_match_to_a_regex_2:stringlist |
Group1:value | Filter_list_of_strings_extracting_match_to_a_regex_2:group |
regex2:value | Filter_list_of_strings_extracting_match_to_a_regex_2:regex |
Filter_list_of_strings_extracting_match_to_a_regex_2:filteredlist | Thresholder:seqSim |
Ask:answer | Thresholder:reqSim |
Message:value | Ask:message |
Title:value | Ask:title |
target_file_path | Beanshell_3:target_file_path |
source_file_path | Beanshell_3:source_file_path |
blast_bin_dir | Beanshell_3:progpath |
DBSavePath | Beanshell_3:base_dir |
Flatten_List_10:outputlist | KeggPathwayIDs |
color_pathway_by_objects:return | keggimageurl |
Workflow89:string | keggGeneNames |
Get_Image_From_URL_2:image | coloured_images |
Flatten_List:outputlist | enzyme_list |
Remove_String_Duplicates:strippedlist | genes_list |
Filter_list_of_strings_extracting_match_to_a_regex:filteredlist | Output |
Beanshell_3:database_dir | test |
Controller | Target |
---|---|
Concatenate_strings | Write_Text_File |
runMGCAT | Read_Text_File_2 |
Filter_List_of_Strings_by_regex | Concatenate_strings |
Write_Text_File | Working_Dir |
Beanshell_3 | Read_Text_File |
Write_Text_File | INI_File |
Thresholder | Nested_workflow |
Write_Text_File | runMGCAT |
Write_Text_File | MGCAT_Path |
Workflow Type
Version 2 (latest) (of 2)
Shared with Groups (1)
Statistics
In chronological order:
-
Created by Gregg Iceton on Friday 19 March 2010 14:33:00 (UTC)
Last edited by Gregg Iceton on Friday 19 March 2010 14:34:33 (UTC)
-
Created by Gregg Iceton on Friday 19 March 2010 15:40:02 (UTC)
Last edited by Gregg Iceton on Friday 19 March 2010 15:40:29 (UTC)
Reviews (0)
Other workflows that use similar services (93)
Only the first 2 workflows that use similar services are shown. View all workflows that use these services.
Triplify namespace list from global search... (1)
Created: 2009-11-30 | Last updated: 2009-11-30
Credits: Francois Belleau
Cow-Human Ortholog Pathways and Gene annot... (2)
Created: 2007-10-03 | Last updated: 2009-12-03
Comments (0)
No comments yet
Log in to make a comment