Category Archives: Eines | Tools

Mind the Byte s’uneix al programa BizSpark Plus de Microsoft

No és una novetat d’avui mateix però fins ara no he trobat el moment per escriure sobre el tema. El mes de Juny passat Mind the Byte va entrar al programa BizSpark Plus de Microsoft. El programa BizSpark Plus és una extensió del BizSpark, un paquet d’ofertes, serveis de networking, i suport que Microsoft ofereix a empreses que tenen un alt potencial.

Ser membres de BizSpark Plus ens permetrà, a banda d’accedir a una àmplia xarxa de contactes i possibles inversors, donar una empenta al desenvolupament d’iMols, la nostra eina cloud chemoinformatics, ja que un dels grans punts de BizSpark Plus és que ofereix fer ús de WindowsAzure, la tecnologia cloud de Microsoft, de manera gratuïta (fins a uns límits).

iMols

Primera novetat de l’any i és una novetat de les grosses: iMols! iMols és una plataforma de serveis, eines i bases de dades quimio i bioinformàtiques en la que he estat treballant els darrere mesos (bé, podria dir any!). De fet, quan vaig fundar Mind the Byte ja tenia l’eina al cap i l’anava perfilant en la meva imaginació i algun esbós des de feia molt de temps.

Amb iMols, els usuaris poden (concretament, podran, ja que no totes les funcionalitats esta actives) cercar molècules, predir-ne activitats i gestionar quimio i proteoteques, entre moltes altres funcionalitats. En una primera fase, l’eina incorpora només informació provinent d’una base de dades pública però la intenció és anar-la enriquint amb més informació tnat pública (sempre que la lllicència ho permeti), com d’empreses de síntesi, així com la pròpia dels usuaris (aquesta darrera però estarà només disponible per als usuaris que l’hagin afegit).

De moment hem publicat una versió “alpha” gratuïta i de prova ja que som conscients que les funcionalitats de la plataforma són encara un xic limitades i, tot i que hem vetllat per l’estabilitat del sistema i la integritat de les dades que hi ha, és tot just la primera versió d’una eina molt complexa per dins i volem estar segurs que tot funciona bé. D’aquí unes setmanes, quan hi afegim més funcionalitats i en garantim l’estabilitat, oferirem ja versions de pagament.

Podeu accedir a iMols des d’aquí: www.imols.com

Caminant cap a una ciència oberta

Imagina que tu saps com fabricar rodes i un amic teu com construïr carreteres. Els dos, per fer el vostre producte, necessiteu conèixer els requeriments del producte de l’altre però no voleu compartir aquest coneixement. Tu vols “protegir” el teu invent i no li vols explicar al teu amic quin tipus de carretera necessiten les teves rodes (no fos cas que ell decidís fer unes rodes iguals abans que tu!). Els dos estaríeu fent bones feines però incompatibles, per tant, inútils. Les teves rodes segurament no podrien emprar-se en les carreteres del teu amic.

Aquest exemple és, segurament, una xorrada, una ximpleria! Però el cert és que les rodes metàl·liques dels trens no poden circular per carreteres d’asfalt i les rodes dels cotxes no ho poden fer per les vies dels trens. Per sort, hi ha un coneixement que es comparteix i tot funciona bé.

Però en ciència això no passa. Sovint, un mateix té una idea, procurarà desenvolupar-la i publicar-la. Però, segurament, algú més estarà intentant fer quelcom similar. Aquesta persona, molt probablement, tindrà les mateixes preguntes que tinc jo, o solucions a algunes de les meves o, potser, preguntes per les que jo ja tinc respostes. Però en un món científic tancat, aquesta lògica de compartir el coneixement es converteix sovint (per no dir quasi sempre), en una cursa per la publicació. És una pena perquè, segurament, la solució al problema arribaria abans sense aquesta simple competència per la publicació.

Afortunadament però, en alguns camps tenim alguns estàndards, consens, bases de dades,… “ciència oberta”! coneixement estandarditzat que ens ajuda a anomenar algunes coses pel mateix nom i evita que, per exemple, cada científic posi el nom que vulgui a les seves molècules (tot i que encara hi ha qui es resisteix als estàndards i fa els seus propis noms i codes). Com a exemples tenim els Inchis, codis PDB, SwissProt,…

