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.

[ Hits: 5.564 ]

Por: Édio Mazera em 23/07/2018


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:

#!/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

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

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

Página anterior    

Páginas do artigo
   1. O que é OpenSmiles
   2. Criando um script opensmiles
Outros artigos deste autor

Slides JPG - Criando apresentações para projetores com suporte a miniaturas de imagens no LibreOffice

KDialog com Shell Script - Conversão de slides JPG para projetores com suporte a miniaturas de imagens

Leitura recomendada

Aplicabilidade do Software Livre Blender na Engenharia Mecânica

Experimentos com GNOME3 em instalações contendo outros ambientes gráficos

Visualizador de sistema de arquivos tridimensional

Escrevendo com LaTeX

Deformar ou recriar?

  
Comentários
[1] Comentário enviado por anonimoculto em 24/07/2018 - 08:45h

Há dois pequenos deslizes no script listado:
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.

[2] Comentário enviado por anonimoculto em 24/07/2018 - 11:58h

Ademais, legal. Gostei. Não conhecia!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts