HTML

Az élet kódjai

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

Friss topikok

  • Travis.CG: A videók linket is elhelyeztem. (2018.01.18. 22:24) Bioinformatika 2017
  • Travis.CG: A bejegyzés egy korrekcióval van frissítve. (2018.01.18. 22:20) Politikai döntés
  • ebarta: @Travis.CG: Azért kellene dedikált gép, mert ezekben a NIIFI-s HPC-kben nincs diszk a node-okban (... (2017.12.17. 10:37) Lassú víz
  • robertherczeg: Hello! Tanulságos történet :) (2017.10.17. 21:10) Első nap
  • grungi: KJK rulez! :) (2017.07.03. 22:47) Kalandod itt véget ér...

Időutazás

2018.01.18. 22:33 Travis.CG

Úgy adódott, hogy adatbázisokat kellett keresnem. A keresés közben rengeteg halott vagy zombi állapotban lévő oldallal találkoztam. Egyes esetekben viszont a régi oldalak éltek és valami megmagyarázhatatlan csoda folytán még működtek is! Túl sok értékük nincs, de mai szemmel nézve mosolyogtató látni a tíz éves megoldásokat.

Csatlakozzatok velem egy utazásra, ahol nincs JavaScript, nincs (vagy alig van) CSS, de vannak animált GIF-ek, rég elfeledett böngészők és 16 bites színek.

Az első Neal mutációs tudástára. Mindjárt egy IFRAME keretes weboldal köszönt ránk. Vagány napszemüvegek az oldal tetején, hogy lássuk, Neal milyen laza csávó volt a '90-es évek végén. De már akkor is ott figyelt a Big Data! Az akkori lehetőségekhez képest, persze. Neal ugyanis figyelmezteti az egyszerű felhasználót, hogy adatbázisának letöltése 2-3 órát vesz igénybe, ha modemmel próbálkozunk. Sajnos sosem fogjuk megtudni, hogy a Windows 3.1 alatt is futtatható programok milyen gyorsan töltődnek le a mai sávszélességgel, mert a linkek legtöbbje nem működik.

Külön érdekesség a linkek, ami az AltaVista előtti hagyományokat követi. Annak idején ugyanis a weboldalak tartalmaztak linkeket más, érdekes, gyakran teljesen irreleváns oldalakra. Mindenki maga gyűjtögette az általa hasznosnak ítélt tartalmakat, amiket aztán megosztottak másokkal.

Ez a koreai weboldal csak nyolc éves, de mintha az ezredforduló előtt készült volna. A gyönyörű gombok, az oldal alján meg figyelmeztetés, hogy 1280x1024-es felbontásban érdemes nézni az oldalt. A flexibilis UI-k világában meglepő, hogy annak idején a weboldalakat egy bizonyos felbontásra lőtték be.

Végül jöjjön a koronaékszer. Egy 2000-ből származó cikk adatai küszködnek itt az idő vas fogával. Az oldal megtekintéséhez Netscape kellene, abból is a 4-es verzió, de a mai böngészők is elég jól megbírkóznak az oldallal. Van némi CSS, de a formázások többsége a HTML kódban található.

Szólj hozzá!

Címkék: életmód bioinformatika

Politikai döntés

2018.01.15. 23:23 Travis.CG

Egy újabb régi munkára került fel a pont. Megjelent a második genom szekvenálásból származó cikkem.

A szarvassal már régóta foglalkoztak az intézetben. Mikor PhD hallgató voltam, már akkor is rengeteg előadást hallottam a vele folytatott munkákról. Ha jól emlékszem, 2014 körül jött el az idő, hogy a genomot is megszekvenálják. De nem az a csoport szekvenált, aki eddig szarvasozott, hanem egy másik csoport és talán itt kezdődött az az ellentét, ami végül egy hatalmi vitába torkollott.

Az elején az egész genom egy nagy rakás FASTQ read volt. Már az összerakás sem ment zökkenő mentesen, hála a pécsi szuperszámítógépnek, ami valahogy soha nem akart egy hónapnál hosszabb ideig üzemelni. Végül mégis lefutott az ALLPATHS és a nagy rakás FASTQ-ból lett egy kisebb rakás scaffold.

Igazából már ezzel is dolgoztak, mert emlékszem, kellett SNP-ket kibányásznom a szekvenciákból és a mitokondriális DNS vizsgálatok is mintha ebből merítkeztek volna.

Teljes mellszélességgel akkor kezdtem dolgozni az adatokkal, amikor felmerült az ötlet, hogy a genetikai térkép alapján próbáljuk meg összerakni a scaffoldokat pszeudó kromoszómákká. Elöször azonosítottuk a genetikai markereket, amelyeket a genetikai térképezés során használtak. Azokat a scaffoldokat, amelyek tartalmazták ezeket a marker szekvenciákat, azonnal el tudtuk helyezni a képzeletbeli kromoszómán. Ezen marker szekvenciákat, ha tudtuk, a szarvasmarha genomon is megkerestük.

Ha két marker ugyan azon a kromoszómán volt a szarvasban és a szarvasmarhában is, akkor feltételeztük, hogy azok a scaffoldok, amelyek Blasttal elhelyezhetőek a szarvasmarha genomra és a két marker között vannak, a szarvas genomban is a két marker között lesznek.

Mivel nem volt sok marker, így is sok lyuk tátongott a pszeudo kromoszómákon. Személy szerint itt meg is álltam volna, de akkor jött az újabb ötlet: vegyük bele a szarvasmarha gének sorrendjét is a játékba, mintha azok is markerek lennének. Ha tehát két marker között volt egy gén a szarvasmarha genomban, akkor úgy vettük, hogy a szarvasban is ott van.

Közben egyre több cikk jelent meg, ahol sika szarvast meg más rokon fajokat szekvenáltak tizesével, miközben mi egyetlen genommal vesződtünk. Volt egy szerencsétlen próbálkozás, hogy újabb szekvenálást indítunk, hosszabb readekkel vagy hosszabb távolsággal a readpárok között, de a pénzügyi helyzet közbeszólt. Inkább újabb ötleteket eszeltünk ki, hogy a szarvasmarha genom információkat a szarvasra alkalmazzuk.

Többször hangoztattam, hogy túl sok információt veszünk át más genomokból, ami nem feltétlenül igaz a szarvasra. Jutalmul részt vehettem egy megbeszélésen, ahol egyetlen szót sem kellett szólnom, cserébe tudomány történeti kiselőadást hallhattam arról, hogy az első lépések az ismeretlenbe nem feltétlenül a helyes eredményt adják. Például a nagy földrajzi felfedezések idején rajzolt térképek közelében sincsenek a kontinensek valódi formájával. Ez kétségtelenül igaz, de továbbra sem tudtam szabadulni a gondolattól, hogy túl nagyvonaltúak kezeljük az evolúciós folyamatokat.

Közben egy másik égető probléma is jelentkezett. A szarvasos csoport egyre inkább úgy tekintett a genom projektre, mint aminek nulla a tudományos értéke és inkább csak szentimentális töltete van. Történetesen úgy gondolták, hogy nem is kellene tudományos lapban megjelentetni, hanem a Nimródban, mert ez a vadászokat biztosan jobban érdekli.

Gyarló emberi lényként engem nem érdekeltek a vadászok. Lehet, hogy másképp lövik halomra azokat az állatokat, amelyeknek ismert a genomja, nem tudom. De nekem, mint kutatónak az egyetlen valutám a publikáció. Nimród, Kiskegyed nem tartozik ezek közé. Azon kívül a témán dolgozott nem egy PhD hallgató is, akiknek fokozat szerzése múlhatott volna egy ilyen döntésen. Egyébként nem is értettem, miért nem lehet egy tudományos közlés után megjelentetni róla egy összefoglalót?

Végül elkészültek a pszeudo kromoszómák és én elhagytam az intézetet. Kézzel még további scaffoldokat helyeztek el, ami elég sziszifuszi munka. De ezzel még nem volt vége! A szekvenciákat annotálni is kellett. Ez sem volt olyan egyszerű, mert a legtöbb annotáló program még bakteriális szekvenciákon is napokig fut. Ez pedig egy eukarióta volt. Részleteket nem tudok a folyamatból, de elég nehéz volt.

Közben a többiek a fentihez hasonló megbeszéléseket folytattak, ahol a visszatérő téma a sika szarvas szexuális élete volt. Egészen pontosan a gím és sika szarvas násza. Hiába, a kutatók válaszokat keresnek.

Majd jött a kézirat, ami legnagyobb megkönnyebbülésemre valahogy mégsem Nimródhoz akart bekerülni. Még kész sem volt a kézirat, de már kaptam a leveleket, hogy ne válaszoljak a sajtó kérdéseire, hanem irányítsam őket a ranglétra magasabb fokán állók felé. Gyorsan fel is szerelkeztem karókkal meg fokhagymával a lesből támadó, habzó szájú riporterek ellen. Ezeket komolyan kell venni. Ezek Nimródosok!

Közben szép lassan kibontakozott egy kisebb háború, hogy ki legyen a levelező szerző. A szarvasos csoport feje természetesen úgy érezte, hogy ő, mivel már regóta szarvassal foglalkozott. A szekvenálós csoport főnöke viszont magának akarta ezt a címet, mert nélküle még mindig PCR-el, meg arrayekkel szórakozna a másik fél. Volt ordítozás, nem-beszélés, minden, mint egy igazi szappan operában. Természetesen, ahogy minden sakk játszmában lenni szokott, itt is a gyalogok érezték a legrosszabbul magukat.

Az élet végül visszatért a szokásos medrébe. A riporterek elkerültek, a kutatók tovább dolgoztak, a gím és sika szarvasok pedig további hibridizáltak.

Korrekció:

Kaptam egy levelet, amiben a bejegyzés következő pontatlanságaira hívták fel a figyelmemet:

  1. A bioinformatikai csoport vezetője senkivel sem ordítozott, vele ordítottak.
  2. A bioinformatikai csoport vezetője nem akart egyes egyedül levelező szerző lenni, csupán megosztott levelező szerző.
  3. A bejegyzés azt sugallja, hogy az összerakott szarvas genome nem jó, de egy skót, nagy felbontású géntérképpel összehasonlítva a szekvenciák teljesen jók.
  4. Bár a poszt csak érintőlegesen említi mások munkáját, a megjelent cikk rosszul tartalmazza az említett csoportvezető hozzájárulását, mert ő rakta össze a genomot, ő találta ki a bioinformatikai pipeline-okat, és a pszeudokromoszómák összerakásának minkéntjét is.

1 komment

Címkék: publikáció

A nagy motiválás

2018.01.06. 16:15 Travis.CG

Öreg vagyok én már ehhez - gondolta Tuck az év végi csoportmegbeszélés után. Az egész egy igen furcsa e-maillel kezdődött, amiben főnöke a teljes csoportot elmarasztalta, név szerint említve minden egyes embert. Nem nehéz ilyet csinálni, ha mindenkire több feladatot osztanak. Előbb-utóbb valami lassabban fog menni. Márpedig a csoport minden tagjának több futó projektje is volt.

A levél szerint először egy megbeszélés lesz, majd utána mindenki bemutatja az aktuális futó feladatait és azok állását. Az nem volt tiszta Tuck számára, miért kell két megbeszélés, de mindegy is volt.

A megbeszélés közeledtével érezhetően növekedett a feszültség, de Tuck nyugodt volt, két okból is: Először is, az ő projektjei jól haladtak, még akkor is ha főnöke másképp látta. Volt már annyi tapasztalata, hogy tudja, milyen sebességgel kell mennie a munkájának, másrészt egyetlen korábbi munkahelyén sem volt gond a hatékonyságával. Másrészt átlátott főnökén. Ha mindenkit leszúrnak egy csoportban, akkor ott nem az egyénekkel van a hiba. Ez csak amolyan műbalhé, amit a hollywoodi filmek szigorú kiképző őrmesterei is előadnak. Amikor még zöldfülű volt, ő is bedőlt ezeknek a trükköknek, de negyvenhez közel, már unalmas volt számára,

Nem is vesztegetett túl sok időt a beszámolókra. A fiatalabbak még reménykedtek benne, hogy egy jó előadás talán csökkenti a főnök haragját.

A megbeszélés a szokásos volt. Semmit mondó cikkek unalmas előadásban. Ez részben munkatársai tapasztalatlanságának volt betudható, de Tuck esetében a tehetségtelenségnek. Valahogy mindig is képtelen volt jó kapcsolatot kialakítani a közönséggel, meg úgy általában az emberi faj más egyedeivel. Talán emiatt is fordult a matematika felé. Így sikerült egy olyan szakmát választania, amivel még jobban elhatárolta magát embertársaitól. De ez a távolság tartás segített neki abban, hogy jobban felfigyeljen a társas kapcsolatok szabályszerűségeire. A mintázatokra, ahogy ő maga hívta.

Az utolsó előadás után a hallgatók elbúcsúztak és akik maradtak, feszült csendben várták az ítéletet. Tuck azon mélázott, vajon kirobbanás vagy lassú felvezetés lesz?

- Ma rákerestem a nevemre az Entrez-én - kezdte a csoportvezető. Lassú felvezetés - gondolta Tuck. - Harminchárom cikk társszerzője vagyok ebben az évben. A legtöbbjére nem is emlékszem, azt sem tudom, hogyan kerültem bele. Ezzel szemben a csoport hat publikációt közölt idén. Ha megszüntetném a csoportot, akkor is lenne 26 cikkem.

Tuck szkeptikus volt ezzel kapcsolatban, de hallgatott. Ha a lassú felvezetést mindjárt az elején megakasztja, este tízig is itt fognak ülni.

- A célom, hogy ezt a két számot megcseréljem.

Tuck gyorsan körbenézett. Három PhD hallgató, ugyan ennyi posztdok. Ez fejenként négy cikk és egy beküldött kézirat? Három havonta egy publikáció? De mindegy is, milyen számokat hall. A lehetetlen célok kitűzésével folyamatosan nyomás alatt lehet tartani az embereket.

- Növelni kell a hatékonyságot, ez így nem mehet. Tegnap előtt is felkerestek a Központi Urológiai Képalkotó Intézettől, hogy tudunk-e tumor mintákat adni nekik. Én behazudtam nekik, hogy tudunk. De tényleg tudunk? - itt az egyik posztdokra nézett, akinek xenograft modellek előállítása volt a feladata. Eddig nem járt sikerrel.

- A halakat nehéz fenntartani. A törzseket fenn kell tartani és nincs elég hely az akváriumban.

- Felőlem befőttes üvegekben is úszkálhatnak a halak, de ha nem hazudok be nekik valamit, akkor más partnert keresnek. Megmutatták milyen mikroszkópjuk van: belelát a szövetek közé. Science cikket írtak belőle, de senki nem idézi őket, mert nem értik, mire is lehet használni. Ha be tudjuk bizonyítani, hogy a klinikai gyakorlatban is használható, akkor azt a cikket rengetegen fogják idézni. De ehhez az kell, hogy legyenek halak!

- Mi a helyzet a statisztikai elemzéssel, amit kértem? - fordult most Tuck felé.

- Egy nem-paraméteres összefüggéssel már végigszámoltam, de szerintem lehetne növelni a statisztikai erőt, ha egy másik próbával is megismételném az elemzést.

- Nem, erre nincs idő. Tapasztalatom szerint a partnerek nem várnak hónapokat. Ma este átküldjük, ami van. Ha érdekli őket és válaszolnak, akkor folytatjuk, de ha nem, akkor nem vesztegetünk több időt rá. Az is lehet, hogy mással már rég megcsináltatták.

