quinta-feira, 15 de janeiro de 2026

VMD no Linux - Instalação e configuração


INTRODUÇÃO

A concretização deste curto artigo demorou um pouco, mas a idéia já vicejava há algum tempo.

Utilizei o Debian para a instalação, mas pode ser utilizada outra distribuição adaptando-se os respectivos comandos e dependências.

Como sempre, leia todo este singelo texto antes de sair executando comandos.

* Esta é uma atualização do artigo de 2014 em:

https://www.vivaolinux.com.br/artigo/VMD-no-Debian-Instalacao-e-configuracao/


VMD

O VMD (Visual Molecular Dynamics) é um software projetado para modelagem, visualização e análise de sistemas biológicos, tais como proteínas, ácidos nucleicos, montagens lipídicas em bicamadas, etc, mas também pode ser utilizado para visualizar moléculas mais gerais.

O VMD pode ler arquivos de proteínas padrão e exibir a sua estrutura. O VMD fornece uma ampla variedade de métodos de renderização e colorização de moléculas: pontos e linhas simples, esferas e cilindros de CPK, tubos de backbone, desenhos animados e outros.

O VMD pode ser usado para animar e analisar a trajetória de uma simulação de dinâmica molecular (DM).

Em particular, o VMD pode atuar como uma interface gráfica de um programa externo de dinâmica molecular, exibindo e animando uma determinada molécula.


INSTALAÇÃO

Site do VMD:

https://www.ks.uiuc.edu/Research/vmd/

Para fazer o download do VMD, acesse o link:

https://www.ks.uiuc.edu/Development/Download/download.cgi?UserID=&AccessCode=&ArchiveID=1730

Ou

https://www.ks.uiuc.edu/Development/Download/download.cgi?PackageName=VMD

Após clicar em um dos links, faça o registro, logue-se, aceite a licença e faça o download.

Salve o arquivo em um diretório de sua escolha, atualize o sistema e instale as dependências:

# apt update
# aptitude safe-upgrade
# apt install binutils kmod
# apt install csh tcsh
# apt install libstdc++6
# apt install rlwrap

Após entrar no diretório onde salvou o arquivo descompacte e instale:

# cd VMD (por exemplo, eu criei uma pasta chamada VMD)
# tar -xzvf vmd-2.0.0a8.bin.LINUXAMD64.tar.gz
# cd vmd-2.0.0a8

Depois faça:

# ./configure
using configure.options: LINUXAMD64 OPENGL OPENGLPBUFFER FLTK TK ACTC CUDA CXX11 IMD LIBSBALL XINERAMA XINPUT LIBTACHYON LIBPNG ZLIB VRPN NETCDF COLVARS TCL PYTHON PTHREADS NUMPY SILENT

# cd src

# make install
Make sure /usr/local/bin/vmd is in your path.
VMD installation complete.  Enjoy!

Execute:

# vmd

... e deverão abrir as janelas do VMD.


CONFIGURAÇÃO

Caso apareça o seguinte erro: rlwrap: No match.

Edite o arquivo:

# vim /usr/local/bin/vmd

Usei o vim, uses teu editor preferido.

Dentro do arquivo, encontre esse bloco (aproximadamente a partir linha 343):

# detect if we have rlwrap available to have commandline editing
set vmdprefixcmd=""
if ($?VMDNORLWRAP == 0) then
  if (("${ARCH}" == "LINUX") || ("${ARCH}" == "LINUXAMD64")) then
    set rlwrap=`which rlwrap`
    if ( -x "$rlwrap" ) then
      if ( -f ${MASTERVMDDIR}/vmd_completion.dat ) then
        set vmdprefixcmd="rlwrap -C vmd -c -b(){}[],&^%#;|\\ -f ${MASTERVMDDIR}/vmd_completion.dat "
      else 
        set vmdprefixcmd="rlwrap -C vmd -c -b(){}[],&^%#;|\\ "
      endif
      # indicate that rlwrap is in use to cause VMD to 
      # auto-disable internal line editing features since rlwrap is active
      setenv VMDRLWRAPINUSE 1
    endif
  endif
endif


E deixe ele assim:


# detect if we have rlwrap available to have commandline editing

set vmdprefixcmd=""
if ($?VMDNORLWRAP == 0) then
  if (("${ARCH}" == "LINUX") || ("${ARCH}" == "LINUXAMD64")) then
    set rlwrap=`which rlwrap`
    if ( -x "$rlwrap" ) then
      if ( -f ${MASTERVMDDIR}/vmd_completion.dat ) then
#        set vmdprefixcmd="rlwrap -C vmd -c -b(){}[],&^%#;|\\ -f ${MASTERVMDDIR}/vmd_completion.dat "
        set vmdprefixcmd="rlwrap -C vmd -c -f ${MASTERVMDDIR}/vmd_completion.dat "
      else 
#        set vmdprefixcmd="rlwrap -C vmd -c -b(){}[],&^%#;|\\ "
        set vmdprefixcmd="rlwrap -C vmd -c "
      endif
      # indicate that rlwrap is in use to cause VMD to 
      # auto-disable internal line editing features since rlwrap is active
      setenv VMDRLWRAPINUSE 1
    endif
  endif
endif

Basicamente, comente as duas linhas indicadas colocando um # na frente delas e acrescente as outras duas embaixo de cada uma, respectivamente.

O problema está na flag -b, seguida pela expressão regular -b(){}[],&^%#;|\\ , é só suprimí-las e o VMD funcionará normalmente no Debian.

O aviso aparenta ser um problema do CSH, que não consegue interpretar a expressão regular, por isso o aviso rlwrap: No match, ou seja, rlwrap: não combina, não corresponde.

Entrei no arquivo /usr/bin/rlwrap para encontrar a correspondência da expressão, porém, o mesmo é um arquivo binário e como não tem necessidade destrinchá-lo, encontrei a solução nesse link (http://www.ks.uiuc.edu/Research/vmd/mailing_list/vmd-l/19158.html).

O rlwrap (readline wrapper) executa um comando especifico, interceptando a entrada do usuário a fim de fornecer a edição de uma linha, a história persistente e a conclusão. Resumindo, o rlwrap, grosso modo, faz com que o comando vmd seja devidamente interpretado no terminal, sendo que a execução do VMD se dá de forma completa, mesmo com as alterações feitas.

Maiores informações:

# man rlwrap

Faça as alterações, salve, saia do arquivo e execute:

# vmd

... que deverão abrir as janelas do VMD.

Enjoy.

Para remover, entre nos diretórios:

/usr/local/bin e /usr/local/lib.

Delete a pasta vmd, em cada um deles.

E instale uma nova versão, caso queira.


Nenhum comentário:

Postar um comentário