annotate maaslin-4450aa4ecc84/SConscript_maaslin.py @ 1:a87d5a5f2776

Uploaded the version running on the prod server
author george-weingart
date Sun, 08 Feb 2015 23:08:38 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
1 #!/usr/bin/env python
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
2 """
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
3 Authors: Timothy Tickle and Curtis Huttenhower
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
4 Description: Find associations in two matrices of data.
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
5 """
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
6
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
7 __author__ = "Timothy Tickle and Curtis Huttenhower"
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
8 __copyright__ = "Copyright 2012"
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
9 __credits__ = ["Timothy Tickle","Curtis Huttenhower"]
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
10 __maintainer__ = "Timothy Tickle"
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
11 __email__ = "ttickle@hsph.harvard.edu"
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
12
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
13 import argparse
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
14 import os
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
15 import sfle
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
16 import sys
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
17
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
18 c_strSufRC = ".read.config"
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
19
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
20 c_fileDirSrc = Dir( sfle.d( os.path.dirname( sfle.current_file( ) ), sfle.c_strDirSrc ) )
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
21 c_fileProgMaaslin = File( sfle.d( c_fileDirSrc, "Maaslin.R" ) )
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
22 sArgsExt = ".args"
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
23 #Commandline to ignore
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
24 lsIgnore = ["-i","-I","--input_config","--input_process"]
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
25
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
26 def MaAsLin( filePCL ):
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
27 #Build input file name if they exist or give ""
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
28 strBase = filePCL.get_abspath().replace( sfle.c_strSufPCL, "" )
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
29 strR, strRC, strArgs = (( strBase + s ) for s in (sfle.c_strSufR, c_strSufRC, sArgsExt))
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
30 fileR, fileRC, fileArgs = (( File( s ) if os.path.exists( s ) else "" ) for s in (strR, strRC, strArgs))
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
31
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
32 ## Read in an args file if it exists
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
33 lsArgs = []
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
34 if fileArgs:
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
35 fReader = csv.reader(open(fileArgs.get_abspath(),'r'), delimiter = " ")
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
36 lsArgsTmp = []
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
37 [lsArgsTmp.extend(lsLine) for lsLine in fReader]
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
38 fSkip = False
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
39 for s in lsArgsTmp:
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
40 if s in lsIgnore:
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
41 fSkip=True
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
42 continue
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
43 if fSkip:
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
44 fSkip = not fSkip
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
45 continue
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
46 lsArgs.append(s)
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
47
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
48 lsInputArgs = ["-I",[fileR]] if fileR else []
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
49 lsInputArgs.extend(["-i",[fileRC]] if fileRC else [])
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
50 lsArgs.extend(lsInputArgs)
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
51
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
52 strBase = os.path.basename( strBase )
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
53 fileTSVFile = File(sfle.d(fileDirTmp,sfle.rebase(filePCL,sfle.c_strSufPCL,sfle.c_strSufTSV)))
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
54 strT = File( sfle.d( os.path.join(fileDirOutput.get_abspath(), strBase, strBase + sfle.c_strSufTXT) ) )
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
55
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
56 #Transpose PCL
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
57 sfle.spipe(pE, filePCL, c_fileProgTranspose, fileTSVFile)
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
58 #Run MaAsLin
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
59 sfle.op(pE, c_fileProgMaaslin, lsArgs+[[True,strT],[False, fileTSVFile]])
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
60 if fileArgs: Depends(c_fileProgMaaslin, fileArgs)
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
61 Default(strT)