annotate maaslin-4450aa4ecc84/SConscript @ 2:589169d452c0

Uploaded
author george-weingart
date Sun, 08 Feb 2015 23:21:34 -0500
parents a87d5a5f2776
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 import sfle
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
2 import csv
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
3
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
4 Import( "*" )
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
5 pE = DefaultEnvironment( )
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 # Extensions
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
8 sGraphlanAnnotationFileExtension = "-ann.txt"
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
9 sGraphlanCoreAnnotFileExtension = "-ann-core.txt"
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
10 sGraphlanCoreGenesFileExtension = "-core.txt"
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
11 sGraphlanFigureExtension = "-graphlan.pdf"
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
12 sMaaslinDataFileExtension = ".txt"
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
13 sMaaslinReadConfigFileExtension = ".read.config"
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
14 sMaaslinSummaryFileExtension = ".txt"
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
15
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
16 sCustomRScriptExtension = ".R"
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
17 sPCLExtension = ".pcl"
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
18 sTransposeExtension = ".tsv"
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 # Files
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
21 strMaaslinGraphlanSettings = "Graphlan_settings.txt"
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
22
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
23 # Script
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
24 sScriptGraphlan = File(os.path.join("..","graphlan","graphlan.py"))
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
25 sScriptGraphlanAnnotate = File(os.path.join("..","graphlan","graphlan_annotate.py"))
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
26 sScriptMaaslinSummaryToGraphlanAnnotation = File(sfle.d(fileDirSrc,"MaaslinToGraphlanAnnotation.py"))
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
27 sScriptPCLToCoreGene = File(sfle.d(fileDirSrc,"PCLToGraphlanCoreGene.py"))
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
28
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
29 sProgMaaslin = sfle.d(fileDirSrc,"Maaslin.R")
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
30
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
31 # Settings
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
32 iGraphlanDPI = 150
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
33 iGraphlanFigureSize = 4
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
34 iGraphlanPad = 0.2
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
35 strGraphlanDirectory = "graphlan"
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
36
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
37 c_fileDirLib = sfle.d( fileDirSrc, "lib" )
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
38 c_fileInputMaaslinR = sfle.d( pE, fileDirSrc, "Maaslin.R" )
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
39 c_afileTestsR = [sfle.d( pE, c_fileDirLib, s ) for s in
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
40 ("IO.R", "SummarizeMaaslin.R", "Utility.R", "ValidateData.R")]
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
41
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
42 c_afileDocsR = c_afileTestsR + [sfle.d( pE, c_fileDirLib, s ) for s in
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
43 ( "AnalysisModules.R", "scriptBiplotTSV.R", "BoostGLM.R", "Constants.R", "MaaslinPlots.R")]
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
44
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
45 ##Test scripts
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
46 for fileInputR in c_afileTestsR:
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
47 strBase = sfle.rebase( fileInputR, True )
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
48 #Testing summary file
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
49 fileTestingSummary = sfle.d( pE, fileDirOutput, strBase +"-TestReport.txt" )
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
50 dirTestingR = Dir( sfle.d( fileDirSrc, "test-" + strBase ) )
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
51 Default( sfle.testthat( pE, fileInputR, dirTestingR, fileTestingSummary ) )
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
52
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
53 ##Inline doc
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
54 for fileProg in c_afileDocsR:
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
55 filePDF = sfle.d( pE, fileDirOutput, sfle.rebase( fileProg, sfle.c_strSufR, sfle.c_strSufPDF ) )
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
56 Default( sfle.inlinedocs( pE, fileProg, filePDF, fileDirTmp ) )
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
57
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
58 ##Start regression suite
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
59 execfile( "SConscript_maaslin.py" )
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
60
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
61 ##Input pcl files
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
62 lsMaaslinInputFiles = Glob( sfle.d( fileDirInput, "*" + sfle.c_strSufPCL ) )
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
63
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
64 ## Run MaAsLin and generate output
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
65 for strPCLFile in lsMaaslinInputFiles:
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
66 Default( MaAsLin( strPCLFile ))
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
67
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
68 # #Graphlan figure
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
69 # #TODO Fix path dependent, better way to know it is installed?
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
70 # if(os.path.exists(sScriptGraphlan.get_abspath())):
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
71
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
72 # ## Run Graphlan on all output projects
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
73 # strProjectName = os.path.splitext(os.path.split(strPCLFile.get_abspath())[1])[0]
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
74 # strMaaslinOutputDir = sfle.d(fileDirOutput,strProjectName)
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
75
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
76 # ##Get maaslin data files
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
77 # strMaaslinSummaryFile = sfle.d(os.path.join(strMaaslinOutputDir, strProjectName + sMaaslinSummaryFileExtension))
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
78
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
79 # # Make core gene file
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
80 # sCoreGeneFile = File(sfle.d(strMaaslinOutputDir, os.path.join(strGraphlanDirectory,sfle.rebase(strMaaslinSummaryFile, sMaaslinSummaryFileExtension,sGraphlanCoreGenesFileExtension))))
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
81 # sReadConfigFile = File(sfle.d(fileDirInput,sfle.rebase(strMaaslinSummaryFile, sMaaslinSummaryFileExtension,sMaaslinReadConfigFileExtension)))
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
82 # sfle.op(pE, sScriptPCLToCoreGene, [[False, strPCLFile],[False, sReadConfigFile],[True, sCoreGeneFile]])
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
83
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
84 # # Make annotation file
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
85 # sAnnotationFile = File(sfle.d(strMaaslinOutputDir, os.path.join(strGraphlanDirectory,sfle.rebase(strMaaslinSummaryFile, sMaaslinSummaryFileExtension,sGraphlanAnnotationFileExtension))))
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
86 # sfle.op(pE, sScriptMaaslinSummaryToGraphlanAnnotation, [[False, strMaaslinSummaryFile],[False,sCoreGeneFile],[False,File(sfle.d(fileDirSrc,strMaaslinGraphlanSettings))],[True,sAnnotationFile]])
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
87
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
88 # # Generate core gene annotation file names
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
89 # sCoreGeneAnnotationFile = File(sfle.d(strMaaslinOutputDir, os.path.join(strGraphlanDirectory,sfle.rebase(strMaaslinSummaryFile, sMaaslinSummaryFileExtension,sGraphlanCoreAnnotFileExtension))))
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
90 # sfle.op(pE, sScriptGraphlanAnnotate, ["--annot",[sAnnotationFile],[False, sCoreGeneFile],[True, sCoreGeneAnnotationFile]])
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
91
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
92 # # Call graphlan
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
93 # # graphlan.py --dpi 150 --size 4 --pad 0.2 core_genes.annot.xml core_genes.png
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
94 # sGraphlanFigure = File(sfle.d(strMaaslinOutputDir, os.path.join(strGraphlanDirectory, sfle.rebase(strMaaslinSummaryFile, sMaaslinSummaryFileExtension,sGraphlanFigureExtension))))
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
95 # sfle.op(pE, sScriptGraphlan, [[False, sCoreGeneAnnotationFile],[True, sGraphlanFigure],"--dpi",iGraphlanDPI,"--size",iGraphlanFigureSize,"--pad",iGraphlanPad])
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
96
a87d5a5f2776 Uploaded the version running on the prod server
george-weingart
parents:
diff changeset
97 # Default(sCoreGeneFile,sAnnotationFile,sCoreGeneAnnotationFile,sGraphlanFigure)