HTML

Az élet kódjai

Csináld maga. Senki nem csinálja meg helyetted.

Friss topikok

  • sdani: Sajnos nekem is hasonló érzéseim vannak az R kiszorulásával kapcsolatban. Remélem jobban fogja tar... (2024.04.29. 10:48) R meetup
  • sdani: Nagyon jók ezek a bejegyzések! Feszültséggel teli, fordulatos, mint egy jobb krimi. :D Abba ne hag... (2024.04.29. 10:35) Wgel CTF
  • sdani: @Travis.CG: Egy kis szerencse sosem árt. :D (2024.03.01. 13:19) A bioinformatika helyzete 2024-ben
  • Travis.CG: Szóval az akadémiai szféra mazochistává tett, amit a Pinephone-al élek ki? Hmm, érdekes összefüggé... (2023.10.05. 18:23) Új barátom az Informatikai titkárságról
  • Travis.CG: Túl nagy a hype körülötte, ezért túlzó elvárások vannak vele szembe. Ha a korábbi chatbotokhoz kép... (2023.02.28. 06:28) chatGPT, a bioinformatikus

Világítsunk a lényegre

2016.05.28. 00:35 Travis.CG

GPU? FPGA? Virtuális valóság? Kegyetlen nagy szerver, amivel 47 másodperc alatt összeraksz egy humán genomot? Azt hiszed már a spektrum teljes palettáját ismered, amivel a cégek a bioinformatikusokat vakítják? Gondolod semmi újat nem tudnak neked mutatni?

Nem tudsz semmit! Csak sötétben tapogatózol. De majd az optikai számítástechnika felvilágosít.

Azt mindenki tudja, hogy sok adatunk van, a számítógépek egyre többet fogyasztanak és nincs mindenkinek szuperszámítógép a farzsebében, hogy feldolgozza mindezt. Az Optalysys ezért elhozza a hatalmas teljesítményt egy asztali számítógépre, miközben az energiafogyasztás minimális lesz. Mintha bekapnál egy Tic-Tac-ot, és lefutnád a Maratont.

A trükk, hogy nem elektronokat és tranzisztorokat használnak az adatok feldolgozására, hanem lézert és SLM-ket. Az előadó szerint az optikai feldolgozás nem termel hőt, ezért nem kell hűteni, és mintakeresési problémákra sokkal jobb, mint a hagyományos elektronika. A terv, hogy egy PCIe foglalatba illő kártyát készítsenek, nekünk viszont csak egy prototípust mutattak be, ami így nézett ki:

A fejlesztést nyílt API fogja támogatni, a következő teszt fázisban 4K szenzorokat fognak beépíteni, hogy még több adatot tudjanak feldolgozni. Az, hogy az illesztés mennyire hatékony, arról nem mondtak semmit, nem tudni mennyibe fog kerülni, de egy videokártya árával fog versenyezni.

Tipikus parasztvakítás volt. Futott az orrunk előtt valami, amiről nem is tudtuk, mi az, az előadáson hajmeresztő grafikonokat láttunk az egyre növekvő adatmennyiségről, miközben ez az eszköz USB 3.0-n keresztül kommunikált egy laptoppal.

A bioinformatikában még mindig nem a CPU a szűk keresztmetszet, hanem az I/O. Erre valahogy nem világított rá az előadás.

Szólj hozzá!

Címkék: bioinformatika

Cseppet sem objektíven: QBParty 2016

2016.05.22. 23:34 Travis.CG

Amikor a QBParty eszembe jut, olyan fiziológiai képtelenségek történnek velem, mint a mesebeli királyokkal: egyik szemem sír, a másik nevet. Talán egy féloldali agyvérzés mégis produkálhat ilyen tüneteket... Inkább térjünk vissza a demoscenéhez! Nemrég ismét party volt Magyarországon. Ez örömteli, hiszen még egy hely, ahol bemutathatjuk, min is szöszmötölünk unalmas perceinkben.

Eredetileg úgy gondoltam, adok be valamit, de olyan kevés információ jutott el hozzám, hogy azt hittem, a party el fog maradni. Régen, mikor Murphy vitte egyedül a Scene.hu-t, akkor kapott egy kritikát, hogy miért nem tette ki az akkori Function-t fő hírnek. Most sem tette ki senki fő hírnek a QBPartyt, de az is igaz, senki nem is sírt miatta.

Az indulók számából úgy tűnik, mások sokkal optimistább módon álltak a dologhoz, vagy egyszerűen csak túl elavultnak tartják a fórumon és e-mailen történő kapcsolat tartást. A hozzám eljutott információ morzsák alapján a partyt egy szóval lehet jellemezni: őskáosz. A résztvevők idén is igyekeztek egyszerűen megoldani a releaselést, de mint látni fogjuk, ennek több szintje van.

1. Egyszerűen primitív

Ebbe a kategóriába azok az alkotások kerültek, amelyeket nagyon gyorsan összecsaptak, nem alkalmaztak semmilyen minőségi korlátot. Elég csak a grafikai kompók utolsó pár helyezettjét megnézni, hogy lehessen érteni, miről beszélek.

2. Egyszerű, mert már kész

Itt már van minőségi szint, de a hozzáadott érték minimális. Főleg az animációknál lelhető fel, amikor például játék videót adtak be, vagy a már kész effekteket használják fel ugyan arra a témára (nevezetesen a szervezők hiányos angol tudására). Sok szót ezekre sem érdemes fektetni.

3. Egyszerűen nagyszerű

Itt csillan meg a kreativitás. Például a Rebels Desktop demójában. Az effektek nem valami látványosak vagy érdekesek. A jelenetek a szokásos régi sémát követik, de azzal, hogy mindezt egy számítógép képernyőjére tették, az egész teljesen új színben tündököl. Egy hibát véltem csak felfedezni, a telefon képernyőjén a tükröződés kicsit pixelesre sikerült. De nagyon ötletes.

4. Egyszerűen zseniális

 Ide csak egy demó került, a Median az Ümlaut Designtól. Egyszerű, de mégis folyamatosan változó, dinamikus. Egy percre sem áll le. Iskolapéldája annak, nem kell feltétlenül GPU izzasztó shader alkotásokat írni, hogy érdekes demók készítsünk.

Szólj hozzá!

Címkék: demoscene

Cseppet sem objektíven: Revision2016 2.rész

2016.05.17. 00:51 Travis.CG

Az eddigi statikus tartalmakról most térjünk át mozgó képek világába.

Animált GIF

Őszintén szólva nem tudom, miért érdemes ezt a kategóriát választani, hogy kifejezzük magunkat. A méret nem teszi lehetővé, hogy bármi komolyat bemutassunk, az elérhető eszközök elég okosak hogy bármilyen technológiai analfabéta sorozatba gyártsa őket. Az internet tele van velük. Ennek megfelelően csak két entry-t emelnék ki, mert ők saját progival hozták létre az eredményt:

Animáció

Most már hangos produkciók jönnek. Az idei animációktól nem estem hanyatt. Először is nem volt fraktál, másodszor nem volt vicces videó. Nem, a tojásos szerintem nem volt vicces. Slyspy pszichedelikus AfterEffect kaleidoszkópja joggal nyert:

Technikailag a Media Facade is ide tartozik. Röviden, ez egy szoba, amit projektorokkal ügyesen megvilágítanak, mintha a jelenetek a szoba belsejében lennének. Ez igazán sok teret enged a kreativitásnak. Bár nem volt sok induló, a résztvevők kitettek magukért. Gaspod alkotása talán nem volt olyan látványos, mint az első helyezett, de a sztori és ahogy a történetet összhangba hozta a megjelenítés adta lehetőséggel, az mindenképp példa értékű:

 Wild

Német kollégák megirigyelték a Schönherz kollégium sikereit és ők is átalakítottak egy épületet demó platformmá. Az nem volt világos számomra, hogy hang is van-e, de azért jól néz ki.

Oldschool intrók

Önkényesen az Amiga intrókat is ide veszem. A régi gépeken az intrók nagy többsége a scroller valamilyen formája. Ami elég unalmas, még akkor is, ha az ember a szöveget elolvassa. Szerencsére azért voltak csapatok, akik igyekeztek elkerülni a bevett formulát és megmutatták, hogy mi mindent lehet belepréselni pár kilobájtba. Éppen ezért a Harder, Better, Manic, Miner sokkal jobban tetszett, mint a veterán Razor1911 szösszenete. Amiga szinten pedig igazán impozáns volt a felhozatal. A nah-kolor annyira nem bírt magával, hogy egyből két intrót is beadott. Jó látni a lelkesedést. A csúcs viszont a Dekadence volt. Elég sok jelenetet pakoltak be intrójukba, keveset ismételtek és ügyesek voltak az átvezetések. Nem hiába nyertek.

Oldschool demók

Itt már igazán kitettek a csapatok magukért. Viszonylag kevés kompofiller volt, az indulók beleadtak apait-anyait. A Visual Novel például nekem nagyon bejött, annak ellenére, hogy csak harmadik lett. Neo-geora nem sok alkotás jelenik meg, volt egy kevéssé koherens történeti szál, ennek ellenére üdítő színfolt a sok twiste-scroller-plazma között. A We are demo kicsit hullámzó sebességű volt, de nagyön ügyes és újszerű elemeket vonultatott fel. Nem csoda, hogy nyert. Captain Panda Atariba oltott kalandjai első megtekintéskor még tetszettek, de másodszor már unalmasnak hatott.

Az Amigás demók történetében pedig igazi áttörés történt. A Lorem Impsum demót nézve kicsit felemás érzésem volt. A gyalogló ember láttán azt gondoltam ennél Kieró biztos jobb kódot írna. A zene alapvetően tetszett, de úgy éreztem, ha Chaser komponálta volna, biztosan jobban szólna. Azután megjelentek a készítők: Kiero, Chaser, Ubik. Bakker, az Elude álruhában! És megnyerték! Az örökös második helyezettek végre elnyerték méltó jutalmukat. Én személy szerint nagyon örültem a sikerüknek.

PC intrók

Nagyon változatos alkotásokat láthattunk. Ráadásul ez az egyetlen verseny, ahol 8K kategória is van. A Loonies ki is adta a Nexus 8 8K-s változatát. A retro hangulat nem volt elég, hogy megnyerjék a kompót, de így is a második helyen végeztek. A 4k-k közül a Collapse remek fény játéka vitte a pálmát. A legnagyobb harc mégis 64k-ban volt, ahol a Conspiracy alternatív intrója csapott össze a Mercury jóval kommerszebb nevezésével. Még így, hetekkel a party után is fej-fej mellett versenyeznek a közösség kommentjeiért. A Fermi paradoxon nagyon szép, a Hubble legszebb pillanatait megörökítő képeket mutat be, elég statikus módon. A zene kellemes, de bennem motoszkált a gyanú, hogy talán kisebb méretben is meg lehetett volna oldani. Hiszen pont a Conspiracytól láttunk már ilyet és még az idő távolából is azt mondom, az jobb. A Darkness lay yours eye upon me viszont kicsit felemás érzést keltett bennem. Egyfelől a látvány páratlan. Gyönyörű tűz, szép atmoszférikus hatások. Ez is statikus, de a rendezést és a mondanivalót támogatja, ezért indokolt. Viszont három helyen megtörik a ritmus. Az első a nagyváros. Míg a korábbi helyszíneken érezhető feszültség volt, ami a néző kíváncsiságát ébren tartja, addig az éjszakai város teljesen normálisnak tűnik. Ha New Yorkról csinálok egy fényképet a víz felől, pont ilyen lenne. A második az alagútban az emberalak. Itt már van feszültség, mert nem tudjuk, hogy mit látunk. Egy megfáradt kisnyugdíjast, vagy egy emberi alakba öltöztetett démont? A B kategóriás játék trailerekben itt szokott megfordulni az alak, és kiderül, hogy egy zombi áldozata, vagy maga a zombi, akit látunk. Itt ez elmarad, de gondolom 64k-ban nehéz megvalósítani ilyesmit. (De egy vakuvillanás utáni eltűnés belefért volna)

A legnagyobb hiba mégis a csattanó. Az egész felvezetés olyan, mintha a baj, a katasztrófa már megtörtént volna. Mi, nézők még nem tudjuk, mi az, de a karakterek igen. Azután a kihalt autópályán megnyílik a Föld. Miért? Ez már érzelmileg nem visel meg minket, hiszen nincsenek emberek, állatok, semmi, amiért vagy akiért aggódhatunk. Ez a fajta csattanó jól működött a Signal Lostban, mert ott legalább volt egy mozgó kamera, akinek szurkolhattunk. Itt nem volt semmi. De ez tényleg csak kötözködés. Ahogy Gargaj szokta mondani: a királyokat királyi mércével kell nézni. Az alkotás ettől még egyedülálló és méltán megérdemelte volna az első helyet is.

PC demó

A demókat nézve elég vegyes érzéseim voltak. Először is csak tátottam a aszámat, mert a vizuális tartalomra panasz nem lehet. Slyspy készített színes demót, a Still készített fekete-fehéret, a Nuance pedig egy WTF demót. Az Instant God-on kicsit meglepődtem. Két megtekintés után is úgy tűnik számomra, semmit olyat nem láttunk, amit Smash már le ne programozott volna korábban, csak most több részecske van, mert az újabb hardver elbírja. A Cocoon demó viszont nagyon ütött. Kár, hogy az impresszív város jelenetet nem a végére rakták. Ilyen demók után jogosan érzi úgy az ember, hogy csak replika pisztolyokkal játszik.

Szólj hozzá!

Címkék: demoscene

És ezért hiszik, hogy értek az RNA-seq-hez.

2016.05.13. 00:25 Travis.CG

Igazából nem értek hozzá. Illetve volt idő, amikor azt gondoltam, hogy értek hozzá, de aztán a Sangerben kezdtem dolgozni. Talán kezdjük az elejéről.

Még a hírhedt benthamiana projekt idején érezhettem először testközelből a nyers RNA-seq adatot. Túl sokat nem töprengtem rajta, olvastam pár cikket, de csak olyanokat, ahol adatokat dolgoztak fel. Végül a főnököm kezembe nyomta ezt, amivel el is dőlt, hogy mivel dolgozom fel az adatokat. Néha futtattuk a Trinityt, de az esetek többségében teljesen jól elvoltunk a Cufflinks-el. Annyira, hogy unalmas óráimban a a SeqAnswer-en osztottam az észt.

Mikor csatlakoztam az itteni csoporthoz, akkor kezdtek el az RNA-seq felé kacsingatni és nagyon boldogok voltak, hogy én is itt vagyok, hiszen én már láttam ilyet. Rajtam kívül csak Angela foglalkozott expressziós adatokkal, de ő anyai örömök elé néz, így a saját projektjeit szépen lezárta és nem kezdett újakat.

Közben én egyre több előadást hallgattam, ahol más csoportok osztották meg tapasztalataikat és cikkeket kezdtem olvasgatni, ahol a módszereket hasonlították össze. Az eredmény az lett, hogy teljesen elbizonytalanodtam saját tudásomban, de azt is láttam, hogy mások sem ismerik az egy és igaz ösvényt. Illetve mindenki a saját ösvényét tartja az igazinak.

