# HG changeset patch
# User pavlo-lutsik
# Date 1366199044 14400
# Node ID d1d0d07a8af4f3a43dc17539ab71748c95080020
First commit
diff -r 000000000000 -r d1d0d07a8af4 RnBeadsGalaxy.R
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/RnBeadsGalaxy.R Wed Apr 17 07:44:04 2013 -0400
@@ -0,0 +1,154 @@
+library(RnBeads)
+library(getopt)
+
+
+
+#all.opts<-names(rnb.options())
+opt.class<-RnBeads:::OPTION.TYPES[-28]
+all.opts<-names(opt.class)
+#all.opts<-paste("--", all.opts, sep="")
+#all.opts<-gsub("\\.([a-z])", "\\U\\1", all.opts, perl=TRUE)
+all.opts<-gsub("\\.","-", all.opts)
+#opt.class<-sapply(rnb.options(), class)
+
+rnb.opt.spec<-data.frame(
+ Long=all.opts,
+ Short=as.character(1:length(all.opts)),
+ Mask=c(1,2)[as.integer((opt.class=="logical"))+1],
+ Type=opt.class)
+
+### automated xml file preparation
+#xml.strings<-apply(rnb.opt.spec,1, function(row){
+#
+# opt.lab<-gsub("-", ".", row[1])
+# opt.def.val<-rnb.getOption(opt.lab)
+# opt.name<-gsub("-([0-9a-z])", "\\U\\1", row[1], perl=TRUE)
+# tf.opt<-"\t\t\tTrue \n\t\t\tFalse "
+# opt.lab<-paste(opt.lab, gsub("\\."," ", row[4]), sep=", ")
+# if(row[4]=="logical"){
+# opt.type<-'select'
+# if(!is.null(opt.def.val) && opt.def.val)
+# opt.def.val<-"1" else
+# opt.def.val<-"0"
+# string<-sprintf("\t\t \n%s\n\t\t\n", opt.name, opt.type, opt.lab, opt.def.val, tf.opt)
+# }else{
+# opt.type<-'text'
+# if(!is.null(opt.def.val) && opt.def.val!="")
+# opt.def.val<-paste(opt.def.val, collapse=",") else
+# opt.def.val<-""
+# string<-sprintf("\t\t \n", opt.name, opt.type, opt.lab, opt.def.val)
+# }
+# string
+# })
+#
+#cat(xml.strings, sep="", file="C:\\Users\\User\\workspace\\RnBeads\\Supplement\\galaxy\\automated.settings.xml.txt")
+#
+#opt.def.strings<-apply(rnb.opt.spec,1, function(row){
+#
+# opt.name<-gsub("-([0-9a-z])", "\\U\\1", row[1], perl=TRUE)
+# opt.long<-row[1]
+# opt.short<-row[2]
+#
+# if(row[4]=="logical"){
+# def.string<-sprintf("#if str( $options.%s ) == \"True\"\n\t--%s\n#end if\n", opt.name, opt.long)
+# }else{
+# def.string<-sprintf("#if str( $options.%s ) != \"\"\n\t--%s = \"$options.%s\" \n#end if\n", opt.name, opt.long, opt.name)
+# }
+# def.string
+#
+# })
+#cat(opt.def.strings, sep="", file="C:\\Users\\User\\workspace\\RnBeads\\Supplement\\galaxy\\automated.option.assignments.txt")
+
+
+rnb.opt.spec$Type<-gsub("\\.vector", "", rnb.opt.spec$Type)
+rnb.opt.spec$Type<-gsub("numeric", "double", rnb.opt.spec$Type)
+rnb.opt.spec<-rbind(data.frame(
+ Long=c("data-type", "pheno", "idat-dir","idat-files","bed-files", "gs-report", "geo-series", "betas", "pvals","report-dir"),
+ Short=c("d","s","a","i","f","g","e","b","p","r"),
+ Mask=c(1,2,2,2,2,2,2,2,2,1),
+ Type=c("character","character","character","character","character","character","character","character","character","character")),
+ rnb.opt.spec)
+
+opts<-getopt(as.matrix(rnb.opt.spec))
+#opts<-getopt(as.matrix(rnb.opt.spec), opt=list("--data-type=idats","--report-dir=dir", "--idats=file1\tfile2"))
+print(opts)
+
+if(opts[["data-type"]]=="idatDir"){
+
+ data.source<-list()
+ data.type<-"idat.dir"
+ data.source[["idat.dir"]]<-opts[["idat-dir"]]
+ data.source[["sample.sheet"]]<-opts[["pheno"]]
+
+}else if(opts[["data-type"]]=="idatFiles"){
+
+ data.type<-"idat.dir"
+ files<-strsplit(opts[["idat-files"]], "\t")[[1]]
+ idat.dir<-mkdir(file.path(opts[["report-dir"]], "idats"))
+ file.copy(as.list(files), idat.dir)
+ data.source<-list()
+ data.source[["idat.dir"]]<-idat.dir
+ data.source[["sample.sheet"]]<-opts[["pheno"]]
+
+
+}else if(opts[["data-type"]]=="GS.report"){
+
+ data.type<-"GS.report"
+ data.source<-opts[["gs-report"]]
+
+}else if(opts[["data-type"]]=="GEO"){
+
+ data.type<-"GEO"
+ data.source<-opts[["geo-series"]]
+
+
+}else if(opts[["data-type"]]=="data.files"){
+
+ data.type<-"GEO"
+ data.source<-opts[["geo-series"]]
+
+}else if(opts[["data-type"]]=="data.files"){
+
+ data.type<-"data.files"
+ data.source<-c(opts[["pheno"]], opts[["betas"]])
+ if(!is.null(opts[["pvals"]]))
+ data.source<-c(data.source, opts[["pvals"]])
+
+}else if(opts[["data-type"]]=="beds"){
+
+ data.type<-"idat.dir"
+ files<-strsplit(opts[["bed-files"]], "\t")[[1]]
+ bed.dir<-mkdir(file.path(opts[["report-dir"]], "beds"))
+ file.copy(as.list(files), bed.dir)
+ data.source<-list()
+ data.source[["bed.dir"]]<-bed.dir
+ data.source[["sample.sheet"]]<-opts[["pheno"]]
+
+}
+
+dump<-sapply(names(opt.class), function(on){
+ getopname<-gsub("\\.","-",on)
+ if(getoptname %in% names(opts)){
+ if(opt.class[on]=="logical"){
+ rnb.options(on=TRUE)
+ }else if(opt.class %in% c("character","character.vector")){
+ ov<-opts[[getoptname]]
+ ov<-gsub("\"", "", ov)
+ if(opt.class=="character.vector"){
+ ov<-as.character(strsplit(ov,","))
+ }
+ rnb.options(on=ov)
+ }else if(opt.class %in% c("integer","numeric","integer.vector","numeric.vector")){
+ ov<-opts[[getoptname]]
+ ov<-gsub("\"", "", ov)
+ if(opt.class %in% c("integer.vector","numeric.vector")){
+ ov<-as.character(strsplit(ov,","))
+ }
+ rnb.options(on=ov)
+ }
+ }
+})
+
+
+rnb.run.analysis(data.source=data.source, dir.report=opts[["report-dir"]], data.type=data.type)
+
diff -r 000000000000 -r d1d0d07a8af4 install.rnbeads.R
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/install.rnbeads.R Wed Apr 17 07:44:04 2013 -0400
@@ -0,0 +1,1 @@
+source("http://rnbeads.mpi-inf.mpg.de/install.R")
\ No newline at end of file
diff -r 000000000000 -r d1d0d07a8af4 rnbeads.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/rnbeads.xml Wed Apr 17 07:44:04 2013 -0400
@@ -0,0 +1,495 @@
+
+
+ Performs RnBeads analysis for the selected set of
+
+ R_SCRIPTS_PATH
+ R
+
+ rnbeads_galaxy_wrapper.sh
+ #if str( $inputDataSelector.dataType ) == "idat"
+ --data-type="idat.dir"
+ --pheno="$inputDataSelector.sampleAnnotations"
+ #if str( $idatSelector.idatSelector.idatSource ) == "history"
+ --idat-files =="
+ #for $input_files in $inputDataSelector.input_series:
+ ${input_files.input_files}\t
+ #end for
+ "
+ #else:
+ --idat-files == "$idatRepo"
+ #end if
+ #end if
+ #if str( $inputDataSelector.dataType ) == "gsreport"
+ --data-type="GS.report"
+ --gs-report="$inputDataSelector.gsReportFile"
+ #end if
+ #if str( $inputDataSelector.dataType ) == "geo"
+ --data-type="GEO"
+ --geo-series=$inputDataSelector.geoSeries
+ #end if
+ #if str( $inputDataSelector.dataType ) == "tables"
+ --data-type="data.files"
+ --pheno="$inputDataSelector.sampleAnnotations"
+ #end if
+ #if str( $inputDataSelector.dataType ) == "tables"
+ --data-type="data.files"
+ --pheno="$inputDataSelector.sampleAnnotations"
+ --betas="$inputDataSelector.betaTable"
+ --pvals="$inputDataSelector.pvalTable"
+ #end if
+ #if str( $inputDataSelector.dataType ) == "bed"
+ --data-type="bed.dir"
+ --pheno="$inputDataSelector.sampleAnnotations"
+ --beds =="
+ #for $input_files in $inputDataSelector.input_series:
+ ${input_files.input_files}\t
+ #end for
+ #end if
+ --report-dir="$html_file.files_path"
+ #if str( $options.optionSet ) == "full"
+ #if str( $options.analysisName ) != ""
+ --analysis-name = "$options.analysisName"
+ #end if
+ #if str( $options.logging ) == "True"
+ --logging
+ #end if
+ #if str( $options.email ) != ""
+ --email = "$options.email"
+ #end if
+ #if str( $options.assembly ) != ""
+ --assembly = "$options.assembly"
+ #end if
+ #if str( $options.analyzeSites ) == "True"
+ --analyze-sites
+ #end if
+ #if str( $options.regionTypes ) != ""
+ --region-types = "$options.regionTypes"
+ #end if
+ #if str( $options.identifiersColumn ) != ""
+ --identifiers-column = "$options.identifiersColumn"
+ #end if
+ #if str( $options.pointsCategory ) != ""
+ --points-category = "$options.pointsCategory"
+ #end if
+ #if str( $options.colorsCategory ) != ""
+ --colors-category = "$options.colorsCategory"
+ #end if
+ #if str( $options.colorsGradient ) != ""
+ --colors-gradient = "$options.colorsGradient"
+ #end if
+ #if str( $options.minGroupSize ) != ""
+ --min-group-size = "$options.minGroupSize"
+ #end if
+ #if str( $options.maxGroupCount ) != ""
+ --max-group-count = "$options.maxGroupCount"
+ #end if
+ #if str( $options.gzLargeFiles ) == "True"
+ --gz-large-files
+ #end if
+ #if str( $options.strandSpecific ) == "True"
+ --strand-specific
+ #end if
+ #if str( $options.replicateIdColumn ) != ""
+ --replicate-id-column = "$options.replicateIdColumn"
+ #end if
+ #if str( $options.loadingNormalization ) == "True"
+ --loading-normalization
+ #end if
+ #if str( $options.loadingDefaultDataType ) != ""
+ --loading-default-data-type = "$options.loadingDefaultDataType"
+ #end if
+ #if str( $options.loadingTableSeparator ) != ""
+ --loading-table-separator = "$options.loadingTableSeparator"
+ #end if
+ #if str( $options.loadingBedStyle ) != ""
+ --loading-bed-style = "$options.loadingBedStyle"
+ #end if
+ #if str( $options.loadingBedColumns ) != ""
+ --loading-bed-columns = "$options.loadingBedColumns"
+ #end if
+ #if str( $options.loadingBedFrameShift ) != ""
+ --loading-bed-frame-shift = "$options.loadingBedFrameShift"
+ #end if
+ #if str( $options.normalizationMethod ) != ""
+ --normalization-method = "$options.normalizationMethod"
+ #end if
+ #if str( $options.qc ) == "True"
+ --qc
+ #end if
+ #if str( $options.qcBoxplots ) == "True"
+ --qc-boxplots
+ #end if
+ #if str( $options.qcBarplots ) == "True"
+ --qc-barplots
+ #end if
+ #if str( $options.qcNegativeBoxplot ) == "True"
+ --qc-negative-boxplot
+ #end if
+ #if str( $options.qcSnpHeatmap ) == "True"
+ --qc-snp-heatmap
+ #end if
+ #if str( $options.qcSnpBoxplot ) == "True"
+ --qc-snp-boxplot
+ #end if
+ #if str( $options.qcSnpBarplot ) == "True"
+ --qc-snp-barplot
+ #end if
+ #if str( $options.qcSampleBatchSize ) != ""
+ --qc-sample-batch-size = "$options.qcSampleBatchSize"
+ #end if
+ #if str( $options.filteringContextRemoval ) != ""
+ --filtering-context-removal = "$options.filteringContextRemoval"
+ #end if
+ #if str( $options.filteringSnp ) == "True"
+ --filtering-snp
+ #end if
+ #if str( $options.filteringSnpFrequency ) != ""
+ --filtering-snp-frequency = "$options.filteringSnpFrequency"
+ #end if
+ #if str( $options.filteringSnpAccepted ) != ""
+ --filtering-snp-accepted = "$options.filteringSnpAccepted"
+ #end if
+ #if str( $options.filteringSexChromosomesRemoval ) == "True"
+ --filtering-sex-chromosomes-removal
+ #end if
+ #if str( $options.filteringMissingValueQuantile ) != ""
+ --filtering-missing-value-quantile = "$options.filteringMissingValueQuantile"
+ #end if
+ #if str( $options.filteringCoverageThreshold ) != ""
+ --filtering-coverage-threshold = "$options.filteringCoverageThreshold"
+ #end if
+ #if str( $options.filteringLowCoverageMasking ) == "True"
+ --filtering-low-coverage-masking
+ #end if
+ #if str( $options.filteringHighCoverageOutliers ) == "True"
+ --filtering-high-coverage-outliers
+ #end if
+ #if str( $options.filteringGreedycut ) == "True"
+ --filtering-greedycut
+ #end if
+ #if str( $options.filteringGreedycutPvalueThreshold ) != ""
+ --filtering-greedycut-pvalue-threshold = "$options.filteringGreedycutPvalueThreshold"
+ #end if
+ #if str( $options.filteringGreedycutRcTies ) != ""
+ --filtering-greedycut-rc-ties = "$options.filteringGreedycutRcTies"
+ #end if
+ #if str( $options.filteringDeviationThreshold ) != ""
+ --filtering-deviation-threshold = "$options.filteringDeviationThreshold"
+ #end if
+ #if str( $options.batch ) == "True"
+ --batch
+ #end if
+ #if str( $options.batchDreductionColumns ) != ""
+ --batch-dreduction-columns = "$options.batchDreductionColumns"
+ #end if
+ #if str( $options.batchPrincipalComponents ) != ""
+ --batch-principal-components = "$options.batchPrincipalComponents"
+ #end if
+ #if str( $options.batchCorrelationColumns ) != ""
+ --batch-correlation-columns = "$options.batchCorrelationColumns"
+ #end if
+ #if str( $options.batchCorrelationPvalueThreshold ) != ""
+ --batch-correlation-pvalue-threshold = "$options.batchCorrelationPvalueThreshold"
+ #end if
+ #if str( $options.batchCorrelationPermutations ) != ""
+ --batch-correlation-permutations = "$options.batchCorrelationPermutations"
+ #end if
+ #if str( $options.batchCorrelationQc ) == "True"
+ --batch-correlation-qc
+ #end if
+ #if str( $options.profiles ) == "True"
+ --profiles
+ #end if
+ #if str( $options.profilesBetaDistribution ) == "True"
+ --profiles-beta-distribution
+ #end if
+ #if str( $options.profilesIntersample ) == "True"
+ --profiles-intersample
+ #end if
+ #if str( $options.profilesDeviationPlots ) == "True"
+ --profiles-deviation-plots
+ #end if
+ #if str( $options.profilesColumns ) != ""
+ --profiles-columns = "$options.profilesColumns"
+ #end if
+ #if str( $options.profilesClustering ) == "True"
+ --profiles-clustering
+ #end if
+ #if str( $options.profilesClusteringTopProbes ) != ""
+ --profiles-clustering-top-probes = "$options.profilesClusteringTopProbes"
+ #end if
+ #if str( $options.regionProfilesTypes ) != ""
+ --region-profiles-types = "$options.regionProfilesTypes"
+ #end if
+ #if str( $options.differential ) == "True"
+ --differential
+ #end if
+ #if str( $options.differentialPermutations ) != ""
+ --differential-permutations = "$options.differentialPermutations"
+ #end if
+ #if str( $options.differentialComparisonColumns ) != ""
+ --differential-comparison-columns = "$options.differentialComparisonColumns"
+ #end if
+ #if str( $options.differentialEnrichment ) == "True"
+ --differential-enrichment
+ #end if
+ #if str( $options.exportToUcsc ) != ""
+ --export-to-ucsc = "$options.exportToUcsc"
+ #end if
+ #if str( $options.exportToBed ) == "True"
+ --export-to-bed
+ #end if
+ #if str( $options.exportToCsv ) == "True"
+ --export-to-csv
+ #end if
+ #if str( $options.exportTypes ) != ""
+ --export-types = "$options.exportTypes"
+ #end if
+ #if str( $options.colors3Gradient ) != ""
+ --colors-3-gradient = "$options.colors3Gradient"
+ #end if
+ #if str( $options.loggingMemory ) == "True"
+ --logging-memory
+ #end if
+ #if str( $options.usePstoimg ) == "True"
+ --use-pstoimg
+ #end if
+ #end if
+
+
+
+
+ Tabular data
+ IDAT files
+ GenomeStudio report
+ Gene Expression Omnibus series
+ BED files
+
+
+
+
+
+
+
+
+
+
+ Select from history
+ Repository on the server
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Default options
+ Full option set
+
+
+
+ See package documentation for detailed description of each option
+
+
+ True
+ False
+
+
+
+
+ True
+ False
+
+
+
+
+
+
+
+
+
+ True
+ False
+
+
+ True
+ False
+
+
+
+ True
+ False
+
+
+
+
+
+
+
+
+ True
+ False
+
+
+ True
+ False
+
+
+ True
+ False
+
+
+ True
+ False
+
+
+ True
+ False
+
+
+ True
+ False
+
+
+ True
+ False
+
+
+
+
+ True
+ False
+
+
+
+
+ True
+ False
+
+
+
+
+ True
+ False
+
+
+ True
+ False
+
+
+ True
+ False
+
+
+
+
+
+ True
+ False
+
+
+
+
+
+
+
+ True
+ False
+
+
+ True
+ False
+
+
+ True
+ False
+
+
+ True
+ False
+
+
+ True
+ False
+
+
+
+ True
+ False
+
+
+
+
+ True
+ False
+
+
+
+
+ True
+ False
+
+
+
+ True
+ False
+
+
+ True
+ False
+
+
+
+
+ True
+ False
+
+
+ True
+ False
+
+
+
+
+
+
+
+
+
+
+
+
+ RnBeads is an R-package for comprehensive analysis of Illumina Infinium HumanMethylation450 BeadChip data. It extends previous approaches for this type of data analysis by high throughput capabilities, as well as presenting results in a comprehensive, highly interpretable fashion.
+
+
+
\ No newline at end of file
diff -r 000000000000 -r d1d0d07a8af4 rnbeads_galaxy_wrapper.sh
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/rnbeads_galaxy_wrapper.sh Wed Apr 17 07:44:04 2013 -0400
@@ -0,0 +1,4 @@
+#!/bin/bash
+
+#Rscript --slave $(dirname $(readlink -f $0))/RnBeadsGalaxy.R $*
+Rscript --slave \$R_SCRIPTS_PATH/RnBeadsGalaxy.R $*
\ No newline at end of file
diff -r 000000000000 -r d1d0d07a8af4 rnbeads_repos.txt.sample
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/rnbeads_repos.txt.sample Wed Apr 17 07:44:04 2013 -0400
@@ -0,0 +1,1 @@
+repo1 Repository1 /data/iscan/idats
\ No newline at end of file
diff -r 000000000000 -r d1d0d07a8af4 tool_data_table_conf.xml.sample
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tool_data_table_conf.xml.sample Wed Apr 17 07:44:04 2013 -0400
@@ -0,0 +1,6 @@
+
+
+
\ No newline at end of file
diff -r 000000000000 -r d1d0d07a8af4 tool_dependencies.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tool_dependencies.xml Wed Apr 17 07:44:04 2013 -0400
@@ -0,0 +1,22 @@
+
+
+
+ $REPOSITORY_INSTALL_DIR
+
+
+
+
+ http://CRAN.R-project.org/src/base/R-3/R-3.0.0.tar.gz
+ ./configure --prefix=$INSTALL_DIR --with-x=no
+ make
+
+ $INSTALL_DIR/bin
+
+ R --no-save <<< "source('http://rnbeads.mpi-inf.mpg.de')"
+
+
+
+ You need a FORTRAN compiler or perhaps f2c in addition to a C compiler to build R.
+
+
+
\ No newline at end of file