Bonjour,
J’ai eu quelques échanges avec Nicolas BARTHES qui s’occupe de l’Ecochimiothèque du CNRS.
Pour générer la chaîne InChi à partir du .mol, en ce qui le concerne, il utilise l’application gratuite disponible sur le site IUPAC : http://www.iupac.org/home/publications/e-resources/inchi.html ci-dessous ces explications:
Du coup, pour générer le fichier inchi, on doit d’abord récupérer le inchi.exe (ou l’exécutable linux selon ton serveur) sur le site iupac que je t’ai indiqué précédemment et placer une copie dans l’arborescence de l’application web. Ensuite, on l’appelle comme ceci depuis le code php :
//transcription de la structure en code Inchi via le programme cInChI-1
exec(REPINCHI." ".REPTEMP.$pt.".mol ".REPTEMP.$pt.".inchi /NoLabels");
//lecture du fichier output avec le code Inchi et stockage dans la variable inchi
$inchi=file_get_contents($path.".inchi");
unlink(REPTEMP.$pt.".inchi");
$inchi=ereg_replace("\* Input_File: \"".REPTEMP.$pt.".mol\"\n","",$inchi);
$inchi=ereg_replace("Structure: 1\n","",$inchi);
$tabinchi=preg_split("[\n]",$inchi);
REPINCHI est une variable définie en entête de chaque fichier et correspond au répertoire dans lequel est stocké l’exécutable InChi.
REPTEMP est une variable qui définit le chemin du répertoire temporaire de travail.
La génération de la chaine InChi se fait donc par : exec(chemin_vers_executable_inchi chemin_du_mol_d_entree/molecule.mol chemin_vers_inchi_de_sortie/molecule.inchi /NoLabels);
Cela génère un fichier avec quelques entêtes et la chaine inchi correspondante au .mol d’entrée.
Si tu veux ne récupérer que la chaine inchi pour la stocker dans ta base de donnée (plus simple à rappeler par la suite qu’un .inchi qui n’est autre qu’un fichier texte), tu peux utiliser la seconde partie du script qui récupère le contenu du fichier inchi créé, supprime ce fichier du répertoire temporaire, remplace les entêtes "\* Input_File: \" et "Structure: 1\n" pour ne conserver que la chaine inchi elle-même dans la première cellule de l’array $tabinchi ($tabinchi[0]).
Bonne journée,
Sylvain
-----Message d'origine-----
De : cantharella-devel-bounces@list.forge.codelutin.com [mailto:cantharella-devel-bounces@list.forge.codelutin.com] De la part de Benjamin POUSSIN
Envoyé : mercredi 21 novembre 2012 08:27
À : cantharella-devel@list.forge.codelutin.com
Objet : Re: [Cantharella-devel] Formats d'enregistrement des molécules
On Tue, 20 Nov 2012 14:26:19 -1000
"Sylvain PETEK" <sylvain.petek@ird.fr> wrote:
> A priori Chemdoodle Web est capable de générer le .mol et le .inchi,
> serait-il possible d’enregistrer les molécules conjointement sous ces
> 2 formats svp ?
Bonjour,
En fait Chemdoodle Web ne sait pas le faire. Il ne sait enregistrer qu'au format .mol et appel un service distant hébergé par la société pour tous les autres formats.
Donc sauf à avoir un accord avec la société, nous ne pouvons que supporter le format .mol.
Il serait aussi possible de réimplanter la sauvegarde sous un autre format, mais cela ne me parait pas pertinent pour l'instant (temps, coût, ...)
--
Benjamin POUSSIN
--------------------
tél: +33 (0) 2 40 50 29 28
email: poussin@codelutin.com
_______________________________________________
Cantharella-devel mailing list
Cantharella-devel@list.forge.codelutin.com
http://list.forge.codelutin.com/cgi-bin/mailman/listinfo/cantharella-devel