forked from pol/tacc-sci-life
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbsmap-2.89-2.spec
156 lines (131 loc) · 4.68 KB
/
bsmap-2.89-2.spec
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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
Name: bsmap
Summary: BSMAP for Methylation
Version: 2.89
Release: 2
License: GPL
Vendor: Brown University
Group: Applications/Life Sciences
Source: http://lilab.research.bcm.edu/dldcc-web/lilab/yxi/bsmap/bsmap-%{version}.tgz
Packager: TACC - [email protected]
Prefix: /opt/apps
#------------------------------------------------
# INITIAL DEFINITIONS
#------------------------------------------------
## System Definitions
%include ./include/system-defines.inc
%include ./include/%{PLATFORM}/rpm-dir.inc
## Compiler Family Definitions
%include ./include/%{PLATFORM}/compiler-defines.inc
## MPI Family Definitions
# %include ./include/%{PLATFORM}/mpi-defines.inc
%define INSTALL_DIR %{APPS}/%{comp_fam_ver}/%{name}/%{version}
%define MODULE_DIR %{APPS}/%{comp_fam_ver}/%{MODULES}/%{name}
%define MODULE_VAR %{MODULE_VAR_PREFIX}BSMAP
%define PNAME bsmap
%package -n %{name}-%{comp_fam_ver}
Summary: BSMAP for Methylation
Group: Applications/Life Sciences
## PACKAGE DESCRIPTION
%description
%description -n %{name}-%{comp_fam_ver}
BSMAP is a short reads mapping program for bisulfite sequencing in DNA methylation study. Bisulfite treatment coupled with next generation sequencing could estimate the methylation ratio of every single Cytosine location in the genome by mapping high throughput bisulfite reads to the reference sequences.
## PREP
# Use -n <name> if source file different from <name>-<version>.tar.gz
%prep
[ -n "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != / ] && rm -rf ${RPM_BUILD_ROOT}
## SETUP
%setup -n %{name}-%{version}
## BUILD
%build
#------------------------------------------------
# INSTALL
#------------------------------------------------
%install
# Start with a clean environment
%include ./include/%{PLATFORM}/system-load.inc
mkdir -p $RPM_BUILD_ROOT/%{INSTALL_DIR}
#------------------------------------------------
## Install Steps Start
module purge
module load TACC
%include ./include/compiler-load.inc
# patch mising include
patch param.h -i - <<EOF
11a10
> #include<unistd.h>
EOF
# remove windows CR
sed -i "s///g" makefile
# patch makefile
patch makefile -i - <<EOF
4c4
< FLAGS= -DMAXHITS=1000 -DTHREAD -funroll-loops -Lsamtools -Isamtools -Lgzstream -Igzstream -O3 -m64
---
> override FLAGS+= -DMAXHITS=1000 -DTHREAD -funroll-loops -Lsamtools -Isamtools -Lgzstream -Igzstream -O3 -m64
EOF
# patch CC to be CXX
sed -i "s/CC/CXX/g" makefile
# Make and install
RPATH="-Wl,-rpath,"$GCC_LIB
make CC=$CC CXX=$CXX FLAGS=$RPATH CFLAGS=$RPATH
make BIN=$RPM_BUILD_ROOT/%{INSTALL_DIR} install
## Install Steps End
#------------------------------------------------
# MODULEFILE CREATION
#------------------------------------------------
rm -rf $RPM_BUILD_ROOT/%{MODULE_DIR}
mkdir -p $RPM_BUILD_ROOT/%{MODULE_DIR}
#------------------------------------------------
# Modulefile Start
#------------------------------------------------
cat > $RPM_BUILD_ROOT/%{MODULE_DIR}/%{version}.lua << 'EOF'
help (
[[
Documentation for %{PNAME} is available online at the publisher website: https://code.google.com/p/bsmap/
For convenience %{MODULE_VAR}_DIR points to the installation directory.
PATH has been updated to include %{PNAME}.
Version %{version}
]])
whatis("Name: ${PNAME}")
whatis("Version: %{version}")
whatis("Category: computational biology, genomics, methylation, aligner")
whatis("Keywords: Biology, Genomics, Mapping")
whatis("Description: BSMAP - short reads mapping software for bisulfite sequencing reads")
whatis("URL: https://code.google.com/p/bsmap/")
setenv("%{MODULE_VAR}_DIR","%{INSTALL_DIR}/")
prepend_path("PATH" ,"%{INSTALL_DIR}/")
prereq("samtools","python")
EOF
## Modulefile End
#------------------------------------------------
## Lua syntax check
if [ -f $SPEC_DIR/checkModuleSyntax ]; then
$SPEC_DIR/checkModuleSyntax $RPM_BUILD_ROOT/%{MODULE_DIR}/%{version}.lua
fi
#------------------------------------------------
# VERSON FILE
#------------------------------------------------
cat > $RPM_BUILD_ROOT%{MODULE_DIR}/.version.%{version} << 'EOF'
#%Module3.1.1#################################################
##
## version file for %{name}-%{version}
##
set ModulesVersion "%{version}"
EOF
#------------------------------------------------
# FILES SECTION
#------------------------------------------------
%files -n %{name}-%{comp_fam_ver}
#%files
# Define files permisions, user and group
%defattr(755,root,root,-)
%{INSTALL_DIR}
%{MODULE_DIR}
#------------------------------------------------
# CLEAN UP SECTION
#------------------------------------------------
%post
%clean
# Remove the installation files now that the RPM has been generated
cd /tmp && rm -rf $RPM_BUILD_ROOT