lauantai 15. kesäkuuta 2019

Elämän synty tarvitsi informaatiotiedettä


Ensimmäinen kirjoittamani tietokoneohjelma julkaistiin 1986 Printti-lehdessä (siihen aikaan ei ollut Internettiä, joten pelejä ei voinut ladata, vaan pelit piti itse kopioida kirjoittamalla lehden sivuilta). Tämän jälkeen olen työskennellyt maailman parhaiden ohjelmoijien kanssa kolmella mantereella. Olemme suunnitelleet yhdessä tietojärjestelmiä maailman tunnetuimmille suur-yrityksille niin USA:ssa, Canadassa, Euroopassa, kuin Kiinassa, Intiassa, Australiassa ja Etelä-Afrikassakin. Olen työskennellyt amerikkalaisissa ohjelmistoyrityksissä, jotka ovat omalla alueellaan maailman johtavia. Tämän matkan varrella olen oppinut satoja eri ohjelmistoja ja tietojenkäsittelyn arkkitehtuureja kymmeniltä eri huippu arkkitehdeiltä, jotka ovat valmistuneet maailman parhaista yliopistoista.

Genetiikasta kiinnostuin viitisen vuotta sitten, kun havaitsin, että sen oppiminen on helppoa, kun vertaa sitä tietojenkäsittelyyn, ohjelmointiin ja ohjelmistoarkkitehtuurin periaatteisiin. Ymmärsin aina edellistä asiaa opiskellessani, mitä seuravaksi pitää tutkia, koska vertasin solua siihen, mitä olin oppinut työelämässä tietojenkäsittelyjärjestelmistä.

