-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathachabilarity.def
executable file
·128 lines (111 loc) · 4.8 KB
/
achabilarity.def
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
BootStrap: yum
OSVersion: 7
MirrorURL: http://mirror.centos.org/centos-%{OSVERSION}/%{OSVERSION}/os/$basearch/
Include: yum
%labels
AUTHOR [email protected]
# build
# sudo singularity build YYMMDD_achabilarity.sif achabilarity.def
%post
echo "Updating CentOS and installing mandatory packages ..."
yum -y update
yum group install -y "development tools"
yum -y install wget git zlib-devel which
#For GATK
yum -y install java-1.8.0-openjdk-devel
#For MPA
yum install -y bzip2-devel ncurses-devel readline-devel tk-devel gdbm-devel xz-devel expat-devel
mkdir /software
echo "... Done !"
#For Phenolyzer
yum -y install perl-devel perl-CPAN perl-GD perl-XML-LibXML perl-Switch perl-DBI
curl -L http://cpanmin.us | perl - App::cpanminus
cpanm JSON
cpanm --force Bio::Perl
yum -y install perl-devel
yum -y install perl-CPAN
curl -L http://cpanmin.us | perl - App::cpanminus
cpanm --force Bio::Perl
cpanm Switch
cpanm Graph::Directed
cpanm --force Bio::OntologyIO
cpanm --force Excel::Writer::XLSX
echo "Installing the lastest release of Python ..."
# yum -y install https://centos7.iuscommunity.org/ius-release.rpm
# url changed david 07/07/2020
yum -y install https://repo.ius.io/ius-release-el7.rpm https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# yum -y install epel-release
yum -y install python36
yum -y install python36-devel
yum -y install python36-setuptools
echo "... Done !"
echo "Installing pip3 ..."
easy_install-3.6 pip
pip3 install PyVCF
echo "... Done !"
echo "Installing HTSlib & BCFtools ..."
# wget https://github.com/samtools/htslib/releases/download/1.9/htslib-1.9.tar.bz2
wget https://github.com/samtools/htslib/releases/download/1.12/htslib-1.12.tar.bz2
tar -xjf htslib-1.12.tar.bz2
cd htslib-1.12 && ./configure --prefix=/usr/local && make && make install
# wget https://github.com/samtools/bcftools/releases/download/1.9/bcftools-1.9.tar.bz2
wget https://github.com/samtools/bcftools/releases/download/1.12/bcftools-1.12.tar.bz2
tar -xjf bcftools-1.12.tar.bz2
cd bcftools-1.12 && ./configure --prefix=/usr/local && make && make install
cd / && rm -rf htslib-1.12 htslib-1.12.tar.bz2
echo "... Done !"
echo "Installing Cromwell ..."
# wget https://github.com/broadinstitute/cromwell/releases/download/31.1/cromwell-31.1.jar
# wget https://github.com/broadinstitute/cromwell/releases/download/36.1/cromwell-36.1.jar
wget https://github.com/broadinstitute/cromwell/releases/download/59/cromwell-59.jar
mv cromwell-60.jar /software/cromwell.jar
echo "... Done !"
echo "Installing GATK4 ..."
wget https://github.com/broadinstitute/gatk/releases/download/4.2.0.0/gatk-4.2.0.0.zip
unzip gatk-4.2.0.0.zip -d /software/
rm gatk-4.2.0.0.zip
echo "... Done !"
# ANNOVAR MUST BE BOUND TO THE CONTAINER
#e.g. singularity run -B /path/to/annovar/:/media -B /path/to/data/:/mnt achabilarity.simg -c /path/to/conf -i /path/to/json
#echo "Installing Annovar ..."
#wget https://neuro-2.iurc.montp.inserm.fr/sources/annovar.tar.gz
#tar -xzf annovar.tar.gz
#mv annovar /software
#rm annovar.tar.gz
#echo "... Done !"
echo "Installing MPA ..."
pip3 install mobidic-mpa
echo "... Done !"
echo "Installing Phenolyzer ..."
git clone https://github.com/WGLab/phenolyzer
mv phenolyzer /software
echo "... Done !"
echo "Installing Captain-Achab ..."
git clone https://github.com/mobidic/Captain-ACHAB.git
mv Captain-ACHAB /software
echo "... Done !"
echo "Importing Captain Achab wdl from GitHub ..."
git clone https://github.com/mobidic/MobiDL
mv MobiDL /software
sed -i -e "s/modules\//\/software\/MobiDL\/modules\//g" /software/MobiDL/captainAchab.wdl
echo ".. Done !"
echo "Importing Crom-wellWrapped from GitHub ..."
git clone https://github.com/mobidic/Crom-wellWrapped
mv Crom-wellWrapped /software
echo "... Done !"
%runscript
echo "Run Crom-wellWrapped with theses arguments : $*"
exec /software/Crom-wellWrapped/cww.sh -e /software/cromwell.jar -w /software/MobiDL/captainAchab.wdl "$@"
%help
Captain ACHAB is a simple and useful interface to analysis of WES data for molecular diagnosis.
This container has a wrapper for cromwell you can launch with :
/PATH/TO/singularity run -B "/path/to/annovar/:/media" -B "/path/to/data/:/mnt" Achabilarity.simg -i [yourinputfile]_inputs.json
More options :
-c | --conf <file.conf> : To add a cromwell conf file
-o | --option <option.json> : To add a cromwell option file
-v | --verbosity <1, 2, 3 or 4> : To set verbosity level (ERROR : 1 | WARNING : 2 | INFO [default] : 3 | DEBUG : 4)
-h | --help : Print help message in terminal and close the script
Be careful, you have to put all your input files in the input folder. You need to have 3 files :
- disease.txt
- vcf file
- [yourinputfile]_inputs.json