Installation de Visual Molecular Dynamics sous Debian Stretch

Installation à partir des sources

Le téléchargement de VMD exige une inscription préalable.

La version courante, de novembre 2016, est la 1.9.3.

Pour réaliser cette documentation, le lien de Debian Clusters a été instructif.

Préparation du système

Toutes les commandes sont à effectuer en root pour cette installation.

Les paquets suivants sont indispensables à la compilation et à l'utilisation de VMD

apt-get -y install libc6-dev libfltk1.1-dev libfltk1.1 netcdf-bin libnetcdf-dev libnetcdf11 tk8.6 tk8.6-dev tcl8.6 tcl8.6-dev libglu1-mesa mesa-common-dev libgl1-mesa-dri libglu1-mesa-dev libxi-dev libxi6 python2.7 python2.7-dev python-numpy libtachyon-dev-common libtachyon-mpi-dev  tachyon texlive-latex-base latex2html imagemagick

Pour les architectures 32 bits :

apt-get -y install libc6-dev libfltk1.1-dev libfltk1.1 netcdf-bin libnetcdf-dev libnetcdf11 tk8.6 tk8.6-dev tcl8.6 tcl8.6-dev libglu1-mesa mesa-common-dev libgl1-mesa-dri libglu1-mesa-dev libxi-dev libxi6 python2.7 python2.7-dev python-numpy libtachyon-dev-common libtachyon-mpi-dev  tachyon texlive-latex-base latex2html imagemagick

Préparation des sources et des variables d'environnement

La phase de compilation de VMD exige l'utilisation d'un dossier temporaire, par exemple /tmp/VMD. L'archive de VMD y est alors expansée :

mkdir /tmp/VMD
cd /tmp/VMD
# Il est suppose que le source de VMD est place dans /root
tar xzf /root/vmd-1.9.3.src.tar.gz

Dans la suite, il est supposé que :

Ces trois réglages font l'objet d'un paramétrage de variables d'environnement que nous allons conserver durant toute la phase d'installation.

Pour une architecture 64 bits :

# Le nom de l'executable
export VMDINSTALLNAME="vmd-1.9.3"
# Le dossier d'installation des librairies
export VMDINSTALLLIBRARYDIR=/opt/$VMDINSTALLNAME
# L'architecture choisie pour la compilation
export ARCH="LINUXAMD64"
# Le dossier d'installation des plugins
export PLUGINDIR=/tmp/VMD/$VMDINSTALLNAME/plugins
# Creation du dossier
mkdir -p $PLUGINDIR

Pour architecture 32 bits

# Le nom de l'executable
export VMDINSTALLNAME="vmd-1.9.3"
# Le dossier d'installation des librairies
export VMDINSTALLLIBRARYDIR=/opt/$VMDINSTALLNAME
# L'architecture choisie pour la compilation
export ARCH="LINUX"
# Le dossier d'installation des plugins
export PLUGINDIR=/tmp/VMD/$VMDINSTALLNAME/plugins
# Creation du dossier
mkdir -p $PLUGINDIR

Compilation et installation de greffons

Le dossier de compilation, /tmp/VMD comprend deux dossiers :

La compilation des greffons demande les commandes suivantes :

Pour du 64 bits :

# passage dans le dossier des greffons
cd plugins
# compilation en precisant l'architecture et le positionnement des librairies TCL
export TCLINC="-I/usr/include/tcl8.6"
export TCLLIB="-L/usr/lib/x86_64-linux-gnu"
find . -exec sed -i "s/tcl8\.5/tcl8\.6/g" {} \;
make $ARCH
# installation des greffons
make distrib
# retour à la racine de l'archive de VMD
cd ..

Pour du 32 bits :

# passage dans le dossier des greffons
cd plugins
# compilation en precisant l'architecture et le positionnement des librairies TCL
export TCLINC="-I/usr/include/tcl8.6"
export TCLLIB="-L/usr/lib/i386-linux-gnu"
find . -exec sed -i "s/tcl8\.5/tcl8\.6/g" {} \;
make $ARCH
# installation des greffons
make distrib
# retour à la racine de l'archive de VMD
cd ..

Compilation et installation de VMD version standard

Le fichier configure de VMD n'est pas traditionnel : il n'est pas possible de paramétrer les variables à l'appel de la commande.

Pour positionner les chemins des différentes librairies, voici quelques commandes :