A főnök ezek után az egyik PhD hallgató felé fordult, ak valami rejtélyes oknál fogva a kutatás mellett rengeteg adminisztrációs munkát is végzett. A csoport ugyanis tagja volt egy ipari partnereket is tömörítő konzorciumnak és mint ilyennek, rengeteg koordinációs feladatot is el kellett látni.

- A szerződés szövege elkészült?

- Angol jogi szöveget kell megfogalmaznom, ez nekem nem megy egy hét alatt.

- Csak nagyjából kell jónak lennie. Küldd tovább a cégnek, csináljanak azok is valamit. Ők majd kijavítják, vannak jogászaik.

- De akkor...

- Nem vesztegethetünk ennyi időt! Ha nem látnak valamit, kilépnek a konzorciumból és nem kapjuk meg a pénzt. Legyen náluk a labda. Ha majd mégis van további kérdésük, úgy is visszaküldik.

A hallgató megsemmisülten elhallgatott.

- Rendben, ha más nincs, akkor mindenki mehet haza. Mi meg elküldjük az eredményeket - mutatott Tuck-ra.

Miután a többiek összecsomagoltak, Tuck és felettese bementek egy irodába. A számítógépen megnyitották Tuck előadását, majd főnöke kijelölte az egészet és bemásolta egy Word dokumentumba. A betűk őrült formákat vettek fel. Az ábrák össze-vissza álltak, ahogy megpróbálták megkeresni helyüket a virtuális oldalakon. Az egész egy nagy tészta masszára emlékeztetett, de a férfi oldal törésekkel, új sor beszúrásokkal regulázni kezdte a bekezdéseket. Az egész folyamat olyan volt, mintha egy félig felfújt gumimatracot próbálna meg dobozba zárni. Valami mindig kilógott.

Végül elég új sor és oldal törés volt benne, hogy a mondatokat egy helyre szögezze. Ekkor kezdődött az igazi munka: a formázás. A szavak a mondatban betöltött fontosságuk szerint félkövérek, pirosak vagy dőltek lettek, esetleg mindegyik egy kicsit.

Azután jött az összefoglalás. A dokumentum különböző oldalain szétszórt eredményeket a mágikus billentyű kombinációval kimásolta, majd egy másik mágikus kombinációval egy helyre beszúrta újra. Ami az eredeti helyén félkövér volt, most piros lett, ami piros volt, dőltté változott, ha meg történetesen dőlt volt, félkövér lett. Ez már elég változatosság volt, hogy ne legyenek a szövegek égbekiáltóan egyformák.

- Kész! - jelentette ki a csoport vezető. Mielőtt Tuck felocsudhatott volna megdöbbenéséből, már hozzá is csatolta egy levélhez és elküldte. Csupán fél óra volt az egész.

Szólj hozzá!

Címkék: irodalom

Nehéz szülés 2

2017.12.24. 23:15 Travis.CG

Ha ez volt a nehéz szülés, akkor a mostani a farfekvéses ikrek voltak. Ha létezik elátkozott projekt, akkor ez az volt.

Természetesen ez a projekt is úgy indult, hogy "nagyon gyorsan kell az eredmény, mert a kínaiak megelőznek minket". Ha jól emlékszem, 2014 tavaszán kerestek meg minket. Kis RNS-t és transzkriptómot szekvenáltak paprikából és elég jól indult a projekt. A benthamianas munkából okulva igyekeztem a minimálisra szorítani a felesleges munkát és elkerülni az ottani baklövéseket. Ebben, a munka oroszlán részét végző PhD hallgató is nagy segítségemre volt és még azt a hálátlan feladatot is zokszó nélkül megtette, hogy pufferként működött a bioinformatikusok és a laborosok között. Kevesebb értelmetlen kérés jött és tőlem is csak azokat az eredményeket továbbította, ami 100%-os volt. Bármi bizonytalanság volt, inkább kérte, hogy nézzem át alaposabban. Nagyon jó volt vele dolgozni.

Mint minden jó dolognak, ennek is vége szakadt. Őt is utólérte a pénztelenség, ezért elment egy céghez, ahol annyira meg voltak elégedve vele, hogy próbaidő után még fizetés emelést is kapott.

Az utolsó pár hónapban nagyon keményen dolgozott, hogy minden kísérletes munkát befejezzen és elmondása alapján be is fejezett. A bioinformatikai elemzés is kész volt, megvolt a validálás is, most következett az írás. Illetve nem-írás.

Egyfajta ping-pong játék kezdődött, ahol egy halandó kéziratokat gyártott és elküldte azokat az Olümposzra, majd az Istenek félresöpörték azt. Egy ideig tartottam a kapcsolatot a PhD hallgatóval, de mikor az olyan kérdésekre, mint "hogy vagy?", a válasz a projekt alakulása volt, inkább leálltam.

Amit hallottam, az nem volt megnyugtató. Kitalálták, hogy újabb kísérletek kellenek. Egy másik PhD hallgató folytathatta a munkát. Aztán én is elhagytam az intézetet, ezért a bioinformatikai munkára is új embert kerestek, akiről olyan pletykák keringtek, hogy még a mirDeep-P-t sem tudta lefuttatni.

Én le is mondtam róla, hogy valaha cikket látok a munkából. Vagy ha lesz is valami, engem biztos kihagynak belőle. Ezért is ért váratlanul, mikor 2017 áprilisának végén kaptam egy kéziratot áttekintésre és ott virítottam a szerzők között.

Az első célpont a Journal of Experimantal Botany volt. Négy napot töltött ott a kézirat, majd visszadobták. A következő cél a Frontiers in Plant Science volt. Itt is hasonló idő elteltével dobták vissza. A kritika elég kemény volt: A cikkben nincs hipotézis és a szekvenciákat nem töltötték fel az SRA-ba. Ez utóbbi az én hibám is, nem tűnt fel a kézirat elolvasásakor.

A komment csak annyi volt: "elvaultunk". Teljes beletörődés saját tehetetlenségünkbe. El is küldték a BMC Genomics-ba. (jun 1), ahol már több, mint négy napot töltött! Három rewiever is átnézte és az egyik közös pont, amiben mindenki egyetértett, hogy két ismétlés nem elég differenciál expresszióhoz.

Őszintén szólva nem emlékszem, hogy annak idején szóltam-e emiatt. Nagy valószínűséggel nem, így a hiba halomból ez az én részem. Csak egy szánalmas kifogás jut eszembe: úgysem hallgattak volna rám.

Viszont ez egy jó lecke volt nekem arra nézve, hogy publikáció orientáltan kell gondolkodni. A kísérlet tervezésénél, ha kompromisszumot kell kötni, az nem mehet a publikálhatóság rovására.

Ezen most már hiába kesergünk. Mai eszemmel átnézve a kísérlet felépítése egy vicc. (Két genotípust szekvenáltak. Az egyiknél három szövetet, a másiknál csak egyet. Az egyiknél 28 és 40 napos minták voltak, a másiknál 14 és 20 naposak.)

Természetesen a levelezésből ismét sütött a lemondás. Nem is tudom, mi irritált a legjobban. A tény, hogy energiát vesztegettem egy mostani eszemmel nyilvánvalóan hibás kísérletbe vagy az, hogy mások milyen könnyedén elfogadják ezt.

Elkezdtem agyalni, hogyan lehet menteni a projektet. Ami nyilvánvaló volt, nem lesz új kísérlet, nem lesz új szekvenálás, csak a hozott anyagból lehet építkezni. Ha a mintákat szövet szerint csoportosítjuk, kapnánk négy ismétlést. Nem tudom, mekkora szórás lenne a különböző időpontok miatt, de egy próbát megért volna.

A felvetésemre senki nem reagált, amikor írtam a szerzőknek, csak annyi választ kaptam, hogy "nagyon dolgoznak rajta". De az eltelt idő alapján egyre valószínűbb, hogy a projekt teljesen halott.

Szólj hozzá!

Címkék: publikáció

Elefánt a fordítóban

2017.12.17. 23:31 Travis.CG

Úgy döntöttem, az otthoni rendszeremet felvértezem Hadooppal. Nem teljesen légből kapott az ötlet, meg akarom ismerni a Sparkot, amihez nem árt, ha Hadoop is van. De akkor már telepítem a Hive-ot is. Meg a HBase se maradjon ki. Mivel az életem egy viszonylag nyugodt periódusban van, úgy határoztam, mindent forráskódból rakok fel.

Ha Java alapú rendszereket fordítunk, a Maven elengedhetetlen. Telepítsük ezt is forráskódból! Ez nem olyan egyszerű, mert a Maven fordításához is Maven kell. Ha el akarjuk kerülni az önmagába harapó kígyó esetét, kompromisszumos megoldásként le kell tölteni egy bináris Mavent is. A folyamatot bootstrappingnek hívják és a GCC fordítása során már írtam róla.

A második lépés a Hadoop fordítása volt. Ez már nem ment olyan egyszerűen. Telepíteni kellett a ProtocolBuffert, szigorúan a 2.5.0-t. Ez viszont régi, a telepítő nem tudta letölteni a szükséges állományokat, mert a curl parancs egy elavult verzióját használta. Ezért átírtam a kódot wget-re. Utána már fordíthattam is a Hadoopto:

mvn package -Pdist -Pdoc -Psrc -Dtar -DskipTests

A Hive teljesen fájdalom mentesen fordult:

mvn clean package -DskipTests

A Spark már okozott némi gubancot. A fordításhoz nem raktam fel a szükséges R csomagokat, ezért többször újra kellett indítani a folyamatot. A forráskódhoz mellékelt szkript viszont remekül végezte a dolgát. Mindent fordítottam, ezért szép hosszú parancssort gépelhettem:

./dev/make-distribution.sh --name custom-spark --pip --r --tgz -Psparkr -Phadoop-2.7 -Phive -Phive-thriftserver -Pmesos -Pyarn

A HBase okozta a legnagyobb fejfájást. A standard fordítási lépések rendre kudarcba fulladtak, ráadásul a keresőbe beírva nem azok a találatok jöttek fel, amelyek segítettek a megoldásban. Végül a hibaüzenetet idézőjelekbe rakva megvolt a megoldás! A Manve 3.5.2 nem képes lefordítani a HBase-t. A fejlesztők viszont azt találták, hogy a régi Maven zokszó nélkül teszi a dolgát.

A régi Mavent csak binárisan töltöttem le, mert nem szándékoztam megtartani. Azt használva ez a komponens is fordult.

Szólj hozzá!

Címkék: hadoop

Lassú víz

2017.12.14. 23:11 Travis.CG

A blogbejegyzés olvasása közben ezt a zenét javaslom:

Az egész úgy kezdődött, hogy kértem hozzáférést a magyar szuperszámítógépekhez. Először is, ki kellett tölteni egy webes űrlapot, ami elküld egy PDF-et, amit ki kell nyomtatni, tintával aláírni és elpostázni vagy elfaxolni a NIIF-hez. Már van ebben némi rutinom, nem számítottam rá, hogy bármi bonyodalom lesz.

Először is, az egész intézetben egy darab faxgép/fénymásoló/nyomtató volt, az sem működött. Nem kapott vonalat. Egy titkárnő próbált segíteni nekem, nem sok sikerrel. Már ki akarta rá tenni a táblát, hogy rossz, amikor rövid nézelődés után észrevettem, hogy nincs bedugva a telefon kábel. Biztos ti is láttátok a reklámot: ha ennél olcsóbban adnánk, neked kéne összerakni.

Az emailben, amiben megkaptam a PDF-et, a megadott szám nem válaszolt. Még egyszer elküldtem. Beírtam a 06-t elé, kihagytam a 06-t. Semmi reakció. Persze minden egyes próbálkozás 10 perces szünetekkel ment, mert az a nyomorult gép tárcsáz, újratárcsáz, közben érkezik negyven papír, amit a gazdasági hivatal nyomtat. Végül kiköpi a szerencsétlen a jelentést, amiben közli, hogy nem sikerült.

Aztán észrevettem, hogy a PDF-ben szereplő telefonszám és az emailben megadott szám eltér. Nosza, próbáljuk ki azt is! Természetesen 06-al, anélkül, stb. Erre elment!

Egy hét múlva sem érkezett válasz. Még annyi sem, hogy megkaptuk a tetves papírjaimat. Akkor írtam egy e-mailt. Két-három nap múlva válaszoltak is, hogy megkapták az faxot és ők úgy tudják, mindkét fax szám működik. Hahaha, rosszul tudjátok.

Megint eltelt egy hét és jelezték, hogy a témaszámot elfogadták. Nagyszerű, most jön a projekt igénylés! Ezt már elméletileg a HPC portálon lehet intézni, de a valóságban nem működik. A témaszám elfogadásáról kapott email még tartalmazott egy régi linket, amit évekkel ezelőtt használtunk a hozzáférés igényléshez. Azt is kitöltöttem, kinyomtattam, faxoltam. Mivel a faxszám megegyezett azzal, ami korábban nem működött, elküldtem oda is, a másikra is, ami működött, 06-al, anélkül.

Egy hét után ismét írtam. Leírtam, hogy nem megy a portál, elküldtem a faxokat, most mi van?

A hozzáférés igénylésnél kérték, hogy becsüljem meg, mennyi erőforrást akarok használni. A Sangerben használt erőforrás igényt jelöltem meg (10T tárhely, 80GB RAM, kb. egy hét futás idő 4 processzoron). Mint később végiggondoltam, kicsit alábecsültem a szükségleteimet. De még ez is kiverte a biztosítékot náluk. Az email után kb. egy órával már kaptam egy levelet, amiben az után érdeklődtek, miért kell nekem ennyi tárhely? A processzor idő nem sok, de ezzel a rengeteg memóriával együtt nagyon szokatlan.

Szépen leírtam nekik, hogy mi, bioinformatikusok perverz vonzalmat érzünk a tömörítetlen szöveges állományok iránt, ezért kell ez a sok hely. Az R meg memóriából él. Ismét eltelt egy hét. Újabb emailt küldtem. Azt írták, tényleg nem megy a portál, kijavítják és majd válaszolnak.

Mivel nem akartam, hogy túl rámenősnek tartsanak, vártam. Eltelt egy hónap, ismét megkérdeztem, mi a helyzet. Két emailt is kaptam, olyan sebtében összedobva, hogy először azt hittem, gugli fordítóval készítette egy nigériai diktátor, hogy kimentse vagyonát az én bankszámlám segítségével. Ekkor elkezdtek dolgozni. Másnap már láttam a projektemet a portálon.

Csak bejelentkezni nem tudtam.

Újabb emailt írtam a problémáról. Bár korábban leírtam, milyen felhasználó nevet akarok, de ezt figyelmen kívül hagyták és generáltak nekem egyet. Ez a felhasználó nevem: oqqn0bf. Ha lenne benne nagy betű, még jelszó is lehetne. De ezen már nem bosszankodtam.

Jött ugyanis az újabb probléma. Nem kaptam processzor időt. Eredetileg a Debreceni gépre kértem hozzáférést, így itt akartam kipróbálni, mit tudok, de az I/O olyan lassú volt, mint egy szalagos egységnél. Kipróbáltam a Debrecen2-t, ami normális sebességgel működött. Ezért oda kértem a processzor időt.

A következő héten ismét kaptam egy levelet, hogy miért akarom én a Debrecen2-t használni, amikor az GPU-s programokra van, írjam le, milyen GPU-s programot akarok használni. Visszaírtam, hogy akkor adjanak a Debrecen1-re. Persze nem adtak. Akkor igényeltem arra a gépre is a portálon keresztül, és végre megkaptam.

Mintha nem is emberekkel kommunikálnék, hanem egy Johnny taxival. Persze futtatni továbbra sem tudok semmit, mert a lassú I/O okát nyomozzák és minden futó folyamatot felfüggesztettek.

5 komment

Bioinformatika 2017

2017.12.07. 22:38 Travis.CG

