Molecule Viewer

Voici un programme de visualisation de molécules en 3D que j'ai réalisé avec Visual C++; pour l'utiliser vous devez disposer d'un ordinateur PC avec Windows 95 ou Windows NT, avec les librairies OpenGL.

Pour me contacter sphinx05@infonie.fr

Des nouvelles

Après une longue pause dans le dévelopement, je viens de retrousser mes manches, et me suis lancé dans des ameliorations mineures, bientôt disponibles, voici l'avancement:
  1. Acces direct au structure de la PDB (Menu Open RCSB), ouvre le fichier a partir du site web RCSB, il suffit d'etre connecte a internet et d'entrer le code PDB (OK)
  2. Le retaillage de fenêtre garde les proportions (OK)
  3. Calcul de la "contact map" (OK)
  4. Amélioration du rendu visuel avec des cylindre et des splines (Hermite) (OK)
  5. Possibilité de changer la couleur du fond (OK)
  6. Amélioration de l'effet de brouillard pour donner une impression de profondeur (OK)
  7. Ajoût d'un effet de transparence sur les sphères Van der Waals (OK)
  8. Reste a travailler sur la stabilisation du parseur de fichier PDB, le programme est pour l'instant tres instable sous Win XP (Non)
  9. Reste a developper le rendu Cartoon a partir des splines (Non)
  10. Reste a calculer les angles dièdres et le "Ramachandran plot" (Non)
  11. Mode de coloration par Température ou B-factor (Non)
  12. Chargement et superposition de plusieurs structures (Non) (une partie du code OK)
  13. Export d'image bitmap et impression (Non)
  14. Calcul de surfaces moléculaire (Conolly, solvant accessible) (J'en rêve parfois la nuit ;-) )

La version 1.50 qui contient les ameliorations deja apportées est maintenant disponible MV150.zip. Les menus sont en anglais.

Linux et IRIX?

En parallele, une version sous Linux est en cours de réalisation, avec le meme moteur graphique et presque toutes les fonctionalités. Pour l'instant il ne s'agit que d'un brouillon tournant sous Xlib et ligne de commande (Linux et IRIX), il va falloir faire une transition sous Motif ou Qt 3.0, je n'ai pas encore décidé mais Qt semble plus probable car C++ oblige et parceque j'ai déja acquis un peu d'expérience avec cet API. Porter le code sous UNIX semble logique, car c'est le système que j'utilise 98% tant au boulot qu'à la maison.

Que dois-je faire ?

Je me trouve confronté a un dilemme, dois-je rendre public le code source ou non ? La réponse n'est pas facile. Bien que grand supporter du code libre, je suis angoissé a l'idée de rendre public un code mal documenté, brouillon a souhaits. Enfin je me pose des questions sur les termes, est-ce que je doit faire appel a un systeme de licence du genre GPL ?

Commentaires sur les diférentes versions:

Molecule Viewer 1.0

Ce programme est encore au stade du développement, et il comporte encore un très grand nombre de bugs (n'hésitez à m'informer des bugs que vous trouverez a l'adresse suivante sphinx05@infonie.fr ); le risque de plantage n'est pas nul, pour l'instant le programme "rame" beaucoup pour charger les grosses molécules type protéines (alors que c'est sa vocation) il est conseillé de disposer d'une configuration puissante dotée d'une carte accélératrice 3D. Pour avoir une meilleure fluidité il est conseillé de désactiver l'anti-aliasing (qui permet d'avoir un meilleur rendu des contours) et d'utiliser le mode de représentation fil de fer. Parmis les bugs que je n'ai pas encore résolu il y a des problèmes d'échelle et d'éclairage, ainsi qu'un problème dans la détection de certaines liaisons chimiques, qui n'apparaissent pas en mode fil de fer.

L'aide n'est pas encore disponible, elle est en cours de conception.

Le programme utilise dans sa version actuelle les coordonnées atomiques que l'on trouve dans les fichiers de type PDB (Protein Data Bank) que vous pouvez télécharger à partir du Brookhaven National Laboratory ou pour de plus petites molécules à partir de Molecules from Chemistry Okanagan University College, il peut également lire les fichiers XYZ detinés au programme XMol (l'ouverture des fichiers est beaucoup plus rapide mais certaines fonctionnalités ne sont pas disponibles).

Les rotations des molécules se font au moyen d'un joystick ( je n'ai testé que le Sidewinder 3D Pro de Microsoft ), d'une souris ou du clavier (avec haut, bas, gauche et droite). L'avantage du joystick est que son utilisation est plus intuitive, de plus le programme tire partie des fonctionnalités des joysticks 3D, on peut en effet utiliser les trois axes de rotation.

Molecule Viewer 1.1

De nombreux bugs ont étés supprimés, l'application est plus stable, il n'y a plus le bug d'éclairage.

Une nouvelle fonctionnalité a été rajoutée, a savoir la possibilité d'exporter les modèles moléculaires au format VRML pour pouvoir être visualisés à l'aide d'un explorateur Internet. Le programme génère en plus automatiquement un petit fichier HTML contenant le modèle VRML auquel on peut ajouter un titre et un commentaire.

Installation et Désinstallation

Il n'y a pas encore de programme de setup, il faut donc de créer un répertoire dans lequel on copie l'éxécutable et les fichiers d'exemple. Pour désinstaller le programme il faut effacer le répertoire et utiliser Regedit.exe pour effacer ses entrées dans la base de registres qui sont à : HKEY_CURRENT_USER/Software/MoleculeViewer

