OpenSmiles - Criando imagens e figuras de moléculas químicas em formato de qualidade
OpenSmiles é um programa multi-plataforma projetado para interconverter entre muitos formatos de arquivo usado em modelagem molecular e química computacional e áreas afins, é também uma notação de linha tipográfica para especificar a estrutura química. Podemos facilmente criar figuras de moléculas químicas pela linha de comando no Linux via terminal ou através de um script.
Parte 2: Criando um script opensmiles
Podemos implementar a criação de imagens de moléculas em massa da seguinte forma:
1. Copie e cole num editor de texto o seguinte código:
2. Crie um arquivo texto de nome smiles.txt no mesmo diretório do script com o código a seguir.
Ao rodar o script buscará o arquivo smiles.txt e executará cada linha criando as imagens das moléculas:
A primeira coluna é a string smiles, depois tem o separados (:) e por fim o nome de arquivo sem extensão, o nome da molécula.
Para quem utiliza o Kubuntu, fiz um script usando o kdialog que pode ser baixado aqui: smiles-kdialog.sh
Mais strings smiles baixe aqui: smiles.txt
Mais informações aqui: http://bandamazera.com.br/blog
1. Copie e cole num editor de texto o seguinte código:
#!/bin/bash
#cria smiles no formato svg ou png
# Edio Mazera - mazera3@gmail.com
# salve o arquivo como: smiles-shell.sh
################# Verifica se existe opensmiles ######
openbabel=`which obabel`
################# Cria Variaveis ##################
ext=png #### opções: svg; png
###############################################
if [ ! $openbabel ]
then
echo " Obabel não encontrado. Instalar: #apt-get install openbabel"
exit 1
fi
###### Mensagem ###################
echo "Cria OpenSmiles SVG - Créditos: Édio Mazera - mazera3@gmail.com."
######### SALVAR O DIRETORIO ATUAL #############
currentdir=`pwd`
############## le arquivo txt #####################
while IFS=: read smiles nome
do
obabel -:"$smiles" -O "$nome".$ext -title "$nome"
### Para criar imagens SVG descomente esta linha #########
## obabel -:"$smiles" -O "$nome".svg -title "$nome"
done < $dir/smiles.txt
###############################################
echo "Ok, SMILES CRIADOS!"
exit
#cria smiles no formato svg ou png
# Edio Mazera - mazera3@gmail.com
# salve o arquivo como: smiles-shell.sh
################# Verifica se existe opensmiles ######
openbabel=`which obabel`
################# Cria Variaveis ##################
ext=png #### opções: svg; png
###############################################
if [ ! $openbabel ]
then
echo " Obabel não encontrado. Instalar: #apt-get install openbabel"
exit 1
fi
###### Mensagem ###################
echo "Cria OpenSmiles SVG - Créditos: Édio Mazera - mazera3@gmail.com."
######### SALVAR O DIRETORIO ATUAL #############
currentdir=`pwd`
############## le arquivo txt #####################
while IFS=: read smiles nome
do
obabel -:"$smiles" -O "$nome".$ext -title "$nome"
### Para criar imagens SVG descomente esta linha #########
## obabel -:"$smiles" -O "$nome".svg -title "$nome"
done < $dir/smiles.txt
###############################################
echo "Ok, SMILES CRIADOS!"
exit
2. Crie um arquivo texto de nome smiles.txt no mesmo diretório do script com o código a seguir.
CCC(=O)O:acido-propanoico
CCCC(=O):butanal
CCCC(=O)C:pentanona-2
CC(O)C:isopropanol
c1ccccc1OC:metoxi-benzeno
CCCC(=O):butanal
CCCC(=O)C:pentanona-2
CC(O)C:isopropanol
c1ccccc1OC:metoxi-benzeno
Ao rodar o script buscará o arquivo smiles.txt e executará cada linha criando as imagens das moléculas:
A primeira coluna é a string smiles, depois tem o separados (:) e por fim o nome de arquivo sem extensão, o nome da molécula.





Mais strings smiles baixe aqui: smiles.txt
Mais informações aqui: http://bandamazera.com.br/blog
1) Nas duas linhas que invocam o comando "obabel" falta um traço antes de "title", pois são necessários dois.
2) No lugar de $dir no redirecionamento de entrada deve-se colocar $currentdir
Fica assim:
#!/bin/bash
#cria smiles no formato svg ou png
# Edio Mazera - mazera3@gmail.com
# salve o arquivo como: smiles-shell.sh
################# Verifica se existe opensmiles ######
openbabel=`which obabel`
################# Cria Variaveis ##################
ext=png #### opções: svg; png
###############################################
if [ ! $openbabel ]
then
echo " Obabel não encontrado. Instalar: #apt-get install openbabel"
exit 1
fi
###### Mensagem ###################
echo "Cria OpenSmiles SVG - Créditos: Édio Mazera - mazera3@gmail.com."
######### SALVAR O DIRETORIO ATUAL #############
currentdir=`pwd`
############## le arquivo txt #####################
while IFS=: read smiles nome
do
obabel -:"$smiles" -O "$nome".$ext --title "$nome"
### Para criar imagens SVG descomente esta linha #########
## obabel -:"$smiles" -O "$nome".svg --title "$nome"
done < $currentdir/smiles.txt
###############################################
echo "Ok, SMILES CRIADOS!"
exit
À disposição.