annotate synapse_download.xml @ 1:7a60e992bfb0

Uploaded
author kellrott
date Tue, 24 Jul 2012 17:34:14 -0400
parents
children 93c4d2fad9af
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
1 <tool id="synapse_download" name="Synapse Download" version="1.0">
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
2 <description>Download Synapse Entity</description>
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
3 <command interpreter="python">$script_file
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
4 #if str( $user ) != '':
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
5 -u "$user"
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
6 #end if
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
7 #if str( $pass ) != '':
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
8 -p "$pass"
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
9 #end if
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
10 -s $synid
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
11 $data_type
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
12 -o $outfile
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
13 </command>
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
14 <inputs>
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
15 <param name="user" type="text" size="90" label="Username"/>
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
16 <param name="pass" type="text" size="90" label="Password"/>
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
17 <param name="synid" type="text" label="Synapse ID"/>
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
18 <param name="data_type" type="select" label="Data Type">
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
19 <option value="-e">Affy Eset</option>
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
20 <option value="-a">Attachment</option>
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
21 </param>
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
22 </inputs>
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
23 <outputs>
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
24 <data format="txt" name="outfile" label="${synid}" />
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
25 </outputs>
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
26 <configfiles>
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
27 <configfile name="script_file"><![CDATA[#!/usr/bin/env python
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
28 rcode = """
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
29 library('getopt');
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
30 library(affy)
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
31 require(synapseClient)
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
32
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
33 opt = getopt(c(
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
34 'user', 'u', 2, "character",
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
35 'pass', 'p', 2, "character",
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
36 'outfile', 'o', 2, "character",
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
37 'synid', 's', 2, "character",
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
38 'eset', 'e', 0, "logical",
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
39 'attach', 'a', 0, "logical"
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
40 ));
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
41
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
42 if ( !is.null(opt\$user) && !is.null(opt\$pass)) {
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
43 synapseLogin(username=user, password=pass)
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
44 }
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
45
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
46 ent <- loadEntity(opt\$synid);
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
47
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
48 if (!is.null(opt\$eset)) {
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
49 eset <- exprs(ent\$objects\$eset);
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
50 write(paste(c("PROBE", colnames(eset)), collapse="\\t"), file=opt\$outfile)
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
51 write.table(eset, opt\$outfile, col.names=FALSE, sep="\\t", quote=FALSE, append=TRUE);
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
52 }
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
53 if (!is.null(opt\$attach)) {
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
54 fpath <- file.path(ent\$cacheDir, ent\$files[[1]]);
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
55 file.copy(fpath, opt\$outfile, overwrite=T);
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
56 }
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
57
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
58 """
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
59
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
60 import tempfile
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
61 import os
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
62 import sys
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
63 import subprocess
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
64
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
65 h, path = tempfile.mkstemp()
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
66 os.write(h,rcode)
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
67 os.close(h)
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
68
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
69 print subprocess.check_output( ["Rscript", path] + sys.argv[1:], stderr=subprocess.STDOUT )
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
70 os.unlink(path)
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
71
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
72 ]]></configfile>
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
73 </configfiles>
7a60e992bfb0 Uploaded
kellrott
parents:
diff changeset
74 </tool>