diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..bcbed57 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/.includepath +/.project diff --git a/README.md b/README.md index 0563141..eba096f 100644 --- a/README.md +++ b/README.md @@ -6,10 +6,11 @@ R packages: abind, boot, cluster, ggplot2, gplots, Hmisc, MASS, MAST, RDRToolbox, reshape, rgl, RSvgDevice, stringr, survival, vioplot Apache or any other supported web server. # Install -

The software is tested on Fedora 20 and CentOS 7.0 using apache2, but should install on any other linux distribution.

+

The software is tested on Fedora 20 and CentOS 7.0 using apache2, and Ubuntu 16.04. It should install on any other linux distribution, too. Windows is not supported!

Obtain and install my Stefans_Lib_Essentials Perl library.

Download this source and install it using the Perl make procedure:

  1. cd <path to the source>
  2. perl Makefile.PL
  3. make
  4. make install
+

In addition you will need to install R and my Rscexv package as well as the python ZIFA library.

To install the server files to your web path you should use the SCexV install.pl script scripts/install.pl. This script will take care of access rights, copy all required files and changes all links inside the server files to support install into a subpath. In other words it is absolutely not recommended to copy the source files to your web path by hand.

## install.pl usage @@ -35,3 +36,67 @@ The output from this script should help to pinpoint the missing parts. If this t # Example installation

You can access our installation at stemsysbio.bmc.lu.se/SCexV/. For more help on the usage please check out our instructional videos on our YouTube channel.

