[situatieschets]
De laatste jaren is in medische biologie een bepaalde techniek zeer populair geworden, namelijk de microarray techniek. Hiermee kun je van een bepaald weefsel in 1 keer de eiwit expressie van (op dit moment maximaal) 20.000 genen tegelijk meten. Hiermee komt een schat aan informatie vrij over ziekte en gezondheid. Ik werk aan een onderzoek waarbij we van 300 patienten materiaal hebben verzameld, en nu hebben we dus 300 x 20.000 datapunten.
Ik wil deze data graag in een database hebben, om het gemakkelijk te kunnen relateren aan andere data of om queries op te kunnen uitvoeren.
[probleem]
In wat voor soort datastructuur sla je 300 records met 20.000 variabelen op? Een optie is om het gewoon in een tabel op te slaan. Maar wat nu als je een querie wil met alleen bepaalde kolommen? "select kolom1, kolom2, .... kolom 13786 from tabel " is niet echt efficient.
[oplossing tot nu toe]
Wat ik tot nu toe heb gedaan om selecties te kunnen maken op de dataset, of het te relateren aan andere data, is het als tab-delimited file opslaan en vervolgens een perl script geschreven die alle data in een array kwakt, om vervolgens de hele set te doorlopen. Kolom identifiers en rij identifiers worden apart geprocessed, zodat er externe data uit een MySQL-database aan gerelateerd kan worden. (Of eigenlijk andersom; een selectie van de data wordt gemaakt door het te relateren aan externe data). Dit is flexibel tot op zekere hoogte; bovendien loop ik telkens tegen kleine praktische problemen aan die dan weer tijd kosten om op te lossen.
Wat ik nu precies wil? Ik wil graag weten of er vanuit de informatie technologie datastructuren en misschien zelfs applicaties (liefst open source natuurlijk) bekend zijn om met dergelijke datasets om te gaan. Ik weet een beetje van biologie en een beetje van informatica, maar loop nu tegen mijn beperkingen in het laatste aan. Misschien is dit voor echte informatici een situatie die ze dagelijks tegen komen.
De laatste jaren is in medische biologie een bepaalde techniek zeer populair geworden, namelijk de microarray techniek. Hiermee kun je van een bepaald weefsel in 1 keer de eiwit expressie van (op dit moment maximaal) 20.000 genen tegelijk meten. Hiermee komt een schat aan informatie vrij over ziekte en gezondheid. Ik werk aan een onderzoek waarbij we van 300 patienten materiaal hebben verzameld, en nu hebben we dus 300 x 20.000 datapunten.
Ik wil deze data graag in een database hebben, om het gemakkelijk te kunnen relateren aan andere data of om queries op te kunnen uitvoeren.
[probleem]
In wat voor soort datastructuur sla je 300 records met 20.000 variabelen op? Een optie is om het gewoon in een tabel op te slaan. Maar wat nu als je een querie wil met alleen bepaalde kolommen? "select kolom1, kolom2, .... kolom 13786 from tabel " is niet echt efficient.
[oplossing tot nu toe]
Wat ik tot nu toe heb gedaan om selecties te kunnen maken op de dataset, of het te relateren aan andere data, is het als tab-delimited file opslaan en vervolgens een perl script geschreven die alle data in een array kwakt, om vervolgens de hele set te doorlopen. Kolom identifiers en rij identifiers worden apart geprocessed, zodat er externe data uit een MySQL-database aan gerelateerd kan worden. (Of eigenlijk andersom; een selectie van de data wordt gemaakt door het te relateren aan externe data). Dit is flexibel tot op zekere hoogte; bovendien loop ik telkens tegen kleine praktische problemen aan die dan weer tijd kosten om op te lossen.
Wat ik nu precies wil? Ik wil graag weten of er vanuit de informatie technologie datastructuren en misschien zelfs applicaties (liefst open source natuurlijk) bekend zijn om met dergelijke datasets om te gaan. Ik weet een beetje van biologie en een beetje van informatica, maar loop nu tegen mijn beperkingen in het laatste aan. Misschien is dit voor echte informatici een situatie die ze dagelijks tegen komen.