Mit lehet ilyenkor tenni? Elfogadni a tényt, hogy nem tudunk semmit, és megkeresni a saját ösvényünket. Az első és legfontosabb, hogy keressünk valami kapaszkodót, valami kiindulási pontot. Mint oly sok esetben, nálunk is a korábbi eredmények reprodukálása volt ez a pont. Ugyanis van itt az egyik kutatónak 1096 sejtvonala, amiből mind csináltak RNA-seq-t. De több, mint négyszáz sejtvonalból van microarray is.

Még 2008 környékén jelentek meg nyakra-főre az összehasonlító cikkek, nem tettünk mást, mint ezek alapján mi is összevetettük a két technológiát. Mi is korrelációkat számoltunk. Először egy sejtvonalon belül néztük a gének expresszióját, mennyire feleltethetőek meg a két módszerrel. Mint az várható volt, semmi korrelációt nem kaptunk.

Több módszert is kipróbáltam. Először Spearman korrelációval számoltam, mert a microarray expressziós értékek normál eloszlást követtek, míg az RNA-seq exponenciálist. Később Box-Cox transzformációval is próbálkoztam, de így sem tudtam az értékeket feltornázni. Nem számított. hogy miként normalizáltam. Milyen illesztő programot használtam.

Már kezdtem kifogyni az ötletekből és úgy látszott, a két technológia teljesen összevethetetlen eredményeket produkál, ami túlzottan nem is állt messze a cikkekben olvasottaktól.

A fordulat akkor következett be, amikor csupán néhány gént néztem, amelyeket más kísérletes módszerekkel validáltak és az expressziós profiljuk ismert volt. Egy hirtelen ötlettettől vezérelve azt kezdtem nézni, hogy egy gén hogyan változik a különböző sejttípusok között. Ez viszont nagyon szépen korrelálta két eljárás között! Kiterjesztettem a vizsgálatot sok génre és az eredmény megmaradt.

Tehát ha a géneket expressziójuk alapján sorba rendezem, teljesen más sorrendet kapok, ha RNA-seq vagy microarray adatokból indulok ki. De ha differenciál expressziót nézek, az adatok összevágnak. Látszólag ez ellentmondás, de nem az. Arról van szó (ez feltételezés, nem tudom bizonyítani), hogy a technológiából eredő zaj elég nagy, hogy az egyes gén szintjén megnehezítse a korrekt detektálást, de kisebb, mint a gének expressziós változása. A másik, számomra megdöbbentő eredmény, hogy a korreláció már a nyers, normalizálástól mentes readeszám esetén is kimutatható! Ez persze nem azt jelenti, hogy nem kell normalizálni.

Aztán Angela újabb kéréssel keresett meg. Felkérték még korábban, hogy tartson előadást és gyakorlatot az egyik EBI kurzuson, ami sajnos a gyerek születésével esik egybe. Megkérdezte, átvállalnám-e? El nem bírtam képzelni, mit mondhatnék a tanulni vágyó embereknek, amikor még én magam is tanulom az egészet, de a kíváncsiság legyőzte az aggodalmaimat.

Mikor beszéltem a szervezővel, kérdeztem, miért a Sangerből importálják az oktatókat, hiszen az EBI-ban is van elég bioinformatikus. Azt mondták, a tavalyi oktatók még életükben nem dolgoztak rákos RNA-seq-el, és nem tudtak válaszolni a kérdésekre. Ezért idén nem akarják elkövetni ezt a hibát.

Közben az eredményeimet bemutatták az egyik labor beszámolón, ahol a kutató olyan lelkesen beszélt arról a pár ábráról, amit készítettem, hogy hirtelen hárman is megkerestek, hogy az ő adataikat is fel tudnám-e dolgozni? A főnököm csak annyit mondott, mikor elmondtam mindezeket, hogy azért tartsam észben, hogy ő fizeti a béremet, nem a többi csoport.

Még el sem igazodtam a számtalan feldolgozási módszer között, amikor megint megkerestek, mert úgy hallották, hogy én az egy sejtes módszerekhez is értek (pedig csak egy konferencián voltam), bevennének az egy sejtes RNA-seq munkacsoportba. Talán itt kellett volna azt mondanom, hogy nem. De nem bírtam ellenállni az új technológia csábításának.

Szólj hozzá!

Címkék: filozofálás bioinformatika

SCB 2016 (2. rész)

2016.04.25. 00:51 Travis.CG

Dirk Busch: In vivo T-cell fate mapping at the single cell level
A CD8 T-sejtek száma fertőzés után megnő. Egy részük memória sejtté alakul, hogy egy újabb fertőzés esetén az immunrendszer gyorsabban reagálhasson. A jelenlegi ismereteink szerint a memória sejtek egy asszimmetrikus osztódás segítségével jönnek létre, amikor az egyik sejt effektor sejt lesz, a másik memória sejt. Mikor válik el a két útvonal? A probléma, hogy a sejtosztódás után nem tudni, melyik sejtet szekvenálják meg? Ezért szükséges volt valahogy megjósolni, hogy melyik utód sejt lesz a memória sejt. Készítettek egy matematikai modellt, de sajnos gyenge asszociációt mutatott a valósággal. Végül egy speciális kísérleti elrendezéssel rájöttek, hogyan tolhatják el az osztódást a memória sejt irányába, valamint valós idejű mikroszkópi technikák segítségével választották ki a potenciális memória sejteket. Végső következtetésük, hogy az asszimmetrikus osztódás elmélete nem tartható.

Tapio Lonnberg: Single-cell RNA-sequencing resolves bifurcation of T-helper cell fates
A T-sejtek a fejlődés során lehetnek Th1 sejtek és Tfh sejtek. Kérdés, mi szabályozza a kialakulásukat? Ha az RNA-seq adatokat főkomponens analízisnek vetik alá, két csoportot kapnak, amelyek megfeleltethetőek a két fenti sejttípusnak. Egy Gauss látens változó modellt használva (Gaussian process latent variable model) a 15 ezer gént 2 változóra és egy látens változóra térképezték, majd az adatok további vizsgálata egy biofurkációt tárt fel, ami a sejtek differenciációjával van kapcsolatban. Négyszáznyolc egy sejtes adat alapján a Cyclone algoritmus kihozta, hogy a bifurkációban a Tcf7 és ID2 géne játszák a központi szerepet. Természetesen ezek a gének önmagukban kevesek, hogy kialakítsák egyik vagy másik sejttípust, a többi gén azonosítása még folyamatban van.

Lianne Kok: Symmetry in daughter cell fate upon in vivo T-cell activation
A csoport szintén a Dirk Busch-féle problémán dolgozott, de merőben eltérő technikákat használtak. Több energiát fektettek a laboratóriumi munkába. Az osztódó sejteket barcode-al jelölték. Ennek lényege, hogy ezt a barcode-ot csak az egyik utódsejt örökli, hogy melyik, az a szekvenálás után kiderül. Ők is úgy gondolják, hogy az asszimmetrikus osztódás elmélete téves.

Leïla Perie: Deciphering the hematopoietic pathway at the single cell level: results from cellular barcoding
Ebből az előadásból kiderült számomra, mi a barcode. Ez egy 100 nukleotid hosszú egyedi szekvencia, amit egy Lenti-vírusba építenek és megfertőzik vele a sejteket. Kétezer-hatszáz egyedi szekvenciát állítottak elő, majd egy egyszerű PCR-al követték nyomon a sejtek fejlődését. Legnagyobb meglepetésükre az őssejtek legtöbbje nem produkált eritroblasztot és mieloid sejtet. A hipotézisük az volt, hogy minden progenitor minden sejttípust elő tud állítani, de világossá vált számukra, hogy ez nem igaz. Kérdés, mi dönti el, hogy melyik leszármazási vonal lép életbe? A vizsgálatok több új útvonalat is feltártak, de ezek szabályozása sok esetben sztohasztikus, mert például az Eponak már a mennyiségi változása is hat a differenciációra. Azt hiszem jó ideig fogják még bogarászni az adatokat.

Quin Wills: Nature, Nietzsche and Nurture: the existential crises of 500 gene edited macrophages when prevented from signalling each other
Az előadás a makrofák sejt-sejt kommunikációt próbálta feltérképezni. A kísérlet során megpróbálták a makrofágokat elválasztani a többi sejttípustól, amihez egy gyöngy szűrőt használtak. Az elválasztás egészen jól sikerült, még akkor is, ha egyes makrofágok kajának nézték a gyöngyöket. Az elválasztás után 1 és 8 órával megnézték a gén expressziót, és az érdekesebb géneket kiütötték, hogy ellenőrizzék a feltevéseiket. A munkához fejlesztettek egy Bioconductor csomagot is Scater néven. De erre nem sikerült ráakadnom.

Olivier Stegle: Disentangling the transcriptome and epigenome diversity between single cells
A populáció genetika sok hasonlóságot mutat az egy sejtes szekvenálásokkal. Legalábbis a feldolgozás szempontjából. A sejt-sejt eltérések modellezése nehéz, mert a sejtek nem egyformák, különböző állapotokban lehetnek, ezért célszerű kovariancia mátrixot használni, hogy az azonos állapotban lévő sejteket azonosítani lehessen. A főkomponens analízis önmagában erre nem elég, kell a sejtciklus állapota is, mint prior adat. A technikai zaj újabb forrása lehet a különbségeknek. Megpróbálják az összes változót beleszuszakolni egy egyenletbe és még egy rejtett változót is hagytak az ismeretlen hatásoknak. Az eredmények azt mutatták, hogy a rejtett hatások játszák a legnagyobb szerepet. Ebből is látszik, ha valaki a tudás határán táncol, válaszok helyett csak még több kérdést talál.

Fabian Theis: Decoding temporal order and lineage choice of asynchronously differentiating cells from single cell gene expression data
A sejt osztódás kimenetének jóslása elég nehéz feladat. Jelenleg egy méy tanulásos algoritmus segítségével három generációra előre meg tudják mondani, merre fog a sejt fejlődése tovább menni. A módszer alapja egy több dimenziós manifold, amit véletlen bejárással térképeznek fel. Az eredményekből készítenek egy Markovi állapotváltozás mátrixot, ami a jóslás alapja lesz. Dimenzió csökkentésre t-SNE-t használtak. Röpködtek még durvább kifejezések is, de már ez is jócskán meghaladja a tudásomat. De készítettek egy Bioconductor csomagot destiny néven.

Benjamin Simons: Global oscillations in DNA methylation of primed embryonic stem cells
Az embrióban az őssejtek osztódásuk során dinamikus egyensúlyban vannak, de az osztódás szimmetriája egy idő után megtörik és elkezdődik a differenciáció. Ennek hátterében epigenetikai változások állnak. Mivel már egy sejten is tudnak BS-seq-et végezni, a jelenség vizsgálata egyszerűbbé vált. A naív őssejtekben a metiláció szintje alacsony, de ez az idő előrehaladtával egyre nő. Kis lépétékben osszcillációt is tapasztaltak, ami arra utal, hogy a metiláció egy ciklikus folyamat. Megpróbáltak egy matematikai modellt is készíteni, amit különböző gén kiütéses mutánsokkal ellenőriztek. Az eredmények alapján a modell jól teljesített. Vizsgálták, hogy az oszcilláció mutat-e összefüggést transzkripciós változással, de nem találtak korrelációt. Úgy tűnik a metiláció az egyetlen szabályozó tényező.

Szólj hozzá!

Címkék: bioinformatika

Catherine varázslatos genom böngészője

2016.04.22. 01:31 Travis.CG

Időm és energiám újból a kutatók megsegítésére fordítottam, amikor elfoglaltam helyemet a helpdesk irodában. Már nem egy kis lyukban kellett bámulni a DVI-s monitor képét, ahol csak a falaknak lehet köszönni, hanem egy világos irodában, ahonnan egyenesen rálátni a kis mesterséges tóra, ahol naphosszat vadludak tanyáznak.

Mikor megnéztem a kéréseket, az egyik mellett ott virított a "stagnál" embléma, ami azt jelezte, hogy a kérés jó ideje húzódik, nincs megoldva. A kutató - nevezzük Samnek az egyszerűség kedvéért - szerette volna, ha Catherine genom nézegetőjét kicsit feltupíroznánk, hogy tetszőleges struktúrális variációt tudjon megjeleníteni.

Rendben, nem probléma. De ki az a Catherine és miféle böngészője van? Lassan már fél éve itt vagyok, de egyikről sem hallottam. Rákerestem az intézeti wiki oldalakon, de egyikre sem jött találat. Lementem a nagyágyúkhoz. A legtöbb vén róka valami konferencián volt Barcelonában, akik maradtak, azok nem tudtak segíteni. Ők sem tudták miféle böngészőről van szó.

A legjobb lesz, ha felkutatjuk Samet és megkérdezzük személyesen. Mivel nem ismertem, a Sanger weboldalán megkerestem Sam fényképét. Hű, de ismerős! Aztán jobbra fordultam, és ott ült kettővel mellettem. Megkértem, mutassa meg Catherine genom böngészőjét. Beírt valami címet, amiben csak úgy hemzsegett a web01, local, dev és egyéb kulcsszavak.

A böngésző egy sima weboldal volt, ami egymás alá a kromoszómáknak számának megfelelően kirajzolta a Manhattan plotokat. Minden kép ugyan olyan széles volt, csak a vízszintes tengely beosztása jelezte, hogy azért méretben ezek eltérnek. Az oldal csiga lassan töltődött, ahogy egy teljes humán genom kópiaszám variációit próbálta kirajzolni. A böngésző izzadva próbálta futtatni a JavaScriptet, miközben Sam türelmetlenül rángatta a gördítő sávot. Közben az egekig magasztalta a proramot:

- Erre nem képes az IGV. Itt látom az összes kromoszómát egyben. Ha pedig akarom, akkor egyetlen pontra is rá tudok nagyítani.

Buzgón nagyítani kezdett. Szinte hallottam a böngésző jajveszékelését, ahogy igyekezett végrehajtani a kapkodó egérmozgásokat. Végül sikerült. Az egész képernyő fehérré változott és csupán egyetlen türkíz pötty virított. Sam megnyugodott. Egy végtelennek tűnő pillanatig mindketten csak azt az egy pontot bámultuk. Közben azt kérdeztem magamtól: ez mire jó? Miért jó, hogy egyetlen pöttyöt bámul? Így akarja végignézni mind a kétmillió adatot?

Megköszöntem a felvilágosítást. Miután véget ért a Barcelonai konferencia, előhozakodtam Sam furcsa kérésével. A rangidős bioinformatikus végighallgatta, majd elmagyarázta, hogy a web01/local/dev-hez nincs hozzáférésünk, azt valami másik csoport kezeli. Egy embernek egyébként sem fejlesztünk egy teljes weboldalt, ráadásul ha az adatait BigWig-be konvertálja, akkor az IGV is ugyan úgy megjeleníti.

- De Sam az összes kromoszómát látni akarja egyszerre