+ +# Installation on Ubuntu 16.04 fresh install + +sudo apt-get install libcatalyst-view-tt-perl libcatalyst-plugin-session-store-fastmmap-perl libcatalyst-plugin-session-store-cache-perl libcatalyst-plugin-redirect-perl libcatalyst-plugin-configloader-perl libcatalyst-perl libcatalyst-modules-perl libcatalyst-modules-extra-perl libcatalyst-action-rest-perl dos2unix libhtml-template-perl libnet-ssh2-perl libdatetime-format-mysql-perl libgd-svg-perl libdate-simple-perl pdl + +mkdir SRC +cd SRC + +git clone https://github.com/stela2502/Stefans_Lib_Esentials.git +cd Stefans_Lib_Esentials/Stefans_Libs_Essentials/ +make +sudo make install + +git clone https://github.com/stela2502/SCExV.git +cd SCExV/ +git checkout testing +cd SCExV/ +make +sudo make install + +## R +sudo apt-get install r-base r-base-html r-base-core libcurl4-openssl-dev libssl-dev libssh2-1-dev libx11-dev libglu1-mesa-dev libfreetype6-dev + + +## within R +install.packages(c('httr','git2r', 'devtools','Rcpp') ) + +source("http://bioconductor.org/biocLite.R") +biocLite("RDRToolbox") +biocLite("Biobase", 'BiocGenerics') + +library(devtools) +install_github('stela2502/RFclust.SGE') +install_github('RGLab/MAST') +install_github('stela2502/Rscexv') + +## python ZIFA +sudo apt-get install python-numpy python-matplotlib python-scipy scikits.learn + +cd SRC +git clone https://github.com/epierson9/ZIFA +cd ZIFA +sudo python setup.py install + + +## apache2 + +sudo apt-get install libapache2-mod-perl2 libcatalyst-engine-apache-perl apache2 libplack-perl + +## the web interface + +cpanm Plack + +cd SRC/SCexV/SCexV/ +sudo perl -I lib script/install.pl -install_path /var/www/html/SCexV/ -server_user www-data + +This will print a sample apache2 config file that you can adjust if necessary and put into the sites_eanables directory of your apache config. +! make sure that the mod_perl2 mod is loaded ! + +service restart apache2 + +You now can access the server under http://localhost/SCexV/ + + diff --git a/SCExV/.gitignore b/SCExV/.gitignore index a66ea59..734ef57 100644 --- a/SCExV/.gitignore +++ b/SCExV/.gitignore @@ -3,11 +3,27 @@ /t/data/Output/ /t/data/Outpath/ BugRreport_rgl* +/MANIFEST +/MYMETA.json +/MYMETA.yml +/Makefile +/.RData /BugReport_rgl.tar.gz +/Grouping.ABCG2.CBFA2T3 +/Grouping.AHR.CBFA2T3 +/Grouping.GeneB.GeneC2 +/Grouping.GeneB.GeneF +/Grouping.GeneC1.GeneC2 /HTpcrA-0.70.tar.gz /HTpcrA-0.80.tar.gz /HTpcrA-0.81.tar.gz /HTpcrA-0.90.tar.gz -/MANIFEST.bak +/INSTALL_Ubuntu_16.04.txt /Makefile.old -/Makefile +/MANIFEST.bak +/pm_to_blib +/rainbow_2.Rout +/rainbow_3.Rout +/rainbow_4.Rout +/rainbow_6.Rout +/RScript.Rout diff --git a/SCExV/BugReport_rgl/.gitignore b/SCExV/BugReport_rgl/.gitignore index 1de5dac..7fe3485 100644 --- a/SCExV/BugReport_rgl/.gitignore +++ b/SCExV/BugReport_rgl/.gitignore @@ -1,11 +1,4 @@ /.RData -/OrigDensityWebGL.html -/OrigDensityWebGL_mod.html -/OrigDensityWebGL_mod.html.log -/OrigPointsWebGL.html -/OrigPointsWebGL_mod.html -/OrigPointsWebGL_mod.html.log -/add_md5.pl /analysis.RData /create_3d_source_files.R /create_3d_source_files.Rout @@ -13,7 +6,13 @@ /difference_md5.txt /differences_md5_sums.txt /index.html -/rgl.js -/points.html /md5_Density.txt /md5_Points.txt +/OrigDensityWebGL.html +/OrigDensityWebGL_mod.html +/OrigDensityWebGL_mod.html.log +/OrigPointsWebGL.html +/OrigPointsWebGL_mod.html +/OrigPointsWebGL_mod.html.log +/points.html +/rgl.js diff --git a/SCExV/BugReport_rgl/add_md5.pl b/SCExV/BugReport_rgl/add_md5.pl new file mode 100755 index 0000000..458566e --- /dev/null +++ b/SCExV/BugReport_rgl/add_md5.pl @@ -0,0 +1,109 @@ +#! /usr/bin/perl -w + +# Copyright (C) 2016-01-12 Stefan Lang + +# This program is free software; you can redistribute it +# and/or modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; +# either version 3 of the License, or (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . + +=head1 add_md5.pl + +Add the md5 sum over each line to a text file. + +To get further help use 'add_md5.pl -help' at the comman line. + +=cut + +use Getopt::Long; +use strict; +use warnings; + +use Digest::MD5 qw(md5_hex); + +use FindBin; +my $plugin_path = "$FindBin::Bin"; + +my $VERSION = 'v1.0'; + + +my ( $help, $debug, $database, $infile, $outfile); + +Getopt::Long::GetOptions( + "-infile=s" => \$infile, + "-outfile=s" => \$outfile, + + "-help" => \$help, + "-debug" => \$debug +); + +my $warn = ''; +my $error = ''; + +unless ( defined $infile) { + $error .= "the cmd line switch -infile is undefined!\n"; +} +unless ( defined $outfile) { + $error .= "the cmd line switch -outfile is undefined!\n"; +} + + +if ( $help ){ + print helpString( ) ; + exit; +} + +if ( $error =~ m/\w/ ){ + print helpString($error ) ; + exit; +} + +sub helpString { + my $errorMessage = shift; + $errorMessage = ' ' unless ( defined $errorMessage); + return " + $errorMessage + command line switches for add_md5.pl + + -infile : + -outfile : + + -help :print this help + -debug :verbose output + + +"; +} + + +my ( $task_description); + +$task_description .= 'perl'. $plugin_path .'/add_md5.pl'; +$task_description .= " -infile $infile" if (defined $infile); +$task_description .= " -outfile $outfile" if (defined $outfile); + + +open ( LOG , ">$outfile.log") or die $!; +print LOG $task_description."\n"; +close ( LOG ); + + +## Do whatever you want! + +open ( IN, "<$infile" ) or die $!; +open ( OUT , ">$outfile" ) or die $!; +while ( ) { + print OUT md5_hex($_).": $_"; +} +close (IN); +close (OUT); +print "Done\n"; + diff --git a/SCExV/BugReport_rgl/gl_shader_cmp/.gitignore b/SCExV/BugReport_rgl/gl_shader_cmp/.gitignore index 7d2aac6..4edbdf8 100644 --- a/SCExV/BugReport_rgl/gl_shader_cmp/.gitignore +++ b/SCExV/BugReport_rgl/gl_shader_cmp/.gitignore @@ -1,3 +1,4 @@ +/diff_new_old_density.shader /diff_new_shaders.txt /diff_old_shader_scripts.txt /new_rgl_shader_script_density.js diff --git a/SCExV/INSTALL_Ubuntu_16.04.txt b/SCExV/INSTALL_Ubuntu_16.04.txt new file mode 100644 index 0000000..e17930e --- /dev/null +++ b/SCExV/INSTALL_Ubuntu_16.04.txt @@ -0,0 +1,90 @@ +sudo apt-get install libcatalyst-view-tt-perl libcatalyst-plugin-session-store-fastmmap-perl libcatalyst-plugin-session-store-cache-perl libcatalyst-plugin-redirect-perl libcatalyst-plugin-configloader-perl libcatalyst-perl libcatalyst-modules-perl libcatalyst-modules-extra-perl libcatalyst-action-rest-perl dos2unix libhtml-template-perl libnet-ssh2-perl libdatetime-format-mysql-perl libgd-svg-perl libdate-simple-perl pdl + +mkdir SRC +cd SRC + +git clone https://github.com/stela2502/Stefans_Lib_Esentials.git +cd Stefans_Lib_Esentials/Stefans_Libs_Essentials/ +make +sudo make install + +git clone https://github.com/stela2502/SCExV.git +cd SCExV/ +git checkout testing +cd SCExV/ +make +sudo make install + +## R +sudo apt-get install r-base r-base-html r-base-core libcurl4-openssl-dev libssl-dev libssh2-1-dev libx11-dev libglu1-mesa-dev libfreetype6-dev + + +## within R +install.packages(c('httr','git2r', 'devtools','Rcpp') ) + +source("http://bioconductor.org/biocLite.R") +biocLite("RDRToolbox") +biocLite("Biobase", 'BiocGenerics') + +library(devtools) +install_github('stela2502/RFclust.SGE') +install_github('RGLab/MAST') +install_github('stela2502/Rscexv') + +## python ZIFA +sudo apt-get install python-numpy python-matplotlib python-scipy scikits.learn + +cd SRC +git clone https://github.com/epierson9/ZIFA +cd ZIFA +sudo python setup.py install + +## nginx + staman + +apt-get install nginx-full libdaemon-control-perl starman + +In the SCexV path: +sudo perl -I lib script/install.pl -install_path /var/www/html/SCexV/ -server_user www-data -web_root /var/www/html/SCexV/ +sudo ./myapp.starman.initd get_init_file > /etc/init.d/cat-SCExV +sudo update-rc.d cat-SCExV defaults + +create the nginx server information (/etc/nginx/sites-enabled/001_SCExV) to contain: + +server { + listen 80; + server_name localhost; + root /var/www/html/SCexV/; + + location / { + client_max_body_size 40M; + include /etc/nginx/proxy_params; + proxy_pass http://unix:/var/www/html/SCexV/SCExV.socket:/; + } + +} + +sudo system nginx restart +sudo system cat-SCExV start + + + +## apache2 (do not use that!) + +sudo apt-get install libapache2-mod-perl2 libcatalyst-engine-apache-perl apache2 + +## the web interface + +cpanm Plack + +cd SRC/SCexV/SCexV/ +sudo perl -I lib script/install.pl -install_path /var/www/html/SCexV/ -server_user www-data + +This will print a sample apache2 config file that you can adjust if necessary and put into the sites_eanables directory of your apache config. +! make sure that the mod_perl2 mod is loaded ! + +service restart apache2 + +You now can access the server under localhost/SCexV/ + +But you might encounter the same problems as I did - mod_perl seams to not like this application any more :-( + diff --git a/SCExV/MYMETA.json b/SCExV/MYMETA.json deleted file mode 100644 index 6ed856f..0000000 --- a/SCExV/MYMETA.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "abstract" : "Catalyst based application", - "author" : [ - "Stefan Lang" - ], - "dynamic_config" : 0, - "generated_by" : "Module::Install version 1.12, CPAN::Meta::Converter version 2.132140", - "license" : [ - "perl_5" - ], - "meta-spec" : { - "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec", - "version" : "2" - }, - "name" : "HTpcrA", - "no_index" : { - "directory" : [ - "inc", - "t" - ] - }, - "prereqs" : { - "build" : { - "requires" : { - "ExtUtils::MakeMaker" : "6.36", - "Test::More" : "0.88", - "jQuery::File::Upload" : "0" - } - }, - "configure" : { - "requires" : { - "ExtUtils::MakeMaker" : "6.36" - } - }, - "runtime" : { - "requires" : { - "Catalyst::Action::RenderView" : "0", - "Catalyst::Model::Factory::PerRequest" : "0", - "Catalyst::Plugin::ConfigLoader" : "0", - "Catalyst::Plugin::ErrorCatcher" : "0", - "Catalyst::Plugin::FormBuilder" : "0", - "Catalyst::Plugin::RequireSSL" : "0", - "Catalyst::Plugin::SecureCookies" : "0", - "Catalyst::Plugin::Session" : "0", - "Catalyst::Plugin::Session::State::Cookie" : "0", - "Catalyst::Plugin::Session::Store::FastMmap" : "0", - "Catalyst::Plugin::Static::Simple" : "0", - "Catalyst::Runtime" : "5.90019", - "Catalyst::View::TT" : "0", - "Config::General" : "0", - "Date::Simple" : "0", - "DateTime::Format::MySQL" : "0", - "GD::SVG" : "0", - "HTML::Template" : "0", - "Moose" : "0", - "Number::Format" : "0", - "Statistics::Descriptive" : "0", - "namespace::autoclean" : "0" - } - } - }, - "release_status" : "stable", - "resources" : { - "license" : [ - "http://dev.perl.org/licenses/" - ] - }, - "version" : "0.36" -} diff --git a/SCExV/MYMETA.yml b/SCExV/MYMETA.yml deleted file mode 100644 index e0c95ee..0000000 --- a/SCExV/MYMETA.yml +++ /dev/null @@ -1,47 +0,0 @@ ---- -abstract: 'Catalyst based application' -author: - - 'Stefan Lang' -build_requires: - ExtUtils::MakeMaker: '6.36' - Test::More: '0.88' - jQuery::File::Upload: '0' -configure_requires: - ExtUtils::MakeMaker: '6.36' -dynamic_config: 0 -generated_by: 'Module::Install version 1.12, CPAN::Meta::Converter version 2.132140' -license: perl -meta-spec: - url: http://module-build.sourceforge.net/META-spec-v1.4.html - version: '1.4' -name: HTpcrA -no_index: - directory: - - inc - - t -requires: - Catalyst::Action::RenderView: '0' - Catalyst::Model::Factory::PerRequest: '0' - Catalyst::Plugin::ConfigLoader: '0' - Catalyst::Plugin::ErrorCatcher: '0' - Catalyst::Plugin::FormBuilder: '0' - Catalyst::Plugin::RequireSSL: '0' - Catalyst::Plugin::SecureCookies: '0' - Catalyst::Plugin::Session: '0' - Catalyst::Plugin::Session::State::Cookie: '0' - Catalyst::Plugin::Session::Store::FastMmap: '0' - Catalyst::Plugin::Static::Simple: '0' - Catalyst::Runtime: '5.90019' - Catalyst::View::TT: '0' - Config::General: '0' - Date::Simple: '0' - DateTime::Format::MySQL: '0' - GD::SVG: '0' - HTML::Template: '0' - Moose: '0' - Number::Format: '0' - Statistics::Descriptive: '0' - namespace::autoclean: '0' -resources: - license: http://dev.perl.org/licenses/ -version: '0.36' diff --git a/SCExV/Makefile b/SCExV/Makefile deleted file mode 100644 index 83df4b7..0000000 --- a/SCExV/Makefile +++ /dev/null @@ -1,1322 +0,0 @@ -# This Makefile is for the HTpcrA extension to perl. -# -# It was generated automatically by MakeMaker version -# 6.72 (Revision: 67200) from the contents of -# Makefile.PL. Don't edit this file, edit Makefile.PL instead. -# -# ANY CHANGES MADE HERE WILL BE LOST! -# -# MakeMaker ARGV: () -# - -# MakeMaker Parameters: - -# ABSTRACT => q[Catalyst based application] -# AUTHOR => [q[Stefan Lang]] -# BUILD_REQUIRES => { jQuery::File::Upload=>q[0], ExtUtils::MakeMaker=>q[6.36], Test::More=>q[0.88] } -# CONFIGURE_REQUIRES => { } -# DISTNAME => q[HTpcrA] -# EXE_FILES => [q[script/capture_rgl_javascript.pl], q[script/CleanTemp.pl], q[script/htpcra_cgi.pl], q[script/htpcra_create.pl], q[script/htpcra_fastcgi.pl], q[script/htpcra_server.pl], q[script/htpcra_test.pl], q[script/install.pl], q[script/libPatcher.pl], q[script/minimize_css.pl]] -# LICENSE => q[perl] -# NAME => q[HTpcrA] -# NO_META => q[1] -# PREREQ_PM => { Catalyst::Plugin::Session=>q[0], Catalyst::Plugin::Session::State::Cookie=>q[0], Catalyst::Plugin::Session::Store::FastMmap=>q[0], Date::Simple=>q[0], Catalyst::Runtime=>q[5.90019], Catalyst::Plugin::ConfigLoader=>q[0], Catalyst::Action::RenderView=>q[0], Catalyst::Plugin::ErrorCatcher=>q[0], Catalyst::Model::Factory::PerRequest=>q[0], Config::General=>q[0], Statistics::Descriptive=>q[0], Catalyst::View::TT=>q[0], ExtUtils::MakeMaker=>q[6.36], Catalyst::Plugin::RequireSSL=>q[0], jQuery::File::Upload=>q[0], HTML::Template=>q[0], namespace::autoclean=>q[0], Moose=>q[0], Number::Format=>q[0], Catalyst::Plugin::Static::Simple=>q[0], Catalyst::Plugin::FormBuilder=>q[0], DateTime::Format::MySQL=>q[0], Test::More=>q[0.88], Catalyst::Plugin::SecureCookies=>q[0], GD::SVG=>q[0] } -# TEST_REQUIRES => { } -# VERSION => q[0.90] -# VERSION_FROM => q[lib/HTpcrA.pm] -# dist => { } -# realclean => { FILES=>q[MYMETA.yml] } -# test => { TESTS=>q[t/01app.t t/02_1_app_RandomForest.t t/02_3_dropSamples_only.t t/02_4_check_analysis_page.t t/02pod.t t/03podcoverage.t t/Check_01.1_input_multiple_files_R.t t/Check_01_input_files_R.t t/Check_04_analysis_R.t t/controller_analyse.t t/controller_Coexpression.t t/controller_Error.t t/controller_fluidigm_analysis.t t/controller_gene_group.t t/controller_GEOfiles.t t/controller_grouping_2d.t t/controller_help.t t/controller_PValues.t t/controller_RandomForest.t t/controller_test.t t/data_table_2.t t/help_data.t t/model_Coexpr.t t/model_GEO_files.t t/model_java_splicer.t t/model_mechanize.t t/model_PValues.t t/model_RandomForest_recieve.t t/model_RandomForest_send.t t/model_RandomForest_x_send_to_server.t t/model_rgl3dplots.t t/regroup_logics.t t/simpleBarGraph.t t/stefans_libs_Description.t t/stefans_libs_file_readers_Fluidigm_Raw_Tables.t t/stefans_libs_GeneGroup_4_newInitialPlot.t t/stefans_libs_GeneGroups.t t/stefans_libs_GeneGroups_2.t t/stefans_libs_GeneGroups_3.t t/stefans_libs_GeneGroups_R_table.t t/stefans_libs_GeneGroups_Set.t t/stefans_libs_HTpcrA_Menus.t t/stefans_libs_HTpcrA_methods.t t/stefans_libs_HTpcrA_ScrapBook.t t/view_TT.t] } - -# --- MakeMaker post_initialize section: - - -# --- MakeMaker const_config section: - -# These definitions are from config.sh (via /usr/lib64/perl5/Config.pm). -# They may have been overridden via Makefile.PL or on the command line. -AR = ar -CC = gcc -CCCDLFLAGS = -fPIC -CCDLFLAGS = -Wl,--enable-new-dtags -DLEXT = so -DLSRC = dl_dlopen.xs -EXE_EXT = -FULL_AR = /usr/bin/ar -LD = gcc -LDDLFLAGS = -shared -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -Wl,-z,relro -LDFLAGS = -fstack-protector -LIBC = -LIB_EXT = .a -OBJ_EXT = .o -OSNAME = linux -OSVERS = 3.19.1-201.fc21.x86_64 -RANLIB = : -SITELIBEXP = /usr/local/share/perl5 -SITEARCHEXP = /usr/local/lib64/perl5 -SO = so -VENDORARCHEXP = /usr/lib64/perl5/vendor_perl -VENDORLIBEXP = /usr/share/perl5/vendor_perl - - -# --- MakeMaker constants section: -AR_STATIC_ARGS = cr -DIRFILESEP = / -DFSEP = $(DIRFILESEP) -NAME = HTpcrA -NAME_SYM = HTpcrA -VERSION = 0.90 -VERSION_MACRO = VERSION -VERSION_SYM = 0_90 -DEFINE_VERSION = -D$(VERSION_MACRO)=\"$(VERSION)\" -XS_VERSION = 0.90 -XS_VERSION_MACRO = XS_VERSION -XS_DEFINE_VERSION = -D$(XS_VERSION_MACRO)=\"$(XS_VERSION)\" -INST_ARCHLIB = blib/arch -INST_SCRIPT = blib/script -INST_BIN = blib/bin -INST_LIB = blib/lib -INST_MAN1DIR = blib/man1 -INST_MAN3DIR = blib/man3 -MAN1EXT = 1 -MAN3EXT = 3pm -INSTALLDIRS = site -DESTDIR = -PREFIX = $(SITEPREFIX) -PERLPREFIX = /usr -SITEPREFIX = /usr/local -VENDORPREFIX = /usr -INSTALLPRIVLIB = /usr/share/perl5 -DESTINSTALLPRIVLIB = $(DESTDIR)$(INSTALLPRIVLIB) -INSTALLSITELIB = /usr/local/share/perl5 -DESTINSTALLSITELIB = $(DESTDIR)$(INSTALLSITELIB) -INSTALLVENDORLIB = /usr/share/perl5/vendor_perl -DESTINSTALLVENDORLIB = $(DESTDIR)$(INSTALLVENDORLIB) -INSTALLARCHLIB = /usr/lib64/perl5 -DESTINSTALLARCHLIB = $(DESTDIR)$(INSTALLARCHLIB) -INSTALLSITEARCH = /usr/local/lib64/perl5 -DESTINSTALLSITEARCH = $(DESTDIR)$(INSTALLSITEARCH) -INSTALLVENDORARCH = /usr/lib64/perl5/vendor_perl -DESTINSTALLVENDORARCH = $(DESTDIR)$(INSTALLVENDORARCH) -INSTALLBIN = /usr/bin -DESTINSTALLBIN = $(DESTDIR)$(INSTALLBIN) -INSTALLSITEBIN = /usr/local/bin -DESTINSTALLSITEBIN = $(DESTDIR)$(INSTALLSITEBIN) -INSTALLVENDORBIN = /usr/bin -DESTINSTALLVENDORBIN = $(DESTDIR)$(INSTALLVENDORBIN) -INSTALLSCRIPT = /usr/bin -DESTINSTALLSCRIPT = $(DESTDIR)$(INSTALLSCRIPT) -INSTALLSITESCRIPT = /usr/local/bin -DESTINSTALLSITESCRIPT = $(DESTDIR)$(INSTALLSITESCRIPT) -INSTALLVENDORSCRIPT = /usr/bin -DESTINSTALLVENDORSCRIPT = $(DESTDIR)$(INSTALLVENDORSCRIPT) -INSTALLMAN1DIR = /usr/share/man/man1 -DESTINSTALLMAN1DIR = $(DESTDIR)$(INSTALLMAN1DIR) -INSTALLSITEMAN1DIR = /usr/local/share/man/man1 -DESTINSTALLSITEMAN1DIR = $(DESTDIR)$(INSTALLSITEMAN1DIR) -INSTALLVENDORMAN1DIR = /usr/share/man/man1 -DESTINSTALLVENDORMAN1DIR = $(DESTDIR)$(INSTALLVENDORMAN1DIR) -INSTALLMAN3DIR = /usr/share/man/man3 -DESTINSTALLMAN3DIR = $(DESTDIR)$(INSTALLMAN3DIR) -INSTALLSITEMAN3DIR = /usr/local/share/man/man3 -DESTINSTALLSITEMAN3DIR = $(DESTDIR)$(INSTALLSITEMAN3DIR) -INSTALLVENDORMAN3DIR = /usr/share/man/man3 -DESTINSTALLVENDORMAN3DIR = $(DESTDIR)$(INSTALLVENDORMAN3DIR) -PERL_LIB = -PERL_ARCHLIB = /usr/lib64/perl5 -LIBPERL_A = libperl.a -FIRST_MAKEFILE = Makefile -MAKEFILE_OLD = Makefile.old -MAKE_APERL_FILE = Makefile.aperl -PERLMAINCC = $(CC) -PERL_INC = /usr/lib64/perl5/CORE -PERL = /usr/bin/perl "-Iinc" -FULLPERL = /usr/bin/perl "-Iinc" -ABSPERL = $(PERL) -PERLRUN = $(PERL) -FULLPERLRUN = $(FULLPERL) -ABSPERLRUN = $(ABSPERL) -PERLRUNINST = $(PERLRUN) "-I$(INST_ARCHLIB)" "-Iinc" "-I$(INST_LIB)" -FULLPERLRUNINST = $(FULLPERLRUN) "-I$(INST_ARCHLIB)" "-Iinc" "-I$(INST_LIB)" -ABSPERLRUNINST = $(ABSPERLRUN) "-I$(INST_ARCHLIB)" "-Iinc" "-I$(INST_LIB)" -PERL_CORE = 0 -PERM_DIR = 755 -PERM_RW = 644 -PERM_RWX = 755 - -MAKEMAKER = /usr/share/perl5/vendor_perl/ExtUtils/MakeMaker.pm -MM_VERSION = 6.72 -MM_REVISION = 67200 - -# FULLEXT = Pathname for extension directory (eg Foo/Bar/Oracle). -# BASEEXT = Basename part of FULLEXT. May be just equal FULLEXT. (eg Oracle) -# PARENT_NAME = NAME without BASEEXT and no trailing :: (eg Foo::Bar) -# DLBASE = Basename part of dynamic library. May be just equal BASEEXT. -MAKE = make -FULLEXT = HTpcrA -BASEEXT = HTpcrA -PARENT_NAME = -DLBASE = $(BASEEXT) -VERSION_FROM = lib/HTpcrA.pm -OBJECT = -LDFROM = $(OBJECT) -LINKTYPE = dynamic -BOOTDEP = - -# Handy lists of source code files: -XS_FILES = -C_FILES = -O_FILES = -H_FILES = -MAN1PODS = script/CleanTemp.pl \ - script/htpcra_cgi.pl \ - script/htpcra_create.pl \ - script/htpcra_fastcgi.pl \ - script/htpcra_server.pl \ - script/htpcra_test.pl \ - script/install.pl \ - script/libPatcher.pl \ - script/minimize_css.pl -MAN3PODS = lib/CatalystX/Profile_SL.pm \ - lib/CatalystX/Profile_SL/Controller/ControlProfiling.pm \ - lib/HTpcrA.pm \ - lib/HTpcrA/Controller/Coexpression.pm \ - lib/HTpcrA/Controller/DropGenes.pm \ - lib/HTpcrA/Controller/DropSamples.pm \ - lib/HTpcrA/Controller/Error.pm \ - lib/HTpcrA/Controller/Filemerger.pm \ - lib/HTpcrA/Controller/Files.pm \ - lib/HTpcrA/Controller/GEOfiles.pm \ - lib/HTpcrA/Controller/PValues.pm \ - lib/HTpcrA/Controller/RandomForest.pm \ - lib/HTpcrA/Controller/Regroup.pm \ - lib/HTpcrA/Controller/Root.pm \ - lib/HTpcrA/Controller/Scrapbook.pm \ - lib/HTpcrA/Controller/analyse.pm \ - lib/HTpcrA/Controller/gene_group.pm \ - lib/HTpcrA/Controller/grouping_2d.pm \ - lib/HTpcrA/Controller/help.pm \ - lib/HTpcrA/EnableFiles.pm \ - lib/HTpcrA/Model/Coexpr.pm \ - lib/HTpcrA/Model/GEO_files.pm \ - lib/HTpcrA/Model/GeneGroups.pm \ - lib/HTpcrA/Model/HelpFile.pm \ - lib/HTpcrA/Model/Menu.pm \ - lib/HTpcrA/Model/MethodsSection.pm \ - lib/HTpcrA/Model/PCR_Raw_Files.pm \ - lib/HTpcrA/Model/PValues.pm \ - lib/HTpcrA/Model/RandomForest.pm \ - lib/HTpcrA/Model/java_splicer.pm \ - lib/HTpcrA/Model/mech.pm \ - lib/HTpcrA/Model/rgl3dplots.pm \ - lib/HTpcrA/Model/scrapbook.pm \ - lib/HTpcrA/View/HTML.pm \ - lib/stefans_libs/Description.pm \ - lib/stefans_libs/GeneGroups.pm \ - lib/stefans_libs/GeneGroups/R_table.pm \ - lib/stefans_libs/GeneGroups/Set.pm \ - lib/stefans_libs/HTpcrA/Menue.pm \ - lib/stefans_libs/HTpcrA/ScrapBook.pm \ - lib/stefans_libs/HTpcrA/methods.pm \ - lib/stefans_libs/file_readers/PCR_Raw_Tables.pm \ - lib/stefans_libs/file_readers/Patcher.pm \ - lib/stefans_libs/flexible_data_structures/BinList.pm \ - lib/stefans_libs/flexible_data_structures/BinList/Histogram.pm \ - lib/stefans_libs/flexible_data_structures/BinList/XY_Group.pm \ - lib/stefans_libs/flexible_data_structures/data_table/arraySorter.pm \ - lib/stefans_libs/plot_old/axis.pm \ - lib/stefans_libs/root.pm - -# Where is the Config information that we are using/depend on -CONFIGDEP = $(PERL_ARCHLIB)$(DFSEP)Config.pm $(PERL_INC)$(DFSEP)config.h - -# Where to build things -INST_LIBDIR = $(INST_LIB) -INST_ARCHLIBDIR = $(INST_ARCHLIB) - -INST_AUTODIR = $(INST_LIB)/auto/$(FULLEXT) -INST_ARCHAUTODIR = $(INST_ARCHLIB)/auto/$(FULLEXT) - -INST_STATIC = -INST_DYNAMIC = -INST_BOOT = - -# Extra linker info -EXPORT_LIST = -PERL_ARCHIVE = -PERL_ARCHIVE_AFTER = - - -TO_INST_PM = lib/.gitignore \ - lib/CatalystX/Profile_SL.pm \ - lib/CatalystX/Profile_SL/Controller/ControlProfiling.pm \ - lib/HTpcrA.pm \ - lib/HTpcrA/Controller/Coexpression.pm \ - lib/HTpcrA/Controller/DropGenes.pm \ - lib/HTpcrA/Controller/DropSamples.pm \ - lib/HTpcrA/Controller/Error.pm \ - lib/HTpcrA/Controller/Filemerger.pm \ - lib/HTpcrA/Controller/Files.pm \ - lib/HTpcrA/Controller/GEOfiles.pm \ - lib/HTpcrA/Controller/PValues.pm \ - lib/HTpcrA/Controller/RandomForest.pm \ - lib/HTpcrA/Controller/Regroup.pm \ - lib/HTpcrA/Controller/Root.pm \ - lib/HTpcrA/Controller/Scrapbook.pm \ - lib/HTpcrA/Controller/analyse.pm \ - lib/HTpcrA/Controller/gene_group.pm \ - lib/HTpcrA/Controller/grouping_2d.pm \ - lib/HTpcrA/Controller/help.pm \ - lib/HTpcrA/EnableFiles.pm \ - lib/HTpcrA/Model/Coexpr.pm \ - lib/HTpcrA/Model/GEO_files.pm \ - lib/HTpcrA/Model/GeneGroups.pm \ - lib/HTpcrA/Model/HelpFile.pm \ - lib/HTpcrA/Model/Menu.pm \ - lib/HTpcrA/Model/MethodsSection.pm \ - lib/HTpcrA/Model/PCR_Raw_Files.pm \ - lib/HTpcrA/Model/PValues.pm \ - lib/HTpcrA/Model/RandomForest.pm \ - lib/HTpcrA/Model/java_splicer.pm \ - lib/HTpcrA/Model/mech.pm \ - lib/HTpcrA/Model/rgl3dplots.pm \ - lib/HTpcrA/Model/scrapbook.pm \ - lib/HTpcrA/View/HTML.pm \ - lib/htpcr.conf.useless \ - lib/htpcra.conf \ - lib/stefans_libs/Description.pm \ - lib/stefans_libs/GeneGroups.pm \ - lib/stefans_libs/GeneGroups/R_table.pm \ - lib/stefans_libs/GeneGroups/Set.pm \ - lib/stefans_libs/HTpcrA/Menue.pm \ - lib/stefans_libs/HTpcrA/ScrapBook.pm \ - lib/stefans_libs/HTpcrA/methods.pm \ - lib/stefans_libs/file_readers/PCR_Raw_Tables.pm \ - lib/stefans_libs/file_readers/Patcher.pm \ - lib/stefans_libs/file_readers/help_data.pm \ - lib/stefans_libs/flexible_data_structures/BinList.pm \ - lib/stefans_libs/flexible_data_structures/BinList/Histogram.pm \ - lib/stefans_libs/flexible_data_structures/BinList/XY_Group.pm \ - lib/stefans_libs/flexible_data_structures/data_table/arraySorter.pm \ - lib/stefans_libs/plot_old/Font.pm \ - lib/stefans_libs/plot_old/axis.pm \ - lib/stefans_libs/plot_old/color.pm \ - lib/stefans_libs/root.pm - -PM_TO_BLIB = lib/stefans_libs/GeneGroups/Set.pm \ - blib/lib/stefans_libs/GeneGroups/Set.pm \ - lib/HTpcrA/Model/rgl3dplots.pm \ - blib/lib/HTpcrA/Model/rgl3dplots.pm \ - lib/htpcra.conf \ - blib/lib/htpcra.conf \ - lib/HTpcrA/Controller/GEOfiles.pm \ - blib/lib/HTpcrA/Controller/GEOfiles.pm \ - lib/stefans_libs/flexible_data_structures/BinList/Histogram.pm \ - blib/lib/stefans_libs/flexible_data_structures/BinList/Histogram.pm \ - lib/stefans_libs/HTpcrA/ScrapBook.pm \ - blib/lib/stefans_libs/HTpcrA/ScrapBook.pm \ - lib/HTpcrA/Controller/DropSamples.pm \ - blib/lib/HTpcrA/Controller/DropSamples.pm \ - lib/stefans_libs/file_readers/Patcher.pm \ - blib/lib/stefans_libs/file_readers/Patcher.pm \ - lib/HTpcrA/Controller/help.pm \ - blib/lib/HTpcrA/Controller/help.pm \ - lib/HTpcrA/Controller/gene_group.pm \ - blib/lib/HTpcrA/Controller/gene_group.pm \ - lib/HTpcrA/Model/Menu.pm \ - blib/lib/HTpcrA/Model/Menu.pm \ - lib/HTpcrA/Model/GEO_files.pm \ - blib/lib/HTpcrA/Model/GEO_files.pm \ - lib/HTpcrA/Model/GeneGroups.pm \ - blib/lib/HTpcrA/Model/GeneGroups.pm \ - lib/stefans_libs/flexible_data_structures/BinList.pm \ - blib/lib/stefans_libs/flexible_data_structures/BinList.pm \ - lib/stefans_libs/plot_old/Font.pm \ - blib/lib/stefans_libs/plot_old/Font.pm \ - lib/HTpcrA/Model/java_splicer.pm \ - blib/lib/HTpcrA/Model/java_splicer.pm \ - lib/HTpcrA/Model/scrapbook.pm \ - blib/lib/HTpcrA/Model/scrapbook.pm \ - lib/HTpcrA/Model/HelpFile.pm \ - blib/lib/HTpcrA/Model/HelpFile.pm \ - lib/stefans_libs/file_readers/PCR_Raw_Tables.pm \ - blib/lib/stefans_libs/file_readers/PCR_Raw_Tables.pm \ - lib/HTpcrA/Model/Coexpr.pm \ - blib/lib/HTpcrA/Model/Coexpr.pm \ - lib/stefans_libs/plot_old/axis.pm \ - blib/lib/stefans_libs/plot_old/axis.pm \ - lib/stefans_libs/flexible_data_structures/BinList/XY_Group.pm \ - blib/lib/stefans_libs/flexible_data_structures/BinList/XY_Group.pm \ - lib/HTpcrA/EnableFiles.pm \ - blib/lib/HTpcrA/EnableFiles.pm \ - lib/HTpcrA/Controller/Filemerger.pm \ - blib/lib/HTpcrA/Controller/Filemerger.pm \ - lib/HTpcrA/Controller/Scrapbook.pm \ - blib/lib/HTpcrA/Controller/Scrapbook.pm \ - lib/HTpcrA/Model/PCR_Raw_Files.pm \ - blib/lib/HTpcrA/Model/PCR_Raw_Files.pm \ - lib/htpcr.conf.useless \ - blib/lib/htpcr.conf.useless \ - lib/HTpcrA/Controller/Error.pm \ - blib/lib/HTpcrA/Controller/Error.pm \ - lib/HTpcrA/Controller/RandomForest.pm \ - blib/lib/HTpcrA/Controller/RandomForest.pm \ - lib/.gitignore \ - blib/lib/.gitignore \ - lib/HTpcrA/Model/RandomForest.pm \ - blib/lib/HTpcrA/Model/RandomForest.pm \ - lib/CatalystX/Profile_SL.pm \ - blib/lib/CatalystX/Profile_SL.pm \ - lib/HTpcrA/Controller/Regroup.pm \ - blib/lib/HTpcrA/Controller/Regroup.pm \ - lib/CatalystX/Profile_SL/Controller/ControlProfiling.pm \ - blib/lib/CatalystX/Profile_SL/Controller/ControlProfiling.pm \ - lib/stefans_libs/plot_old/color.pm \ - blib/lib/stefans_libs/plot_old/color.pm \ - lib/HTpcrA/Controller/Root.pm \ - blib/lib/HTpcrA/Controller/Root.pm \ - lib/HTpcrA/Controller/PValues.pm \ - blib/lib/HTpcrA/Controller/PValues.pm \ - lib/HTpcrA/Model/mech.pm \ - blib/lib/HTpcrA/Model/mech.pm \ - lib/stefans_libs/file_readers/help_data.pm \ - blib/lib/stefans_libs/file_readers/help_data.pm \ - lib/HTpcrA/Controller/analyse.pm \ - blib/lib/HTpcrA/Controller/analyse.pm \ - lib/stefans_libs/GeneGroups/R_table.pm \ - blib/lib/stefans_libs/GeneGroups/R_table.pm \ - lib/HTpcrA/Controller/Files.pm \ - blib/lib/HTpcrA/Controller/Files.pm \ - lib/HTpcrA.pm \ - blib/lib/HTpcrA.pm \ - lib/HTpcrA/Controller/DropGenes.pm \ - blib/lib/HTpcrA/Controller/DropGenes.pm \ - lib/stefans_libs/Description.pm \ - blib/lib/stefans_libs/Description.pm \ - lib/HTpcrA/Controller/grouping_2d.pm \ - blib/lib/HTpcrA/Controller/grouping_2d.pm \ - lib/stefans_libs/root.pm \ - blib/lib/stefans_libs/root.pm \ - lib/stefans_libs/HTpcrA/Menue.pm \ - blib/lib/stefans_libs/HTpcrA/Menue.pm \ - lib/HTpcrA/View/HTML.pm \ - blib/lib/HTpcrA/View/HTML.pm \ - lib/stefans_libs/flexible_data_structures/data_table/arraySorter.pm \ - blib/lib/stefans_libs/flexible_data_structures/data_table/arraySorter.pm \ - lib/HTpcrA/Controller/Coexpression.pm \ - blib/lib/HTpcrA/Controller/Coexpression.pm \ - lib/stefans_libs/GeneGroups.pm \ - blib/lib/stefans_libs/GeneGroups.pm \ - lib/HTpcrA/Model/MethodsSection.pm \ - blib/lib/HTpcrA/Model/MethodsSection.pm \ - lib/stefans_libs/HTpcrA/methods.pm \ - blib/lib/stefans_libs/HTpcrA/methods.pm \ - lib/HTpcrA/Model/PValues.pm \ - blib/lib/HTpcrA/Model/PValues.pm - - -# --- MakeMaker platform_constants section: -MM_Unix_VERSION = 6.72 -PERL_MALLOC_DEF = -DPERL_EXTMALLOC_DEF -Dmalloc=Perl_malloc -Dfree=Perl_mfree -Drealloc=Perl_realloc -Dcalloc=Perl_calloc - - -# --- MakeMaker tool_autosplit section: -# Usage: $(AUTOSPLITFILE) FileToSplit AutoDirToSplitInto -AUTOSPLITFILE = $(ABSPERLRUN) -e 'use AutoSplit; autosplit($$$$ARGV[0], $$$$ARGV[1], 0, 1, 1)' -- - - - -# --- MakeMaker tool_xsubpp section: - - -# --- MakeMaker tools_other section: -SHELL = /bin/sh -CHMOD = chmod -CP = cp -MV = mv -NOOP = $(TRUE) -NOECHO = @ -RM_F = rm -f -RM_RF = rm -rf -TEST_F = test -f -TOUCH = touch -UMASK_NULL = umask 0 -DEV_NULL = > /dev/null 2>&1 -MKPATH = $(ABSPERLRUN) -MExtUtils::Command -e 'mkpath' -- -EQUALIZE_TIMESTAMP = $(ABSPERLRUN) -MExtUtils::Command -e 'eqtime' -- -FALSE = false -TRUE = true -ECHO = echo -ECHO_N = echo -n -UNINST = 0 -VERBINST = 0 -MOD_INSTALL = $(ABSPERLRUN) -MExtUtils::Install -e 'install([ from_to => {@ARGV}, verbose => '\''$(VERBINST)'\'', uninstall_shadows => '\''$(UNINST)'\'', dir_mode => '\''$(PERM_DIR)'\'' ]);' -- -DOC_INSTALL = $(ABSPERLRUN) -MExtUtils::Command::MM -e 'perllocal_install' -- -UNINSTALL = $(ABSPERLRUN) -MExtUtils::Command::MM -e 'uninstall' -- -WARN_IF_OLD_PACKLIST = $(ABSPERLRUN) -MExtUtils::Command::MM -e 'warn_if_old_packlist' -- -MACROSTART = -MACROEND = -USEMAKEFILE = -f -FIXIN = $(ABSPERLRUN) -MExtUtils::MY -e 'MY->fixin(shift)' -- - - -# --- MakeMaker makemakerdflt section: -makemakerdflt : all - $(NOECHO) $(NOOP) - - -# --- MakeMaker dist section: -TAR = tar -TARFLAGS = cvf -ZIP = zip -ZIPFLAGS = -r -COMPRESS = gzip --best -SUFFIX = .gz -SHAR = shar -PREOP = $(NOECHO) $(NOOP) -POSTOP = $(NOECHO) $(NOOP) -TO_UNIX = $(NOECHO) $(NOOP) -CI = ci -u -RCS_LABEL = rcs -Nv$(VERSION_SYM): -q -DIST_CP = best -DIST_DEFAULT = tardist -DISTNAME = HTpcrA -DISTVNAME = HTpcrA-0.90 - - -# --- MakeMaker macro section: - - -# --- MakeMaker depend section: - - -# --- MakeMaker cflags section: - - -# --- MakeMaker const_loadlibs section: - - -# --- MakeMaker const_cccmd section: - - -# --- MakeMaker post_constants section: - - -# --- MakeMaker pasthru section: - -PASTHRU = LIBPERL_A="$(LIBPERL_A)"\ - LINKTYPE="$(LINKTYPE)"\ - PREFIX="$(PREFIX)" - - -# --- MakeMaker special_targets section: -.SUFFIXES : .xs .c .C .cpp .i .s .cxx .cc $(OBJ_EXT) - -.PHONY: all config static dynamic test linkext manifest blibdirs clean realclean disttest distdir - - - -# --- MakeMaker c_o section: - - -# --- MakeMaker xs_c section: - - -# --- MakeMaker xs_o section: - - -# --- MakeMaker top_targets section: -all :: pure_all manifypods - $(NOECHO) $(NOOP) - - -pure_all :: config pm_to_blib subdirs linkext - $(NOECHO) $(NOOP) - -subdirs :: $(MYEXTLIB) - $(NOECHO) $(NOOP) - -config :: $(FIRST_MAKEFILE) blibdirs - $(NOECHO) $(NOOP) - -help : - perldoc ExtUtils::MakeMaker - - -# --- MakeMaker blibdirs section: -blibdirs : $(INST_LIBDIR)$(DFSEP).exists $(INST_ARCHLIB)$(DFSEP).exists $(INST_AUTODIR)$(DFSEP).exists $(INST_ARCHAUTODIR)$(DFSEP).exists $(INST_BIN)$(DFSEP).exists $(INST_SCRIPT)$(DFSEP).exists $(INST_MAN1DIR)$(DFSEP).exists $(INST_MAN3DIR)$(DFSEP).exists - $(NOECHO) $(NOOP) - -# Backwards compat with 6.18 through 6.25 -blibdirs.ts : blibdirs - $(NOECHO) $(NOOP) - -$(INST_LIBDIR)$(DFSEP).exists :: Makefile.PL - $(NOECHO) $(MKPATH) $(INST_LIBDIR) - $(NOECHO) $(CHMOD) $(PERM_DIR) $(INST_LIBDIR) - $(NOECHO) $(TOUCH) $(INST_LIBDIR)$(DFSEP).exists - -$(INST_ARCHLIB)$(DFSEP).exists :: Makefile.PL - $(NOECHO) $(MKPATH) $(INST_ARCHLIB) - $(NOECHO) $(CHMOD) $(PERM_DIR) $(INST_ARCHLIB) - $(NOECHO) $(TOUCH) $(INST_ARCHLIB)$(DFSEP).exists - -$(INST_AUTODIR)$(DFSEP).exists :: Makefile.PL - $(NOECHO) $(MKPATH) $(INST_AUTODIR) - $(NOECHO) $(CHMOD) $(PERM_DIR) $(INST_AUTODIR) - $(NOECHO) $(TOUCH) $(INST_AUTODIR)$(DFSEP).exists - -$(INST_ARCHAUTODIR)$(DFSEP).exists :: Makefile.PL - $(NOECHO) $(MKPATH) $(INST_ARCHAUTODIR) - $(NOECHO) $(CHMOD) $(PERM_DIR) $(INST_ARCHAUTODIR) - $(NOECHO) $(TOUCH) $(INST_ARCHAUTODIR)$(DFSEP).exists - -$(INST_BIN)$(DFSEP).exists :: Makefile.PL - $(NOECHO) $(MKPATH) $(INST_BIN) - $(NOECHO) $(CHMOD) $(PERM_DIR) $(INST_BIN) - $(NOECHO) $(TOUCH) $(INST_BIN)$(DFSEP).exists - -$(INST_SCRIPT)$(DFSEP).exists :: Makefile.PL - $(NOECHO) $(MKPATH) $(INST_SCRIPT) - $(NOECHO) $(CHMOD) $(PERM_DIR) $(INST_SCRIPT) - $(NOECHO) $(TOUCH) $(INST_SCRIPT)$(DFSEP).exists - -$(INST_MAN1DIR)$(DFSEP).exists :: Makefile.PL - $(NOECHO) $(MKPATH) $(INST_MAN1DIR) - $(NOECHO) $(CHMOD) $(PERM_DIR) $(INST_MAN1DIR) - $(NOECHO) $(TOUCH) $(INST_MAN1DIR)$(DFSEP).exists - -$(INST_MAN3DIR)$(DFSEP).exists :: Makefile.PL - $(NOECHO) $(MKPATH) $(INST_MAN3DIR) - $(NOECHO) $(CHMOD) $(PERM_DIR) $(INST_MAN3DIR) - $(NOECHO) $(TOUCH) $(INST_MAN3DIR)$(DFSEP).exists - - - -# --- MakeMaker linkext section: - -linkext :: $(LINKTYPE) - $(NOECHO) $(NOOP) - - -# --- MakeMaker dlsyms section: - - -# --- MakeMaker dynamic section: - -dynamic :: $(FIRST_MAKEFILE) $(INST_DYNAMIC) $(INST_BOOT) - $(NOECHO) $(NOOP) - - -# --- MakeMaker dynamic_bs section: - -BOOTSTRAP = - - -# --- MakeMaker dynamic_lib section: - - -# --- MakeMaker static section: - -## $(INST_PM) has been moved to the all: target. -## It remains here for awhile to allow for old usage: "make static" -static :: $(FIRST_MAKEFILE) $(INST_STATIC) - $(NOECHO) $(NOOP) - - -# --- MakeMaker static_lib section: - - -# --- MakeMaker manifypods section: - -POD2MAN_EXE = $(PERLRUN) "-MExtUtils::Command::MM" -e pod2man "--" -POD2MAN = $(POD2MAN_EXE) - - -manifypods : pure_all \ - script/install.pl \ - script/libPatcher.pl \ - script/htpcra_create.pl \ - script/htpcra_fastcgi.pl \ - script/htpcra_cgi.pl \ - script/htpcra_test.pl \ - script/minimize_css.pl \ - script/CleanTemp.pl \ - script/htpcra_server.pl \ - lib/HTpcrA/Model/rgl3dplots.pm \ - lib/stefans_libs/GeneGroups/Set.pm \ - lib/HTpcrA/Controller/help.pm \ - lib/HTpcrA/Controller/DropSamples.pm \ - lib/stefans_libs/file_readers/Patcher.pm \ - lib/HTpcrA/Controller/GEOfiles.pm \ - lib/stefans_libs/HTpcrA/ScrapBook.pm \ - lib/stefans_libs/flexible_data_structures/BinList/Histogram.pm \ - lib/stefans_libs/flexible_data_structures/BinList.pm \ - lib/HTpcrA/Model/scrapbook.pm \ - lib/HTpcrA/Model/java_splicer.pm \ - lib/HTpcrA/Model/GEO_files.pm \ - lib/HTpcrA/Model/GeneGroups.pm \ - lib/HTpcrA/Model/Menu.pm \ - lib/HTpcrA/Controller/gene_group.pm \ - lib/HTpcrA/Controller/Scrapbook.pm \ - lib/HTpcrA/Model/PCR_Raw_Files.pm \ - lib/HTpcrA/EnableFiles.pm \ - lib/HTpcrA/Controller/Filemerger.pm \ - lib/stefans_libs/plot_old/axis.pm \ - lib/stefans_libs/flexible_data_structures/BinList/XY_Group.pm \ - lib/HTpcrA/Model/HelpFile.pm \ - lib/stefans_libs/file_readers/PCR_Raw_Tables.pm \ - lib/HTpcrA/Model/Coexpr.pm \ - lib/CatalystX/Profile_SL/Controller/ControlProfiling.pm \ - lib/CatalystX/Profile_SL.pm \ - lib/HTpcrA/Controller/Regroup.pm \ - lib/HTpcrA/Model/RandomForest.pm \ - lib/HTpcrA/Controller/Error.pm \ - lib/HTpcrA/Controller/RandomForest.pm \ - lib/HTpcrA/Controller/analyse.pm \ - lib/HTpcrA/Model/mech.pm \ - lib/HTpcrA/Controller/Files.pm \ - lib/stefans_libs/GeneGroups/R_table.pm \ - lib/HTpcrA/Controller/Root.pm \ - lib/HTpcrA/Controller/PValues.pm \ - lib/stefans_libs/GeneGroups.pm \ - lib/HTpcrA/Controller/Coexpression.pm \ - lib/stefans_libs/HTpcrA/Menue.pm \ - lib/HTpcrA/View/HTML.pm \ - lib/stefans_libs/flexible_data_structures/data_table/arraySorter.pm \ - lib/HTpcrA/Controller/DropGenes.pm \ - lib/stefans_libs/Description.pm \ - lib/stefans_libs/root.pm \ - lib/HTpcrA/Controller/grouping_2d.pm \ - lib/HTpcrA.pm \ - lib/HTpcrA/Model/PValues.pm \ - lib/stefans_libs/HTpcrA/methods.pm \ - lib/HTpcrA/Model/MethodsSection.pm - $(NOECHO) $(POD2MAN) --section=1 --perm_rw=$(PERM_RW) \ - script/install.pl $(INST_MAN1DIR)/install.pl.$(MAN1EXT) \ - script/libPatcher.pl $(INST_MAN1DIR)/libPatcher.pl.$(MAN1EXT) \ - script/htpcra_create.pl $(INST_MAN1DIR)/htpcra_create.pl.$(MAN1EXT) \ - script/htpcra_fastcgi.pl $(INST_MAN1DIR)/htpcra_fastcgi.pl.$(MAN1EXT) \ - script/htpcra_cgi.pl $(INST_MAN1DIR)/htpcra_cgi.pl.$(MAN1EXT) \ - script/htpcra_test.pl $(INST_MAN1DIR)/htpcra_test.pl.$(MAN1EXT) \ - script/minimize_css.pl $(INST_MAN1DIR)/minimize_css.pl.$(MAN1EXT) \ - script/CleanTemp.pl $(INST_MAN1DIR)/CleanTemp.pl.$(MAN1EXT) \ - script/htpcra_server.pl $(INST_MAN1DIR)/htpcra_server.pl.$(MAN1EXT) - $(NOECHO) $(POD2MAN) --section=3 --perm_rw=$(PERM_RW) \ - lib/HTpcrA/Model/rgl3dplots.pm $(INST_MAN3DIR)/HTpcrA::Model::rgl3dplots.$(MAN3EXT) \ - lib/stefans_libs/GeneGroups/Set.pm $(INST_MAN3DIR)/stefans_libs::GeneGroups::Set.$(MAN3EXT) \ - lib/HTpcrA/Controller/help.pm $(INST_MAN3DIR)/HTpcrA::Controller::help.$(MAN3EXT) \ - lib/HTpcrA/Controller/DropSamples.pm $(INST_MAN3DIR)/HTpcrA::Controller::DropSamples.$(MAN3EXT) \ - lib/stefans_libs/file_readers/Patcher.pm $(INST_MAN3DIR)/stefans_libs::file_readers::Patcher.$(MAN3EXT) \ - lib/HTpcrA/Controller/GEOfiles.pm $(INST_MAN3DIR)/HTpcrA::Controller::GEOfiles.$(MAN3EXT) \ - lib/stefans_libs/HTpcrA/ScrapBook.pm $(INST_MAN3DIR)/stefans_libs::HTpcrA::ScrapBook.$(MAN3EXT) \ - lib/stefans_libs/flexible_data_structures/BinList/Histogram.pm $(INST_MAN3DIR)/stefans_libs::flexible_data_structures::BinList::Histogram.$(MAN3EXT) \ - lib/stefans_libs/flexible_data_structures/BinList.pm $(INST_MAN3DIR)/stefans_libs::flexible_data_structures::BinList.$(MAN3EXT) \ - lib/HTpcrA/Model/scrapbook.pm $(INST_MAN3DIR)/HTpcrA::Model::scrapbook.$(MAN3EXT) \ - lib/HTpcrA/Model/java_splicer.pm $(INST_MAN3DIR)/HTpcrA::Model::java_splicer.$(MAN3EXT) \ - lib/HTpcrA/Model/GEO_files.pm $(INST_MAN3DIR)/HTpcrA::Model::GEO_files.$(MAN3EXT) \ - lib/HTpcrA/Model/GeneGroups.pm $(INST_MAN3DIR)/HTpcrA::Model::GeneGroups.$(MAN3EXT) \ - lib/HTpcrA/Model/Menu.pm $(INST_MAN3DIR)/HTpcrA::Model::Menu.$(MAN3EXT) \ - lib/HTpcrA/Controller/gene_group.pm $(INST_MAN3DIR)/HTpcrA::Controller::gene_group.$(MAN3EXT) \ - lib/HTpcrA/Controller/Scrapbook.pm $(INST_MAN3DIR)/HTpcrA::Controller::Scrapbook.$(MAN3EXT) \ - lib/HTpcrA/Model/PCR_Raw_Files.pm $(INST_MAN3DIR)/HTpcrA::Model::PCR_Raw_Files.$(MAN3EXT) \ - lib/HTpcrA/EnableFiles.pm $(INST_MAN3DIR)/HTpcrA::EnableFiles.$(MAN3EXT) \ - lib/HTpcrA/Controller/Filemerger.pm $(INST_MAN3DIR)/HTpcrA::Controller::Filemerger.$(MAN3EXT) \ - lib/stefans_libs/plot_old/axis.pm $(INST_MAN3DIR)/stefans_libs::plot_old::axis.$(MAN3EXT) \ - lib/stefans_libs/flexible_data_structures/BinList/XY_Group.pm $(INST_MAN3DIR)/stefans_libs::flexible_data_structures::BinList::XY_Group.$(MAN3EXT) \ - lib/HTpcrA/Model/HelpFile.pm $(INST_MAN3DIR)/HTpcrA::Model::HelpFile.$(MAN3EXT) \ - lib/stefans_libs/file_readers/PCR_Raw_Tables.pm $(INST_MAN3DIR)/stefans_libs::file_readers::PCR_Raw_Tables.$(MAN3EXT) \ - lib/HTpcrA/Model/Coexpr.pm $(INST_MAN3DIR)/HTpcrA::Model::Coexpr.$(MAN3EXT) \ - lib/CatalystX/Profile_SL/Controller/ControlProfiling.pm $(INST_MAN3DIR)/CatalystX::Profile_SL::Controller::ControlProfiling.$(MAN3EXT) \ - lib/CatalystX/Profile_SL.pm $(INST_MAN3DIR)/CatalystX::Profile_SL.$(MAN3EXT) \ - lib/HTpcrA/Controller/Regroup.pm $(INST_MAN3DIR)/HTpcrA::Controller::Regroup.$(MAN3EXT) \ - lib/HTpcrA/Model/RandomForest.pm $(INST_MAN3DIR)/HTpcrA::Model::RandomForest.$(MAN3EXT) - $(NOECHO) $(POD2MAN) --section=3 --perm_rw=$(PERM_RW) \ - lib/HTpcrA/Controller/Error.pm $(INST_MAN3DIR)/HTpcrA::Controller::Error.$(MAN3EXT) \ - lib/HTpcrA/Controller/RandomForest.pm $(INST_MAN3DIR)/HTpcrA::Controller::RandomForest.$(MAN3EXT) \ - lib/HTpcrA/Controller/analyse.pm $(INST_MAN3DIR)/HTpcrA::Controller::analyse.$(MAN3EXT) \ - lib/HTpcrA/Model/mech.pm $(INST_MAN3DIR)/HTpcrA::Model::mech.$(MAN3EXT) \ - lib/HTpcrA/Controller/Files.pm $(INST_MAN3DIR)/HTpcrA::Controller::Files.$(MAN3EXT) \ - lib/stefans_libs/GeneGroups/R_table.pm $(INST_MAN3DIR)/stefans_libs::GeneGroups::R_table.$(MAN3EXT) \ - lib/HTpcrA/Controller/Root.pm $(INST_MAN3DIR)/HTpcrA::Controller::Root.$(MAN3EXT) \ - lib/HTpcrA/Controller/PValues.pm $(INST_MAN3DIR)/HTpcrA::Controller::PValues.$(MAN3EXT) \ - lib/stefans_libs/GeneGroups.pm $(INST_MAN3DIR)/stefans_libs::GeneGroups.$(MAN3EXT) \ - lib/HTpcrA/Controller/Coexpression.pm $(INST_MAN3DIR)/HTpcrA::Controller::Coexpression.$(MAN3EXT) \ - lib/stefans_libs/HTpcrA/Menue.pm $(INST_MAN3DIR)/stefans_libs::HTpcrA::Menue.$(MAN3EXT) \ - lib/HTpcrA/View/HTML.pm $(INST_MAN3DIR)/HTpcrA::View::HTML.$(MAN3EXT) \ - lib/stefans_libs/flexible_data_structures/data_table/arraySorter.pm $(INST_MAN3DIR)/stefans_libs::flexible_data_structures::data_table::arraySorter.$(MAN3EXT) \ - lib/HTpcrA/Controller/DropGenes.pm $(INST_MAN3DIR)/HTpcrA::Controller::DropGenes.$(MAN3EXT) \ - lib/stefans_libs/Description.pm $(INST_MAN3DIR)/stefans_libs::Description.$(MAN3EXT) \ - lib/stefans_libs/root.pm $(INST_MAN3DIR)/stefans_libs::root.$(MAN3EXT) \ - lib/HTpcrA/Controller/grouping_2d.pm $(INST_MAN3DIR)/HTpcrA::Controller::grouping_2d.$(MAN3EXT) \ - lib/HTpcrA.pm $(INST_MAN3DIR)/HTpcrA.$(MAN3EXT) \ - lib/HTpcrA/Model/PValues.pm $(INST_MAN3DIR)/HTpcrA::Model::PValues.$(MAN3EXT) \ - lib/stefans_libs/HTpcrA/methods.pm $(INST_MAN3DIR)/stefans_libs::HTpcrA::methods.$(MAN3EXT) \ - lib/HTpcrA/Model/MethodsSection.pm $(INST_MAN3DIR)/HTpcrA::Model::MethodsSection.$(MAN3EXT) - - - - -# --- MakeMaker processPL section: - - -# --- MakeMaker installbin section: - -EXE_FILES = script/capture_rgl_javascript.pl script/CleanTemp.pl script/htpcra_cgi.pl script/htpcra_create.pl script/htpcra_fastcgi.pl script/htpcra_server.pl script/htpcra_test.pl script/install.pl script/libPatcher.pl script/minimize_css.pl - -pure_all :: $(INST_SCRIPT)/CleanTemp.pl $(INST_SCRIPT)/minimize_css.pl $(INST_SCRIPT)/capture_rgl_javascript.pl $(INST_SCRIPT)/htpcra_server.pl $(INST_SCRIPT)/install.pl $(INST_SCRIPT)/libPatcher.pl $(INST_SCRIPT)/htpcra_test.pl $(INST_SCRIPT)/htpcra_cgi.pl $(INST_SCRIPT)/htpcra_fastcgi.pl $(INST_SCRIPT)/htpcra_create.pl - $(NOECHO) $(NOOP) - -realclean :: - $(RM_F) \ - $(INST_SCRIPT)/CleanTemp.pl $(INST_SCRIPT)/minimize_css.pl \ - $(INST_SCRIPT)/capture_rgl_javascript.pl $(INST_SCRIPT)/htpcra_server.pl \ - $(INST_SCRIPT)/install.pl $(INST_SCRIPT)/libPatcher.pl \ - $(INST_SCRIPT)/htpcra_test.pl $(INST_SCRIPT)/htpcra_cgi.pl \ - $(INST_SCRIPT)/htpcra_fastcgi.pl $(INST_SCRIPT)/htpcra_create.pl - -$(INST_SCRIPT)/CleanTemp.pl : script/CleanTemp.pl $(FIRST_MAKEFILE) $(INST_SCRIPT)$(DFSEP).exists $(INST_BIN)$(DFSEP).exists - $(NOECHO) $(RM_F) $(INST_SCRIPT)/CleanTemp.pl - $(CP) script/CleanTemp.pl $(INST_SCRIPT)/CleanTemp.pl - $(FIXIN) $(INST_SCRIPT)/CleanTemp.pl - -$(NOECHO) $(CHMOD) $(PERM_RWX) $(INST_SCRIPT)/CleanTemp.pl - -$(INST_SCRIPT)/minimize_css.pl : script/minimize_css.pl $(FIRST_MAKEFILE) $(INST_SCRIPT)$(DFSEP).exists $(INST_BIN)$(DFSEP).exists - $(NOECHO) $(RM_F) $(INST_SCRIPT)/minimize_css.pl - $(CP) script/minimize_css.pl $(INST_SCRIPT)/minimize_css.pl - $(FIXIN) $(INST_SCRIPT)/minimize_css.pl - -$(NOECHO) $(CHMOD) $(PERM_RWX) $(INST_SCRIPT)/minimize_css.pl - -$(INST_SCRIPT)/capture_rgl_javascript.pl : script/capture_rgl_javascript.pl $(FIRST_MAKEFILE) $(INST_SCRIPT)$(DFSEP).exists $(INST_BIN)$(DFSEP).exists - $(NOECHO) $(RM_F) $(INST_SCRIPT)/capture_rgl_javascript.pl - $(CP) script/capture_rgl_javascript.pl $(INST_SCRIPT)/capture_rgl_javascript.pl - $(FIXIN) $(INST_SCRIPT)/capture_rgl_javascript.pl - -$(NOECHO) $(CHMOD) $(PERM_RWX) $(INST_SCRIPT)/capture_rgl_javascript.pl - -$(INST_SCRIPT)/htpcra_server.pl : script/htpcra_server.pl $(FIRST_MAKEFILE) $(INST_SCRIPT)$(DFSEP).exists $(INST_BIN)$(DFSEP).exists - $(NOECHO) $(RM_F) $(INST_SCRIPT)/htpcra_server.pl - $(CP) script/htpcra_server.pl $(INST_SCRIPT)/htpcra_server.pl - $(FIXIN) $(INST_SCRIPT)/htpcra_server.pl - -$(NOECHO) $(CHMOD) $(PERM_RWX) $(INST_SCRIPT)/htpcra_server.pl - -$(INST_SCRIPT)/install.pl : script/install.pl $(FIRST_MAKEFILE) $(INST_SCRIPT)$(DFSEP).exists $(INST_BIN)$(DFSEP).exists - $(NOECHO) $(RM_F) $(INST_SCRIPT)/install.pl - $(CP) script/install.pl $(INST_SCRIPT)/install.pl - $(FIXIN) $(INST_SCRIPT)/install.pl - -$(NOECHO) $(CHMOD) $(PERM_RWX) $(INST_SCRIPT)/install.pl - -$(INST_SCRIPT)/libPatcher.pl : script/libPatcher.pl $(FIRST_MAKEFILE) $(INST_SCRIPT)$(DFSEP).exists $(INST_BIN)$(DFSEP).exists - $(NOECHO) $(RM_F) $(INST_SCRIPT)/libPatcher.pl - $(CP) script/libPatcher.pl $(INST_SCRIPT)/libPatcher.pl - $(FIXIN) $(INST_SCRIPT)/libPatcher.pl - -$(NOECHO) $(CHMOD) $(PERM_RWX) $(INST_SCRIPT)/libPatcher.pl - -$(INST_SCRIPT)/htpcra_test.pl : script/htpcra_test.pl $(FIRST_MAKEFILE) $(INST_SCRIPT)$(DFSEP).exists $(INST_BIN)$(DFSEP).exists - $(NOECHO) $(RM_F) $(INST_SCRIPT)/htpcra_test.pl - $(CP) script/htpcra_test.pl $(INST_SCRIPT)/htpcra_test.pl - $(FIXIN) $(INST_SCRIPT)/htpcra_test.pl - -$(NOECHO) $(CHMOD) $(PERM_RWX) $(INST_SCRIPT)/htpcra_test.pl - -$(INST_SCRIPT)/htpcra_cgi.pl : script/htpcra_cgi.pl $(FIRST_MAKEFILE) $(INST_SCRIPT)$(DFSEP).exists $(INST_BIN)$(DFSEP).exists - $(NOECHO) $(RM_F) $(INST_SCRIPT)/htpcra_cgi.pl - $(CP) script/htpcra_cgi.pl $(INST_SCRIPT)/htpcra_cgi.pl - $(FIXIN) $(INST_SCRIPT)/htpcra_cgi.pl - -$(NOECHO) $(CHMOD) $(PERM_RWX) $(INST_SCRIPT)/htpcra_cgi.pl - -$(INST_SCRIPT)/htpcra_fastcgi.pl : script/htpcra_fastcgi.pl $(FIRST_MAKEFILE) $(INST_SCRIPT)$(DFSEP).exists $(INST_BIN)$(DFSEP).exists - $(NOECHO) $(RM_F) $(INST_SCRIPT)/htpcra_fastcgi.pl - $(CP) script/htpcra_fastcgi.pl $(INST_SCRIPT)/htpcra_fastcgi.pl - $(FIXIN) $(INST_SCRIPT)/htpcra_fastcgi.pl - -$(NOECHO) $(CHMOD) $(PERM_RWX) $(INST_SCRIPT)/htpcra_fastcgi.pl - -$(INST_SCRIPT)/htpcra_create.pl : script/htpcra_create.pl $(FIRST_MAKEFILE) $(INST_SCRIPT)$(DFSEP).exists $(INST_BIN)$(DFSEP).exists - $(NOECHO) $(RM_F) $(INST_SCRIPT)/htpcra_create.pl - $(CP) script/htpcra_create.pl $(INST_SCRIPT)/htpcra_create.pl - $(FIXIN) $(INST_SCRIPT)/htpcra_create.pl - -$(NOECHO) $(CHMOD) $(PERM_RWX) $(INST_SCRIPT)/htpcra_create.pl - - - -# --- MakeMaker subdirs section: - -# none - -# --- MakeMaker clean_subdirs section: -clean_subdirs : - $(NOECHO) $(NOOP) - - -# --- MakeMaker clean section: - -# Delete temporary files but do not touch installed files. We don't delete -# the Makefile here so a later make realclean still has a makefile to use. - -clean :: clean_subdirs - - $(RM_F) \ - mon.out $(BASEEXT).exp \ - core.[0-9][0-9][0-9][0-9] $(BASEEXT).bso \ - tmon.out core \ - *$(OBJ_EXT) blibdirs.ts \ - core.[0-9] *$(LIB_EXT) \ - perl $(INST_ARCHAUTODIR)/extralibs.all \ - *perl.core pm_to_blib.ts \ - pm_to_blib $(BOOTSTRAP) \ - perl.exe perl$(EXE_EXT) \ - perlmain.c core.[0-9][0-9] \ - $(INST_ARCHAUTODIR)/extralibs.ld core.*perl.*.? \ - core.[0-9][0-9][0-9][0-9][0-9] $(BASEEXT).def \ - $(BASEEXT).x so_locations \ - MYMETA.json $(MAKE_APERL_FILE) \ - core.[0-9][0-9][0-9] MYMETA.yml \ - lib$(BASEEXT).def - - $(RM_RF) \ - blib - - $(NOECHO) $(RM_F) $(MAKEFILE_OLD) - - $(MV) $(FIRST_MAKEFILE) $(MAKEFILE_OLD) $(DEV_NULL) - - -# --- MakeMaker realclean_subdirs section: -realclean_subdirs : - $(NOECHO) $(NOOP) - - -# --- MakeMaker realclean section: -# Delete temporary files (via clean) and also delete dist files -realclean purge :: clean realclean_subdirs - - $(RM_F) \ - $(FIRST_MAKEFILE) $(MAKEFILE_OLD) - - $(RM_RF) \ - MYMETA.yml $(DISTVNAME) - - -# --- MakeMaker metafile section: -metafile : - $(NOECHO) $(NOOP) - - -# --- MakeMaker signature section: -signature : - cpansign -s - - -# --- MakeMaker dist_basics section: -distclean :: realclean distcheck - $(NOECHO) $(NOOP) - -distcheck : - $(PERLRUN) "-MExtUtils::Manifest=fullcheck" -e fullcheck - -skipcheck : - $(PERLRUN) "-MExtUtils::Manifest=skipcheck" -e skipcheck - -manifest : - $(PERLRUN) "-MExtUtils::Manifest=mkmanifest" -e mkmanifest - -veryclean : realclean - $(RM_F) *~ */*~ *.orig */*.orig *.bak */*.bak *.old */*.old - - - -# --- MakeMaker dist_core section: - -dist : $(DIST_DEFAULT) $(FIRST_MAKEFILE) - $(NOECHO) $(ABSPERLRUN) -l -e 'print '\''Warning: Makefile possibly out of date with $(VERSION_FROM)'\''' \ - -e ' if -e '\''$(VERSION_FROM)'\'' and -M '\''$(VERSION_FROM)'\'' < -M '\''$(FIRST_MAKEFILE)'\'';' -- - -tardist : $(DISTVNAME).tar$(SUFFIX) - $(NOECHO) $(NOOP) - -uutardist : $(DISTVNAME).tar$(SUFFIX) - uuencode $(DISTVNAME).tar$(SUFFIX) $(DISTVNAME).tar$(SUFFIX) > $(DISTVNAME).tar$(SUFFIX)_uu - $(NOECHO) $(ECHO) 'Created $(DISTVNAME).tar$(SUFFIX)_uu' - -$(DISTVNAME).tar$(SUFFIX) : distdir - $(PREOP) - $(TO_UNIX) - $(TAR) $(TARFLAGS) $(DISTVNAME).tar $(DISTVNAME) - $(RM_RF) $(DISTVNAME) - $(COMPRESS) $(DISTVNAME).tar - $(NOECHO) $(ECHO) 'Created $(DISTVNAME).tar$(SUFFIX)' - $(POSTOP) - -zipdist : $(DISTVNAME).zip - $(NOECHO) $(NOOP) - -$(DISTVNAME).zip : distdir - $(PREOP) - $(ZIP) $(ZIPFLAGS) $(DISTVNAME).zip $(DISTVNAME) - $(RM_RF) $(DISTVNAME) - $(NOECHO) $(ECHO) 'Created $(DISTVNAME).zip' - $(POSTOP) - -shdist : distdir - $(PREOP) - $(SHAR) $(DISTVNAME) > $(DISTVNAME).shar - $(RM_RF) $(DISTVNAME) - $(NOECHO) $(ECHO) 'Created $(DISTVNAME).shar' - $(POSTOP) - - -# --- MakeMaker distdir section: -create_distdir : - $(RM_RF) $(DISTVNAME) - $(PERLRUN) "-MExtUtils::Manifest=manicopy,maniread" \ - -e "manicopy(maniread(),'$(DISTVNAME)', '$(DIST_CP)');" - -distdir : create_distdir - $(NOECHO) $(NOOP) - - - -# --- MakeMaker dist_test section: -disttest : distdir - cd $(DISTVNAME) && $(ABSPERLRUN) Makefile.PL - cd $(DISTVNAME) && $(MAKE) $(PASTHRU) - cd $(DISTVNAME) && $(MAKE) test $(PASTHRU) - - - -# --- MakeMaker dist_ci section: - -ci : - $(PERLRUN) "-MExtUtils::Manifest=maniread" \ - -e "@all = keys %{ maniread() };" \ - -e "print(qq{Executing $(CI) @all\n}); system(qq{$(CI) @all});" \ - -e "print(qq{Executing $(RCS_LABEL) ...\n}); system(qq{$(RCS_LABEL) @all});" - - -# --- MakeMaker distmeta section: -distmeta : create_distdir metafile - $(NOECHO) cd $(DISTVNAME) && $(ABSPERLRUN) -MExtUtils::Manifest=maniadd -e 'exit unless -e q{META.yml};' \ - -e 'eval { maniadd({q{META.yml} => q{Module YAML meta-data (added by MakeMaker)}}) }' \ - -e ' or print "Could not add META.yml to MANIFEST: $$$${'\''@'\''}\n"' -- - $(NOECHO) cd $(DISTVNAME) && $(ABSPERLRUN) -MExtUtils::Manifest=maniadd -e 'exit unless -f q{META.json};' \ - -e 'eval { maniadd({q{META.json} => q{Module JSON meta-data (added by MakeMaker)}}) }' \ - -e ' or print "Could not add META.json to MANIFEST: $$$${'\''@'\''}\n"' -- - - - -# --- MakeMaker distsignature section: -distsignature : create_distdir - $(NOECHO) cd $(DISTVNAME) && $(ABSPERLRUN) -MExtUtils::Manifest=maniadd -e 'eval { maniadd({q{SIGNATURE} => q{Public-key signature (added by MakeMaker)}}) }' \ - -e ' or print "Could not add SIGNATURE to MANIFEST: $$$${'\''@'\''}\n"' -- - $(NOECHO) cd $(DISTVNAME) && $(TOUCH) SIGNATURE - cd $(DISTVNAME) && cpansign -s - - - -# --- MakeMaker install section: - -install :: pure_install doc_install - $(NOECHO) $(NOOP) - -install_perl :: pure_perl_install doc_perl_install - $(NOECHO) $(NOOP) - -install_site :: pure_site_install doc_site_install - $(NOECHO) $(NOOP) - -install_vendor :: pure_vendor_install doc_vendor_install - $(NOECHO) $(NOOP) - -pure_install :: pure_$(INSTALLDIRS)_install - $(NOECHO) $(NOOP) - -doc_install :: doc_$(INSTALLDIRS)_install - $(NOECHO) $(NOOP) - -pure__install : pure_site_install - $(NOECHO) $(ECHO) INSTALLDIRS not defined, defaulting to INSTALLDIRS=site - -doc__install : doc_site_install - $(NOECHO) $(ECHO) INSTALLDIRS not defined, defaulting to INSTALLDIRS=site - -pure_perl_install :: all - $(NOECHO) $(MOD_INSTALL) \ - read $(PERL_ARCHLIB)/auto/$(FULLEXT)/.packlist \ - write $(DESTINSTALLARCHLIB)/auto/$(FULLEXT)/.packlist \ - $(INST_LIB) $(DESTINSTALLPRIVLIB) \ - $(INST_ARCHLIB) $(DESTINSTALLARCHLIB) \ - $(INST_BIN) $(DESTINSTALLBIN) \ - $(INST_SCRIPT) $(DESTINSTALLSCRIPT) \ - $(INST_MAN1DIR) $(DESTINSTALLMAN1DIR) \ - $(INST_MAN3DIR) $(DESTINSTALLMAN3DIR) - $(NOECHO) $(WARN_IF_OLD_PACKLIST) \ - $(SITEARCHEXP)/auto/$(FULLEXT) - - -pure_site_install :: all - $(NOECHO) $(MOD_INSTALL) \ - read $(SITEARCHEXP)/auto/$(FULLEXT)/.packlist \ - write $(DESTINSTALLSITEARCH)/auto/$(FULLEXT)/.packlist \ - $(INST_LIB) $(DESTINSTALLSITELIB) \ - $(INST_ARCHLIB) $(DESTINSTALLSITEARCH) \ - $(INST_BIN) $(DESTINSTALLSITEBIN) \ - $(INST_SCRIPT) $(DESTINSTALLSITESCRIPT) \ - $(INST_MAN1DIR) $(DESTINSTALLSITEMAN1DIR) \ - $(INST_MAN3DIR) $(DESTINSTALLSITEMAN3DIR) - $(NOECHO) $(WARN_IF_OLD_PACKLIST) \ - $(PERL_ARCHLIB)/auto/$(FULLEXT) - -pure_vendor_install :: all - $(NOECHO) $(MOD_INSTALL) \ - read $(VENDORARCHEXP)/auto/$(FULLEXT)/.packlist \ - write $(DESTINSTALLVENDORARCH)/auto/$(FULLEXT)/.packlist \ - $(INST_LIB) $(DESTINSTALLVENDORLIB) \ - $(INST_ARCHLIB) $(DESTINSTALLVENDORARCH) \ - $(INST_BIN) $(DESTINSTALLVENDORBIN) \ - $(INST_SCRIPT) $(DESTINSTALLVENDORSCRIPT) \ - $(INST_MAN1DIR) $(DESTINSTALLVENDORMAN1DIR) \ - $(INST_MAN3DIR) $(DESTINSTALLVENDORMAN3DIR) - -doc_perl_install :: all - $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod - -$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB) - -$(NOECHO) $(DOC_INSTALL) \ - "Module" "$(NAME)" \ - "installed into" "$(INSTALLPRIVLIB)" \ - LINKTYPE "$(LINKTYPE)" \ - VERSION "$(VERSION)" \ - EXE_FILES "$(EXE_FILES)" \ - >> $(DESTINSTALLARCHLIB)/perllocal.pod - -doc_site_install :: all - $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod - -$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB) - -$(NOECHO) $(DOC_INSTALL) \ - "Module" "$(NAME)" \ - "installed into" "$(INSTALLSITELIB)" \ - LINKTYPE "$(LINKTYPE)" \ - VERSION "$(VERSION)" \ - EXE_FILES "$(EXE_FILES)" \ - >> $(DESTINSTALLARCHLIB)/perllocal.pod - -doc_vendor_install :: all - $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod - -$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB) - -$(NOECHO) $(DOC_INSTALL) \ - "Module" "$(NAME)" \ - "installed into" "$(INSTALLVENDORLIB)" \ - LINKTYPE "$(LINKTYPE)" \ - VERSION "$(VERSION)" \ - EXE_FILES "$(EXE_FILES)" \ - >> $(DESTINSTALLARCHLIB)/perllocal.pod - - -uninstall :: uninstall_from_$(INSTALLDIRS)dirs - $(NOECHO) $(NOOP) - -uninstall_from_perldirs :: - $(NOECHO) $(UNINSTALL) $(PERL_ARCHLIB)/auto/$(FULLEXT)/.packlist - -uninstall_from_sitedirs :: - $(NOECHO) $(UNINSTALL) $(SITEARCHEXP)/auto/$(FULLEXT)/.packlist - -uninstall_from_vendordirs :: - $(NOECHO) $(UNINSTALL) $(VENDORARCHEXP)/auto/$(FULLEXT)/.packlist - - -# --- MakeMaker force section: -# Phony target to force checking subdirectories. -FORCE : - $(NOECHO) $(NOOP) - - -# --- MakeMaker perldepend section: - - -# --- MakeMaker makefile section: -# We take a very conservative approach here, but it's worth it. -# We move Makefile to Makefile.old here to avoid gnu make looping. -$(FIRST_MAKEFILE) : Makefile.PL $(CONFIGDEP) - $(NOECHO) $(ECHO) "Makefile out-of-date with respect to $?" - $(NOECHO) $(ECHO) "Cleaning current config before rebuilding Makefile..." - -$(NOECHO) $(RM_F) $(MAKEFILE_OLD) - -$(NOECHO) $(MV) $(FIRST_MAKEFILE) $(MAKEFILE_OLD) - - $(MAKE) $(USEMAKEFILE) $(MAKEFILE_OLD) clean $(DEV_NULL) - $(PERLRUN) Makefile.PL - $(NOECHO) $(ECHO) "==> Your Makefile has been rebuilt. <==" - $(NOECHO) $(ECHO) "==> Please rerun the $(MAKE) command. <==" - $(FALSE) - - - -# --- MakeMaker staticmake section: - -# --- MakeMaker makeaperl section --- -MAP_TARGET = perl -FULLPERL = /usr/bin/perl - -$(MAP_TARGET) :: static $(MAKE_APERL_FILE) - $(MAKE) $(USEMAKEFILE) $(MAKE_APERL_FILE) $@ - -$(MAKE_APERL_FILE) : $(FIRST_MAKEFILE) pm_to_blib - $(NOECHO) $(ECHO) Writing \"$(MAKE_APERL_FILE)\" for this $(MAP_TARGET) - $(NOECHO) $(PERLRUNINST) \ - Makefile.PL DIR= \ - MAKEFILE=$(MAKE_APERL_FILE) LINKTYPE=static \ - MAKEAPERL=1 NORECURS=1 CCCDLFLAGS= - - -# --- MakeMaker test section: - -TEST_VERBOSE=0 -TEST_TYPE=test_$(LINKTYPE) -TEST_FILE = test.pl -TEST_FILES = t/01app.t t/02_1_app_RandomForest.t t/02_3_dropSamples_only.t t/02_4_check_analysis_page.t t/02pod.t t/03podcoverage.t t/Check_01.1_input_multiple_files_R.t t/Check_01_input_files_R.t t/Check_04_analysis_R.t t/controller_analyse.t t/controller_Coexpression.t t/controller_Error.t t/controller_fluidigm_analysis.t t/controller_gene_group.t t/controller_GEOfiles.t t/controller_grouping_2d.t t/controller_help.t t/controller_PValues.t t/controller_RandomForest.t t/controller_test.t t/data_table_2.t t/help_data.t t/model_Coexpr.t t/model_GEO_files.t t/model_java_splicer.t t/model_mechanize.t t/model_PValues.t t/model_RandomForest_recieve.t t/model_RandomForest_send.t t/model_RandomForest_x_send_to_server.t t/model_rgl3dplots.t t/regroup_logics.t t/simpleBarGraph.t t/stefans_libs_Description.t t/stefans_libs_file_readers_Fluidigm_Raw_Tables.t t/stefans_libs_GeneGroup_4_newInitialPlot.t t/stefans_libs_GeneGroups.t t/stefans_libs_GeneGroups_2.t t/stefans_libs_GeneGroups_3.t t/stefans_libs_GeneGroups_R_table.t t/stefans_libs_GeneGroups_Set.t t/stefans_libs_HTpcrA_Menus.t t/stefans_libs_HTpcrA_methods.t t/stefans_libs_HTpcrA_ScrapBook.t t/view_TT.t -TESTDB_SW = -d - -testdb :: testdb_$(LINKTYPE) - -test :: $(TEST_TYPE) subdirs-test - -subdirs-test :: - $(NOECHO) $(NOOP) - - -test_dynamic :: pure_all - PERL_DL_NONLAZY=1 $(FULLPERLRUN) "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness($(TEST_VERBOSE), 'inc', '$(INST_LIB)', '$(INST_ARCHLIB)')" $(TEST_FILES) - -testdb_dynamic :: pure_all - PERL_DL_NONLAZY=1 $(FULLPERLRUN) $(TESTDB_SW) "-Iinc" "-I$(INST_LIB)" "-I$(INST_ARCHLIB)" $(TEST_FILE) - -test_ : test_dynamic - -test_static :: test_dynamic -testdb_static :: testdb_dynamic - - -# --- MakeMaker ppd section: -# Creates a PPD (Perl Package Description) for a binary distribution. -ppd : - $(NOECHO) $(ECHO) '' > $(DISTNAME).ppd - $(NOECHO) $(ECHO) ' Catalyst based application' >> $(DISTNAME).ppd - $(NOECHO) $(ECHO) ' Stefan Lang' >> $(DISTNAME).ppd - $(NOECHO) $(ECHO) ' ' >> $(DISTNAME).ppd - $(NOECHO) $(ECHO) ' ' >> $(DISTNAME).ppd - $(NOECHO) $(ECHO) ' ' >> $(DISTNAME).ppd - $(NOECHO) $(ECHO) ' ' >> $(DISTNAME).ppd - $(NOECHO) $(ECHO) ' ' >> $(DISTNAME).ppd - $(NOECHO) $(ECHO) ' ' >> $(DISTNAME).ppd - $(NOECHO) $(ECHO) ' ' >> $(DISTNAME).ppd - $(NOECHO) $(ECHO) ' ' >> $(DISTNAME).ppd - $(NOECHO) $(ECHO) ' ' >> $(DISTNAME).ppd - $(NOECHO) $(ECHO) ' ' >> $(DISTNAME).ppd - $(NOECHO) $(ECHO) ' ' >> $(DISTNAME).ppd - $(NOECHO) $(ECHO) ' ' >> $(DISTNAME).ppd - $(NOECHO) $(ECHO) ' ' >> $(DISTNAME).ppd - $(NOECHO) $(ECHO) ' ' >> $(DISTNAME).ppd - $(NOECHO) $(ECHO) ' ' >> $(DISTNAME).ppd - $(NOECHO) $(ECHO) ' ' >> $(DISTNAME).ppd - $(NOECHO) $(ECHO) ' ' >> $(DISTNAME).ppd - $(NOECHO) $(ECHO) ' ' >> $(DISTNAME).ppd - $(NOECHO) $(ECHO) ' ' >> $(DISTNAME).ppd - $(NOECHO) $(ECHO) ' ' >> $(DISTNAME).ppd - $(NOECHO) $(ECHO) ' ' >> $(DISTNAME).ppd - $(NOECHO) $(ECHO) ' ' >> $(DISTNAME).ppd - $(NOECHO) $(ECHO) ' ' >> $(DISTNAME).ppd - $(NOECHO) $(ECHO) ' ' >> $(DISTNAME).ppd - $(NOECHO) $(ECHO) ' ' >> $(DISTNAME).ppd - $(NOECHO) $(ECHO) ' ' >> $(DISTNAME).ppd - $(NOECHO) $(ECHO) '' >> $(DISTNAME).ppd - - -# --- MakeMaker pm_to_blib section: - -pm_to_blib : $(FIRST_MAKEFILE) $(TO_INST_PM) - $(NOECHO) $(ABSPERLRUN) -MExtUtils::Install -e 'pm_to_blib({@ARGV}, '\''$(INST_LIB)/auto'\'', q[$(PM_FILTER)], '\''$(PERM_DIR)'\'')' -- \ - lib/stefans_libs/GeneGroups/Set.pm blib/lib/stefans_libs/GeneGroups/Set.pm \ - lib/HTpcrA/Model/rgl3dplots.pm blib/lib/HTpcrA/Model/rgl3dplots.pm \ - lib/htpcra.conf blib/lib/htpcra.conf \ - lib/HTpcrA/Controller/GEOfiles.pm blib/lib/HTpcrA/Controller/GEOfiles.pm \ - lib/stefans_libs/flexible_data_structures/BinList/Histogram.pm blib/lib/stefans_libs/flexible_data_structures/BinList/Histogram.pm \ - lib/stefans_libs/HTpcrA/ScrapBook.pm blib/lib/stefans_libs/HTpcrA/ScrapBook.pm \ - lib/HTpcrA/Controller/DropSamples.pm blib/lib/HTpcrA/Controller/DropSamples.pm \ - lib/stefans_libs/file_readers/Patcher.pm blib/lib/stefans_libs/file_readers/Patcher.pm \ - lib/HTpcrA/Controller/help.pm blib/lib/HTpcrA/Controller/help.pm \ - lib/HTpcrA/Controller/gene_group.pm blib/lib/HTpcrA/Controller/gene_group.pm \ - lib/HTpcrA/Model/Menu.pm blib/lib/HTpcrA/Model/Menu.pm \ - lib/HTpcrA/Model/GEO_files.pm blib/lib/HTpcrA/Model/GEO_files.pm \ - lib/HTpcrA/Model/GeneGroups.pm blib/lib/HTpcrA/Model/GeneGroups.pm \ - lib/stefans_libs/flexible_data_structures/BinList.pm blib/lib/stefans_libs/flexible_data_structures/BinList.pm \ - lib/stefans_libs/plot_old/Font.pm blib/lib/stefans_libs/plot_old/Font.pm \ - lib/HTpcrA/Model/java_splicer.pm blib/lib/HTpcrA/Model/java_splicer.pm \ - lib/HTpcrA/Model/scrapbook.pm blib/lib/HTpcrA/Model/scrapbook.pm \ - lib/HTpcrA/Model/HelpFile.pm blib/lib/HTpcrA/Model/HelpFile.pm \ - lib/stefans_libs/file_readers/PCR_Raw_Tables.pm blib/lib/stefans_libs/file_readers/PCR_Raw_Tables.pm \ - lib/HTpcrA/Model/Coexpr.pm blib/lib/HTpcrA/Model/Coexpr.pm \ - lib/stefans_libs/plot_old/axis.pm blib/lib/stefans_libs/plot_old/axis.pm \ - lib/stefans_libs/flexible_data_structures/BinList/XY_Group.pm blib/lib/stefans_libs/flexible_data_structures/BinList/XY_Group.pm \ - lib/HTpcrA/EnableFiles.pm blib/lib/HTpcrA/EnableFiles.pm \ - lib/HTpcrA/Controller/Filemerger.pm blib/lib/HTpcrA/Controller/Filemerger.pm \ - lib/HTpcrA/Controller/Scrapbook.pm blib/lib/HTpcrA/Controller/Scrapbook.pm \ - lib/HTpcrA/Model/PCR_Raw_Files.pm blib/lib/HTpcrA/Model/PCR_Raw_Files.pm \ - lib/htpcr.conf.useless blib/lib/htpcr.conf.useless \ - lib/HTpcrA/Controller/Error.pm blib/lib/HTpcrA/Controller/Error.pm \ - lib/HTpcrA/Controller/RandomForest.pm blib/lib/HTpcrA/Controller/RandomForest.pm \ - lib/.gitignore blib/lib/.gitignore \ - lib/HTpcrA/Model/RandomForest.pm blib/lib/HTpcrA/Model/RandomForest.pm \ - lib/CatalystX/Profile_SL.pm blib/lib/CatalystX/Profile_SL.pm \ - lib/HTpcrA/Controller/Regroup.pm blib/lib/HTpcrA/Controller/Regroup.pm \ - lib/CatalystX/Profile_SL/Controller/ControlProfiling.pm blib/lib/CatalystX/Profile_SL/Controller/ControlProfiling.pm - $(NOECHO) $(ABSPERLRUN) -MExtUtils::Install -e 'pm_to_blib({@ARGV}, '\''$(INST_LIB)/auto'\'', q[$(PM_FILTER)], '\''$(PERM_DIR)'\'')' -- \ - lib/stefans_libs/plot_old/color.pm blib/lib/stefans_libs/plot_old/color.pm \ - lib/HTpcrA/Controller/Root.pm blib/lib/HTpcrA/Controller/Root.pm \ - lib/HTpcrA/Controller/PValues.pm blib/lib/HTpcrA/Controller/PValues.pm \ - lib/HTpcrA/Model/mech.pm blib/lib/HTpcrA/Model/mech.pm \ - lib/stefans_libs/file_readers/help_data.pm blib/lib/stefans_libs/file_readers/help_data.pm \ - lib/HTpcrA/Controller/analyse.pm blib/lib/HTpcrA/Controller/analyse.pm \ - lib/stefans_libs/GeneGroups/R_table.pm blib/lib/stefans_libs/GeneGroups/R_table.pm \ - lib/HTpcrA/Controller/Files.pm blib/lib/HTpcrA/Controller/Files.pm \ - lib/HTpcrA.pm blib/lib/HTpcrA.pm \ - lib/HTpcrA/Controller/DropGenes.pm blib/lib/HTpcrA/Controller/DropGenes.pm \ - lib/stefans_libs/Description.pm blib/lib/stefans_libs/Description.pm \ - lib/HTpcrA/Controller/grouping_2d.pm blib/lib/HTpcrA/Controller/grouping_2d.pm \ - lib/stefans_libs/root.pm blib/lib/stefans_libs/root.pm \ - lib/stefans_libs/HTpcrA/Menue.pm blib/lib/stefans_libs/HTpcrA/Menue.pm \ - lib/HTpcrA/View/HTML.pm blib/lib/HTpcrA/View/HTML.pm \ - lib/stefans_libs/flexible_data_structures/data_table/arraySorter.pm blib/lib/stefans_libs/flexible_data_structures/data_table/arraySorter.pm \ - lib/HTpcrA/Controller/Coexpression.pm blib/lib/HTpcrA/Controller/Coexpression.pm \ - lib/stefans_libs/GeneGroups.pm blib/lib/stefans_libs/GeneGroups.pm \ - lib/HTpcrA/Model/MethodsSection.pm blib/lib/HTpcrA/Model/MethodsSection.pm \ - lib/stefans_libs/HTpcrA/methods.pm blib/lib/stefans_libs/HTpcrA/methods.pm \ - lib/HTpcrA/Model/PValues.pm blib/lib/HTpcrA/Model/PValues.pm - $(NOECHO) $(TOUCH) pm_to_blib - - -# --- MakeMaker selfdocument section: - - -# --- MakeMaker postamble section: - - -# End. -# Postamble by Module::Install 1.12 -catalyst_par :: all - $(NOECHO) $(PERL) -Ilib -Minc::Module::Install -MModule::Install::Catalyst -e"Catalyst::Module::Install::_catalyst_par( '', 'HTpcrA', { CLASSES => [], PAROPTS => {}, ENGINE => 'CGI', SCRIPT => '', USAGE => q## } )" -# --- Module::Install::AutoInstall section: - -config :: installdeps - $(NOECHO) $(NOOP) - -checkdeps :: - $(PERL) Makefile.PL --checkdeps - -installdeps :: - $(NOECHO) $(NOOP) - -installdeps_notest :: - $(NOECHO) $(NOOP) - -upgradedeps :: - $(PERL) Makefile.PL --config= --upgradedeps=Test::More,0.88,jQuery::File::Upload,0,Catalyst::Runtime,5.90019,Catalyst::Plugin::ConfigLoader,0,Catalyst::Plugin::Static::Simple,0,Catalyst::Plugin::ErrorCatcher,0,Catalyst::Action::RenderView,0,Moose,0,namespace::autoclean,0,Config::General,0,Catalyst::Plugin::SecureCookies,0,Catalyst::Plugin::RequireSSL,0,Catalyst::Plugin::Session,0,Catalyst::Plugin::Session::State::Cookie,0,Catalyst::Plugin::Session::Store::FastMmap,0,HTML::Template,0,Catalyst::Model::Factory::PerRequest,0,Date::Simple,0,Statistics::Descriptive,0,GD::SVG,0,Number::Format,0,Catalyst::Plugin::FormBuilder,0,Catalyst::View::TT,0,DateTime::Format::MySQL,0 - -upgradedeps_notest :: - $(PERL) Makefile.PL --config=notest,1 --upgradedeps=Test::More,0.88,jQuery::File::Upload,0,Catalyst::Runtime,5.90019,Catalyst::Plugin::ConfigLoader,0,Catalyst::Plugin::Static::Simple,0,Catalyst::Plugin::ErrorCatcher,0,Catalyst::Action::RenderView,0,Moose,0,namespace::autoclean,0,Config::General,0,Catalyst::Plugin::SecureCookies,0,Catalyst::Plugin::RequireSSL,0,Catalyst::Plugin::Session,0,Catalyst::Plugin::Session::State::Cookie,0,Catalyst::Plugin::Session::Store::FastMmap,0,HTML::Template,0,Catalyst::Model::Factory::PerRequest,0,Date::Simple,0,Statistics::Descriptive,0,GD::SVG,0,Number::Format,0,Catalyst::Plugin::FormBuilder,0,Catalyst::View::TT,0,DateTime::Format::MySQL,0 - -listdeps :: - @$(PERL) -le "print for @ARGV" - -listalldeps :: - @$(PERL) -le "print for @ARGV" Test::More jQuery::File::Upload Catalyst::Runtime Catalyst::Plugin::ConfigLoader Catalyst::Plugin::Static::Simple Catalyst::Plugin::ErrorCatcher Catalyst::Action::RenderView Moose namespace::autoclean Config::General Catalyst::Plugin::SecureCookies Catalyst::Plugin::RequireSSL Catalyst::Plugin::Session Catalyst::Plugin::Session::State::Cookie Catalyst::Plugin::Session::Store::FastMmap HTML::Template Catalyst::Model::Factory::PerRequest Date::Simple Statistics::Descriptive GD::SVG Number::Format Catalyst::Plugin::FormBuilder Catalyst::View::TT DateTime::Format::MySQL - diff --git a/SCExV/Makefile.PL b/SCExV/Makefile.PL index 3f82bda..ba3e744 100644 --- a/SCExV/Makefile.PL +++ b/SCExV/Makefile.PL @@ -10,30 +10,22 @@ name 'HTpcrA'; all_from 'lib/HTpcrA.pm'; requires 'Catalyst::Runtime' => '5.90019'; -requires 'Catalyst::Plugin::ConfigLoader'; +#requires 'Catalyst::Plugin::ConfigLoader'; requires 'Catalyst::Plugin::Static::Simple'; requires 'Catalyst::Plugin::ErrorCatcher'; - requires 'Catalyst::Action::RenderView'; - requires 'Moose'; requires 'namespace::autoclean'; -requires 'Config::General'; # This should reflect the config file format you've chosen +#requires 'Config::General'; # This should reflect the config file format you've chosen # See Catalyst::Plugin::ConfigLoader for supported formats -requires 'Catalyst::Plugin::SecureCookies'; -requires 'Catalyst::Plugin::RequireSSL'; +requires 'Daemon::Control'; +#requires 'Catalyst::Plugin::RequireSSL'; requires 'Catalyst::Plugin::Session'; requires 'Catalyst::Plugin::Session::State::Cookie'; requires 'Catalyst::Plugin::Session::Store::FastMmap'; requires 'HTML::Template'; requires 'Catalyst::Model::Factory::PerRequest'; -requires 'Date::Simple'; -requires 'Statistics::Descriptive'; -requires 'GD::SVG'; -requires 'Number::Format'; -requires 'Catalyst::Plugin::FormBuilder'; -requires 'Catalyst::View::TT'; -requires 'DateTime::Format::MySQL'; +requires 'Stefans_Libs_Essentials'; #requires 'Stefans_Lib_Essentials' => '1.01'; requires_external_bin('dos2unix'); diff --git a/SCExV/SCExV.starman.inid b/SCExV/SCExV.starman.inid new file mode 100755 index 0000000..7721eb4 --- /dev/null +++ b/SCExV/SCExV.starman.inid @@ -0,0 +1,35 @@ +#!/usr/bin/env perl + + +## obtained from http://blogs.perl.org/users/davewood/2012/12/moving-my-catalyst-apps-from-apachefcgi-to-nginxstarman.html + +use warnings; +use strict; +use Daemon::Control; + +my $app_home = '/var/www/html/SCexV/'; +my $program = '/usr/bin/starman'; +my $name = 'SCExV'; +my $workers = 10; +my $pid_file = $app_home . '/SCExV.pid'; +my $socket = $app_home . '/SCExV.socket'; + +Daemon::Control->new({ + name => $name, + lsb_start => '$nginx', + lsb_stop => '$nginx', + lsb_sdesc => $name, + lsb_desc => $name, + path => $app_home . '/SCExV.starman.initd', + + user => 'www-data', + group => 'www-data', + directory => $app_home, + program => "$program $app_home/htpcra.psgi --workers $workers --listen $socket", + + pid_file => $pid_file, + stderr_file => $app_home . '/SCExV.err', + stdout_file => $app_home . '/SCExV.out', + + fork => 2, +})->run; diff --git a/SCExV/htpcra.psgi b/SCExV/htpcra.psgi index 1ccb9c1..cb81b24 100644 --- a/SCExV/htpcra.psgi +++ b/SCExV/htpcra.psgi @@ -4,6 +4,6 @@ use warnings; #use lib "plugin_pathlib/"; use HTpcrA; -my $app = HTpcrA->apply_default_middlewares(HTpcrA->psgi_app); +my $app = HTpcrA->apply_default_middlewares(HTpcrA->psgi_app(@_)); $app; diff --git a/SCExV/lib/CatalystX/Profile_SL.pm b/SCExV/lib/CatalystX/Profile_SL.pm deleted file mode 100644 index 954289a..0000000 --- a/SCExV/lib/CatalystX/Profile_SL.pm +++ /dev/null @@ -1,84 +0,0 @@ -# ABSTRACT: Profile your Catalyst application with Devel::NYTProf -package CatalystX::Profile_SL; -BEGIN { - $CatalystX::Profile::VERSION = '0.02'; -} -use Moose::Role; -use namespace::autoclean; - -use CatalystX::InjectComponent; -use Devel::NYTProf; - -after 'setup_finalize' => sub { - my $self = shift; - $self->log->debug('Profiling is active'); - ## create the profiling subpath of the workspace - my $path = $self->config->{'root'}."/tmp/profiling/"; - # Carp::confess ( $path ); - mkdir ( $path ) unless ( -d $path ); - system ( "rm $path"."nytprof.out.*" ); - DB::enable_profile($path."nytprof.out"); -}; - -after 'setup_components' => sub { - my $class = shift; - CatalystX::InjectComponent->inject( - into => $class, - component => 'CatalystX::Profile_SL::Controller::ControlProfiling', - as => 'Controller::Profile_SL' - ); -}; - -1; - - -__END__ -=pod - -=head1 NAME - -CatalystX::Profile - Profile your Catalyst application with Devel::NYTProf - -=head1 VERSION - -version 0.02 - -=head1 SYNOPSIS - - # In MyApp.pm - use Catalyst qw( +CatalystX::Profile ); - - export NYTPROF=start=no - perl -d:NYTProf script/myapp_server.pl - - ... click around on your website ... - - Finish profiling: /profile/stop_profiling - -=head1 DESCRIPTION - -This (really basic for now) plugin adds support for profiling your -Catalyst application, without profiling all the crap that happens -during setup. This noise can make finding the real profiling stuff -trickier, so profiling is disabled while this happens. - -=head1 BUGS, WARNINGS, POTENTIAL HEALTH HAZARDS - -This module is really new - but it does do what it says on the tin so -far. But I really need some feedback! Please submit all feature -suggestions either on here via RT, or just poke me on irc.perl.org -(I'm aCiD2). - -=head1 AUTHOR - -Oliver Charles - -=head1 COPYRIGHT AND LICENSE - -This software is copyright (c) 2011 by Oliver Charles. - -This is free software; you can redistribute it and/or modify it under -the same terms as the Perl 5 programming language system itself. - -=cut - diff --git a/SCExV/lib/CatalystX/Profile_SL/Controller/ControlProfiling.pm b/SCExV/lib/CatalystX/Profile_SL/Controller/ControlProfiling.pm deleted file mode 100644 index a6b0e2e..0000000 --- a/SCExV/lib/CatalystX/Profile_SL/Controller/ControlProfiling.pm +++ /dev/null @@ -1,65 +0,0 @@ -# ABSTRACT: Control profiling within your application -package CatalystX::Profile_SL::Controller::ControlProfiling; -BEGIN { - $CatalystX::Profile_SL::Controller::ControlProfiling::VERSION = '0.02'; -} -use Moose; -use namespace::autoclean; - -BEGIN { extends 'Catalyst::Controller' } - -use Devel::NYTProf; - -sub stop_profiling : Local { - my ($self, $c) = @_; - DB::finish_profile(); - my $file = $c->config->{'root'}."/tmp/profiling/nytprof"; - #Carp::confess ( "nytprofhtml --file $file.out.*\n"."zip -r9 /profiling/nytprof_".time.".zip $file\n". "rm $file.out.*\n" ); - system ( "nytprofhtml --file $file.out.* --out $file" ); - system ( "zip -R9 $file"."_".time.".zip $file/*" ); - system ( "rm $file.out.*" ); - DB::enable_profile($file.".out"); - $c->log->debug('Profiling has now been restarted'); - $c->response->body('Profiling restrted The profiling summary page'. "
\nYou need to download all your data to get to all information. Back to Start" ); -} - - - -1; - - -__END__ -=pod - -=head1 NAME - -CatalystX::Profile::Controller::ControlProfiling - Control profiling within your application - -=head1 VERSION - -version 0.02 - -=head1 DESCRIPTIONS - -Some actions you can use to control profiling - -=head1 ACTIONS - -=head2 stop_profiling - -Stop and finish profiling, and write all the output. This can be a bit -slow while the profiling data is written, but that's normal. - -=head1 AUTHOR - -Oliver Charles - -=head1 COPYRIGHT AND LICENSE - -This software is copyright (c) 2011 by Oliver Charles. - -This is free software; you can redistribute it and/or modify it under -the same terms as the Perl 5 programming language system itself. - -=cut - diff --git a/SCExV/lib/HTpcrA.pm b/SCExV/lib/HTpcrA.pm index cc00524..f77f383 100644 --- a/SCExV/lib/HTpcrA.pm +++ b/SCExV/lib/HTpcrA.pm @@ -20,8 +20,9 @@ use Catalyst::Runtime 5.80; # +CatalystX::Profile_SL # -Debug +# ConfigLoader + use Catalyst qw/ - ConfigLoader Static::Simple Session Session::State::Cookie @@ -33,7 +34,7 @@ use Catalyst qw/ extends 'Catalyst'; -our $VERSION = '0.90'; +our $VERSION = '1.00'; # Configure the application. # @@ -45,8 +46,8 @@ our $VERSION = '0.90'; # local deployment. __PACKAGE__->config( - root => '/home/slang/git_Projects/SCexV/SCExV/root/', - name => 'HTpcrA', + root => '/home/med-sal/git_Projects/SCexV/SCExV/root/', + name => 'SCExV', # Disable deprecated behavior needed by old applications #disable_component_resolution_regex_fallback => 1, calcserver => {'ip' => '130.235.249.196', 'subpage' => '/NGS_pipeline/fluidigm/index/', 'ncore' => 32 }, @@ -93,14 +94,15 @@ sub check_IP{ sub session_path { my ($self, $session_id ) = @_; if ( defined $session_id ){ - return $self->config->{'root'}. "/tmp/" . $session_id ."/"; + return $self->config->{'root'}. "tmp/" . $session_id ."/"; } my $path = $self->session->{'path'}; if (defined $path){ return $path if ( $path =~ m!/tmp/[\w\d]! && -d $path ); } - my $Root = $self->config->{'root'}; + my $Root = ''; + $Root = $self->config->{'root'}; # my $root = "/var/www/html/HTPCR"; $session_id = $self->get_session_id(); @@ -108,8 +110,8 @@ sub session_path { $self->res->redirect( $self->uri_for("/") ); $self->detach(); } - $path = $Root . "/tmp/" . $self->get_session_id() . "/"; - $path = $Root . "/tmp/" . $self->get_session_id() . "/" if ($path =~ m!//$! ); + $path = $Root . "tmp/" . $self->get_session_id() . "/"; + $path = $Root . "tmp/" . $self->get_session_id() . "/" if ($path =~ m!//$! ); unless ( -d $path ) { mkdir($path) or Carp::confess("I could not create the session path $path\n$!\n"); diff --git a/SCExV/lib/HTpcrA/Controller/DropGenes.pm b/SCExV/lib/HTpcrA/Controller/DropGenes.pm index 2ef2f43..520efaa 100644 --- a/SCExV/lib/HTpcrA/Controller/DropGenes.pm +++ b/SCExV/lib/HTpcrA/Controller/DropGenes.pm @@ -71,33 +71,10 @@ sub index : Path : Form { sub R_remove_genes { my ( $self, $c, $hash ) = @_; my $path = $c->session_path(); + $hash->{'path'} = $path; + my $script = $c->model('RScript')->create_script($c, 'remove_genes', $hash ); + $c->model('RScript')->runScript( $c, $path, 'DropGenes.R', $script, 1 ); - my $script = "source ('libs/Tool_Pipe.R')\n" . "load( 'norm_data.RData')\n"; - - #$hash->{'Samples'} |= []; - if ( defined @{ $hash->{'Genes'} }[0] ) { - $script .= - "remS <- c ('" - . join( "', '", @{ $hash->{'Genes'} } ) - . "')\n" - . "kill <- match( remS,colnames(data.filtered\$PCR))\n" - ."data.filtered = remove.genes(data.filtered, kill[which(is.na(kill) == F )] )\n" - . "kill <- match( remS,colnames(data.filtered\$FACS))\n" - ."data.filtered = remove.FACS.genes(data.filtered, kill[which(is.na(kill) == F )] )\n" - if ( @{ $hash->{'Genes'} }[0] =~ m/[\w\d_]+/ ); - } - - $script .= -"data.filtered <- sd.filter(data.filtered)\n"."data.filtered <- z.score.PCR.mad(data.filtered)\n"."save( data.filtered, file='norm_data.RData' )\n"; - - open( RSCRIPT, ">$path/DropGenes.R" ) - or Carp::confess( - "I could not create the R script '$path/DropGenes.R'\n$!\n"); - print RSCRIPT $script; - chdir($path); - system( -'/bin/bash -c "DISPLAY=:7 R CMD BATCH --no-readline -- DropGenes.R > R.pre.run.log"' - ); $c->model('scrapbook')->init( $c->scrapbook() ) ->Add("

