Archive for November, 2008

A propòsit de Bolonya

Aquests dies, per enèsima vegada des que es va fer (ara fa quasi deu anys) el Pla de Bolonya ha tornat a sortir a la llum. Quan era estudiant de farmàcia, vaig ser, durant dos anys, membre de la Junta de la Facultat. Aleshores, mentre a la Junta es debatia un nou pla d’estudis (emmarcat dins les idees de Bolonya) ja hi va haver vagues per aquest pla. Mentre els estudiants representants (escollits per la comunitat estudiantil) treballàvem per fer el millor pla d’estudis possible, dins el marc que delimita l’estat, la Generalitat i el mateix pla de Bolonya, d’altres decidien convocar vagues i impedir a la resta d’anar a classe.

Sí, es dirà que aquestes vagues eren convocades pels sindicats estudiantils, i que, per tant, també representaven als estudiants. El problema és que aquests sindicats eren, sovint, presents només als claustres universitaris i llunyans al dia a dia de les facultats, deixant els espais més propers (Juntes de Facultat i Consells d’Estudi) per la resta de sindicats o grups minoritaris. En fi, la sensació era d’anar treballant dia a dia mentre “els grans” decidien guanyar protagonisme i fer, tot sovint, vagues i grans mobilitzacions al marge del dia a dia i de la comunitat universitària en si.

Veig que amb el temps poca cosa ha canviat. Pel que conec del Pla Bolonya, no crec que sigui tant dolent com se’ns pinta, tot el contrari! tot el que serveixi per millorar la qualitat de les nostres universitats (tant a nivell de docència com a nivell de recerca), benvingut sigui! I, si té algunes coses dolentes o que calen millorar, posem-nos’hi i mirem de solucionar-les. Però, d’aquí a forçar (prohibir) la gent a anar a classe, tancar les facultats, i demanar referèndums absurds, hi ha tot un món.

Aquests dies a les facultats i edificis on hi ha tancades s’han programat tot d’actes “alternatius”, taules rodones, conferències,… hi ha quelcom que tota aquesta gent no ha après: si una cosa té la universitat, és que és un espai d’intercanvi, de cultura i de coneixement. No cal embrutar les facultats per fer-hi conferències!

Per estar al dia del tema Bolonya, us recomano algunes lectures de’n Jordi Villà i n’Enric Canela, molt més acurades que la meva opinió i prou clarificadores: Bolonya: Fi de les primeres jornades de festes? i Bolonya. En ambdós blocs hi trobareu més articles relacionats.

Les patents… realment estimulen el coneixement?

Sovint es diu que les patents serveixen per estimular el coneixement. Aquesta lògica diu que si algú inverteix en trobar quelcom que després pot patentar i obtenir-ne beneficis de manera monopolista (és el que fan les patents), s’estimula la inversió en recerca i desenvolupament. Les patents  es poden aplicar en diversos camps, alguns exemples són les capsuletes de la Nexpresso, les soles de les sabates Geoxx,… fins i tot les tapes del clavegueram (fixeu-vos’hi, n’hi ha que tenen gravat el lema “PATENTADO”!).

Però les patents també afecten camps com la farmàcia, on es mouen milers de milions d’euros. Un laboratori troba una nova molècula, la patenta i, durant vint anys, en té el monopoli i en pot fixar el preu que sigui. Tornant a l’inici d’aquest escrit, i amb la lògica dels defensors de les patents, si un laboratori farmacèutic pot obtenir uns beneficis (per mi obscens) d’una inversió, s’estimula que el laboratori inverteixi en noves descobertes. Així doncs, amb aquesta lògica, les patents estimulen la recerca.

Personalment no m’agraden les patents, en cap àmbit. M’agrada l’accés obert, el compartir per créixer. Però, les patents en el camp biosanitari i, sobretot, en el camp dels fàrmacs, em semblen molt poc ètiques, els fàrmacs no han de ser una simple mercaderia.  A banda d’això, em qüestiono que les patents estimulin realment el coneixement i la recerca, sinó tot el contrari. Un exemple.

Dies enrere, una companya de feina em deia que, ara fa quatre anys, va trobar una molècula amb una sèrie de propietats que la feien molt interessant. Era quelcom molt nou. Naturalment, el primer interès era publicar-ho però… no va poder ser. El seu cap va decidir que calia patentar aquella molècula i que, per tant, fins que la patent no estigués feta, no se’n podia publicar res. El temps va anar passant i la patent no sortia (temes burocràtics universitaris). Ara, no hi ha patent i la publicació que en el seu dia hagués estat una gran aportació en el seu camp, ara ja no té pràcticament cap valor com a novetat, ja hi ha hagut altra gent que ha obtingut coses similars i les han publicat (han calgut però quatre anys!).

Si en el moment de la descoberta aquesta s’hagués publicat, a banda del prestigi de la publicació, els altres grups que treballaven en el camp haurien tingut molta més informació per trobar coses similars i potser no hauríen necessitat quatre anys per arribar-hi. El coneixement en general s’hauria enriquit molt més, amb menys temps i amb menys diners. Però no, una patent (possible patent), ho va frenar.

Això sí, diuen , que les patents estimulen el coneixement.

Google flu trends

Dies enrere ho vaig llegir al Nature News però fins avui no m’ho he mirat: Google flu trends. Ara Google també pot “predir” els brots de grip. Més que predir, l’eina permet avisar d’on i quan hi ha brots de grip i ho fa mitjançant les cerques de la gent.