A Bioinformatika 2017 konferencia nem csak a Magyar Bioinformatikai Társaság konferenciája, hanem az Elixir első rendezvénye is volt. A csoportvezetők mellett a PhD hallgatók is előadhatták kutatási eredményeiket. A rendezvényről video felvétel is készült, ha lesz link, itt fogom közzétenni én is. (Szerk: A videók itt találhatóak.)

Csabai István: Kollaboratív keretrendszer genomikai adatelemzéshez
A genomika felfutóban van, egy projekten belül több, különböző háttérrel rendelkező ember dolgozik, gyakran nagy földrajzi távolságban. A megoldás egy felhő alapú rendszer, aminek a Jupyter notebook az alapja, GitLab a verzió követő rendszere, míg a számítás virtuális gépeken megy. Van jogosultság rendszere és kommunikációs felülete. A szolgáltatás itt található.

Barta Endre: Transzkripciós faktorok és kofaktorok topológiájának vizsgálata a DNS-en ChIP-seq adatok elemzésével
A munka során a szabadon elérhető Chip-seq adatokat elemezték újra. A peak legmagasabb pontját meghatározták és ezt tekintették kötőhelynek. A CTCF pozícióhoz képes a többi kötőhely pozíciója nem véletlen szerű, ezért a kötőhelyek egymáshoz viszonyított helyzetére lehet következtetni. Az elcsúszás mértékéből még azt is meg lehet állapítani, hogy a motivum közvetlenül vagy közvetve kötődik-e a DNS-hez.

Antal Péter: Bayesi rendszerszintű vizsgálatok a közös genetikai háttér felderítésére komplex fenotípusok, betegségcsoportok és betegségek összessége esetén
A genetikai asszociációk a kezdeti SNP/fenotípus kapcsolatból tovább fejlődtek. A túlzott többszörös teszt korrekciót a Bayes módszerrel igyekeznek orvosolni, ahol imputációval a már létező háttértudást igyekeznek bevonni a számításokba. Az így keletkező hálózatok rendkívül bonyolultak, mert a gráfok részletesebb leírást adnak, de a feldolgozásuk is időigényesebb.

Fuxreiter Mónika: A szerkezeti elmosódottság szerepe a fehérjék szerveződésében
Az előadáson nem voltam.

Mészáros Bálint: Rendezetlen fehérjék és fehérje régiók szerepe a rákban
Az előadáson nem voltam.

Pongor Sándor: Molekuláris jelzések és a mikrobiális közösségek stabilitása
A mikrobiális élőlények még mindig a legynagyobb metabolizáló állomány a Földön. A megfigyelések alapján tudjuk, hogy a sejtek "tudják", hogy elég a számuk egy erőforrás feldolgozásához, ami azt jelenti, hogy kommunikálnak és kollaborálnak. A kommunikációs géneket matematikailag modellezték, majd megpróbálták a azok evolúcióját is feltárni. Ha a kommunikációs gének mutálódnak, kevert populációk jönnek létre, melyek túlélése kihathat a teljes állományra. Szerencsés esetben az egyik szubpopuláció felül tud kerekedni és túlél. Rossz esetben a hátrányos szubpopuláció gátolja a többi terjeszkedését is.

Gáspári Zoltán: Térszerkezeti sokaságok szerepe a fehérjék szerkezet-hatás összefüggéseinek megértésében
A fehérje szerkezetek meghatározásának egyik legjobb módja, ha kísérletes eredményeket kombinálnak molekuladinamikai számításokkal. Egy prediktált szerkezet validálása bonyolult folyamat, fennáll a túlillesztés veszélye. A csoport készített egy webszervert, melynek célja, hogy elvégezze ezt a validálást.

Szöllősi Gergely János: Horizontális géntranszfer események mint molekuláris fosszíliák
A molekuláris szekvenciák közti különbségek az idővel arányosan nőnek, ezért molekuláris órákként lehet őket használni. Ezek az órák nem globálisak, hanem élőlény csoportonként eltérhetnek. Jelenleg a fosszíliákat tekintik az egyetlen valós bizonyítékoknak, de azok sem képesek minden kérdéses eseményt megmagyarázni. A horizontális géntranszferből eredő bizonyítékok viszont kiegészítheti a fosszíliákat és precízebb génfákat eredményezhetnek. Az elmélet implementációja itt található.

Bálint Mónika: Hogyan csomagoljunk be egy célpontot?
Fehérje molekulák célba juttatásánál fontos azok becsomagolása, hogy a kötőhelyeket megvédjék. Jelenleg két módszer létezik: az AutoDock és az úgynevezett blind docking. A csoport egy harmadik módszert dolgozott ki, amit wrap'n'shake-nek neveztek el. Habár még nincs validálva, a szintetikus teszteken jól teljesít.

Fichó Erzsébet: Rendezett rendezetlenség
A rendezetlen fehérjék kapcsolódhatnak más rendezett vagy rendezetlen fehérjékhez. A PDB, GO és PubMed információkat felhasználva két webszolgáltatást hoztak létre, melyek célja a kölcsönhatás függvényében a rendezetlen fehérjék és azok partnereinek összegyűjtése. A DIBS esetén a rendezetlen fehérjék globuláris partnerekhez kötődnek, míg az MFIB a rendezetlen-rendezetlen kapcsolatokra specializálódott. A két adatbázis a rendezetlen fehérjék teljes spektrumát lefedik.

Dobson László: Rendezetlen fehérjék komplexeinek vizsgálata szekvenciális, szerkezeti és funkcionális szempontból
A rendezett és rendezetlen fehérjék között rengeteg átmenet fordulhat elő. Például egy rendezetlen fehérje is lehet stabil, ha bizonyos partnerekhez kötődik. Kérdés, hogy a rendezetlen-rendezetlen komplexek tagjai lehetnek-e targetek?

Kerepesi Csaba: Öregedést befolyásoló fehérjék predikciója gépi tanulással
A GeneAge az öregedéssel összefüggésbe hozható gének adatbázisa. A kutatási téma célja, hogy gépi tanulás segítségével lehet-e közös jellemzőket találni a gének között, illetve a trenírozott modellel lehet-e új géneket találni? Az XGBoost csomagot használva döntési fát hoztak létre, amelyek jellemzői GO termek voltak.

Medgyes Horváth Anna: Humán mitokondrium haplotípus meghatározás és filogenetikai analízis szennyvíz mintákból
A projekt úgy indult, hogy járványok metagenomikai vizsgálatát végzik szennyvízből, de időközben humán mitokondrium haplotípus azonosítás lett belőle. Az eredmények sem okoztak túl nagy meglepetést: Afrikában az afrikai haplotípus volt döntő többségben, míg ázsiában az ázsiai. Amerika sajnos kevert mintát mutatott.

Nagy Gergely: Makrofág transzkripciós faktor kaszkádok vizsgálata ATAC-seq-kel
Egér modelleken ATAC-seq-kel vizsgálták a makrofágok transzkripciós szabályozását. Több szekvenálással a folyamatot időben nyomon követték és megpróbálták a jelátviteli útvonalat feltérképezni.

Pongor Lőrinc: Mintavételezés hatásának vizsgálata ovárium tumoros betegekben újgenerációs szekvenálással
A tumor egy evolúciós folyamat, tehát szekvenálásnál egy kevert populációs kapunk. Kérdés, hogy a tumor mérete hogyan befolyásolja a szekvenálást? Sequenza segítségével határozták meg a cellularitást, Mutect 2-vel a variációkat. Az eredmények azt mutatják, hogy a méret nem befolyásolta a mutációk számát, mert a nagy mintában a kis klónok kihígulnak.

Pipek Orsolya: Egyedi mutációk gyors és megbízható detektálása izogenikus mintákban
Az előadásban megismerhettük az IsoMut programot, mely hasonló mintákból olyan mutációkat keres, melyek csak kevés mintára jellemzőek. A program már több publikáció alapját is képezte.

Végezetül egy kis anekdota: A molekuláris fosszíliák előadás után az egyik kérdező feltétlenül szükségesnek érezte bejelenteni, hogy meghatározták a bibliai Éva genomját. Az előadó egy pillanatra megfagyott egy kényszeredett mosolyban, majd azzal vágta ki magát, hogy a mitokondriális DNS vizsgálatával tényleg meg lehet állapítani egy ősi mitokondriális szekvenciát, amit hívhatunk Évának, de a kérdező tántoríthatatlanul állította, hogy Évát bizony megszekvenálták. Több komment nem volt.

Ugyan ez a kérdező a haplotípusos előadás után megkérdezte, hogy a dia, ami az emberi faj feltételezett elterjedését ábrázolta, a Pangea állapotot tükrözi-e. Az előadó nem tudta, mit válaszoljon, végül azt mondta: igen. Sajnos a mentés későn érkezett. Az egyik kutató megjegyezte, hogy a Pangea idején még nem volt ember.

1 komment

Címkék: bioinformatika

Ejnye-bejnye

2017.12.02. 23:51 Travis.CG

Már megint rosszalkodtatok, gyerekek? Nem megmondtam, hogy rendesen publikáljatok! Mondtam nektek, hogy tegyétek fel a kódot GitHubra. Milyen kódot? Hát amiről a drágalátos cikketek szól!

Nem, gyerekek, nem azt kértem, hogy tegyetek egy GitHub linket a cikkbe, mert az olyan nagyfiús. A GitHub nem arra való, hogy SVG képeket rakjatok ki, hanem a forráskódot. Tudjátok, megismételhetőség és a többi dolog, amit már kiscsoportban is gyakoroltunk. Így a többi gyerek nem tud játszani a programotokkal.

Van letöltési link? Hol, drágaságaim? A wiki oldalon? Had nézzem csak! Jaj, gyerekek, még mindig nem tudom letölteni, mert itt egy link van az intézet weboldalára, ahol még egy újabb email írása után kapjuk meg a programot. Ez nagyon nincs rendben!

De ha már itt vagyunk a wikin, akkor írjátok le rendesen: Tuxedo pipeline és mellőzzétek a kiscsoportosokra jellemző "a többi eszközt nehéz nem emberi fajokra beállítani", mert tiéteket jelenleg nem lehet letölteni sem. Ha már itt tartunk, azt sem tudjuk meg a wikiből, hogyan kell beállítani a ti programocskátokat. Annyira azért nem lehet egyszerű, hogy le sem kell írni.

Nem akarom hallani a kifogásokat! Ha a csoportvezetőd azt mondja, ugorj a kútba, akkor beleugrasz? A GitHub-on is láthatod a letöltéseket, nem kell eltéríteni a felhasználót.

Még mindig van problémátok? Tényleg? Amíg ezeket a hibákat ki nem javítjátok, nem kezellek benneteket felnőttnek.

Szólj hozzá!

Szolgálunk és értünk

2017.11.23. 23:29 Travis.CG

Egy pár rendszergazda itt is nagy kedvencem lesz, látom. Új ismerősöm, a Hegylakó. Szeretném, ha csak egy maradna belőle.

Egyik nap megkérdezték tőlem, tudok-e csinálni FTP szervert, mert milyen remek is lenne, ha arra küldenék el az adatokat a partnerek. Elmondtam, hogy maga a szerver felállítása nem probléma, de ha azt akarjuk, hogy az intézeten kívülről is elérhető legyen, beszélni kell a rendszergazdákkal is.

Mindjárt meg is kaptam a lehetőséget, hogy a kapcsolati tőkémet gyarapíthassam. Kétszer nem sikerült elérni őket az irodájukban, de ebéd után rájuk találtam. Elő is adtam kérésemet. Egy magas, hosszú hajú rendszergazda vette a fáradságot, hogy meghallgassa. A két szemtengelye nem volt párhuzamos, ezért egy ideig gondot okozott, hova is nézzek, mert az volt az érzésem, hogy a bal szemével mustrál valakit a hátam mögött, miközben a jobb egyenesen rám meredt.

- Persze, meg tudjuk oldani, kell szólni a főnökünknek. Ő most nincs itt, nem is lesz ezen a héten, de az e-mailt figyelemmel kíséri. Most én hiába mondok bármit is, ha ő azt mondja, hogy máshogy csináljuk. A gépteremhez is neki van csak kulcsa. Mennyi adatról lenne szó?

- Tíz és húsz gigabájt köztt.

- Nem lenne jobb egy webes feltöltés? - szólt közbe egy másik rendszergazda.

- Nem. A HTTP protokollnak van egy csomó gyengesége. Nagy adatokhoz nem a legjobb - válaszoltam. Közben végigfutott az agyamon a számtalan kerülő megoldás, amivel mindenki igyekszik elérni, hogy ne kelljen óriási fájlokat weben feltölteni.

- Kell szólni a főnöknek - vette vissza a beszélgetés fonalát Hegylakó. - Ő majd megmondja, mit kell csinálni. Kell írni neki egy levelet, leírni, mennyi adatról lenne szó. Az is lehet, hogy javasol valami jobbat az FTP-nél, nem tudom.

A levelet meg is írtam. A válasz szerint, az intézetnek már van felállított FTP szervere, a levélben el is küldték a felhasználó nevet, de a jelszóért vissza kellett mennem a "fiúkhoz". Biztonság mindenek felett.

A fiúk megint nem voltak a helyükön. Óránként visszajártam és két sikertelen megkeresés után, harmadszor kaptam el őket. Hegylakó rögtön értette, miért jöttem.

- Most olvastam a főnök levelét. Én nem is tudtam, hogy ilyenünk van! A jelszó meg... - itt vágott egy olyan arcot, mintha a kezembe zöld taknyot tartanék és váltig állítanám, hogy ez egy földön kívüli életforma. - Gyere vissza később, addig megpróbálom kideríteni, honnan lehet megszerezni a jelszót.

- Nekem el kell mennem. El tudnád küldeni emailen?

- Persze, nem probléma.

Egyetlen emailt kaptam csak Hegylakó főnökétől, amiben leírta a fiúknak, hogy vegyék át a paranoid gondolkodást és ne küldjenek jelszavakat levélben. Én ebből arra következtettem, hogy a jelszó megvan, csak nem akarják elküldeni nekem. Rendben. Írtam egy munkatársamnak, hogy akkor vegye át ő a jelszót. Válaszában leírta, hogy Hegylakó még mindig nem tudja, miről van szó.

Remek, aki létrehozta a hozzáférést, nem mondja meg a jelszót, aki megmondhatná, az meg nem tudja. Így húzódott át egy egyszerű probléma a jövő hétre.

Szólj hozzá!

Címkék: életmód rendszergazda

Használható táblázatok

2017.11.19. 01:11 Travis.CG

Most következő bejegyzésem nem kifejezetten bioinformatikai témájú, sokkal inkább abban próbál segíteni, hogyan készítsünk olyan táblázatokat, amelyeket egy bioinformatikus is tud használni. A cél, hogy ne abból álljon a közös munka, hogy készítünk egy táblázatot, majd továbbadva azt munkatársunknak, az szintén egy csomó munkát beleöljön szükségtelenül.

Az itt leírtakat inkább iránymutatónak szánom, mint konkrét szabályoknak, mert el tudok képzelni olyan eseteket, amelyek felülírhatják az itt vázoltakat. Sőt, olyan helyzet is akadt már munkám során, amikor többen együtt sem tudtuk eldönteni, melyik táblázat lenne nekünk megfelelő.

Az azonosító maradjon azonosító

A legtöbb laborban dolgozó ember eleve használ táblázatokat, jóllehet ennek nincsenek is tudatában. Ezek egy oszlopos táblázatok szoktak lenni, ahol egyetlen oszlop tartalmaz minden információt. Például: MutMale2007A, MutMale2007B, stb. Ismerős? Biztos vagyok benne. Személy szerint nem szeretem ezt a megoldást, de mint említettem, van létjogosultsága, ha valaki az eppendorf csöveket gyorsan átnézve akarja egy gélen megfuttatni csak a férfi mintákat. Hátránya, hogy nagyon sok információt kell minden egyes alkalommal leírni. Előnye, hogy nem kell egy lapot is böngészni, ha egy kezelést csak egy csoporton kell alkalmazni.