Drop Genes

\noptions:" . $self->options_to_HTML_table($hash) diff --git a/SCExV/lib/HTpcrA/Controller/DropSamples.pm b/SCExV/lib/HTpcrA/Controller/DropSamples.pm index 43c26f3..fcd2505 100644 --- a/SCExV/lib/HTpcrA/Controller/DropSamples.pm +++ b/SCExV/lib/HTpcrA/Controller/DropSamples.pm @@ -33,11 +33,11 @@ sub index : Path : Form { $self->slurp_Heatmaps( $c, $path ); -# if ( -f "$path/webGL/index.html" ) { + if ( -f "$path/webGL/index.html" ) { $self->{'webGL'} = "$path/webGL/index.html"; $self->slurp_webGL( $c, $self->{'webGL'}, $path ); $c->stash->{'buttons'} = $self->exclude_buttons($c); -# } + } ## now the form to remove the samples $self->{'form_array'} = []; @@ -81,33 +81,9 @@ sub R_remove_samples { my ( $self, $c, $hash ) = @_; my $path = $c->session_path(); - my $script = "source ('libs/Tool_Pipe.R')\n" . "load( 'norm_data.RData')\n"; - - #$hash->{'Samples'} |= []; - if ( defined @{ $hash->{'Samples'} }[0] ) { - $script .= - "remS <- c ('" - . join( "', '", @{ $hash->{'Samples'} } ) - . "')\ndata.filtered = remove.samples(data.filtered, match( remS,rownames(data.filtered\$PCR)) )\n" - if ( @{ $hash->{'Samples'} }[0] =~ m/[\w\d_]+/ ); - } - if ( defined $hash->{'RegExp'} ) { - $script .= -"data.filtered = remove.samples(data.filtered, grep( \"$hash->{'RegExp'}\" ,rownames(data.filtered\$PCR)) )\n" - if ( $hash->{'RegExp'} =~ m/[\w\d_]+/ ); - } - - $script .= -"data.filtered <- sd.filter(data.filtered)\n"."data.filtered <- z.score.PCR.mad(data.filtered)\n"."save( data.filtered, file='norm_data.RData' )\n"; + my $script = $c->model('RScript')->create_script($c, 'remove_samples', $hash ); + $c->model('RScript')->runScript( $c, $path, 'DropSamples.R', $script, 1 ); - open( RSCRIPT, ">$path/DropSamples.R" ) - or Carp::confess( - "I could not create the R script '$path/DropSamples.R'\n$!\n"); - print RSCRIPT $script; - chdir($path); - system( -'/bin/bash -c "DISPLAY=:7 R CMD BATCH --no-readline -- DropSamples.R > R.pre.run.log"' - ); $c->model('scrapbook')->init( $c->scrapbook() ) ->Add("

Drop Samples (Cells)

\noptions:" . $self->options_to_HTML_table($hash) @@ -125,10 +101,10 @@ sub Select_Options { $self->{'select_options'} = [ map { { $_ => $_ } - } sort @{ $data_table->GetAsArray('Samples') } + } @{ $data_table->GetAsArray('SampleName') } ]; $self->{"Group_2_Sample"} = - $data_table->GetAsHashedArray( 'Cluster', 'Samples' ); + $data_table->GetAsHashedArray( 'grouping', 'SampleName' ); return $self->{'select_options'}; } diff --git a/SCExV/lib/HTpcrA/Controller/Files.pm b/SCExV/lib/HTpcrA/Controller/Files.pm index 2ae6425..33a482e 100644 --- a/SCExV/lib/HTpcrA/Controller/Files.pm +++ b/SCExV/lib/HTpcrA/Controller/Files.pm @@ -392,7 +392,8 @@ sub upload : Local : Form { $self->config_file( $c, 'Preprocess.Configs.txt', $dataset ); $self->file_upload( $c, $dataset ); $self->R_script( $c, $dataset ); - unless ( -f $path . "../norm_data.RData" ) { + unless ( -f $c->session_path(). "norm_data.RData" ) { + Carp::confess("File ".$c->session_path(). "norm_data.RData". " Not found" ); if ( defined @{ $dataset->{'negControllGenes'} }[0] && length(@{ $dataset->{'negControllGenes'} }[0]) > 0 ) { my $spath = $c->session_path(); open( OUT, ">" . $spath . "Error_system_message.txt" ); @@ -508,113 +509,31 @@ sub R_script { [ map { $_ =~ m/preprocess\/(.+).png/; $1; } @{ $dataset->{'negContr'} } ]; - my $seesion_hash = $c->session(); $dataset->{'maxGenes'} = 0 if ( $dataset->{'maxGenes'} eq "any" ); $dataset->{'maxGenes'} = 3 if ( $dataset->{'maxGenes'} eq "all 4" ); $dataset->{'maxGenes'} = $1 if ( $dataset->{'maxGenes'} =~ m/more than (\d)/ ); #Carp::confess ( root->print_perl_var_def( $seesion_hash->{'PCR'} ) ); - - my $script = - "source ('../libs/Tool_Pipe.R')\n" - . "source ('../libs/Tool_Plot.R')\n" - . "negContrGenes <- NULL\n" - . "plotsvg = 0\n"; - $script .= - "negContrGenes <- c ( '" - . join( "', '", @{ $dataset->{'negControllGenes'} } ) . "')\n" - if ( defined @{ $dataset->{'negControllGenes'} }[0] ); - $script .= "data.filtered <- createDataObj ( PCR= c( '../" - . join( "', '../", - map { $_->{'filename'}.".mod" } @{ $seesion_hash->{'PCRTable'} } ) - . "' ), " - . " PCR2= c( '../" - . join( "', '../", - map { $_->{'filename'}.".mod" } @{ $seesion_hash->{'PCRTable2'} } ) - . "' ), " - . "FACS= c( '../" - . join( "','../", - map { $_->{'filename'}.".mod" } @{ $seesion_hash->{'facsTable'} } ) - . "' ), " - . "ref.genes= c( '" - . join( "', '", @{ $dataset->{'controlM'} } ) . "' )," - . " use_pass_fail = '$dataset->{'use_pass_fail'}', " - . "max.value=40, max.ct= $dataset->{'maxCT'} , max.control=$dataset->{'maxGenes'}, norm.function='$dataset->{'normalize2'}', negContrGenes=negContrGenes )\n" - . "save( data.filtered, file='../norm_data.RData' )\n" - ; - $script =~ s/c\( '.?.?\/?' \)/NULL/g; - - open( RSCRIPT, ">$path/Preprocess.R" ) - or Carp::confess( - "I could not create the R script '$path/Preprocess.R'\n$!\n"); - print RSCRIPT $script; - chdir($path); - system( -'/bin/bash -c "DISPLAY=:7 R CMD BATCH --no-readline -- Preprocess.R > R.pre.run.log"' - ); + + my $script = $c->model('RScript')->create_script($c,'file_load', $dataset); + + $c->model('RScript')->runScript( $c, $c->session_path(), 'Preprocess.R', $script, 1 ); + $c->model('scrapbook')->init( $c->scrapbook() ) ->Add("

File Upload

\noptions:" . $self->options_to_HTML_table($dataset) . "\n" ); - if ( -f $path."Preprocess.R.log" ){ - open ( IN , "<".$path."Preprocess.R.log"); - $c->model('scrapbook')->init( $c->scrapbook() ) - ->Add( '

'. join("", )."

" ); - close ( IN ); - } return 1; } -sub normalize_flui_R { - my ( $self, $dataset ) = @_; - my $script = ''; - if ( $dataset->{'normalize2'} eq "max expression" ) { - $script .= "#normalize to the max expression value in each cell\n" - . "PCRTable.d.red.norm <- ( apply(PCRTable.d.red,1,min) - PCRTable.d.red )\n"; - } - elsif ( $dataset->{'normalize2'} eq "mean control genes" ) { - if ( @{ $dataset->{'controlM'} } > 0 ) { - $script .= - "#normalize to the mean expression value of the control genes \"" - . join( '", "', @{ $dataset->{'controlM'} } ) . "\"\n" - . "mean.control <- function (x) {mean(x[is.na(match(colnames(PCRTable.d.red), c('" - . join( "','", @{ $dataset->{'controlM'} } ) - . "') ))==F] ) }\n" - . "PCRTable.d.red.norm <- ( apply(PCRTable.d.red,1,mean.control) - PCRTable.d.red )\n"; - } - if ( @{ $dataset->{'controlM'} } == 1 ) { - $script .= -"#NOT normalized(!) just invert the values so that high values == high expression\n" - . "PCRTable.d.red.norm <- PCRTable.d.red.norm[,is.na(match(colnames(PCRTable.d.red.norm),'@{$dataset->{'controlM'}}[0]' ) )==T]\n" - . "system ( 'echo \"I have removed the control gene @{$dataset->{'controlM'}}[0] from the analysis as it has been used to normalize and therefore does not contain any more data.\" >> R.error')\n"; - } - } - elsif ( $dataset->{'normalize2'} eq "quantile" ) { - $script .= - "##Quantil norm on samples\n" - . $self->R_functs() - . "PCRTable.d.red.norm <- t(rank.normalize(t(PCRTable.d.red)))\n" - . "colnames(PCRTable.d.red.norm) <- colnames(PCRTable.d.red)\n" - . "rownames(PCRTable.d.red.norm) <- rownames(PCRTable.d.red)\n" - . "PCRTable.d.red.norm <- ( max(PCRTable.d.red) - PCRTable.d.red )\n"; - } - if ( $script eq "" ) { - ## default to (global max) - value - $script .= - "PCRTable.d.red.norm <- ( max(PCRTable.d.red) - PCRTable.d.red )\n"; - } - return $script; - - #sdbaegbreg -} - sub index : Local { my ( $self, $c, @filename ) = @_; my $filename = '/' . join( "/", @filename ); my $fn = @filename[ @filename - 1 ]; my $allowed = $c->session_path(); - + + $fn =~ s!//+!/!g; unless ( $filename =~ m/^\/?$allowed/ ) { $c->response->body( "No way you are allowed to access the file $filename - sorry! ($allowed)" @@ -624,15 +543,15 @@ sub index : Local { open( OUT, "<$filename" ) or Carp::confess( "Sorry, but I could not access the file '$filename' on the server!\n$!\n" - ); - $c->res->content_type('image/svg+xml') if ( $filename =~ m/svg$/ ); - $c->res->header( 'Content-Disposition', qq[attachment; filename="$fn"] ); + ); + while ( defined( my $line = ) ) { $c->res->write($line); } - close(OUT); - - $c->res->code(204); + close(OUT); + $c->res->header( 'Content-Disposition', qq[attachment; filename="$fn"] ); + $c->res->content_type('image/svg+xml') if ( $filename =~ m/svg$/ ); + $c->res->code(204); } sub message_form { @@ -904,7 +823,9 @@ sub start_from_zip_file : Local : Form { "cd $path && unzip -o '@{$dataset->{ 'zipfile' }}[0]->{'filename'}'" ); $self->session_file( $c, 'load' ); - $c->res->redirect( $c->uri_for("/files/renew_rlib/") ); + my $script = $c->model('RScript')->create_script($c, 'fixPath', {} ); + $c->model('RScript')->runScript( $c, $path, 'FixPath.R', $script, 1 ); + $c->res->redirect( $c->uri_for("/analyse/index/") ); $c->detach(); } else { diff --git a/SCExV/lib/HTpcrA/Controller/PValues.pm b/SCExV/lib/HTpcrA/Controller/PValues.pm index 12bf644..8d68652 100644 --- a/SCExV/lib/HTpcrA/Controller/PValues.pm +++ b/SCExV/lib/HTpcrA/Controller/PValues.pm @@ -62,7 +62,9 @@ sub index : Path : Form { } if ( $c->form->submitted && $c->form->validate ) { $hash = $self->__process_returned_form($c); - $c->model('PValues')->create_script( $c, $hash ); + + my $script = $c->model('RScript')->create_script($c,'pValues',$hash); + $c->model('RScript')->runScript( $c, $path, 'createPvalues.R', $script, 1 ); $c->model('scrapbook')->init( $path."/Scrapbook/Scrapbook.html" ) ->Add_Table("

P values calculation

\noptions:" diff --git a/SCExV/lib/HTpcrA/Controller/Regroup.pm b/SCExV/lib/HTpcrA/Controller/Regroup.pm index 0d27a3c..1f4ed99 100644 --- a/SCExV/lib/HTpcrA/Controller/Regroup.pm +++ b/SCExV/lib/HTpcrA/Controller/Regroup.pm @@ -25,58 +25,6 @@ Catalyst Controller. =cut -sub index_form { - my ( $self, $c, $path ) = @_; - - opendir( DIR, $path ); - my @files = grep( /Grouping/, readdir(DIR) ); - if ( defined $files[0] ) { - $c->stash->{'Form'} = 1; - $c->form->field( - 'comment' => 'Existing groups', - 'name' => 'UG', - 'options' => [@files] - , ## you will break the R_script changing this text! - 'value' => '', - 'required' => 0, - 'multiple' => 1, - ); - closedir(DIR); - $c->form->submit('Delete group(s)'); - } - else { - $c->stash->{'Form'} = 0; - } - closedir(DIR); - return @files; -} - -sub index : Local : Form { - my ( $self, $c, @args ) = @_; - my $path = $self->check($c); - - my @files = $self->index_form( $c, $path ); - - if ( $c->form->submitted && $c->form->validate ) { - ## exclude some samples!! - $c->stash->{'ERROR'} = []; - my $dataset = $self->__process_returned_form($c); - unless ( ref( $dataset->{'UG'} ) eq "ARRAY" ) { - $dataset->{'UG'} = [ $dataset->{'UG'} ]; - } - foreach ( @{ $dataset->{'UG'} } ) { - next if ( $_ eq "" ); - unlink( $path . "$_" ); - push( @{ $c->stash->{'ERROR'} }, "Group definition '$_' deleted!" ); - $c->model('scrapbook') - ->Add("

Re-Grouping - delete grouing data file '$_'.

\n"); - @files = grep !/$_/, @files; - } - $self->index_form( $c, $path ); - - } - $c->stash->{'template'} = 'CustomGroupingsDoc.tt2'; -} sub samplenames : Local : Form { my ( $self, $c, @args ) = @_; @@ -102,13 +50,29 @@ sub samplenames : Local : Form { if ( $c->form->submitted && $c->form->validate ) { ## exclude some samples!! my $analysis_conf = $self->config_file( $c, 'rscript.Configs.txt' ); - $analysis_conf->{'UG'} = - $self->R_userGroups( $c, $self->__process_returned_form($c) ); - $self->config_file( $c, 'rscript.Configs.txt', $analysis_conf ); - unless ( ref( $c->stash->{'ERROR'} ) eq "ARRAY" ) { - $c->res->redirect( $c->uri_for("/analyse/re_run/") ); + my $dataset = $self->__process_returned_form($c); + + my $Rscript = + $c->model('RScript')->create_script( $c, 'userGroups', $dataset ); + $c->model('RScript') + ->runScript( $c, $path, "Grouping_" . $dataset->{'GroupingName'}, + $Rscript, 'wait' ); + + if ( -f $path . "Grouping_R_Error.txt" ) { + open( IN, "<$path" . "Grouping_R_Error.txt" ); + $c->stash->{'ERROR'} = []; + close(IN); + } + else { + $c->model('scrapbook')->init( $c->scrapbook() )->Add( + "

Create a user defined grouping

\noptions:" + . $self->options_to_HTML_table($dataset) . "\n" + ); + $c->res->redirect( + $c->uri_for("/analyse/re_run/$dataset->{'GroupingName'}") ); $c->detach(); } + } $c->stash->{'template'} = 'SampleNameGroups.tt2'; } @@ -116,7 +80,7 @@ sub samplenames : Local : Form { sub reorder : Local : Form { my ( $self, $c, @args ) = @_; my $path = $self->check($c); - + $self->source_groups($c); $self->JavaScript($c); $self->{'form_array'} = []; @@ -142,22 +106,32 @@ sub reorder : Local : Form { if ( $c->form->submitted && $c->form->validate ) { ## exclude some samples!! my $analysis_conf = $self->config_file( $c, 'rscript.Configs.txt' ); - $analysis_conf->{'UG'} = - $self->R_regroup( $c, $self->__process_returned_form($c) ); - $self->config_file( $c, 'rscript.Configs.txt', $analysis_conf ); + my $dataset = $self->__process_returned_form($c); + my $script = + $c->model('RScript')->create_script( $c, 'regroup', $dataset ); + $c->model('RScript') + ->runScript( $c, $path, 'ReorderGroups.R', $script, 1 ); + unless ( ref( $c->stash->{'ERROR'} ) eq "ARRAY" ) { - $c->res->redirect( $c->uri_for("/analyse/re_run/") ); + $c->model('scrapbook')->init( $c->scrapbook() ) + ->Add("

User reordered a given grouping

\noptions:" + . $self->options_to_HTML_table($dataset) + . "\n" ); + $c->res->redirect( + $c->uri_for("/analyse/re_run/$dataset->{GroupingName}") ); $c->detach(); } + } if ( -f $path . 'facs_Heatmap.png' ) { $c->stash->{'HeatmapStatic'} = join( "", $self->create_selector_table_4_figures( - $c, 'heatmaps_s', - 'heatpic_s', 'picture_s', 'CorrelationPlot.png', - 'PCR_Heatmap.png','PCR_color_groups_Heatmap.png', - 'facs_Heatmap.png','facs_color_groups_Heatmap.png', + $c, 'heatmaps_s', + 'heatpic_s', 'picture_s', + 'CorrelationPlot.png', 'PCR_Heatmap.png', + 'PCR_color_groups_Heatmap.png', 'facs_Heatmap.png', + 'facs_color_groups_Heatmap.png', ) ); } @@ -165,8 +139,8 @@ sub reorder : Local : Form { $c->stash->{'HeatmapStatic'} = join( "", $self->create_selector_table_4_figures( - $c, 'heatmaps_s', - 'heatpic_s', 'picture_s', 'CorrelationPlot.png', + $c, 'heatmaps_s', + 'heatpic_s', 'picture_s', 'CorrelationPlot.png', 'PCR_Heatmap.png', 'PCR_color_groups_Heatmap.png', ) @@ -176,91 +150,6 @@ sub reorder : Local : Form { $c->stash->{'template'} = 'Regroup.tt2'; } -sub R_userGroups { - my ( $self, $c, $dataset ) = @_; - my $path = $c->session_path(); - - unlink( $path . "Grouping_R_Error.txt" ) - if ( -f $path . "Grouping_R_Error.txt" ); - - #Carp::confess ( root->print_perl_var_def($dataset) ); - my @groupsnames = split( /\s+/, $dataset->{'Group Names'} ); - my $data_table = - data_table->new( { 'filename' => $path . 'Sample_Colors.xls' } ); - my ($Rscript); - - $Rscript = -"source ('libs/Tool_grouping.R')\nuserGroups <-group_on_strings ( data.filtered, c( '" - . join( "', '", @groupsnames ) - . "' ) )\n"; - - open( OUT, ">$path" . "Grouping_" . $dataset->{'GroupingName'} ) or die $!; - print OUT $Rscript; - close(OUT); - if ( -f $path . "Grouping_R_Error.txt" ) { - open( IN, "<$path" . "Grouping_R_Error.txt" ); - $c->stash->{'ERROR'} = []; - close(IN); - } - $c->model('scrapbook')->init( $c->scrapbook() ) - ->Add("

Create a user defined grouping

\noptions:" - . $self->options_to_HTML_table($dataset) - . "\n" ); - return "Grouping_" . $dataset->{'GroupingName'}; - -} - -sub R_regroup { - my ( $self, $c, $dataset ) = @_; - - my $path = $c->session_path(); - - my $data_table = - data_table->new( { 'filename' => $path . 'Sample_Colors.xls' } ); - my ( $old_ids, $Rscript, $OK ); - ## R dataset: group2sample = list ( '1' = c( 'Sample1', 'Sample2' ) ) - $Rscript = -"source ('libs/Tool_grouping.R')\nuserGroups <-regroup ( data.filtered, list ("; - $OK = 0; - for ( my $i = 1 ; $i <= scalar( keys %$dataset ) ; $i++ ) - { ## scale from 1 to n - next unless ( defined $dataset->{ 'g' . $i } ); - $old_ids = { map { $_ => 1 } $dataset->{ 'g' . $i } =~ m/Group(\d+)/g }; - next if ( keys %$old_ids == 0 ); - $OK++; - $Rscript .= " \n\t'$i' = c('" . join( - "', '", - @{ - $data_table->select_where( - 'Cluster', - sub { - my $v = shift; - return 1 if ( $old_ids->{$v} ); - return 0; - } - )->GetAsArray('Samples') - } - ) . "'),"; - } - if ( $OK < 2 ) { - $c->stash->{'ERROR'} = [ -'Sorry - you have not created enough groups! Min 2 groups are required!' - ]; - } - chop($Rscript); - $Rscript .= " )\n)\n"; - $dataset->{'script'} = $Rscript; - $dataset->{'Sample_Colors.xls'} = $data_table; - open( OUT, ">$path" . "Grouping_" . $dataset->{'GroupingName'} ) or die $!; - print OUT $Rscript; - close(OUT); - $c->model('scrapbook')->init( $c->scrapbook() ) - ->Add("

Re-group your groups

\noptions:" - . $self->options_to_HTML_table($dataset) - . "\n" ); - return "Grouping_" . $dataset->{'GroupingName'}; -} - sub rgbToHex { my ( $self, $red, $green, $blue ) = @_; my $string = sprintf( " #%2.2X%2.2X%2.2X\n", $red, $green, $blue ); @@ -273,7 +162,8 @@ sub source_groups { my $path = $c->session_path(); my $data_table = data_table->new(); - open( IN, "<$path" . 'Sample_Colors.xls' ) or die "$!\n"; + open( IN, "<$path" . 'Sample_Colors.xls' ) + or Carp::confess("Internal libraray problem: File not found: $!\n"); $data_table->{'used'} = {}; open( LOG, ">>$path" . "Logfile_Regroup.txt" ); while () { @@ -297,19 +187,20 @@ sub source_groups { my $percent_width = int( 95 / $data_table->Lines() ); $c->stash->{'sourceGroups'} = ''; $c->stash->{'groups'} = $data_table->Lines(); + my ( $red, $green, $blue ); foreach ( @{ $data_table->GetAll_AsHashArrayRef() } ) { - ( $_->{'red'}, $_->{'green'}, $_->{'blue'} ) = - split( " ", $_->{'color.[rgb]'} ); + ( $red, $green, $blue ) = + split( " ", $_->{'colors'} ); $str2 .= "\n"; $str .= "
\n
"; $c->stash->{'sourceGroups'} .= "{'green'}, $_->{'blue'} ) + . $self->rgbToHex( $red, $green, $blue ) . "' draggable='true' ondragstart='drag(event)' >Group $i"; $i++; } @@ -342,13 +233,16 @@ sub JavaScript { "", map { "copyNames( document.getElementById( 'div$_' ).children, form.g$_ )\n" - } 1 .. $c->stash->{'groups'}) - . "\n}\n\n" - . '\n" . '\n" + . '\n" - ); + . '\n" + ); open( LOG, ">>" . $c->session_path() . "Logfile_Regroup.txt" ); print LOG "JavaScript: script:n" . $self->Script($c) diff --git a/SCExV/lib/HTpcrA/Controller/analyse.pm b/SCExV/lib/HTpcrA/Controller/analyse.pm index ba83727..8cdfd75 100644 --- a/SCExV/lib/HTpcrA/Controller/analyse.pm +++ b/SCExV/lib/HTpcrA/Controller/analyse.pm @@ -150,7 +150,7 @@ sub update_form { { 'comment' => 'multi dimensional scaling (MDS) Algorithm', 'name' => 'mds_alg', - 'options' => [ 'PCA', 'LLE', 'ISOMAP' ], + 'options' => [ 'PCA', 'LLE', 'ISOMAP', 'ZIFA' ], 'value' => $hash->{'mds_alg'}, 'required' => 1, 'jsclick' => 'mds_show( )' @@ -177,24 +177,22 @@ sub update_form { } ); - opendir( DIR, $c->session_path() ); - + my @grps = $self->groupings( $c ); + $hash->{'UG'} = $grps[0] if ( ! ( $grps[0] eq "none" ) ); push( @{ $self->{'form_array'} }, { 'comment' => 'Group by: (optional)', 'name' => 'UG', 'type' => 'select', - 'options' => - [ 'none', 'Group by plateID', grep( /Grouping/, readdir(DIR) ) ] + 'options' => [ @grps ] , ## you will break the R_script changing this text! 'value' => $hash->{'UG'}, 'required' => 0, - 'jsclick' => - "form_fun_match( 'master', 'UG', 'randomForest', 'randomForest')", + # 'jsclick' => + # "form_fun_match( 'master', 'UG', 'randomForest', 'randomForest')", } ); - closedir(DIR); my $type = 'hidden'; push( @@ -233,6 +231,8 @@ sub update_form { 'required' => 0, } ); + +#$c->stash->{'formNames'} = [map { $_->{'name'} } @{$self->{'form_array'}}[2..(@{$self->{'form_array'}}-1)] ]; $c->form->method('post'); foreach ( @{ $self->{'form_array'} } ) { $c->form->field( %{$_} ); @@ -240,6 +240,22 @@ sub update_form { $c->form->submit( ['Run Analysis'] ); } +sub groupings { + my ( $self, $c ) = @_; + my $f = File::Spec->catfile( $c->session_path(), 'SCExV_Grps.txt'); + my @grps; + if ( -f $f ){ + open( GRPS, "<$f" ); + @grps = map { chomp; $_ } (); + close ( GRPS ); + @grps= grep defined, @grps; + + }else { + Carp::confess ( "No grouping file '$f'\n"); + } + return @grps; +} + sub fileok : Local : Form { my ( $self, $c, $key ) = @_; $self->{'form_array'} = [ @@ -329,10 +345,17 @@ sub re_run : Local { $self->config_file( $c, 'rscript.Configs.txt' ), $self->init_dataset() ); $args[0] ||= ''; - if ( -f $path . "/" . $args[0] ) { - $dataset->{'UG'} = $args[0]; - $self->config_file( $c, 'rscript.Configs.txt', $dataset ); + if ( !($args[0] eq "") ){ + $args[0] =~ s/ / /g; + my @grps = $self->groupings($c); + foreach ( @grps ) { + if ( $_ eq $args[0] ){ + $dataset->{'UG'} = $args[0]; + $self->config_file( $c, 'rscript.Configs.txt', $dataset ); + } + } } + system("rm -Rf $path/*.svg $path/*.png $path/webGL/ $path/R.error"); $self->R_script( $c, $dataset ); my $gg = $c->model('GeneGroups'); @@ -376,7 +399,6 @@ sub rfgrouping : Local { foreach (@rf_groups) { $xml .= "$_\n"; } - # Terminate the xml $xml .= '' . "\n"; } @@ -388,8 +410,7 @@ sub rfgrouping : Local { sub index : Path : Form { my ( $self, $c, @args ) = @_; my $path = $self->check( $c, 'upload' ); - if ( -f $path . "rf_submitted.info" && !( -f $path . "rf_recieved.info" ) ) - { + if ( -f $path . "rf_submitted.info" && ! (-f $path . "rf_recieved.info" ) ) { $c->stash->{'RFsubmitted'} = 1; } if ( -f $path . "RandomForest_create_groupings.R" ) { @@ -402,7 +423,7 @@ sub index : Path : Form { "