Pour installer la nouvelle version il faut copier dans le répertoire où se trouve l'éxécutable le fichier header.src; il faut également le contrôle Active X Richtx32.ocx que vous devez copier dans le répertoire system de votre ordinateur si vous ne l'avez pas déja; ce contrôle est utilisé par le programme et servira pour des évolutions ultérieures.

Molecule Viewer 1.2

Cette version possède enfin un programme de Setup pour faciliter l'installation et la désinstallation, pour désinstaller il suffit maintenant d'aller dans le panneau de configuration, à Ajout/Suppression de programmes et de sélectionner Molecule Viewer dans la liste puis cliquer sur le bouton Ajouter/Supprimer le programme de désinstallation se charge d'effacer les entrées dans la base de registres.

La chasse aux bugs a été très fructueuse, l'application est devenue beaucoup plus stable ( il reste néanmoins quelques petits problèmes lors d'ouverture de fichiers); l'exportation vers le VRML est étendue a tous les types de représentations, l'édition du commentaire HTML est améliorée plus besoin d'utiliser la balise
pour les sauts de ligne l'application s'en charge, les caractères spéciaux de la langue française (éèçàëêù...) sont pris en compte. Le bug d'échelle semble réglé.

Pour ce qui est des nouvelles fonctionnalités, elles concernent les peptides et les protéines; on peut maintenant colorer la molécule en fonction des acides aminés ou pour les protéines en fonction des chaînes qui les constituent. De plus il est possible d'afficher ou non les hétéroatomes (eau, ions, solvant ...).

Enfin il est possible d'afficher une boîte en fil de fer qui encadre la molécule et qui peut servir pour se repérer lorsqu'on la fait tourner dans l'espace.

Pour finir, il y a une aide hypertexte (lorsqu'on a choisi le mode d'installation custom) au format HTML, mais il faut un navigateur avec un plug-in VRML pour profiter de toute les illustrations (je conseille Cosmo Player 2.1 ou MS VRML 2.0). Cette aide se trouve normalement dans le sous répertoire Help du répertoire dans lequel a été installée l'application.

Molecule Viewer 1.21

Pas de changements fondamentaux, seulement l'application est encore un peu plus stable, car des petits bugs à l'ouverture des fichiers ont étés corrigés; le code VRML généré à l'export est également corrigé car il y avait des erreurs pour la représentation "Backbone".

La modification la plus visible pour l'utilisateur est sans doute l'ajout des filtres d'ouverture des fichiers *.alc de Alchemy et *.mol destinés initialement au plug-in Chime de chez MDL.

Toutefois les données concernant les liaisons chimiques contenues dans ces fichiers ne sont pas prises en compte pour le momment, c'est donc l'algorithme interne du programme qui les détermine tout comme pour les fichiers *.pdb et *.xyz; j'espère pouvoir bientôt améliorer cet algorithme pour déterminer les liaisons doubles et triples (ceci dit la détection des liaisons multiples et par conséquent de l'état d'hybridation des atomes ne peut se faire que si la résolution est suffisante pour que les atomes d'hydrogène soient référencés dans la liste des coordonnées atomiques, sinon il faut utiliser les données internes du fichier sur les liaisons si elles éxistent).

Enfin pour l'aide, quelques fautes d'orthographe ont été corrigées, j'espère qu'il n'y en a plus et quelques rubriques ont été enrichies.

Molecule Viewer 1.31

La version 1.3 comporte des fonctionalités Web, entre autres un accès a l'aide en ligne HTML direct, ainsi qu'un accès direct a la page Web de la Protein Data Bank pour télécharger les fichiers de coordonnées atomiques. Notez qu' Internet Explorer 3.0 ou une version ultérieure doit être installé sur votre ordinateur pour bénéficier des fonctionalités web. Il reste des bugs, j'ai découvert récemment que le programme ne fonctionnait pas correctement en réseau (test sur station NT avec serveur Linux), sans doute a cause d'un problème de configuration de la base de registres.
La version 1.31 dispose d'un nouveau mode de coloration, qui ne concerne que les protéines issues de certains fichiers PDB; ce mode de coloration permet de visualiser les structures secondaires, les hélices a sont en rose, les feuillets b sont en jaune et les boucles en bleu (pour que ces couleurs apparaissent il faut que le fichier PDB comporte les données structurales adéquates). Enfin la taille du code éxécutable a été diminuée (nettoyage du code et des resources inutiles), l'accès au fichiers est légèrement amélioré surtout pour les grosses protéines qui sont longues a charger.

remarque: la Protein Data Bank a migré, elle n'est plus hébergée par le Brookhaven National Laboratory, mais par le RCSB à l'adresse suivante: http://www.rcsb.org/pdb

Avertissement:

Ce programme est distribué, sans aucune garantie d'aucune sorte. Etant donné que ce programme est en cours de développement, il est susceptible de subir des améliorations, il y aura donc des mises a jour, n'hésitez donc pas revenir sur ce site de temps en temps pour télécharger les dites mises à jour.

Téléchargement:

Ce fichier zip comprend le fichier éxécutable ainsi que des fichiers d'exemples au format PDB.

Version 1.1 : MolecViewer.zip (258 Ko) pour décompresser ce fichier, utilisez un programme tel que WinZip.
Version 1.2 : MolView1_2.zip (721 Ko)
Version 1.21: MV121.zip (728 Ko)
Version 1.3: MV13.zip
Version 1.31: MV131.zip
Mis a jour vers Version 1.50: MV150.zip Pour la version 1.50, il faut installer une version precedente avec l'installeur, puis decompresser MV150.zip dans le repertoire Molecule Viewer