Személy szerint az egyszerű, minimális információval rendelkező azonosítókat kedvelem. Nem az azonosítónak kell hordoznia az összes információt. Az információ száma úgyis növekedni fog a kísérletek és eredmények számával. Arról nem is beszélve, hogy hibák mindig előfordulnak. Csak képzeljük el, ha kiderül, hogy az egyik csövet már az elején rosszul cimkéztük és nem férfiból származik. Közben már futott négy PCR, két különböző kezelés, stb. Mindegyik lépésből tettünk el kis csöveket a mélyhűtő leghátsó zugába. Átcimkézünk mindent, ami többnyire lehetetlen, vagy inkább csak megcsillagozzuk, hogy tudjuk, hogy igaz, hogy ez férfi mintának van jelölve, de valójába más. Ezzel el is indultunk a káosz felé vezető úton.

Egy személytelen és minimális információval rendelkező azonosító esetén ilyen gond nincs. A táblázatot kell csak korrigálni, ahol az azonosítót hozzárendeljük az információhoz.

A másik ok, ami miatt a minimalista azonosító hasznos lehet, ha vakon akarunk dolgozni. Mivel emberek vagyunk, a prekoncepció tudat alatt módosíthatja a mintákhoz való hozzáállásunkat. PhD hallgató koromban emlékszem, én is nagy figyelemmel mértem az enzimet (a drága enzimet, mint erre minden alkalommal felhívták a figyelmemet), szemben a vak mintánál, ahol csak deszt vizet kellett hozzáadni (nem baj, ha kicsit több megy bele, hiszen ez csak a vak). De a bioinformatikai munka elején is szívesen dolgozok vakon, segít, hogy objektívebben lássam az adatot.

Ha ennek ellenére is az információ dús azonosítók mellett döntünk, akkor legalább legyenek következetesek az elnevezések. Mit értek ezalatt? Ha a fenti példánál maradva MutMale2007A jelölést használunk, akkor ne váltsunk át 2007Female1-re félúton. Az információ tartalom ugyan az, de mikor számítógépre kerülnek az adatok, roppant nehéz lesz kódot írni rá. A helyzet akkor szokott bonyolódni, ha a nem várt események történnek. Ismét csak a fenti példa okán. Kiderül, hogy MutMale2007-ből van 50 darab. Először elfogynak az angol ABC betűi, majd azon kezdünk el gondolkodni, hogy a Lineáris B vagy a Klingon karakterek felhasználásával nevezzük el a többit. Mivel mindkettő nehéz, maradnak az emoji-k.

Egy oszlop, egy információ

Ha megvan az azonosító, a táblázat többi oszlopa plusz információkkal tölthető fel. Egy oszlop egy féle információt tartalmazzon. Ezek lehetnek kategorikus változók vagy folytonosak. A folytonos látszólag nem igényel magyarázatot, de itt is akadhatnak problémák. Például a mértékegység. Egy féle mértékegységet használjunk és bár fizika órán megkövetelik, hogy írjuk ki minden szám után (Öt micsoda? Krumpli? Ahogy tiszteletre méltó tanáraim mondták.), táblázatoknál ne tegyük, mert ez után a lépés után a cella megszűnik szám lenni és szöveg lesz. Arról nem is beszélve, milyen frusztráló, ha néha kis betűvel, néha nagy betűvel van kiírva a mértékegység. Néha space-el, néha anélkül, csak, hogy szép legyen az élet.

A kategórikus változóknál is igyekezzünk elkerülni a hasonló elírásokat. Személy szerint itt is az egész számokat részesítem előnybe a kiírt nevek helyett. Habár a kiírt nevek könnyebben értelmezhetőek, ha ábrázolunk valamit, legtöbbször hiba forrásai. Ha mégis a nevek mellett döntünk, csak alfanumerikus karaktereket használjunk és minden esetben ellenőrizzük, nem történet-e elgépelés.

Természetesen itt is van kivétel. Ha a táblázatot DESeq2-ben akarjuk használni csoport képzésre, akkor előfordulhat, hogy meg kell szegnünk ezt a szabályt. A DESeq2 ugyanis csak egy oszlopban található kategóriákat használ fel a differenciál expresszióhoz. Ha tehát több kategória (oszlop) alapján akarunk géneket keresni, kénytelenek leszünk összevonni azokat.

Ne legyen túl sok oszlop

Kinek mi a sok, igaz? A Sangerben volt egy csoportvezető, akinek 107 oszlopos táblázatot kellett generálni. De ő mindig csak az utolsó hármat nézte, ami azt jelezte, hogy a mutáció képes-e tumort indukálni. Ennek ellenére ha nem kapta meg a 107 oszlopot, akkor meg sem nézte az utolsó hármat. Ha a vizsgálatainkhoz fel kell használni egy információt, akkor annak oszlopként szerepelni kell a táblázatban. Ne vigyünk be olyan adatokat, amelyeket úgysem használunk. Ne vigyünk fel olyan oszlopokat, amelyek két vagy több korábbi oszlopból kinyert adat módosulatai. A fenti esetben az utolsó három oszlop a következő volt: tumor indukáló A szerző szerint, tumor indukáló B szerző szerint, tumor indukáló A vagy B szerző szerint.

Redundancia: gondoljuk át

A redundancia kérdése elég nehéz. Alapból a redundancia mentes táblázatokat szeretem, de egyes esetekben nem ilyen egyszerű a válasz. Vegyük például a mutációs táblázatokat. Minden sor egy mutáció, tehát egy kromoszóma pozíción adott nukleotid csere. A táblázatban jelölni akarjuk, hogy melyik génben található meg. Mivel elsajátítottuk az "egy oszlop egy információ" elvet, csak egy gént viszünk fel. De mi van az átfedő génekkel? Egy mutáció ilyenkor két gént ront el. Valamelyik szabályt meg kell szegni!

Másik eset: A Variant Effect Predictorral megnézzük, hogy a mutációnk milyen változást okoz aminosav szinten. A program a gén összes transzkriptjére meghatározza ezt. Tehát egy mutációhoz több hatás is tartozhat. Itt én a redundancia mellett döntöttem, még akkor is, ha ezzel olyan triviális információt vesztek, mint a mutációk száma.

Sokszor látni olyan táblázatokat, ahol ilyen esetben a táblázattól független elválasztó karakterrel felsorolják az összes lehetséges változatot. Ez jó megoldás, ha az oszopot csak szűrésre használjuk. Amennyiben statisztikai számításhoz kívánjuk felhasználni, rögtön egy sor problémába futunk.

Az egyik megoldás két táblázat használata, a másik, hogy feltételeket szabunk Például a VEP táblázat esetén úgy döntöttünk, a leghosszabb transzkriptet nézzük csak. Mint később kiderült, ez nagyon rossz döntés volt, mert a TP53 esetén, ami a rákos elváltozások döntő többségéért felelős, egyetlen aminosav cserét sem találtunk. Mert a leghosszabb transzkript nem kódol fehérjét! Remélem ez a kis példa is mutatja, hogy egy hibásan felépített táblázat mennyi problémát okozhat.

Hiányzó értékek, kerüljük el

Természetesen nem tudjuk elkerülni őket. Mindig van hiányzó adat. A hiányzó adatnál már csak a bizonytalan adat a rosszabb. Egy szám és mögötte egy kérdőjel. Ha hiányzó érték van, az egyérteműen látszódjon. Ne úgy, hogy pirossal kiszínezzük a cellát! Folytonos változóknál az NA tökéletes, még az R is megérti. A 0 csak akkor jó, ha 0 nem lehet egyébként a táblázatban, tehát nem keverhetjük össze értékkel.

Amikor egy táblázat nem elég

Ha a komplexitás nagyon megnő, felesleges egy táblázatba préselni mindent. Inkább legyen több, kisebb táblázat, mint egy monolitikus, de használhatatlan. Ha a táblázatok száma kezd nagyon megszaporodni, inkább használjunk adatbázisokat. Felépítésük időigényes, de után kinyerhetjük az adatokat mindenki ízlése szerint. Természetesen egy adatbázist elfogadtatni egy Excel központú világban nagyon nehéz. A legjobb, ha nem is borzoljuk vele mások idegeit, csak használjuk. Ha pedig sürgősen szüksége van az adatok más formában való prezentálására, csak írjunk egy lekérdezést 10 másodperc alatt.

Szólj hozzá!

Címkék: bioinformatika

Nem a tiéd

2017.11.13. 00:21 Travis.CG

Technológiai trendek terén mindig is rosszul döntöttem, illetve van egyfajta vonzódásom a vesztes megoldások iránt. Például annak idején szívbaj nélkül vettem egy Efika 5200b-t, pedig mindenki mondta, hogy kevés a memória benne, vannak jobb alternatívák, ha MorphOS-t akarok használni. De a microA1-t is azután szereztem, hogy az AmigaOS4 felhasználók kezdtek áttérni MorphOS-re.

Ezeket a döntéseket nem szoktam megbánni, bár sokkal több akadályt gördítek magam elé, mintha sodródnék az árral. Angliában is Windows telefont vettem, pedig a szakmai fórumok sulykolták, hogy milyen kevés a piaci részesedés, mennyire nincs szoftver támogatottság, stb.

Úgy gondoltam érdekes lesz használni. Nem is bántam meg. A Skype például remekül működött. Amíg az Androidos táblagépen a hívásokat nem kaptam meg, ha a gép alvó állapotban volt, addig a telefon vígan felébredt. Remek volt, hogy egy eszközzel elértem mindent. Természetesen Androidra is volt valami extra szoftver, amit telepíthettem volna, de nem akartam. Miért kell egy program használatához kettőt telepíteni? (Azóta ezt frissítették, most már felébred a tablet is.)

De ennek most vége. Egy hónapja nem tudtam bejelentkezni a Skype-ba a telefonon keresztül. A program a hálózati beállításokra panaszkodott, de azokkal nem lehetett gond, mert más alkalmazások remekül működtek. A netet böngészve akadtam arra a bejegyzésre, hogy a Microsoft letiltja a Skype használatát a Windows 8.1 telefonokra. (Olyan lassan írtam ezt a bejegyzést, hogy időközben a Microsoft teljesen kinyírta a mobilos részlegét.)

Mi van? Állítólag küldtek róla e-mail értesítőt, de miután a Microsoft saját levelező rendszere képtelen kiszűrni a Microsoft nevében küldött spameket, én minden ilyen levelet automatikusan törlök. Egy cég eldöntötte, hogy én mire használhatom azt az eszközt, amiért fizettem.

Ez a húzás olyan, mintha egy férfi azon erőlködne, hogy tökön rúgja magát. Próbálkozik, próbálkozik, de csak nem akar sikerülni. Aztán a megfeszített munka végül meghozza a gyümölcsét és akkor rájön az illető, hogy ez nem volt jó ötlet. De akkor már késő. A fájdalom valós és a pöttöm kis szerv is szépen lilul.

Mindezt az teszi lehetővé, hogy az eszközök nem képezik a tulajdonunkat. A felhő alapú megoldásokkal minden kikerül az irányításunk alól és ha az üzleti érdek úgy diktálja, akkor egy tollvonással eldönthető, hogy a felhasználók mit kapjanak.

Az operációs rendszerek leszedhetnek telepített programokat a gépemről, ha azt nem megfelelőnek találják. A játék kiadói lekapcsolhatják az online szervereket, ha nincs elég bevételük.

Nem teszünk más, mint lízingeljük az eszközöket. Egyre több olyan program lesz, ami havidíjas. Már azt is egyre nehezebb elérni, hogy a megvásárolt program látszólag a birtokunkba kerüljön.

Lehet említeni a szabadság jogokat, ahogy Stallman teszi, hogy csak szabad szoftvert/eszközt használjunk. Sírhatunk a retro életérzés elvesztéséért. De azt is tehetjük, hogy magasról teszünk az egész üzleti érdekek által kezdeményezett zsarolásra és a saját kezünkbe vesszük az irányítást. Rootolunk, visszafejtünk, fejlesztünk. A hardver nálunk van, kódot tud futtatni.

Nyilván sokkal nehezebb, mint átváltani egy másik platformra, de még mindig úgy gondolom, a nehezebb út nem feltétlenül rosszabb. Ráadásul a végeredmény tényleg az enyém lesz. Paradox módon úgy kerülhet valami a teljesen a tulajdonunkba, ha az őt létrehozó cég leveszi róla a kezét.

 

Szólj hozzá!

Címkék: filozofálás cloud computing

Rambo-szindróma

2017.10.30. 22:37 Travis.CG

Rambo a katonai kiképzés csúcsa. Szinonímája a legelitebb csapásmérő erőnek. Nekem mégis a legemlékezetesebb jelenetem az első rész végén hallható monológja, ahol elpanaszolja, hogy hiába a szuper kiképzés, békeidőben még parkoló fiú sem lehet. (Amikor a feleségem felhánytorgatja, hogy nem szeretem az érzelmes, romantikus filmeket, ezzel szoktam rácáfolni.)

Ez a Rambo-szindróma. Tünetei: Az ember azt kérdezi, miért nem csinálhatom X dolgot, ha korábban csinálhattam? Ha valamit jobban is el lehet végezni, miért kell rosszul csinálni? Motiválatlanság a kapott feladat elvégzésére, mert nincsenek megfelelő feltételek. Szélsőséges esetben dühroham a korlátolt rendszer által generált akadályok láttán.

A Rambo-szindróma könnyen összekeverhető a lusta-arrogáns magatartással. Tünetei hasonlóak, csak a lusta-arrogánsokat könnyen leleplezhetjük, ha megnézzük múltbeli teljesítményüket. Az ugyanis közel nulla. A fennálló rendszer elleni gyűlöletük abból adódik, hogy dolgozniuk kellene, de mivel lusták, ezt nem akarják. Lustaságukat arroganciával leplezik és ez a két tulajdonság egyenesen aránylik.

Az igazi Rambó-szindrómás viszont dolgozni akar. Érdekes szekvenálási projektekben akar részt venni, miután visszatért Svédországból. Esetleg Lendület pályázatot beadni, hogy bokorugróból csoportvezető lehessen. De az is lehet, hogy csak egy szuperszámítógép hozzáférést szeretne.

Kezelése még kísérleti fázisban van. Először tüneti kezelést érdemes alkalmazni, hogy megakadályozzuk a "minden pocsék" mentalitás kialakulását. Miután a páciens stabilizálódott, megkezdhetjük a folyamat visszafordítását vicces motivációs videók megtekintésével. A lelkileg megerősödött emberekben tudatosítani kell, hogy egy új élethelyzetben vannak és több energiát kell befektetniük céljaik elérésében, mint korábban.

Esettanulmányok említik, hogy a felépülés nem megy zökkenő mentesen. Gyakoriak a regressziók, aminek hatásai csökkenthetőek, ha a pácienst emlékeztetjük korábbi sikereire.

De talán a legfontosabb, hogy érezzék. Nincsenek egyedül. A problémák talán nem ugyan olyan horderejűek mindenki számára, de az érzések hasonlóak.

Szólj hozzá!

Címkék: filozofálás

Majdnem mindent az RNA-seq-ről (7. rész)

2017.10.27. 14:59 Travis.CG

Az RNA-seq analízis eddigi lépései elég mechanisztikusak voltak. Igazából némi számítógépes ismereten túl nem igényeltek komolyabb tudást. A most következő lépésekhez viszont szükség van a biológiai tanulmányokra és a kísérlet viszonylag alapos ismeretét.