The analysis section

\n

Here you can analyse your uploaded data using the options on the left side.

"; $self->update_form($c); if ( $c->form->submitted && $c->form->validate ) { - + warn "Button return value = ". $c->form->submitted."\n"; my $dataset = $self->__process_returned_form($c); $dataset->{'randomForest'} ||= 10; $self->config_file( $c, 'rscript.Configs.txt', $dataset ) @@ -428,7 +449,7 @@ sub index : Path : Form { ); } elsif ( $c->form->submitted() eq "0E0" ) - { ## remove samples based on the 2D MDS figure! + { ## this is when the RemoveSamples is pressed in 2D MDS view if ( $dataset->{'x1'} =~ m/\d+/ ) { $self->config_file( $c, 'rscript.Configs.txt', $dataset ); my $gg = $c->model('GeneGroups'); @@ -458,31 +479,20 @@ sub index : Path : Form { ); ## now I need to create a new R script!!! - my $script = - 'mark.mds <- read.table( file="' + my $script = $c->model('RScript')->create_script()."\n" + . $c->model('RScript')->_add_fileRead( $path ) + . 'mark.mds <- read.table( file="' . $path . '2D_data.xls' . '" )' . "\n"; - $script .= - "source ('libs/Tool_Plot.R')\n" - . "source ('libs/Tool_Pipe.R')\n" - . "load( 'norm_data.RData')\n"; $script .= $gg->export_R_exclude_samples('mark.mds') - . "data.filtered <- remove.samples( data.filtered, match(excludeSamples, rownames(data.filtered\$PCR) ) )\n" - . "data.filtered <- sd.filter(data.filtered)\n" + . "data <- remove.samples( data, match(excludeSamples, rownames(data\@data) ) )\n" + . "data <- sd.filter(data)\n" . "## write the new data\n" - . "save( data.filtered, file='norm_data.RData' )\n"; - unlink( $c->session_path() . "R.error" ) - if ( -f $c->session_path() . "R.error" ); - open( OUT, ">" . $self->path($c) . "ExcludeSamples.R" ) - or Carp::confess($!); - print OUT $script; - close(OUT); - chdir($path); - system( -'/bin/bash -c "DISPLAY=:7 R CMD BATCH --no-save --no-restore --no-readline -- ExcludeSamples.R"' - ); + . "save( data, file='analysis.RData' )\n"; + + $c->model('RScript')->runScript( $c, $path, "ExcludeSamples.R", $script ); $c->res->redirect( $c->uri_for("/analyse/re_run/") ); $c->detach(); @@ -500,6 +510,7 @@ sub index : Path : Form { } if ( -d $path . 'webGL' ) { my $path = $c->session_path(); + $self->update_form( $c ); if ( -f $path . "R.error" ) { open( IN, "<$path" . "R.error" ); $c->stash->{'message'} .= join( "", ); @@ -537,142 +548,27 @@ sub R_script { else { $c->session->{'gcolors'} = 0; } - + my $path = $c->session_path(); #$c->session->{'PCRTable'} is an array of filemaps for the PCR files if ( @{ $c->session->{'PCRTable'} } == 0 ) { $dataset->{'cluster_by'} = 'FACS'; } - my $path = $c->session_path(); - - ## init script - my $script = $self->_R_source( - 'libs/Tool_Plot.R', - 'libs/Tool_Coexpression.R', - 'libs/Tool_grouping.R', - 'libs/beanplot_mod/beanplotbeanlines.R', - 'libs/beanplot_mod/beanplot.R', - 'libs/beanplot_mod/getgroupsfromarguments.R', - 'libs/beanplot_mod/beanplotinnerborders.R', - 'libs/beanplot_mod/beanplotscatters.R', - 'libs/beanplot_mod/makecombinedname.R', - 'libs/beanplot_mod/beanplotpolyshapes.R', - 'libs/beanplot_mod/fixcolorvector.R', - 'libs/beanplot_mod/seemslog.R' - ); - $script .= "load( 'norm_data.RData')\n"; - if ( -f $path . "Gene_grouping.randomForest.txt" ) { - $script .= - "source ('libs/Tool_RandomForest.R')\n" - . "load('RandomForestdistRFobject_genes.RData')\n" - . "createGeneGroups_randomForest (data.filtered, $dataset->{'randomForest'})\n" - . "source ('Gene_grouping.randomForest.txt')\n"; - } - if ( -f $path . 'userDefGrouping.data' - && $dataset->{'UG'} eq "Use my grouping" ) - { - $script .= "userGroups <- read.table ( file= 'userDefGrouping.data' )\n" - . "groups.n <-length (levels(as.factor(userGroups\$groupID) ))\n "; - } - elsif ( $dataset->{'UG'} eq "Group by plateID" ) { - $script .= -"userGroups <- data.frame(cellName = rownames(data.filtered\$PCR), groupID = data.filtered\$ArrayID ) \n " - . "groups.n <-length (levels(as.factor(userGroups\$groupID) ))\n "; - } - elsif ( -f $path . $dataset->{'UG'} ) { ## an expression based grouping! - $script .= "source ('$dataset->{'UG'}')\n" - . "groups.n <-length (levels(as.factor(userGroups\$groupID) ))\n "; - } - else { - $script .= "groups.n <-$dataset->{'cluster_amount'}\n"; - } - if ( $dataset->{'move_neg'} ) { - $script .= "move.neg <- TRUE\n"; - } - else { - $script .= "move.neg <- FALSE\n"; - } - if ( $dataset->{'plot_neg'} ) { - $script .= "plot.neg <- TRUE\n"; - } - else { - $script .= "plot.neg <- FALSE\n"; - } - if ( $dataset->{'use_beans'} ) { - $script .= "beanplots = TRUE\n"; - } - else { - $script .= "beanplots = FALSE\n"; - } - $script .= - "plotsvg = $dataset->{'plotsvg'}\n" - . "zscoredVioplot = $dataset->{'zscoredVioplot'}\n" - . "onwhat='$dataset->{'cluster_by'}'\ndata <- analyse.data ( data.filtered, groups.n=groups.n, " - . " onwhat='$dataset->{'cluster_by'}', clusterby='$dataset->{'cluster_on'}', " - . "mds.type='$dataset->{'mds_alg'}', cmethod='$dataset->{'cluster_alg'}', LLEK='$dataset->{'K'}', " - . " ctype= '$dataset->{'cluster_type'}', zscoredVioplot = zscoredVioplot" - . ", move.neg = move.neg, plot.neg=plot.neg, beanplots=beanplots" . ")\n" - . "\nsave( data, file='analysis.RData' )\n\n"; - - ## now lets identify the most interesting genes: - $script .= -"GOI <- NULL\ntry( GOI <- get.GOI( data\$z\$PCR, data\$clusters, exclude= -20 ), silent=T)\n" - . "if ( ! is.null(data\$PCR) && ! is.null(GOI) ) {\n" - . " rbind( GOI, get.GOI( data\$z\$PCR, data\$clusters, exclude= -20 ) ) \n}\n" - . "write.table( GOI, file='GOI.xls' )\n\n"; - - $script .= -"write.table( cbind( Samples = rownames(data\$PCR), data\$PCR ), file='merged_data_Table.xls' , row.names=F, sep='\t',quote=F )\n" - . "if ( ! is.null(data\$FACS)){\n" - . "write.table( cbind( Samples = rownames(data\$FACS), data\$FACS ), file='merged_FACS_Table.xls' , row.names=F, sep='\t',quote=F )\n" - . "all.data <- cbind(data\$PCR, data\$FACS )\n" - . "write.table(cbind( Samples = rownames(all.data), all.data ), file='merged_data_Table.xls' , row.names=F, sep='\t',quote=F )\n" - . "}\n" - . "write.table( cbind( Samples = rownames(data\$mds.coord), data\$mds.coord ), file='merged_mdsCoord.xls' , row.names=F, sep='\t',quote=F )\n\n" - - . "## the lists in one file\n\n" - . "write.table( cbind( Samples = rownames(data\$PCR), ArrayID = data\$ArrayID, Cluster = data\$clusters, 'color.[rgb]' = data\$colors ),\n" - . " file='Sample_Colors.xls' , row.names=F, sep='\t',quote=F )\n" - . "write.table( cbind( Samples = rownames(data\$PCR),ArrayID = data\$ArrayID, Cluster = data\$clusters, 'color.[rgb]' = data\$colors, data\$PCR ),\n" - . " file='Selected_PCR_data_normlized.xls' , row.names=F, sep='\t',quote=F )\n"; + + ## init scripts + my $script = $c->model('RScript')->create_script($c,'analyze',$dataset); unlink("$path/Summary_Stat_Outfile.xls") if ( -f "$path/Summary_Stat_Outfile.xls" ); - open( RSCRIPT, ">$path/RScript.R" ) - or - Carp::confess("I could not create the R script '$path/RScript.R'\n$!\n"); - print RSCRIPT $script; - close(RSCRIPT); - chdir($path); - $c->model('RandomForest')->RandomForest( $c, $dataset ) - if ( $c->config->{'randomForest'} ); - system( -'/bin/bash -c "DISPLAY=:7 R CMD BATCH --no-save --no-restore --no-readline -- RScript.R > R.run.log"' - ); - open( RS2, ">$path/densityWebGL.R" ); - - print RS2 "options(rgl.useNULL=TRUE)\n" . "library(ks)\n" - - # . "library(RDRToolbox)\n" - . "load( 'clusters.RData' )\n" - . "usable <- is.na(match( obj\$clusters, which(table(as.factor(obj\$clusters)) < 4 ) )) == T\n" - . "use <- obj\n" - . "use\$clusters <- obj\$clusters[usable]\n" - . "use\$mds.coord <- obj\$mds.coord[usable,]\n" - . "cols <- rainbow(max(as.numeric(obj\$clusters)))\n" - . "H <- Hkda( use\$mds.coord, use\$clusters, bw='plugin')\n" - . "kda.fhat <- kda( use\$mds.coord, use\$clusters,Hs=H, compute.cont=TRUE)\n" - . "try(plot(kda.fhat, size=0.001, colors = cols[as.numeric(names(table(use\$clusters)))] ),silent=F)\n" - - # . "try (rgl.clear('material'))\n" - # . "try (rgl.clear('bbox') )\n" - # . "try (axes3d(labels = FALSE, tick = FALSE))\n" - . "try( writeWebGL(dir = 'densityWebGL', width=470, height=470, prefix='K', template='libs/densityWebGL.html' ) ,silent=F )\n"; - - close(RS2); - system( -'/bin/bash -c "DISPLAY=:7 R CMD BATCH --no-save --no-restore --no-readline -- densityWebGL.R >> R.run.log"' - ); + $c->model('RScript')->runScript( $c, $path, 'RScript.R', $script, 1 ); + + $script = $c->model('RScript')->create_script($c, 'densityPlot', $dataset ); + $c->model('RScript')->runScript( $c, $path, 'densityWebGL.R', $script, 1 ); + $self->{'webGL'} = "$path/webGL/index.html"; - $self->Coexpression_R_script($path); + + $script = $c->model('RScript')->create_script($c, 'coexpression', $dataset ); + ## no wait required, as this is downoadable content anyhow + $c->model('RScript')->runScript( $c, $path, 'Coexpression.R', $script ); + if ( $dataset->{'UG'} eq "Group by plateID" ) { ## color the arrays by group color! $c->session->{'groupbyplate'} = 1; @@ -689,26 +585,6 @@ sub R_script { } -sub Coexpression_R_script { - my ( $self, $path ) = @_; - ## create the corexpression analysis script and start that - do not wait for it to finish! - ## The file should only be available in the downloaded zip file. Hence I probably should wait for it in the download section.... - ## first rm the old outfile!!! - unlink( $path . 'Coexpression_4_Cytoscape.txt' ) - if ( -f $path . 'Coexpression_4_Cytoscape.txt' ); - ## read in the analzed data! - ## call function coexpressGenes( dataObj ) and write the returned table into the previousely deleted file using R - open( OUT, ">" . $path . "Coexpression.R" ) or Carp::confess($!); - print OUT "source('libs/Tool_Coexpression.R')\nload('analysis.RData')\n" - . "t <- coexpressGenes(data)\n" - . "write.table(t,'Coexpression_4_Cytoscape.txt',row.names=F, sep=' ')"; - close(OUT); - system( -'/bin/bash -c "DISPLAY=:7 R CMD BATCH --no-save --no-restore --no-readline -- Coexpression.R >> R.run.log" &' - ); - return 1; -} - sub md5_table { my ( $self, $path, $data_table ) = @_; my $process_id; @@ -733,88 +609,24 @@ sub md5_table { sub Javascript { my ( $self, $c ) = @_; - return $self->Scripts( - $c, '/css/imgareaselect-default.css', - '/scripts/jquery.min.js', '/scripts/jquery.imgareaselect.pack.js', - '/scripts/jquery.bridget.js', '/scripts/figures.js', - '/scripts/analysis_index.js' - ); -} - -sub R_process_data_part { - my ( $self, $dataset ) = @_; - - ## check the FACS data - same sample names?? - my $script .= "if ( exists('facsTable.d') ){ -if ( sum(is.na(match(rownames(facsTable.d), rownames(PCRTable.d)))==T) == 0 && nrow(facsTable.d) == nrow(PCRTable.d) ){\n" - . "\tfacsTable.d <- facsTable.d[match( rownames(PCRTable.d), rownames(facsTable.d)), ]\n" - . "}else {\n" - . "\tfacsTable <- NULL\n\trm(facsTable.d)\n" - . "\tsystem('echo \"FACS data does not contain the same cells as the PCR data - FACS data ignored!\" > R.error')\n" - . "}\n}\n"; - - $script .= "cluster.d <- PCRTable.d\n" - if ( $dataset->{'cluster_by'} eq 'Expression' ); - $script .= - "if ( exists('facsTable.d') ) { \n" - . "cluster.d <- facsTable.d\n" - . "}else{\ncluster.d <- PCRTable.d\n}\n" - if ( $dataset->{'cluster_by'} eq 'FACS' ); - - if ( $dataset->{'mds_alg'} eq "PCA" ) { - $script .= " mark.mds <- prcomp( cluster.d )\$x\n "; - } - elsif ( $dataset->{'mds_alg'} eq "LLE" ) { - $script .= - " mark.mds <- LLE( cluster.d, dim = 3, $dataset->{'K'} ) \n "; - } - elsif ( $dataset->{'mds_alg'} eq 'ISOMAP' ) { - $script .= -" mark.mds <- Isomap( cluster.d, dim = 3, $dataset->{'K'} )\$dim3 \n "; - } - else { - Carp::confess( - "I do not know the cluster_alg option $dataset->{'cluster_alg'}\n" - ); - } - $script .= "if ( exists('userGroups') ) {\n" - . "pc.clus <- userGroups\$groupID\n}else{\n"; - $script .= "if ( ! exists('pc.clus') ){\n"; - if ( $dataset->{'cluster_on'} eq "MDS" ) { - $script .= -"pc.clus <-cutree(hclust(dist( mark.mds[,1:3] ),method = \"ward.D\"),k=groups.n)\n"; - } - elsif ( $dataset->{'cluster_on'} eq "Data values" ) { - $script .= -"pc.clus <-cutree(hclust(as.dist( 1- cor(t(cluster.d))),method = \"ward.D\"),k=groups.n)\n"; - } - $script .= "}\n}\n"; - return $script; -} - -sub plot_4R { - my ( $self, $path, $dataset, @names ) = @_; - my $script = ''; - foreach (@names) { - $script .= - "\nif ( exists('$_.d') ){\nt.$_.d <- t($_.d)\n" - . "for ( i in 1:nrow(t.$_.d) ) {\n" - . " png( file=paste('$path',rownames(t.$_.d)[i],'.png',sep=''), width=800,height=800)\n" - . " #create color info\n" - . " lila <- vector('list', groups.n)\n" - . " for( a in 1:groups.n){\n" - . " lila[[a]]=t.$_.d[i,which(pc.clus == a)]\n" - . " }\n" - . " names(lila)[1]= 'x'\n" - . " lila\$col= cols\n" - - # . " lila\$main =paste('Expression of',rownames(t.$_.d)[i])\n" - . " try( do.call(vioplot,lila), silent=F )\n" - -# . " boxplot(t.$_.d[i,]~pc.clus,col=cols,main=paste('Expression of',rownames(t.$_.d)[i],'in the different groups (CT values?)' ))\n" - . "dev.off()\n" . "}\n}\n"; - } - return $script; + return $self->Script( $c, + '' . "\n" + . '' . "\n" + . '' . "\n" + . '\n" + . '' . "\n" + . '\n" ); } =head1 AUTHOR diff --git a/SCExV/lib/HTpcrA/Controller/complex_grouping.pm b/SCExV/lib/HTpcrA/Controller/complex_grouping.pm new file mode 100644 index 0000000..ddf69b9 --- /dev/null +++ b/SCExV/lib/HTpcrA/Controller/complex_grouping.pm @@ -0,0 +1,51 @@ +package HTpcrA::Controller::complex_grouping; +use Moose; +use namespace::autoclean; + +BEGIN { extends 'Catalyst::Controller'; } + +=head1 NAME + +HTpcrA::Controller::complex_grouping - Catalyst Controller + +=head1 DESCRIPTION + +Catalyst Controller. + +=head1 METHODS + +=cut + + +=head2 index + +=cut + +sub index :Path :Form { + my ( $self, $c ) = @_; + #my $hash = $self->config_file( $c, 'complexGrouping.Configs.txt' ); + $c->model('Menu')->Reinit(); + + $c->form->type('TT2'); + #$c->form->template( $c->config->{'root'} . 'src' . '/form/complexHeatmap.tt2' ); + $c->stash->{'template'} = 'complexHeatmap.tt2'; +} + + + +=encoding utf8 + +=head1 AUTHOR + +Stefan Lang,,, + +=head1 LICENSE + +This library is free software. You can redistribute it and/or modify +it under the same terms as Perl itself. + +=cut + +__PACKAGE__->meta->make_immutable; + +1; diff --git a/SCExV/lib/HTpcrA/Controller/gene_group.pm b/SCExV/lib/HTpcrA/Controller/gene_group.pm index f9b0c54..12b7561 100644 --- a/SCExV/lib/HTpcrA/Controller/gene_group.pm +++ b/SCExV/lib/HTpcrA/Controller/gene_group.pm @@ -96,7 +96,7 @@ sub index : Path : Args(0) : Form { $self->path($c) . $figure_file ); $c->res->redirect( - $c->uri_for("/analyse/re_run/Grouping.$dataset->{GOI}") ); + $c->uri_for("/analyse/re_run/$dataset->{GOI} 1D Group") ); $c->detach(); } @@ -131,27 +131,11 @@ sub Update_Groups { $dataset->{'GOI'} =~ s/.png//; $dataset->{'cutoff'} =~ s/,/./g; - my @values = sort { $a <=> $b } split( /\s+/, $dataset->{'cutoff'} ); - ## store these values for later?? - open( OUT, ">" . $self->path($c) . "$dataset->{GOI}.cut" ); - print OUT join( "\n", @values ); - close(OUT); - - my $script - = ## this is mean to be read into the analysis scripts after the data has been loaded - "source ( 'libs/Tool_grouping.R')\n" - . "userGroups <- group_1D (data.filtered, '$dataset->{'GOI'}', c(" - . join( ", ", @values ) - . " ) )\n"; - - open( OUT, ">" . $c->session_path() . "Grouping.$dataset->{GOI}" ); - print OUT $script; - close(OUT); - - # $c->model('scrapbook')->init( $c->scrapbook() ) - # ->Add("

Create Grouing based on one gene

\noptions:" - # . $self->options_to_HTML_table($dataset) - # . "\n" ); + $dataset->{'path'} = $self->path($c); + + my $script = $c->model('RScript')->create_script($c, 'geneGroup1D', $dataset ); + $c->model('RScript')->runScript( $c, $c->session_path() , "Grouping.$dataset->{GOI}" , $script ); + return $figure_file; } @@ -168,40 +152,14 @@ sub R_script { ## to plot the histograms!! my ( $self, $c ) = @_; #the dataset created from the input form my $path = $self->path($c); mkdir($path) unless ( -d $path ); + my $dataset; + $dataset->{'path'} = $path; + $dataset->{'subpath'} = 'GG_prep'; + ##init script - my $script = - "source ('../libs/Tool_Pipe.R')\n" . "load( '../norm_data.RData')\n"; - - ## load the previousely defined cut regions - opendir( DIR, $self->path($c) ); - $script .= - "cuts <- vector('list', 1)\n" - . "files <- c( '" - . join( "', '", grep /.cut$/, readdir(DIR) ) . "' )\n"; - closedir(DIR); - $script .= - "library(stringr)\n" - . "for ( i in 1:length(files)){\n" - . " cuts[[i]] <-readLines( files[i] )\n" . "}\n" - . "names(cuts) <- str_replace_all( files, '.cut', '' )\n"; - - ## plot all the expression as histogram - $script .= "plot.histograms ( data.filtered, cuts )\n"; - - $script .= - "## export all gene names for the web frontend\n" - . "n <- rownames(data.filtered\$PCR )\n" - . "if ( ! is.null(data.filtered\$FACS ) ) {\n" - . " n <- c( n , colnames(data.filtered\$FACS) )\n}\n" - . "write( n, 'Genes.txt', ncolumns=1 ) \n"; - open( RSCRIPT, ">$path/Gene_Group_Prepare.R" ) - or Carp::confess( - "I could not create the R script '$path/Gene_Group_Prepare.R'\n$!\n"); - print RSCRIPT $script; - chdir($path); - system( -'/bin/bash -c "DISPLAY=:7 R CMD BATCH --no-readline -- Gene_Group_Prepare.R > R.run.log"' - ); + my $script = $c->model('RScript')->create_script($c, 'geneGroup1D_backend', $dataset ); + $c->model('RScript')->runScript( $c, $path."../", 'Gene_Group_Prepare.R', $script, 1 ); + return 1; } diff --git a/SCExV/lib/HTpcrA/Controller/grouping_2d.pm b/SCExV/lib/HTpcrA/Controller/grouping_2d.pm index 704e988..e27d180 100644 --- a/SCExV/lib/HTpcrA/Controller/grouping_2d.pm +++ b/SCExV/lib/HTpcrA/Controller/grouping_2d.pm @@ -105,6 +105,7 @@ sub index : Path : Form { my $use_data_table_obj = 1 ); if ( $c->form->submitted && $c->form->validate ) { my $dataset = $self->__process_returned_form($c); + $dataset->{'gg'} = $c->model('GeneGroups'); unless ( join( ' ', $geneA, $geneB ) eq join( " ", $dataset->{'gx'}, $dataset->{'gy'} ) ) @@ -119,10 +120,10 @@ sub index : Path : Form { $self->check_local( $c, $geneA, $geneB, $dataset->{'gx'}, $dataset->{'gy'} ); - $gg = $c->model('GeneGroups'); - $gg->read_grouping( $self->path($c) . "Grouping.$geneA.$geneB" ) - if ( -f $self->path($c) . "Grouping.$geneA.$geneB" ); + $dataset->{'gg'}->read_grouping( $path . "Grouping.$geneA.$geneB" ) + if ( -f $path . "Grouping.$geneA.$geneB" ); + if ( $c->form->submitted() eq "Submit" || $c->form->submitted() eq 'Analyze using this grooping' ) { @@ -149,14 +150,17 @@ sub index : Path : Form { foreach ( 'y1', 'y2' ) { $dataset->{$_} = $yaxis->pix2value( $dataset->{$_} ); } - + $dataset->{'groupname'} = "Grouping.$geneA.$geneB"; ##Store the group! - $gg->AddGroup( $geneA, $geneB, map { $dataset->{$_} } 'x1', + $dataset->{'gg'}->AddGroup( $geneA, $geneB, map { $dataset->{$_} } 'x1', 'x2', 'y2', 'y1' ); - $gg->write_R( $c->session_path() . "Grouping.$geneA.$geneB", - 'data.filtered' ); - $gg->write_grouping( - $self->path($c) . "Grouping.$geneA.$geneB" ); + + $dataset->{'gg'}->write_grouping ( join("/",$path,"Grouping.$geneA.$geneB" )); + + my $script = $c->model('RScript')-> create_script($c,'geneGroup2D',$dataset); + $c->model('RScript')->runScript( $c, $c->session_path(), "$dataset->{'groupname'}.R", $script, 1 ); + + $c->model('scrapbook')->init( $c->scrapbook() ) ->Add( "

Create Grouing based on two genes

\noptions:" diff --git a/SCExV/lib/HTpcrA/EnableFiles.pm b/SCExV/lib/HTpcrA/EnableFiles.pm index 65eed37..eba6087 100644 --- a/SCExV/lib/HTpcrA/EnableFiles.pm +++ b/SCExV/lib/HTpcrA/EnableFiles.pm @@ -196,7 +196,7 @@ sub file_format_fixes { $filename = root->filemap($filename); } - my $orig_file; + my $outfile = $filename; $outfile = root->filemap( join( "/", @@ -205,7 +205,6 @@ sub file_format_fixes { ); unless ( $outfile->{'total'} eq $filename->{'total'} ) { system("cp '$filename->{'total'}' '$outfile->{'total'}'"); - $orig_file = $filename; $filename = $outfile; $unique->{ $filename->{'filename'} } = 1; } @@ -215,6 +214,7 @@ sub file_format_fixes { ## bloody hack to get rid of the stupid ...3","23,43","32.... format problems $self->__fix_file_problems( $filename->{'total'}, $filetype ); + return ($filename); } @@ -229,12 +229,10 @@ sub __fix_file_problems { ## 1,000 == 1000 !!!!!!! while () { foreach my $problem ( $_ =~ m/(["']-?\d+,\d+,?\d*["'])/g ) { - ##Carp::confess( join(":::", $_ =~ m/(["']-?\d+,\d+,?\d*["'])/g) ); $rep = $problem; $rep =~ s/["',]//g; $_ =~ s/$problem/$rep/; } - $_ =~ s/["']//g; print OUT $_; } } @@ -248,7 +246,7 @@ sub __fix_file_problems { close(IN); close(OUT); - system("cp '$filename.mod' '$filename'"); + system("mv '$filename.mod' '$filename'"); return 1; } @@ -616,6 +614,7 @@ sub _R_source { sub path { my ( $self, $c ) = @_; + Carp::confess ( "you need to give me the application here - not undef!" ) unless ( defined $c); return $c->session_path(); } @@ -646,30 +645,6 @@ sub check_value { ); } -=head2 slurp_webGL -This function creates a form with an array showing all mds plots. -These objects can only be put into the scrapbook using a button. -=cut - -sub _span_element { - my ( $self, $str, $span_id, $capture_id, $disp ) = @_; - my $ret = "\n\n" - . $str - . "\n"; - if ( $ret =~ m/session_path(); @@ -678,71 +653,85 @@ sub slurp_webGL { $c->stash->{'message'} .= join( "", ); close(IN); } - my ( $script ); - my @all = ( 'twoD', 'threeD', 'loadings', 'kernel' ); -# my @all = ( 'threeD','twoD', 'loadings', 'kernel' ); - my $values = { - 'twoD' => '2 components', - 'threeD' => '3 components (scatter)', - 'loadings' => '2 components (loadings)', - 'kernel' => '3 components (density)' - }; - $script = "
\n" . "" . "" . join( - "", - map { - my $v = $_; - my $ret = - "\n"; - } - else { - $ret .= "\">$values->{$v}\n\n"; - } - $ret; - } @all - ) . "
$values->{$v}\n
\n"; - - $script .= - $self->_span_element( - $c->model('rgl3dplots')->process_rgl_html("$path/threeD.html"), - 'threeD', "rgl", 1 ); + my ( $script, $use, @onload ); + $use = 0; + return 0 unless ( -f "$path/webGL/index.html" ); + $script = + "
\n" + . "" + . "
" + . "2 components\n" + . "3 components (scatter)\n
" + . "2 components (loadings)\n" + . "3 components (density)\n
" + . "
\n" + . "\n\n\n"; + my ($fileA, $fileB); + + ($fileA, $onload[0]) = $c->model('java_splicer')->getDIV( "$path/webGL/index.html" ); + $onload[0] = 'webGLStart();' unless ( defined $onload[0]); + if ( -f "$path/densityWebGL/index.html" ) { + ($fileB, $onload[1]) = $c->model('java_splicer')->getDIV( "$path/densityWebGL/index.html" ); + $onload[1] = 'KwebGLStart();' unless ( defined $onload[1]); + }else { + Carp::confess( "Seriouse problem: density wegGL was not produced!" ); + } + #my ( $full, $partA, $partB, $rgl_js); + #( $full, $partB, $rgl_js ) = $c->model('java_splicer')->drop_duplicates ( $fileA, $fileB ); + #( $full, $partA, $rgl_js ) = $c->model('java_splicer')->drop_duplicates ( $fileB, $fileA ); + #$rgl_js =~ + #$rgl_js =~ s/this.textureCanvas = document.createElement\("canvas"\);/this.textureCanvas = document.createElement\("canvas"\);\nthis.textureCanvas.getContext("experimental-webgl", {preserveDrawingBuffer: true})/; +# open ( OUT , ">$path/densityWebGL/rgl.js" ) or die $!; + #print OUT $rgl_js; + #close ( OUT ); + $self->Script( $c, ''); + $self->Script( $c, ''); + + #$script .= $partA + $script .= $fileA + ."\n" + ."