Zapewne identyfikujesz się jako członek jednej z dwóch grup i albo czujesz się częścią społeczności informatycznej, albo nie. Z tego właśnie powodu podzieliłam ten post na dwa segmenty. Ogólny – neuroinformatyka wyjaśniona w sposób przydatny i zrozumiały dla każdego oraz bardziej specjalistyczny – dla żądnych wiedzy informatyków (lub aspirujących do zostania nimi). Ta druga część zadedykowana jest osobom, które siedzą w programowaniu, modelowaniu czy w bazach danych i chciałyby się dowiedzieć, jak mogą za pomocą swoich umiejętności przyczynić się do rozwoju neuronauk. Dodam, że z neuroinformatyką powiązany jest temat neuroobrazowania, ale jego opiszę osobno 🙂
Neuroinformatyka: CZĘŚĆ OGÓLNA
Neuroinformatykę zdefiniowałabym jako dziedzinę naukową, w której do poszerzania wiedzy o mózgu wykorzystywane są narzędzia informatyczne. Mogą to być bazy danych, tworzenie modeli układu nerwowego, programowanie i wiele innych. Zastanawiasz się, co informatyk może robić w obszarze nauk o mózgu? Poniżej znajdziesz informacje, które wszystko wyjaśnią.
Remedium na ogromne ilości danych…
Wyobraź sobie obrazowanie mózgu (np. rezonans magnetyczny, tomografia komputerowa) i pomyśl o tym, że z tych obrazów da się wyciągnąć nie tylko dane jakościowe (np. takie jak to, że jest nowotwór lub go nie ma), ale też bardzo dokładne dane ilościowe (przykładowo, że ma on 4,5 cm i od poprzedniego badania zmniejszył się o 30%). Bez przykładania linijki, bez wyciągania kalkulatora, automatycznie. Jeśli mówimy o jednym pacjencie, nie brzmi to jak niezbędne ułatwienie. Można przecież na oko zobaczyć, czy jest lepiej oraz jak bardzo lepiej. Sprawa ma się jednak nieco inaczej, jeśli mówimy na przykład o badaniach skuteczności danej terapii. Teraz przyjmijmy, że badanych jest 100 pacjentów. Co więcej, każdy poddawany jest obrazowaniu przed terapią, potem w jej trakcie oraz kilkukrotnie po, co parę miesięcy. Wyobraź sobie mnogość takich danych! W analizie skuteczności terapii kluczowa jest też statystyka.
Z pomocą przychodzi właśnie neuroinformatyka. Jej specjaliści pracują m.in. nad takimi programami, które w zautomatyzowany sposób wykrywają w skanie mózgu obszar zajęty przez nowotwór. Dzięki temu można w szybki i dokładny sposób stworzyć statystyki, które pokażą nam nie tylko, jak taka terapia działa na jednego pacjenta, ale również całościowo na grupę. Informacja taka jak to, o ile procent statystycznie zmniejszał się nowotwór, może być jedną z decydujących o tym, czy dana terapia przynosi pożądane wyniki, a co za tym idzie, czy zostanie wprowadzona na rynek medyczny.
Ważnym parametrem zawsze jest też odchylenie standardowe, aby nie dopuścić do sytuacji, w której dwa bardzo silne wyniki zafałszują średnią i sprawią wrażenie, jakby „średnio” terapia była bardzo skuteczna.
Neuroinformatyka dla mniejszej skali…
Teraz wyobraź sobie skalę dużo mniejszą – sieci kilku neuronów. W momencie, gdy zarejestrujemy ich obraz za pomocą odpowiedniego mikroskopu, mamy już solidną podstawę do dalszej analizy. Z pomocą przychodzi modelowanie – dzięki temu obszarowi neuroinformatyki możemy w sposób bardziej lub mniej zautomatyzowany stworzyć modele pojedynczych neuronów lub ich sieci. Mając już taki model zazwyczaj włącza się analizę ilościową. Są tysiące zastosowań dla modelowania, ale, moim zdaniem, najważniejszym jest to, że to właśnie dzięki niemu można stworzyć widok 3D naszych neuronów.
Ogórek
Jak to się dzieje? Żadna czarna magia. Zanim zobrazujemy tkankę, musimy wcześniej poddać ją barwieniu barwnikiem fluorescencyjnym. Po co? Ano po to, żeby przykładowe neurony, które chcemy zobrazować, było w ogóle widać! Ogólnie mówiąc, obrazy mikroskopowe neuronów (np. z mikroskopu konfokalnego) powstają w taki sposób, że umieszczamy w mikroskopie wycinek mózgu, w którym znajdują się neurony, które chcemy zobrazować i czekamy, aż zostanie pobrane zdjęcie w wielu przekrojach. To trochę tak, jakbyśmy kroili ogórka na cienkie plastry. Możemy wyjąć którykolwiek z plastrów i spojrzeć na niego „z góry” – wtedy patrzymy w perspektywie 2D. Ale jeśli wszystkie plastry przylegają ściśle do siebie, mamy widoczny obraz 3D – całego ogórka.
Używając naszej metafory, jeśli w ogórku chcielibyśmy zobaczyć pestki, to najlepiej jest wyjąć jeden z plastrów i mu się przyjrzeć w perspektywie dwuwymiarowej. Ale gdy chcemy zobaczyć w jakim kształcie przestrzennie układają się wszystkie pestki we wnętrzu ogórka – będziemy potrzebowali modelu 3D. A żeby go stworzyć, to najważniejszym krokiem jest zabarwienie fluorescencyjne pestek. Dla mikroskopu konfokalnego, który nie jest typowym mikroskopem świetlnym, byłoby niemal wszystko jedno, czy to jest pestka, czy miąższ. Z tego powodu trzeba dać mu sygnał, że TO jest właśnie struktura, na której nam zależy i obraz właśnie TYCH struktur ma być kontrastowo rejestrowany przez mikroskop.
Dokładnie tak samo jest z tkanką, którą badamy. Barwienie umożliwia zróżnicowanie danego neuronu od tła i szumu (który często otacza neuron na obrazie i wynika z dużego przybliżenia mikroskopu i ograniczeń sprzętu), a modelowanie umożliwia bardzo wyraziste oddzielenie neuronu od tła i pozwala na lepsze zobaczenie kształtu i struktury w trójwymiarze.
Dla ciekawych, na Instagramie opisałam pokrótce moje doświadczenie z neuroinformatyką 😉
Neuroinformatyka – CZĘŚĆ (nie tak znowu bardzo) SPECJALISTYCZNA
Jeśli dotarłeś do tego punktu, to pewnie jesteś ciekaw, jakie języki programowania są najbardziej przydatne w neuroinformatyce. Może zaczynasz interesować się programowaniem i nie wiesz, na naukę którego języka postawić? A może jesteś wyskillowanym masterem Javy i zastanawiasz się, czy jakkolwiek Ci się to przyda w światku neuro?
Jakich języków się uczyć?
Uwaga, osobiste wyznanie. Nigdy nie byłam wielką fanką programowania, ale było go sporo na studiach i trzeba było przez nie jakoś przebrnąć. Szło raz lepiej, raz gorzej, raz super, raz beznadziejnie, ale powiem szczerze, że dziękuję Bogu, że nie muszę programowania wykonywać na co dzień. Nie zostałam obdarzona odpowiednim typem cierpliwości 🙂 Niemniej jednak, na swoich różnych neuro-stażach i praktykach musiałam czasem coś programować, i jeśli miałabym powiedzieć czysto z perspektywy tego, co widziałam w labach w Polsce, Norwegii, Anglii, czy USA, to odpowiedź brzmi: neuroinformatyka opiera się na Pythonie i MATLABIE (po krótkim researchu w Google, moje przypuszczenia się potwierdziły). Są one językami całkiem zbliżonymi, więc dość łatwo przeskoczyć z jednego do drugiego, a Python ma tę zaletę, że jest darmowy. Najlepiej służą do analizy danych, a nawet modelowania, czy symulacji i co ważne, mają fajne biblioteki.
Co z innymi językami? Podobno użyteczne bywają też Ruby, R, C/C++, czy Java, ale na pewno w bardziej niszowych i oryginalnych modelach programowych.
Bazy danych
Bazy danych są ogromnie ważną częścią neuronauk, gdyż to właśnie z nich czerpanych jest najwięcej informacji i wyciąganych jest najwięcej wniosków. W kontekście bazodanowców (i nie tylko, bo do poćwiczenia programowania też może się to przydać), to mogę Wam sprzedać fajne info – po wpisaniu „neuroscience databases” w Google, macie dostęp do bardzo wielu naprawdę świetnych danych. Głównie skanów z neurobrazowania, od rezonansu magnetycznego, po tomografię.
Statystyka
Moim zdaniem, kolejną ważną odnogą neuroinformatyki jest statystyka. Zatem jeśli się nią interesujecie, to zainteresują Was dwa programy – SPSS oraz Statistica. Miałam okazję popróbować SPSS oraz sporo działać na Statistice i uważam, że jeśli ma się dobrego nauczyciela, to można całkiem szybko je ogarnąć 🙂
Neuroinformatyka – końcowe przemyślenia
A teraz czas na moje podsumowujące przemyślenie: obojętne, w jakim języku programujesz, czy w jakiej części informatyki siedzisz. Zawsze Twoje umiejętności mogą się przydać w jakimś projekcie neuronaukowym. Jeśli mieszkasz w dużym mieście, to jest duża szansa, że ktoś na uniwersytecie, w Polskiej Akademii Nauk, w laboratorium, szpitalu czy w prywatnej firmie potrzebuje Twojego know-how oraz patrzenia na świat w swoim neuro-projekcie. Czasem wystarczy chwilę poszukać takich placówek i po prostu się do nich odezwać. A nuż!
No Comments