A génlista hasznos, de önmagában nem ad semmi támpontot arra vonatkozóan, milyen biológiai folyamatok változtak meg. Fel kell tennünk a kérdést: miért ezt a génlistát kaptuk eredményül és miért nem egy másikat?

Amikor kezelésnek teszünk ki egy biológiai rendszert, bizonyos anyagcsere útvonalak és jelátviteli rendszerek aktiválódnak. Ezeknek a fehérjék (és rajtuk keresztül a gének) csupán építő kövei.

A nem szakmabeli olvasóimnak - amennyiben vannak - had éljek egy hasonlattal. Képzeljük el, hogy egy építményt felrobbantunk és a törmelékből kell megmondanunk, milyen épület állt eredetileg. Találunk sok szalmát, vályogot. Gondolhatjuk, hogy egy parasztkunyhó volt, de ennyi bizonyíték alapján akár egy istálló is lehetett. A downstream analízisben is előfordulhatnak hasonló bizonytalanságok.

Miért? Először is, nem ismerjük minden gén minden funkcióját. Nem ismerjük az összes anyagcsere útvonalat és az ismert útvonalak összes tagját sem. Az annotációkat folyamatosan fejlesztik, de ennek a fejlődésnek az üteme nem egyenletes minden adatbázisban, amit a munkánk során használunk. Akiben ezek alapján felmerül, hogy az így kapott eredmények nem elég objektívek, az jó nyomon jár. Itt jön elő a kísérletes validáció fontossága.

Ennek ellenére szerintem ez a legizgalmasabb lépés, mert az így kapott eredmények megvitatása sokkal közelebb áll a tudományhoz, mint a korábbiak. Hiszen a tudomány lényege nem a pipettázás, PCR futtatás vagy a szekvenciák illesztése, hanem válaszadás bizonyos kérdésekre.

Annotációk

Ontológiák

Az ontológiák közös jellemzője, hogy a kategóriákat mesterségesen egy hierarchikus rendszerbe tömöríti, majd a minden kategóriába elhelyezi a géneket. Mesterséges mivolta miatt nem mentes a hibáktól, az elnevezések nyakatekertek, de jó kezdő pont, hogy egy áttekintő képet kapjunk az eredményekről. Többféle ontológia létezik. A leghíresebb a GO, de létezik már ontológiája betegségeknek, rákos géneknek is.

Protein interakciók

Habár az egyetemi oktatásban azt a képet sugalmazzák, hogy a fehérjék amolyan magányos vadnyugati bosszúállók, azért ne feledkezzünk meg róla, hogy ezeknek a figuráknak is van lova, hatlövetűje és kalapja, amelyek nélkül nem tudják beteljesíteni végzetüket (és a rosszfiúkét sem). Ugyan így, a fehérjék is komplexekbe tömörülnek. Ezeket a kapcsolatokat is megtaláljuk olyan adatbázisokban, mint amilyen az IntAct.

Anyagcsere útvonalat

A folyamatok sorrendiségét és a résztvevő molekulák kapcsolatának jellegét az anyagcsere adatbázisok írják le. A leghíresebb talán a KEGG, de a Reactome is sok információt tartalmaz.

Online eszközök

Nem kell feltétlenül több száz soros szkripteket írnunk, ha meg akarjuk ismerni egy génlista titkait. Több weboldal is létezik, ahol csak annyi a dolgunk, hogy feltöltjük az eredményül kapott géneket és megláthatjuk a feldúsuló funkciókat.

Panther

Ez az adatbázis igazi veterán, de folyamatos fejlesztés alatt áll. Többféle gén azonosítóval is megbirkózik, a GO mellett gén családokra is kereshetünk, illetve anyagcsere utakra. Használata rendkívül egyszerű, de publikáció kész ábrákat ne várjunk tőle.

Reactome

Az adatbázis limitált vizsgálati eszközöket is rendelkezésünkre bocsát. Humán központú, ami annyit jelent, hogy a más fajból származó génlisták humán megfelelőjét használja, amit azután emberi anyagcsere utakra térképez. Értelem szerűen, ha rendszertanilag messzebb álló élőlényeket vizsgálunk, több lesz a hibás eredmény.

David

A microarray időkből visszamaradt mindenes eszköz, amit érdemes nagy óvatossággal kezelni. 2010 és 2016 között nem jött ki új verzió belőle. Előszeretettel használják csoportvezetők, ha valamit nagyon gyorsan akarnak megtudni és az egyetlen elérhető bioinformatikus épp elment aludni, nyaralni.

Enrichr

Ezt az eszközt nem használtam rendszeresen, csak egy Coursera kurzus részeként ismerkedtem meg vele. A többi eszközhöz képes puritánabb.

String

Ez az eszköz tavaly újult meg, így rajta lehet jelenlegi listánkon. Érdekessége, hogy rengeteg automatikus megoldás próbálja kitalálni, mit is akar a felhasználó, így viszonylag kevés képzés után is használható. Másik pozitív tulajdonsága, hogy a fehérjék kapcsolatának jellege állítható a merev, kísérletekkel igazolt kapcsolattól a teljesen hipotetikus szövegbányászattal talált asszociációig. Az eredmények akár XML-ben is kimenthetőek, hogy Cytoscape-pel tovább formázhassuk.

Klikkelős programok

A jól ismert programok, mint amilyen a Geneious, Golden Helix, CLC Genomics Workbencs mind képesek valamilyen szinten effajta elemzésekre, de mivel egyiket sem használtam személyesen, róluk nem írok.

Cytoscape

Ez a program a hálózati kapcsolatok fenegyereke. Beépített moduljainak köszönhetően képes génlisták elemzésére, de ami talán ennél is fontosabb, fejlett vizualizációs módszerekkel az eredményeket publikációnkba illeszthetjük. Ha van is probléma a programmal, az is inkább a hanyagul megírt bővítményeknek köszönhető, nem a főprogramnak.

FunRich

Ezt még egy kutató gépén láttam, akkor próbáltam ki. Furcsasága, hogy csak és kizárólag Windows gépeken működik (.Net alapú). Egy éve nem frissítették, így az alapját képző adatbázisok megbízhatósága kérdéses. Viszont alapbeállításokkal is képes szép ábrákat produkálni, kezelése egyszerű.

Bioconductor

Természetesen nem lehet teljes az eszközök felsorolása, ha nem térnénk ki az R-ben használható csomagokra.

gage

A gage csomag elsősorban KEGG adatok elemzésére lett kifejlesztve. Bemenete a normalizált expressziós táblázat és az összehasonlítandó csoportok. Eredménye a felülreprezentált anyagcsere utak listája, amit a pathview csomaggal meg is jeleníthetünk. Hátránya, hogy csak NCBI azonosítókkal működik.

ReactomePA

Ha már úgyis az anyagcsere útján járunk, meg kell említeni a ReactomePA-t is. Ez és a következő három csomag ugyan annak az embernek köszönhető, ezért használatuk mutat némi hasonlóságot. Az eredmények hasonló módon vizualizálhatóak. A csomag kifejezetten a Reactome weboldal információit használja, csupán R-en keresztül.

DOSE

Mint említettem, nem csak géneknek van ontológiája. A DOSE csomaggal betegségekhez asszociált géncsoportokat mutathatunk ki.

clusterProfiler

Ez a korona a programhármas tetején. Nem csak KEGG és GO feldúsulásokat kereshetünk, de kapunk hasznos eszközt a gén azonosítók megfeleltetéséhez, interfészt a DAVID webszolgáltatáshoz is és kiterjedt vizualizációs eszközöket az eredmények megjelenítéséhez. Ezt a csomagot nagyon szeretem. Hátránya, hogy a képi eredményeknek nincs jelmagyarázata, így nehéz megállapítani, hogy melyik szín milyen p-értéknek felel meg.

Összefoglalás

Az itt bemutatott eszközök egy kis biológiát csempésznek az amúgy unalmas génlistákba. De az így kapott eredményeket értelmezni is kell, amiben egyik eszköz sem fog segíteni. El kell helyezni azokat a kísérlet kontextusába, hogy végül támogassák (vagy éppenséggel cáfolják) hipotézisünket.

Szólj hozzá!

Címkék: bioinformatika

Vissza a gyökerekhez

2017.10.15. 00:44 Travis.CG

Emlékszem, mikor először tanítottak nekem bioinformatikát, a feldolgozandó szekvenciák mérete kisebb volt, mint egy Wordben megírt kérvény. Akkoriban még olyan programok is voltak (igaz, egyre csökkenő relevanciával), amelyek a szekvenciák szerkesztését próbálták meg segíteni. Igen, egy szövegszerkesztő programot kell elképzelni, amivel ATGC-t lehet beírni. Esetleg N-t.

Ebben az időben olyan programokat is használtam, amelyek különböző módon alakítgatták a szekvenciákat. Megfordították, fehérje szekvenciává alakították vagy több szekvenciában közös részeket kerestek. Ma már senki nem használ ilyesmit.

Még a Sangerben beszélgettem egy számítógépes biológussal. Olyan emberrel, aki formális képzésen sajátította el a szakmát, nem hobbiból ragadt rá valami, mint énrám. Semmit nem tudott a ClustalW-ről, Emboss programcsomagról és elmondása alapján soha nem futtatott Blastot. Az idősebbek ilyenkor azt a téves következtetést vonják le, hogy a mai fiatalok nem tudnak semmit. De igazából csak arról van szó, hogy a mi fejünk van tele idejétmúlt módszerekkel, amire a fiataloknak semmi szükségük.

De néha, ha a telihold földöntúli fénnyel világít és az árnyék világ határa eléri a mi világunkat, csak a régi tudás birtokosai vehetik fel a harcot a démonok ellen. Vagy amikor a földön kívüli inváziót csak egy múzeumból kölcsönvett csatahajóval lehet megállítani, amit szanatóriumból verbuvált legénység üzemeltet.

Pontosan ez történt ebben a cikkben. Mintha csak a kilencvenes éveket idéznénk. Összegyűjtöttük az elérhető búza szekvenciákat a GenBankből, ahol nem volt fehérje szekvencia, ott mi magunk fordítottuk le azokat. Az első szerző kézzel végignyálazta és kijavította a hibásan felvitt szekvencia leírásokat. Többszörös illesztéseket futtattunk, majd a közös részekből meghatároztuk azokat a szekvenciákat, amelyekre érdemes PCR-t tervezni.

Jópofa projekt volt, de nem valószínű, hogy az elkövetkező 10 évben újra szükségem lenne a módszerekben alkalmazott programokra.

Szólj hozzá!

Címkék: publikáció

Első nap

2017.10.08. 22:38 Travis.CG

Tyler korán kelt. Ma fog kezdeni új munkhelyén és az előtte álló másfél óra utazás megköveteli, hogy korán elhagyja az ágyat. Sötétben tapogatta ki ruháit és magában megfogadta, hogy legközelebb már este kikészít mindent. Fogadalmát meg is erősítette, mint a világosba kiérve észrevette, hogy egy narancssárga pólót vett fel, amit annyira utált, hogy csak festéshez, WC-pucoláshoz és más alantas munkákhoz vett fel, abban reménykedve, hogy talán végérvényesen tönkre megy. De a póló túlélt mindent. Már öt éve.

Nem volt sok idő, indulni kellett. A póló maradt és rohant a vonatra. Az épületet gyorsan megtalálta. Ötszintes modern építmény kártyás beléptető rendszerrel, ami mellett érthetetlen okokból egy lengőkapu volt. Tyler gondolkodás nélkül nekirontott, de az éber portás megállította.

- Maga hova megy?

- A munkahelyemre - válaszolta ártatlan képpel Tyler.

- Nincs kártyája?

- Ez az első napom.

- Hol dolgozik?

- Tumor Biomarker Csoport - de mikor kimondta, már tudta, hogy ismét eltévesztette a nevet. A portás lassan bólintott, mintha fejben számolná végig az épületben megtalálható kutatócsoportokat és beengedte Tylert. A férfi első útja új főnökéhez vezetett.

- Nekem most egy telekonferenciám lesz - kezdte a csoport vezetője - addig ülj le ehhez a géphez. Utána körbevezetlek. A fiúk - mutatott a két húszas éveiben járó PhD hallgatóra - majd segítenek.

Tyler azonnal a gép erőforrásait kezdte tanulmányozni. Négy mag, 8Gb memória. Egy jobb mobiltelefon paraméterei - gondolta magában keserűen. Reménykedve megkérdezte a PhD hallgatókat, van-e valami szerverük.

- Van, a közeli egyetemen van egy igen komoly gép. Huszonnégy mag és 32Gb memória!

Ez már talán jó lesz nekem, de akkor ti mit használtok? - gondolta Tyler. Időközben a telefonkonferencia is véget ért.

- Jó lesz az új gép? - kérdezte főnöke.

- Attól függ, mire. Vékony kliensnek megteszi.

Egy nagyon vékony kliensnek - tette hozzá magában.

- Nem kaphatnék valami komolyabbat? - kérdezte reménykedve Tyler.

- Mindent meg lehet oldani. Készülj fel, hogy közbeszerzésen keresztül megy. Három hétig fognak ülni rajta, nem csinálnak semmit. Utána megvizsgálják az igényedet, hogy ki lehet-e váltani hasonló termékkel, ami megvan a közbeszerzési listában. Ha nincs meg, új papírt kell kitölteni, újabb három hetet ülnek rajta...

- Látom, jó lesz nekem ez a gép is - törődött bele Tyler.

- Az a helyzet, hogy egyszerűbben veszek egy aranytömböt, mert azt el tudom számolni laboratóriumi vegyszernek.

- Akkor vegyél egy aranytömböt, adjuk el és vegyünk belőle számítógépet.

Főnöke csak mosolygott. Átmentek a központi folyosón, ami az északi és a déli tömböt kötötte össze.

- Bemutatlak Zsuzsának. Ha bármi problémád van, hozzá menj. Egy emelettel felettünk 70 adminisztrátor van, de nem dolgoznak semmit. Egyedül Zsuzsa csinál valamit. Csak rendszergazdából öt van. Nem is értem, miért. Van egy kutató csoportom a klinikán is. Ott kétszer annyi ember van, mint itt, de egyetlen rendszergazda meg tudja oldani az összes feladatot. Fél állásban. Itt is vagyunk. Zsuzsa már előkészítette a papírokat. Itt is hagylak vele.

Tyler nem emlékezett rá, hogy korábban ennyi papírt kellett volna kitöltenie. Nyilatkozott, hogy a papírjait lefénymásolhatják, hozzájárult, hogy az adatait az adminisztráción megismerhetik, kijelentette, hogy nem pályakezdő, nincs egyéb jövedelme. Igen, ott a 2015-öt át kell húzni és tollal fölé írni, hogy 2017. Sajnos nem kapnak új nyomtatványt. Van gyermeke? Akkor az adókedvezményes papírt is ki kell tölteni. Nem, ennyi adat nem elég, kell a gyerek TAJ száma is. Igaz, hogy nincs a formanyomtatványon rublika, a papír határa kell írni. Jaj, fekete tollal kitöltött papírt nem fogadnak el, mert az olyan, mintha fénymásolták volna. Igaz, mindenképp lefénymásolják, de akkor sem szabad feketével kitölteni. A gyerek után pótszabadság is jár, arra egy másik nyomtatvány van. Kellene az érettségi bizonyítvány is. Látom, hogy itt a egyetemi diplomája és a doktori oklevele, de akkor is kell az érettségi. Magánnyugdíj pénztári tag? Kell az igazolás, hogy nem lépett vissza az állami rendszerbe és a pénztárral kötött szerződés.

- Most szólok: az óvodai ballagáson kapott pogácsám sincs meg - jegyezte meg Tyler a végén.