Crec, n’estic convençut, que els investigadors i investigadores fan un servei públic (com a mínim els de les institucions públiques) i, al meu entendre, fer un servei públic implica ser eficient. I per a aquesta eficiència cal centrar-se en els objectius com un avenç i no només en les publicacions.

És aquesta idea la que m’ha motivat a emprendre un projecte que fa temps que tinc al cap. De moment, metre treballo en la seva gestació, he creat un bloc per reflexionar-hi i, perquè no? crear una mica d’expectativa i “donar-me a conèixer. És en anglès (les usuàries i usuaris són prou limitats i vull arribar com a més gent millor) i de moment el podeu trobar a Chembiospace.info.

Afegir el títol de la molècula a l’sdf amb pybel

Pybel és un conjunt de classes escrites en Python per treballar amb l’OpenBabel. És una eina molt potent que et permet fer ús de totes les utilitats de l’OpenBabel des de Python. Jo l’empro molt i a diari!

Per, per exemple, llegir un smile i escriure’n un sdf només cal fer el següent:

?View Code PYTHON
1
2
3
4
5
6
7
8
9
10
11
12
#Importar el pybel
from pybel import *
 
#Ara llegirem l'smile
mol = readstring('smi', 'CCCC(Cl)CCF')
 
#Obrim el fitxer de sortida
out =Outputfile('sdf','NomDelFitxer.sdf')
#Hi escrivim i tanquem
 
out.write(mol)
out.close()

Això va molt bé però m’he trobat que escriu sdfs sense posar cap títol (nom) a les molècules. Pel que ho estic emprant ara però, necessito posar els InchiK com a títol de cada molècula. Hi he estat hores i hores, intentant entendre la classe “Outputfile”, però he desistit, no crec que es pugui fer, així, directament.

Com a alternativa he decidit emprar els mètodes natius de Python per escriure fitxers, barrejat amb el Pybel (l’opció molecula.write). Així doncs:

?View Code PYTHON
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#Importar el pybel
from pybel import *
 
#Ara llegirem l'smile
mol = readstring('smi', 'CCCC(Cl)CCF')
 
#Obrim el fitxer de sortida (tal com es fa amb Python). Li diem que és per escriure
out = open('NomDelFitxer.sdf','w')
 
#Hi escrivim el títol
out.write('TítolDeLaMolecula')
 
#I ara, la molècula
out.write(mol.write('sdf'))
 
#Finalment, tanquem
out.close()

De moment, és l’única solució que he trobat i va prou bé.

Es presenta la ChemPedia

chempediaAvui s’ha obert al públic la ChemPedia, un repositori obert, públic i gratuït de molècules. Quan algú hi afegeix una nova molècula, aquesta passa una revisió i se li assigna un codi únic. Posteriorment, els usuaris del portal li poden assignar noms.

L’eina crec que està molt bé i pot ser molt útil per a gestionar els sinònims (el paracetamol, per exemple, es coneix amb els noms de paracetamol i acetaminophen). Els usuaris, a banda d’assignar noms, poden votar pels noms ja assignats. Amb tot, els usuaris van obtenint una puntuació (en funció de si s’assignen noms a molècules seves, si assignen noms a d’altres molècules. Com més puntuació té l’usuari, més confiança se li dóna.

Com a punt fort hi destacaria el tema dels sinònims i la facilitat de ser-ne usuari (funciona amb openID, usuari Google, Yahoo!, Wordpres,…). Com a punts negatius però, el fet de crear una enèssima classificació (que els gestors del portal li assignen un rang d’única) i no fer ús d’eines existents i universals com els Inchis. Per altra banda, per afegir una nova molècula cal dibuixar-la en un “applet”, no permetent afegir ni smiles ni “pujar” sdf (cosa que simplificaria enormement la tasca).

La idea és bona però crec que caldrà veure com evoluciona.