Skip to content

Commit 91eb62e

Browse files
committed
MPI version
1 parent 4a00c17 commit 91eb62e

20 files changed

+5571
-0
lines changed

COPYING

Lines changed: 341 additions & 0 deletions
Large diffs are not rendered by default.

COPYRIGHT

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/*
2+
* Copyright (c) 1997-2001 Imperial Cancer Research Fund (UK)
3+
*
4+
* This program is free software; you can redistribute it and/or modify
5+
* it under the terms of the GNU General Public License as published by
6+
* the Free Software Foundation; either version 2 of the License, or
7+
* (at your option) any later version.
8+
*
9+
* This program is distributed in the hope that it will be useful,
10+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12+
* GNU General Public License for more details.
13+
*
14+
* You should have received a copy of the GNU General Public License
15+
* along with this program; if not, write to the Free Software
16+
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17+
*
18+
*/
19+
20+
/*
21+
* This MPI version was developed by Brian Jimenez-Garcia,
22+
* please send me an email if you find any bug or problem:
23+
24+
*
25+
*/

Makefile

Lines changed: 137 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,137 @@
1+
# Copyright (C) 1997-2001 Imperial Cancer Research Technology
2+
# author: Gidon Moont
3+
4+
# Biomolecular Modelling Laboratory
5+
# Imperial Cancer Research Fund
6+
# 44 Lincoln's Inn Fields
7+
# London WC2A 3PX
8+
9+
# +44 (0)20 7269 3348
10+
# http://www.bmm.icnet.uk/
11+
12+
#############
13+
14+
FFTW_DIR = /path/to/FFTW/2.1.5/
15+
16+
#############
17+
18+
# You may need/want to edit some of these
19+
#
20+
# Hint: For the CC_FLAGS have a look at what the fftw build used
21+
22+
SHELL = /bin/sh
23+
24+
# Use of the OpenMPI compiler, change it according to your MPI environment
25+
CC = mpicc
26+
27+
# Something more aggresive than -03 produces numerical unstability
28+
CC_FLAGS = -DUSE_MPI -O3 -pthread
29+
30+
CC_LINKERS = -lm
31+
32+
STRIP = strip
33+
34+
SECURITY = chmod 555
35+
36+
####################################################
37+
38+
# You should not be editing anything below here
39+
40+
CC_FLAGS_FULL = -I$(FFTW_DIR)/include $(CC_FLAGS)
41+
42+
# Using double precision here
43+
FFTW_LINKERS = -L$(FFTW_DIR)/lib -ldrfftw -ldfftw
44+
45+
# Old configuration, might be useful in some old machines
46+
#CC_FLAGS_FULL = -I$(FFTW_DIR)/fftw -I$(FFTW_DIR)/rfftw $(CC_FLAGS)
47+
#FFTW_LINKERS = -L$(FFTW_DIR)/fftw/.libs -L$(FFTW_DIR)/rfftw/.libs -lrfftw -lfftw
48+
49+
#############
50+
51+
.SUFFIXES: .c .o
52+
53+
.c.o:
54+
$(CC) $(CC_FLAGS_FULL) -c $<
55+
56+
#############
57+
58+
LIBRARY_OBJECTS = manipulate_structures.o angles.o coordinates.o electrostatics.o grid.o qsort_scores.o
59+
60+
PROGRAMS = ftdock rpscore rpdock filter build centres randomspin
61+
62+
all: $(PROGRAMS)
63+
64+
#############
65+
66+
ftdock: ftdock.o $(LIBRARY_OBJECTS) structures.h
67+
$(CC) $(CC_FLAGS_FULL) -o $@ ftdock.o $(LIBRARY_OBJECTS) $(FFTW_LINKERS) $(CC_LINKERS)
68+
$(STRIP) $@
69+
$(SECURITY) $@
70+
71+
#############
72+
73+
rpdock: rpdock.o $(LIBRARY_OBJECTS) structures.h
74+
$(CC) $(CC_FLAGS) -o $@ rpdock.o $(LIBRARY_OBJECTS) $(CC_LINKERS)
75+
$(STRIP) $@
76+
$(SECURITY) $@
77+
78+
79+
#############
80+
81+
rpscore: rpscore.o $(LIBRARY_OBJECTS) structures.h
82+
$(CC) $(CC_FLAGS) -o $@ rpscore.o $(LIBRARY_OBJECTS) $(CC_LINKERS)
83+
$(STRIP) $@
84+
$(SECURITY) $@
85+
86+
#############
87+
88+
filter: filter.o $(LIBRARY_OBJECTS) structures.h
89+
$(CC) $(CC_FLAGS) -o $@ filter.o $(LIBRARY_OBJECTS) $(CC_LINKERS)
90+
$(STRIP) $@
91+
$(SECURITY) $@
92+
93+
#############
94+
95+
build: build.o $(LIBRARY_OBJECTS) structures.h
96+
$(CC) $(CC_FLAGS) -o $@ build.o $(LIBRARY_OBJECTS) $(CC_LINKERS)
97+
$(STRIP) $@
98+
$(SECURITY) $@
99+
100+
#############
101+
102+
centres: centres.o $(LIBRARY_OBJECTS) structures.h
103+
$(CC) $(CC_FLAGS) -o $@ centres.o $(LIBRARY_OBJECTS) $(CC_LINKERS)
104+
$(STRIP) $@
105+
$(SECURITY) $@
106+
107+
#############
108+
109+
randomspin: randomspin.o $(LIBRARY_OBJECTS) structures.h
110+
$(CC) $(CC_FLAGS) -o $@ randomspin.o $(LIBRARY_OBJECTS) $(CC_LINKERS)
111+
$(STRIP) $@
112+
$(SECURITY) $@
113+
114+
#############
115+
116+
117+
clean:
118+
rm -f *.o core $(PROGRAMS)
119+
120+
#############
121+
122+
# dependencies
123+
124+
ftdock.o: structures.h
125+
rpscore.o: structures.h
126+
rpdock.o: structures.h
127+
filter.o: structures.h
128+
build.o: structures.h
129+
centres.o: structures.h
130+
randomspin.o: structures.h
131+
132+
angles.o: structures.h
133+
coordinates.o: structures.h
134+
electrostatics.o: structures.h
135+
grid.o: structures.h
136+
manipulate_structures.o: structures.h
137+
qsort_scores.o: structures.h

README.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# FTDock
2+
3+
This is an adapted version of the original FTDock software (Imperial Cancer Research, 2001) with distributed-memory capabilities using the MPI paradigm.
4+
5+
The file [grid.c](grid.c) includes a modified version of the function to calculate the total grid span in order to use a faster version of the correlation functions from FFTW.
6+
7+
8+
##Setup
9+
Please, edit Makefile in order to include your local FFTW 2.1.5 library installation path.
10+
11+
To compile:
12+
13+
```
14+
export MPI_CC=gcc
15+
make clean
16+
make
17+
```
18+

0 commit comments

Comments
 (0)