Mercurial > repos > vandelj > giant_plot_functions
changeset 1:0435f94d27a7 draft
"planemo upload for repository https://github.com/juliechevalier/GIANT/tree/master commit e2b27d6ff2eab66454f984dbf1a519192f41db97"
author | vandelj |
---|---|
date | Wed, 09 Sep 2020 10:28:54 +0000 |
parents | 488e6e8bb8cb |
children | b9ef036de818 |
files | galaxy/wrappers/ExprQCplots.xml src/General_functions.py |
diffstat | 2 files changed, 46 insertions(+), 36 deletions(-) [+] |
line wrap: on
line diff
--- a/galaxy/wrappers/ExprQCplots.xml Fri Jun 26 09:41:56 2020 -0400 +++ b/galaxy/wrappers/ExprQCplots.xml Wed Sep 09 10:28:54 2020 +0000 @@ -1,4 +1,4 @@ -<tool name="GIANT-QC Plots" id="giant_plot_functions" version="0.1.3"> +<tool name="GIANT-QC Plots" id="giant_plot_functions" version="0.1.4"> <description>Descriptive plots of .CEL collections or normalized expression data</description> <requirements> <requirement type="package" version="1.40.1">bioconductor-oligo</requirement> @@ -8,6 +8,7 @@ <requirement type="package" version="1.8_17">r-mgcv</requirement> </requirements> <code file="../../src/General_functions.py"/> + <!--<code file="./src/General_functions.py"/> change for Planemo test--> <stdio> <regex match="Execution halted" source="both" @@ -22,8 +23,8 @@ <exit_code range="1:9" level="fatal" description="Error in R execution, see log file for more information." /> </stdio> <command> <![CDATA[ - ##set $dataType=$dataFile.extension - #set $dataType=$dataFile[0].ext + ##set $dataType=$inputData.extension + #set $dataType=$inputData[0].ext #if $conditionInformation and $pcaSection.factorsToInclude!="None": bash $scriptPrepareTable; @@ -33,10 +34,12 @@ fi; #end if - #if ($dataType == "cel" and len($dataFile)>1) or ($dataType == "tabular" and len($dataFile)==1): - Rscript '$__tool_directory__/../../src/ExprPlotsScript.R' -i '$dataFile' -l '$log' -f '$advSection.imageFormat' -j '$dataType' + #if ($dataType == "cel" and len($inputData)>1) or ($dataType == "tabular" and len($inputData)==1): + Rscript '$__tool_directory__/../../src/ExprPlotsScript.R' -i '$inputData' -l '$log' -f '$advSection.imageFormat' -j '$dataType' + ##change for Planemo test + ##Rscript '$__tool_directory__/src/ExprPlotsScript.R' -i '$inputData' -l '$log' -f '$advSection.imageFormat' -j '$dataType' #if $dataType == "cel": - #for $inputDataset in $dataFile + #for $inputDataset in $inputData -c '${inputDataset.name}' #end for #end if @@ -95,7 +98,7 @@ <configfile name="scriptTransfer"> <![CDATA[ -#set $dataType=$dataFile[0].ext +#set $dataType=$inputData[0].ext #set $cnt=1 ##create header of HTML file @@ -381,7 +384,7 @@ <inputs> <param type="text" name="title" value="PlotFigure_toPersonalize" label="Title for output"> </param> - <param type="data" name="dataFile" format="cel,tabular" label="Select one .CEL collection or one tabular file" optional="false" multiple="true" > + <param type="data" name="inputData" format="cel,tabular" label="Select one .CEL collection or one tabular file" optional="false" multiple="true" > </param> <section name="plotSection" title="Plots selection" expanded="True"> @@ -396,7 +399,7 @@ </section> <section name="pcaSection" title="PCA analysis" expanded="True"> - <param type="boolean" name="acpToPlot" checked="true" label="Plot 3D PCA" help="3D plot of conditions in the space defined by the 3 principal components"> + <param type="boolean" name="acpToPlot" checked="true" label="Plot 3D PCA" help="3D plot of conditions in the space defined by the 3 principal components"> </param> <param type="data" name="conditionInformation" format="tabular" label="Factor information tabular file (optional)" optional="true" multiple="false"> </param> @@ -442,7 +445,7 @@ <collection name="outputMicroarrayList" label="${title}_MicroarrayList" type="list"> <discover_datasets pattern="(?P<designation>Microarray\_.*)\.(?P<ext>[^\._]+)?" directory="plotDir" visible="false"/> - <filter>plotSection['microarrayToPlot'] and dataFile[0].ext == "cel"</filter> + <filter>plotSection['microarrayToPlot'] and inputData[0].ext == "cel"</filter> </collection> <collection name="outputPCAList" label="${title}_PCA" type="list"> @@ -458,20 +461,25 @@ <tests> <test maxseconds="3600"> - <param name="wfile" value="wiggle.wig" /> - <param name="bfile" value="bedfile.bed" /> - <param name="span" value="3000" /> - <param name="pfres" value="50" /> - <param name="lowersize" value="1000" /> - <param name="middlesize" value="2000" /> - <param name="uppersize" value="3000" /> - <param name="lowerbisize" value="2500" /> - <param name="upperbisize" value="5000" /> - <param name="reldist" value="3000" /> - <param name="genome" value="hg18" /> - <param name="imagetype" value="PDF" /> - <param name="enable" value="no" /> - <output name="log" file="ceas_1/ceas_1.pdf" /> + <param name="inputData" value="./NormalizedData.tabular" /> + <section name="plotSection" > + <param name="histogramToPlot" value="true" /> + <param name="maplotToPlot" value="true" /> + <param name="boxplotToPlot" value="true" /> + <param name="microarrayToPlot" value="false" /> + </section> + <section name="pcaSection" > + <param name="acpToPlot" value="true" /> + <param name="conditionInformation" value="./FactorFileGenerator/output/conditionsFile.csv" /> + <param name="factorsToInclude" value="Strain,Treatment" /> + </section> + <section name="advSection" > + <param name="imageFormat" value="png" /> + <param name="imagePlotlyFormat" value="png" /> + </section> + <output name="html_file" file="./ExprQCplots/output/outputHTML.zip" decompress="true" > + </output> + <output name="log" file="./ExprQCplots/output/outputLog.txt" compare="sim_size" delta_frac="0.10" /> </test> </tests>
--- a/src/General_functions.py Fri Jun 26 09:41:56 2020 -0400 +++ b/src/General_functions.py Wed Sep 09 10:28:54 2020 +0000 @@ -1,5 +1,6 @@ import re import numpy as np +import galaxy.model def get_column_names( file_path, toNotConsider=-1, each=1): options=[] @@ -76,7 +77,7 @@ def get_condition_file_names( file_list, toNotConsider=-1, each=1): options=[] - if not isinstance(file_list,list):#if input file is a tabular file, act as get_column_names + if not (isinstance(file_list,list) or isinstance(file_list,galaxy.model.HistoryDatasetCollectionAssociation) or isinstance(file_list,galaxy.model.DatasetCollection)) :#if input file is a tabular file, act as get_column_names inputfile = open(file_list.file_name) firstLine = next(inputfile).strip().split("\t") cpt=0 @@ -88,13 +89,17 @@ if cpt==each: cpt=0 inputfile.close() - else:#if input file is a .cel file list or a collection - if not hasattr(file_list[0],'collection'):#if it is not a collection, get name easily - for i, field_component in enumerate( file_list ): - options.append( ( field_component.name, field_component.name, False ) ) - else:#if the file is a collection, have to get deeper in the corresponding HistoryDatasetCollectionAssociation object - for i, field_component in enumerate( file_list[0].collection.elements ): - options.append( ( field_component.element_identifier, field_component.element_identifier, False ) ) + else:#if input file is a .cel file list, a DatasetCollection or a HistoryDatasetCollectionAssociation + if isinstance(file_list,list):#if it is a list, retrieve names easily + for i, field_component in enumerate( file_list ): + options.append( ( field_component.name, field_component.name, False ) ) + else:#if the file is a DatasetCollection, have to get deeper in the corresponding DatasetCollection object + if isinstance(file_list,galaxy.model.DatasetCollection):#if it is a list, retrieve names easily + for i, field_component in enumerate( file_list.elements ): + options.append( ( field_component.element_identifier, field_component.element_identifier, False ) ) + else:#if the file is a HistoryDatasetCollectionAssociation, have to get a little bit deeper in the corresponding HistoryDatasetCollectionAssociation object + for i, field_component in enumerate( file_list.collection.elements ): + options.append( ( field_component.element_identifier, field_component.element_identifier, False ) ) return options def generateFactorFile( file_list, factor_list, outputFileName, logFile): @@ -102,10 +107,7 @@ outputfile = open(outputFileName, 'w') outputLog = open(logFile, 'w') sampleList=[] - if not isinstance(file_list,list): - conditionNames=get_condition_file_names(file_list,0) #unique expression file, remove the first column (index=0) - else : - conditionNames=get_condition_file_names(file_list) #.CEL files + conditionNames=get_condition_file_names(file_list,0) #if it's a unique expression file, remove the first column (index=0) for iSample, sample_component in enumerate (conditionNames): sampleList.append(str(sample_component[1])) outputLog.write("[INFO] "+str(len(sampleList))+" sample are detected as input\n")