Skip to content

Commit

Permalink
Merge branch 'testing'
Browse files Browse the repository at this point in the history
  • Loading branch information
stela2502 committed Sep 16, 2016
2 parents 09968e1 + 3ae1e40 commit 2e92b20
Show file tree
Hide file tree
Showing 46 changed files with 1,596 additions and 2,673 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/.includepath
/.project
67 changes: 66 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
<p>The software is tested on Fedora 20 and CentOS 7.0 using apache2, but should install on any other linux distribution.</p>
<p>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!</p>
<p>Obtain and install <a hrep="https://github.com/stela2502/Stefans_Lib_Esentials">my Stefans_Lib_Essentials Perl library</a>.</p>
<p>Download this source and install it using the Perl make procedure:
<ol><li>cd &#60;path to the source&#62; </li><li>perl Makefile.PL </li><li>make </li><li>make install </li></ol>
<p>In addition you will need to install R and my Rscexv package as well as the python ZIFA library.</p>
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.
</p>
## install.pl usage
Expand All @@ -35,3 +36,67 @@ The output from this script should help to pinpoint the missing parts. If this t
# Example installation

<p>You can access our installation at <a href="http://stemsysbio.bmc.lu.se/SCexV/">stemsysbio.bmc.lu.se/SCexV/</a>. For more help on the usage please check out our instructional videos on <a href="https://www.youtube.com/channel/UC8NmNbIEkMt4sjWxgL8_aEw">our YouTube channel</a>.</p>

# 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/


20 changes: 18 additions & 2 deletions SCExV/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -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
17 changes: 8 additions & 9 deletions SCExV/BugReport_rgl/.gitignore
Original file line number Diff line number Diff line change
@@ -1,19 +1,18 @@
/.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
/density.html
/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
109 changes: 109 additions & 0 deletions SCExV/BugReport_rgl/add_md5.pl
Original file line number Diff line number Diff line change
@@ -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 <http://www.gnu.org/licenses/>.

=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 :<please add some info!>
-outfile :<please add some info!>
-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 ( <IN> ) {
print OUT md5_hex($_).": $_";
}
close (IN);
close (OUT);
print "Done\n";

1 change: 1 addition & 0 deletions SCExV/BugReport_rgl/gl_shader_cmp/.gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/diff_new_old_density.shader
/diff_new_shaders.txt
/diff_old_shader_scripts.txt
/new_rgl_shader_script_density.js
Expand Down
90 changes: 90 additions & 0 deletions SCExV/INSTALL_Ubuntu_16.04.txt
Original file line number Diff line number Diff line change
@@ -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 :-(

Loading

0 comments on commit 2e92b20

Please sign in to comment.