- Az IGV is tudja.

Betöltött a szemem előtt egy fájlt. Amíg nem választotta ki a kromoszómát, az összes adat egymás mellett ott virított a képernyő tetején.

- De Sam egy pöttyre is rá akar nagyítani.

- Az IGV azt is tudja.

Ránagyított egy pontra. Csinált a két állapotról egy-egy képernyő képet, egyetlen komment nélkül csatolta Sam hetek óta húzódó kéréséhez, majd ráklikkelt a "Megoldva" gombra.

Szólj hozzá!

Címkék: életmód bioinformatika

Cseppet sem objektíven: Revision2016 1. rész

2016.04.13. 00:45 Travis.CG

Az idei Revision fotelscener szemmel igen impozánsnak tűnt. A kompók sok indulót felvonultattak és a megtekintésük után ki merem jelenteni: ilyennek kell lennie a scene-nek 2016-ban. Vegyük végig az egyes kategóriákat és nézzük, miből csemegézhetünk.

Zenék

A zenéket munka közben hallgattam, ami egyfajta szűrőként működik. Összességében az oldschool zenék jobban bejöttek. Magam is meglepődtem ezen, mert egyes régi gépek csipogását egyszerűen nem bírom elviselni. Pedig még akapella is volt. De ha mégis ki kell emelni egyet, akkor a Mesopotamiat tennem:

A régi gépek zenéi közül az Orch-OR egészen remek volt. C64 vonalon a Club Revision vitte a prímet. Az Electric Donkey Muscles pedig megmutatta számomra, hogy a NES hangja igen kellemes. Eddig ez valahogy elkerülte a figyelmemet.

Grafikák, Fotók

A fotók száma viszonylag alacsony volt, de a szokásos kategóriák képviseltették magukat. Úgy mint természet:

Csak scenerek által értett poénos:

Kevés ruhás nős:

Modern grafikában kevés jó kép volt, de az a kevés kárpótolt mindenért. Példának okáért itt van a második helyezett kép, aminek magyar vonatkozása is van, mert Unreal készítette.

A hozzám hasonló avatatlan szeműeknek javaslom a kompó megtekintését, mert ott az alkotás fázisait is bemutatják, ami például a fenti kép esetében nagyon tanúságos.

Oldschool vonalon nem meglepő módon a gépek tudása erősen befolyásolta a sorrendet. Slayer képe mégis több, mint a színes pixelek összessége. Van benne kompozíció és elég absztrakt, hogy mögöttes tartalmat sugalljon:

Paintover kategória azért volt érdekes számomra, mert felért egy pszichológiai tanulmánnyal. A résztvevők kaptak egy kriksz-krakszot és abból alkottak képet 24 óra alatt. Itt is javaslom a YouTube verzió megtekintését, mert sokkal érdekesebb, mint a végeredmények megtekintése. Éppen ezért nem is emelném ki egyiket sem. A maga nemében az összes tetszett (na jó, a Sharp Eyes tényleg elég egyszerű a többihez képest).

Az ANSI/ASCII képek a maguk limitált lehetőségeivel kihozzák a résztvevőlből a maximális kreatív potenciált. Így láthattunk például egy egész kalóz történetet karakterekbe sűrítve, vagy egy szegeny kiscicát, aki megpróbált elmenni Revisionre.

A procedurális 4k grafikákkal zárnám. Ez egy elég nehéz műfaj, mert nem csak a képnek kell szépnek lennie, de a megjelenítést le is kell programozni. Ebben pedig a Loonies vitte a pálmát. Nekem egy béna monitorom van, de mikor megjelent, azt hittem valami fotót látok. Avatottab szeműek szerint nem éri el a fotorealizmus szintjét, de ők csak irígyek.

Szólj hozzá!

Címkék: demoscene

A valaha készült legjobb demó

2016.04.01. 11:09 Travis.CG

Nem hittem volna, hogy még az én életemben elkészül az a demó, ami az őrületbe kergeti a teljes scene közösséget. A fórumok orrba-szájba csak ezzel vannak tele. Smash a demó megtekintése után úgy döntött, többet nem fog kódolni, csak 3D Studioval készít rendereket. A Cocoon, Still és más neves csapatok letörölték az összes kódot, amit eddig GitHub-ra feltettek. Iq már csak színes négyzeteket pakol egymás mellé:

Szegény ördög még a dátumot is rosszul írta! Döbbenet, mit hoz ki ez az alkotás még a legnagyobbakból is!

A készítől állítólag a legújabb Vulcan API-t használták, amivel a videókártyák teljesítményét új dimenziókba emelték, de úgy, hogy erről még a videokártya gyártók sem álmodtak. Az NVidia és az ILM egymással versengve próbálja elcsábítani a kódert. A zenét 10 másodperces darabokban értékesítik különböző reklámügynökségeknek, mert ha csak egy cég kapja meg a jogokat, akkor az monopóliumnak számítana.

Én eddig kétszer próbáltam megnézni, de mindkét alkalommal már az első négy másodperc elteltével epilepsziás rohamot kaptam. A feleségem annyira aggódott miattam, hogy végül letörölte a gépről a demót és egy harapófogóval elvágta az UTP kábelt, nehogy az éjszaka közepén titokban nekiálljak nézi és valami maradandó bajom legyen.

A megfelelő óvintézkedések közepette belinkeltem a YouTube verziót, de mindenki csak saját felelősségére tekintse meg. Javaslom megtekintés előtt egy pánk gomb alkalmazás letöltését okostelefonra. Vagy legyen jelen egy másik ember, aki füldugóval háttal ül a képernyőnek. Erről a demóról van szó:

Más scenerek így vélekednek az alkotásról.

Szólj hozzá!

Nyulak

2016.03.27. 22:00 Travis.CG

Kellemes Húsvéti Ünnepeket minden olvasómnak.

img_8800.JPG

img_8801.JPG

Szólj hozzá!

SCB 2016 (1. rész)

2016.03.20. 15:45 Travis.CG

Ismét egy konferenciára mentem. A Single Cell Biology egy három napos konferencia volt, ahol az egy sejtes technikáké volt a főszerep. Igen megdöbbentő volt számomra látni, hol tart a biotechnológia és ezek miként formálják át tudásunkat. Immár nem csak az a kérdés, hogy tudunk-e szekvenálni egy sejtből, hanem tudunk-e többféle szeknvenáláshoz is elég mintát izolálni. A mikroszkópoknak már nem jelent gondot, hogy feltérképezzék a sejtek helyzetét egy szövetben, hanem tudjuk-e mindezt élő szöveten végrehajtani.

A céges kiállításokat is végignéztem. Egyrészt, mert olyan eszközöket láttam, ami tíz éve még a tudományos-fantasztikus könyvekben sem fordult volna elő. Kedvencem az a nanocseppes készülék volt, ami a folyadék mintákat ultrahanggal megrezegteti. Ettől nanoliteres cseppek válnak ki és tapadnak egy fejjel lefelé fordított edénybe. A felületi feszültség miatt ott maradnak és PCR-t, szekvenálást vagy egyéb vizsgálatokra alkalmas. Biztos az üzletkötő agyára mentem, mert egyfolytában kérdeztem, hogy ezt vagy azt a lépést hogy csinálják? Kipróbáltam egy mikro manipulátort is. Előtte megkérdeztem, nem tudom-e elrontani. Szerencsére bioinformatikus biztos volt.

Alexander van Oudenaarden: Revealing novel cell types and cell-cell interactions using single-cell transcriptomics
A sejt-sejt kapcsolatok vizsgálata egy konvergencia eredménye, ami egyrészt az új generációs szekvenálási technikák, másrészt az immunokémiai kutatások eredménye. A vizsgálatuk tárgya a csont volt, amit sejtekre szedtek. Ha a sejtek mégis együtt maradtak, akkor közöttük egy nagyon erős interakció lehet. Ezeket utána mikropipettával szétszedték és meghatározták a transzkriptómukat. Meghatározták a transzkriptómok távolságát, ami a gének nagy száma miatt több dimenziós volt, majd két dimenzióra vetítették azt. Az így kapott interakciós térképet tovább vizsgálták és klasztereket kerestek. A kapott hipotéziseket mikroszkóppal és randomizált modellezéssel is ellenőrizték. Az előadás második részében az 5 hidroxycitozin metilációs (5hmc) vizsgálatokról volt szó. A citozin a Dnmt hatására 5 metil citozin lesz. A Tet enzim segítségével alakulhat tovább 5hmc-vé, de passzív módon válhat ismét citozinná. A szekvenáláshoz a sejtet lizálták, glikolizálták, AbaSI-vel emésztették, majd T7 promótert ligáltak rá, amivel a DNS szálirányt is meghatározták. A rendszer specificitása elég jó. Azt vették észre, hogy az utód sejtek öröklik a szülő szálakra specifikus 5hmc mintázatát. Ebből arra következtetnek, hogy az epigenetikus memóriához lehet köze.

Timm Schroeder: Long-term single cell quantification: New tools for old questions
Ebből az előadásból inkább a csoport munkáját ismerhettük meg, mint az eredményeiket. Olyan képfeldolgozó rendszereket fejlesztenek, amelyek segítenek a sejtek populációban betöltött szerepét nyomon követni. Elsődlegesen C++-ban QT-vel és OpenCV-vel dolgoznak. Kiemelte még, mennyire fontos az interdiszciplináris hozzáállás, amiben még a kávéautómata elhelyezése is fontos szerephez jutott. Igyekeznek mindent automatizálni, de elengedhetetlen, hogy egyes lépéseket még emberek hajtsanak végre kézzel. Bemutattak még egy rendszert, ami morfometria alapján az őssejt sorstérképét meghatározza, valamint egy igen impresszív animációt egy lábszár csontról egy sejtes felbontásban, 10 sejttípust színezve egyszerre.

Lacramioara Bintu: Dynamics of Epigenetic Regulation at the Single-Cell Level
A kromatin szabályozása lehetővé teszi, hogy a gén expressziós állapot fennmaradjon a traszkripciós komplexek távozása után is. Ennek az epigenetikus memóriának a jobb megértésére az egy sejtes vizsgálatok a legalkalmasabbak. Dox és Tet mutánsok expressziós változásait követték nyomon mikroszkópos eljárásokkal, hogy meghatározzák a folyamatok dinamikáját. Négy kromatin regulátort is vizsgáltak. Megállapították, hogy az egyes regulátorok más-más hosszúságú memóriát alakítanak ki. A HDAC4 rövidet, a DNMT3B hosszút, míg az EED és a KRAB változó hosszúságút.

Inge Nathke: Placement of daughter cells after mitosis regulates exit from the stem cell niche in intestinal crypts
A bélbolyhok alapját képező őssejtek nem tudni, mi alapján differenciálódnak. Annak eldöntésére, hogy a sejt helyzete fontos szerepet játszik-e ebben a folyamatban, különböző képfeldolgozó módszereket vetettek be: kezdetben F-aktint jelöltek fluoreszcens festékkel, de ez csak síkban ábrázolta a sejteket. Később 2 foton mikroszkópiát használtak, ami már megmutatta a struktúrát, de még mindig halott szövetet vizsgáltak. Így jutottak el az organoid vizsgálatokhoz. Itt a nukleusz mozgását követték nyomon a sejten belül. Azt vették észre, hogy kétféle mitózis van. Az egyiknél mindkét utódsejt tovább osztódik, míg a másiknál csak egy egyik. A kétféle mitózis előfordulásának aránya 1:3. Az APC mutánsok esetén az utódsejtek közel maradnak a szülőkhöz, nehezen mozognak. Azok az utódsejtek, melyek többet mozognak, elhagyják eredeti helyüket és differenciálódhatnak.

Xiaoyan Qian: Studying intratumour heterogeneity by in situ sequencing
A tumor heterogenitása nem csak a tumor fejlődést befolyásolja, de a terápiában is fontos szerepet tölt be. A csoport ezért kidolgozott egy módszert, amivel kis számú gén expressziós változását tudják nyomon követni élő sejtben. A fluoreszcens jelölésen és mikroszkópos nyomon követésen alapuló módszer segít jobban megérteni a sejtek lokalizációja és expressziója közötti összefüggéseket. A módszert használva a tumor populációk is elkülöníthetőek. Ehhez egy ACCENSE nevű sejt klasszifikációs algoritmust is felhasználtak.

Ido Amit: Shaping the blood: Lessons from Chromatin and single cell RNA dynamics
A haematopoetikus őssejtek differenciációja koránt sem olyan egyértelmű, mint ahogy azt az egyetemistáknak magyarázzák és a sejtek leszármazási fáját bizonyos csoportok máshogy definiálják. A csoport ezért egy erősen párhuzamosított egy sejtes RNA-seq-el igyekszik a kérdés végére járni. A szekvenáláshoz robotokat használnak, így érik el a hihetetlen 1000 szekvenálás/nap arányt. Tizenkilenc szubpopulációt azonosítottak és próbálták meghatározni, mi a közös az egyes csoportokban. A sejtfelszíni markerek nem egyértelműen jelzik az egyes csoportokat. A transzkripciós állapot hasonló, de szintén nem azonos a klaszterekkel. A kromatin állapot viszont összevág a transzkripciós eredményekkel. Eredményül egy új mieloid leszármazási elmélet született. Az egyik konklúzió, hogy a kromatin térkép egy sejtes RNA-seq-el kombinálva igen hatékony eredményt ad.

John Marioni: Using single-cell genomics to study early development
A gasztruláció vizsgálata eddig igen nehéz volt, de hála az új egy sejtes szekvenálásoknak ez már könnyebb. Sajnos sok technikai zaj van, ezért a csoport új normalizálási eljáráson is dolgozik. A nagy variabilitást mutató géneket vették tüzetesebben szemügyre. Hierarchikus klaszterezés és dinamikus csoportbontás után 10 gén klasztert sikerült elkülöníteni. Ezen gének expresszióját felhasználva megpróbálták a sejteket is csoportosítani SNE módszerrel. Ezután arra próbáltak rájönni, hogy a klaszterek milyen biológiai hasonlósággal bírnak. Az eredmények elég inkonzisztensek voltak, és én végre láthattam a világ legrondább boxplotjait.

Szólj hozzá!

Címkék: bioinformatika

Point sprite-ok OpenGL-el

2016.03.16. 00:50 Travis.CG

Ha a háromszög túl sok, ha a vonal túl unalmas, ha a jelszavunk: zéró poligon, akkor a pontok segítségével kápráztathatjuk el a nézőket. Már a korai OpenGL verziókban is használhattuk a glBegin(GL_POINTS) hívást, de a pontok koordinátáit kénytelenek voltunk CPU-n számolni.

Ahogy fejlődtek a grafikus kártyák és nőtt az OpenGL verziószám, úgy tudtunk egyre több kódot átpakolni GPU-ra. Most egy olyan technikát akarok bemutatni, ami az összes logikát shaderekből valósítja meg. Miért jó ez? Már korábban is törekedtem arra, hogy a shadereket egyfajta szkript nyelvként használjam és úgy tudjak változtatni a jeleneteken, hogy ne kelljen újra fordítani a kódot. Ez remélhetőleg el fog vezetni egy viszonylag egyszerű demo toolhoz.