Seuraavassa luettelo joistakin solun ja tietokoneen, tai oikeastaan tietojenkäsittelyn, vastaavuuksista, niin kuin ne olen kokemukseni mukaan havainnut vastaaviksi.

  • Tietojenkäsittelyn kaksi pääosuutta ovat tieto itse ja logiikka, miten sitä käsitellään. Molemmat käsitteet ovat myös solussa.

  • Solu = Tietokone, hardware, Genetiikka = ohjelma.
  • Sama tietokone voi toteuttaa erilaisia ohjelmia. Samoin yksi Solu ja DNA siinä voi toteuttaa erilaisia ohjelmia. DNA voidaan jopa vaihtaa soluun ja sen jälkeen solu alkaa toimimaan erilailla. Näin on tehty jopa ihmisen kanssa (kts. Kirjoitukseni: Kolmen vanhemman lapsi). Ohjelma on DNA:n sekvenssien järjestyksessä. Kun ohjelmaa vaihtuu, solussa edelleen on DNA, mutta sekvenssien järjestys on eri.

  • Ihmisen DNA:sta 2 % on proteiinien rakennusohjeita (geenejä). Loppuosa DNA:sta on osa sitä ohjelmaa, joka päättää, mitä rakennusohjetta milloinkin käytetään ja miten. Samoin tietokonepeleissä on sekä  pelihahmojen rakennusohjeet että pelin logiikka.

  • Gene regulator networks on sen DNA:n logiikan ohjausosuuden nimi, joka tekee loogisia päätöksiä. Tietokoneohjelmassa loogisia päätöksiä tehdään esimerkiksi IF-komennolla: Jos tämä on totta niin sitten tee 'jotain'.

  • Tietokoneohjelma odottaa syötettä käyttäjältä tai oheislaitteilta. Samoin DNA ottaa vastaan signaaleja solun ulkopuolelta. Esimerkiksi se seuraa auringon säteilyä ja lisää pigmentin tuottoa tarvittaessa (rusketus).

  • Takaisinkytkentä toimii esimerkiksi digitaaliohjatussa lämpöpatterissa. Se mittaa huoneen lämpöä ja muuttaa sen mukaan lämmön tuottoa. Samanlainen mittaukseen perustuva takaisinkytkentä on solussa, kun se valmistaa proteiinia ja päättää tarvitaanko sitä vielä lisää.

  • Tietokoneen tietokanta on  kovalevyllä. DNA on solun tietokanta.

  • RNA on viesti solun tietoverkossa. HTTP on esimerkki yhdestä Internetin viestistä (protokollasta).

  • Ribosomi on solun proteiinitehdas, joka odottaa ohjetta DNA:lta. Hitsausrobotti taas toimii tietokoneohjatussa tehtaassa.

  • Tieto menee pieneen tilaan. Yhdessä muistitikussa voi olla vaikka kokonaisen matkustajalaivan rakennepiirustuksen. Kaikkien valaiden rakennusohjeet taas mahtuvat lukemattomia kertoja yhteen hyttyseen.

  • Tietokone tallettaa tiedon bitteinä (kaksi eri bitin arvoa, 0 ja 1). Samoin DNA (neljä eri bitin arvoa A, T C, G).

  • Tietokoneen biteistä tehdään tavuja (8 bittiä), jotka vastaavat jotain aakkosten kirjainta. Samoin DNA:n kolme bittiä vastaavat yhtä merkkiä (eli amonihappoa proteiinissa).

  • Tietokoneohjelmassa on tarkka kielioppi. Samoin DNA:ssa. Jos ohjelmaan tulee kielioppivirhe, se ei enää toimi siltä osin. Jos DNA:han tulee mutaatio, se samoin rikkoo sen kohdan.

  • Hierarkkinen tietorakenne luokittelee tietoja. Esimerkiksi osoitteet: Suomi - Helsinki - Mannerheimintie. Hierarkia toimii myös solujen kesken. Tietyt solut voivat kasvaa vain, jos ympärillä on toisia tiettyjä soluja.

  • Meta-tieto on tietoa tiedosta. Esimerkiksi kun webbisivu piirretään näytölle, vain osa tiedosta on käyttäjälle näkyvää. Osa tiedosta kertoo, miten tieto näytetään (vaikkapa alleviivaus). Samoin Geenissä on introneja ja muita osuuksia, jotka kertovat, miten siitä tehtyä RNA:ta käytetään ja mihin se pitää toimittaa. Tämä on tietoa tiedosta solussa.

  • DNA:ssa start ja stop jaksot kertovat mistä geeni alkaa. Samoin tietorakenteissa alku- ja loppumerkinnät kertovat, kuinka pitkälti on samaa merkkijonoa.

  • Vaihtoehtoinen silmukointi on menetelmä millä erilaisia proteiinien rakennusohjeiden alikokoonpanoja voidaan yhdistellä. Tietokoneohjelmissa uudelleen käytettävät aliohjelmat toimivat samoin.

  • Ohjelmissa osoittimet kertovat, mistä kohtaa muistia alkaa tietty tieto. DNA:han kiinnittyy microRNA pätkiä, jotka osoittavat DNA:sta tietyn tiedon alkamisen.

  • Tunnetut tietokoneohjelmat, Microsoft Word ja Excel, jakavat yli 50% samaa ohjelmakoodia. Samoin ihmisellä ja banaanilla on 50% samoja geenejä.

  • Kun käyttäjä syöttää nimensä ja salasanansa ohjelmaan, se vertailee annettuja tietoja tietokannassa oleviin käyttäjänimiin ja salasanoihin. Samoin kun microRNA hakee sopivaa kohtaa DNA:sta, tehdään merkki merkiltä vertailua kunnes yhtenevä koodi havaitaan.

  • Kun laboratoriossa DNA sekvenssit luetaan, niiden tieto siirretään tietokoneelle, jossa eri eliöiden DNA:ta sitten voidaan vertailla kuin mitä tahansa tietokoneen tietoja.

  • Tyypillisessä tietokoneohjelmassa on asetuksia, jolla käyttäjä saa tiettyjä haluamiansa toimintoja pois päältä. Samoin DNA:ssa on kytkimiä, jotka kytkevät jonkun geenin pois päältä.

  • Tiedon kompressoinniksi kutsutaan operaatiota, jossa isot tiedostot pakataan pienempään tilaan (zippaus). DNA:ssa tietoa on kirjoitettu päällekkäin ja näin tieto on pakkautunut. Siksi DNA:n pituus ei ole koko totuus sen tiedon määrän sisällöstä. Koska on vain 20 aminohappoa, mitä DNA koodaa, mutta 3:lla DNA-bitillä voidaan kertoa (4*4*4) 64 eri vaihtoehtoa, taitava koodaaja saa pakattua tietoa DNA: han monikertaisesti.

  • Tietokoneisiin voi tulla viruksia, jotka sotkevat tietoa. Samoin Soluihin. Virus upottaa tietonsa DNA:han.

  • Ohjelmoijat tietävät, että sama tieto pitää välillä kopioida monta kertaa, esimerkiksi välimuistiin, jotta ohjelma toimii tehokkaasti. Myös DNA:ssa on kopioita samasta tiedosta, esimerkiksi pseudogeenejä. Näitä tarvitaan oikean tiedon ohjaamisessa, palauttamisessa ja varmasti myös, kun DNA laskostetaan kolmiulotteiseen tilaan, jotta oikeat osuudet ovat lähekkäin.

  • Tietokoneen näytönohjaimella on oma muistinsa. Veisi liian kauan aikaa hakea tietoa päämuistista. Samoin solun energiatehtaalla, mitokondriolla, on oma DNA:nsa, joka on riittävän lähellä tarvetta.

  • Palidromigeeni varmistaa tiedon oikeellisuuden. Tarkistussummat ja vastaavat menetelmät varmistavat tiedon oikeellisuutta tietokoneessa.

  • Tietokoneohjelmaa voidaan moniajaa monesta kohtaa samaan aikaan. Samoin DNA:ta ajetaan lukemattomista kohdin samanaikaisesti.
     
  • Tietokoneella voidaan ohjelmoida solun DNA:ta käyttäen samaa ohjelmointikieltä kuin tietokoneohjelmia ohjelmoitaessa.


Mitä edellinen tarkoittaa lyhyesti?





Tieto ja tiedonkäsittely on aikaisempaa alkuperää kuin elämä näkyvässä maailmassa.
Näkyvän maailman ja elämän luominen oli mahdollista vain tiedon ja tiedonkäsittelyn avulla.

Tietokoneohjelman on älykäs, tietoinen mieli ohjelmoinut. Samoin täytyy olla solun tietojenkäsittelyn kanssa.

Ei kommentteja:

Lähetä kommentti