Classification of GEO assays using RapidAnalytics
Created: 2011-05-04 14:40:17
Last updated: 2011-12-13 16:01:13
No description has been set
Preview
Run
Run this Workflow in the Taverna Workbench...
Workflow Components
Authors (0)
Titles (0)
Descriptions (0)
Dependencies (0)
Inputs (1)
Name |
Description |
geo_dataset_id |
The id of a GEO DataSet.
These usually begin with 'GDS'.
But here just enter the numeric portion.
The example id is from a DataSet of expression profiles in Mouse in response to the absence of Dicer 1.
The DataSet has 5 control and 5 mutant assays.
|
Processors (18)
Name |
Type |
Description |
eSummary |
rest |
|
db_value |
stringconstant |
Valuegds |
extract_sample_ids |
xpath |
Xpath Expression/eSummaryResult/DocSum/Item[@Name='Samples']/Item[@Name='Sample']/Item[@Name='Accession'] |
getGSMData |
rest |
|
extract_sample_data_column |
xpath |
Xpath Expression/default:MINiML/default:Sample/default:Data-Table/default:Internal-Data |
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); |
CSV_table_constructor |
beanshell |
Scriptimport java.util.TreeMap;
import java.util.HashSet;
TreeMap dataTable = new TreeMap();
HashMap idToLabel = new HashMap();
private void addToTable(String singleData, String id, String label) {
idToLabel.put(id,label);
String[] lines = singleData.split("\n");
System.out.println("LINES: " + lines.length);
for (String line : lines) {
if (line != null) {
if (line.length() > 0 ) {
String[] bits = line.split("\t");
if (bits.length == 2) {
addSingleData(id, bits[0], bits[1]);
}
}
}
}
}
private void addSingleData(String id, String probeID, String value) {
TreeMap dataColumn = dataTable.get(id);
if (dataColumn == null) {
dataColumn = new TreeMap();
dataColumn.put(probeID,value);
dataTable.put(id, dataColumn);
} else {
dataColumn.put(probeID,value);
}
}
private String convertToCSV() {
StringBuilder sb = new StringBuilder();
sb.append("assayID");
sb.append(",");
sb.append("experimentType");
String exampleAssay = dataTable.keySet().iterator().next();
Set probeIDs = dataTable.get(exampleAssay).keySet();
for (String probeID : probeIDs) {
sb.append(",");
sb.append(probeID);
}
sb.append("\n");
for (String assayID : dataTable.keySet()) {
sb.append(assayID);
sb.append(",");
sb.append(idToLabel.get(assayID));
TreeMap probeData = dataTable.get(assayID);
for(String probeID : probeData.keySet()) {
String value = probeData.get(probeID);
sb.append(",");
sb.append(value);
}
sb.append("\n");
}
return sb.toString();
}
for (int i = 0; i < listOfIDs.size(); i++) {
String singleData = listOfData.get(i);
String label = listOfLabels.get(i);
String id = listOfIDs.get(i);
if (singleData != null) {
if (singleData.length() > 0 ) {
addToTable(singleData, id, label);
}
}
}
dataTableCSV = convertToCSV();
|
extract_sample_type |
xpath |
Xpath Expression/eSummaryResult/DocSum/Item[@Name='Samples']/Item[@Name='Sample']/Item[@Name='Title'] |
upload_data |
rest |
|
show_plot |
beanshell |
ScriptString uri = "";
if (Desktop.isDesktopSupported()) {
d = Desktop.getDesktop();
uri = "http://rpc295.cs.man.ac.uk:8081/RAWS/plot" + repositoryEntry + "?renderer=Table+%2F+Plot+View";
URI u = new URI(uri);
d.browse(u);
} |
Replace |
taverna |
|
Replace_2 |
taverna |
|
Set_Role |
taverna |
|
Set_Role_2 |
taverna |
|
Split_Data |
taverna |
|
Support_Vector_Machine |
taverna |
|
Apply_Model |
taverna |
|
Performance_(Classification) |
taverna |
|
Beanshells (2)
Name |
Description |
Inputs |
Outputs |
CSV_table_constructor |
|
listOfData
listOfLabels
listOfIDs
|
dataTableCSV
|
show_plot |
|
repositoryEntry
|
uri
|
Outputs (3)
Name |
Description |
dataTableCSV |
|
assay_id |
|
show_plot_uri |
|
Datalinks (23)
Source |
Sink |
db_value:value |
eSummary:db |
geo_dataset_id |
eSummary:id |
eSummary:responseBody |
extract_sample_ids:xml_text |
extract_sample_ids:nodelist |
getGSMData:id |
getGSMData:responseBody |
extract_sample_data_column:xml_text |
extract_sample_data_column:nodelist |
Flatten_List:inputlist |
Flatten_List:outputlist |
CSV_table_constructor:listOfData |
extract_sample_ids:nodelist |
CSV_table_constructor:listOfIDs |
extract_sample_type:nodelist |
CSV_table_constructor:listOfLabels |
eSummary:responseBody |
extract_sample_type:xml_text |
CSV_table_constructor:dataTableCSV |
upload_data:inputBody |
Performance_(Classification):performance0 |
show_plot:repositoryEntry |
Replace:example_set_output0 |
Replace_2:example_set_input0 |
Replace_2:example_set_output0 |
Set_Role:example_set_input0 |
Set_Role:example_set_output0 |
Set_Role_2:example_set_input0 |
Set_Role_2:example_set_output0 |
Split_Data:example_set0 |
Split_Data:partition_10 |
Support_Vector_Machine:training_set0 |
Support_Vector_Machine:model0 |
Apply_Model:model0 |
Split_Data:partition_11 |
Apply_Model:unlabelled_data0 |
Apply_Model:labelled_data0 |
Performance_(Classification):labelled_data0 |
CSV_table_constructor:dataTableCSV |
dataTableCSV |
extract_sample_ids:nodelist |
assay_id |
show_plot:uri |
show_plot_uri |
Coordinations (1)
Controller |
Target |
upload_data |
Replace |
Uploader
License
All versions of this Workflow are
licensed under:
Version 2 (latest)
(of 2)
Credits (1)
(People/Groups)
Attributions (0)
(Workflows/Files)
None
Shared with Groups (2)
Featured In Packs (0)
None
Log in to add to one of your Packs
Attributed By (0)
(Workflows/Files)
None
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.
Comments (0)
No comments yet
Log in to make a comment