Az ötlet nem a sajátom, a vertexshaderart.com az alapja. Nagy vonalakban úgy néz ki, hogy a CPU-n lefoglaljuk a memóriát a csúcsoknak, de nem állítunk be semmit, betöltjük a shadereket, majd kirajzolunk mindent pontként. A koordinátákat a vertex shader határozza meg a csúcsok sorszáma alapján. A fragment shaderrel még játszunk a megjelenítésen, és kész.

Lássuk a kódot! Az ablaknyitástól és egyéb "unalmas" lépésektől most eltekintek. Ha hatalmas komment áradat követeli, akkor beteszem a teljes kódot, de ettől jelenleg nem tartok.

glEnable(GL_TEXTURE_2D);
glEnable(GL_PROGRAM_POINT_SIZE);

glGenVertexArrays(1, &pointsprite);
glBindVertexArray(pointsprite);

GLfloat *spritecoords;
spritecoords = (GLfloat*)malloc(POINTNUM * sizeof(GL_FLOAT));
glGenBuffers(1, &pointsprites_vba);
glBindBuffer(GL_ARRAY_BUFFER, pointsprites_vba);
glBufferData(GL_ARRAY_BUFFER, POINTNUM * sizeof(GL_FLOAT), spritecoords, GL_STATIC_DRAW);
glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 0, NULL);
glEnableVertexAttribArray(0);
free(spritecoords);

Létre hozunk egy vertex arrayt, abban egy buffert, lefoglaljuk a memóriát, átmásoljuk a GPU-ra, majd a CPU-n mindent felszabadítunk. Még arra sem vesztegetjuk a drága erőforrásokat, hogy a pointjainknak textúra koordinátát tartsunk fenn. Pedig fogunk textúrázni is! A GL_PROGRAM_POINT_SPRITE bekapcsolása fontos lépés, mert a pontunk méretét is meg akarjuk változtatni a shaderben.

A kirajzolás szintén semmi újat nem tartalmaz:

glUseProgram(textsprite);
glActiveTexture(GL_TEXTURE0);

glBindTexture(GL_TEXTURE_2D, index);
GLint loc = glGetUniformLocation(textsprite, "img");
glUniform1i(loc, 0);

glBindVertexArray(pointsprite);
glDrawArrays(GL_POINTS, 0, POINTNUM / 2);

Természetesen további uniform változókat is használhatunk, hogy további érdekes effekteket hozzunk létre. Például átadhatnánk az időt, mint paramétert. A képernyő felbontást, egér pozíciót, stb. Továbbá mellőzöm a shader betöltő kódot is.

Térjünk rá a móka részére! Vertex shaderünk bemeneti változói közül így csak a gl_VertexID-t tudjuk használni. Ez nem más, mint egy egész szám 0-tól POINTNUM-ig (csak, hogy konzekvens legyek a kóddal). Ebből határozhatjuk meg a sprite-ok helyzetét. Például ha van 8000 pontunk, akkor a következő kóddal színusz hullám formájában rajzolhatjuk ki őket:

#version 410

void main(){
   float x = gl_VertexID / 8000.0 - 1.0;
   float y = sin(x) * 200.0);
   vec2 vertex = vec2(x,y);
   gl_Position = vec4(vertex, 0.0, 1.0);
}

Ez elég érdekes, de tudunk ennél jobbat is! Például textúrát húzhatunk rájuk. Egy pontra nem sok értelme van textúrát húzni, de a pontjaink méretét tudjuk változtatni a gl_PointSize változóval. Meglepő módon pixelben kell megadni a méretet, ami (legalábbis nekem) szokatlan, hiszen minden más értéket 0-1 közötti számmal kell definiálni. Ezt a felbontás független kód írásánál érdemes észben tartani.

#version 410

out vec4 FragColor;
uniform sampler2D img;

void main(){
   FragColor = texture(img, vec2(1.0, -1.0) * gl_PointCoord);
}

A fenti fragment shader használatával sprite-jaink mindegyike ugyan azzal a textúrával lesz bevonva. A gl_PointCoord változó kiszámítja nekünk a megfelelő textúra koordinátákat. Azért sok, egyforma alakzat unalmas. Adjunk egyéniséget spritejainknak! Például pozíciótól függően változtassuk a textúrát. Vertex shaderünk egy kicsit átalakul:

#version 410

out vec2 textcoord;

void main(){
  float x = gl_VertexID / 8000.0 - 1.0;
  float y = sin(x) * 200.0);
  vec2 vertex = vec2(x,y);
  textcoord = vertex;
  gl_Position = vec4(vertex, 0.0, 1.0);
}

A fragment shader is módosul, de nem sokat:

#version 410

out vec4 FragColor;
in vec2 textcoord;
uniform sampler2D img;

void main(){
  FragColor = texture(img, vec2(1.0, -1.0) * textcoord);
}

Ez már sokkal érdekesebb hatás. Kísérletezzünk bátran. Próbáljunk ki őrült ötleteket, hátha valamelyik megtetszik.

Szólj hozzá!

Címkék: programozás demoscene opengl

Dragen, feltámad az FPGA

2016.02.29. 23:13 Travis.CG

Még 2008-körül az FPGA tűnt egy igen ígéretes megoldásnak a bioinformatikát uraló feldolgozási krízisnek. Senkinek nem volt elég a CPU adta teljesítmény. Egyre másra jelentek meg a Blastok, Bowtie-ok és más alkalmazások FPGA verziói. Később kiderült, hogy hiába a gyors feldolgozás, a I/O műveletek jelentik a szűk keresztmetszetet és még a legnagyobb fanatikus is kénytelen volt elismerni, hogy azért az FPGA sem jó mindenre.

Nemrég az Edico Genome jött hozzánk előadást tartani, ahol bemutatták a Dragen Cancer Pipeline nevű csodájukat. Habár mindenhol csak a PCI foglalatba illeszthető kártyát lehet látni, az előadás során világossá vált, hogy önmagában ezt nem lehet megvenni, hanem a hozzá adott PC körítés is a csomag része.

A gép mai szemmel nézve elég impozáns jellemzőkkel bír. Tizenkét mag, 128GB memória és sok terabyte tárhely (RAID-be kötött SSD-k). A kártyán is található 32GB dedikált memória. Az előadó szerint ez olyan specifikáció, amit nem kell hardver szinten fejleszteni. Azért egy ilyen mondatot bedobni egy bioinformatikus hallgatóságnak nagy bátorság. De ezért csodáljuk az üzletkötőket.

Az is elhangzott, hogy nem akarnak minden lépést FPGA-ra implementálni. A pipeline egyes részei a CPU-n futnak, és a kártyához adott hardverrel garantálni lehet teljesítményt, míg egy más forrásból beszerzett számítógépnél léphetnek fel gondok. Ez a lépés nekem szimpatikus.

Természetesen láttunk teljesítmény görbéket, de nem is érdemes szót ejteni róluk, úgyis mindenki tudja, mit tartalmaz: ők a legjobbak, pont. Az előadás szerint egy 30x lefedettségű humán genomot 1 óra alatt teljesen feldolgoz. Ez BWA + GATK konbinációval napokban mérhető. Legalábbis az üzletkötő szerint. Biztos sokat futtatta, azért tudja ilyen jól.

Az illesztőprogram egy saját fejlesztésű hash-alapú algoritmus, egyenesen FPGA-ra tervezve. A variációk keresése már CPU-n megy, erősen párhuzamosítva. Van liszenszük a GATK-ra, egyfajta viszonteladókként működik a cég. Ha viszont a megrendelő más programra esküszik, azt is megkaphatja előtelepítve.

Ami viszont nem tetszett, az az üzleti modell. A gépet nem lehet fix összegért megvenni, hanem a feldolgozott adattal arányos pénzt kell fizetni. Ha tehát kijön egy új referencia és az összegyűjtött adatokat újrafuttatják, akkor újra lehet fizetni. Mert ez a másik oka, amiért kell a számítógép. Az FPGA önmagában nem tud hazatelefonálni, hogy megmondja, aznap mennyi adaton rágta magát keresztül.

A rendszer egyébként kellően flexibilis. Egyrészt neten keresztül tudja frissíteni magát, másrészt van lehetőség egyedi pipeline-al kérni a gépet. Nálunk valószínűleg nem rakják ki a bioinformatikusokat, hogy FPGA-s gépekre cseréljék őket, de talán a klinikai diagnosztikában több létjogosultsága lesz.

Szólj hozzá!

Címkék: bioinformatika

Amikor a p-érték arcon köp

2016.02.28. 00:42 Travis.CG

Egy bevezető kísérlet kapcsán egér oesophagus exome szekvenciákat kellett feldolgoznom. Meghatázotam a mutációkat, annotáltam mindegyiket, majd elkezdtem a mintákat különböző módszerekkel csoportosítani, hátha kirajzolódik valami szabályszerűség.

Készítettem egy bináris mátrixot is, ahol a sorok a géneket jelölték, az oszlopok a minták voltak, majd egy egyszerű binomiális teszttel megpróbáltam meghatározni a feldúsulásokat. A szignifikáns találatokat összegyűjtöttem, majd egy ki-a-fasza-gyerek mosollyal átnyújtottam.

A lista tetején ott virított a Ttn gén. A mosoly gyorsan lehervadt az arcomról, mikor ezt a cikket kaptam válaszul. Már az absztraktban arra hívják fel a figyelmet, hogy a Titin gén a legtöbb elemzésben feljön, mert nagyon hosszú és ezért statisztikusan több mutáció található benne. Sajnos a cikkben egy Matlan szkript jelenti a megoldást. Én inkább normalizáltam a találatokat a gének hosszával. A Titin eltűnt, de azért maradtak így is szaglással kapcsolatos gének.

A másik vicces eset egy RNA-seq feldolgozás során jött elő. Mutagénnel kezeltek egereket, majd RNS-t izáláltak bizonyos idő elteltével. A jól bevált TopHat/Cufflinks/cummeRbund mesterhármassal könnyen meg is lehetett határozni azokat a géneket, amelyek expressziója szignifikánsan eltér a kontrollhoz képest. A qPCR validáláshoz olyan géneket akartunk kiválasztani, amelyek szép nagy változást mutatnak, ezért a log fold change alapján sorba rendeztem a táblázatot, és visszaküldtem az eredményt, hogy kedvükre szemezgessenek belőle.

Jött is a válasz, hogy nem tudni miért, de a qPCR-el nem lehet expressziót kimutatni. Ez meg hogy lehet? Rövid keresgélés után meg is találtam a választ. A kontrollban a normalizált expresszió 0.0001, a kezelés hatására felment 0.01-re, ami szép százszoros változás. A statisztikai tesztek teljesen elégedettek voltak, csak épp az egésznek semmi értelme nem volt. Végül kiszűrtem az összes gént, aminek az expressziója 1 alatti minden mintában (elég önkényes, de mivel kevés gént akartak ellenőrizni, szerintem megbocsátható).

Nem olyan nehéz ebbe a hibába esni. Mi sem bizonyítja jobban, hogy az egyik csoportbeszámolón a bioinformatikus mutatta a táblázatokat mindenféle FDR értékekkel. Mikor az egyik vezető kutató firtatni kezdte, hogy milyen furcsa, hogy az egyik gén benne van a listában, amikor csak egy mintából lehet kimutatni, az előadó azzal védekezett, hogy az FDR alacsony, annak jónak kell lenni. 

Én szeretem a p értéket. Sokat segít, ha az adatok el akarnak borítani minket. De nem szabad csak rájuk hagyatkozni. Mindig van valami extra információ, ami támogatja a döntéseket. Használni kell azokat is.

Szólj hozzá!

Címkék: filozofálás bioinformatika

Nem készülődés QB Partyra

2016.02.14. 23:59 Travis.CG

Idén is lesz QB Party. Van szép weboldal és érdekes szabályok. Az egyik például, hogy a készülő demóról semmilyen információ nem kerülhet fel az internetre.

Tehát nem készítek demót. A nem készülő produkciónak nem lesz története, ami kicsit kifejezné a tavalyi évben átélt megpróbáltatásokat. Mivel a költözéssel sok idő elment, ezért az el nem készülő produkcióval nem akarom visszaszerezni az utóbbi időben megcsappanó demós motivációmat.

Ha vissza akarnám szerezni, valószínűleg egy minimalista demót készítenék, ahol igen erősen támaszkodnék az OpenCV-s ismereteimre. Talán még az is megfordulna a fejemben, hogy igen erős absztrakt motívumokkal dolgozzak, mert így a grafikának nem kell tökéletesnek lennie, elég, ha felismerhető. Sokkl nagyobb kreatív szabadságot ad, mintha mindent a néző arcába akarnék tolni.

Mivel nem lesz release, nem kell aggódnom, hogy milyen gépen fejlesszek. Nem kell például Visual Studiot telepíteni a céges laptopra (amire egyébként sincs adminisztatív jogosultságom) és nem kell az egész koncepciót úgy felépíteni, hogy fusson egy Intel GMA platformon. Kár, mert felfedeztem, hogy már itt is támogatott az OpenGL 4. Nem baj, majd máskor. Pedig ha készítenék demót, ki tudnám használni a buszon eltöltött fél órát, amíg elérem a kampuszt.

Jó is, hogy nem csinálok demót, mert a tabletem kameráját kellett volna használni a tartalmak elkészítéséhez. Kellett volna írni egy OpenCV programot, ami egy videót bináris textúrák halmazává alakít. Mivel nem akarnék sok időt fektetni a demóba, talán a TGA formátumot választom, mert azt viszonylag egyszerű kóddal is be lehet olvasni.

Bizonyára lennének hátráltató tényezők. Mivel már régen írtam OpenGL programot, lehet, hogy már az elején problémákba ütköznék. Olyan problémába, mint amilyen a GLFW és a GLEW inicializálásából adódna. Egészen pontosan az inicializálás sorrendjéből. Tegyük fel, írnék egy ilyen kódot (amit természetesen nem teszek meg és nem teszek bele a nem létező demóba):

    glewExperimental = GL_TRUE;
    glfwInit();
    glewInit();
    monitor = glfwGetPrimaryMonitor();
    mode    = glfwGetVideoMode(monitor);
   
    window = glfwCreateWindow(mode->width, mode->height, "Compofiller", monitor, NULL);

    if (window) {
        glfwSetInputMode(window, GLFW_CURSOR, GLFW_CURSOR_HIDDEN);
        glfwMakeContextCurrent(window);
        glfwSetKeyCallback(window, key);
        Demo *demo = new Demo("", mode->width, mode->height);
        while (!glfwWindowShouldClose(window)) {
            demo->update();
            glfwSwapBuffers(window);
            glfwPollEvents();
        }
        glfwSetInputMode(window, GLFW_CURSOR, GLFW_CURSOR_NORMAL);
        delete demo;
    }

    glfwDestroyWindow(window);
    glfwTerminate();