Quan hi ha una “passa” de la grip, la gent té més tendència a buscar certes paraules, com ara, grip, antigripal, febre,… la sobreposició d’aquestes cerques amb la informació geogràfica del lloc des d’on es fan (quan es cerca alguna cosa a Google, aquest emmagatzema les paraules cercades i la IP de l’ordinador des d’on es fa la consulta) pot donar idea dels llocs on hi ha grip. Amb això, la gent de Google i Yahoo! han estudiat els brots de grip dels darrers anys (als Estats Units) i han comparat aquesta informació amb les dades que té el CDC d’Atlanta (organisme que controla l’evolució de les malalties). Els resultats han estat sorprenents ja que pràcticament coincideixen.

Els mètodes clàssics de control de brots de malalties es basen en la informació aportada pels diferents centres sanitaris als organismes de control. Això, requereix que passin uns dies abans no es pot declarar un brot en una zona concreta. L’eina de Google és molt més ràpida ja que, pràcticament, pot ser en temps real (la informació que donen avui és de fa tansols dos dies). Seguint amb les comparatives entre Google i CDC, el primer ha anunciat amb deu dies d’antelació, els casos de grip d’enguany.

Aquesta eina no pot substituir, en cap cas, els mètodes clàssics de control de malalties ja que són molt més fiables (recordo que Google flu trends funciona a partir de les cerques que fan els usuaris i usuàries del cercador i són estimacions) però sí que poden ajudar i anticipar la resposta en casos de pandèmies greus.

De moment només està disponible pels Estats Units.

Un llibre: La doble hélice

Me’l van regalar ara fa uns dies, per la tesi i… un regal molt encertat! El llibre, escrit per un dels pares de l’estructura de l’ADN, en James Watson, explica, precisament, com van arribar a l’estructura de la doble hèlix.

La història comença amb l’arribada d’en Watson a Europa, com a post-doc, amb una beca del govern dels Estats Units. Va explicant els seus canvis de laboratori, reunions, recerca, gent,… fins arribar a la cursa final per a desxifrar l’estructura de l’ADN, explicant totes les teories i models previs a l’estructura definitiva.

A banda de ser una lectura divulgativa molt interessant (i ben escrita), és un llibre curiós de llegir perquè et mostra el Cambridge de principis dels cinquanta. Els laboratoris, la feina, com es feia recerca en aquella època i, entre d’altres coses, viu el descobriment de l’estructura hèlix alfa (de les proteïnes) per part de’n Linus Pauling. En la història que s’hi explica es parla de descobriments que ara se’ns ensenyen a l’institut i la facultat, de les relacions entre els científics de l’època, de les cartes que s’enviaven per discutir diferents temes de la seva recerca,…

És un llibre de lectura senzilla (tot i que admeto que cal un mínim -mooolt poquet!- coneixement per seguir-lo), interessant científicament però també molt curiós des del punt de vista històric.

Reintentar una connexió a la base de dades amb Python

Fins ahir tenia un problema prou complicat: estic treballant en un programa en Python que requereix múltiples i constants connexions a una base de dades mySQL. Quan treballava en local, no tenia cap problema però, quan executava el programa en màquines diferents apuntant cap a un servidor de bases de dades (com passaria, per exemple, en un cluster), de tant en tant i de manera aleatòria, el servidor mySQL es quedava “tonto” i no responia. Aquesta pèrdua de connexió feia que el programa “petés”.

Amb l’administrador de sistemes del grup hem treballat per mirar què passa amb el mySQL ja que sembla que el problema és allà, però no hem trobat solució. No hi ha ni problemes ni amb el límit màxim de connexions, ni amb la memòria, cpu,… en fi, per algun motiu que desconeixem, el servidor es satura i té petites penjades. Així dons, la solució passa per fer alguna cosa al programa perquè no peti quan la base de dades no respongui.

La solució està en les “excepcions” (de l’anglès exception, desconec si aquesta traducció literal és vàlida). És a dir, per defecte, quan python intenta accedir a la base de dades, si aquesta no respon, es crea una excepció que, si no se li diu res, provoca la sortida del programa. La idea està en modificar aquesta excepció perquè quan python vegi que la base de dades no respon, la solució no sigui sortir del programa sinó reintentar-ho. He jugat amb el try i except.

db = DB()
cursor = db.cursor()
sql = ’select count(*) from molecules’
number = cursor.execute(sql)

class DB:
def cursor(self):
try:
bd = MySQLdb.connect(host=HOSTNAME, user=”USERNAMEl”, passwd=”PASSWD”,db=”DB_NAME)
cursor = bd.cursor()
return cursor
except MySQLdb.OperationalError, message:
return self.cursor()

La primera part del codi inicia la classe DB i n’obté el “cursor”, operador amb el que realitzarem les crides sql. La part més interessant però és la classe DB, que conté la funció “cursor”. Aquesta funció connecta amb la base de dades i retorna el “cursor”, comanda dins l’ordre try. Però, el fet de jugar amb el try i except fa que el programa primer provi el que hi ha a try però, si falla i troba una excepció que coincideix amb la indicada a except, en l’exemple MySQLdb.OperationalError, en comptes d’aturar l’execució del programa (el que faria per defecte) fa el que se li diu, en aquest cas que torni a executar la funció.