Átment a tűzvédelmi oktatásra. Az oktató egy lakástűz videóval indított. A végén megkérdezte:

- Van maguknál otthon tűzoltó készülék? - az emberek a fejüket rázták.

- Miért nincs? Havonta 22 tűzeset történik, amelyek megelőzhetőek lennének egy 6 kg töltetű poroltó készülékkel!

Ezután potenciális veszélyforrásokat mutatott. Áram alatt álló USB töltő, ami nem töltött semmit, sérült szigetelésű vezeték, virágcserép a tűzoltó szekrény tetején. Az oktató minden egyes képnél hosszan ecsetelte, milyen hülyék ezek az emberek, pedig egyetemet végeztek.

A belépő kártya igénylés sem ment zökkenő mentesen. Az üzemeltetés vezetője elküldte az egyik beosztottjához, aki egyszer sem volt a helyén, pedig Tyler négyszer is kereste aznap.

- Zsóka hihetetlenül arrogáns. Nekem még egyetlen e-mailemre sem válaszolt. Azt hiszi a kutatók vannak érte - kommentálta az esetet Tyler főnöke - pedig ő van miértünk. Mégis hogy képzeli ezt? Ha én lennék a főigazgató, az első helyen rúgnám ki.

Tyler azért még kétszer visszament aznap, de négykor közölték vele, hogy Zsóka elment és már nem jön vissza. Ezután úgy döntött, letörli a Windows gépéről és Linuxot rak rá. Megkérdezte, van-e pendrive valakinél.

- Most pont nincs, mert három hónapja adtuk le a rendelést és még nem érkezett meg. De a sajátomta kölcsön tudom adni - mondta az egyik PhD hallgató.

Tyler csak sóhajtott egyet és nekilátott dolgozni.

1 komment

Címkék: irodalom

Elfeledve

2017.09.27. 10:56 Travis.CG

Szabály: Soha ne nézd meg volt kollégáid publikációit, ha nem akarsz csalódni. Az egészről az MTMT adatbázis tehet, ami annyira szerencsétlen, hogy egy külön posztot érdemelne.

Az történt ugyanis, hogy fel akartam vinni egy publikációt, de mivel cím alapján nem tudtam rákeresni, egy szerzőtársam publikációs listájából akartam átemelni magamhoz. A cikket nem találtam meg, de helyette egy másikra figyeltem fel.

A sztori röviden annyi, hogy a keszthelyi egyetem kitalálta, hogy megszekvenálják a parlagfüvet. Egészen pontosan a transzkriptómot. Referencia genom nélkül egyedül a Trinity jöhetett szóba, mint szoftver.

Mikor az egyetem dolgozói nálunk voltak egy bioinformatikai kurzuson, megkérdezték, tudunk-e segíteni nekik ebben. Mivel nekem már volt tapasztalatom a Trinityvel, el is készítettem nekik, amit kértek, még be is annotáltam a Trinotate-tel. Közben én elmentem a Sangerbe, de még utoljára egy weboldalon elérhetővé tettem az eredményeket. Itt megnézhették az expressziós értékeket, kereshettek géneket az annotáció alapján. A dokumentáció alapján ez valami egyedi webszerveren futott, aminek nem találom a nevét, de sikerült átültetnem Apache alá, ha már az futott a szerveren. Elég felhasználó barát volt.

Mindenki nagyon boldog volt, nem jöttek újabb kérések. Aztán kijött a cikk és még a köszönet nyilvánításban sem voltam benne. Végül is nem egy komoly cikk, nem fogok emiatt eret vágni magamon, de jó lecke volt arra vonatkozóan, hogy nem szabad hagyni, hogy elfeledkezzenek az emberről.

Szólj hozzá!

Címkék: publikáció

Cseppet sem objektíven: Function 2017

2017.09.18. 21:56 Travis.CG

Az idei Function is kimaradt. Jó lett volna eljutni, de mégsem sikerült. A releaseket viszont megnéztem. Lássuk mit kapott az, aki ellátogatott a partyra.

Fotó

A fotó kompó kifejezetten rossz volt idén. A legtöbb képnek az ég világon semmi értelme nem volt. Szerencsére azért akadtak, akik komolyabban vették fényképezést, kiemelkedő alkotás mégsem született.

Grafika

A grafikáktól sem voltam hanyatt esve. A dobogósok persze egy laza csukló mozdulattal nyertek, de a munkásságukat ismerve ők tudnak ennél jobbat is. Úgy tűnt számomra, hogy rutinból nyomták. Azért álljon itt Unreal kézi rajzos képe:

Zene

Ha nem számoljuk a demók zenéit külön beadva, akkor teljesen átlagos zene kompót kapunk. Kellően sokféle zene volt, amitől nem volt unalmas végighallgatni, de egyik sem dobogtatta meg a szívemet.

Wild

Ettől a ponttól kezdve mászunk ki a gödörből. Először egy igen furcsa videóról beszélnék, ez pedig a Vörös Szaturnusz megnevezhetetlen alkotása (Trityiputty, de csak a Ctrl-C és V segítségével tudtam leírni). Csodálom, hogy a videó elkészült. Miért nem kérdezte meg senki az alkotókat, hogy mit keresnek éjnek évadján baltával a kezükben egy repülőtér közelében? A gázálarcról nem is beszélve. Talán valaki el is indult, hogy megkérdezze, de a produkciót látva sóbálvánnyá dermedt.

Az igazán nagy dobás a Singular Crew 4 darab C64 összteljesítményét használó Quad Core volt. Ennek az alkotásnak az igazi értéke nem a látványban, hanem a részletekben rejlik, amiről nekem elég kevés információm van. Elég csak végiggondolni, mi kell négy gép összekötéséhez, amiket alapvetően nem hálózatra terveztek. Na, ugye!

Demo

A demók elég vérszegények voltak. Az utolsó helyezett demót annyira untam, hogy még az Esc gombot is lusta voltam megnyomni. Inkább kimentem a konyhába inni egyet. Közben a feleségem is elment vásárolni, őt is kikísértem. Mikor visszaértem, a demó még mindig ment! Fényképekre valami Parkinson-shadert raktak, amitől mindegyik remegett.

Slyspy Rainbow Clash sorozata újabb állomáshoz érkezett, de mostani produkciója csak a látható fény spektrumának 60%-át használta, szemben a korábbi 90%-al. A The Adjective mindig is egy avantgárd utat járt, de amit most készítettek, az mintha direkt arra ment volna ki, hogy elüldözze a nézőt vagy szándékosan sötétbe tartsa. Eddigi munkáikban mindig volt valami halvány narratíva. Itt teljesen elhagyták azt. Semmi nem elég hangsúlyos, pedig néhány textúrán szöveg van és egyszer mintha egy ember körvonalai bontakoznának ki. De aztán Mégse. Igazából a Nafplio jobban tetszett, mert az olyan demó szerű volt.

Ami viszont megmentette a kompót a totál kudarctól, az a poén faktor. A Super First Demo 2 például remekül bemutatja, hogyan reagálnak a veterán scenerek egy-egy újonc próbálkozásaira. Bár meg kell hagyni, Gargaj ennyire nem szőrös szívű.

Ha létezik burleszk a demók között, akkor a Foo2 Island az! Eredeti vason még viccesebb, mert nálam a targonca két kereke kitörött és csonkán teljesítette feladatát. (A YouTube verzióban strapabíróbb.)

256b intró

Nem tudom, hogy csinálják, de a 256 byte intrók egyre színvonalasabbak. Ha az első tíz alkotás bármelyike nyert volna, nem éreztem volna csalódást. Jó volt látni mindegyiket. Nagyon ötletes és változatos produkciók voltak. Túl sokat nem lehet írni róluk, meg kell nézni mindet:

Összegzés

A beadott releasek idén gyengébbek voltak, mint amit egy európai szintű demoparty nyújtani szokott. Nem tudom, ennek mi volt az oka, de remélem, hogy ez nem egy trend kezdete.

Szólj hozzá!

Címkék: demoscene

Kalandod most már tényleg véget ér

2017.09.10. 00:26 Travis.CG

Ismét Angliába készültem. Egyrészt le kellett adnom a nyakamon maradt lakást, ahol a bérleti szerződést nem lehetett felmondani, másrészt közeledett a távmunka próbaidejének a vége.

Kicsit olyan volt, mintha fedett ügynök lennék. Volt angol telefon, angol lakáskulcs, de a táskám egy másik rekeszében magyar telefon és magyar lakáskulcs.

Nem indult zökkenő mentesen az út. Eleve késve indult a gép és mire megérkezett, már egyetlen vonat sem közlekedett. Kénytelen voltam taxival menni. Az angliai otthonunk, illetve ex-otthonunk nagyon üres volt bútorok nélkül, de már nem számított. Úgyis egy hétig leszek csak itt.

Angliában nagyon kevés munkaszüneti nap van, de nekem sikerült úgy mennem, hogy az egyik belecsúszott az ott tartózkodásba. Legalább lesz egy nap pihenő, mielőtt meglátogatom a Sangert.

A Campus busz a szokásos útvonalon, szokásos időben jött, de alig láttam ismerős arcot rajta. Ismét megállapítottam, milyen gyorsan cserélődnek az emberek. Az épületbe már nem is tudtam bemenni. A kártya nem működött. Be kell surranni. Mint egy kémnek. Már csak egy csokornyakkendőbe rejtett fényképező gép hiányzott.

Megvártam, míg a kávéra megindulnak az emberek, majd, mielőtt becsukódott volna az ajtó, elkaptam azt. Bent vagyok! A laborban mindenki nagyon kedves volt, de a főnököt két hete nem látta senki. Ennek ellenére a munka feszített tempóban folyt. Én is leültem és nekiláttam dolgozni. Később elintéztem magamnak egy ideiglenes kártyát, úgyhogy nem kellett a 47-es ügynököt megszégyenítő technikákhoz folyamodni.

Másnap a lakással kapcsolatos ügyeket intéztem és vonattal mentem be. Az északi kapunál akartam bemenni, ahol csak kártyával lehet belépni. Itt derült ki, hogy az ideiglenes kártya csak egy napig működik. Szerencsére a természetvédelmi terült irányából be lehet slisszolni. Akár a Nyúllábat is ellophatnám.

Aznap volt egy megbeszélés is a szerződésemről, ahová a HR-es kisasszony mellett még két másik ember is eljött. Rossz előérzetem volt. Egy sima meghosszabbításhoz elég lenne csak a HR is. A balsejtelmem be is igazolódott. Nem kaptam szerződés hosszabbítást.

Mikor elmeséltem a munkatársaimnak, mi történt, ők azt mondták, nem tudtak semmit erről. Azért a hátralévő két napban titokban összedobtak egy búcsú partit. Kaptam egy Cambridge pólót. Majd abban fogok menőzni a demópartikon.

A búcsú után mindenki gőzerővel folytatta a munkát. Látszólag a gépezet nem fog megakadni. Mikor eljöttem Magyarországról, még hónapok múlva is kaptam leveleket, hogy ez vagy az a fájl hol van. Az egyik levélre nem válaszoltam elég gyorsan, mire valami olyasmit vágtak a fejemhez, hogy majd ha innen kell eljönnöm, akkor is ilyen hozzáállásom lesz-e.

Itt nincsenek levelek. Nincsenek elvarratlan szálak. Ha a paraszt legurul a sakktábláról, majd egy másik átveszi a helyét. Senki sem pótolhatatlan. Én meg ismét munkanélküli vagyok.

Szólj hozzá!

Címkék: életmód

Távmunka praktikák

2017.09.04. 00:33 Travis.CG

Eleinte féltem a távmunkától, mert úgy éreztem, a magánéletem és a munka végérvényesen összekeveredik és egy olyan masszát alkot, amiből a végén se nem munka, se nem magánélet nem lesz. A veszély valós, de néhány egyszerű trükkel az ember képes produktív lenni otthon is.

Szeparáció

separation.jpg

Ez talán a legfontosabb az összes közül. A szeparáció lehet térbeli (bemegyek a dolgozószobámba) vagy időbeli (mostantól délután ötig ne szólj hozzám). Nálam az időbeli szeparáció nem megoldható, mert ha a lányom meglátja, hogy a gép előtt ülök, rögtön rám szól: Apa, ne laptopozz! Kíváncsi vagyok, mit fog mondani, ha ugyan ezt kérem tőle tinédzser korában.

A térbeli szeparációt választottam, de azt is a lakáson kívül. Elmentem a könyvtárba. Jobb a net, mint sok internet kávézóban és ingyen van. Sajnos a nyári nyitvatartás nem kedvezett nekem, délután egykor el kellett hagyni az olvasó termet. Ezután kimentem a főtérre, mert ott is van ingyen wi-fi. Amikor jó volt az idő, akkor nem volt gond, de egyik nap olyan meleg volt, hogy a laptop hűtője nem tudott megbírkózni feladatával. Az egér akadozva mozgott. Nagyon érdekes volt.

Koncentráció

concentration.jpg

Hatékonyan akkor lehet dolgozni, ha a munkára koncentrálunk. Nem szabad YouTube-ot nézni, blogot írni, bevásárolni.

Ilyen szempontból a főtér nem volt ideális választás. Először is, minden féle ember dumált hozzám. A fiatal hittérítők, akik Istenhez akartak vezetni, koldusok, akik ocsmányságokat vágtak a fejemhez, ha nem adtam elég pénzt nekik. (Ilyenkor vissza szoktam kérni tőlük a pénzt, mondván, én ennyit is értékelek.). De szimplán már azért is beszóltak, hogy miért nem dolgozom. (Tudjátok, olyan félhangos beszólás, nem is neked intézve, de elég hangosan, hogy halld.) Ez nem volt gyakori, de előfordul.

A koncentrációban segíthetnek bizonyos böngésző bővítmények is. Nekem az volt a legjobb, hogy a Sangeres laptopot használtam VPN-en keresztül, tehát a Mindenható Rendszergazdák látják minden eltévelyedésemet. Más esetben egy asztalra helyezett kép a főnökről is megteszi.

Felszerelés

equipment.jpg

A melóhoz melós cucc kell. Ez egyrészt segít a szeparálásban, másrészt a koncentrációban. Ha a munkafelszerelés van nálam, akkor dolgozni akarok. A felszerelésnek pedig hibamentesnek kell lennie. Amíg a saját gépemen egy Slackware Linux van, ahol kézzel kell elindítani a grafikus felületet és egy olyan egér csatlakozik hozzá, ahol a bal gomb elég gyakran kihagy (de átállítottam bal kezesre, hogy ne okozzon gondot), addig ez megengedhetetlen a munkára használt gépen. Ott Kubuntu van és Windows. A munkára kell koncentrálni nem a felszerelésre.

Kapcsolat

connection.jpg

Senki nem dolgozik egyedül, mindig vannak munkatársak, akikkel együtt kell működni. A velük való kapcsolattartás nélkülözhetetlen. Ez első sorban az interneten keresztül valósul meg, a stabil kapcsolat elengedhetetlen.

Redundancia

ateam.png

Mi nem az A-csapat vagyunk, nekünk kell a B-terv. Ha elmegy a net, a főnöködet nem fogja érdekelni, hogy miért nem dolgozol. Nekem konkrétan a villany ment el az egyik vihar után. A laptop három órán keresztül bírta, de aztán áramért kiáltott. Szerencsére már évekkel ezelőtt vettem egy szünetmentes tápegységet és ezzel további két órát tudtam dolgozni. Utána már volt áram megint.

Ha ezt a pár dolgot szem előtt tartjuk, az otthonunkban ugyan olyan hatékonyak lehetünk, mint a munkahelyen.

Szólj hozzá!

Címkék: életmód

Azok a fránya paraméterek