A kód hiba nélkül lefordulna, de az újabb OpenGL hívásoknál, mint amilyen a glGenVertexArray, access violationnal elszállna. Feltételezem sok időt töltenék egy ilyen hiba felderítésével. Reménytelenül olvasnám az OpenGL fórumokat, míg végül kiderülne számomra is, hogy a glewInit() függvényt glfwMakeContextCurrent() után kellene meghívni, hogy minden rendben fusson.

Többek között ezektől is megóvom magamat azzal, hogy nem fecsérlem az időmet arra, hogy QB Partyra írjak demót.

Szólj hozzá!

Címkék: demoscene

MikroRNS elemzés mirDeep-P-vel

2016.02.13. 23:05 Travis.CG

Ha a klikkelős, bugos, zárt forráskódú mikroRNS elemző programokból elegünk lesz, érdemes megnézni, milyen alternatívákkal dolgozhatunk. Az egyik ezek közül a mirDeep-P. A telepítése nem igényel különleges előkészítéseket. A Bowtie legtöbb bioinformatikus kelléktárában már megtalálható, a Vienna package pedig egyszerű C programok halmaza.

Az első komolyabb lépés a szekvenciák átalakítása egy redundanciától mentes formára, ami így néz ki:

>azonosito_xszam
szekvencia

Mivel a szekvenciák elég rövidek, célszerű azt használni azonosítónak is, mert az eredemény fájlokból könnyen meglesz a szekvencia is. Ezzel az egyszerűsítéssel a szekvenciák átalakítására elég egy parancssori szkript:

awk '{if( (NR-1) % 4 == 1)print}' input.fastq | sort | uniq -c | awk '{print ">"$2"_x"$1"\n"$2}' >input.fasta

Mit is csinál ez? Az első awk kiszedi minden negyedik sort a második sortól kezdődően. Sorba rendezzük, megszámoljuk mennyi van, majd a második awk a fenti formátumra hozza ezt.

A vizsgált élőlény genomját beindexeljük Bowtie-al. Ez elég egyszerű lépés, de akadhatnak problémák. Például a búza genomja olyan nagy, hogy az index nem fér bele a 32 bites számábrázolásba. Az egyik lehetőség a bowtie2 használata, ami támogatja a 64 bites indexeket, vagy az A, B, D genomonkénti indexelés.

Szükség lesz még a potenciális r/t/s/snoRNS-ek helyére GFF formátumban. Jól annotált élőlényeknél ezt könnyű letölteni, de előfordulhat, hogy nekünk kell elkészíteni. Az RFam adatbázisból letölthetőek az ismert RNS-ek, egy Blast segítségével magunk is készíthetünk közelítő megoldást.

Miután minden feltétel teljesült, ideje futtatni a szkripteket.

bowtie -p 6 -a -v 0 bindex -f input.fasta >align_to_genome.tmp

Sok magyarázatot nem kell fűzni. A readeket illesztjük a genomra.

convert_bowtie_to_blast.pl align_to_genome.tmp input.fasta reference.fasta >align

A Bowtie kimenetet táblázattá alakítjuk.

filter_alignments.pl align -c 15 >depth.filtered

Szűrűnk lefedettség alapján.

overlap.pl depth.filtered data/ncRNA.gff -b >overlap_ncrna

Megnézzük mely illesztések fednek át más RNS típusokkal.

alignedselected.pl depth.filtered -g overlap_ncrna >noncrna

Kiszűrjük, a szükségtelen illesztéseket.

filter_alignments.pl noncrna -b input.fasta >candidate.mirna.fasta

A filter_alignments másodszori futtatásával a readeket szűrjük. Ez a kimenet majd egy későbbi lépésnél lesz fontos.

excise_candidate.pl reference.fasta noncrna 250 >precursors.fa

Meghatároztuk a prekurzorokat.

cat precursors.fa | RNAfold --noPS >hairpins.txt

Az RNS prekurzor térbeli struktúráját határozzuk meg. Ez a lépés a leglassabb és itt érdemes párhuzamosítani. Először is a prekurzorok lehetnek redundánsak, különösen egy repetitív elemekkel gazdagított növény esetén. Ha a prekurzos szekvencia nukleotidra pontosan megegyezik, felesleges kétszer lefuttatni ugyan azt az algoritmust. A következő szkript eltünteti a redundanciát:

grep -v "^>" precursors.fa | sort -u | awk '{print ">"NR"\n"$1}' >precursors.nored.fa

Ha van lehetőség, hogy farmon vagy több gépen elosztva futtassunk, akkor célszerű a precursors.nored.fa fájlt több darabra szétszedni és úgy futtatni. A térszerkezetek megfeleltetése az eredeti kandidáns mikroRNS prekurzoroknak egy kicsit nehezebb, több kódolást igényel.

bowtie-build -f precursors.fa bindex/precursors

Készítünk egy Bowtie indexet a prekurzorokból.

bowtie -a -v 0 bindex/precursors -f candidate.mirna.fasta >align_to_precursors.tmp

Emlékszünk még a kandidáns miRNS szekvenciákra? Itt az idő, hogy felhasználjuk őket és a prekurzorokra illesszük őket.

convert_bowtie_to_blast.pl align_to_precursors.tmp candidate.mirna.fasta precursors.fa >align2

Régi ismerősünk, a Bowtie kimenet konvertáló ismét akcióban.

sort +3 -25 align2 >signatures

Ez kell, azt mondja a dokumentáció. Gondolom egyszerűbb volt külső programot használni a rendezésre. Rendezett adatokra pedig hatékonyabb kódot lehet írni.

miRDP.pl signatures hairpins.txt >prediction

Végül az egész folyamat megkoronázásaként jöjjön a végső program. Növények esetén van még egy opcionális lépés, ami egy megmondó ember kritériumai alapján meghatározza, mi lehet "igazi" miRNS. Tényleg nem akarom kissebbíteni Meyers érdemeit, de bármelyik szaktekintély állíthat fel kritérium rendszert, amit majd egy következő szaktekintély félresöpörhet. A reference.len a referencia szekvencia azonosítói és a szekvenciák hossza.

rm_redundant_meet_plant.pl reference.len precursors.fa prediction nr.prediction filter.prediction

Az eredményeket végül felhasználhatjuk, hogy megírjuk a következő nagy cikkünket.

Szólj hozzá!

Címkék: bioinformatika

Helpdesk, segíthetek?

2016.02.01. 00:51 Travis.CG

Ezen a héten én voltam a helpdesk. A hétfői reggeli megbeszélésen az egyik régi motoros csak ennyit mondott: sok szerencsét. A helpdesk egy olyan pozíció, amit senki nem csinál szívesen, ezért minden héten más viszi.

A "büntetősarok" a kutatók irodájában van, mert így nekik is egyszerű elmondaniuk, mi is a probléma. Szó szerint a sarokban van. Egy elég rossz monitor, egy Mac billentyűzet és egy egér az összes felszerelés, amivel csatába küldenek. A saját gépünket használjuk, de ez szerintem nem is baj. Mivel valószínűleg én vagyok az egyetlen PC-s az egész csoportban, még kevesebb eszközt tudtam használni. Hamar kiszúrtam a felesleges perifériák gyűjtőhelyét, ahol minden hiányzó alkatrészt beszereztem és nekiláttam dolgozni.

A kérések egy úgynevezett ticket rendszeren érkeznek. A kutató nem tudja, kinek küldi a panaszát, csak annyit ír, helpdesk. Az aktuális ember nézi ezekt és magához rendeli a feladatot. A rendszer rengeteg opcióval van felruházva, de a legfontosabb, hogy a kéréseknek nyoma van.

A minták szekvenáló készülékből a laborosok szervereire vándorolnak automatikusan, ahol illesztik őket, meghatározzák a minőségüket, majd ha minden rendben van, átkerül a rákos csoportok szervereire. Itt minden lényeges adatot egy Oracle adatbázisban tárolnak, a BAM fájlok pedig egy elosztott fájlrendszerben csücsülnek. A kutatók egy webes felületen klikkelgetve kiválasztják, mit is akarnak a mintákkal és elindul a feldolgozás a számítógép farmon.

Természetesen Murphy nem unatkozik ez alatt, ahol tud, beleköp a levesbe. Itt jön a képbe a helpdeskes, akinek az egyik feladata, hogy Murphy-nek kiossza a napi tockost és kézzel mindent visszatereljen a megszokott kerékvágásba. Először is, ellenőrizni kell, hogy a feldolgozó programok futnak-e. Második lépés, ellenőrizni a megszakadt folyamatokat. Jobb napokon 7-10 munkafolyamat szakad meg, rosszabbakon 140. A leggyakoribb ok, a program több memóriát akar használni, mint amennyit beállítottak neki. Ezt könnyű orvosolni, a weben van adminisztrációs felület, ahol láthatóak a naplófájlok és néhány paraméter állítási lehetőség.

Ha egy teljes projekt hullik darabokra, az már érdekesebb feladat, mert ekkor irány a konzol és lehet javítani a projekt összes futásának paraméter állományait. Szerencsére az évek során elég sok szkript gyűlt össze a tipikus hibák javátására.

A csoport saját wiki oldala is részletes leírásokat tartalmaz a hibák megoldására. Mivel elég sok lapból áll a wiki is, ezért néha elég nehéz megtalálni a releváns információt, de nem lehetetlen. Végezetül ha tudjuk, hogy az adott megoldás jobban fekszik valamelyik kollégának, akkor simán át lehet passzolni neki.

A héten két olyan eset volt, ami globális katasztrófához vezetett. Az egyik esetében sikerült egy perjelet csempészni a minta nevébe. A weboldal ettől megdöglott, ha projektre klikkeltünk. A GBrowser teljesen kinyiffant, amikor megpróbálta letárolni a mintát, a feldolgozó programok mind megakadtak.

A wiki szerint ki kellett volna törölnöm a mintát, eltávolítani az adatbázis bejegyzéseket és másik néven importálni, majd hagyni, hogy az egész rendszer észhez térjen. Természetesen a kutatónak délutánra kellettek volna az eredmények. Ha kitörtlöm a mintát, akkor azok is megsemmisülnek. Először megkérdeztem a kutatót e-mailen, hogy ez elfogadható-e neki. Válasz persze nem jött, mert megbeszélésről megbeszélésre rohangált. Végül úgy döntöttem, végigcsinálom a procedurát, mert a GBrowser hiánya mindenkit érintett.

Szépen végigcsináltam a lépéseket, majd észrevettem, hogy már a szekvenáló labor szerverein elszúrták a minta nevét. Ahhoz nincs hozzáférésem. Az importálással nem javítok ki semmit. Oké, megyek a veteránokhoz. Elmondtam, mi a hiba, mit ír a wiki. A veterán meghallgatott, majd közölte, hogy a dokumentáció rossz. Szemem láttára írt egy 8 soros SQL-t 15 másodperc alatt, majd kijavította a hibát. Én meg nevettem egyet.

A másik armageddon egészen ártatlanul indult. Egy kutató jelezte, hogy az SNP keresés megszakadt. Megnézte a logokat, de semmi hibát nem talált benne. Tudnék-e segíteni? Én is megnéztem a naplót. Észrevettem, hogy a feladat ütemező olyan paraméterrel hívja meg a feldolgozó programot, amit az nem ismer. Egyből tudtam, hogy ezt nem tudom megoldani. Lementem a profikhoz, megmutattam, mit találtam. Két perc ellenőrzés után kiderült, hogy az SNP kereső program fejlesztői verziója van kint az éles szerveren és ott csücsül lassan másfél hete.

Pillanatok alatt odacsődült mindenki. Ment a jajveszékelés rendesen. Mindjárt hárman kezdtek el dolgozni az ügyön. Rohangáltak, gépeltek és kiáltoztak egymásnak. Én csak konstatáltam, hogy itt már felesleges vagyok és otthagytam a káoszt.

Szólj hozzá!

Címkék: bioinformatika

Nyelvi nehézségek

2016.01.25. 08:12 Travis.CG

Nem vagyok egy nyelvzseni. Amikor tudományról van szó, azt rendesen megértem, de amikor hétköznapi dolgokról beszélnek, olyan vagyok, mint Banderas a wikingek között. Egyszer tíz percig hallgattam egy beszélgetést, mire rájöttem, a rögbiről van szó.

Rendre elő is fordulnak kisebb félreértések. Minden reggel például beszámolunk az előző napi tevékenységünkről pár mondatban. Jorge, az őrült spanyol rocker egy időben a kacsacsőrű emlős variációkkal dolgozott. Reggel, ha rá került a sor, elmondta, milyen nehézségei voltak a kacsacsőrű emlős mutációival. Nekem elkezdte fúrni az oldalamat a kíváncsiság, hogy egy humán rákkutatónak miért kell a kacsacsőrű emlős genomja? Végül is korábban a tasmán ördög genomjával is kalandoztak. Lehet, hogy most a kacsacsőrű emlős a kulcsa egy betegségnek? Ezért mikor egy lazább megbeszélés volt, odamentem Jorge-hoz, és megkérdeztem tőle, miért érdekes a kacsacsőrű emlős? Azt mondta, nem tudja. De akkor miért dolgoztál vele? Ő nem dolgozott soha kacsacsőrű emlőssel. De minden reggel azt mondtad, hogy a kacsacsőrű emlős variációkkal dolgoztál! Á, nem az a Plathypus program volt, amivel kereste a variációkat.

A második eset a Rák Nap programtervezetével történt. Emailen körbeküldték, mire számíthat az ember. Délelőtt előadások voltak, szendvics ebéd, majd délután kvíz és jégtörés. Ezt utóbbit kicsit furcsálltam. Kint nem is volt olyan hideg. Biztos ez is valami modern változata valami barbár ünnepnek, amikor a férfiak kimentek a fagyott tóra és léket vertek, hogy horgászni tudjanak. De az is lehet, hogy a -80 fokos hűtőből kell előbányászni egy mintát, ami egy régi PhD hallgató hagyott hátra. Mint kiderült, ez csak közösségi játékot jelent, amivel a munkatársak közötti jeget törik meg. (Embereket öltöztettek Karácsony fának. Nem is tudom, akarok-e írni róla.)

A harmadik eset nem hozzám kapcsolódik, de elég vicces. Minden hónap utolsó péntekén van egy órás kötetlen beszélgetés a kampusz teljes tagjai között. Hoznak egy csomó rágcsát, üdítőket és beszélgetnek. Az egyik munkatársam felesége gyereket vár, és mesélni kezdtem neki, hogy nálunk van egy Tejfakasztó buli. Nem tudtam, mi a fakasztani, ezért körülírtam. Az apa a haverokkal jól beiszik, hogy az anyának legyen teje. A munkatársam bólogatott. Náluk is van ilyen, úgy hívják, megöntözni a gyerek fejét. Ott volt egy indiai csóka is. Nagyon komolyan figyelte a diskurzust, majd azt mondta: Nem értem. Hogyan befolyásolja az anya tejtermelését, az apa alkohol fogyasztása?

Szólj hozzá!

Címkék: életmód

Rémálmaim projektje

2016.01.11. 00:52 Travis.CG

