22 votos

¿Qué software de código abierto puede producir representaciones 3D en PDF de moléculas?

La mayoría de los programas existentes que conozco (como VMD o Pymol) dicen que pueden utilizarse para crear archivos PDF con representaciones 3D de moléculas: modelos 3D reales, que se pueden girar dentro del visor de Adobe Acrobat. Sin embargo, todos ellos requieren el uso de "Adobe Acrobat Pro 9 Extended" para su función de captura 3D. De lo que Puedo leer Esta función ya no existe en Acrobat X y se ha transferido a un producto independiente, Tetra4D que no funciona en Mac OS.

Entonces, ¿cómo puedo producir archivos PDF que incluyan modelos moleculares en 3D utilizando herramientas gratuitas (o mejor, de código abierto)?

21voto

hangy Puntos 141

Descargo de responsabilidad

  1. Esto es no para los pusilánimes.
  2. Si no le interesa utilizar LaTeX deje de leer ahora, ya que se utiliza el media15 o movie9 paquetes para incrustar U3D en un PDF generado con pdfLaTeX. Esta respuesta asume una familiaridad básica con LaTeX. He probado esto con pdfLaTeX y debería funcionar bien en XeLaTeX.
  3. Una de las herramientas que he utilizado (DAZ Studio) es aparentemente "gratuita por tiempo limitado". Tampoco está disponible en Linux. Se agradecen las sugerencias de sustitutos de software libre.
  4. Personalmente opino que el 3D en PDF no es tan bueno como parece.

Lo que no funciona

VMD ofrece la posibilidad de generar un archivo OBJ, que puede procesarse con FOSS MeshLab en un archivo U3D que puede incrustarse en un PDF. Esto no es óptimo por dos razones:

  • No hay forma de decirle a MeshLab que la malla generada por VMD debe tener sombreado Gouraud. Esto significa que las facetas duras de la malla serán evidentes en el pdf, incluso si se utiliza un grado de subdivisión difícil de manejar.

  • Los colores no se conservan. Su modelo aparecerá en el PDF con una textura gris uniforme.

Como tal, MeshLab es no es adecuado en esta fase .

Preparar un modelo

VMD ofrece una serie de opciones de exportación decentes para obtener nuestra geometría de .PDB o lo que sea y en un formato de malla. He optado por utilizar el formato VRML para obtener una malla de una representación en cinta de la entrada PDB. 4DM9 . A continuación, importé esto en Licuadora .

enter image description here

Blender no tiene capacidades de exportación U3D fiables, sin embargo puedo usarlo para asignar sombreado Gouraud a todas las formas y asignarles colores. Luego utilizo la función de exportación de Blender para exportar la escena como un archivo Wavefront .OBJ, con su correspondiente archivo .MTL.

Procesamiento con DAZ Studio

Estoy en deuda con el autor de este artículo (John Nyquist), que indicaba que Estudio DAZ puede convertir Wavefront a U3D sin problemas, conservando las texturas. DAZ es un programa muy específico que parece estar fuertemente orientado a posar, vestir y renderizar figuras humanoides en el espíritu de programas como Poser. Sin embargo, todo lo que realmente necesitamos es la función de exportación U3D y podemos leer en la estructura sin problemas.

A veces, así es como me veo a mí mismo:

enter image description here

Vale en serio, no pongas una figura humana en o sobre tu molécula sin una buena razón. Exportar como U3D y luego podemos incrustar en pdfLaTeX.

pdfLaTeX y movie9

Como prueba de concepto, me limité a seguir el ejemplo mínimo que se da en el manual media9 para convertir un modelo 3D en un PDF generado conLaTeX. Aquí está, visualizado en Adobe Reader X (¡lo sé, lo sé!). Hay que tener en cuenta que muy pocos lectores pueden mostrar PDF en 3D, lo cual es una de las razones por las que creo que no es una buena idea para la visualización química.

enter image description here

Comienza con un zoom demasiado grande porque no configuré ninguna opción para la importación (aunque puedes encontrar toda la información al respecto en los manuales de los paquetes media9 o movie15) y es un poco lenta debido a que tiene más de 1 millón de caras (me pasé con la subdivisión), aunque lo importante es que funciona .

¡Bienvenidas las mejoras!

Obviamente, este es un Rube Goldbergesco para convertir una molécula en un PDF. Probablemente existan formas más sencillas que sin duda deberían sugerirse.

10voto

Seb Puntos 5120

Si está dispuesto a invertir mucho tiempo en aprender Asíntota puede utilizarlo para crear documentos PDF en 3D a partir de pdb archivos con él. Aquí es un ejemplo. Tiene la ventaja de que Asymptote tiene una buena integración con LaTeX y se puede utilizar el código directamente en un documento LaTeX. Pero sería muy complicado conseguir la apariencia correcta y yo diría que sólo funcionará para los modelos Ball-and-Stick.

Actualización: He encontrado algunos otros buenos ejemplos de células de unidad de cristal que se representan con Asymptote, que puede servir como una especie de prueba de concepto sobre el uso de Asymptote para representar (simple) moléculas:

Rótulos y ángulos en la estructura cristalina mediante Asymptote

enter image description here

Dibujar la red cristalina 3D con tikz/pstricks

enter image description here

Ambos son de TeX.StackExchange, así que si quieres probar asymptote puede que encuentres algo de ayuda allí, cuando te encuentres con problemas.

5voto

Jason Sparks Puntos 948

Existe un conversor en línea de PubChem CID a 3D PDF/U3D en http://xemistry.com/ (http://85.214.192.197/pdf3d para ser exactos).

En cuanto a Asymptote - ve a su foro y pide ayuda. La exportación a PDF 3D está en fase de desarrollo, así que los primeros en adoptarla (también conocidos como conejillos de indias) son bienvenidos. Entre otras cosas, se está trabajando en la importación de OBJ. La aparente falta de demanda es una de las razones por las que el soporte FOSS para 3D PDF tarda en aparecer - y al menos pedirlo en el lugar apropiado es el mínimo esfuerzo que se me ocurre.

También puede inspirar a los desarrolladores de sus herramientas favoritas para que tomen código de Asymptote o de la biblioteca Intel U3D Sample para producir PDF 3D directamente o desarrollar convertidores independientes.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X