2017.08.20. 23:23 Travis.CG

A paraméter miatt az alignment elveszett,
Az alignment miatt az ismétlés elveszett,
Az ismétlés miatt a kísérlet elveszett,
A kísérlet miatt a cikk elveszett,
A cikk miatt a kutatócsoport elveszett,
Máskor gondosan válaszd meg a paramétered!

Szerencsére a való életben nem ilyen sarkallatos a helyzet, de a paraméter választás sok mindent meghatároz. Ez különösen igaz azokra a paraméterekre, amelyeket a felhasználó be sem állíthat. Például olyan népszerű programokban, mint a MACS2.

A történet egy Chip-seq kísérlettel kezdődött. Mivel a Sangerben a rák genomikai csoportok nem sűrűn szekvenálnak chip-seq-et, a teljes pipeline-tt mellőznöm kellett, amit nem is bántam. Az illesztést minden mintára BWA-mem-el végeztem, ezért elég váratlanul ért, mikor az alignmenten futtatott MACS2 egyetlen egy fájlnál azt jelezte, hogy a BAM fájl érvénytelen.

Azért tudnak furcsa dolgok történni az LFS-ben (ez a közös tárterület, amit minden node elér), főleg ha több szál akarja írni ugyan azt a fájlt, vagy a fejlesztők épp frissítettek a kliensen, amiben maradt egy túlcsordulás hiba vagy időtúllépés keletkezett. Ugyancsak meglepő dolgokat képes produkálni egy több száz nodos szuperszámítógép is. Az egyik gép kiesik, nem tudja olvasni a megosztott fájlrendszert. Mindez rengeteg teret ad Bitmumusnak, hogy kiélje magát.

Az ellenőrzés viszont azt mutatta, hogy a BAM fájl teljesen korrekt, olvasható, a szükséges elemek benne voltak. Gyorsan megnéztem, találkozott-e már más is hasonló problémával, de egyik eset sem illett az én esetemre.

A gyors kacsás keresés viszont kiadta a MACS2 forráskódját, ahol a hiba keletkezett. Elkezdtem böngészni a kódot egyszerűen weben keresztül, amitől olyan érzésem lett, mint a koca dohányosnak, aki nem tüdőzi le a füstöt. Ég a cigi, ég a cigi, de hiányzik az érzés.

A hiba oka viszont megvolt. A kód beolvas 10 readet minden BAM fájlnál és az alapján kiszámolja, mennyi a readek távolsága a fragmenten. Ha az első 10 read értékelhetetlen, mert más kromoszómán vannak, 0 a távolságuk, stb. A program dob egy kivételt, hogy érvénytelen a BAM fájl. A tíz read vizsgálat pedig bele van égetve a rendszerbe.

Gyorsan megnéztem a BAM fájlomat. Valóban, értékelhető read a 30. sortól volt.

Először megnéztem, explicite be tudom-e állítani a fragment méretet. Igen, be lehet a --extsize kapcsolóval, de a BAM ellenérzés továbbra is lefut. Eljátszottam a gondolattal, hogy fordítok egy MACS2-t, ahol átírom a kérdéses sort 100-ra, de ez is csak félmegoldás, arról nem is beszélve, hogy ez további problémák forrása lehet, amire nem is gondoltam.

Ehelyett kitöröltem az első 29 BAM rekordot. A program varázslatos módon lefutott. Az ismétlés mindenképp megmenekült.

Szólj hozzá!

Címkék: bioinformatika

Ágyrács

2017.08.13. 16:47 Travis.CG

Ahogy gyermekem növekszik, úgy változnak az igényei is. Mióta lecseréltük a kiságyat heverőre, az átmeneti időszakban, amíg megtanulja, hogy ne essen le az ágyról, szükség volt valami védelemre.

Angliában, ahol az ágyak és a matracok két külön entitást képeznek, lehet kapni egy egyszerű eszközt, amit az ágy és a matrac közé kell bedugni. Itthon is kapni hasonló felszerelést, de egyik sem illeszthető heverőre, mert nem lehet megoldani a rögzítést, ha az ágy felnyitható.

Szerintem két székkel is simán boldogultunk volna, de egy túlvédő anyának, akit még a családja is támogat különféle rémtörténetekkel, ezt nehéz elmagyarázni. Helyette szükség van egy asztalosra vagy más mester emberre, akik majd megcsinálják.

Mikor jeleztem, hogy én is szívesen megcsinálnám és talán olcsóbb is lenne, csupán megvető megjegyzéseket kaptam és indokokat, miért is vagyok képtelen néhány fát összecsavarozni. Igen, ilyen egy jó, támogató család. Többször hallani, hogy a piramisokat képtelenség felépíteni az akkori technológiával. Ez is biztos hasonló mentalitású feleségekől származik. Mert ha valami nincs az IKEA-ban, akkor az vagy nem létezik vagy lehetetlen előállítani egyszerű halandónak.

Mint azt sejthetitek, ilyen könnyen nem adtam meg magamat. Mikor egy hétvégén egyedül maradtam, elmentem faanyagot vásárolni. Két darab két méteres léccel és két L alakú vassal tértem haza. Az egesz került talán 3000Ft-ba. A korábbi felújításokból marad még laminált parketta otthon, azt is felhasználtam.

A terv az volt, hogy készítek egy ágy alá csúsztatható korlátot. A koncepció megegyezett a matrac alá illeszthető változattal, csak ez magasabb volt.

agyracs1.jpg

Már az összeszerelés során láttam, hogy az eredmény nem lesz jó. A csavarok menték a lécek elfordultak. A parkettára való illesztés után pedig az egész láb rész az L alakú fém mentén nagyon kicsit rugózott. De ami csak egy kis kilengés volt a lábnál, a korlát tetejénél 5 cm-re növekedett. Egy másik probléma magával a parkettával volt. Ha csak kicsi erőhatás érte, szép lassan kicsúszott az ágy alól.

Ez nem lesz jó. A feleségem bele fog kötni a stabilitásába és még igaza is lesz. Széttörni nem volt erőm, így a tákolmányt a pince egy eldugott zugába száműztem. Nem is szóltam róla senkinek.

A kudarc eléggé frusztrált. Nem hiszem el, hogy ne lehetne ezt az elég egyszerű feladatot megoldani! Aztán rájöttem, hogy semmi nem akadályoz meg abban, hogy építsek egy újat. Most már tudom az összes gyenge pontot, csak annyit kell tennem, hogy kiküszöbölöm azokat.

Már csak egyetlen probléma volt: nem volt több magányos hétvége. A következő műveletetbe a feleségemet is be kellett vonni.

Mikor legközelebb szóba került az ágyrács, megint előhozakodtam, hogy én is megcsinálhatnám. Megint jöttek a szokásos érvek, hogy úgysem tudom elkészíteni. Ekkor elővettem a tákolmányt.

- Nézd, építettem egy prototípust. Ez nem jó, de ha vastagabb fát használnák, megerősítenénk ott, meg ott, akkor jó lenne.

- Vastagabb fa kell.

- Gyere el velem és válaszd ki, melyik lenne jó.

Innentől sínen volt a projekt. A feleségem kiválasztott egy 5x3-as gerendát, én összeszedtem a vastagabb vasakat, választottunk bútor lakkot, majd az egészet hazavittük. A projekt összköltsége így háromszorosára ugrott, ha a prototípust nem számítom, de nem bántam.

Talpnak a laminált parketta helyett lambériát választottam, mert a pincében fellelhető hulladák fák közül ez tűnt a legmerevebbnek. Az illesztési pontokat epoxi gyantával kentem be, majd szépen lelakkoztam bútorlakkal. A talp részre csúszásgátló gumikat ragasztottam.

agyracs2.jpg

A végeredmény sokkal jobb lett, mint a prototípus. Olyan erős volt, hogy még engem is kibírt. Igaz, amikor teljes erővel nekifeszültem, recsegett itt-ott. Ha harmadszorra csinálnám meg, akkor nem csak egy csavarral rögzíteném a darabokat, mert ahogy a képen is látszik, az epoxi gyanta ellenére egy kicsit elfordulnak a fák az illesztések mentén. A gyakorlatban ez nem olyan zavaró, mert az ágy alá csúsztatva nem tud elfordulni, de a végeredmény precízebb lenne.

Szólj hozzá!

Címkék: barkácsolás

Majdnem mindent az RNA-seq-ről (6. rész)

2017.08.06. 06:43 Travis.CG

A normalizálás után el kell döntenünk, hogy a gének expressziós különbségei közül melyek szignifikánsak és melyek tulajdoníthatóak csupán a véletlen művének. Ebben segít a differenciál expresszió.

Alapvetően kétféle modell létezik. Az egyik még a microarray időkből származik és lineáris regresszión alapul. A másik módszer a negatív binomiális regressziót használja. Korábban bemutattam mindkettőt és bár elég egyszerű példát használtam, egy dolgot igyekeztem kiemelni: mindkét módszer jó eredményt adhat, de érzékenységük különböző.

A szakirodalomban többször összehasonlították a két módszert és úgy tűnik a negatív binomiális regresszió pontosabb eredményt ad.

De mint az összes többi lépésnél, itt sem technikát, hanem programcsomagot választunk, amelyek képességeikben eltérnek. A leglényegesebb kérdés, hogyan tudjuk a különböző összehasonlítandó csoportokat definiálni? A differenciál expresszió meghatározásakor két csoportot jelölünk ki. Az egyik kontroll, amihez képest látni szeretnénk a változást, a másik a kezelés, ami hordozza a változást. A két csoport elnevezése a kísérlet szempontjából lényeges csak. Matematikailag ha felcseréljük őket, csupán a változás előjele változik, nagysága nem.

Az eredmény legtöbb esetben egy táblázat, ahol megtaláljuk a gének/transzkriptek nevét, használt statisztikai teszt értékeit, p-értékét és a változás mértékét (fold change). Ez utóbbit általában logaritmikus skálán.

Egyszerűbb kísérleti elrendezésnél eleve csak két csoport van, de amint a faktorok (összehasonlítási szempontok) száma növekszik, úgy lesz egyre bonyolultabb a dolgunk.

Rengeteg szoftver implementáció létezik, én most csak azokat szedtem össze, amelyeket az utóbbi két évben használtam.

Limma

Ez a csomag eredetileg microarray kiértékelésre készült. A csoportok definiálására egy matrixot kell létrehozni, ahol a sorok a minták, az oszlopok a faktorok. Ha a minta az adott kategóriába beletartozik, a cellába egy 1 kerül, ellenkező esetben 0. Az összehasonlításokat egy másik mátrix, az úgynevezett constrast mátrix definiálja. Itt megadhatjuk az összes párt. Az utolsó lépésben, ahol az eredményeket íratjuk ki (topTable), a coef paraméterrel mondjuk meg, melyik összehasonlításból szeretnénk táblázatot készíteni.

header <- c(rep("case1", 3), rep("case2", 3), rep("control", 3))
design <- model.matrix(~0 + factor(header))
colnames(design) <- levels(factor(header))
fit <- lmFit(norm, design)
contrasts <- makeContrasts(case1 - control, case2 - control, levels = design)
fit <- contrasts.fit(fit, contrasts)
fit <- eBayes(fit)
topTable(fit, coef = 1)

DESeq2

A DESeq2 egy rendkívül elterjedt program. Az általa használt negatív binomiális regresszió igen érzékeny. A használni kívánt modell mátrix felépítése eltér a Limmánál bemutatotttól. Az oszlopok különböző kategóriák lehetnek és a felvehető értékek egy kategorikus változóban vannak. Az összetartozó minták azonos értéket kapnak. A sorok továbbra is a minták. A példa kódban ez a conditions nevű változó.

raw <- as.matrix(read.table("matrix.tsv", check.names = F, sep = "\t"))
conditions <- data.frame("Day" = c(rep("D5", 3), rep("D7", 3), rep("D9", 3)))
rownames(conditions) <- colnames(raw)
des <- DESeqDataSetFromMatrix(raw,colData = conditions, design = ~Day)
des <- DESeq(des)
result1 <- results(des, contrast=c("Day", "D5", "D7"))
result2 <- results(des, contrast=c("Day", "D5", "D9"))

A program egyszerre csak egy oszlop alapján képes elkészíteni a modellt, ha tehát több faktort kell összehasonlítani, mindegyiket szerepeltetni kell az adott oszlopban. A fenti példánál maradva, ha a Day faktor mellé felveszünk egy Tissue-t is és szeretnénk a szöveteket különböző időpillanatban összehasonlítani, akkor a következő módszert használhatjuk:

cond2 <- data.frame("DayAndTissue" = c(rep("D5Blood", 3), rep("D5Bone", 3), rep("D7Blood", 3), rep("D7Bone")))

Ballgown

A Ballgown a cummeRBund leváltására tervezett program sajnos mind funkcionalitásban, mind stabilitásban elmarad a nagy elődtől. Frissítés is csak ritkán jön hozzá. A program szó nélkül olvassa a Stringtie kimenetet, más szoftverből származó adatoknál hibák felléphetnek. Csak két mintát tud összehasonlítani, többet lehetetlen kívánni tőle. Bár a dokumentáció említi, hogy saját modell mátrixot is lehet beadni neki, tudtommal ez még a jövő zenéje, nincs implementálva. A Limmához hasonlóan lineáris modellen alapul.

conditions <- read.table("conditions.tsv", check.names = F, sep = "\t")
bg <- ballgown(dataDir = "ballgown/", samplePattern = "MR", bamfiles = "ballgown", meas = "all", pData=conditions)
res <- stattest(bg, meas = "FPKM", covariate = "treatment", feature = "gene")

M3Drop

Egy sejtes RNA-seq esetén sokkal nehezebb a differenciálódó gének meghatározása. Az egyik lehetséges implementáció az M3Drop, ami Michaelis-Menten kinetikát alkalmaz annak meghatározására, hogy melyik gének expresszálódnak. A pontosságáról nehéz véleményt alkotnom, mert egy igen zajos adatszettet elemeztem csak vele. A legszoktalanabb tulajdonsága, hogy faktorok definiálása nélkül állapítja meg, mely gének expressziós változása szignifikáns. Ez viszont nagyon hasznos egy sejtes vizsgálatoknál, ahol a begyűjtött sejtek különböző fejlődési fázisban vannak és sok esetben semmilyen információnk nincs arra nézve, melyik minta hova tartozik.

raw <- as.matrix(read.table("count.tsv"))
norm <- M3DropCleanData(raw, is.count = T, min_detected_genes = 2000)
de_genes <- M3DropDifferentialExpression(norm$data, mt_method="fdr", mt_threshold=0.05)
sampleclust <- M3DropGetHeatmapCellClusters(heatm, k = 2)
marker_genes <- M3DropGetMarkers(norm$data, sampleclust)

SCDE

A másik egy sejtes adatok feldolgozására kifejlesztett program, az SCDE. Mivel a korábban említett zajos adatot dolgoztam fel vele, ennek pontosságáról sincs információm, de sokkal konzervatívabb az M3Drop-nál. Történetesen egyetlen gént sem kaptam vele eredményül. A másik szokatlan dolog vele kapcsolatban, hogy míg a legtöbb program kimenetében p-érték, log2 fold change és más megszokott elemek vannak, az SCDE z-score-t, maximum likelihoodot és más egyéb értéket tartalmaz. A fórumot böngeszve persze megtalálhatjuk az átváltáshoz szükséges összefüggéseket.

raw <- as.matrix(read.table("count.tsv"))
gr <- c(rep("control", 3), rep("condition1", 3), rep("condition2", 3))
names(gr) <- colnames(raw)
cc <- clean.counts(raw, min.lib.size = 2000, min.reads = 5, min.detected = 5)
error.model <- scde.error.models(cc, groups = gr, n.core = 1, threshold.segmentation = T, save.crossfit.plots = T, save.model.plots = T, verbose = 0)
prior <- scde.expression.prior(models = error.model, counts = cc, length.out = 400, show.plot = T)
diff <- scde.expression.difference(error.model, cc, prior, groups = gr, n.randomizations = 200, n.cores = 1, verbose = 0)