Megszületett életem eddigi legkellemetlenebb, legzűrösebb, legutálatosabb, legmegalázóbb munkájából a cikk. Az egész 2012-ben kezdődött, amikor visszatértem az akadémiai szférába. Ez volt az első projekt, amibe bekapcsolódtam és itt szereztem meg a rutint a mikroRNS-ek elemzéséhez. Minden nagyon szépen indult. Több csoport összedobta a pénzt és a Nicotiana benthamiana-t mint modellnövényt megszekvenálták. Volt transzkriptóm, kisRNS és még degradóm is. Hetente összeültünk, hogy megbeszéljük a projekt alakulását, ami nagyon üdítő volt számomra, mert hétről-hétre láthattam, miként közelítünk a célhoz.

Ahogy telt az idő, szép lassan ezek a heti találkozók átalakultak a bioinformatikai csoport számonkérésévé. Például az egyik részfeladat az volt, hogy az azonosított mikroRNS-ekből ki kellett szűrni a konzervált, vagyis a már leírt RNS-eket. Ezt úgy csináltuk, hogy a miRBase adatbázis rekordjaira illesztettük a mi szekvenciáinkat és megengedtünk 2 nukleotid eltérést. Következő héten közölték velünk, hogy amit csináltunk, nem jó, mert még akadnak benne konzervált mikroRNS-ek. Meg is mutatták, melyik. Mondtuk, hogy azért nem találtuk ezt meg, mert ez 3 eltérést tartalmaz. Futtassuk le 3 nukleotid eltéréssel? Igen. Következő héten még mindig maradt konzervált mikroRNS a listában, mert míg mi 3 eltéréssel szűrtünk, addig 4-el “ellenőriztek”. Mondtam is nekik, hogy valahol húzzuk meg a határt, mert ha elérjük a 21 eltérést, akkor csak ismert szekvenciákat fogunk találni.

De a ta-si RNS keresés sem ment sokkal jobban. Egyesek a csoportból annyira nem bírták a kiképzést, hogy sírva fakadtak.

Azért voltak szép pillanatai is a munkának. Például a transzkriptóm annotálása egyfajta tudományos katarzis volt számomra. Egy pillanatig úgy éreztem, valami pluszhoz juttattam az emberiséget, hiszen egy olyan növényről volt szó, aminek a genomja több tízezer scaffoldból állt.

De az esetek többségében ostoba, értelmetlen táblázatokat kellett generálni. Az egyik ezek közül egy olyan Excel volt, aminek 125 lapja volt (tényleg, 125 darab táblázatot akartak velem bepakoltatni egyetlen Excelbe). Mikor végül elkészültem vele, közölték, hogy ez átláthatatlan és nem kell.

Az összes felesleges munkát megcsináltuk, amit kértek, mégis a folyosói pletykák során egyre több olyan hír jutott vissza hozzánk, hogy elégedetlenek a munkánkkal és legközelebb inkább Angliába küldik az adatokat elemzésre (ezt meg is tették egy másik projekttel). Kezdetben még a “nagy emberek” is meglátogattak minket, amikor valami olyan jutott az eszükbe, ami kimaradt a hétfői regulából. A vége felé már csak a PhD hallgatókat küldték hozzánk. Többször próbáltam kideríteni, hogy igazából mi volt a baj, mitől mérgesedett el a viszony, de mindig csak kitérő válaszokat kaptam.

Végül 2013 őszére elfogyott az összes kérés és csak annyit hallottunk, hogy most nagy erőkkel írják a cikket. Eltelt 2014 minden látható változás nélkül. Az élet akkor kezdett felpezsdülni benthamiana fronton, amikor bejelentettem, hogy elmegyek. Bizonyára rájöttek, hogy még egy ilyen balekot, mint én, nem találnak, ezért ismét záporozni kezdtek a kérések. Az eltelt egy év alatt a generált táblázatok egy része “eltűnt”, ezért azokat újra akarták generáltatni. Szerencsére a Wiki még működött és meglepődve tapasztalták, mennyi minden van kész.

De továbbra is jöttek a kérések: legyen nagyobb, a zöld legyen kevésbé élénk. Nem lehetne másik betűtípus? De minden egyes kívánság azután jött, hogy legeneráltam az összes képet. Mint a régi szép időkben, webfejlesztő koromban. Egy piszkálódós hangulatomban meg is jegyeztem, hogy ugyan ezt eljátszani az angol kollégákkal nehezebb lesz. Rögtön jött is a válasz: ők már elsőre cikk minőséget produkálnak.

Erőltették a UEA Workbench használatát, mert egy régi haver csoportjában csinálták. Az elején még tetszett is, de ahogy egyre több hiba került a felszínre, a vele való munka kezdett fájdalmassá válni. Végül kiderült, hogy igazából ott sem használják ezt a vackot. De akkor nekünk miért kellett? Ennyire kell az idézettség?

A logisztikai nehézségekről még nem is beszéltem. Az ismeretlen mikroRNS-eket valahogy el kellett nevezni, ezért a cseppet sem kreatív mymirxxx fomát választottuk, ahol az xxx egy sorszám volt. Az idők során ez átalakult canmir-xxx-é. Ez a szájhagyomány útján terjedt a laborosok között. Tőlem többször kérték más, kapcsolódó projektek esetén, hogy futtassak ezt-azt ezen a listán. De mikor kértem tőlük a listát, akkor soha nem tudták odaadni. Végül kiderült, hogy a lista egy hazai konferencián bemutatott pószteren található. Mire megkaptam, addigra közölték, hogy ez már elavult, mert a Northern hibridizációval nem sikerült mindegyiket visszaigazolni.

De ez az azonosító forma sem volt hosszú életű, mert az egyik telihold után nb-mirxxx-é változott. A fluktuáció folytatódott, ahogy a kísérletek cáfolták egyik-másik mikroRNS létét. Ilyenkor, hogy ne legyen hézag a számozásban, a nagyobb sorszámú szekvenciák egyel előre ugrottak. Csak nekünk felejtettek el szólni. Mi csak annyit láttunk, hogy hirtelen az nb-mir452 nem ezt, hanem egy másik mRNS-t szabályoz vagy megváltozott a szekvenciája. Ezután csak szekvenciákkal voltam hajlandó dolgozni. (Természetesen, amikor eltűnt egy miRNS a sűlyesztőben, az összes ábrát újra kellett generálni.)

Akkor voltam a legproduktívabb, ha nem csináltam semmit. Ilyenkor megspóroltam egy köztes verziót, ami úgysem lett volna jó.

Valahogy a végére értünk mindennek és elkészült a kézirat. Amikor olvastuk, hogy ki mivel járult hozzá a nagy mű egészéhez, kiderült, hogy csak segédkeztünk a bioinformatikai elemzésben. Ez volt az utolsó csepp. Elfogadom, ha bajuk van velem, de a munkám ne degradálják le. Az UAE olyan erőforrás éhes, hogy az egész intézetben csak nálunk volt olyan számítógép, aminben elég memória volt a futtatásához.

Beküldték a kéziratot, én közben átvergődtem Angliába és szép lassan a bírálók is olvasni kezdték. Túl sokat nem kötözködtek, de kérték a mikroRNS targetek GO azonosítóit és a konzervált mikroRNS-ek MFEI értékét. Az első rész még egyszerű volt, hiszen az annotálás során a Trinotate a gén ontológiai besorolást is megcsinálja, de a második kérés érdekes problémákat vetett fel. (Hehehe, végül tényleg Angliába küldték az adatokat.)

Az UEA Workbench ugyanis úgy keres ismert mikroRNS-eket, hogy illeszti a readeket a genomra és a miRBase-re. Nem határoz meg prekurzort, nem számol szabad energiát. Első körben a MirCat eredményekből bányásztunk ki prekurzorokat, de nem volt meg mindegyik. Néhány cikk az EST szekvenciákat használta prekurzor keresésre, ezért mi az RNA-seq eredményeket vettük alapul. Még így sem találtuk meg az összeset. Végül a miRBase konzervált prekurzorait Blastoltuk a genomra. (Ekkor tűnt fel, hogy a miRBase-ben a prekurzorok nagy része pontosan 60 nukleotid hosszú. Természet anyácska nem colstokkal jelöli ki a prekurzorok hosszát, inkább gyanítok emberi hibát.)

Mivel nappal a rákos genomokkal játszottam, csak hétvégén és este volt időm a cikkel foglalkozni. De folyamatosan jöttek a levelek, hogy mikor lesznek eredmények. Képeket is könnyebben generáltam újra, mert már megvoltak a jól bejáratott R szkriptek, de a folyamatosan szakadozó net nem volt a segítségemre.

Végül elkészült. A szívás/impakt faktor arány itt volt a legnagyobb. Remélem a jövőben semmi nem közelíti ezt meg.

Szólj hozzá!

Címkék: publikáció

Az előző év összefoglalása

2016.01.03. 00:51 Travis.CG

A múlt év elég mozgalmas volt. Megjelent négy cikk, ötödikek lettünk az NVScenen, elhagytam az országot, csak, hogy a lényeget említsem. A blog is kicsit felpörgött, hála annak, hogy az Oxford Nanopore rátalált. A keménykedésük lett egyébként a legolvasottabb cikk ebben az évben. Utána jött egy kudarcba fulladt annotálás története, majd a Blast bemutató. Értetlenkedésem a metaanalízisről is előkelő helyet foglalt el a népszerűségi ranglistán.

Ez el is gondolkodtatott. Tényleg a kudarcaim a legérdekesebbek? Nem kell félni, lesz utánpótlás idén is.

Most kellene azt írnom, mi minden lesz még idén (nyeremény játékok, még több poszt, videoblog), de inkább maradjon minden változatlan.

 

Szólj hozzá!

Oszd meg és egyél

2015.12.25. 23:54 Travis.CG

Karácsony közeledtével a csoportok különböző eseményeket szoktak szervezni, ezek közül a legnépszerűbb a "bring and share", aminek a lényege, hogy mindenki készít valami finomat, amit bedob a közösbe, és a többiek esznek belőle.

Még mindig két csoportnak vagyok a tagja, ezért én két ilyen eseményre is hivatalos voltam. Az "igazi" csoportomnak, a Pre-cancer csoportnak palacsintát akartam készíteni. Ki is kevertem a tésztát. A feleségem mindig megszólja a művemet, mondván, túl sok lisztet használok, amitől nagyon száraz lesz a végeredmény. Elhatároztam, hogy kevesebb lisztet és több tojást fogok használni. Szódavizet vagy szódabikarbónát nem találtam a boltokban, de volt egy kis sütőpor szerűség, aminek a 80%-a szódabikarbóna volt, gondoltam jó lesz a tészta könnyítéséhez.

Nekiálltam sütni. A kevés liszt miatt nem állt eléggé össze és leragadt. Ekkor vettem észre, hogy az olcsó palacsintasütő fekete része minden, csak nem teflon. Nem baj, anyám is tudott palacsintát sütni egy vas serpenyőben: olajat öntött alá. Liszttel besűrítettem, öntöttem alá olajat. Továbbra is leragadt. Öntöttem még egy kis olajat, de így meg tocsogott az egész tészta. A közepén továbbra is leragadt, mikor megfordítottam, szétszakadt, nem bírtam mindkét felét megsütni.

Feleségem azt javasolta, öntsem ki az egészet, de nem akartam elpazarolni a sok összetevőt. Helyette a termeltem a selejtet, amit senkinek nem volt kedve megenni. Végül beláttam, ebből nem lesz normális palacsinta. Tartalék tervként a feleségem készített almás pitet.

Nem tudtam, mi a szokás, ezért egy dobozzal összekészítettem, majd elvittem.

A többiek nagyon komolyan vették a feladatot. Mikor megláttam, hogy a spanyolok behoztak egy egész tepsi kaját, a japán nő kirakja a nagy dobozokat és a lengyel PhD hallgató egy óriási rekeszből pakol ki, tudtam, hogy ez nagy leégés lesz.

Az előétel cékla leves volt. Lengyel barátaink ezt eszik Karácsonyra. Ránézésre elég szokatlan volt, de nagyon finom, egyáltalán nem édes, mint ahogy vártam. Állítólag a jó leveshez 10 napig kell érlelni a céklát. A jó alapanyagok érdekében a hallgató a lengyel boltból rendelt. Ettünk valami, aminek a nevét  "humusznak" értettem. Ez leginkább a sárgaborsó főzelékre emlékeztetett. Kaptunk szusit is. Japán munkatársunk azt mondta, a halat Japánból rendelte, mert itt angliában nincs megfelelő. Kézzel festett dobozból szolgálta fel az ételt, amit különleges alkalmakra tartogatott.

Két nappal később volt a Cancer IT közös evészete. Többnyire angolok, többnyire férfiak, többnyire kockák. Keksztekercset akartunk készíteni. Túró nem kapható, ezért tejszínnel helyettesítettük. Darált kekszet sem lehet kapni, de találtunk egy keksz márkát, ami hasonló az Albert kekszhez, azt reszeltem le.

Nem tudom, mi történt, de minden szétfolyt, mint valami folyékony Terminator. Nemhogy feltekerni, de még egy kupacot sem tudtunk rakni belőle. Szerencsére ízre nagyon finom volt. Végül a feleségem kitalálta, hogy muffin papírba adagolja. Rátettük egy nagy tálcára, és bevittem.

Reggel a buszon panaszoltam, hogy az előző eseményre mindenki hogy készült, importálták az alapanyagot, én meg odaállítottam egy doboz almás pitével. Azt javasolták, mondjam most én is azt, hogy ez a keksztekercs úgy készült, hogy a darált keksz különleges méret szelekción esett át és egyenesen Magyarországról érkezett.

A legtöbben nem erőltették meg magukat. A legtöbben egyszerűen kirakták a boltban megvásárolható dobozos csokis sütit. Az egyik főnök két fürt Tescos paradicsommal járult hozzá az ebédhez. Meg is jegyezték, hogy előző este biztos sok időt töltött a konyhában, míg mások az ízléses csomagolást dícsérték.

Mikor meglátták a csillogó muffin papírban kiporciózott sütit, el sem bírták képzelni, hogy mi az. A szerencsétlen, konyhai praktikákban járatlan nyelvtudásom sem segített jobban megértetni, mi is akar ez lenni. Ettől nagyon rejtélyes lett és az utolsó darabig megették.

Kellemes Karácsonyt minden olvasómnak.

Szólj hozzá!

Címkék: életmód

Szekvencia tömörítés

2015.12.21. 00:05 Travis.CG

A szekvenált adatok tárolása nehéz feladat. Lehetne beszélni a növekvő költségekről, a környezeti terhelésről és használhatnánk egyéb marketing szagú kifejezéseket, de frappánsan megfogalmazva ez mind annyit jelent, hogy sosem elég a tárhely.

Az egyik megoldás, hogy a szekvenciákat tömörítjük. Rengeteg tömörítési eljárás van, ami nem veszi figyelembe a tömörítendő adat felépítését, de ha FASTQ fájlokról van szó, akkor érdemes kiaknázni a rögzített struktúra adta lehetőségeket.

