J mayúscula, mol en minúsculas
Por favor, no lo escribas de otro modo, para evitar confusión con
otros proyectos (sigue leyendo)
Sí, hay un proyecto llamado JMol ... pero no Jmol ... fíjate en la diferencia
en la M.
Will York (del Complex Carbohydrate Research Center,
University of Georgia, USA) escribió el visor JMol. Su página principal estaba
en http://www.ccrc.uga.edu/~will/jmol/jmol.html
(ya no está ahí).
Tanto en la web como en artículos publicados debes citar
a Jmol así:
Jmol: un visor Java de código abierto para estructuras químicas en tres dimensiones. http://www.jmol.org/
o bien en inglés:
Jmol: an open-source Java viewer for chemical structures in 3D. http://www.jmol.org/
Para Jmol v10 se ha desarrollado un nuevo motor de gráficos tridimensionales,
con el fin de admitir correctamente formas intersecadas. Esto es importante
para ver los modelos moleculares en representación espacial compacta (esferas).
Además, el nuevo motor 3D ha mejorado mucho el rendimiento con las
moléculas más grandes.
No se usan llamadas gráficas de java para construir la imagen.
La escena completa se construye en memoria y se transfiere a la
pantalla en una sola operación drawImage.
¿No eras tú quien se quejaba de la velocidad?
(En una versión futura se incluirá suavizado de la escena completa.)
Utiliza la aplicación Jmol (no la miniaplicación) y exporta a PovRay.
Sí. A partir de la versión 10.2, Jmol tiene algunas prestaciones
para representar isosuperficies, muy ampliadas en la versión 11.0.
Usando terminología de RasMol/Chime, Jmol actualmente ofrece
esqueleto (backbone), cordón o trazo (trace),
hebras (strands),
cintas en malla (meshribbons),
cintas (ribbons) y esquemático (cartoons).
No se necesita instalar software específico de Jmol
en los equipos cliente.
Los equipos cliente sólo necesitan un navegador web
que admita Java.
Cuando un cliente visita una página web que contiene el JmolApplet, éste
se descarga automáticamente desde el servidor web y se ejecuta.
JmolApplet se ejecuta como una miniaplicación no confiable, por lo que
no se requiere ninguna confirmación por parte del usuario para cargarla y
comenzar su ejecución. Hay también una versión confiable de la
miniaplicación (JmolAppletSigned), para los autores que prefieran
aprovechar sus ventajas
(puedes conocer éstas en la sección
Notas técnicas, Tecnologías de mejora del navegador).
Utiliza la biblioteca javascript Jmol.js
para colocar las miniaplicaciones en tus páginas web.
No.
Las miniaplicaciones se almacenan en la caché local del navegador. En siguientes
usos de la miniaplicación, ésta se tomará de la caché
(tras confirmar que no han cambiado la fecha, hora y tamaño
en el servidor web). Al menos, esa es la teoría ...
y funciona correctamente en los navegadores que he probado :-)
Nótese que estoy investigando varios planteamientos para atender esta petición.
Creo que es posible encontrar un modo de permitir la
instalación local para facilitar el uso sin conexión a la red.
Los problemas en esto son 1) la complejidad que supone a los usuarios finales
una instalación local y 2) problemas de control de versiones cuando
distintos sitios web usen versiones diferentes de la miniaplicación Jmol.
Probablemente debas usar la
biblioteca javascript Jmol.js
Las miniaplicaciones deberían normalmente ser cuadradas (mismo ancho que alto).
Esto se debe a que la molécula se escalará automáticamente
ajustándose a la más pequeña de ambas dimensiones.
El resto de píxeles no se utilizarán (a no ser que se amplíe).
En cualquier caso, esos píxeles deben borrarse con el color de fondo
cada vez que se redibuja la ventana, y esta operación de borrado
es relativamente costosa.
Probablemente debas usar la
biblioteca javacript Jmol.js
<applet ... width='{n}' height='{n}' ... >
donde {n} = 300, 400, 600 ... ¿captas la idea?
Aunque la mayoría de los navegadores te permiten indicar el ancho y el alto
de la miniaplicación en porcentajes, en la práctica esto genera muchos problemas,
pues tiende a disparar muchas anomalías del navegador cuando se redimensiona la ventana.
Ninguno. El servidor web no requiere configuración especial.
Las miniaplicaciones no quedan asociadas a tipos MIME, como ocurre con
los conectores. Mientras que el conector Chime requiere la configuración
del servidor web, la miniaplicación JmolApplet no.
Revisa la nota técnica en
tecnologías de mejora del navegador
Probablemente debas usar la
biblioteca javascript Jmol.js
Siempre debes usar la etiqueta APPLET.
¡No te dejes confundir por la documentación de desarrollador de Sun Java Plug-in!
Lamentablemente, la documentación de desarrollador de Sun Java Plug-in
no explica bien la situación actual del mundo. Ese documento se escribió
hace varios años y necesita una buena limpieza. En muchos sitios
aún parece recomendar el uso de la etiqueta OBJECT.
Así es como se hacían las cosas hasta cerca de 2002.
Desde entonces, el Sun Java Plug-in ha tenido compatibilidad para la etiqueta APPLET
en Microsoft Internet Explorer y esta cuestión ha desaparecido.
Sin embargo, Sun necesita mantener el documento para aplicaciones corporativas en intranet
que se desarrollaron usando la etiqueta OBJECT.
El capítulo 12 de la guía para desarrolladores Sun Java Plug-in dice:
Con Internet Explorer se recomienda utilizar la etiqueta
APPLET para desarrollos en internet.
...
Con Netscape se recomeinda la utilización de la etiqueta
APPLET para desarrollos en internet.
Probablemente debas usar la
biblioteca javascript Jmol.js
Asegúrate de establecer una distinción clara entre la etiqueta
param loadInline y el método loadLine.
Probablemente debas usar la
biblioteca javascript Jmol.js
Lamentablemente, el mecanismo para la etiqueta param loadInline es bastante
feo ... la especificación HTML nos causa algunos problemas.
La especificación HTML requiere que los caracteres de salto de línea se eliminen
(y los caracteres de retorno de carro se conviertan en espacios) antes
de que la cadena del parámetro se transfiera a la miniaplicación. Por lo tanto, el navegador
elimina los saltos de línea antes de enviarlos a la miniaplicación.
Jmol tiene una sintaxis especial para rodear este problema.
Debes poner una barra vertical al comienzo de cada línea, así:
...
<param name="loadInline" value="
|pon aquí los
|datos de tu
|modelo molecular
" />
La miniaplicación JmolApplet reemplazará las barras verticales con un carácter de salto de línea.
(Los espacios antes de la primera barra vertical se eliminan.)
Si tienes un texto con el modelo molecular y quieres convertirlo,
puedes usar una expresión regular para realizar la sustitución.
Cada sistema operativo usa convenios diferentes para el fin de línea,
por lo que tu código debería verificar tres secuencias diferentes de fin de línea:
retorno de carro, salto de línea y
retorno de carro + salto de línea.
En Perl:
miModeloMolecular ~= s/\r|\n|\r\n/|/g;
En JavaScript:
miModeloMolecular.replace(/\r|\n|\r\n/g, "|");