Zárszó

A differenciál expresszió nagyszerű módszer, de ha nem ismerjük pontosan a kísérlet hátterét, nagyon furcsa eredményeket is kaphatunk. Egyszer például olyan adatokkal dolgoztam, ahol az UV hatását vizsgálták egérre. Két csoport volt: Az első csoportot kis dózissal sugározták be, a másik csoportot nagy dózissal. Természetesen mindkét csoportnak volt sugárzás nélküli kontroll verziója is. Először mindkét csoportot a saját kontrolljával hasonlítottam össze, majd végeztem egy második vizsgálatot is, ahol az összes kontroll egy csoportban volt, hiszen a besugárzás nélküli állatok között minimális különbséget vártunk. Ennek ellenére drasztikus eltérés volt a két eredmény között.

Egy sejtes mintáknál még jobban kell figyelni. Hiába definiálunk csoportokat, minden egyes sejt a sejtciklus másik állapotában lesz. Ha szöveti differenciációt vizsgálunk, akkor a sejtek a feljődés különböző szakaszaiban lesznek. A szekvenálás előkészítésénél a kezdeti DNS mennyiségétől függően bizonyos gének hiányozhtnak. A káosz nem elég kifejező szó arra, amit kaphatunk.

Szólj hozzá!

Címkék: bioinformatika

QT + OpenCV

2017.07.24. 00:05 Travis.CG

Az OpenCV remek képelemző API, de a képeket meg is kell jeleníteni, sőt az sem nagy elvárás, hogy interaktívan változtassuk az elemzés során alkalmazott paramétereket. Szükség van tehát egy grafikus könyvtárra, ami biztosítja számunkra az elemeket. A highgui.h fejléc állomány biztosít számunkra egy igen limitált kereszt platformos elemgyűjteményt, de ha komoly alkalmazásokat akarunk fejleszteni, akkor sokkal több grafikai elemre lesz szükségünk.

Itt jön képbe a QT, ami egy remek kereszt platformos GUI keretrendszer. Jó lenne a kettőt együtt használni.

Alapvetően, ha mindkét könyvtárat linkeljük alkalmazásunkhoz, már használhatjuk is őket. Például készítünk egy ablakot, menükkel, majd a kép megjelenítésnél átváltunk a highgui-ra és azt használjuk. A módszer működik, nagyon ronda és kényelmetlen. Jobb lenne a két API-t közelebb hozni egymáshoz.

Alapvetően két olyan terület van, ahol adatokat kell átadni egyik könyvtárból a másikba. Az egyik a szöveges adatok, másik a képi információk.

Sztringek

Mint minden valamire való C++ könyvtárnak, úgy a QT-nek is és az OpenCV-nek is saját sztring osztálya van és egyik sem kompatibilis a másikkal. A QT QString osztályából könnyen csinálhatunk cv::string-et a következő módon:

void load(QString filename){
   Mat raw = imread(filename.toStdString());
}

Képek

Az OpenCV alapvetően a cv::Mat osztályt használja a képek tárolására. QT esetén több, különböző osztály tárolhat képet, attól függően, mi a célunk. Ha rajzolni akarunk, a QGraphicsScene osztályt használhatjuk. Ez csupán egy felület, ahová rajzolhatunk. Ha meg is akarjuk jeleníteni, szükségünk van egy felhasználói felületre is. Ez a QGraphicsView. Az OpenCV viszont csak bitképekkel dolgozik, ehhez az adatstruktúrához a QImage áll legközelebb.

Tehát ha az alkalmazásunk meg akarja jeleníteni a képeket, a következőt kell tennünk: Az OpenCV Mat osztályából a byte adatot át kell másolnunk egy QImage-be, amit elhelyezünk egy QGraphicsScene-ben, amit megjelenítünk a QGraphicsView-val. Lássuk az implementációt!

Size s = raw.size();
QImage qtimage(raw.data, s.width, s.height, QImage::Format_ARGB32);

Az adat formátuma a legkényesebb lépés. Ha rosszul választjuk meg, jó esetben hibás színeket kapunk, rossz esetben lefagy az alkalmazás. Sajnos nem minden OpenCV képformátumhoz találunk QT megfelelőt. A legkevesebb probléma a szürke árnyalatos képeknél van, azokat QImage::Format_Grayscale8 opcióval használhatjuk.

Van még egy rossz hírem. QImage nem adható QGraphicsScene-hez. Szükség van egy közvetítő osztályra a QPixmap személyében:

QGraphicsScene scene;
scene.addPixmap(QPixmap::fromImage(qtimage));

Végezetül jöhet a megjelenítés:

ui->graphicsView->setScene(&scene);
ui->graphicsView->show();

A neten található más megoldások byte-onként másolják az adatot, ami jó megoldás lehet, ha nem támogatott képformátumot használunk. Ellenkező esetben a fenti megoldás gyorsabb eredményt ad.

Szólj hozzá!

Címkék: programozás opencv

Újra itthon

2017.07.09. 23:34 Travis.CG

Sokan kérdezték tőle, milyen érzés újra itthon lenni. Többnyire röviden válaszoltam nekik, mert nem tudom összefoglalni egyszerűen.

Először is, jó újra túró rudit enni. És az is jó, hogy a felvágott, nem csak sonkából áll. De tényleg, rengeteget gondolkodtam azon, mit csinálnak az állatok többi részével az angolok, mert úgy tűnik, csak sztékből és sonkából állnak.

Az esőhöz való viszonyom is más lett. Azelőtt minden cseppnél már kapucnit húztam, most meg simán elmegyek esernyő nélkül, ha szemerkél. Látom, hogy hülyének néznek, csak nem érdekel.

Angliában érdekes módon többet mosolyognak. Még rám is. Próbálom ezt importálni, több-kevesebb sikerrel. Néha bizony lehervad az arcomról a mosoly. Például mikor valamit megpróbálok elintézni.

Épp csak leszálltam a repülőről, már hárman kunyeráltak tőlem pénzt. Egyikük nem is rejtette véka alá, hogy űrhajóra gyűjt. Elon Musk fellélegezhetsz, kereszbe tettem a konkurenciádnak.

A távolsági buszon megkérdezték, kérek-e számlát. Mivel nem vagyok papír-fetisiszta, mondtam, hogy nem kell. Ekkor hirtelen fele annyiba került a jegy. A sofőr hozzá is tette:

- Üljön ide mögém, az első sorba. Ha majd jön az ellenőr, az az én gondom lesz.

Szerencsére a sofőrnek gondtalan útja volt, leszámítva, hogy mások igenis kérték azt a fránya papír fecnit. Meg is kapták néhány keresetlen szóval együtt.

Hazaérve sem könnyebbültem meg. Az albérlőknek azért sikerült leamortizálni a lakást. Nem mondanám olyan vészesnek a helyzetet, mintha három egyetemista férfi lakott volna ott, de a falakon sötétlett a penész, a hűtő totál káros lett, két helységből eltűnt az áram. Nem is próbálták megkeresni, mi lehet a hiba oka, inkább ütöttek egy szép lyukat az egyik konnektorba és vezettek ki belőle egy hosszú kábelt végig a gázcsövek mentén a konyha másik szegletébe. A világítást pedig egy falra szerelt fénycsővel oldották meg. Azzal indokolták mindezt, hogy így legalább nem tettek tönkre semmit. Igazán megható ez a figyelmesség. De miért nem mondták korábban? Miért akkor kellett megtudnom, mikor már eljöttek?

Az elektromos rendszerrel már korábban is voltak problémák. Egy régi, a hatvanas évekből származó társasházban élek, aminek az elektromos rendszerét még alumínium vezetékekkel oldották meg. Az előző lakó ezért kábel csatornákban megpróbált bevezetni egy új, sokkal terhelhetőbb rendszert, miközben a régi, falba ágyazott rész is megmaradt.

Egy korábbi probléma kapcsán már hívtunk szerelőt, aki felhívta a figyelmemet, hogy itt kellene egy alaposabb felülvizsgálat, mert sok házi barkács megoldás van. Akkoriban a munka mennyisége és a pénztelenség miatt elvetettem a javaslatot. Gondoltam, most eljött az idő, hogy mindent rendbe tegyünk. A villanyszerelő még két év távlatából is emlékezett rám. Felmérte ismét a terepet, majd azt mondta, ez egy egész napos kemény munka lesz. Reggel kilenckor kezd többed magával, de délután négyig végezni fognak. Kicsivel több pénzt kért, mint amennyit annak idején egy hónap alatt kerestem. Gondoltam, csinálják.

A reggel 9 órás kezdés nem indult simán. 10:30-kor hívott, hogy egy órát késni fog. Fél egyre meg is érkeztek. Bizonyára a fény sebességének 10%-val közlekedhettek és ezért az ő órájuk lelassult. Addig bioinformatikai problémákon dolgoztam. Mikor megérkeztek, le kellett kapcsolni az áramot.

Az emberiségbe vetett végtelen hitem alapján úgy gondoltam, hagyhatom őket dolgozni és én is tudnék haladni a saját feladataimmal a könyvtárban. Ez utóbbi nem ment valami jól, mert az internet kapcsolat folyton megszakadt. De szerencsére nem is kellett sokat várni, mert már fél háromkor telefonáltak, hogy készen vannak.

Ez igen! Ezek tényleg fény sebességgel dolgoznak. Mire hazaértem, addigra kiderült, mégsem végeztek. Kifelejtettek egy konnektort. Azt még megvártam.

Mit mondjak? Nem voltam elragadtatva. A helységekben újra volt áram, tehát az elsődleges problémát megoldották. A fürdőszobában az egyik hibás konnektorba egy másik helyről vezették át az áramot, de a felrakott kábelcsatorna így néz ki:

kabelcsatorna.jpg

Valami miatt az egyik villanykapcsolóból kellett egy fázist vezetni a tőle 10 cm-re lévő konnektorba. Ez a drót csak úgy ott volt. Kérdeztem, ez biztonságos?

- Persze, le van szigetelve. Szeretné, hogy bevéssük?

- Igen.

- Nincs az a festő, aki azt lejavítaná.

Azért én bevésettem, és itt követtem el a következő hibát. Hagytam, hogy elmenjenek, mielőtt, mindent ellenőriztem volna. Csak azt néztem meg, ahol korábban nem volt áram. A villanyszerelő még megígérte, hogy egy év garanciát ad a munkájára. Este kilenckor vettem észre, hogy másik két helységben viszont nincs áram. Egészen pontosan csak a régi konnektorokban.

Másnap reggel telefonáltam neki, amit nem vett fel. Türelmes ember révén óránként megismételtem a telefonálást, csak, hogy érezze a törődést. Harmadszorra vette fel. Elmondtam neki a panaszomat. Azt ígérte, hogy este bejön, megnézi a problémát. Igazából én már tudtam, mi a gond, mert korábbi szerelgetéseimnél már felfedeztem, hogy a fürdőszobában van egy kötésdoboz, amiből megy a két említett szobába az áram. Ott van a bibi.

Este bizonyára elfelejtette, hogy elígérkezett, ezért másnap megint óránként elkezdtem hívogatni. Azóta nem láttam.

Tudtam, ezt is nekem kell megoldani. Összesen három konnektorból hiányzott az áram és ebből az egyik egy működő konnektor mellett van. Végül is az én szempontomból elegáns megoldást választottam, ami viszont nem biztonságos, nem szakszerű és senki nem csinálja utánam. Egy háromerű vezeték két végére raktam egy-egy villásdugót és bedugtam a két konnektorba. Ha valaki rossz végé húzza ki, akkor igen csúnya áramütést kaphat, ezért megismétlem: ne csináljatok ilyet.

Ami miatt én mégis ezt választottam, az az, hogy ha mégis sikerül visszacsalni a villanyszerelőt, nem mondhatja, hogy én belekontárkodtam a munkájába, hiszen egyetlen kötést sem módosítottam. Nekem van áramom ott, ahol kell és mivel az egész veszélyes megoldás egy szekrénysor mögött van, esély sincs rá, hogy valaki az kihúzza.

 konnektor.jpg

Komolyan elgondolkodtam egy OKJ-s villanyszerelő képzésen. Csak kétszer annyiba kerül, mint ennek a kóklernek a munkadíja! Életem során kettőnél biztos többször lesz szükségem villanyszerelésre és gány megoldásokat, mint látjátok, én is tudok csinálni.

Szólj hozzá!

Címkék: életmód filozofálás barkácsolás

A jutalom

2017.07.02. 21:24 Travis.CG

A kutatói munka nem olyasmi, mint a versenysport vagy a katonai szolgálat, ahol folyamatosan plecsnikkel adják az ember tudtára, hogy jó munkát végzett. Ez nem jelenti azt, hogy ne lenne szükség visszajelzésre. Van is visszajelzés. Minden publikáció egyfajta elismerés, hiszen más kutatók átnézik a munkánkat és azt mondják, az eredmények érdemesek a közlésre.

Ha pedig sikerül egy igazán jó lapba publikálni, az tovább növeli az elégedettség érzését. De mi a "jó" lap? Van ugye ez az impakt faktor, amit mindenki előszeretettel kritizál és nem is állítom, hogy a legtöbb kifogás nem jogos. Valóban egy mesterséges rendszer és nem mentes a hibáktól. De szerintem nem is annyira rossz, mint ahogy állítják.

Szokták mondani, hogy az idézettség többet ér. Lehet. De kérdem én, mire van nagyobb esély: idéznek egy lapot, amit mindenki olvas, vagy idéznek valamit, amit senki sem? Mit fognak inkább olvasni? Egy lapot, aminek - még ha mesterségesen is - magasan tartják a fontosságát vagy egy lapot, amibe minden szemét megjelenik?

Ezek az események hatnak egymásra és trendeket alkotnak, ahol mindig akad kivétel és mindig akad valaki, aki a rendszer gyengeségeit kihasználva jogosulatlan előnyre tesz szert. Ilyenek az emberek, akik kamu PDF fájlok segítségével eltérítették a Google indexet, mások valódi kutatók nevét felhasználva hamis cikkeket generáltak. Végezetül létezik az a legenda is, hogy egy kutató szándékosan írt egy hibás következtetést tartalmazó cikket, amit utána mindenki idézett és megcáfolt.

Az impakt faktor azért nem minden. Nekem is vannak impakt faktor nélküli cikkeim, amikre büszke vagyok. De ezek olyan újságban jelentek meg, amiket azért olvasnak. Ha jelentéktelen lapban tudunk csak leközölni valamit, az az eredményekre is rányomja a bélyegét. Senki nem mondja: nem baj, majd az idézettség bebizonyítja, milyen kiváló munkát végeztél. Hanem azt mondják: Csak ott közölték le?

Ezért is éreztem keserűséget, amikor hosszas huza-vona után végül megjelent ez a cikk. Alapvetően nem dolgoztam túl sokat vele. A szőlő fajták hierarchikus klaszterezésén és egy szimulált gélkép elkészítésén kívül nem sokat tettem. De az Acta Biologica Szegediensis... Ezt nem olvassa senki. Nem fogja citálni senki. Még hamis cikkekhez sem fogják felhasználni egyetlen betűjét sem.

Természetesen nem ez volt a célunk. A publikálás során tényleg rengeteg újságba elküldtük. Végigpróbáltunk mindent, amit lehet és senki nem kért belőle, csak az Acta Biologica Szegediensis. Ez a mi jutalmunk.

Szólj hozzá!

Címkék: publikáció