A témával kapcsolatban sok cikk megjelent. Közös jellemzőjük, hogy fognak egy humán szekvenciát, betömörítik, és megmutatják, hogy az ő megoldásuk a legjobb. Röviden szólva, az egyszerű esetekre koncentrálnak. A humán referencia genom az egyik legjobb minőségű, a tesztekhez felhasznált szekvenciák közel tökéletesek (vagyis a minőségi mérőszámok is magasak). Nincs semmi kontamináció vagy bármi, amivel komolyan meg kellene birkózni.

Ezért ebben a tesztben Arabidopsis mikroRNS-eket fogok tömöríteni. Eredetileg egy olyan növényt akartam, amiből csak scaffoldok vannak, de sajnos a laptopomon futó virtuális Linux tárhelye limitált. Azért a mikroRNS-ek így is 100% adaptor szennyezettek, ami reményeim szerint alaposan megizzasztja az algoritmusokat.

A felhasznált szekvenciát innen töltöttem le. A referencia a TAIR 10 volt. Tömörítési időket nem mértem, mert azt nem érzem akkora problémának, mint a tárolást, ráadásul egy virtuális gépen mért időnek nem sok relevanciája van.

A nyers szekvencia 1597952192 bájt.

GZIP

gzip SRR2135656.fastq

A jó öreg gzip a szegény ember szekvencia tömörítője. Előnye, hogy azonnal tömöríthető, zcat-al azonnal kitömöríthető és csővezetéken küldhető a feldolgozandó programoknak. A legrosszabb tömörítési aránnyal bírt: 411159400 bájt lett az eredmény.

Brotli

bro --quality 11 --input SRR2135656.fastq --output SRR2135656.fastq.bro

A Google új tömörítője volt a leglassabb. Bár nem mértem, de kétszer is hibernáltam a gépet, mielőtt eredményt kaptam volna. Igaz, a legjobb tömörítési arányt választottam, de így is 317665851 bájt lett a végeredmény.

BZIP2

bzip2 -9 SRR2135656.fastq

A bzip2 sem mai darab, de még így is jobb eredményt produkált, mint a Brotli. A futási idő pedig messze jobb volt a Google szupersztárjánál. 306455232 bájtjával az általános célú telepítők között ez volt a legjobb. Még nem lesz nyugdíjazva egy ideig.

BAM

bwa mem ref/tair10.fasta SRR2135656.fastq | samtools view -b - >tmp.bam
és
samtools sort -o SRR2135656.bam -T tmp -O bam -l 9 tmp.bam

A BAM elsődleges célja nem a szekvencia tömörítés, de a végeredmény viszonylag jó és több információt tartalmaz. Itt a Sangerben is ez volt az elsődleges tárolási formátum. Az illesztőprogram által kiadott BAM 346133963 bájtot, míg koordináták szerint rendezve 341639813 bájt helyet foglalt a merevlemezen.

CRAM

samtools sort -o SRR2135656.cram -T conv.tmp -O cram -l 9 --reference ref/tair10.fasta tmp.bam

A CRAM a BAM-ot hivatott leváltani. Még nem tekinthető teljes értékűnek, noha egyre több eszköz támogatja. A specifikáció is változik, de szerencsére a samtools elég jól követi ezt. A Sangerben az újabban szekvenált eredmények már CRAM-ban is elérhetőek, de volt már olyan, hogy hexeditorral nyomoztam, miért nem tudom használni a fájlokat. Kalandoroknak kötelező, de még nem ipari szabvány. 264964747 bájt a V3 verzióval.

Referee

Ezen poszt megjelenése emiatt a program miatt csúszott. A cikk csupa jót zeng róla, de kétlem, hogy valódi referee látta volna. A letölthető kód alapból nem fordul le, a Makefile szerkesztése után sikerült valahogy lefordítanom, de rögtön segmentation fault-al elszállt. Nem nyomoztam tovább, mi lehetett a baj. A szerző nem sokat dolgozott a kódon az utóbbi időben. Nem tartom valószínűnek, hogy épkézláb program lesz belőle. Virtuális fekete pont jár neki és annak is, aki bírálta.

Leon

leon -c -file SRR2135656.fastq -lossless
vagy
leon -c -file SRR2135656.fastq -seq-only

A Leon igazi profi. A de-novo összeszerelők logikáját használja. Képes veszteség mentes tömörítésre, de ha tudjuk, hogy bizonyos elemekre nincs szükségünk (például az eredeti szekvencia azonosítókra), akkor tovább gyömöszöli a fájlokat. Veszteségmentes módban 84766251 bájt bináris és egy 193442831 bájtos fájl a minőségi mutatóknak. Ha viszont "vesszen a férgese" módban futtatjuk (nincs azonosító, nincs minőségi mutató), akkor 59751380 bájt a végeredmény.

comp.png

Szólj hozzá!

Címkék: bioinformatika

Pillantás a jövőbe

2015.12.06. 00:35 Travis.CG

Egy előadást és egy bemutatót szeretnék megosztani. Mindkettő valamilyen szinten a jövő trendjeit igyekszik bemutatni. Mivel minden jóslás nehéz, különösen, ha a jövőről van szó, így kérem kellő óvatossággal kezeljétek az itt leírtakat.

A jövő számítógépe

A HP egyik előadásában felvázolták a nemes egyszerűséggel The Machine-nak nevezett koncepciót. A mai, CPU központú számítógépes architektúra fejlesztése nem tartható, nemsokára annyi tranzisztort kellene egy lapkára zsúfolni, hogy a kvantummechanikai hatások miatt a számítási teljesítmény romlani fog. A CPU-k energiafogyasztása is egyre nagyobb, ami a fenntartható fejlődés egyik gátja. Mielőtt a felvázolt sötét kép miatt rituális öngyilkosságot követnénk el, lássuk, milyen megoldást javasol a HP. Először is, a sok, redundáns tárolóhelyet, mint memória, merevlemez, elsődleges cache össze kell vonni egyetlen entitássá, ami perzisztens, mint egy mai winchester, de az elérési sebessége a legújabb DRAM-okat is veri. Nem, nem is az SSD-kre gondolnak, annál sokkal nagyobb tárolókapacitást vizionálnak, nagyobb adatbiztonságot és titkosított adatfolyamot. Erre a központi memóriára ülne rá több processzor, amelyek konkurens módon érnék el az adatokat. Mint valami hatalmas videokártyán.

A rendszer előnye, hogy megszűnne az adatok mozgatása a különböző hierarchián elhelyezkedő tárolóhelyek között. A CPU-k specializálódhatnának, a perzisztens tárolóhely kevesebb áramot igényelne. Természetesen problémák is akadnak szép számmal. Először is, nincs operációs rendszer, ami képes lenne elfutni rajta. Az olyan egyszerű dolgok, mint a "nem működik, újraindítom" hatástalan, mert a memória kikapcsolt állapotban is megőrzi tartalmát. A titkosításról nem is beszélve, ami jól hangzik, de egy hardver szinten alkalmazott megoldás mennyire tud lépést tartani a technikai fejlődéssel (ha pedig lépést tart vele, hogyan biztosítják a kompatibilitást?)

Az impozáns terv 2020-ra érhet kézzel fogható állapotba. Legalábbis most így gondolják. Az előadás után több olyan kérdés is elhangzott, amire az előadó egyszerűen nem tudott válaszolni. Annyit mondott, hogy továbbítja a kérdést az illetékesekhez. Érdekes koncepció, majd meglátjuk, mi valósul meg belőle.

Virtuális valóság genom böngésző

Egy cég virtuális valóság böngészőt készít. Csináltak egy kis bemutatót, amit ebédszünetben megnéztem. Először ezt a videót nézhettem meg:

Egy fejre helyezett Samsung mobiltelefon volt a forrás, amihez hasonlót a Unity Meetupon is kipróbáltam. Ez a videó szerintem elmegy egy ismeretterjesztő filmben, de egy kutatóintézetben elég unalmas. Feltették a fejemre a kütyüt, a szemem előtt pedig megjelent egy menü. A fejem forgatásával irányíthattam egy célkeresztet, de arra nem sikerült rájönnöm, hogyan tudok klikkelni. Azt mondták, a halántékomnál van egy gomb, de csak a hangerőt tudtam változtatni. Végül megnyomtam valamit, amitől elindítottam egy demót, amiben egy hűtőszekrény belsejében találtam magam. Másodjára valami autóban ültem. Ezután a szervezők nem engedték, hogy bármit is megnyomjak... Egy másik kutató véletlenül valami horror bemutatót indított el. Mikor levette a szemüveget, csak annyit mondott: Ez félelmetes volt. Vártam a géneket, de egy szörny jelent meg.

A megjelenítésről az Unreal Engine gondoskodik. Az én demoscene-hez szokott szemem elég puritánnak találta a bemutató minőségét. Bioinformatikus felemet sem győzte meg, hogy cseréljem le az IGV-t.

A második bemutató valódi virtuális valóság volt. Egy hatalmas sisakot viseltem, két kezemben joystic-szerű vezérlő volt és lépkedtem a géneket reprezentáló gömbök között. A grafika ismét elég gagyi volt, ráadásul folyton beleakadtam a kábelekbe, amelyek összekötötték a szemüveget a számítógéppel.

Utána elindítottak valami játékot, ahol két vezérlővel robotot kellett szerelni. Az egész olyan volt, mint egy számítógépes játék első pályája, ahol begyakoroltatják a játékosokkal az alapvető műveleteket. Öt percig bénáztam valami ajtó kinyitásával, aztán átadtam másoknak a terepet.

A bemutatónak mégsem ez volt a legnagyobb hibája, hanem az, hogy a fejlesztőknek érezhetően fogalmuk sem volt, mire is akarják használni a technológiát. Azt akarták, mi mondjuk meg, mire használható mindez, miközben folyamatosan hangoztatta, hogy ne a szokványos 2D-ben gondolkodjunk.

Nekik is elmondtam, hogy a munkám legnagyobb része nem az, hogy nézegetem a genomot. Rengeteg mintát kell feldolgozni, nincs idő mindegyiket megnézni. A másik probléma az összes eddigi genom böngészővel, a különböző mérettartományok egyidejű ábrázolása. Egy SNP nagyon kicsi, de a genom óriási. Ha a nagy léptéken kitesznek egy pontot, az több millió nukleotidot is jelenthet. Ha belenagyítunk, nem látjuk például a szomszéd géneket.

Ezt úgy tudnám elképzelni, ha nem egy kész alkalmazás lenne, hanem egy platform, ahova betölthetnék bármilyen táblázatos adatot és én mondanám meg, hogy melyik tengely milyen adatot mutasson. Egyfajta vizualizációs platform, mint a Processing, csak 3D-ben.

Végül egy gyakorlati buktató: Itt a Sangerben elég nagyok az irodák, de ha három bioinformatikus sisakkal a fején elkezd rohangálni, hogy megnézzék a legújabb illesztést, annak elég csúnya vége lenne.

Szólj hozzá!

FGSB 2015

2015.11.23. 00:00 Travis.CG

Itt a Sangerben minden hétre jut egy konferencia, de a legjobb az egészben, hogy amennyiben a létszám nem teljes, az itt dolgozókból töltik fel a résztvevőket. Kaját, tollat és szép szatyrot nem kapunk, cserébe látogathatjuk az előadásokat, beszélhetünk az emberekkel és megnézhetjük a pósztereket. Így vettem részt idén a Functional Genomics and Systems Biology: From model organisms to human health című konferencián.

Mivel munka mellett látogattam az előadásokat, sajnos szelektálni kellett, de azért elég érdekes dolgokat hallottam, amit most meg is osztok.

Tim Hughes: DNA and RNA binding motifs for decoding gene regulation
A DNS-en a kötőhelyek azonosítására még mindig a motívumokat használnak. A CIS-BP adatbázisban is rengeteget lehet fellelni, viszont az emberi transzkripciós faktor kötőhelyek feléhez nincs egyértelmű motívum rendelve. Ezek legtöbbje C2H2 cink-ujj protein. Ezek a moduláris felépítésű fehérjék kevésbé konzerváltak és a Chip-seq adatokból is hiányoznak, mert RNS-t is köthetnek. Az eddigi adatokból úgy tűnik közvetlenül kötik a DNS-t. Legtöbbjük a transzkripciót szabályozza, de akadnak aktiválók és represszálók, sőt olyan is, amelyik mindkettőt tudja.

Biola-Maria Javierre: Long-range control of gene expression
Vannak promóter elemek, melyek messzebb helyezkednek el a transzkripciós start helytől, de lényeges szerepet töltenek be a szabályozásban. Példaként a sonic hedgehog fehérjét mutatták be. Ezek az interakciók sejt specifikusak is lehetnek, ami miatt a GWAS-al nehéz kimutatni őket. Az előadó szerint a 3C/4C és Chia-PET módszerek nem elég jók, túl kicsi a jel/zaj arányuk. Ezért fejlesztették ki a promoter capture eljárást. Itt szintén egy kereszt kötést hoznak létre a térben közeli pozíciók között, ugyancsak emésztenek és adaptorokat ligálnak. Ami más, hogy hibridizálják a HindIII-al emésztett promótert is. A HICUP és CHICAGO peak kereső programokat használták. Nagyon nagy különbségek jöttek ki szövetenként, de találtak sejttípus független kötőhelyeket is. eQTL-el találtak kapcsolatokat olyan SNP-el, amelyek messze vannak, mégis beleszólnak a génszabályozásba. Ismert SNP-khez új target géneket is találtak. Végezetül sikerült nekik anyagcsere útvonalakhoz rendelni SNP-ket.

Ines Fonfara: Biology of CRISPR-Cas9: a game changer in genome engineering
Ez a bevezető jellegű előadás bemutatta a címben említett rendszert. Egy mondatban: a Cas9 fehérje egy RNS segítségével programozható, hogy a DNS-t egy specifikus helyen vágja. Felépítése: egy Cas operon, illetve egy CRISPR tömb, ami különböző domainekből épül fel, amelyeket határoló szekvenciák választanak el. In vivo a baktériumokban a vírusok elleni védelmet látja el, mert a domainek határozzák meg, hogy milyen vírus RNS-t inaktiváljon a rendszer. Öt nagy típusa van, de a gyakorlatban a II-es típust használják, mert a targetet az RNAz III vágja, ami a CRISPR rendszertől független elem. Olcsó és hatékony módszer, de vannak nem specifikus vágások és toxikus is. Ez utóbbi nem tudom, mit jelent.

Andreas Gschwind: Genetic perturbation of human chromatin activity and its impact on transcription
A genotípus és a fenotípus kapcsolata még mindig nem tiszta. Ennek kiderítésére csináltak RNA-seq-t, és ötféle Chip-seq-t különböző hiszton fehérjékre. Főkomponens analízissel meghatározták, hogy mely genetika variációk befolyásolják a gén expressziót, majd egy Bayes-hálóval igyekeztek meghatározni, hogy a variációk közvetlenül hatnak a génexpresszióra, vagy a kromatin módosításán keresztül. A vizsgált esetek 78%-ban a génexpresszió a kromatin módosításán keresztül érvényesült, míg 18%-ban a genetikai variáció közvetlenül hatott a génexpresszióra. A fennmaradó esetben az expresszió és a kromatin egyszerre változott meg. Az előadás többi részében a PU1 kötőhely példáján mutattak be konkrét eseteket.

