AffyArrayQualityAnalysis
Created: 2008-03-13 14:38:03
Last updated: 2009-02-16 16:41:29
The AffyArrayQualityAnalysis web services provide quality control for raw Affymetrix GeneChip data. They are wrappers around Philip de Groot's quality control R script to provide remote programmatic access. This example workflow demonstrates the use of the AffyArrayQualityAnalysis services. The flow is as follows:
- A client executes the AffyArrayQualityAnalysis_submit service with two inputs: a User object and a collection of URLs linking to CEL files.
- The User object contains a user ID, a password and an e-mail address. Currently the user ID and password can be any characters [a-zA-Z0-9]. Just pick something, there's no need to register them first. They are only used to make sure that the one who tries to download the results is the same person as the one who submitted the job.
- Your job will be submitted to the SUN Grid Engine on the NuGO R-server. The e-mail address is used by the Sun Grid Engine to notify you when your job is done. We might also use it to send you feedback in case something goes wrong with your job, but it won't be used for anything else and will only be stored for a maximum of 7 days (together with your job's results).
- The URLs to the CEL files must use either the http or https protocol. You can restrict access to these URLs using basic authentication and putting the username and password in the URL. For example if the user is pieter and the password is test you could have a URL like this: https://pieter:test@lab5.bioinformatics.nl/phenolink/home/TisMix_mix5a_01_v1_U133plus2.CEL. Hence you have to put the CEL files somewhere on a web server, so the AffyArrayQualityAnalysis_submit service can download them.
- The AffyArrayQualityAnalysis_submit service returns a job ID and a link to the results. Once the job is done this link can be used to download the results. Results will be available for 7 days after which they will be deleted automatically.
- The job ID is used to execute the AffyArrayQualityAnalysis_poll service inside a nested workflow. AffyArrayQualityAnalysis_poll returns the job status and unless the status is "finished" the entire nested workflow will fail. If the nested CheckStatus workflow fails, Taverna will automatically retry until it succeeds and hence the job has finished (or until the maximum number of retries is reached).
- The nested DownloadFile workflow depends on successful completion of the nested CheckStatus workflow. The name says it all: It downloads the result, which is a single ZIP file. This workflow does not take care of unzipping the archive. You have to do that yourself.
AffyArrayQualityAnalysis uses a secure connection over HTTPS. To make this work you *must* import our SSL certificates in your local Java keystores. You can do this either manually as described at https://www.bioinformatics.nl/phenolink/home/JavaAndHTTPS.html or use a Java tool to do the job as described at http://www.myexperiment.org/files/148
Preview
Run
Run this Workflow in the Taverna Workbench...
Workflow Components
Inputs (7)
Name |
Description |
User_id |
Just pick something. There is no need to register first. User and password are only used to make sure whoever tries to downlead the results is the same as the one who submitted the job in the first place. |
Email_id |
The e-mail address is used by the Sun Grid Engine to notify you when your job is done. We might also use it to send you feedback in case something goes wrong with your job, but it won't be used for anything else and will only be stored for a maximum of 7 days (together with your job's results). |
Password_id |
Just pick something. There is no need to register first. User and password are only used to make sure whoever tries to downlead the results is the same as the one who submitted the job in the first place. |
URL1_id |
An URL to an Affy CEL file. For debugging or as example you can use: https://lab5.bioinformatics.nl/phenolink/home/TisMix_mix5a_01_v1_U133plus2.CEL |
URL2_id |
An URL to an Affy CEL file. For debugging or as example you can use: https://lab5.bioinformatics.nl/phenolink/home/TisMix_mix5a_02_v1_U133plus2.CEL |
URL3_id |
An URL to an Affy CEL file. For debugging or as example you can use: https://lab5.bioinformatics.nl/phenolink/home/TisMix_mix5a_03_v1_U133plus2.CEL |
ResultDir |
Provide an absolute path to the directory where you want to store the downloaded results. Make sure the path ends with the path seperator for your operating system. (Slash forward for Linux, Unix and Mac OS X or a backslash for Windows. For example /home/user/downloads/ or D:\My Documents\downloads\) |
Processors (11)
Name |
Type |
Description |
DownloadFile |
workflow |
Please make sure you end the path, where the download should be saved, with a slash. (Slash backward for Windows or a slash forward for Linux and Mac OS X.) |
Parse_Moby_Data_URL |
biomobyparser |
Processor to parse the datatype URL |
Parse_Moby_Data_Object_job_id |
biomobyparser |
Processor to parse the datatype Object |
Password |
biomobyobject |
A generic password object. |
Email |
biomobyobject |
An e-mail address object. |
URL3 |
biomobyobject |
An Universal Resource Locater (URL). |
User |
biomobyobject |
A generic user object. |
AffyArrayQualityAnalysis_submit |
biomobywsdl |
Asynchronous BioMOBY webservice for quality assessment of raw Affymetrix GeneChip data. This services requires as input a collection of 3 or more URLs to CEL files from the same experiment. URLs must be using the HTTP or HTTPS protocol. You will recieve a Job IDUse this Job ID with the AffyArrayQualityAnalysis_poll service from the same service provider to check the status of your job.Use the URL in the output of this service to fetch the results. |
URL1 |
biomobyobject |
An Universal Resource Locater (URL). |
CheckStatus |
workflow |
# Explanation of status types.
# SGE qstat status types:
p=>job is pending
r=>job is running
R=>job is restarting
s=>job is suspended
S=>queue is suspended and therefore job is suspended as well
t=>transferring job to cluster node
T=>job is suspended because suspension threshold of queue was exceeded
z=>zombie
h=>job was put on hold
u=>... by user
o=>... by operator
s=>... by system
j=>... because it depends on the results of other jobs which have not yet finished
a=>... because it was scheduled for execution at some time in the future
d=>deleting job
q=>job is queued
w=>job is waiting
E=>job is in error state
# Our own status types:
m=>job status is missing or unkown
f=>job has finished |
URL2 |
biomobyobject |
An Universal Resource Locater (URL). |
Beanshells (2)
Name |
Description |
Inputs |
Outputs |
Download |
|
URL
Path
|
Downloaded
Message
|
Beanshell_scripting_host |
|
status
|
job_finished
|
Outputs (5)
Name |
Description |
url |
|
status |
|
job_id |
|
downloaded |
|
log |
|
Links (22)
Source |
Sink |
AffyArrayQualityAnalysis_submit:Object(job_id) |
CheckStatus:Object_job_id |
AffyArrayQualityAnalysis_submit:URL(result) |
Parse_Moby_Data_URL:mobyData('URL') |
Email:mobyData |
User:Email(email) |
Email_id |
Email:id |
Parse_Moby_Data_URL:id |
DownloadFile:url |
Password:mobyData |
User:Password(password) |
Password_id |
Password:id |
ResultDir |
DownloadFile:path |
URL1_id |
URL1:id |
URL2_id |
URL2:id |
URL3_id |
URL3:id |
AffyArrayQualityAnalysis_submit:Object(job_id) |
Parse_Moby_Data_Object_job_id:mobyData('Object') |
URL1:mobyData |
AffyArrayQualityAnalysis_submit:URL(Collection - 'cel_files') |
URL2:mobyData |
AffyArrayQualityAnalysis_submit:URL(Collection - 'cel_files') |
URL3:mobyData |
AffyArrayQualityAnalysis_submit:URL(Collection - 'cel_files') |
User:mobyData |
AffyArrayQualityAnalysis_submit:User(user) |
User_id |
User:id |
CheckStatus:status |
status |
DownloadFile:downloaded |
downloaded |
DownloadFile:log_message |
log |
Parse_Moby_Data_Object_job_id:id |
job_id |
Parse_Moby_Data_URL:id |
url |
Coordinations (1)
Controller |
Target |
CheckStatus |
DownloadFile |
Uploader
License
All versions of this Workflow are
licensed under:
Version 2 (latest)
(of 2)
Credits (2)
(People/Groups)
Attributions (0)
(Workflows/Files)
None
Shared with Groups (0)
None
Featured In Packs (1)
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 (2)
Log in to make a comment
The examples URIs doesn't work. Somebody knows another ones?
thanks
Guzman