cd $VMDINSTALLNAME 
export PYTHON_INCLUDE_DIR=/usr/include/python2.7
export PYTHON_LIBRARY_DIR=/usr/lib/python2.7
export NUMPY_LIBRARY_DIR=/usr/share/pyshared/numpy/core
export TCL_INCLUDE_DIR=/usr/include/tcl8.6
export TCL_LIBRARY_DIR=/usr/lib/tcl8.6
export TK_LIBRARY_DIR=/usr/lib/tk8.6
export TK_INCLUDE_DIR=/usr/include/tcl8.6

Génération du Makefile, compilation et installation :

# Compilation et paramétrage des paquets externes
# Lien pour Tachyon (inutile de le recompiler)
cd lib/tachyon
ln -s /usr/bin/tachyon tachyon_LINUXAMD64
# Compilation de Surf
cd ../surf
tar xzf surf.tar.Z
mv Makefile Makefile.orig
cat Makefile.orig | sed -e 's/\/usr\/include\/sgidefs.h//g' > Makefile
sed -i 's/\/sys\/time/\/time/g' Makefile
make clean && make
mv surf surf_LINUXAMD64
cd ../stride
# Compilation de stride
wget http://webclu.bio.wzw.tum.de/stride/stride.tar.gz
tar xzf stride.tar.gz
make 
mv strideLINUXAMD64 stride_LINUXAMD64
cd ../..
# Changement de la version de librairie pour Python
sed -i "s/python2\.5/python2\.7/g" configure
# Changement des versions de Tcl/Tk
sed -i "s/tcl8\.5/tcl8\.6/g" configure
sed -i "s/tk8\.5/tk8\.6/g" configure
sed -i "s/tk8\.5/tk8\.6/g" src/Makefile 
sed -i "s/tcl8\.5/tcl8\.6/g" src/Makefile 
# Generation du Makefile
./configure $ARCH OPENGL FLTK TK XINPUT NETCDF CONTRIB TCL PYTHON PTHREADS NUMPY
cd src
# Compilation
make veryclean
make
# installation du programme 
make install

Pour architecture 32 bits :

# Compilation et paramétrage des paquets externes
# Lien pour Tachyon (inutile de le recompiler)
cd lib/tachyon
ln -s /usr/bin/tachyon tachyon_LINUX
# Compilation de Surf
cd ../surf
tar xzf surf.tar.Z
mv Makefile Makefile.orig
cat Makefile.orig | sed -e 's/\/usr\/include\/sgidefs.h//g' > Makefile
sed -i 's/\/sys\/time/\/time/g' Makefile
make clean && make
mv surf surf_LINUX
cd ../stride
# Compilation de stride
wget http://webclu.bio.wzw.tum.de/stride/stride.tar.gz
tar xzf stride.tar.gz
make 
mv strideLINUX stride_LINUX
cd ../..
# Changement de la version de librairie pour Python
sed -i "s/python2\.5/python2\.7/g" configure
sed -i "s/tcl8\.5/tcl8\.6/g" configure
sed -i "s/tk8\.5/tk8\.6/g" configure
sed -i "s/tk8\.5/tk8\.6/g" src/Makefile 
sed -i "s/tcl8\.5/tcl8\.6/g" src/Makefile 
# Generation du Makefile
./configure $ARCH OPENGL FLTK TK XINPUT NETCDF CONTRIB TCL PYTHON PTHREADS NUMPY
cd src
# Compilation
make veryclean
make
# installation du programme 
make install

Quelques commandes cosmétiques supplémentaires :

cd /opt
ln -s $VMDINSTALLNAME vmd
cd vmd
chown -R root.root *
cd /usr/local/bin
ln -s $VMDINSTALLNAME vmd

Une commande utile, dans l'environnement SIDUS, pour que VMD soit fonctionnel :

sed -i "s/-b(){}\[\],&^%#;|\\\\\\\//g" /usr/local/bin/$VMDINSTALLNAME

Installation dans l'environnement Gnome

Par défaut, la Debian Wheezy propose Gnome Unity.

Pour installer une icône directement dans le dossier Science, voici la commande pour créer manuellement cette entrée :

tee /usr/share/applications/VMD.desktop <<EOF
[Desktop Entry]
Version=1.0
Encoding=UTF-8
Name=VMD
GenericName=VMD
Comment=Visual Molecular Dynamics (not Open Source one :-( )
Exec=/usr/local/bin/vmd
Icon=/opt/vmd/plugins/noarch/tcl/molefacture1.3/lib/nucleic_acids/dna_dihedrals.gif
Type=Application
Terminal=true
Categories=Science;Education;Chemistry,Biology;
EOF

Emmanuel Quemener 2017/05/23 15:25