Judith Zaugg: Local and distal genetic variants regulate chromatin states and expression in humans
A kódoló régiókban előforduló SNP-k mellett a nem-kódoló régiók szerepe is fontos. Az itt található variációk a gén regulációra is hathatnak. A promóter régióban fellelhető variációk mellett a távoli, enhancerekben előforduló SNP-k felderítése még nagyobb kihívás. Az előadásban bemutatták, hogy 75 emberből származó Chip-seq adatból próbáltak keresni ilyen variációkat. A hiszton modifikációval összefüggésbe hozható SNP-ket azután további analízisnek vetették alá. Érdemes megjegyezni, hogy ezek az SNP-k legtöbbször nem is a Chip-seq csúcsokban helyezkedtek el. Fejlesztettek egy Bioconductor csomagot is. Az eredményeket HiC módszerekkel ellenőrizték és az SNP annotációval a fenotípusra is próbáltak következtetni. Az előadás végére spekulatívabb gondolatok jutottak: a génexpresszió változásához egy vagy több SNP-re van-e szükség? Nincs egyértelmű bizonyíték, de az előadó szerint a több felé mozdul a mérleg nyelve.

Roderic Guido: The human transcriptome across tissues and individuals
A GTEx adatbázis a normál expressziós mintát igyekszik bemutatni több, különböző szövetben. A szövetek egy biobankban elérhetőek, a mintákat a halál beállta után egy órával vették. Az életkor 21 és 70 év között van, 176 egyénből 1641 RNA-seq mintát tartalmaz. Összehasonlításként volt microarray is élő szövetből. A két adat között volt eltérés, de a főkomponens analízis után jelentős eltérést nem tapasztaltak. Általánosságban elmondható, hogy nagyjából 100 gén dominál a transzkriptómban. Sok gén mitokondriális eredetű, és nagyon kevés gén mutat kizárólagos szövet specificitást. A szövetek között nagyobb eltérést tapasztaltak, mint az egyének között. Az egyének között a legnagyobb különbséget az Y kromoszóma génjei és az immun gének mutatják. Az etnikumok között a legnagyobb különbséget a lncRNS-ek mutatják. Találtak a korral korreláló géneket is. A férfiak és nők között szöveti szinten 10-20 gén különbség mutatható ki, kivéve a mellszövetben, ahol 700 gén esetén tudtak differenciál expressziót kimutatni.

Lasse Sinkkonen: Cell type-selective disease-association of genes under high regulatory load
A hálózat alapú megközelítésnél a betegséget okozó gének általában magas fokszámmal rendelkeznek, mert a kutatók ezeket szeretik vizsgálni. Sok gén, ami potenciálisan betegséget alakíthat ki, így nem kerül a vizsgálatok középpontjába. Ilyenek lehetnek a transzkripciós faktorok és enhancerek. Az előadó csoportja ezért vette a publikus Chip-seq adatokat és hipergeometrikus tesztekkel igyekeztek új betegséget okozó géneket keresni. Azt vették észre, hogy a sok transzkripciós faktorral szabályozott gének inkább okoznak betegséget. A módszert ezért megfordították és a túlszabályozott géneket kikiáltották betegség okozó géneknek, majd igyekeztek ezt a hipotézist alátámasztani.

Tom Freeman: Development of a graphical and computational platform for the analysis of complex biological pathways and systems
A biológiai útvonalakról rengeteg adat érhető, de ezek nem kompatibilisek egymással. Ezt az előadó úgy fogalmazta meg, hogy a „biológusokat nem tanították meg a logikus gondolkodásra”. Ezért terveztek egy olyan rendszert, ami szabványos leíró nyelvet használ az útvonalak leírására (Edinburgh Pathway Notation), ami természetesen módosítottak a saját igényeiknek megfelelően, amitől így inkompatiblis lett minden eddigi formátummal. (És még a biológusok nem logikusak) Ezután PhD hallgatókkal elkezdték konvertálni a sok útvonalat a saját rendszerükbe.

Marcelo Coba: The signalling network landscape of psychiatric disease
A skizofrénia poligénes betegség, a posztszinaptikus kapcsolatokban fellépő hibák vezetnek a kialakulásához. A posztszinaptikus kapcsolatokért 1500 protein felelős. Ezek kölcsönhatása szövet és időfüggő. A fehérje domainek enrichment analízise során két nagyobb csoportot tudtak elkülöníteni: intra- és intermoduláris domaineket. Még ezen eredmények sem elégségesek, hogy teljesen megértsük a posztszinaptikus kapcsolatokat, de legalább van 100 újabb target génünk.

Stefan Wiemann: MicroRNA induced apoptosis resistance and escape from NK cell immunosurveillance in aggressive breast cancer
A mellráknak több altípusa is van, és ezek túlélési esélye eltérő. A vizsgálatok során csak a Mir519-re fordították a figyelmüket, mert magasan expresszál és tumor szupresszor gének kifejeződését gátolja. Jelenlétében a sejt ellenáll bizonyos kezeléseknek, valamint az NK sejtek sem képesek elpusztítani. Ez a mikroRNS többek között a Casp és a Trail géneket gátolja, amelyek egy olyan jelátviteli úton helyezkednek el, ami az NK-sejtek felismerését gátolja.

Alvis Brazma: The structure of human transcriptome
Az előadó arra kereste a választ, a transzkriptóm eredmények mennyire konzisztens a proteómmal. Az expressziós atlasz egy könnyen kereshető weboldal, ahol a normál szövetekben lehet keresni különböző gének expresszióját. Az adatokat standard módszerekkel dolgozták fel, majd nézték, hogy a proteóm és transzkriptóm adatok mennyire fednek át. A korreláció mértéke 0.47 és 0.62 között mozgott. Ha egy transzkript RPKM értéke ötnél nagyobb volt, akkor már nagyon jól egybevágtak az eredmények. Azt is nézték, a gének különböző transzkriptjei milyen expressziós változásokat mutatnak. Azt vették érszre, hogy a legtöbb génnek egy domináns transzkriptje van, ami igen erősen expresszál, a többié pedig logaritmikusan csökken. Feltételezik ebből, hogy van egy kapcsoló effektus, ami meghatározza, mi legyen a domináns transzkript.

James Sharpe: How gene regulatory networks control cells to build organs
A drosophila szárnyfejlődésénél nézték a szárny méretét és a szárnylemez területét, majd SNP-ket kerestek és az eredményeket keresztezésekkel erősítették meg. Az SNP-k klaszterezése után azt kapták, hogy az eredmények nagyon kicsi szórást adtak, vagyis a környezeti hatást sikerült minimalizálniuk. Meghatározták a szárnyméretet befolyásoló fehérjéket, vizsgálták a GO és protein-protein interakciókat. A korábbi előadással ellentétben ők azt találták, hogy az SNP-k egyértelműen meghatározzák az RNS expressziót, ami pedig a fehérje szintet befolyásolja és ezen keresztül meghatározza a fenotípust. Az előadás második részében a Down-szindrómáról beszélt, ahol az extra kromoszóma szakaszról expresszálódó transzkripteket vizsgálták. Az innen származó mRNS-ek mitokondriális és riboszómális proteinek szintjét változtatják meg.

Anne-Claude Gavin: Expending the interaction space: protein-lipid networks
Sok lipid vesz részt szignál folyamatokban, ezért a hálózatokat célszerű kiterjeszteni rájuk is. Különböző kromatográfián alapuló módszerek segítségével igyekeznek meghatározni a fehérjékhez kötődő lipideket, majd osztályozzák őket aszerint, hogy milyen fehérjékhez kötődnek.

Anastasia Baryshnikova: Global functional annotation and visualization of the 2015 yeast genetic interaction network
Az élesztő funkcionális annotálása nagy erőkkel folyik. Az összes lehetséges génpárból dupla mutánsokat állítanak elő, majd nézi a túlélési esélyeket. 2010-ben az összes lehetséges kombináció 30%-a volt meg, idén az esszenciális gének 82%-t, a nem esszenciális gének 55%-t előállították. A hálózatokat alhálózatokra bontották, majd topológiai hasonlóságokat kerestek. GO segítségével funkcionális feldúsúlásokat kerestek. A GO hierarchikus felépítéséből adódó problémát úgy oldották meg, hogy a GO meghatározásokból kivették a kötőszavakat, majd az első 5 leggyakoribb szóval helyettesítették azt. A furcsa módszerről csak annyit mondott az előadó, hogy működik.

Sarah Teichmann: Understanding cellular heterogeneity
Az egysejtes vizsgálatokból származó RNA-seq a sejtpopuláció heterogenitásáról ad információt. Az eljárás szenzitivitásáról és specificitásáról ez a cikk ad részletesebb felvilágosítás. A cikk szerint a kvantifikációról kevés adatot ad, de igen/nem jelzésre jó a módszer. Az egysejtes módszereknek számtalan típusa létezik, ezek pontossága eltér. A T-sejtek receptor variációinak felderítésénél például a Salmonellával fertőzték a sejteket és nézték a klónok fejlődését, illetve mely gének aktiválódnak a fejlődés során. Előadás végén elhangzott, hogy a Genome Biology-nak lesz egy egysejtes különszáma és jövőre rendeznek egy konferenciát is a témában.

Marc Friedlander: miRNA functions in single cells
A Caenorhabditis és az ember protein kódoló génjeinek száma majdnem megegyezik, de a nem-kódoló RNS-ek száma sokkal több az emberben. Az RNS-szekvenálás során t/rRNS-eket is kapunk vissza és a miRDeep segítségével azok is feldolgozhatóak. A readek eloszlása más miRNS-ek esetén, mint t/rRNS-eknél. Ez a fajta módszer közelebb áll az RNS-ek biológiai jellemzőihez, ezért az előadó szerint jobban működik, mint a gépi tanuláson alapú algoritmusok. Az eredmények ennek ellenére is elég zajosak voltak, amiért a miRNS-ek lehetnek a felelősek. A legtöbb miRNS kiütése nem okozott fenotípusos változást, de az expressziós „zajt” csökkentette. Az előadó feltételezte, hogy a miRNS-eknek ezért egyfajta puffer hatásuk van.

Markus Ralser: A functional metabolic map reveals metabolic gene regulation and novel gene function on the genomic scale
A KEGG adatbázisban található anyagcsere utak túl vannak egyszerűsítve. Dupla mutánsok és differenciál expressziós vizsgálatok után találtak összefüggéseket az expressziós profil és a metabolikus útvonal között. Ellenőrzésnek az aminosav profilt is vizsgálták, hogy visszaadja-e a differenciál expressziós eredményeket. Módszerükkel a riboszómális struktúrát is fel tudták építeni. Az ismeretlen gének 83%-hoz így tudnak annotációt rendelni.

Szólj hozzá!

Címkék: bioinformatika

Internet

2015.11.20. 00:11 Travis.CG

- Hallo, Szuper Gyors Internet?
- Igen, a nevem Segítő Orsi, miben segíthetek?
- Szeretném megrendelni Önöktől a GigaSebes Net 2.0-t.
- Értem, köszönöm, hogy megtisztelt minket bizalmával. Megkérdezhetem, miért cégünket választotta?
- Meggyőzött a reklámjuk, amiben azt a comb-vastag kábelt mutogatták, szemben a konkurencia két szál drótjával.
- Igen, a „varázslat a kábelünkben van”. A marketingeseink hónapokig gondolkodtak rajta. Szeretne televíziót is az internet mellé?
- Köszönöm, nem. Csak internetet szeretnék.
- Had hívjam fel a figyelmét, hogy csomag ajánlataink sokkal olcsóbbak. Ha megrendeli a GigaSebes Net 2.0-t az UncsiCsatorna csomaggal, akkor a ingyen megkapja a telefont, amivel hálózaton belül ingyen hívhat mindenkit.
- Van mobiltelefonom, miért kellene nekem hagyományos telefon, amit csak otthon használhatok?
- A vezetékes telefon rengeteg előnnyel jár...
- Mégis mivel? A vezetékes telefonok legtöbbjében még rendes címregiszetere sincs. Tehát ha kapok Önöktől egy telefont, továbbra is kell a mobilom, amiben tárolom a telefonszámokat.
- Minden kedves telefon előfizetőnk füzetet kap, ajándék tollal.
- Füzetet? Mégis minek? Mégis hol tároljam?
- A szikratávíró tökéletes hely.
- De nekem nincs szikratávíróm!
- Aki az internet és TV mellé telefont is kér, automatikusan megkapja a szikratávírót a füzet tartó polccal, amin elfér az ajándék toll és füzet. Díjnyertes formaterv.
- Soha nem tanultam Morse-kódot, nem tudom használni a távírót. Lehet, hogy maguknál nem tűnt fel, de már senki nem használja ezeket.
- A kimutatás szerint a mi ügyfeleink igen nagy száma rendelkezik szikratávíróval.
- Persze, mert maguk adják, ha kell, ha nem. Mégis mit akar még rámtukmálni, galambokat?
- Olvasta az apróbetűs részt is a prospektusunkban? Fehéret vagy szürke színt parancsol?
- Egyiket sem! Nem akarom, hogy galambok piszkítsák be a lakásomat, nem akarok szikratávírót, nem akarok tárcsás telefont! Nem akarok UncsiCsatornákat! Internetet akarok. Én a jelenben élek, nem a múltban. De tudja, mit? Már internetet sem akarok. Adjon tüzet és füstjelekkel fogok kommunikálni.
- Sajnálom, a füstöt levettük termékpalettánkról. Túl sok baleset történt a nem rendeltetésszerű használatból kifolyólag.

2 komment

Címkék: irodalom

Vizelet dinamika

2015.11.09. 00:22 Travis.CG

A kutatóknak sem kell a hülyeségért a szomszédba menniük. A Sangerben minden pénteken megy egy köremail cikkekről, ami érdekelheti az itt dolgozókat. Külön ki szokták emelni, ha az eredmények itt születtek és egyszerű tematikába rendezik azokat.

Van egy "egyéb" szekció, ahol nemrég ezen akadt meg a szemem. Először azt hittem, valami vicc az egész és Ig Nobel-díja hajaznak a szerzők, de ahogy olvastam a cikket, tényleg belemerültek a témába. Persze csak képletesen.

Röviden arról van szó, hogy kutatók egy csoportja munkaidőben vizelő állatokat nézett a YouTube-on. Azután vizelő állatokat filmeztek méreg drága kamerával, végül matematikai modelleket állítottak fel.

Konklúziójukban kiemelték, hogy a húgycső alakja befolyásolhat egyéb biológiai aktivitást is, például az ejakulációt, úgyhogy méltán reménykedhetünk, hogy további érdekfeszítő tanulmányok jelenhetnek meg a szerzőktől.

Szólj hozzá!

Címkék: filozofálás

süti beállítások módosítása