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