mirror of
https://github.com/Discngine/fpocket.git
synced 2026-06-04 20:04:22 +08:00
Compare commits
34 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c5309000ec | ||
|
|
0a9a1df05a | ||
|
|
6159eab71f | ||
|
|
c9ed2e4768 | ||
|
|
76139ac4f4 | ||
|
|
33867da7c3 | ||
|
|
1a381a3815 | ||
|
|
78d585cd4f | ||
|
|
6246f86252 | ||
|
|
d9012c150b | ||
|
|
d36eafc12e | ||
|
|
0eece05649 | ||
|
|
7ec07dc24d | ||
|
|
ffe88f56df | ||
|
|
9d4e3dc010 | ||
|
|
c16c54072d | ||
|
|
c21bee5482 | ||
|
|
9b3443c9dc | ||
|
|
229728bcd6 | ||
|
|
a96e6e8f8b | ||
|
|
232f546bfe | ||
|
|
17d171401e | ||
|
|
9f737c4070 | ||
|
|
81a864715c | ||
|
|
633efaa841 | ||
|
|
bce0e0640a | ||
|
|
6d99b179bf | ||
|
|
e68ab59034 | ||
|
|
402b611b71 | ||
|
|
93f081ce13 | ||
|
|
a58493977f | ||
|
|
c6f4a2620b | ||
|
|
9b5d5b341d | ||
|
|
4a5d14afa6 |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1,3 +1,5 @@
|
||||
nbproject
|
||||
*.o
|
||||
*_out
|
||||
.vscode
|
||||
src/qhull/bin/
|
||||
56
README.md
56
README.md
@@ -41,14 +41,24 @@ sudo yum install netcdf-devel.x86_64
|
||||
|
||||
Download the sources from github via the website or using git clone and then build and deploy fpocket using the following commands.
|
||||
|
||||
#### Compiling on Linux
|
||||
|
||||
```
|
||||
git clone https://github.com/Discngine/fpocket.git .
|
||||
git clone https://github.com/Discngine/fpocket.git
|
||||
cd fpocket
|
||||
make
|
||||
sudo make install
|
||||
```
|
||||
|
||||
#### Compiling on Mac
|
||||
```
|
||||
git clone https://github.com/Discngine/fpocket.git
|
||||
cd fpocket
|
||||
make ARCH=MACOSXX86_64
|
||||
sudo make install
|
||||
```
|
||||
|
||||
|
||||
|
||||
End with an example of getting some data out of the system or using it for a little demo
|
||||
|
||||
@@ -66,6 +76,50 @@ fpocket should state when it's beginning to search pocket and also when it's end
|
||||
## User Manual
|
||||
For now the user manual (still the one from fpocket 2.0) can be found in the doc folder. When I have some time to kill (or if somebody else has) we could add that here somewhere.
|
||||
|
||||
## Frequent issues encountered
|
||||
### netcdf issues
|
||||
```
|
||||
cannot find -lnetcdf
|
||||
```
|
||||
mdpocket supports reading and writing NETCDF formatted files. In order to use this you need to install the netcdf development libraries on your system.
|
||||
In centos this can be achieved like this :
|
||||
```
|
||||
yum install -y epel-release #if the epel repo is not yet activated on your system
|
||||
yum install -y netcdf-devel
|
||||
|
||||
```
|
||||
|
||||
Run make again after installing this library. Mdpocket should build just fine now.
|
||||
|
||||
### stdc++ issues
|
||||
```
|
||||
cannot find -lstdc++
|
||||
```
|
||||
You need to install the stc++ static libraries to build fpocket & mdpocket. On centos 7.4 this can be done like this :
|
||||
```
|
||||
yum install -y libstc++-static
|
||||
```
|
||||
|
||||
### linking to molfile plugin issues
|
||||
If you observe an error similar to this one
|
||||
```
|
||||
ld: warning: ignoring file plugins/MACOSXX86/molfile/libmolfile_plugin.a, file was built for archive which is not the architecture being linked (x86_64): plugins/MACOSXX86/molfile/libmolfile_plugin.a
|
||||
Undefined symbols for architecture x86_64:
|
||||
"_molfile_parm7plugin_init", referenced from:
|
||||
_read_topology in topology.o
|
||||
"_molfile_parm7plugin_register", referenced from:
|
||||
_read_topology in topology.o
|
||||
ld: symbol(s) not found for architecture x86_64
|
||||
clang: error: linker command failed with exit code 1 (use -v to see invocation)
|
||||
make[1]: *** [bin/fpocket] Error 1
|
||||
make: *** [all] Error 2
|
||||
```
|
||||
then statically built libmolfile_plugin is not compatible with your machine. First check out that the ARCH variable set in the first line of the Makefile of fpocket actually reflects the architecture you want. For now I'm trying to support linux 64 bit systems and OSX 64 (LINUXAMD64) bit systems built with clang (MACOSXX86). So both should work out of the box. If they do not, you might need to build the molfile plugin for your architecture. All available system architectures for the molfile plugin can be found in the plugins folder tree : [plugins directory](https://github.com/Discngine/fpocket/tree/master/plugins).
|
||||
Here you can find more information on how to build the molfile plugin on CentOS 7.4:
|
||||
[compile molfile plugin on centos 7.4 - Discngine blog post](https://www.discngine.com/blog/2019/5/25/building-the-vmd-molfile-plugin-from-source-code)
|
||||
Once built, copy the architecture folder into the fpocket/plugins directory and make sure to declare this architecture in the ARCH variable in the Makefile. Finally run make again.
|
||||
If you manage to build for other architectures and it works, I'd be happy to accept PR's with the relevant plugin architectures as I cannot build all of them on my own ;).
|
||||
|
||||
## Contributing
|
||||
|
||||
Please read [CONTRIBUTING.md](https://gist.github.com/PurpleBooth/b24679402957c63ec426) for details on our code of conduct, and the process for submitting pull requests to us.
|
||||
|
||||
3444
data/sample/5WA6.pdb
Normal file
3444
data/sample/5WA6.pdb
Normal file
File diff suppressed because it is too large
Load Diff
@@ -28,8 +28,8 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
|
||||
#include "utils.h"
|
||||
|
||||
|
||||
#include "../src/qhull/qvoronoi.h"
|
||||
#include "../src/qhull/qconvex.h"
|
||||
#include "../src/qhull/src//qvoronoi/qvoronoi.h"
|
||||
#include "../src/qhull/src/qconvex/qconvex.h"
|
||||
|
||||
#include "memhandler.h"
|
||||
|
||||
|
||||
75
makefile
75
makefile
@@ -2,16 +2,16 @@
|
||||
# Makefile.
|
||||
#------------------------------------------------------------
|
||||
ARCH = LINUXAMD64
|
||||
export ARCH
|
||||
|
||||
PLUGINDIR = plugins
|
||||
|
||||
PATH_GSL = /home/user/gsl/
|
||||
PATH_OBJ = obj/
|
||||
PATH_SRC = src/
|
||||
PATH_HEADER = headers/
|
||||
PATH_BIN = bin/
|
||||
PATH_MAN = man/
|
||||
PATH_QHULL = src/qhull/
|
||||
PATH_QHULL = src/qhull/src
|
||||
|
||||
BINDIR = /usr/local/bin/
|
||||
MANDIR = /usr/local/man/man8/
|
||||
@@ -22,36 +22,57 @@ TPOCKET = tpocket
|
||||
DPOCKET = dpocket
|
||||
MDPOCKET = mdpocket
|
||||
CHECK = pcheck
|
||||
MYPROGS = $(PATH_BIN)$(FPOCKET) $(PATH_BIN)$(TPOCKET) $(PATH_BIN)$(DPOCKET) $(PATH_BIN)$(MDPOCKET)
|
||||
PROGFPOCKET = $(PATH_BIN)$(FPOCKET) $(PATH_BIN)$(TPOCKET) $(PATH_BIN)$(DPOCKET) $(PATH_BIN)$(MDPOCKET)
|
||||
PROGMDPOCKET = $(PATH_BIN)$(MDPOCKET)
|
||||
|
||||
CC = gcc
|
||||
CCQHULL = gcc
|
||||
LINKER = gcc
|
||||
LINKERQHULL = gcc
|
||||
ifeq ($(CXX),g++)
|
||||
CC = gcc
|
||||
CCQHULL = gcc
|
||||
LINKER = LD_LIBRARY_PATH=$(PLUGINDIR)/$(ARCH)/molfile gcc
|
||||
LINKERQHULL = gcc
|
||||
else
|
||||
CCQHULL = clang
|
||||
CC = clang
|
||||
LINKER = LD_LIBRARY_PATH=$(PLUGINDIR)/$(ARCH)/molfile clang
|
||||
LINKERQHULL = clang
|
||||
endif
|
||||
|
||||
CGSL = -DMD_NOT_USE_GSL -I$(PATH_GSL)include
|
||||
COS = -DM_OS_LINUX
|
||||
CDEBUG = -DMNO_MEM_DEBUG
|
||||
CWARN = -Wall -Wextra -Wwrite-strings -Wstrict-prototypes
|
||||
|
||||
CFLAGS = $(CWARN) $(COS) $(CDEBUG) -O2 -g -pg -std=c99 -I$(PLUGINDIR)/include -I$(PLUGINDIR)/$(ARCH)/molfile #$(CGSL)
|
||||
CFLAGS = $(CWARN) $(COS) $(CDEBUG) -O2 -g -pg -std=c99 -I$(PLUGINDIR)/include -I$(PLUGINDIR)/$(ARCH)/molfile
|
||||
QCFLAGS = -O -g -pg -ansi
|
||||
|
||||
LGSL = -L$(PATH_GSL)lib -lgsl -lgslcblas
|
||||
LFLAGS = -lm -L$(PLUGINDIR)/$(ARCH)/molfile $(PLUGINDIR)/$(ARCH)/molfile/libmolfile_plugin.a -lnetcdf -lstdc++
|
||||
LFLAGS = -lm -L$(PLUGINDIR)/$(ARCH)/molfile $(PLUGINDIR)/$(ARCH)/molfile/libmolfile_plugin.a -lstdc++
|
||||
NETCDFFLAGS = -lnetcdf
|
||||
|
||||
#
|
||||
#------------------------------------------------------------
|
||||
# BINARIES OBJECTS
|
||||
#------------------------------------------------------------
|
||||
#QOBJS = $(PATH_QHULL)/src/qvoronoi/qvoronoi.o $(PATH_QHULL)/src/qconvex/qconvex.o
|
||||
|
||||
QOBJS = $(PATH_QHULL)geom2.o $(PATH_QHULL)geom.o $(PATH_QHULL)global.o \
|
||||
$(PATH_QHULL)io.o $(PATH_QHULL)io.h $(PATH_QHULL)libqhull.o \
|
||||
$(PATH_QHULL)mem.o $(PATH_QHULL)merge.o $(PATH_QHULL)poly2.o \
|
||||
$(PATH_QHULL)poly.o $(PATH_QHULL)qset.o \
|
||||
$(PATH_QHULL)random.o $(PATH_QHULL)rboxlib.o \
|
||||
$(PATH_QHULL)stat.o $(PATH_QHULL)user.o \
|
||||
$(PATH_QHULL)usermem.o \
|
||||
$(PATH_QHULL)userprintf.o $(PATH_QHULL)qvoronoi.o $(PATH_QHULL)qconvex.o
|
||||
QOBJS = $(PATH_QHULL)/libqhull/geom2.o $(PATH_QHULL)/libqhull/geom.o $(PATH_QHULL)/libqhull/global.o \
|
||||
$(PATH_QHULL)/libqhull/io.o $(PATH_QHULL)/libqhull/libqhull.o \
|
||||
$(PATH_QHULL)/libqhull/mem.o $(PATH_QHULL)/libqhull/merge.o $(PATH_QHULL)/libqhull/poly2.o \
|
||||
$(PATH_QHULL)/libqhull/poly.o $(PATH_QHULL)/libqhull/qset.o \
|
||||
$(PATH_QHULL)/libqhull/random.o $(PATH_QHULL)/libqhull/rboxlib.o \
|
||||
$(PATH_QHULL)/libqhull/stat.o $(PATH_QHULL)/libqhull/user.o \
|
||||
$(PATH_QHULL)/libqhull/usermem.o \
|
||||
$(PATH_QHULL)/libqhull/userprintf.o $(PATH_QHULL)/libqhull/userprintf_rbox.o $(PATH_QHULL)/qvoronoi/qvoronoi.o $(PATH_QHULL)/qconvex/qconvex.o
|
||||
|
||||
|
||||
# QOBJS = $(PATH_QHULL)/libqhull/geom2.o $(PATH_QHULL)/libqhull/geom.o $(PATH_QHULL)/libqhull/global.o \
|
||||
# $(PATH_QHULL)/libqhull/io.o $(PATH_QHULL)/libqhull/io.h $(PATH_QHULL)/libqhull/libqhull.o \
|
||||
# $(PATH_QHULL)/libqhull/mem.o $(PATH_QHULL)/libqhull/merge.o $(PATH_QHULL)/libqhull/poly2.o \
|
||||
# $(PATH_QHULL)/libqhull/poly.o $(PATH_QHULL)/libqhull/qset.o \
|
||||
# $(PATH_QHULL)/libqhull/random.o $(PATH_QHULL)/libqhull/rboxlib.o \
|
||||
# $(PATH_QHULL)/libqhull/stat.o $(PATH_QHULL)/libqhull/user.o \
|
||||
# $(PATH_QHULL)/libqhull/usermem.o \
|
||||
# $(PATH_QHULL)/libqhull/userprintf.o $(PATH_QHULL)/libqhull/userprintf_rbox.o $(PATH_QHULL)/qvoronoi/qvoronoi.o $(PATH_QHULL)/qconvex/qconvex.o
|
||||
|
||||
CHOBJ = $(PATH_OBJ)check.o $(PATH_OBJ)psorting.o $(PATH_OBJ)pscoring.o \
|
||||
$(PATH_OBJ)utils.o $(PATH_OBJ)pertable.o $(PATH_OBJ)memhandler.o \
|
||||
@@ -62,7 +83,7 @@ CHOBJ = $(PATH_OBJ)check.o $(PATH_OBJ)psorting.o $(PATH_OBJ)pscoring.o \
|
||||
$(PATH_OBJ)fpocket.o $(PATH_OBJ)write_visu.o $(PATH_OBJ)fpout.o \
|
||||
$(PATH_OBJ)atom.o $(PATH_OBJ)writepocket.o $(PATH_OBJ)voronoi_lst.o \
|
||||
$(PATH_OBJ)neighbor.o $(PATH_OBJ)asa.o $(PATH_OBJ)clusterlib.o $(PATH_OBJ)energy.o \
|
||||
$(QOBJS)
|
||||
|
||||
|
||||
FPOBJ = $(PATH_OBJ)fpmain.o $(PATH_OBJ)psorting.o $(PATH_OBJ)pscoring.o \
|
||||
$(PATH_OBJ)utils.o $(PATH_OBJ)pertable.o $(PATH_OBJ)memhandler.o \
|
||||
@@ -85,7 +106,7 @@ TPOBJ = $(PATH_OBJ)tpmain.o $(PATH_OBJ)psorting.o $(PATH_OBJ)pscoring.o \
|
||||
$(PATH_OBJ)fpout.o $(PATH_OBJ)atom.o $(PATH_OBJ)writepocket.o \
|
||||
$(PATH_OBJ)voronoi_lst.o $(PATH_OBJ)neighbor.o $(PATH_OBJ)asa.o\
|
||||
$(PATH_OBJ)clusterlib.o $(PATH_OBJ)energy.o $(PATH_OBJ)topology.o\
|
||||
$(QOBJS)
|
||||
$(PATH_QHULL)/qvoronoi/qvoronoi.o $(PATH_QHULL)/qconvex/qconvex.o
|
||||
|
||||
DPOBJ = $(PATH_OBJ)dpmain.o $(PATH_OBJ)psorting.o $(PATH_OBJ)pscoring.o \
|
||||
$(PATH_OBJ)dpocket.o $(PATH_OBJ)dparams.o $(PATH_OBJ)voronoi.o \
|
||||
@@ -127,8 +148,17 @@ $(PATH_OBJ)%.o: $(PATH_SRC)%.cpp
|
||||
# RULES FOR EXECUTABLES
|
||||
#-----------------------------------------------------------
|
||||
|
||||
all: $(MYPROGS) # $(PATH_BIN)$(CHECK)
|
||||
|
||||
all:
|
||||
make qhull
|
||||
make fpocket
|
||||
make mdpocket
|
||||
fpocket: qhull $(PROGFPOCKET) # $(PATH_BIN)$(CHECK)
|
||||
mdpocket: qhull $(PROGMDPOCKET)
|
||||
|
||||
|
||||
qhull:
|
||||
cd src/qhull/ && make
|
||||
|
||||
$(PATH_BIN)$(CHECK): $(CHOBJ) $(QOBJS)
|
||||
$(LINKER) $^ -o $@ $(LFLAGS)
|
||||
|
||||
@@ -142,7 +172,7 @@ $(PATH_BIN)$(DPOCKET): $(DPOBJ) $(QOBJS)
|
||||
$(LINKER) $^ -o $@ $(LFLAGS)
|
||||
|
||||
$(PATH_BIN)$(MDPOCKET): $(MDPOBJ) $(QOBJS)
|
||||
$(LINKER) $^ -o $@ $(LFLAGS)
|
||||
$(LINKER) $^ -o $@ $(LFLAGS) $(NETCDFFLAGS)
|
||||
|
||||
install:
|
||||
mkdir -p $(BINDIR)
|
||||
@@ -166,6 +196,7 @@ clean:
|
||||
rm -f $(PATH_BIN)$(TPOCKET)
|
||||
rm -f $(PATH_BIN)$(DPOCKET)
|
||||
rm -f $(PATH_BIN)$(MDPOCKET)
|
||||
cd src/qhull && make clean && rm lib/libqhull*.a
|
||||
|
||||
uninstall:
|
||||
rm -f $(PATH_BIN)$(FPOCKET) $(BINDIR)$(FPOCKET)
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
snapshot pock_volume pock_asa pock_pol_asa pock_apol_asa pock_asa22 pock_pol_asa22 pock_apol_asa22 nb_AS mean_as_ray mean_as_solv_acc apol_as_prop mean_loc_hyd_dens hydrophobicity_score volume_score polarity_score charge_score prop_polar_atm as_density as_max_dst ALA ARG ASN ASP CYS GLN GLU GLY HIS ILE LEU LYS MET PHE PRO SER THR TRP TYR VAL
|
||||
BIN
plugins/LINUXAMD64/bin/catdcd5.1/catdcd
Executable file
BIN
plugins/LINUXAMD64/bin/catdcd5.1/catdcd
Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/bin/cionize1.0/cionize
Executable file
BIN
plugins/LINUXAMD64/bin/cionize1.0/cionize
Executable file
Binary file not shown.
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/avsplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/avsplugin.so
Normal file → Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/babelplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/babelplugin.so
Normal file → Executable file
Binary file not shown.
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/bgfplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/bgfplugin.so
Normal file → Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/binposplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/binposplugin.so
Normal file → Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/biomoccaplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/biomoccaplugin.so
Normal file → Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/brixplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/brixplugin.so
Normal file → Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/carplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/carplugin.so
Normal file → Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/ccp4plugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/ccp4plugin.so
Normal file → Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/corplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/corplugin.so
Normal file → Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/cpmdplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/cpmdplugin.so
Normal file → Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/crdplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/crdplugin.so
Normal file → Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/cubeplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/cubeplugin.so
Normal file → Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/dcdplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/dcdplugin.so
Normal file → Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/dlpolyplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/dlpolyplugin.so
Normal file → Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/dmsplugin.so
Executable file
BIN
plugins/LINUXAMD64/molfile/dmsplugin.so
Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/dsn6plugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/dsn6plugin.so
Normal file → Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/dtrplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/dtrplugin.so
Normal file → Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/dxplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/dxplugin.so
Normal file → Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/edmplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/edmplugin.so
Normal file → Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/fs4plugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/fs4plugin.so
Normal file → Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/gamessplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/gamessplugin.so
Normal file → Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/graspplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/graspplugin.so
Normal file → Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/grdplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/grdplugin.so
Normal file → Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/gridplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/gridplugin.so
Normal file → Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/gromacsplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/gromacsplugin.so
Normal file → Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/hoomdplugin.so
Executable file
BIN
plugins/LINUXAMD64/molfile/hoomdplugin.so
Executable file
Binary file not shown.
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/lammpsplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/lammpsplugin.so
Normal file → Executable file
Binary file not shown.
Binary file not shown.
@@ -51,11 +51,6 @@ extern int molfile_cubeplugin_fini(void);
|
||||
extern int molfile_dcdplugin_init(void);
|
||||
extern int molfile_dcdplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_dcdplugin_fini(void);
|
||||
|
||||
extern int molfile_netcdfplugin_init(void);
|
||||
extern int molfile_netcdfplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_netcdfplugin_fini(void);
|
||||
|
||||
extern int molfile_dlpolyplugin_init(void);
|
||||
extern int molfile_dlpolyplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_dlpolyplugin_fini(void);
|
||||
@@ -206,6 +201,15 @@ extern int molfile_dtrplugin_fini(void);
|
||||
extern int molfile_maeffplugin_init(void);
|
||||
extern int molfile_maeffplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_maeffplugin_fini(void);
|
||||
extern int molfile_vtfplugin_init(void);
|
||||
extern int molfile_vtfplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_vtfplugin_fini(void);
|
||||
extern int molfile_webpdbplugin_init(void);
|
||||
extern int molfile_webpdbplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_webpdbplugin_fini(void);
|
||||
extern int molfile_netcdfplugin_init(void);
|
||||
extern int molfile_netcdfplugin_register(void *, vmdplugin_register_cb);
|
||||
extern int molfile_netcdfplugin_fini(void);
|
||||
|
||||
#define MOLFILE_INIT_ALL \
|
||||
molfile_abinitplugin_init(); \
|
||||
@@ -223,7 +227,6 @@ extern int molfile_maeffplugin_fini(void);
|
||||
molfile_crdplugin_init(); \
|
||||
molfile_cubeplugin_init(); \
|
||||
molfile_dcdplugin_init(); \
|
||||
molfile_netcdfplugin_init(); \
|
||||
molfile_dlpolyplugin_init(); \
|
||||
molfile_dsn6plugin_init(); \
|
||||
molfile_dxplugin_init(); \
|
||||
@@ -274,6 +277,9 @@ extern int molfile_maeffplugin_fini(void);
|
||||
molfile_xyzplugin_init(); \
|
||||
molfile_dtrplugin_init(); \
|
||||
molfile_maeffplugin_init(); \
|
||||
molfile_vtfplugin_init(); \
|
||||
molfile_webpdbplugin_init(); \
|
||||
molfile_netcdfplugin_init(); \
|
||||
|
||||
#define MOLFILE_REGISTER_ALL(v, cb) \
|
||||
molfile_abinitplugin_register(v, cb); \
|
||||
@@ -291,7 +297,6 @@ extern int molfile_maeffplugin_fini(void);
|
||||
molfile_crdplugin_register(v, cb); \
|
||||
molfile_cubeplugin_register(v, cb); \
|
||||
molfile_dcdplugin_register(v, cb); \
|
||||
molfile_netcdfplugin_register(v, cb); \
|
||||
molfile_dlpolyplugin_register(v, cb); \
|
||||
molfile_dsn6plugin_register(v, cb); \
|
||||
molfile_dxplugin_register(v, cb); \
|
||||
@@ -342,6 +347,9 @@ extern int molfile_maeffplugin_fini(void);
|
||||
molfile_xyzplugin_register(v, cb); \
|
||||
molfile_dtrplugin_register(v, cb); \
|
||||
molfile_maeffplugin_register(v, cb); \
|
||||
molfile_vtfplugin_register(v, cb); \
|
||||
molfile_webpdbplugin_register(v, cb); \
|
||||
molfile_netcdfplugin_register(v, cb); \
|
||||
|
||||
#define MOLFILE_FINI_ALL \
|
||||
molfile_abinitplugin_fini(); \
|
||||
@@ -359,7 +367,6 @@ extern int molfile_maeffplugin_fini(void);
|
||||
molfile_crdplugin_fini(); \
|
||||
molfile_cubeplugin_fini(); \
|
||||
molfile_dcdplugin_fini(); \
|
||||
molfile_netcdfplugin_fini(); \
|
||||
molfile_dlpolyplugin_fini(); \
|
||||
molfile_dsn6plugin_fini(); \
|
||||
molfile_dxplugin_fini(); \
|
||||
@@ -410,6 +417,9 @@ extern int molfile_maeffplugin_fini(void);
|
||||
molfile_xyzplugin_fini(); \
|
||||
molfile_dtrplugin_fini(); \
|
||||
molfile_maeffplugin_fini(); \
|
||||
molfile_vtfplugin_fini(); \
|
||||
molfile_webpdbplugin_fini(); \
|
||||
molfile_netcdfplugin_fini(); \
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
BIN
plugins/LINUXAMD64/molfile/libmolfileplugin.so
Executable file
BIN
plugins/LINUXAMD64/molfile/libmolfileplugin.so
Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/libparm7plugin.so
Executable file
BIN
plugins/LINUXAMD64/molfile/libparm7plugin.so
Executable file
Binary file not shown.
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/mapplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/mapplugin.so
Normal file → Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/mdfplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/mdfplugin.so
Normal file → Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/mol2plugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/mol2plugin.so
Normal file → Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/moldenplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/moldenplugin.so
Normal file → Executable file
Binary file not shown.
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/msmsplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/msmsplugin.so
Normal file → Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/namdbinplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/namdbinplugin.so
Normal file → Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/netcdfplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/netcdfplugin.so
Normal file → Executable file
Binary file not shown.
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/parm7plugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/parm7plugin.so
Normal file → Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/parmplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/parmplugin.so
Normal file → Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/pbeqplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/pbeqplugin.so
Normal file → Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/pdbplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/pdbplugin.so
Normal file → Executable file
Binary file not shown.
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/phiplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/phiplugin.so
Normal file → Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/pltplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/pltplugin.so
Normal file → Executable file
Binary file not shown.
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/pqrplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/pqrplugin.so
Normal file → Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/psfplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/psfplugin.so
Normal file → Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/raster3dplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/raster3dplugin.so
Normal file → Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/rst7plugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/rst7plugin.so
Normal file → Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/situsplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/situsplugin.so
Normal file → Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/spiderplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/spiderplugin.so
Normal file → Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/stlplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/stlplugin.so
Normal file → Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/tinkerplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/tinkerplugin.so
Normal file → Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/uhbdplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/uhbdplugin.so
Normal file → Executable file
Binary file not shown.
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/vaspchgcarplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/vaspchgcarplugin.so
Normal file → Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/vaspoutcarplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/vaspoutcarplugin.so
Normal file → Executable file
Binary file not shown.
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/vaspposcarplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/vaspposcarplugin.so
Normal file → Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/vaspxdatcarplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/vaspxdatcarplugin.so
Normal file → Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/vaspxmlplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/vaspxmlplugin.so
Normal file → Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/vtfplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/vtfplugin.so
Normal file → Executable file
Binary file not shown.
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/webpdbplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/webpdbplugin.so
Normal file → Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/xbgfplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/xbgfplugin.so
Normal file → Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/xsfplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/xsfplugin.so
Normal file → Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/molfile/xyzplugin.so
Normal file → Executable file
BIN
plugins/LINUXAMD64/molfile/xyzplugin.so
Normal file → Executable file
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
4026
plugins/LINUXAMD64/tcl/autopsf1.6/autopsf.tcl
Normal file
4026
plugins/LINUXAMD64/tcl/autopsf1.6/autopsf.tcl
Normal file
File diff suppressed because it is too large
Load Diff
@@ -9,4 +9,4 @@
|
||||
# full path name of this file's directory.
|
||||
|
||||
package ifneeded psfcheck 0 [list load [file join $dir psfcheck.so]]
|
||||
package ifneeded autopsf 1.2 "source [list [file join $dir autopsf.tcl]] ; set env(AUTOPSFDIR) [list $dir]"
|
||||
package ifneeded autopsf 1.6 "source [list [file join $dir autopsf.tcl]] ; set env(AUTOPSFDIR) [list $dir]"
|
||||
BIN
plugins/LINUXAMD64/tcl/autopsf1.6/psfcheck.so
Executable file
BIN
plugins/LINUXAMD64/tcl/autopsf1.6/psfcheck.so
Executable file
Binary file not shown.
BIN
plugins/LINUXAMD64/tcl/bossconvert1.0/Topology
Executable file
BIN
plugins/LINUXAMD64/tcl/bossconvert1.0/Topology
Executable file
Binary file not shown.
575
plugins/LINUXAMD64/tcl/bossconvert1.0/bossconvert.tcl
Executable file
575
plugins/LINUXAMD64/tcl/bossconvert1.0/bossconvert.tcl
Executable file
@@ -0,0 +1,575 @@
|
||||
#
|
||||
# $Id: bossconvert.tcl,v 1.2 2013/04/15 15:34:24 johns Exp $
|
||||
#
|
||||
package provide bossconvert 1.0
|
||||
package require exectool
|
||||
|
||||
namespace eval ::BOSSconvert:: {
|
||||
variable boss "BOSS"
|
||||
variable autozmat "autozmat"
|
||||
variable BOSSdirdefined 0
|
||||
variable haveBOSS 0
|
||||
variable haveTopology 0
|
||||
variable selection
|
||||
variable ZmatrixFile ""
|
||||
variable BOSSspcalcFile ""
|
||||
variable TopologyExec ""
|
||||
variable TopologyDir ""
|
||||
|
||||
|
||||
proc BOSScite {} {
|
||||
puts "Running BOSS. Please cite: Jorgensen and Tirado-Rives, J. Comp. Chem., 26:1689-1700 (2005).\n"
|
||||
}
|
||||
|
||||
proc Topologycite {} {
|
||||
puts "\nRunning Topology converter, courtesy of Markus K. Dalghren and Peter T. Dalghren\n"
|
||||
}
|
||||
|
||||
proc checkforboss { } {
|
||||
foreach key [array names ::env] {
|
||||
if { $key == "BOSSdir" && $::env($key) != "" && $::env($key) != " " } {
|
||||
set ::BOSSconvert::BOSSdirdefined 1
|
||||
}
|
||||
}
|
||||
if { $::BOSSconvert::BOSSdirdefined == 1 } {
|
||||
set ::BOSSconvert::boss [::ExecTool::find -description "BOSS" -path $::env(BOSSdir) "BOSS" ]
|
||||
set ::BOSSconvert::autozmat [::ExecTool::find -description "BOSS" -path $::env(BOSSdir) "autozmat" ]
|
||||
}
|
||||
if { [file executable $::BOSSconvert::boss] && [file executable $::BOSSconvert::autozmat] } {
|
||||
set ::BOSSconvert::haveBOSS 1
|
||||
}
|
||||
}
|
||||
|
||||
proc checkTopology { } {
|
||||
set topologydirDefined 0
|
||||
foreach key [array names ::env] {
|
||||
if { $key == "VMDBOSSCONVERT" && $::env($key) != "" && $::env($key) != " " } {
|
||||
set topologydirDefined 1
|
||||
}
|
||||
}
|
||||
if { $topologydirDefined == 1 } {
|
||||
set ::BOSSconvert::TopologyDir "$::env(VMDBOSSCONVERT)"
|
||||
set ::BOSSconvert::TopologyExec [::ExecTool::find -description "Topology" -path $::BOSSconvert::TopologyExec "Topology" ]
|
||||
if [catch {eval ::ExecTool::exec {$::BOSSconvert::TopologyExec} } output errMsg] {
|
||||
error $errMsg
|
||||
} else {
|
||||
set ::BOSSconvert::haveTopology 1
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
proc init { } {
|
||||
variable haveBOSS
|
||||
if { [vmdinfo arch ] != "WIN64" && [vmdinfo arch] != "WIN32" } {
|
||||
::BOSSconvert::checkTopology
|
||||
::BOSSconvert::checkforboss
|
||||
}
|
||||
#if { $haveBOSS == 0 } {
|
||||
# puts "Could not execute BOSS or autozmat - check BOSS installation and make sure BOSSdir is defined in the environment"
|
||||
#}
|
||||
}
|
||||
|
||||
init
|
||||
|
||||
}
|
||||
|
||||
|
||||
proc ::BOSSconvert::gui {} {
|
||||
variable w
|
||||
variable haveBOSS
|
||||
variable haveTopology
|
||||
|
||||
|
||||
if { $haveTopology != 1 } {
|
||||
if { [vmdinfo arch ] == "WIN64" || [vmdinfo arch] == "WIN32" } {
|
||||
set msg "The BOSSconvert is currenlty only available on Linux and OS X systems."
|
||||
} else {
|
||||
set msg "The Topology executable could not be found.\nPlease check your installation of VMD."
|
||||
}
|
||||
tk_messageBox -message $msg -type ok -title "BOSSconvert Error" -icon error
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
|
||||
if { [winfo exists .bossconvert] } {
|
||||
wm deiconify .bossconvert
|
||||
focus .bossconvert
|
||||
return
|
||||
}
|
||||
|
||||
set w [toplevel .bossconvert]
|
||||
wm title $w "BOSSconvert"
|
||||
wm resizable $w 0 0
|
||||
|
||||
frame $w.menubar -relief raised -bd 2
|
||||
menubutton $w.menubar.help -text "Help" -underline 0 -menu $w.menubar.help.menu
|
||||
$w.menubar.help config -width 5
|
||||
menu $w.menubar.help.menu -tearoff no
|
||||
$w.menubar.help.menu add command -label "Instructions" -command {
|
||||
tk_messageBox -message "BOSSconvert employs the BOSS software (http://zarbi.chem.yale.edu/software.html) to parameterise molecules using OPLS and convert the paratemers to VMD/NAMD readable topology (.rtf) and parameter (.prm) files.\n\nUse BOX 1 to perform the parameterization using BOSS. Alternatively, use BOX 2 to convert the output of a previous BOSS parameterization.\n"\
|
||||
-type ok\
|
||||
-title "BOSSconvert instructions" -icon error }
|
||||
$w.menubar.help.menu add command -label "More info" -command {
|
||||
vmd_open_url [string trimright [vmdinfo www] /]/plugins/bossconvert }
|
||||
pack $w.menubar.help -side right
|
||||
pack $w.menubar -fill x
|
||||
|
||||
|
||||
# frame $w.infotext
|
||||
|
||||
# label $w.infotext.text -text $t -wraplength 7c -bd 3 -justify left
|
||||
# pack $w.infotext.text -side top
|
||||
# pack $w.infotext -side left
|
||||
|
||||
labelframe $w.box1 -relief ridge -text "BOX 1: OPLS parameterization using BOSS" -bd 2 -padx 2m -pady 2m
|
||||
if { $haveBOSS != 1 } {
|
||||
set noBossMsg "It appears that you do not have BOSS installed.\nIf you do, make sure that the BOSSdir\nenvironment variable is defined and restart VMD.\n"
|
||||
label $w.box1.msg -text $noBossMsg -width 48
|
||||
grid $w.box1.msg
|
||||
|
||||
} else {
|
||||
label $w.box1.seltext -text " Selection:"
|
||||
entry $w.box1.sel -textvar sel -width 35
|
||||
label $w.box1.chargetext -text " Charge:"
|
||||
radiobutton $w.box1.q0 -text "0" -value "0" -variable charge
|
||||
radiobutton $w.box1.q1 -text "-1" -value "-1" -variable charge
|
||||
radiobutton $w.box1.q2 -text "+1" -value "+1" -variable charge
|
||||
label $w.box1.prefixtext -text " Prefix:"
|
||||
entry $w.box1.pref -textvar prefix1 -width 35
|
||||
label $w.box1.moltext -text " Molecule:"
|
||||
entry $w.box1.mol -textvar mol -width 4
|
||||
button $w.box1.run -text "Run" -command { ::BOSSconvert::BOX1run $sel $charge $prefix1 $mol } -width 5
|
||||
button $w.box1.clear -text "Clear" -command { set charge 0; set sel ""; set prefix1 ""; set mol "top"} -width 5
|
||||
if {$haveBOSS != 1} {
|
||||
$w.box1.sel configure -state disabled
|
||||
$w.box1.q0 configure -state disabled
|
||||
$w.box1.q1 configure -state disabled
|
||||
$w.box1.q2 configure -state disabled
|
||||
$w.box1.pref configure -state disabled
|
||||
$w.box1.run configure -state disabled
|
||||
$w.box1.clear configure -state disabled
|
||||
$w.box1.mol configure -state disabled
|
||||
}
|
||||
grid $w.box1.seltext -row 0 -column 0
|
||||
grid $w.box1.sel -row 0 -column 1 -columnspan 3
|
||||
grid $w.box1.chargetext -row 1 -column 0
|
||||
grid $w.box1.q0 -row 1 -column 1
|
||||
grid $w.box1.q1 -row 1 -column 2
|
||||
grid $w.box1.q2 -row 1 -column 3
|
||||
grid $w.box1.prefixtext -row 2 -column 0
|
||||
grid $w.box1.pref -row 2 -column 1 -columnspan 3
|
||||
grid $w.box1.moltext -row 3 -column 0
|
||||
grid $w.box1.mol -row 3 -column 1 -sticky ew
|
||||
grid $w.box1.run -row 3 -column 2
|
||||
grid $w.box1.clear -row 3 -column 3
|
||||
|
||||
$w.box1.q0 select
|
||||
while { [$w.box1.mol get] != "" } {
|
||||
$w.box1.mol delete 0
|
||||
}
|
||||
set a [$w.box1.mol insert 0 "top"]
|
||||
# pack $w.box1 -fill x -padx 2 -pady 2 -side right
|
||||
}
|
||||
|
||||
labelframe $w.box2 -relief ridge -text "BOX 2: Convert BOSS output" -bd 2 -padx 1m -pady 1m
|
||||
label $w.box2.zmatfiletext -text "BOSS Z-matrix:"
|
||||
entry $w.box2.zmatfile -textvar zmatfile
|
||||
button $w.box2.zmatfilebrowse -text "Browse" -command {set zmatfile [tk_getOpenFile -title "Select BOSS Z-Matrix file"]}
|
||||
label $w.box2.bossouttext -text " BOSS output:"
|
||||
entry $w.box2.bossout -textvar bossout
|
||||
button $w.box2.bossoutbrowse -text "Browse" -command { set bossout [tk_getOpenFile -title "Select BOSS output file"]}
|
||||
label $w.box2.prefixtext -text " Prefix:"
|
||||
entry $w.box2.pref -textvar prefix2 -width 35
|
||||
button $w.box2.run -text "Run" -command { ::BOSSconvert::BOX2run $prefix2 $zmatfile $bossout } -width 5
|
||||
button $w.box2.clear -text "Clear" -command { set zmatfile ""; set bossout ""; set prefix2 ""} -width 5
|
||||
grid $w.box2.zmatfiletext -row 0 -column 0
|
||||
grid $w.box2.zmatfile -row 0 -column 1 -columnspan 2
|
||||
grid $w.box2.zmatfilebrowse -row 0 -column 3
|
||||
grid $w.box2.bossouttext -row 1 -column 0
|
||||
grid $w.box2.bossout -row 1 -column 1 -columnspan 2
|
||||
grid $w.box2.bossoutbrowse -row 1 -column 3
|
||||
grid $w.box2.prefixtext -row 2 -column 0
|
||||
grid $w.box2.pref -row 2 -column 1 -columnspan 3 -sticky nsew
|
||||
grid $w.box2.run -row 3 -column 2
|
||||
grid $w.box2.clear -row 3 -column 3
|
||||
|
||||
pack $w.box1 $w.box2 -padx 2 -pady 2
|
||||
}
|
||||
|
||||
|
||||
proc ::BOSSconvert::BOX1run { sel charge prefix mol } {
|
||||
|
||||
if { $sel == "" } {
|
||||
tk_messageBox -message "Enter text for atom selection." -type ok -title "BOSSconvert Error" -icon error
|
||||
return
|
||||
|
||||
}
|
||||
|
||||
if { $charge == "" } {
|
||||
tk_messageBox -message "Select charge (-1,0,+1)." -type ok -title "BOSSconvert Error" -icon error
|
||||
return
|
||||
|
||||
}
|
||||
|
||||
if { $prefix == "" } {
|
||||
tk_messageBox -message "Enter a prefix for output files (prefix.rtf, prefix.prm, prefix.pdb, prefix.psf)." -type ok -title "BOSSconvert Error" -icon error
|
||||
return
|
||||
}
|
||||
|
||||
if { $prefix == "" } {
|
||||
tk_messageBox -message "Enter a molecule id." -type ok -title "BOSSconvert Error" -icon error
|
||||
return
|
||||
|
||||
}
|
||||
set errno [catch { set a [atomselect $mol $sel] } msg]
|
||||
if { $errno != 0 } {
|
||||
tk_messageBox -message "atomselect error ($msg): Check selection text and molecule id." -type ok -title "BOSSconvert Error" -icon error
|
||||
return
|
||||
} else {
|
||||
$a delete
|
||||
}
|
||||
|
||||
set d [file dirname $prefix]
|
||||
if { ![file exists $d] || ![file writable $d] } {
|
||||
tk_messageBox -message "Invalid prefix, check that $d exists and that you have write access." -type ok -title "BOSSconvert Error" -icon error
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
::BOSSconvert::run $sel $charge $prefix $mol
|
||||
|
||||
}
|
||||
|
||||
proc ::BOSSconvert::BOX2run { prefix zmatfile bossout } {
|
||||
if { $prefix == "" } {
|
||||
tk_messageBox -message "Enter a prefix for output files (prefix.rtf, prefix.prm)." -type ok -title "BOSSconvert Error" -icon error
|
||||
return
|
||||
}
|
||||
|
||||
set d [file dirname $prefix]
|
||||
if { ![file exists $d] || ![file writable $d] } {
|
||||
tk_messageBox -message "Invalid prefix, check that $d exists and that you have write access." -type ok -title "BOSSconvert Error" -icon error
|
||||
return
|
||||
}
|
||||
|
||||
if { ![file exists $zmatfile] } {
|
||||
tk_messageBox -message "BOSS Z-matrix file $zmatfile not found." -type ok -title "BOSSconvert Error" -icon error
|
||||
return
|
||||
}
|
||||
|
||||
if { ![file exists $zmatfile] } {
|
||||
tk_messageBox -message "BOSS output file $bossout not found." -type ok -title "BOSSconvert Error" -icon error
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
::BOSSconvert::createPRMTOP $prefix $zmatfile $bossout
|
||||
}
|
||||
|
||||
proc ::BOSSconvert::run { selectiontext charge prefix {mol top}} {
|
||||
set sel [atomselect $mol $selectiontext]
|
||||
set createresult [::BOSSconvert::createBossFiles $sel $charge]
|
||||
|
||||
if { $createresult != "" } {
|
||||
$sel delete
|
||||
return -1
|
||||
}
|
||||
|
||||
set convertresult [::BOSSconvert::createPRMTOP $prefix]
|
||||
|
||||
if { $convertresult != "" } {
|
||||
$sel delete
|
||||
return -1
|
||||
}
|
||||
|
||||
::BOSSconvert::createPDBPSF $selectiontext $prefix $mol
|
||||
$sel delete
|
||||
|
||||
puts "\n"
|
||||
puts "Parameters written to $prefix.prm"
|
||||
puts "Topology written to $prefix.rtf"
|
||||
puts "PDB file written: $prefix.pdb"
|
||||
puts "PSF file written: $prefix.psf"
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
proc ::BOSSconvert::createBossFiles { selection charge } {
|
||||
variable autozmat
|
||||
variable boss
|
||||
variable haveBOSS
|
||||
variable ZmatrixFile
|
||||
variable BOSSspcalcFile
|
||||
if { $haveBOSS != 1 } {
|
||||
puts "BOSS was not located. Install BOSS and make sure \$BOSSdir is correctly defined"
|
||||
return -1
|
||||
}
|
||||
|
||||
set pdbname "BOSSconvert_tmpfile.pdb"
|
||||
set integercharge 0
|
||||
if { [$selection num] == 0 } {
|
||||
puts "BOSSconvert error: No atoms in selection"
|
||||
return -1
|
||||
}
|
||||
#set c [vecsum [$selection get charge]]
|
||||
#set intC [expr int($c)]
|
||||
#if { [expr abs($c-$intC)] < 0.01 } {
|
||||
# set integercharge 1
|
||||
#}
|
||||
|
||||
#if { $integercharge == 0} {
|
||||
# puts "BOSSconvert error: Selection has non-integer charge"
|
||||
# return -1
|
||||
#}
|
||||
|
||||
if { [expr abs($charge)] > 1 } {
|
||||
puts "BOSSconvert error: Total charge must be -1,0,+1"
|
||||
return -1
|
||||
}
|
||||
|
||||
set AM1SPcmd "AM1SPcmd"
|
||||
if { $charge == -1} {
|
||||
set AM1SPcmd "AM1SP-cmd"
|
||||
} elseif { $charge == +1} {
|
||||
set AM1SPcmd "AM1SP+cmd"
|
||||
}
|
||||
set AM1SPcmd [file join $::env(BOSSdir) scripts $AM1SPcmd]
|
||||
set SPMcmd [file join $::env(BOSSdir) scripts SPMcmd]
|
||||
|
||||
if { ![file exists $AM1SPcmd] } {
|
||||
puts "BOSScovert error: did not find $AM1SPcmd"
|
||||
return -1
|
||||
}
|
||||
if { ![file exists $SPMcmd] } {
|
||||
puts "BOSScovert error: did not find $SPMcmd"
|
||||
return -1
|
||||
}
|
||||
|
||||
::BOSSconvert::BOSScite
|
||||
|
||||
$selection writepdb $pdbname
|
||||
catch { exec $autozmat -i pdb -z default $pdbname > optzmat } bossexecerror
|
||||
catch { exec csh $AM1SPcmd } AM1SPcmderror
|
||||
file delete optzmat
|
||||
file delete plt.pdb
|
||||
file rename sum optzmat
|
||||
catch { exec csh $SPMcmd } SPMcmderror
|
||||
#file rename sum "BOSSconvert_tmpfile.z"
|
||||
file delete plt.pdb
|
||||
file delete optzmat
|
||||
#file rename out "BOSSconvert_tmpfile.bossout"
|
||||
file delete $pdbname
|
||||
|
||||
set fi [open sum r]
|
||||
set ZmatrixFile [read $fi]
|
||||
close $fi
|
||||
set fi [open out r]
|
||||
set BOSSspcalcFile [read $fi]
|
||||
close $fi
|
||||
file delete sum
|
||||
file delete out
|
||||
#puts "$execerror"
|
||||
}
|
||||
|
||||
|
||||
proc ::BOSSconvert::createPRMTOP { prefix {zmatrixfilename ""} {bossoutputname ""} } {
|
||||
variable ZmatrixFile
|
||||
variable BOSSspcalcFile
|
||||
variable TopologyExec
|
||||
variable TopologyDir
|
||||
|
||||
set prmname BOSSconvert_tmpmol.prm
|
||||
set rtfname BOSSconvert_tmpmol.rtf
|
||||
|
||||
if { $zmatrixfilename == "" && $bossoutputname == "" } {
|
||||
if { $ZmatrixFile == "" || $BOSSspcalcFile == "" } {
|
||||
puts "BOSSconvert error: generatePRMTOP must be run after createBossFiles or with zmatrixfilename and bossoutputname parameters"
|
||||
return -1
|
||||
}
|
||||
set fo [open "BOSSconvert_tmpmol.z" w]
|
||||
puts $fo "$ZmatrixFile"
|
||||
close $fo
|
||||
set fo [open "BOSSconvert_tmpmol.bossout" w]
|
||||
puts $fo "$BOSSspcalcFile"
|
||||
close $fo
|
||||
set zmatrixfilename BOSSconvert_tmpmol.z
|
||||
set bossoutputname BOSSconvert_tmpmol.bossout
|
||||
} elseif { $zmatrixfilename == "" || $bossoutputname == "" } {
|
||||
puts "BOSSconvert error: need to specify both zmatrixfilename and bossoutpuname parameters or neither"
|
||||
return -1
|
||||
} else {
|
||||
set sl [string length $zmatrixfilename]
|
||||
if { [string range $zmatrixfilename [expr $sl-2] [expr $sl-1]] != ".z" } {
|
||||
puts "BOSSconvert error: zmatrixfilename must end in .z"
|
||||
return -1
|
||||
}
|
||||
set prmname [string range $zmatrixfilename 0 [expr $sl-2]]
|
||||
set rtfname "${prmname}rtf"
|
||||
set prmname "${prmname}prm"
|
||||
}
|
||||
|
||||
::BOSSconvert::Topologycite
|
||||
set Topologycmd $TopologyExec
|
||||
append Topologycmd " -bossout $bossoutputname"
|
||||
append Topologycmd " -oplspar [file join $TopologyDir oplsaa.par]"
|
||||
append Topologycmd " -oplssb [file join $TopologyDir oplsaa.sb]"
|
||||
append Topologycmd " -imprlist [file join $TopologyDir imprlist]"
|
||||
append Topologycmd " $zmatrixfilename"
|
||||
|
||||
if [catch {eval ::ExecTool::exec $Topologycmd } output err] {
|
||||
error $err
|
||||
}
|
||||
|
||||
set data [split $output "\n"]
|
||||
set natoms [lindex [split [lindex $data 0] " "] 0]
|
||||
set nbonds [lindex [split [lindex $data 1] " "] 0]
|
||||
set nangles [lindex [split [lindex $data 2] " "] 0]
|
||||
set ndihedrals [lindex [split [lindex $data 3] " "] 0]
|
||||
set nimpropers [lindex [split [lindex $data 4] " "] 0]
|
||||
puts "atoms=$natoms"
|
||||
puts "bonds=$nbonds"
|
||||
puts "angles=$nangles"
|
||||
puts "dihedrals=$ndihedrals"
|
||||
puts "impropers=$nimpropers"
|
||||
|
||||
set fi [open alias r]
|
||||
set aliasfile [read $fi]
|
||||
close $fi
|
||||
set fi [open missingbonds r]
|
||||
set missingbondsfile [read $fi]
|
||||
close $fi
|
||||
file rename -force $rtfname $prefix.rtf
|
||||
file rename -force $prmname $prefix.prm
|
||||
puts ""
|
||||
puts "aliases used for OPLS atom types:"
|
||||
puts "$aliasfile"
|
||||
file delete alias
|
||||
file delete missingbonds
|
||||
|
||||
if { $missingbondsfile != "" } {
|
||||
puts "Missing bonds: "
|
||||
puts $missingbondsfile
|
||||
}
|
||||
|
||||
if {$zmatrixfilename == "BOSSconvert_tmpmol.z"} {
|
||||
file delete $zmatrixfilename
|
||||
}
|
||||
if {$bossoutputname == "BOSSconvert_tmpmol.bossout"} {
|
||||
file delete $bossoutputname
|
||||
}
|
||||
|
||||
puts "Topology written to $prefix.rtf"
|
||||
puts "Parameters written to $prefix.prm"
|
||||
|
||||
}
|
||||
|
||||
proc ::BOSSconvert::renameAtoms { seltext rtffile {mol top} } {
|
||||
|
||||
set sel [atomselect $mol "$seltext"]
|
||||
|
||||
set fi [open $rtffile r]
|
||||
set data [split [read $fi] "\n"]
|
||||
close $fi
|
||||
|
||||
set anames [list]
|
||||
set atypes [list]
|
||||
set acharges [list]
|
||||
foreach line $data {
|
||||
if { [string first "ATOM" $line] != -1} {
|
||||
set name [lindex $line 1]
|
||||
set type [lindex $line 2]
|
||||
set charge [lindex $line 3]
|
||||
lappend anames $name
|
||||
lappend atypes $type
|
||||
lappend acharges $charge
|
||||
} elseif { [string first "RESI" $line] != -1 } {
|
||||
set resname [lindex [split $line " "] 1]
|
||||
}
|
||||
}
|
||||
|
||||
puts "Types: $atypes"
|
||||
puts "Charges: $acharges"
|
||||
$sel set name $anames
|
||||
$sel set type $atypes
|
||||
$sel set charge $acharges
|
||||
$sel delete
|
||||
}
|
||||
|
||||
proc ::BOSSconvert::createPDBPSF { seltext prefix {mol top} } {
|
||||
variable autozmat
|
||||
variable boss
|
||||
variable haveBOSS
|
||||
variable ZmatrixFile
|
||||
variable BOSSspcalcFile
|
||||
if { $haveBOSS != 1 } {
|
||||
puts "BOSS was not located. Install BOSS and make sure \$BOSSdir is correctly defined"
|
||||
return -1
|
||||
}
|
||||
|
||||
set rtfname "${prefix}.rtf"
|
||||
set pdbname "${prefix}.pdb"
|
||||
set psfname "${prefix}.psf"
|
||||
|
||||
set xZPDB [file join $::env(BOSSdir) scripts xZPDB]
|
||||
|
||||
if { ![file exists $xZPDB] } {
|
||||
puts "BOSScovert error: did not find $xZPDB"
|
||||
return -1
|
||||
}
|
||||
|
||||
set topmol [molinfo top]
|
||||
|
||||
if { $ZmatrixFile == "" || ![file exists $rtfname]} {
|
||||
puts "BOSSconvert error: need to run createBossFiles and createPRMTOP first"
|
||||
return -1
|
||||
}
|
||||
set fo [open "${prefix}.z" w]
|
||||
puts $fo $ZmatrixFile
|
||||
close $fo
|
||||
|
||||
::BOSSconvert::BOSScite
|
||||
|
||||
catch { exec $xZPDB $prefix } bossexecerror
|
||||
|
||||
set m [mol new $pdbname]
|
||||
set a [atomselect $m all]
|
||||
set segname [lindex [$a get segname] 0]
|
||||
if { $segname == "" } {
|
||||
set segname "A"
|
||||
$a set segname $segname
|
||||
}
|
||||
$a writepdb $pdbname
|
||||
$a delete
|
||||
mol delete $m
|
||||
|
||||
set BOSScontext [psfcontext create]
|
||||
psfcontext eval $BOSScontext {
|
||||
resetpsf
|
||||
topology $rtfname
|
||||
segment $segname {
|
||||
pdb $pdbname
|
||||
first none
|
||||
last none
|
||||
auto angles dihedrals
|
||||
}
|
||||
coordpdb $pdbname
|
||||
writepsf $psfname
|
||||
writepdb $pdbname
|
||||
}
|
||||
|
||||
set m [mol new $psfname]
|
||||
mol addfile $pdbname waitfor all
|
||||
|
||||
file delete "${prefix}.z"
|
||||
file delete "out"
|
||||
mol top $topmol
|
||||
|
||||
}
|
||||
|
||||
proc bossconvert_tk {} {
|
||||
::BOSSconvert::gui
|
||||
return $::BOSSconvert::w
|
||||
}
|
||||
|
||||
119
plugins/LINUXAMD64/tcl/bossconvert1.0/imprlist
Executable file
119
plugins/LINUXAMD64/tcl/bossconvert1.0/imprlist
Executable file
@@ -0,0 +1,119 @@
|
||||
C6 160
|
||||
C61 160
|
||||
C131 160
|
||||
C231 160
|
||||
C232 160
|
||||
C233 160
|
||||
C234 160
|
||||
C235 160
|
||||
C247 160
|
||||
C252 160
|
||||
C267 160
|
||||
C271 160
|
||||
C277 160
|
||||
C280 160
|
||||
C320 160
|
||||
C322 160
|
||||
C334 160
|
||||
C366 160
|
||||
C378 160
|
||||
C465 160
|
||||
C470 160
|
||||
C471 160
|
||||
C772 160
|
||||
C991 160
|
||||
C992 160
|
||||
C145 162
|
||||
C147 162
|
||||
C166 162
|
||||
C199 162
|
||||
C221 162
|
||||
C228 162
|
||||
C260 162
|
||||
C263 162
|
||||
C266 162
|
||||
C302 162
|
||||
C312 162
|
||||
C315 162
|
||||
C317 162
|
||||
C336 162
|
||||
C351 162
|
||||
C362 162
|
||||
C380 162
|
||||
C457 162
|
||||
C460 162
|
||||
C463 162
|
||||
C472 162
|
||||
C488 162
|
||||
C489 162
|
||||
C521 162
|
||||
C522 162
|
||||
C523 162
|
||||
C528 162
|
||||
C532 162
|
||||
C533 162
|
||||
C538 162
|
||||
C539 162
|
||||
C590 162
|
||||
C591 162
|
||||
C592 162
|
||||
C593 162
|
||||
C604 162
|
||||
C603 162
|
||||
C604 162
|
||||
C605 162
|
||||
C606 162
|
||||
C607 162
|
||||
C608 162
|
||||
C609 162
|
||||
C610 162
|
||||
C611 162
|
||||
C612 162
|
||||
C625 162
|
||||
C644 162
|
||||
C647 162
|
||||
C648 162
|
||||
C649 162
|
||||
C650 162
|
||||
C651 162
|
||||
C652 162
|
||||
C684 162
|
||||
C714 162
|
||||
C716 162
|
||||
C718 162
|
||||
C720 162
|
||||
C724 162
|
||||
C727 162
|
||||
C729 162
|
||||
C731 162
|
||||
C735 162
|
||||
C736 162
|
||||
C737 162
|
||||
C738 162
|
||||
C739 162
|
||||
C742 162
|
||||
C752 162
|
||||
C768 162
|
||||
C790 162
|
||||
C916 162
|
||||
C917 162
|
||||
C918 162
|
||||
C983 162
|
||||
C988 162
|
||||
N7 161
|
||||
N130 161
|
||||
N237 161
|
||||
N238 161
|
||||
N239 161
|
||||
N249 161
|
||||
N251 161
|
||||
N265 161
|
||||
N478 161
|
||||
N480 161
|
||||
N787 161
|
||||
N987 161
|
||||
N993 161
|
||||
|
||||
|
||||
|
||||
|
||||
3947
plugins/LINUXAMD64/tcl/bossconvert1.0/oplsaa.par
Executable file
3947
plugins/LINUXAMD64/tcl/bossconvert1.0/oplsaa.par
Executable file
File diff suppressed because it is too large
Load Diff
1441
plugins/LINUXAMD64/tcl/bossconvert1.0/oplsaa.sb
Executable file
1441
plugins/LINUXAMD64/tcl/bossconvert1.0/oplsaa.sb
Executable file
File diff suppressed because it is too large
Load Diff
3
plugins/LINUXAMD64/tcl/specden1.0/pkgIndex.tcl → plugins/LINUXAMD64/tcl/bossconvert1.0/pkgIndex.tcl
Normal file → Executable file
3
plugins/LINUXAMD64/tcl/specden1.0/pkgIndex.tcl → plugins/LINUXAMD64/tcl/bossconvert1.0/pkgIndex.tcl
Normal file → Executable file
@@ -8,5 +8,4 @@
|
||||
# script is sourced, the variable $dir must contain the
|
||||
# full path name of this file's directory.
|
||||
|
||||
package ifneeded specden 1.0 [list load [file join $dir specden.so]]
|
||||
package ifneeded irspecgui 1.0 [list source [file join $dir irspecgui.tcl]]
|
||||
package ifneeded bossconvert 1.0 [list source [file join $dir bossconvert.tcl]]
|
||||
Binary file not shown.
BIN
plugins/LINUXAMD64/tcl/clustalw1.1/clustalw
Executable file
BIN
plugins/LINUXAMD64/tcl/clustalw1.1/clustalw
Executable file
Binary file not shown.
@@ -5,13 +5,15 @@
|
||||
#cr All Rights Reserved
|
||||
#cr
|
||||
############################################################################
|
||||
|
||||
#
|
||||
# $Id: clustalw.tcl,v 1.7 2013/04/15 15:40:43 johns Exp $
|
||||
#
|
||||
|
||||
# Package for using clustalw on sequences obtained from the seqdata package.
|
||||
|
||||
package provide clustalw 1.0
|
||||
package require seqdata 1.0
|
||||
package require phylotree 1.0
|
||||
package provide clustalw 1.1
|
||||
package require seqdata 1.1
|
||||
package require phylotree 1.1
|
||||
|
||||
namespace eval ::ClustalW:: {
|
||||
|
||||
@@ -31,12 +33,15 @@ namespace eval ::ClustalW:: {
|
||||
# The current CPU architecture.
|
||||
variable architecture ""
|
||||
|
||||
# The level of verbosity, 0=silent, 1=errors, 2=errors+info
|
||||
variable verbosity 1
|
||||
|
||||
# -------------------------------------------------------------------
|
||||
# This method sets the temp file options used by thr stamp package.
|
||||
# args: newTempDir - The new temp directory to use.
|
||||
# newFilePrefix - The prefix to use for temp files.
|
||||
proc setTempFileOptions {newTempDir newFilePrefix} {
|
||||
|
||||
# Import global variables.
|
||||
variable tempDir
|
||||
variable filePrefix
|
||||
|
||||
@@ -45,24 +50,24 @@ namespace eval ::ClustalW:: {
|
||||
set filePrefix $newFilePrefix
|
||||
}
|
||||
|
||||
# -------------------------------------------------------------------
|
||||
# This method sets the temp file options used by thr stamp package.
|
||||
# args: newTempDir - The new temp directory to use.
|
||||
# newFilePrefix - The prefix to use for temp files.
|
||||
proc setArchitecture {newArchitecture} {
|
||||
|
||||
# Import global variables.
|
||||
variable architecture
|
||||
|
||||
# Set the temp directory and file prefix.
|
||||
set architecture $newArchitecture
|
||||
}
|
||||
|
||||
# -------------------------------------------------------------------
|
||||
# Aligns the passed in sequences.
|
||||
# arg: sequences - The list of sequence ids that should be aligned.
|
||||
# return: The list of aligned sequences ids.
|
||||
proc alignSequences {sequenceIDs} {
|
||||
|
||||
# Import global variables.
|
||||
variable tempDir
|
||||
variable filePrefix
|
||||
|
||||
@@ -97,12 +102,12 @@ namespace eval ::ClustalW:: {
|
||||
return $newSequenceIDs
|
||||
}
|
||||
|
||||
# -------------------------------------------------------------------
|
||||
# Aligns the passed in sequences.
|
||||
# arg: sequences - The list of sequence ids that should be aligned.
|
||||
# return: The list of aligned sequences ids.
|
||||
proc alignSequencesToProfile { profile sequences } {
|
||||
|
||||
# Import global variables.
|
||||
variable tempDir
|
||||
variable filePrefix
|
||||
|
||||
@@ -112,21 +117,25 @@ namespace eval ::ClustalW:: {
|
||||
set alignedFilename "$tempDir/$filePrefix.aligned.fasta"
|
||||
|
||||
# Get the sequence ids.
|
||||
set profileIndices {}
|
||||
set sequenceIndices {}
|
||||
array set sequenceMap {}
|
||||
|
||||
set profileIndices {}
|
||||
foreach sequenceID $profile {
|
||||
lappend profileIndices $sequenceID
|
||||
set sequenceMap($sequenceID) [::SeqData::getName $sequenceID]
|
||||
}
|
||||
|
||||
set sequenceIndices {}
|
||||
foreach sequenceID $sequences {
|
||||
lappend sequenceIndices $sequenceID
|
||||
set sequenceMap($sequenceID) [::SeqData::getName $sequenceID]
|
||||
}
|
||||
|
||||
# Save the sequences as a fasta file.
|
||||
::SeqData::Fasta::saveSequences $profile $profileFilename $profileIndices {} 0 1
|
||||
::SeqData::Fasta::saveSequences $sequences $sequencesFilename $sequenceIndices {} 0 0
|
||||
::SeqData::Fasta::saveSequences $profile $profileFilename \
|
||||
$profileIndices {} 0 1
|
||||
::SeqData::Fasta::saveSequences $sequences $sequencesFilename \
|
||||
$sequenceIndices {} 0 0 1
|
||||
|
||||
# Run clustalw.
|
||||
set output [run -align -profile1=$profileFilename -profile2=$sequencesFilename -sequences -output=fasta -outfile=$alignedFilename -outorder=input]
|
||||
@@ -144,9 +153,9 @@ namespace eval ::ClustalW:: {
|
||||
return $newSequenceIDs
|
||||
}
|
||||
|
||||
# -------------------------------------------------------------------
|
||||
proc alignProfiles { profile1 profile2 } {
|
||||
|
||||
# Import global variables.
|
||||
variable tempDir
|
||||
variable filePrefix
|
||||
|
||||
@@ -188,12 +197,12 @@ namespace eval ::ClustalW:: {
|
||||
return $newSequenceIDs
|
||||
}
|
||||
|
||||
# -------------------------------------------------------------------
|
||||
# Creates a phylogenetic tree of the given sequences.
|
||||
# arg: sequences - The list of sequence ids from whcih the tree should be created.
|
||||
# return: A string containing the tree in Newick format.
|
||||
proc calculatePhylogeneticTree {sequenceIDs {sequenceNames {}}} {
|
||||
|
||||
# Import global variables.
|
||||
variable tempDir
|
||||
variable filePrefix
|
||||
|
||||
@@ -211,9 +220,9 @@ namespace eval ::ClustalW:: {
|
||||
return [::PhyloTree::Newick::loadTreeFile $treeFilename "CLUSTALW Sequence Tree"]
|
||||
}
|
||||
|
||||
# -------------------------------------------------------------------
|
||||
proc writeSequenceAlignment {sequenceIDs sequencesFilename indices} {
|
||||
|
||||
# Import global variables.
|
||||
variable tempDir
|
||||
variable filePrefix
|
||||
|
||||
@@ -247,12 +256,13 @@ namespace eval ::ClustalW:: {
|
||||
::SeqData::deleteSequences $newSequenceIDs
|
||||
}
|
||||
|
||||
# -------------------------------------------------------------------
|
||||
# Runs the clustal executable. This method should only be called from inside the ClustalW package.
|
||||
# arg: args - The list of arguments that should be passed to the program.
|
||||
proc run { args } {
|
||||
|
||||
# Import global variables.
|
||||
global env
|
||||
variable verbosity
|
||||
variable architecture
|
||||
|
||||
# Get the location of the executable
|
||||
@@ -273,7 +283,9 @@ namespace eval ::ClustalW:: {
|
||||
append cmd " $arg"
|
||||
}
|
||||
|
||||
puts "ClustalW Info) Running CLUSTALW with command $cmd"
|
||||
if {$verbosity >= 2} {
|
||||
puts "ClustalW Info) Running CLUSTALW with command $cmd"
|
||||
}
|
||||
|
||||
set rc [catch {eval $cmd} out]
|
||||
|
||||
@@ -284,5 +296,6 @@ namespace eval ::ClustalW:: {
|
||||
|
||||
return $out
|
||||
}
|
||||
# -------------------------------------------------------------------
|
||||
}
|
||||
|
||||
@@ -8,5 +8,5 @@
|
||||
# script is sourced, the variable $dir must contain the
|
||||
# full path name of this file's directory.
|
||||
|
||||
package ifneeded clustalw 1.0 "set env(CLUSTALWPLUGINDIR) {$dir}; set env(CLUSTALWDIR) {$dir}; [list source [file join $dir clustalw.tcl]]"
|
||||
package ifneeded clustalw 1.1 "set env(CLUSTALWPLUGINDIR) {$dir}; set env(CLUSTALWDIR) {$dir}; [list source [file join $dir clustalw.tcl]]"
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user