FI118102B - Informaationhallintajärjestelmä työvirtojen hallitsemiseksi - Google Patents

Informaationhallintajärjestelmä työvirtojen hallitsemiseksi Download PDF

Info

Publication number
FI118102B
FI118102B FI20045040A FI20045040A FI118102B FI 118102 B FI118102 B FI 118102B FI 20045040 A FI20045040 A FI 20045040A FI 20045040 A FI20045040 A FI 20045040A FI 118102 B FI118102 B FI 118102B
Authority
FI
Finland
Prior art keywords
tool
workflow
data
input
output
Prior art date
Application number
FI20045040A
Other languages
English (en)
Swedish (sv)
Other versions
FI20045040A0 (fi
FI20045040A (fi
Inventor
Pertteli Varpela
Meelis Kolmer
Tarmo Pellikka
Original Assignee
Medicel Oy
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from FI20031020A external-priority patent/FI117988B/fi
Application filed by Medicel Oy filed Critical Medicel Oy
Priority to FI20045040A priority Critical patent/FI118102B/fi
Publication of FI20045040A0 publication Critical patent/FI20045040A0/fi
Priority to AU2004254729A priority patent/AU2004254729A1/en
Priority to EP04103140A priority patent/EP1494156A3/en
Priority to PCT/FI2004/000424 priority patent/WO2005003999A1/en
Priority to RU2005141111/09A priority patent/RU2005141111A/ru
Priority to CA002531131A priority patent/CA2531131A1/en
Priority to JP2006516238A priority patent/JP2007520773A/ja
Priority to US10/883,043 priority patent/US20050021877A1/en
Publication of FI20045040A publication Critical patent/FI20045040A/fi
Publication of FI118102B publication Critical patent/FI118102B/fi
Application granted granted Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B50/00ICT programming tools or database systems specially adapted for bioinformatics
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B50/00ICT programming tools or database systems specially adapted for bioinformatics
    • G16B50/10Ontologies; Annotations
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B50/00ICT programming tools or database systems specially adapted for bioinformatics
    • G16B50/20Heterogeneous data integration
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B50/00ICT programming tools or database systems specially adapted for bioinformatics
    • G16B50/30Data warehousing; Computing architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Medical Informatics (AREA)
  • Biophysics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Biotechnology (AREA)
  • Evolutionary Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Bioethics (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Data Mining & Analysis (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

118102
Informaationhallintajärjestelmä työ virtojen hallitsemiseksi
Keksinnön tausta
Keksintö liittyy informaationhallintajärjestelmään (lyhyesti "IMS” information management system) työvirtojen hallitsemiseksi. Tässä yhteydessä työ-5 virta (workflow) on hyvin määritelty dataoperaatioiden (lyhyesti: töiden) joukko. Keksintö on erityisen käyttökelpoinen biokemiallisen informaation yhteydessä.
Biokemiallinen tutkimus on viime aikoina kasvanut ällistyttävästi. Tämän vuoksi monet työvirrat ja kokeet ovat enemmän tai vähemmän improvisoituja, ja alalta puuttuu valmiita ohjelmistotyökaluja monimutkaisten työvirtojen ja 10 kokeiden hallitsemiseksi. Sopivien ohjelmistotyökalujen puutteesta johtuva ensimmäinen ongelma on, että useita vaiheita ja/tai informaationkäsittelytyökaluja vaativat kokeet voivat olla vaikeita toistaa, muuttamattomina tai muutettuina.
Tunnetussa tekniikassa tällaisia monivaiheisia kompleksisia työvirtoja on automatisoitu erä- tai skriptitiedostoilla, jotka ovat tyypillisesti muotoa: 15 <työkalun_nimi> <ottotiedosto> <antotiedosto> <parametri_1> ...<parametri_n>.
Esimerkiksi skriptitiedostossa oleva seuraavanlainen rivi: digest -sequence myjnjile -outjile my_out_file -auto -unfavoured ...käskisi työkalua nimeltä digest prosessoimaan nimetyn ottotiedoston parametrien “-auto” ja “-unfavoured" ohjaamana ja tallentamaan tuloksen nimettyyn ... 20 antotiedostoon. Tällaisilla skriptitiedostoilla on useita haittoja. Esimerkiksi skrip- • · *··;’ titiedoston kirjoittaminen vaatii ohjelmointitaitoja, joita tutkijoilla harvoin on bio- ···:* kemian alalla tai muilla aloilla, jotka eivät suoranaisesti liity ohjelmointiin.
• · «
Toinen ongelma on, että tunnetut IMS-järjestelmät odottavat yleensä • * · saavansa datan spesifisissä formaateissa, minkä vuoksi ne tukevat huonosti 25 sellaista alaa kuin biokemia, jossa ei ole alan kattavia standardeja informaation esittämiseksi. Biokemian tutkimus tuottaa ällistyttäviä tietomääriä nopeudella, jota ei ole koskaan nähty millään tieteen alalla. Eräs keksinnön pohjana oleva ;·. ongelma liittyy vaikeuksiin organisoitaessa suuria määriä nopeasti muuttuvaa !···. informaatiota. IMS-järjestelmät voivat olla vapaamuotoisia tai strukturoituja.
♦ ♦ "·' 30 Eräs hyvin tunnettu esimerkki vapaamuotoisesta IMS:stä on tutkimusinstituutin • · lähiverkko, johon informaation tuottajat (tutkijat tai vastaavat) voivat syöttää in- • · · formaatiota mielivaltaisessa formaatissa käyttämällä mitä tahansa yleisesti saa-:·. tavaa tai tapauskohtaista sovellusohjelmaa, kuten tekstinkäsittely-, taulukkolas- !·. ; kenta- tai tietokantaohjelmaa, tms. Strukturoitu IMS tarkoittaa järjestelmää, jos- * «· * % 118102 - ^ 2 sa on järjestelmän kattavat säännöt informaation tallentamiseksi yhtenäiseen tietokantaan.
Keksinnön lyhyt selostus
Keksinnön tavoitteena on siten kehittää informaationhallintajärjestel-5 mä (jäljempänä lyhenteellä ’’IMS”) ensimmäisen ongelman ratkaisemiseksi. Toisin sanoen keksinnön tavoitteena on tuottaa IMS työvirtojen ja ohjelmistotyökalujen hallintaa varten. Keksinnön tavoite saavutetaan IMS.IIä, joille on tunnusomaista se, mitä sanotaan itsenäisissä patenttivaatimuksissa. Keksinnön edulliset suoritusmuodot ilmenevät epäitsenäisistä patenttivaatimuksista.
10 Keksinnön mukainen IMS pystyy hallitsemaan työvirtoja, missä kukin työvirta määrittelee järjestetyn joukon, jossa on yksi tai useampia datankäsitte-lytehtäviä, jotka liittyvät informaatioon. IMS käsittää työvirtojen hallitsijan, joka käsittää: - dataolion tyyppimäärityksen kullekin useasta dataoliotyypistä, missä 15 kukin dataolion tyyppimääritys liittyy datan syntaksiin ja semantiikkaan; - dataolion määrityksen kullekin useasta dataoliosta, jossa kukin da-
taolio liittyy spesifiseen dataoliotyyppiin ja sisältää mainitun informaation alijoukon; V
- työkalumäärityksen kullekin useasta työkalusta, missä kukin työkalu 20 pystyy suorittamaan alijoukon datankäsittelytehtävistä; - yksi tai useampia työkalupalvelimia työkalujen suorittamiseksi; *:· - joukon työkalun ottosidontoja ja työkalun antosidontoja, joista kukin ;***; sitoo vastaavasti työkalun oton tai annon spesifiseen dataoliotyyppiin; * · « : - työvirtamäärityksen kullekin useasta työvirrasta, missä kukin työvir- "V 25 tamääritys käsittää: » i) yhden tai useamman työvirran ottomäärityksen, joista kukin osoit-“** taa yhden tai useamman dataolion työvirran otoksi; „ ii) yhden tai useamman työvirran antomäärityksen, joista kukin osoit- • * ί taa yhden tai useamman dataolion työvirran annoksi; 30 missä työvirran ottomääritykset ja työvirran antomääritykset yhteises- « ti määrittelevät datavirtaverkon työvirran otosta työvirran antoon työkalumääri- * * .··*. tysten yhden tai useamman instanssin kautta.
Keksintö perustuu työkalujen otto- ja antosidontojen (binder) käyt- • · : " töön, jotka kytkevät kunkin työkalun spesifiseen dataolioon (data entity) tai da- * · ·*.’·: 35 taoliotyyppiin, mikä tarjoaa mahdollisuuden luoda työinstansseja työottoineen ja 118102 :.3 , c -antoineen, jota kytkevät työinstanssit spesifisiin dataolioihin, jotka tyydyttävät dataolion tyyppivaatimukset.
Dataoliotyypit tuottavat syntaksi- ja/tai semantiikkainformaatiota sellaisten dataolioiden tyyppitarkastusta varten, jotka tulee kytkeä lapsityövirtoihin, 5 joihin kuuluu spesifinen työkalujen joukko. Tyyppitarkastus perustuu työkalujen otto- ja antosidontoihin.
Töiden annot ja otot määrittelevät yhteisesti datavirtaverkon työvirran otosta sen antoon töiden kautta, jotka tehdään spesifisiä työkaluja suorittamalla.
Työkalujen otot ja annot kytketään dataolioihin asiaankuuluvan tyyppitarkastuk-10 sen kautta, joten datan yhtenäisyys on varmistettu. Töiden otot ja annot, jotka määrittelevät työvirran, luodaan ja päivitetään edullisesti graafisen käyttöliittymän kautta, joka tarjoaa vedä-ja-pudota -toiminnallisuuden (drag-and-drop).
Toisin kuin tavanomainen -ja-pudota -käyttöliittymä, joka aiheuttaa määritellyn ohjelmistotyökalun välittömän suorituksen, keksinnön mukainen IMS luo työvir-15 tojen ottomäärityksiä ja työvirtojen antomäärityksiä, jotka yhteisesti määrittelevät datavirtaverkon työvirran otosta työvirran antoon työkalumääritysten yhden tai useamman instanssin kautta. Työvirta voidaan suorittaa vasteena käyttäjän syötteelle graafisen käyttöliittymän kautta. Kun työvirta suoritetaan, datavirta-verkko määrittelee työkalujen suoritusjärjestyksen siten, että ensimmäinen työ-20 kalu, jonka anto on toisen työkalun otto, suoritetaan ennen toista työkalua. Siten käytännöllisesti katsoen kuinka monimutkainen prosessointitehtävien joukko tahansa voidaan suorittaa automaattisesti ilman enempää käyttäjän vuorovaiku-tusta. Datavirtaverkko, joka määrittelee työvirran annon ja oton työkalujen kaut-•\*\· ta, tallennetaan tietokantatauluihin tai vastaaviin, jolloin työvirrat on helppo tois- : 25 taa, muutosten kanssa tai ilman muutoksia, ja niitä voidaan seurata, mikäli *·· esiintyy tarve työvirtojen toistamiseksi.
• · · · .*··. Sen lisäksi, että työvirtamääritys määrittelee sen suorituksessa käy tettyjen työkalujen joukon, se voi käsittää myös dokumentointikuvauksia, jotka avustavat työvirran dokumentoinnissa.
30 Keksinnön eräs edullinen suoritusmuoto liittyy IMS:ään, joka ratkai- • * *···* see toisen ongelman. Toisin sanoen edullisen suoritusmuodon tulisi tuottaa IMS, joka on loogisesti kattava siten, että mahdollisimman vähän ulkoista infor-maatiota tarvitaan IMS:n sisältämän informaation tulkitsemiseksi. Tämän lisäksi • · · IM$:n sisältämän informaation tulisi olla strukturoitua, niin että informaatio on • · “ 35 monen erilaisen informaationkäsittelytyökalun käytettävissä.
♦ · ♦ • ·« • ♦ ··* 4 118102 Tällaista IMS:ää voidaan käyttää tallentamaan informaatiota populaatioista, yksilöistä, reagenteista tai muiden biomateriaalien näytteistä (mitä tahansa, jota voidaan tutkia biologisena/biokemialiisena järjestelmänä tai sen komponenttina). IMS käsittää edullisesti koetietokannan. Koe voi olla tosielä-5 män koe ("märkälaboratorio”) tai simuloitu koe ("in silico”). Keksinnön mukaisesti molemmat koetyypit tuottavat datajoukkoja siten, että kukin datajoukko käsittää: - muuttuja-arvomatriisin muuttuja-arvojen kuvaamiseksi rivi-sarake -organisaatiossa; 10 - muuttujankuvauskielellä olevan rivikuvauslistan muuttuja-arvomatriisin ri veistä; - muuttujankuvauskielellä olevan sarakekuvauslistan muuttuja-arvomatriisin sarakkeista; - muuttujankuvauskielellä olevan kiinteiden dimensioiden kuvauksen yhdestä 15 tai useammasta kiinteästä dimensiosta, jotka ovat yhteisiä kaikille muuttuja- arvomatriisin arvoille.
Tämän edullisen suoritusmuodon mukaisesti kunkin kokeen numeeriset arvot tallennetaan skalaarinumeroina muuttuja-arvomatriisiin, jolla on rivi-sarake -organisaatio. Tällaisia rivi-sarake -matriiseja voidaan käsitellä edelleen 20 monenlaisilla valmiilla tai tapauskohtaisilla sovellusohjelmilla. Muuttuja-arvomat-riisin rivien ja sarakkeiden tarkoitusten kuvaamiseksi on erilliset rivi- ja sarake- * · · ·:. kuvauslistat. Erillinen kiinteiden dimensioiden kuvaus kuvaa kiinteät dimensiot, .···. jotka ovat yhteisiä kaikille muuttuja-arvomatriisin arvoille. Rivi- ja sarakekuvaus- listat, samoin kuin kiinteiden dimensioiden kuvaus, kuvataan muuttujankuvaus- ♦ · · “Y 25 kielellä, jotta mielivaltaiset muuttujien arvot voitaisiin linkittää IMS:n strukturoi- *.*;i tuun informaatioon.
• « ’···* Eräs muuttujankuvauskielen ("VDL” = variable description language) käytöllä saavutettu etu on, että IMS on pitkälti itseriittoinen. Numeeristen arvo- ·· : *·· jen tulkitsemiseksi tarvitaan vähän tai ei lainkaan ulkoista informaatiota. On ·*...· 30 myös suhteellisen suoraviivainen tehtävä pakottaa muuttujalausekkeille auto- .matisoitu syntaksintarkastus. Eräs VDL:n oleellinen piirre on, että se sallii muut- ,’Y tujien kuvauksen vaihtelevalla detaljitasolla. VDL voi esimerkiksi kuvata muuttu- Y* jän biomateriaalina (populaatio - yksilö - näyte; organismi - elin - kudos, solu- » · : ’*· tyyppi, jne.), fyysisinä suureina ja aikana, mutta nykyisen asiayhteyden kannalta 35 epäolennaiset detaljit voidaan jättää pois.
118102 5 ·,# XML (eXtendible Markup Language) on eräs hyvin tunnettu esimerkki kielestä, jota voidaan käyttää muuttujankuvauskielenä. Eräs XML:n ongelma on kuitenkin, että se on tarkoitettu kuvaamaan käytännöllisesti katsoen mitä tahansa strukturoitua informaatiota, mikä johtaa pitkiin lausekkeisiin, joita ihmiset pys-5 tyvät heikosti lukemaan. Niinpä keksinnön eräs edullinen suoritusmuoto liittyy muuttujankuvauskieleen, joka soveltuu paremmin biologisten muuttujien kuvaamiseen kuin XML. Lisäksi XML:n tai sen biologisten tai matemaattisten varianttien, kuten SBML (Systems Biology Markup Language) tai CellML (Cell Markup Language) tai MathML (Mathematical Markup Language), lausekkeet ovat 10 yleensä liian pitkiä tai monimutkaisia toimiakseen itsensä dokumentoivina symboleina biologisten muuttujien kuvaamiseksi matemaattisissa malleissa. Niinpä keksinnön eräs edullinen suoritusmuoto käsittää kompaktin mutta laajennettavan muuttujankuvauskielen, joka ratkaisee nämä XML:n ja sen varianttien ongelmat.
15 Tallentamalla numeeriset arvot skalaarimatriisina saavutetaan se etu, että matriisi voidaan analysoida monilla kaupallisesti saatavilla datanetsintätyö-kaluilla (data-mining tools), kuten itsejärjestyvillä kartoilla tai muilla klusterointi-algoritmeilla, jotka eivät helposti käsittele arvoja, joihin liittyy dimensioita. Sen vuoksi rivi- ja sarakekuvaukset tallennetaan erikseen. Eräs etu, joka saavute-20 taan käyttämällä kolmatta listaa, nimittäin kiinteiden dimensioiden kuvausta, on se, että riveille ja sarakkeille yhteisiä dimensioita ei tarvitse toistaa rivi- ja sara- ··· kekuvauslistoissa.
..*·* IMS.n prosessointinopeutta voidaan kasvattaa tallentamalla kukin da- :[[[: tajoukko (jokainen datajoukko, joka käsittää muuttuja-arvomatriisin, rivi- ja sara- : 25 kekuvauslistat kiinteiden dimensioiden kuvauksen) datan säiliönä, ja tallenta- •f. maila tietokantaan vain säiliön osoite tai tunniste. Jos oletetaan, että datajouk- ♦ · · · .···. kojen noutamiseen käytetään SQL- (structured query language) tai muita tieto kantakyselyjä, niin yhden säiliön tekniikka vähentää dramaattisesti SQL-kyse-lyillä prosessoitavien erillisten data-alkioiden lukumäärää. Kun tarvitaan erillisiä 30 dataelementtejä, niin koko säiliö voidaan käsitellä sopivalla työkalulla, kuten • · '·♦·* taulukkolaskentaohjelmalla tai yksitasoisella (flat-file) tietokantajärjestelmällä.
Keksinnön erään toisen edullisen suoritusmuodon mukaisesti IMS
i · käsittää lisäksi biokemiallisten olioiden tietokannan, joka sisältää objekteja tai • · » ./ taulukoita. Muuttujankuvauskieli käsittää muuttujakuvauksia, joista kukin käsit- \ *) 35 tää yhden tai useamman avainsana-nimi -parin. Kullekin biokemiallisten olioiden • ♦ « ** tietokannan objektille tai taululle on siihen viittaava avainsana. Tämä suoritus- 118102 6 muoto helpottaa tallennettavalle informaatiolle tehtäviä automaattisia syntaksi-tai muita tarkastuksia.
Keksinnön mukaisten datajoukkojen vielä eräs etu on hyvä tuki hyvin määritellyille konteksteille. Konteksti määrittelee kokeen, joko märkälaboratorio-5 tai in-silico, ulottuvuuden (scope). Kukin konteksti määritellään biomateriaalin, muuttujien ja ajan perusteella.
Kuvioiden lyhyt selostus
Keksintöä selostetaan nyt lähemmin edullisten suoritusmuotojen yhteydessä, viitaten oheisiin piirroksiin, joista: 10 Kuvio 1 on lohkokaavio IMS:stä, jossa keksintöä voidaan käyttää;
Kuvio 2 on IMS:n tietokantarakenteen olio-relaatiomalli;
Kuviot 3A ja 3B esittävät edullista muuttujankuvauskieltä eli VDL:ää;
Kuvio 3C esittää VDL-kielisen muuttujalausekkeen syntaksintarkas-tusprosessia; 15 Kuvio 4 näyttää esimerkkejä VDL-kielisistä yhdistetyistä muuttujalau- sekkeista;
Kuvio 5 näyttää, kuinka VDL:ää voidaan käyttää ilmaisemaan erilaisia datakonteksteja;
Kuviot 6A ja 6B esittävät keksinnön mukaisia datajoukkoja; 20 Kuvio 7A on IMS:ään tallennetun polun (pathway) lohkokaavio; ·,]]'· Kuvio 7B näyttää esimerkin monimutkaisesta polusta, joka sisältää tmy yksinkertaisempia polkuja;
Kuvio 8 näyttää polun visualisoitua muotoa; • · · : Kuvio 9 esittää koe-oliota IMS:n koeosiossa; • · · ’ 25 Kuvio 10 näyttää esimerkin IMS:n biomateriaaliosion objektipohjai- * / sesta toteutuksesta; • * • ·
Kuviot 11A ja 11B osoittavat datan seurattavuutta kahden esimerkin .. valossa; • * : Kuvio 12A näyttää informaatio-olio -relaatiota monimutkaisten työvir- 30 tojen selostamiseksi ja hallitsemiseksi IMS:ssä; ·*·.· Kuvio 12B näyttää asiakas-palvelin -arkkitehtuurin, johon kuuluu ♦ » .··*. asiakaspäätelaitteessa CT suoritettava graafinen työvirtojen editori;
Kuvio 12C näyttää, kuinka työvirtaeditori voi esittää työvirtoja työkalu-« jen ja dataolioiden verkkona siten, että dataoliot ovat työkalujen ottoja ja antoja; informaatio-olio -relaatiosta; :.‘*i 35 Kuvio 12D näyttää täydennetyn esimerkin kuviossa 12A näytetystä 118102 7
Kuvio 13 näyttää esimerkinomaisen käyttöliittymän työvirran hallitsijaa varten;
Kuvio 14 näyttää keksinnön objektipohjaisen toteutuksen;
Kuvio 15 näyttää proseduurin työkalupalvelimen käynnistämiseksi; 5 Kuviot 16A ja 16B näyttävät työkalun määritystiedoston;
Kuvio 16C esittää automaattisesti, työkalun määritystietojen perusteella muodostettua skriptiä;
Kuviot 17A ja 17B näyttävät luokkadiagrammin esimerkinomaista työkalun suoritusympäristöä varten; ja 10 Kuvio 18 näyttää prosessivaiheita työvirran suorittamiseksi.
Keksinnön yksityiskohtainen selostus Tässä dokumentissa ’’objekti" tarkoittaa samaa kuin englanninkielinen termi ’’object” ja "olio” tarkoittaa samaa kuin englanninkielen "entity”.
Kuvio 1 on yksinkertaistettu lohkokaavio informaationhallintajärjestel-15 mästä IMS, jossa keksintöä voidaan käyttää. Tässä esimerkissä IMS on toteutettu asiakas/palvelin -järjestelmänä. Useilla asiakaspäätelaitteilla CT, kuten graafisilla työasemilla, on pääsy palvelimeen (tai palvelinten joukkoon) S verkon NW, kuten lähiverkon tai Internetin kautta. Palvelimeen kuuluu tai siihen on kytketty tietokanta DB. Palvelimen informaationkäsittelylogiikka ja tietokannan data 20 muodostavat IMS:n. Tietokanta muodostuu rakenteesta ja sisällöstä. Keksinnön ·#· \..ς eräs edullinen suoritusmuoto tuo parannuksia IMS:n tietokannan DB rakentee- seen. Palvelin S käsittää myös erilaisia prosessointilogiikoita. Viestilogiikka tar-joaa palvelimen perustoiminnot asiakaspäätelaitteiden kanssa viestintää varten.
·♦· : On myös edullisesti käyttöliittymälogiikka erilaisten käyttöliittymien luomiseksi.
25 Voi olla erilaisia tarkastuksia syötettävän datan merkitsevyyden tarkastamista .*··*, varten (kuten syntaksi- tai aluetarkastuksia). Eräs hyvin hyödyllinen piirre on • · projektihallitsija, jolla on seurantalogiikka, joka tarjoaa datan visuaalisen seu-„ rannan.
” Palvelin (tai palvelinjoukko) S käsittää myös erilaisia dataprosessoin- 30 tityökaluja datan analysointia, visualisointia ja etsimistä (mining) varten, ym.
:*·.· Tallentamalla datajoukot säiliöinä rivi-sarake -organisaatiossa (eikä osoiteta • · .·*·. jokaista data-alkiota erikseen SQL-kyselyillä) saavutetaan se etu, että tällaiset .,· rivien ja sarakkeiden datajoukot voidaan helposti prosessoida kaupallisesti saa- * 9 \ ” tavilla analyysi- tai visualisointityökaluilla. Ennen varsinaisen keksinnön, ts.
35 IMS:n työvirtojen ja ohjelmistotyökalujen hallitsemiseksi, suoritusmuotojen se lostamista, kuvioiden 2 - 11B yhteydessä selostetaan edullisia suoritusmuotoja biokemiallisen datan kuvaamista varten. IMS:n työvirtojen ja ohjelmistotyökalu jen hallitsemiseksi edullisia suoritusmuotoja selostetaan kuvioiden 12A -18 yh teydessä.
8 118102
Datajoukot 5 Kuvio 2 on IMS:n tietokantarakenteen 200 olio-relaatiomalli. Tieto kantarakenne 200 käsittää seuraavat pääosat: perusmuuttujat/yksiköt 204, datajoukot 202, kokeet 208, biomateriaalit 210, polut 212 ja valinnaisesti sijainnit 214.
Datajoukot 202 kuvaavat IMS:ään tallennettuja numeerisia arvoja.
10 Kukin datajoukko koostuu muuttujajoukosta, biomateriaali-informaatiosta ja ajasta. Huomattakoon, että perusmuuttujat/yksiköt -osasta 204 ja aikaosasta 206 on monesta moneen -relaatiot datajoukko-osaan 202. Tämä tarkoittaa, että kukin datajoukko 202 käsittää tyypillisesti yhden tai useamman perusmuuttu-jan/yksikön ja yhden tai useamman aikalausekkeen. Datajoukko-osan 202 ja 15 koeosan 208 välillä on monesta moneen -relaatiot, mikä tarkoittaa, että kukin datajoukko 202 liittyy yhteen tai useampaan kokeeseen 208, ja kukin koe liittyy i yhteen tai useampaan datajoukkoon. Datajoukko-osan edullista toteutusta selostetaan lisää kuvioiden 6A ja 6B yhteydessä.
Perusmuuttujat/yksiköt -osa 204 kuvaa IMS.ssä käytetyt perusmuut- 20 tujat ja yksiköt. Erässä yksinkertaisessa toteutuksessa kukin perusmuuttuja- ·*’*’: tietue käsittää yksikkökentän, mikä tarkoittaa, että kukin perusmuuttuja (esim.
massa) voidaan ilmaista vain yhdessä yksikössä (esim. kilogrammoina). Jousta- :**; vammassa suoritusmuodossa yksiköt tallennetaan erilliseen tauluun, mikä sallii • * * : .·. perusmuuttujien ilmaisemisen useassa yksikössä, kuten kilogrammoina tai nau- 25 loina.
Perusmuuttujat ovat muuttujia, joita voidaan käyttää sellaisinaan, tai “* niitä voidaan yhdistää muodostamaan monimutkaisempia muuttujia, kuten tietyn näytteen konsentraatio tietyllä ajanhetkellä.
Φ m ! Aikaosa 206 tallentaa datajoukkojen 202 aikakomponentit. Datajou- **...·* 30 kon aikakomponentti käsittää edullisesti suhteellisen (sekuntikello-) ajan ja ab- :*·.· soluuttisen (kalenteri-) ajan. Suhteellista aikaa voidaan käyttää esimerkiksi ku- • · .**·. vaarnaan nopeutta, jolla kemiallinen reaktio tapahtuu. On myös päteviä syitä tallentaa absoluuttinen aika kunkin datajoukon yhteydessä. Absoluuttinen aika • · : ** osoittaa koska kalenteriajassa vastaava tapahtuma esiintyi. Tällaista absoluutti- *’.*·: 35 sen ajan informaatiota voidaan käyttää laskemaan suhteellinen aika minkä ta hansa koetapahtumien välillä. Sitä voidaan käyttää myös vianetsintätarkoituk- 118102 9 siin. Jos esimerkiksi havaitaan viallinen instrumentti tiettynä aikana, niin tuolla instrumentilla tehdyt kokeet ennen vian havaitsemista tulisi tarkistaa.
Koeosa 208 tallentaa kaikki IMS:n tuntemat kokeet. On kaksi kokeiden päätyyppiä, joista käytetään yleisesti nimitystä märkälaboratorio ja in-silico.
5 Mutta datajoukkojen 202 suunnasta nähtynä kaikki kokeet näyttävät samoilta.
Koeosa 208 toimii siltana datajoukkojen 202 ja kokeiden kahden päätyypin välillä. Jo suoritettujen kokeiden lisäksi koeosaa 208 voidaan käyttää tallentamaan tulevia kokeita. Kokeiden edullisia objektiperustaisia toteutuksia selostetaan kuvion 9 yhteydessä. Koeosan eräs tärkeä suunnittelutavoite on datan seurat-10 tavuus, kuten kuvion 11 yhteydessä lähemmin selostetaan.
Biomateriaaliosa 210 sisältää tietoa populaatioista, yksilöistä, rea-genteista tai muiden biomateriaalien näytteistä (mitä tahansa, jota voidaan tutkia biologisena järjestelmänä tai sen komponenttina) IMS:ssä. Biomateriaalit kuvataan edullisesti datajoukkoina 202 käyttäen VDLiää kuvaamaan kunkin bio-15 materiaalin hierarkkisesti, eli muuttuvalla detaljitasolla, kuten populaationa, yksi- - lönä, reagenttina ja näytteenä. Eräs edullinen biomateriaaliosan 210 objektipe-rusteinen toteutus selostetaan kuvion 10 yhteydessä. v
Biomateriaaliosa 210 kuvaa reaalimaailman biomateriaaleja, mutta polkuosa 212 kuvaa biomateriaalien teoreettisia malleja. Biokemialliset polut T
20 ovat jossakin määrin analogisia elektronisten piirien piirikaavioiden kanssa. Polut voidaan kuvata IMS:ssä monella tavalla, mutta kuvio 2 esittää erään edulli- *·* sen toteutuksen pääpiirteet. Kuvion 2 esimerkissä kukin polku 212 käsittää yh- den tai useamman yhteyden 216, joista kukin liittyy yhteen tai useampaan bio- kemialliseen olioon 218 ja yhteen interaktioon 222.
: :*: 25 Biokemialliset oliot tallennetaan biokemiallisten olioiden osassa 218.
Kuvion 2 esimerkissä kukin biokemiallinen olio on luokkaobjekti, jonka alaluokat .···. ovat geeni 218-1, transkripti 218-2, proteiini 218-3, makromolekyylikompleksi • · 218-4 ja yhdiste 218-5. Edullisesti on myös optio tallentaa abioottinen heräte 218-6, kuten lämpötila, jolla on potentiaalisia yhteyksiä interaktioihin ja potenti-30 aallsia vaikutuksia relevantteihin kineettisiin lakeihin.
• · *···* Tieto ka ntaviiteosa 220 toimii siltana ulkoisiin tietokantoihin. Kukin tie- • r· tokantaviite osassa 220 on relaatio sisäisen biokemiallisen olion 218 ja ulkoisen tietokannan olion välillä, kuten Affymetrix Inc. -yhtiön spesifinen koetinjoukko.
• · ·
Interaktio-osa 222 sisältää biokemiallisten olioiden välisiä interaktioi- # · :# ” 35 ta, mukaanlukien reaktioita. Kineettisten lakien osa 224 kuvaa (hypoteettisia tai * * · *· " kokeellisesti varmennettuja) kineettisiä lakeja, jotka vaikuttavat interaktioihin.
118102 10
Polkujen edullisia ja yksityiskohtaisempia toteutuksia selostetaan kuvioiden 7A, * 7B ja 8 yhteydessä.
Keksinnön erään edullisen suoritusmuodon mukaisesti IMS tallentaa myös paikkatietoa 214. Paikkatietoon viitataan biomateriaaliosasta 210 ja pol-5 kuosasta 122. Esimerkiksi biomateriaaleihin liittyvän informaation suhteen kuviossa 2 näytetty organisaatio sallii minkä tahansa detaljitason tai tarkkuuden yhtäältä populaation ja toisaalta solun spatiaalisen pisteen (koordinaattien) välillä.
Kuviossa 2 näytetyssä esimerkissä paikkatieto käsittää organismin 214-1 (esimerkiksi ihminen), elimen 214-2 (esim. sydän, mahalaukku), kudoksen 214-3 10 (esim. sileä lihaskudos, hermokudos), solutyypin 214-4 (esim. lieriöepiteelisolu), solun osa 214-5 (eg tuma, solulima) ja avaruuspisteen 214-6 (eg x = 0.25, y = 0.50, z = 0.75 suhteessa suorakulmaisen referenssisolun dimensioihin. Organismi tallennetaan edullisesti taksonomiapuuna, jossa on solmu kullekin tunnetulle organismille. Elin-, kudos-, solutyyppi- ja solun osa -lohkot voidaan toteut-15 taa yksinkertaisina listoina. Tallentamalla paikkatieto viittauksena ennalta määrättyihin listoihin saadaan se etu, että tällainen viittaus pakottaa automaattiseen syntaksintarkastukseen. On siis mahdotonta tallentaa paikkatietoa, joka viittaa väärinkirjoitettuun tai olemattomaan elimeen tai organismiin.
Keksinnön erään toisen edullisen suoritusmuodon mukaisesti paikka-20 tieto voi käsittää myös spatiaalista tietoa 214-6, kuten spatiaalisen pisteen or-ganismi-soluhierarkian kaikkein detaljoiduimmassa paikassa. Jos kaikkein de- ·*· taljoiduin paikka osoittaa spesifistä solua tai solun osaa, niin spatiaalinen piste ...'f* voi edelleen määrittää kyseistä tietoa relatiivisina spatiaalisina koordinaatteina, f ": Solutyypistä riippuen spatiaaliset koordinaatit voivat olla suorakulmaisia tai na- • :\· 25 pakoordinaatteja.
·*» ♦
Eräs tällaisen paikkatiedon etu on parempi ja systemaattinen tapa .···, verrata paikkoja näytteissä ja teoreettisissa rakenteissa, kuten poluissa, jotka on varmennettava relevanteilla mittaustuloksilla.
: *·· Muuttujankuvauskieli
• M
30 Kuviot 3A ja 3B esittävät edullista muuttujankuvauskieltä eli VDL:ää.
Yleisesti ottaen muuttuja on mitä tahansa, jolla on arvo ja joka edustaa biologi- • m .···. sen järjestelmän tilaa (joko tosielämän biomateriaalia tai teoreettista mallia).
* ·
Kun IMS otetaan käyttöön, suunnittelija ei tiedä, minkälaisia biomateriaaleja : '* tullaan kohtaamaan tai minkälaisia kokeita tullaan suorittamaan tai mitä tuloksia • · 35 näistä kokeista tullaan saamaan. Niin ollen muuttujakuvausten on oltava avoimia tuleville laajennuksille. Toisaalta avoimuus ja joustavuus eivät saa johtaa ' 118102 11 anarkiaan, minkä vuoksi tulisi varmistaa, että muuttujakuvauksiin sovelletaan hyvin määriteltyjä sääntöjä. Nämä tarpeet tyydytetään parhaiten laajennettavalla muuttujankuvauskielellä (variable description language, VDL).
Esimerkiksi extendible markup language (XML) on eräs esimerkki 5 laajennettavasta kielestä, jota voitaisiin periaatteessa käyttää kuvaamaan biolo-gisia muuttujia. Tietokoneet tulkitsevat XML-lausekkeita melko helposti. XML-lausekkeet pyrkivät kuitenkin olemaan hyvin pitkiä, minkä vuoksi ihmisten on vaikea lukea niitä. Sen vuoksi tarvitaan laajennettavaa VDL:ää, joka on kom-paktimpi ja ihmisille ja tietokoneille helppolukuisempi kuin XML.
10 Laajennettavan VDL:n idea on, että sallittavat muuttujalausekkeet ovat "vapaita mutta ei kaoottisia”. Tämä idea voidaan esittää formaalimmin sanomalla, että IMS:n tulisi sallia vain ennalta määrättyjä muuttujia, mutta ennalta määrättyjen muuttujien joukon tulisi olla laajennettavissa ilman ohjelmointitaitoja. Esimerkiksi jos muuttujalausekkeille suoritettava syntaksintarkastus on kiin-15 teästi koodattu syntaksintarkastusrutiiniin, jokainen uusi muuttujalauseke vaatii uudelleenohjelmointia. Optimaalinen kompromissi tiukan järjestyksen ja kaaoksen välillä voidaan toteuttaa tallentamalla sallittavat muuttuja-avainsanat tietorakenteeseen, kuten datatauluun tai tiedostoon, joka on muutettavissa ilman r uudelleenohjelmointia. Normaaleja pääsynhallintatekniikoita voidaan käyttää 20 määrittämään, mitkä käyttäjät ovat valtuutettuja lisäämään uusia sallittavia muuttuja-avainsanoja.
• ♦ ·
Kuvio 3A esittää muuttujalauseketta edullisella VDL:llä. Muuttujalau- seke 30 käsittää yhden tai useamman avainsana-nimiparin 31, jotka on erotettu rajoittimilla. Kuten kuvion 3A esimerkissä näytetään, kukin avainsana-nimipari : 25 31 koostuu avainsanasta 32, avaavasta rajoittimesta (kuten avaavasta hakasu- • · * · lusta) 33, (muuttujan) nimestä 34 ja sulkevasta rajoittimesta (kuten sulkevasta .···. hakasulusta) 35. Esimerkiksi “Ts[2002-11-26 18:00:00]” (ilman lainausmerkkejä) on esimerkki aikaleimasta. Jos on useita avainsana-nimipareja 31, niin parit voi- daan erottaa erottimella 36, kuten välilyönnillä tai sopivalla prepositiolla. Erotin :..i* 30 ja toinen avainsana-nimipari 31 on piirretty katkoviivoilla, koska ne ovat valinnai- • · *···* siä. Elementtien 32 - 36 väliset &-merkit osoittavat merkkijonoyhdistämistä. Toi- sin sanoen &-merkit eivät sisälly muuttujankuvaukseen.
* ·
Mitä kielen syntaksiin tulee, niin muuttujankuvaus voi käsittää mieli- • ♦ · ..· valtaisen määrän avainsana-nimipareja 31. Mutta mielivaltainen parien 31 yh- \ 35 distelmä, kuten esimerkiksi ajan konsentraatio, ei ehkä ole semanttisesti miele- « · * *· " käs.
118102 12
Kuvio 3B esittää tyypillisten avainsanojen taulukkoa. Taulukon 38 kunkin merkinnän vieressä on sen selkokielinen kuvaus 38’ ja havainnollistava esimerkki 38”. Huomattakoon, että taulukko 38 on tallennettu IMS:ään, mutta muita taulukoita 38’ ja 38” ei välttämättä ole tallennettu (niiden tarkoitus on vain 5 selventää taulukon 38 kunkin avainsanan merkitystä). Esimerkiksi avainsanan ”T" esimerkki on “T[-2.57E-3]”, joka on yksi tapa ilmaista miinus 2.57 millisekuntia ennen referenssiaikaa. Referenssiaika voidaan osoittaa aikaleiman avainsanalla ”Ts”.
Avainsanat T” ja ”Ts” toteuttavat vastaavasti suhteellisen (sekunti-10 kello-) ajan ja absoluuttisen (kalenteri-) ajan. Ilmaisemalla aika suhteellisen ja absoluuttisen ajan yhdistelmänä tuo sen pienen haitan, että kullakin ajanhetkel-lä on teoriassa ääretön määrä ekvivalenttisia lausekkeita. Esimerkiksi “Ts[2002- i 11-26 18:00:30]” ja “Ts[2002-11-26 18:00:00]T[00:00:30]” ovat ekvivalenttisia.
Niinpä on edullista olla hakulogiikka, joka prosessoi aikalausekkeet mielekkäällä 15 tavalla.
Tallentamalla IMS:n taulukkoon 38 merkintä kutakin sallittavaa avainsanaa kohti on mahdollista pakottaa syötettäville muuttujille automaattinen syn-taksintarkastus, kuten kuviossa 3C näytetään.
Edullisen VDL:n syntaksi voidaan ilmaista formaalisti seuraavalla ta- 20 valla: «muuttujan kuvaus>::=<avainsana>T<nimi>*]*{{erotin}<avainsana>T<nimi>’]”}<loppu> ··· '...· <avainsana>::=<jokin ennalta määrätty avainsana, ks. esim. taulu 38> >4‘·’ <nimi>::=<merkkijono> | “*" = mikä tahansa nimi relevantissa datataulussa
Eksplisiittisten rajoittimien, kuten”[” ja ”]” nimen ympärillä, tarkoitus on • 25 sallia nimessä mikä tahansa merkki, mukaanlukien välilyönnit (muttei tietenkään «·» » rajoittimia).
"··. Eräs edullinen avainsanojen joukko 38 käsittää kolmenlaisia avain- • · sanoja: mitä, missä ja koska. ’’Mitä” avainsanat, kuten muuttuja, yksikkö, bioke- .. miallinen olio, vuorovaikutus, jne., osoittavat mitä havaittiin tai tullaan havaitse- • · 30 maan. "Missä” avainsanat, kuten näyte, populaatio, yksilö, paikka, jne., osoitta- • · *···* vat missä havainto tehtiin tai tullaan tekemään. "Koska” avainsanat, kuten aika tai aikaleima, osoittavat havainnon aikaa.
• · :***; Kuvio 3C esittää valinnaista syntaksintarkastusprosessia. Formaalin ·*·
..· VDL:n eräs etu on, että se sallii automaattisen syntaksintarkastuksen. Kuvio 3C
• · \ " 35 esittää tilakonetta 300 tällaisen syntaksintarkastuksen suorittamiseksi. Tilako- ’· *: neet voidaan toteuttaa tietokonerutiineina. Alkutilasta 302 lähtien pätevä avain- 13 118102 sana aiheuttaa siirtymän ensimmäiseen välitilaan 304. Mikä tahansa muu aiheuttaa siirtymän virhetilaan 312. Ensimmäisestä välitilasta 304 avaava rajoitin aiheuttaa siirtymän toiseen välitilaan 306. Mikä tahansa muu aiheuttaa siirtymän virhetilaan 312. ‘ 5 Avaavan rajoittimen jälkeen nimen osaksi hyväksytään mitä tahansa merkkejä paitsi sulkeva rajoitin, ja tilakone pysyy toisessa välitilassa 306. Vain muuttujalausekkeen ennenaikainen päättyminen aiheuttaa siirtymän virhetilaan 312. Sulkeva rajoitin aiheuttaa siirtymän kolmanteen välitilaan 308, jossa yksi avainsana/nimipari on pätevästi ilmaistu. Pätevä erotinmerkki aiheuttaa paluun 10 ensimmäiseen välitilaan 304. Muuttujalausekkeen lopun ilmaisu aiheuttaa siirtymän "OK" -tilaan 310, jossa muuttujalauseke todetaan syntaksiltaan oikeaksi.
Kuvio 4 näyttää esimerkkejä VDL-kielisistä yhdistetyistä muuttujalau-sekkeista. Yhdistetyt muuttujalausekkeet ovat lausekkeita, joissa on useita avainsana/nimipareja. Huomattakoon, kuinka muuttujien spesifisyys kasvaa kun 15 määreitä lisätään. Viitenumerot 401 - 410 osoittavat viittä ekvivalenttisten lausekkeiden paria siten, että kunkin parin ensimmäinen lauseke on monisanai-sempi ja toinen on kompaktimpi. Tietokoneelle monisanaiset ja kompaktit lausekkeet ovat samanarvoisia, mutta niitä lukevat ihmiset saattavat pitää monisanaista muotoa helpommin ymmärrettävänä. Kuvion 4 lausekkeet ovat itsestään 20 selviä taulukkoon 38 tehtävän viittauksen perusteella. Esimerkiksi lausekkeet 409 ja 410 määrittelevät reaktionopeuden vuorovaikutuksen EC 2.7.7.13-PSA1 ? ··· kautta mooleina litraa ja sekuntia kohti. Viitenumero 414 osoittaa muuttujalau-m/t\‘ seketta “V[*]P[*]0[*]U[*]”, joka tarkoittaa minkä tahansa organismin minkä ta- :***: hansa proteiinin mitä tahansa muuttujaa missä tahansa yksiköissä. Viitenume- • ·*: 25 rot 415 ja 416 osoittavat kahta erilaista muuttujalauseketta kahdelle erilaiselle I·) * ajan ilmaukselle. Muuttujalauseke 415 määrittelee kolmen tunnin aikavälin ja *'·*·. muuttujalauseke 417 määrittelee 10 sekunnin aikavälin (joka alkaa viisi sekuntia * · ennen aikaleimaa ja päättyy viisi sekuntia sen jälkeen).
.. Huomattakoon, että IMS:ää käyttävien ihmisten kielestä riippumatta • · **..!* 30 on edullista sopia yhteisestä kielestä muuttujalausekkeita varten. Vaihtoehto!- • · *·;·* sesti IMS voi käsittää käännösjärjestelmän muuttujalausekkeiden kääntämiseksi ihmisten eri kielille.
• · ·***: Olennaisesti yllä kuvatun kaltainen VDL on hyvin määritelty, koska • · · ./ vain kuviossa 3C näytetyn syntaksintarkastuksen läpäisevät lausekkeet hyväk- *! 35 sytään. VDL on avoin, koska sallitut avainsanat talletetaan taulukkoon 38, joka • * « on laajennettavissa. VDL on kompakti, koska avainsanoja varten käytetään 118102 14 olennaisesti minimimäärä kirjaimia tai merkkejä. Yleisimmät avainsanat koostuvat yhdestä kirjaimesta, tai kahdesta kirjaimesta, mikäli yhden kirjaimen avainsana ei ole yksikäsitteinen.
Datakontekstit 5 Kuvio 5 näyttää, kuinka VDL:ää voidaan käyttää ilmaisemaan erilai sia datakonteksteja eli biologisen tutkimuksen laajuutta (scopes). Kaikki muuttujat, olivatpa ne sitten näytteitettyjä, mitattuja, mallinnettuja, simuloituja tai miten tahansa prosessoituja, voidaan ilmaista: a) yksinkertaisina arvoina biomateriaalinäytteelle jonakin ajan- 10 hetkenä; b) ajan funktiona biomateriaalille; c) stokastisina muuttujina jakaumineen kunakin ajanhetkenä perustuen käytettävissä oleviin biomateriaalinäytteisiin; tai d) stokastisina prosesseina biologisessa datakontekstissa.
15 a), b) ja c) ovat d:n projektioita, joka on järjestelmän rikkain esitys.
Kaikki IMS:ssä oleva data on kolmeulotteisessa kontekstiavaruudessa, jolla on relaatiot: 1. muuttujalistoihin ("mitä”); 2. biomateriaalin listoihin ("missä”) ja 20 3. aikapisteiden tai -intervallien listoihin ("milloin”).
Viitenumero 500 osoittaa yleisesti N + 2 -ulotteista kontekstiavaruut- " ^ y ta, jossa on yksi akseli kullekin muuttujalle (N), biomateriaaleille ja ajalle. Eräs .*··; hyvin yksityiskohtainen muuttujalauseke 510 spesifioi muuttujan (mannoosin * · · : ;\ konsentraatio mooleina litrassa), biomateriaalin (populaatio abcd 1234) ja aika- 25 leiman (10.6.2003 klo 12:30). Muuttujan arvo on 1,3 mol/l. Koska muuttujalau- seke 510 spesifioi kontekstiavaruuden kaikki koordinaatit, se esitetään pisteenä '**·* 511 kontekstiavaruudessa 500.
Seuraava muuttujalauseke 520 on vähemmän detaljoitu sikäli, että ·* ** se ei spesifioi aikaa. Siksi muuttujalauseke 520 esitetään ajan funktiona 521 * · · 30 kontekstiavaruudessa 500.
Kolmas muuttujalauseke 530 spesifioi ajan, mutta ei biomateriaalia.
.···. Sen vuoksi se esitetään kaikkien niiden biomateriaalien jakaumana 531, jotka kuuluvat kokeeseen spesifioituna aikana.
* · • ** Neljäs muuttujalauseke 540 ei spesifioi aikaa eikä biomateriaalia. Se • · *.*·: 35 esitetään ajan funktioiden joukkona 541 ja eri biomateriaalien jakaumien jouk kona 542.
118102 15
Muuttujankuvauskielen mahdollistamien erilaisten lausekkeiden ja sopivasti järjestettyjen (seuraavaksi selostettavien) datajoukkojen ansiosta tutkijoilla on käytännöllisesti katsoen rajattomat mahdollisuudet tutkia biologisen järjestelmän aika-tila -avaruutta moniulotteisena stokastisena prosessina. Jär-5 jestelmän probabilistiset aspektit perustuvat relevanttien biomateriaalien tapahtuma-avaruuteen, ja dynaamiset aspektit perustuvat aika-avaruuteen. Biomate-riaalidata ja aika voidaan rekisteröidä, kun relevantit kokeet dokumentoidaan.
Kaikki kvantitatiiviset mittaukset, data-analyysit, mallit ja simulointitulokset voidaan käyttää uudelleen uusissa analyysitekniikoissa relevantin tausta-10 informaation, kuten mitattujen biomateriaalien fenotyyppien, löytämiseksi, kun ' dataa tulee tulkita eri sovelluksiin.
Datajoukot
Kuviot 6A ja 6B esittävät keksinnön edullisen suoritusmuodon mukaisia datajoukkoja. Sekä märkälaboratorio- että in-silico -tyyppiset kokeet tallen-15 netaan datajoukkoina. Kuviossa 6A esimerkinomainen datajoukko 610 kuvaa mRNA-molekyylien joukon 610 (on näytetty mRNA1 - mRNA6) ilmentymistaso-ja. Datajoukko 610 on yksi esimerkki kuviossa 2 näytettyyn datajoukko-osioon 202 tallennetusta datajoukosta. Datajoukko 610 käsittää neljä matriisia 611 -614. Muuttuja-arvomatriisi 614 kuvaa muuttujien arvot rivi-sarake -organisaati-20 ossa. Rivienkuvauslista 613 määrittää muuttuja-arvomatriisin rivien merkityk-sen. Sarakkeidenkuvauslista 612 määrittää muuttuja-arvomatriisin sarakkeiden >φ4*|· merkityksen. Lopuksi, kiinteiden dimensioiden kuvaus 611 määrittää yhden tai ·*'*: useamman kiinteän dimension, jotka ovat yhteisiä muuttuja-arvomatriisin 614 • · · : kaikille arvoille. Huomattakoon, että muuttuja-arvomatriisi 614 koostuu skalaari- 25 numeroista. Muut matriisit 610 - 613 käyttävät VDL:ää sisältönsä merkityksen spesifioimiseen.
• ·
Kuvio 6A näyttää myös ihmisille luettavan version 615 datajoukosta „ 610. Huomattakoon, että datajoukon ihmisille luettava versio 615 on näytetty • · vain tämän suoritusmuodon parempaa ymmärtämistä varten. Ihmisille luettavaa 30 versiota 615 ei välttämättä tallenneta mihinkään, ja se voidaan luoda datajou- :*·.· kosta 610 automaattisesti, koska tahansa kun tarve tähän esiintyy. Ihmisille lu- • · .***. ettava versio 615 on esimerkki datajoukoista, kuten taulukkolaskennan tiedos- ..· toista, joita tyypillisesti tallennetaan tunnetuissa IMS:issä biologista tutkimusta » · :f " varten. IMS käsittää edullisesti käyttöliittymälogiikan automaattista kaksisuun- 35 täistä muunnosta varten tallennusformaatin 611 - 614 ja ihmisille luettavan version 615 välillä.
118102 16 *
Kuvio 6B esittää toista datajoukkoa 620. Datajoukko 620 spesifioi myös kuuden mRNA-molekyylin ilmentymistasoja, mutta nämä eivät ole kuuden eri yksilön ilmentymistasoja vaan yhden populaation ilmentymistasoja neljänä eri aikana. Datajoukossa 620 kiinteiden dimensioiden kuvaus 621 spesifioi, että 5 data liittyy tietyn hiivan näytteeseen xyz tiettynä päivänä ja aikana. Sarakkei-denkuvausiista 622 spesifioi, että sarakkeet spesifioivat dataa neljälle ajanhet-kelle, nimittäin 0, 30, 60 ja 120 sekuntia kiinteiden dimensioiden kuvauksen 621 aikaleiman jälkeen. Rivienkuvauslista 623 on hyvin samanlainen kuin edellisen esimerkin vastaava lista 613, ja ainoa ero on, että viimeinen rivi osoittaa lämpö-10 tilaa eikä potilaan ikää. Muuttuja-arvomatriisi 624 sisältää todelliset numeroarvot.
Kunkin datajoukon (esimerkiksi datajoukon 610) jakaminen neljään eri komponenttiin (matriisit 611 - 614) voidaan toteuttaa siten, että kukin matriisi { 611 - 614 on erikseen osoitettava datarakenne, kuten tiedosto tietokoneen tie-15 dostojärjestelmässä. Vaihtoehtoisesti muuttuja-arvomatriisi voidaan tallentaa yhtenä osoitettavana datarakenteena, kun taas muut kolme matriisia (kiinteiden dimensioiden kuvaus ja rivi/sarakekuvaukset) voidaan tallentaa toisena datara- „ kenteena, kuten yhtenä tiedostona, jossa on otsakkeet "yhteiset”, "rivit” ja "sarakkeet”. Eräs avainelementti tässä on se, että muuttuja-arvomatriisi talletetaan 20 erillisenä datarakenteena, koska se on datajoukon todellisia numeroarvoja sisältävä komponentti. Jos numeroarvot tallennetaan erikseen osoitettavaan datara- • · · kenteeseen, kuten tiedostoon tai taulukkoon, se voidaan helposti prosessoida erilaisilla datanprosessointisovelluksilla, kuten tiedonrikastuksella (data mining) tai vastaavilla. Toinen etu on, että eri matriiseja muodostavia erillisiä dataele- : ;‘j 25 menttejä ei tarvitse prosessoida SQL-kyselyillä. SQL-kysely noutaa vain data- • ·* · joukon osoitteen tai muun tunnisteen mutta ei erillisiä dataelementtejä, kuten • · · * .··*. matriiseissa 611 - 614 olevia numeroita ja kuvauksia.
• * *
Polut ··
Kuvio 7A on IMS:ään tallennetun polun (pathway) lohkokaavio. Kek-30 sinnön mukainen IMS tallentaa kunkin biologisen järjestelmän strukturoituna polkumallina 700 järjestelmän komponenteista ja komponenttien välisistä yhte- • < .···. yksistä (connections). Järjestelmän komponentteja ovat biokemialliset oliot 218 #*** ja vuorovaikutukset 222. Biokemiallisten olioiden 218 ja vuorovaikutusten 222 • “ väliset yhteydet 216 tunnistetaan itsenäisiksi objekteiksi, jotka edustavat kunkin # · :.‘*i 35 biokemiallisen olion roolia (esimerkiksi substraatti, tuote, aktivaattori tai inhibiit tori) kunkin polun kussakin vuorovaikutuksessa. Yhteys voi sisältää attribuutte- 118102 17 ja, jotka ovat spesifisiä kullekin biokemialliselle oliolle ja vuorovaikutusparille (kuten stökiömetrinen kerroin). Kuten aiemmin todettiin, IMS tallentaa edullisesti paikkatietoa, ja kukin polku 212 liittyy bioloogiseen paikkaan 214. Yksi biologinen paikka voidaan kuvata yhdellä tai useammalla polulla riippuen polkuun si-5 säilytettyjen detaljien tasosta.
-> i
Objektipohjaisessa toteutuksessa biokemiallinen polkumalli perustuu kolmeen objektikategoriaan: biokemialliset oliot (molekyylit) 218, vuorovaikutukset (kemialliset reaktiot, transkriptio, translaatio, kokoonpano, hajottaminen, translokaatio, jne.) 222 sekä polun biokemiallisten olioiden ja vuorovaikutusten 10 väliset yhteydet 216. Ajatuksena on erottaa nämä kolme objektia niiden käyttämiseksi omine attribuutteineen ja käyttää yhteyttä sisältämään kunkin biokemiallisen olion rooli (kuten substraatti, tuote, aktivaattori tai inhibiittori) ja stökiö-metriset kertoimet kussakin vuorovaikutuksessa, joka tapahtuu tietyssä biokemiallisessa verkossa. Tämän lähestymistavan etuna on eksplisiittisen mallin sel-15 keys ja helppo synkronointi, kun useat käyttäjät modifioivat samaa polkua yhteys kerrallaan. Käyttöliittymälogiikka voidaan suunnitella tarjoamaan polkujen helposti ymmärrettäviä visualisointeja, kuten kuvion 8 yhteydessä tullaan esittämään.
Kineettisten lakien osio 224 kuvaa vuorovaikutuksiin vaikuttavat teo-20 reettiset tai kokeelliset kineettiset lait. Esimerkiksi vuo substraatista kemialliseen reaktioon voidaan ilmaista seuraavalla kaavalla: ··· V max-[S] [E] k+[s] ···'.> missä Von substraatin virtausnopeus, Vmaxja Anovat vakioita, [5] on • · * alustan konsentraatio ja [£] on entsyymin konsentraatio. Reaktionopeus vuoro- t/l· 25 vaikutuksen läpi voidaan laskea jakamalla vuo substraatin stökiömetrisellä ker-toimella.
• · «
Biokemiallinen verkko ei välttämättä päde kaikkialla. Toisin sanoen j·.^ verkko on tyypillisesti paikkasidonnainen. Sen vuoksi polkujen 212 ja biologi- !···. sesti relevanttien diskreettien paikkojen välillä on relaatioita, kuten kuvioissa 1 • * 30 ja 7A näytetään.
• ·
Monimutkainen polku voi sisältää muita polkuja 700. Eri polkujen 700 • · » yhdistämiseksi malli tukee polkuyhteyksiä 702, joista kullakin on viisi relaatiota, jotka selostetaan kuvion 7B yhteydessä.
[·. : Kuvio 7B näyttää esimerkin monimutkaisesta polusta, joka sisältää * · · 35 yksinkertaisempia polkuja. Kaksi tai useampia polkuja voidaan yhdistää, jos 118102 18 niillä on yhteisiä biokemiallisia olioita, jotka voivat siirtyä sellaisinaan relevanttien paikkojen tai yhteisten vuorovaikutusten välillä (esimerkiksi translokaatio-tyyppinen vuorovaikutus, joka siirtää biokemiallisia olioita paikasta toiseen).
Muussa tapauksessa polkuja pidetään erillisinä.
5 Viitenumeron 711 osoittama polku A on pääpolku poluille B ja C, joita osoitetaan vastaavasti viitenumeroilla 712 ja 713. Polut 711 - 713 ovat periaatteessa samanlaisia kuin yllä selostettu polku 700. Kaksi polkuyhteyttä 720 ja 730 kytkevät polut B ja C, 712 ja 713, pääpolkuun A, 711. Esimerkiksi polkuyhteydellä 720 on pääpolkurelaatio 721 polkuun A, 711; ’’polusta” relaatio 722 polio kuun B, 712; ja ’’polkuun" relaatio 723 polkuun C, 713. Lisäksi sillä on "yhteinen olio” -relaatiot 724, 725 polkuihin B, 712 ja C, 713. Selväkielellä "yhteinen olio” -relaatiot 724, 725 tarkoittavat, että polut B ja C jakavat relaatioiden 724 ja 725 osoittaman biologisen olion.
Toisella polkuyhteydellä 730 on sekä "pääpolku” että "polusta” -relaa-15 tiot polkuun A, 711 ja ’’polkuun” -relaatio polkuun C, 713. Lisäksi sillä on "yhteinen vuorovaikutus”-relaatiot 734, 735 polkuihin B, 712 ja C, 713. Tämä tarkoittaa, että polut B ja C jakavat relaatioiden 734 relaatioiden 734 ja 735 osoitta- > man vuorovaikutuksen. .
Yllä selostettu polkumalli tukee epätäydellisiä malleja, jotka voidaan 20 rakentaa vaiheittain tietämyksen lisääntyessä. Tutkijat voivat valita detaljitason tarpeen vaatiessa. Jotkut polut voidaan kuvata suhteellisen karkealla tavalla.
*··
Muut polut voidaan kuvata aina kineettisiin lakeihin ja/tai spatiaalisiin koordi- « naatteihin asti. Malli tukee myös epätäydellistä informaatiota olemassa olevista sekvenssitietokannoista. Esimerkiksi jotkut polkukuvaukset voivat selostaa gee- : 25 nin transkription ja translaation erikseen, kun taas muut käsittelevät niitä yhtenä ·:* yhdistettynä vuorovaikutuksena. Kutakin aminohappoa voidaan käsitellä erik- *··· .···. seen, tai kaikki aminohapot voidaan yhdistää yhteen olioon nimeltä aminohapot.
Polkumalli tukee myös automaattisia mallinnusprosesseja. Solmuyh- .. tälöitä voidaan muodostaa automaattisesti kunkin biokemiallisen olion aikaderi- • · **...*' 30 vaateille, kun relevantit kineettiset lait ovat käytettävissä kullekin vuorovaikutuk- • · **;*’ selle. Erityistapauksessa stökiömetrisiä taseyhtälöitä voidaan muodostaa auto- maattisesti vuotaseanalyysejä varten. Polkumalli tukee myös automaattisia :***: päästä-päähän -työvirtoja, mukaanlukien mittausdatan erottaminen mallintamal- • · · ./ la, ylimääräisten rajoitteiden mukaanottoja yhtälöryhmien ratkaisu, aina erilai- " 35 siin data-analyyseihin ja potentiaalisiin automaattisiin merkintöihin asti.
• · · « «· · : 19 ^ 18102
V
Automaattinen polkumallinnus voi perustua polun topologiatietoihin, muuttujanimien kuvaamiseen käytettäviin VDL-lausekkeisiin, sovellettaviin ki- f neettisiin lakeihin (kuten stökiömetrisiin kertoimiin) ja matemaattisiin tai loogisiin operaattoreihin ja funktioihin. Parametrit, joita ei tunneta tarkasti, voidaan esti-5 moida tai päätellä mittausdatasta. Oletusyksiköitä voidaan käyttää yksinkertaistamaan muuttujankuvauskielisiä lausekkeita. Esimerkiksi: dV[concentration]C[mannose]/dV[time] = V[flux]C[mannose]l[EC 2.7.7.13_PSA1] +...
- V[flux]C[mannose]l[ EC... ]-...
10 dV[concentration ]C[water]/dV[time] = V[flux]C[water]l[EC... ] + ...
- V[flux]Ciwater]l[ EC... ]-...
Tässä yhtälössä biokemialliset oliospesifiset vuot voidaan korvata reaktionopeuksilla, jotka on kerrottu stökiömetrisillä kertoimilla. Tässä esimerkissä stökiömetriset kertoimet ovat ykkösiä, esimerkiksi: 15 Yhtälöt voidaan kirjoittaa seuraavasti; dVfconcentration ]C[mannose]/dV[time] = 1*V[reaction rate]l[EC 2.7.7.13_PSA1] +...
- 1*V[rection rate]l[EC... ]-...
dV[concentration ]C[water]/dV[time] = 1 *V(reaction ratejl[EC... ] +,,, 20 - 1*V[reaction rate]l[ EC... ]-...
Staattisessa tapauksessa derivaatat ovat nollia. Tämä johtaa vuo- • * tasemalliin:
• M
0 = 1*V[reaction rate]l[EC 2.7.7.13_PSA1] +...
]···* 1*V[rection rate]l[ EC... ]-...
: 25 ...
0 = 1 *V[reaction rate]l[EC... ] + ..., - Γ V[reaction rate]l[EC ... ]-...
Käyttäjä voi tuottaa omat tavoitefunktionsa ja ylimääräiset reunaeh- i ·*·.. tonsa tai mittaustuloksensa, jotka rajoittavat mahdollisten ratkaisujen joukkoa.
.···. 30 Vielä eräs edullinen piirre on kyky mallintaa kohinaa vuotaseanalyy- .·*. sissä. Voimme lisätä keinotekoisia kohinamuuttujia, jotka tulee minimoida tavoi- • · « . . > ^ tefunktiossa. Tämä helpottaa epätarkkojen mittausten hyväksymistä kohtuullisin tuloksin.
• \# Malli tukee myös visuaalisten polkuratkaisujen (aktiivisten reunaehto- : 35 jen) visualisointia. Yleinen tapaus johtaa tavallisten differentiaaliyhtälöiden (or- Ψ *m dinary differential equations, ODE) malliin, jossa tarvitaan kineettisiä lakeja. Nii- 118102 20 tä voidaan kerätä tietokantaan, mutta voi olla joitakin oletuslakeja, joita käytetään tarvittaessa. Yleisissä yhtälöissä vuorovaikutuskohtaiset reaktionopeudet korvataan kineettisillä laeilla, kuten Michaels-Menten -laeilla, jotka sisältävät entsyymien ja substraattien konsentraatioita. Esimerkiksi: 5 V[reaction rate]l[EC 2.7.7.13_PSA1] = 5.2*V(concentration]PpSA1]*V[concentration]C[...]/(3.4 +V[concentratk)n)C[...])
Yhtälöt voidaan muuntaa muotoon: dV[concentration ]C[mannose]/dV[time] = 5.2*V[concentration]P[PSA1]*V[concentration]C[...] / (3.4 + V[concentration]C[...]) +...
-7.9*V[concentration]P[... ]*V[concentration]C[...]/(...) 10 ...
dV[concentration ]C[water]/dV[time] = 10.0*V[concentration] P[...]*V[concentration]C[...] /(...) +...
- 8.6*V[concentration ]P[...]*V[concentration]C[..
On vaihtoehtoisia toteutuksia. Esimerkiksi yllä tehdyn sijoituksen asemasta voidaan laskea kineettiset lait erikseen ja sijoittaa numeroarvot spesi-15 fisiin reaktionopeuksiin iteratiivisesti.
Tällaisen rakenteellisen polkumallin etuna on, että hierarkkisia polkuja voidaan tulkita tietokoneilla. Esimerkiksi käyttöliittymälogiikka voi kyetä tuottamaan hierarkkisten polkujen helposti ymmärrettäviä visualisointeja, kuten kuvion 8 yhteydessä näytetään.
20 Kuvio 8 näyttää polun visualisoitua muotoa, jota yleisesti osoitetaan ·***· viitenumerolla 800. Käyttöliittymälogiikka piirtää visualisoidun polun 800 kuviois- • *t sa 1 ja 7A näytettyjen elementtien 212 - 224 perusteella. Ympyrät 810 esittävät “*·. biokemiallisia olioita. Laatikot 820 esittävät vuorovaikutuksia ja reunat 830 esit- • · tävät yhteyksiä. Yhtenäiset nuolet 840 biokemiallisesta oliosta vuorovaikutuk- • · * **'.* 25 seen esittävät substraattiyhteyksiä, missä vuorovaikutus kuluttaa biokemiallista • · * •••| oliota. Yhtenäiset nuolet 850 vuorovaikutuksesta biokemialliseen olioon esittä- • · *·*·* vät tuotosyhteyttä, missä vuorovaikutus tuottaa biokemiallista oliota. Katkovii voin esitetyt nuolet 860 esittävät aktivaatioita, missä biokemiallista oliota ei kulu- • · : *·· teta eikä tuoteta, mutta se tekee vuorovaikutuksen mahdolliseksi tai kiihdyttää 30 sitä. Katkoviivat 870, joilla on poikittaisviivapäät, esittävät inhibitiota, missä bio- .·* : kemiallista oliota ei kuluteta eikä tuoteta, mutta se estää vuorovaikutuksen tai • * · hidastaa sitä. Nollasta poikkeavat stökiömetriset kertoimet assosioidaan sub- T straatti- tai tuotosyhteyksiin 840, 850. Säätöyhteyksissä (esim. aktivaatio 860 tai • · : *·· inhibitio 870) stökiömetriset kertoimet ovat nollia.
35 Lisäksi biokemiallisten olioiden mitattuja tai säädettyjä muuttujia voi daan visualisoida ja paikantaa. Esimerkiksi viitenumero 881 osoittaa biokemial- i 118102 21 * ' lisen olion konsentraatiota, viitenumero 882 osoittaa vuorovaikutuksen reaktio-nopeutta ja viitenumero 883 osoittaa yhteyden virtausta (flux).
Yhteyksien tarkat roolit, vuorovaikutuksiin assosioidut kineettiset lait ja kunkin polun biologisesti relevantti paikka tuovat parannuksia tunnettuihin 5 polkumalleihin nähden, esimerkiksi kuvioissa 7A - 8 näytetty malli tukee kuvauksia vaihtelevilla detaljitasoilla vaihtelemalla elementtien määrää. Lisäksi malli tukee eksplisiittisten kineettisten lakien sisällyttämistä, mikäli niitä tunnetaan.
Tämä tekniikka tukee myös mittaustulosten graafista esittämistä näytetyillä poluilla. Mitatut muuttujat voidaan korreloida graafisen polkuesityksen 10 detaljeihin objektien nimien perusteella.
Huomattakoon, että viitenumeroilla 200 ja 700 (kuvioissa 2 ja 7A) näytetty tietokantastruktuuri tarjoaa välineet tallentaa biologisen polun topologiaa mutta ei sen visualisointia 800. Visualisointi voidaan generoida topologiasta ja tallentaa myöhemmin, seuraavalla tavalla. Visualisoinnin 800 elementin ja 15 keskinäiset yhteydet perustuvat suoraan tallennettuihin polkuihin 700. Näytettyjen elementtien paikat voidaan aluksi valita ohjelmistorutiinilla, joka optimoi jonkin ennalta määrätyn kriteerin, kuten toistensa ylittävien yhteyksien määrän.
Tällaisia tekniikoita tunnetaan piirilevyjen suunnittelusta. IMS voi tarjota käyttäjälle graafisia työkaluja visualisoinnin siistimiseksi käsin. Kunkin elementin sijoi-20 tus käsin editoidussa versiossa voidaan sitten tallentaa erilliseen datarakenteeseen, kuten tiedostoon.
··· • · »··
Kokeet « :***; IMS käsittää edullisesti kokeiden projektinhallinnan. Projekti käsittää • · » : .·. yhden tai useamman kokeen, kuten näytteenoton, käsittelyn, ohjauksen (per- 25 turbation), ruokkimisen, viljelyn, manipuloinnin, puhdistamisen, kloonaamisen tai muunlaisen yhdistämisen, erottamisen, mittauksen, luokittamisen, dokumen-toinnin tai in-silico -työvirran.
.. Kokeiden projektinhallinnan etuna on, että kaikki mittaustulokset tai kontrolloidut olosuhteet tai ohjaukset (’’mitä”), biomateriaalit ja paikat niissä 30 (’’missä”), sekä relevanttien kokeiden ajoitus (’’koska”) ja menetelmät (’’kuinka”) voidaan rekisteröidä koedatan tulkitsemista varten. Toinen etu tulee mahdolli-• · . > .·**. suudesta hyödyntää muuttujankuvauskieltä koedatan tallentamisessa, kuten aiemmin selostettiin.
• * j : *· Kuvio 9 esittää koe-oliota IMS:n koeosiossa. Kukin IMS:ään tallen- • · ·.*·: 35 nettu projekti 902 käsittää yhden tai useamman kokeen 904. Kullakin kokeella 904 on relaatiot laitteistodataan 906, käyttäjädataan 908 ja metodidataan 910.
118102 ' 22
Kukin metodiolio 910 liittyy koeottoon 914 ja koeantoon 920. Koeotto 914 kytkee relevantin oton, kuten biomateriaalin 916 (esimerkiksi populaation, yksilön, reagentin tai näytteen) tai dataolion 918 (esimerkiksi kontrolloidut olosuhteet) kokeeseen yhdessä relevantin aikainformaation kanssa.
5 Kokeen anto 920 kytkee relevantin annon, kuten biomateriaalin 922 (esimerkiksi populaation, yksilön, reagentin tai näytteen) tai dataolion 924 (esimerkiksi mittaustulokset, dokumentit, luokitustulokset tai muut tulokset) kokeeseen yhdessä relevantin aikainformaation kanssa. Esimerkiksi jos otto käsittää biomateriaalin spesifisen näytteen, koe voi tuottaa erinumeroisen näytteen sa-10 masta organismista. Lisäksi koeotto 920 voi käsittää tuloksia erilaisten dataoli-oiden muodossa (kuten kuvioissa 6A ja 6B näytetyt datajoukot tai dokumentit tai taulukkolaskentatiedostot). Koeanto 920 voi käsittää myös fenotyyppiluokittelun ja/tai genotyyppiluokittelun dataolioissa.
Kokeella on myös kohde 930, joka on tyypillisesti biomateriaali 932 15 (esimerkiksi populaatio, yksilö, reagentti tai näyte), mutta in-silico -kokeiden kohde voi olla dataolio 934.
Menetelmäoliolla 910 on relaatio menetelmäkuvaukseen 912, joka kuvaa menetelmän. Menetelmäkuvauksen 912 vieressä oleva silmukka tarkoittaa, että yksi menetelmäkuvaus voi viitata toisiin menetelmäkuvauksiin.
20 Kokeen otto 914 ja kokeen anto 920 ovat joko spesifisiä biomateriaa leja 916, 922 tai dataolioita 918, 924, jotka ovat samoja dataelementtejä kuin vastaavat elementit kuviossa 2. Jos koe on märkälaboratoriokoe, otto- ja anto-biomateriaalit 916, 922 ovat kuvion 2 biomateriaalin 210 kaksi (samaa tai eri) j instanssia. Ne voivat esimerkiksi olla kaksi spesifistä näytettä 210-4.
: 25 Koska biokemiallinen informaatio (viitenumero 200 kuviossa 2) ja *·· t *·· projektin informaatio kuvataan yhteisillä dataolioilla, projektihallitsija pystyy seu- 0 · · · .**·. raamaan kunkin informaatioelementin historiaa. Se pystyy myös monitoroimaan tuottavuutta lisättynä informaatiomääränä resurssia (kuten henkilövuotta) kohti.
Koeprojektinhallitsija käsittää edullisesti projektieditorin, jolla on käyt-30 töliittymä, joka tukee projektinhallinnan toiminnallisuutta projektin aktiviteettejä • · ***** varten. Tämä antaa lisäksi kaikki ne normaalin projektinhallinnan edut, jotka ovat hyödyksi myös järjestelmäbiologian projekteissa.
:***: Projektieditorin edullinen toteutus pystyy seuraamaan kaikkia bioma- ./ teriaaleja, niiden näytteitä ja kaikkea dataa eri kokeiden kautta, mukaanlukien 35 märkälaboratorio-operaatiot ja in-silico-datankäsittelyn.
• · · • ♦· ♦ · 118102 23
Koeprojekti voidaan esittää verkkona, joka koostuu koeaktiviteeteis- ta, kohdebiomateriaaleista ja otto- tai antotuotoksista, jotka ovat biomateriaaleja tai dataoiioita.
Monimutkaisuuden suhteen kuvio 9 on pahimman tapauksen kaavio.
5 Harvat, jos mitkään tosielämän kokeet käsittävät kaikki kuviossa 9 näytetyt elementit. Esimerkiksi jos koe on lääketieteellinen tai biologinen käsittely, niin ottoja anto-osiot 914, 920 osoittavat tyypillisesti tietyn potilaan tai biologisen näytteen. Valinnainen tilaelementti voi kuvata potilaan tai näytteen tilan ennen käsittelyä. Anto-osa on käsitelty potilas tai näyte.
10 Näytteenoton tapauksessa otto-osa osoittaa biomateriaalin, johon näytteenotto kohdistuu, ja anto-osa osoittaa spesifisen näytteen. Näytteen manipuloinnin tapauksessa otto-osa osoittaa manipuloitavan näytteen, ja anto-osa osoittaa manipuloidun näytteen. Kombinaatiokokeessa otto-osa osoittaa useita kombinoitavia näytteitä ja anto-osa osoittaa kombinoidun, identifioidun näytteen.
15 Kääntäen, separaatiokokeessa otto-osa osoittaa separoitavan näytteen ja anto-osa osoittaa useita separoituja, identifioituja näytteitä. Mittauskokeessa otto-osa osoittaa mitattavan näytteen, ja anto-osa on dataolio, joka sisältää mittaustulokset. Luokituskokeessa otto-osa osoittaa luokitettavan näytteen, ja anto-osa osoittaa fenotyypin ja/tai genotyypin. Viljelykokeessa otto- ja anto-osat osoitta-20 vat spesifisiä populaatioita, ja laiteosa voi käsittää viljelyastioiden tunnisteet.
Monimutkaisten kokeiden kuvaamiseksi voi olla koesidontoja (bin- ders, ei näytetty erikseen), jotka yhdistävät useita kokeita tavalla, joka on jossa- kin määrin analoginen tapaan, jolla polkuyhteydet 700, 720, 730 yhdistävät eri C: polkuja.
• · ···' .... • * · "V 25 Biomateriaalikuvaukset • · ·
Kuvio 10 näyttää esimerkin IMS:n biomateriaaliosion objektipohjai- • · sesta toteutuksesta. Tulee huomata, että tämä on vain yksi esimerkki, ja monet .. biomateriaalit voidaan kuvata riittävästi ilman kaikkia kuviossa 10 näytettyjä « :m” elementtejä. Biomateriaaliosio 210 alaeiementteineen 210-1 ... 210-4 ja paik- 30 kaosio 214 alaeiementteineen 214-1 ... 214-5 on lyhyesti selostettu kuvion 2 :*·.· yhteydessä. Kuvio 10 näyttää, että biomateriaalilla 210 voi olla monesta mo- • * .·**. neen -relaatio tilaelementtiin 1002, fenotyyppielementtiin 1004 ja dataolioele- menttiin 1006. Valinnaista organismisidontaa 1008 voidaan käyttää yhdistä- • · lm mään (sekoittamaan) eri organismeja. Esimerkiksi organismisidonta 1008 voi \’·: 35 osoittaa, että tietty populaatio käsittää x prosenttia organismia 1 ja y prosenttia organismia 2.
118102 24
Organismielementin 214-1 alapuolinen silmukka 1010 tarkoittaa, että organismi kuvataan edullisesti taksonomisena kuvauksena. Kuvion 10 alapuoli näyttää kaksi esimerkkiä tällaisesta taksonomisesta kuvauksesta. Esimerkki ? 1010A on kolibakteerin erään spesifisen näytteen taksonominen kuvaus. Esi-5 merkki 101 OB on valkoapilan taksonominen kuvaus.
Kuvioiden 3A - 3C yhteydessä selostettua muuttujankuvauskieltä voidaan käyttää kuvaamaan tällaisiin biomateriaaleihin ja/tai niiden paikkoihin liittyviä muuttujia. Esimerkki: V[concentration]P[P53]U[mol/l]ld[Patient X]L[human cytoplasm]=0.01.
10 Eräs tällaisen paikkatiedon etu on parannettu ja systemaattinen tapa verrata paikkoja näytteissä ja teoreettisissa rakenteissa, kuten poluissa, jotka joudutaan varmentamaan relevanteilla mittaustuloksilla.
Toinen etu, joka saavutetaan tallentamalla biomateriaaliosio olennaisesti kuviossa 10 näytetyllä tavalla, liittyy datan visualisointiin. Esimerkiksi bio-15 materiaalit voidaan korvata niiden fenotyypeillä. Eräs esimerkki tällaisesta korvaamisesta on, että tietyt yksilöt luokitellaan ’’allergisiksi”, mikä on ihmisille paljon havainnollisempi kuin pelkkä tunniste.
Datan seurattavuus
Kuviot 11A ja 11B osoittavat datan seurattavuutta kahden esimerkin .···. 20 valossa. Kuvio 11A esittää näytteenottotapahtumaa. Kaikki näytteet saadaan *!:. tietystä yksilöstä A, jota osoitetaan viitenumerolla 1102. Viitenumero 1104 osoit- « taa yleisesti neljää nuolta, joista kukin osoittaa näytteenottoa tietyllä hetkellä. ! !**;' Esimerkiksi hetkellä 5 saadaan näyte 4, kuten viitenumero 1106 osoittaa. Kuvi- « · · :··/ oiden 3A - 4 yhteydessä käytettyä muuttujankuvauskieltä käyttäen näyte 4 het- 25 kellä 5 voidaan ilmaista lausekkeella Sa[4]T[5J. Lauseke Sa[4]T[5] = ld[A]T[5] tarkoittaa, että näyte 4 saatiin yksilöstä A hetkellä 5.
Hetkellä 12 näytteestä 4 otetaan kaksi muuta näytettä. Kuten nuoli j\. 1108 osoittaa, näyte 25 otetaan näytteestä 4 erottamalla tumat. Viitenumero :]**: 1112 osoittaa näytteen 25 havaintoa (mittausta), nimittäin proteiinin P53 kon- / . 30 sentraatiota, jonka tässä esimerkissä näytetään olevan 4,95.
Kuvio 11B esittää datan seurattavuutta tapahtumaketjussa, jossa to- ♦ · ’···* teutetaan ohjaus annostelemalla yksilölle B 1150 tiettyä yhdistettä. Kuten viite- numerot 1152 - 1158 osoittavat, 10 gramman annos yhdistettä abcd annetaan näytteelle 40 hetkellä 1, ja tuo näyte annetaan yksilölle B hetkellä 6. Viitenume- ’ •i ! ' ί 118102 t 25 ro 1160 osoittaa mannoosin annostelua yksilölle B hetkellä 5. Kuvion 11B alapuoli on analoginen kuvion 11A kanssa, ja erillinen selostus jää pois.
Näyttämällä sellaisia kuvia, joita sisältyy kuvioihin 11A ja 11B, autetaan käyttäjiä ymmärtämään, mihin havainnot perustuvat. Parannetun datan 5 seurattavuuden etuihin kuuluu virheiden väheneminen ja anomalioiden helpompi selittäminen.
Tulisi ymmärtää, että tosielämän tapaukset voivat olla paljon monimutkaisempia kuin mitä yhdellä piirrossivulla voidaan kohtuudella esittää. Kuviot 11A ja 11B esittävät siis vain datan seurattavuuden periaatetta. Monimutkaisten 10 tapausten tukemiseksi visualisointilogiikan edellä tulisi olla käyttäjän aktivoimia suotimia, jotka sallivat käyttäjien nähdä vain mielenkiinnon kohteita. Jos esimerkiksi käyttäjä on kiinnostunut vain kuviossa 11A näytetystä näytteestä 25, niin voidaan näyttää vain tapahtumien (näytteiden) ketju 1102 - 1106 - 1110 -1112.
15 Työvirtojen kuvaukset
Kuvio 12A näyttää informaatio-olio -relaatiota käytännöllisesti katsoen mielivaltaisen monimutkaisten työvirtojen (workflow) selostamiseksi ja hallitsemiseksi IMS:ssä. Työvirta 1202 voi sisältää toisia työvirtoja, kuten nuoli 1203 osoittaa. Alimman tason työvirta sisältää työkalumäärityksen 1208. Kullakin työ-20 virralla on omistaja-käyttäjä 1220. Kukin työvirta kuuluu johonkin projektiin . , i]*’i 1218. (Projekteja tarkasteltiin kuvion 9 yhteydessä.) \* Työkalut määrittelytermejä ovat työkalun nimi, kategoria, kuvaus, lähde, aluke (pre-tag), suoritusosa (executable), otot, annot ja palveluobjektin • · · : ,·. luokka (mikäli ei oletusarvo). Tämä informaatio talletetaan työkalutaulukkoon tai **i:! 25 -tietokantaan 1208.
*
Ottomäärityksiin sisältyy aluke, tunnistenumero, kuvaus, dataolio- “* tyyppi, lopuke (post-tag), komentorivijärjestys, valinnaisuus-status (pakollinen „ vai valinnainen). Tämä informaatio talletetaan työkalun ottosidontaan (input bin- ; der) 1210 tai työkalun antosidontaan (output binder) 1212. Tosielämän toteu- 30 tuksessa on mukavaa tallentaa työkalu 1208, työkalun ottosidonta 1210 ja työ- ·*·,· kalun antosidonta 1212 yhteen levytiedostoon, josta näytetään esimerkki kuvi- • « .··*. oissa 16A ja 16B.
./* Dataoliotyypit määritellään järjestelmään termeillä dataoliotyypin ni- • · '· ** mi, kuvaus, datakategoria (esim. tiedosto, hakemisto alihakemistoineen ja tie- r 35 dostoineen, datajoukko, tietokanta, jne.) On useita dataoliotyyppejä, jotka kuuluvat samaan kategoriaan mutta joilla on erilainen syntaksi tai semantiikka ja 118102 26 jotka sen vuoksi kuuluvat eri dataoliotyyppiin olemassa olevien työkalujen yh-teensopivuussääntöjen vuoksi. Tämä informaatio talletetaan dataoliotyyppiin 1214. Työkalupalvelimen sidonta 1224 osoittaa sen työkalupalvelimen 1222, jossa työkalu voidaan suorittaa. Jos on vain yksi työkalupalvelin 1222, työkalu-5 palvelimen sidonta 1224 voidaan jättää pois.
Tyypitettyjä dataolioita käytetään ohjaamaan erilaisten työkalujen yhteensopivuutta, jotka voivat olla tai olla olematta yhteensopivia. Tämä antaa mahdollisuuden kehittää käyttöliittymän, jossa järjestelmä avustaa käyttäjiä luomaan järkeviä työvirtoja ilman etukäteistietoa kunkin työkalun yksityiskohdista.
10 Dataolioinstanssit, jotka sisältävät käyttäjädataa, tallennetaan data- olioon 1216. Kun työvirtoja rakennetaan, relevantit dataoliot kytketään relevantteihin työkaluottoihin työvirran ottojen 1204 tai työvirran antojen 1206 kautta.
Viitenumero 1200 osoittaa yleisesti eri dataolioita, jotka tosielämän tilanteissa > muodostavat otto- tai antodatan todellisia instansseja.
15 Kuvio 12B esittää asiakas-palvelin-arkkitehtuuria, johon kuuluu asia- kaspäätelaitteessa CT suoritettava graafinen työvirtojen editori 1240. Graafinen työvirtojen editori 1240 kytkeytyy työvirtapalvelimen 1242 kautta suoritushallitsi-jan (executor) palveluohjelmiin työkalupalvelimessa 1244. Graafista työvirtojen editoria 1240 käytetään valmistelemaan, suorittamaan ja monitoroimaan sekä 20 tarkastelemaan työvirtoja ja dataolioita, jotka viestivät työvirtatietokannan 1246 kanssa. Työvirtapalvelin 1242 huolehtii työvirtojen suorittamisesta käyttämällä yhtä tai useampaa työkalupalvelinta 1244. Relevantin työkalupalvelimen osoite voidaan löytää palvelintaulukosta (kuvio 12A).
Kukin työkalupalvelin 1244 käsittää suoritushallitsijan ja palveluobjek- : 25 tin, joka pystyy kutsumaan mitä tahansa itsenäistä työkalua, joka on asennettu työkalupalvelimelle. Suoritushallitsija hallitsee työvirran kaikkien relevanttien »•Il .***'. työkalujen suorittamista relevanteilla dataolioilla standardoidun palveluohjelmin kautta. Palveluobjekti tarjoaa suoritushallitsijalle yhteisen rajapinnan minkä ta- | hansa itsenäisen ohjelmistotyökalun suorittamiseksi. Työkalukohtaista infor- *..!* 30 maatiota voidaan kuvata XML-tiedostossa, jota käytetään alustamaan metada- • * *·;·* taa kullekin työkalulle työkalutietokannassa (kuvion 12A kohta 1208). Palve- :\j luobjekti vastaanottaa anto- ja ottodatan, ja käyttämällä työkalun määritysinfor- maatiota, se voi valmistella vaaditun komentorivin työkalun suorittamiseksi.
* · · ./ Kuvioissa 12A ja 12B näytetty työvirtojen/työkalujen hallitsija integroi " 35 helposti perinteisiä työkaluja ja kolmansien osapuolten työkaluja. Työvirto- i · · *· *: jen/työkalujen hallitsijan muihin etuihin kuuluu työvirtojen täydellinen dokumen- Ϊ4 118102 27 tointi, helppo uudelleenkäytettävyys ja automaattinen suoritus. Esimerkiksi työ-virtojen/työkalujen hallitsija voi piilottaa kolmansien osapuolten työkalujen valmistajakohtaiset käyttöliittymät ja korvata ne IMS:n yhteisellä graafisella käyttöliittymällä. Käyttäjät voivat siis käyttää yhteisen graafisen käyttöliittymän toimin-5 toja valmistelemaan, suorittamaan ja monitoroimaan sekä tarkastelemaan työ-virtoja ja niiden dataolioita.
Huomattakoon, että kuvio 12A esittää informaatio-olio -relaatiota, joka näyttää erityyppisten olioiden, työkalujen jne. väliset keskinäiset relaatiot.
Kuvio 12A näyttää esimerkiksi, että työkalun ottosidonta 1210 määrittelee relaa-10 tion työkalun 1208 oton ja dataoliotyypin 1214 välillä, joka dataoliotyyppi voi olla tai olla olematta sama tyyppi kuin se, joka työkalun antosidonnan 1212 määrittelemää tyyppiä.
Kuvio 12C esittää työkalujen ja dataolioiden keskinäisiä relaatioita loppukäyttäjän kannalta katsottuna. Käytettävissä olevia työkaluja ja dataolioita 15 voidaan yhdistää mielivaltaisen monimutkaisiksi loogisiksi verkoiksi (työvirroik-si), joissa yhden työkalun anto on kytketty seuraavan työkalun ottoon jne. Huomattakoon, että kukin työkalu tarvitsee määritellä vain kerran. Kutakin työkalun instantioitua suoritusta kohti on lapsityövirta 1202 (tai työ 1202’ kuviossa 12D), joka voidaan luoda kullekin graafiselle ’'työkalun" ikonille. Viitenumero 1250 20 osoittaa ottodataolioita, joita tässä esimerkissä ovat dataoliot 1 ja 2. Viitenumerot 1252 osoittavat työvirran ottoja. Tässä esimerkissä työvirran otot 1252 sito-**...·* vat dataoliot 1 ja 2 lapsityövirtoihin käyttäen työkaluja X ja Y, ja dataoliot 1, 3 ja ..*·* 4 lisäksi lapsityövirtoihin käyttäen työkaluja Y ja Z. Viitenumerot 1256 osoittavat ·*,]*: työvirran antoja, jotka tässä esimerkissä sitovat dataoliot 3 ja 4 lapsityövirtoihin j :‘: 25 käyttäen työkalua X, ja dataoliot 5, 6 ja 7 lapsityövirtoihin käyttäen työkaluja Y ja ··· Z. Viitenumero 1258 osoittavat välivaiheiden dataolioita, jotka muodostavat työ- ·· · · .**·. kalua X kutsuvan lapsityövirran annon, tuottaen otot toiselle lapsityövirralle, joka kutsuu työkaluja Y ja Z. Viitenumero 1260 osoittaa antodataolioita, joita tässä esimerkissä ovat dataoliot 5, 6 ja 7. Kukin työvirran otto 1252 tai työvirran anto *... 30 1256 on kuviossa 12A näytetyn vastaavan luokan 1204, 1206 instanssi. Työka- • · **:*’ lun ottosidontoja 1210 ja työkalun antosidontoja 1212 käytetään graafisessa käyttöliittymässä avustamaan käyttäjiä työvirtojen rakentamisessa, kytkemällä työkaluja ja oikean tyyppisiä dataolioita kuhunkin ottoon tai antoon.
• · *
Kuten kuviossa 12C näytetään, työvirran otot 1252 tai työvirran annot • · \ " 35 1 256 määrittelevät yhteisesti datavuoverkon ottodataolioista 1250 sen antoda- *· *: taolioihin 1260 siten, että kukin työvirran otto 1252 kytkee spesifisen dataolion 118102 28 työkalun 1254 ottoon, ja kukin työvirran anto 1256 kytkee työkalun annon spesifiseen dataolioon, joka voi olla välivaiheen dataolio 1258 tai antodataolio 1260.
Työkalut suoritetaan työvirtojen topologisen lajittelun perusteella. Nämä työvirrat ovat erityisen hyödyllisiä monimutkaisiin tehtäviin, jotka on toistettava yhä uu-5 delleen erilaisilla syötteillä.
Kuviossa 12C näytetty suoritusmuoto kätkee joitakin abstrakteja käsitteitä, kuten lapsityövirrat, työvirran otot ja annot, mutta näyttää joitakin konkreettisia seikkoja, kuten dataolioita, työkaluja, työkalujen ottoja ja työkalujen antoja.
10 Kuvio 12D näyttää täydennetyn esimerkin kuviossa 12A näytetystä informaatio-olio -relaatiosta. Kohdat, joiden viitenumero on pienempi kuin 1224, selostettiin kuvion 12A yhteydessä eikä niitä siitä selosteta uudelleen. Kuviossa 12D näytetty suoritusmuoto sisältää useita täydennyksiä kuviossa 12A näytettyyn nähden.
15 Yksi täydennys on se, että kuvion 12A hierarkkinen työvirta 1202, 1203 on jaettu työvirtaan 1202 ja työhön 1202’, missä työ 1202’ on hierarkian alatasolla eikä sisällä yhtään lapsityövirtaa. Työvirran ulkoinen otto ja anto ovat vastaavasti työvirran oton 1236 ja annon 1238 määrittelemä työvirta. Työvirran ulkoinen otto ja anto määritelevät kokonaisoton ja -annon ilman sisäisiä dataoli-20 oita, joita käytetään vain työvirran sisällä. Työn otto 1204’ ja työn anto 1206’ määrittelevät työvirran sisäiset dataoliot.
···
Toinen täydennys on se, että työn ottoa 1204’ja työn antoa 1206’ei „*:* ole kytketty dataolioon 1216 suoraan vaan dataoliolistan 1226 kautta, joka puo- lestaan on kytketty dataolioon 1216 dataolio-lista -sidonnan 1228 kautta. Tämän : 25 täydennyksen etuna on, että työn otto tai anto voi käsittää dataolioiden listoja.
•j. Tämän yksinkertaistaa loppukäyttäjän toimenpiteitä, kun useita dataolioita on .·*·. käsiteltävä samalla tavalla. Teknisesti ottaen dataoliolista määrittelee useita • · dataolioita työn ottona 1204’ tai työn antona 1206’ siten, että listan kukin olio ^ prosessoidaan työkalulla 1208 erikseen mutta koordinoidusti.
*.,!* 30 Kolmas täydennys on strukturoidun dataolion tyyppisidonta 1230 • · ’·;·* strukturoitujen dataolioiden, kuten kuvioissa 6A ja 6B näytettyjen datajoukkojen 610 ja 620 prosessoimiseksi. Kukin tällainen datajoukko koostuu neljästä data- :**'· oliosta (jotka kuvaavat yhteistä, rivi-, matriisi-ja arvomatriisia), ja strukturoidut • · · dataoliot voidaan määritellä strukturoidun dataolion tyyppisidonnan 1230 kautta.
• · \ ** 35 Loppukäyttäjiä ei siis vaivata dataolioiden keskinäisillä relaatioilla. j * ♦ · • · · • · 29 118102
Lisäksi kussakin työkalussa 1208 voi olla liitännäisiä optioita 1238 ja/tai poistumiskoodeja 1239. Optioita 1238 voidaan käyttää syöttämään ohjelmistotyökaluille valinnaisia parametreja, kuten hyvin tiedetään skriptitiedostojen käsittelyn yhteydestä. Optioita 1238 tarkastellaan lisää kuvioiden 16A ja 16B 5 yhteydessä (ks. kohdat 1650 - 1670 ja 1696 - 1697). Poistumiskoodeja (tai vir-hekoodeja) 1239 voidaan käyttää välittämään työkalun lopetustila takaisin käyttäjälle palveluobjektin, suoritushallitsijan, työkaiupalveiimen ja graafisen työvir-taeditorin kautta. Esimerkiksi jos työkalun toiminto keskeytyy jonkin prosessoin-tivirheen vuoksi, seuraavan työkalun ei kannata suorittaa sille aiottua tehtävää 10 vaan antaa käyttäjän tietää lopetustila. Poistumiskoodien esimerkkejä näytetään kuviossa 16B (ks. osio 1680).
Vielä eräs valinnainen täydennys kuviossa 12D on, että tyyppimääritys 1214 käsittää ontologiamäärityksen. Ontologiamäärityksen etuna on, että dataolion tyyppitarkastus työkaluun tai työkalusta ei tarvitse onnistua kirjaimelli-15 eesti vaan käsitteellisesti. Esimerkiksi työkalun määrittely voi spesifioida, että työkalu prosessoi tiedostoja, jotka ovat muotoa ’’Rich Text Format", kun taas jonkin toisen työkalun määrittely spesifioi, että työkalu prosessoi (ottaa vastaan) "tekstitiedostoja”. Kirjaimellinen vertailu "tekstitiedoston” ja "Rich Text Format” -muodon välillä pettää, mutta sopivasti konfiguroitu ontologiamääritys pystyy 20 osoittamaan, että ’’Rich Text Format” on "tekstitiedoston” alaluokka, jolloin ontologinen tyyppitarkastus onnistuu.
* · · ·...· Kuvio 13 näyttää esimerkinomaisen käyttöliittymän 1300 työvirran hallitsijaa varten. Nimiöpalkki 1302 ja valikkopalkki 1304 ovat itsestään selviä henkilöille, joilla graafiset käyttöliittymät ovat tuttuja. Työkalun valintaruutu 1310 : 25 luettelee kaikki käytettävissä oleva työkalut. Työkalun kuvausruutu 1320 näyttää ··· · valitun työkalun kuvauksen. Työkalun ottoruutu 1330 ja työkalun antoruutu 1340 .···. listaavat ja kuvaavat vastaavasti valitun työkalun otot ja annot. Graafinen työvir ran hallitsijan editoriruutu 1350 näyttää periaatteessa saman aineiston, joka näytettiin kuviossa 12C, mutta kuviossa 12C paino on työkalujen, dataolioiden 30 ja sidontojen välisissä loogisissa relaatioissa, kun taas kuvio 13 näyttää realisti- • · *·;·* semman näkymän todellisesta käyttöliittymästä. Tässä esimerkissä dataolio :\j 1352 on työkalun 1354 otto, kuten yhdistysnuoli 1356 osoittaa. Työkalun 1354 :***: anto on dataolio 1358, kuten yhdistysnuoli 1360 osoittaa. Dataoliota 1358, joka ··» ./ on työkalun 1354 anto, käytetään työkalun 1362 yhtenä ottona, kuten yhdistys- " 35 nuoli 1364 osoittaa. Työkalulla 1362 on kolme muutakin ottoa, 1366, 1368 ja
• · * I
1370. Tässä esimerkissä otot 1366 ovat dataolioita ja otto 1370 käsittää erilaisia 118102 30 valinnaisia tai käyttäjän asetettavia parametreja. Toinen tapa syöttää parametreja, erityisesti ei-valinnaisia parametreja, näytetään kuviossa 16B (ks. optio-osio 1650 - 1670 konfigurointitiedostossa 1600). Työkalun 1362 anto on data-olio 1372, joka on myös koko työvirran anto. Itse asiassa työvirran editoriruu-5 dussa 1350 muokattava työvirta voi olla jonkin isä- eli ylemmän tason työvirran lapsityövirta, kuten kuvion 12A nuoli 1203 osoittaa, ja tämän lapsityövirran antoa voidaan käyttää ottona kyseisessä ylemmän tason työvirrassa.
Kuvion 13 elementit liittyvät kuvioiden 12A tai 12D elementteihin seuraavasti. Kukin ’’tiedosto” -tyyppisellä ikonilla, kuten ikonilla 1352, näytetty data-10 olio 1352, 1358 on kuvioiden 12Atai 12D dataolioluokan 1216 instanssi. Työkalun valintaruudussa 1310 näytetyt työkalut ovat kuvioiden 12A tai 12D työkalu-luokan 1208 instansseja. Ne voidaan valita työkalun valintaruudusta 1310 kun instantioidaan niiden potentiaalisia suorituksia kuvion 12A lapsityövirtoina tai kuvion 12D töinä. Relevanttien työkalujen 1354 ja 1362 lapsityövirtoja tai töitä 15 käytetään muokattavassa työvirrassa kuvion 12A lapsityövirtojen 1202 instansseina tai kuvion 12D töiden 1202’ instansseina.
Muokattava isätyövirta on työvirtaluokan 1202 instanssi. Nuolet 1356, 1364 jne., jotka graafinen käyttöliittymä luo vasteena käyttäjän syötteelle, edustavat työn tai työvirran oton 1204’, 1204 instansseja. Nämä nuolet kytkevät da-20 taolion ottona työhön, joka tehdään suorittamalla työkalu, kun työvirta suoritetaan. Relevantti työkalu osoitetaan ’’työkalun" tyyppisellä ikonilla, kuten ikonilla • · · 1354. Työkalun ottosidonnat 1210 mahdollistavat tyypintarkastuksen dataolion „*:* kullekin kytketylle instanssille. Nuolet 1360 edustavat työn tai työvirran ot- :[[[: tosidonnan 1206, 1206 instansseja. Nämä nuolet kytkevät dataolion antona : 25 työstä, joka tehdään suorittamalla työkalu, kun työvirta suoritetaan. Relevantti ♦ · · · työkalu osoitetaan ’’työkalun” tyyppisellä ikonilla. Työkalun antosidonnat 1212 • · «t .···. mahdollistavat tyypintarkastuksen dataolion kullekin kytketylle instanssille. ; Tämän toteutuksen etuna on, että kuvioissa 12A ja 12D näytetty hy-.. vin määritelty tyypinmäärittely tukee kattavaa tyypintarkastusta, mikä varmistaa 30 datan luotettavuuden ja yhtenäisyyden. Käyttöliittymässä 1300 tyypintarkastus • · ’;·* voidaan toteuttaa siten, että vuorovaikutteinen yhdistys dataolion ja työkalun välillä voidaan suorittaa vain tyypintarkastuksen onnistuessa. Lisäksi dataolion tyypit voidaan näyttää valitun työkalun ottoruudussa 1330 ja antoruudussa 1340.
• · " 35 Tässäkin abstraktit käsitteet, kuten lapsityövirta ja työvirran otto, työ- % • · · *· virran anto, työn otto ja työn anto, on piilotettu graafisen käyttöliittymän käyttäjil- : · ·* 118102 31 -·γ tä, mutta konkreettisemmat elementit, kuten dataoliot, työkalut, työkalujen otot ja työkalujen annot, visualisoidaan käyttäjille intuitiivisina ikoneina ja nuolina.
Kvantitatiivisen datan tapauksessa dataoliot 1216, 1352, jne. on edullisesti järjestetty datajoukoiksi 610, 620, ja erityisesti muuttuja-arvomatrii-5 seiksi 614, 624, jotka selostettiin kuvioiden 6A ja 6B yhteydessä, muuttuja-arvo-matriisien 614, 624 etuna tässä ympäristössä on, että ohjelmistotyökalut, joita voidaan hankkia useasta lähteestä, joutuvat käsittelemään vain matriiseja, mutta ei dimensioita tai matriisien rivi- tai sarakekuvauksia.
Graafinen käyttöliittymä käyttää edullisesti tekniikkaa, joka tunnetaan 10 nimellä "vedä ja pudota” (drag and drop), mutta uudella tavalla. Tavanomaisessa käyttöliittymässä vedä ja pudota -tekniikka toimii niin, että jos käyttäjä vetää levytiedoston ikonin ohjelmistotyökalun ikonin päälle, niin käyttöjärjestelmä tulkitsee tällaisen käyttäjän syötteen käskyksi avata määrätty levytiedosto määrätyllä ohjelmistotyökalulla. Mutta tämä keksintö käyttää vedä ja pudota -tekniik-15 kaa edullisesti niin, että määrättyä levytiedostoa (tai muuta dataoliota) ei prosessoida välittömästi määrätyllä ohjelmistotyökalulla. Sen sijaan dataolion kytkentä ohjelmistotyökaluun talletetaan luotavaan tai päivitettävään työvirtaan.
Tutun vedä ja pudota -metaforan käyttö tallennettujen työvirtojen luomiseen (improvisoitujen toimintojen liipaisemisen sijasta) tarjoaa useita etuja. Esimer-20 kiksi tallennettuja työvirtoja voidaan helposti toistaa, muutettuina tai ilman muutoksia, sen sijaan että kukin työvirta luotaisiin kokonaan uudelleen. Toinen etu on, että tallennetut työvirrat tukevat työvirtojen seurattavuutta.
...T Kuviot 14 - 19 liittyvät edullisen työvirran suoritusympäristön toteu- • · * tuksen yksityiskohtiin. Kuten kuvion 12A yhteydessä lyhyesti sanottiin, ja osoi- j*'j‘: 25 tettiin nuolella 1303, jonka alku ja loppu ovat työvirrassa 1202, työvirrat voivat ··· olla hierarkkisia. Tämä tarkoittaa, että kun käyttäjä luo työvirran hallitsijassa uu- ···· ;*··. den työvirran, luodaan juurityövirta. Käyttäjä voi sitten luoda lapsityövirtoja (’’työ” kuviossa 12D), joita kytketään juurityövirtaan. Seuraavassa sana’’juuri” voidaan :·, jättää pois. Kukin lapsityövirta assosioidaan vain yhteen työkaluun. Tämä työka- 30 lu määrittelee työvirran sallitut otot ja annot, ja työkalua käytetään lapsityövirran **;·* suorittamiseen. Kun käyttäjä luo lapsityövirran, vaaditut otot ja annot luodaan :\j myös työkalun rajapintamääritysten perusteella. Käyttäjä voi lisätä valinnaisia ottoja ja antoja, jos työkalun rajapinta tukee ylimääräisiä ottoja ja/tai antoja.
• · · ./ Lapsityövirtojen lisäämisen jälkeen käyttäjä voi graafisesti kytkeä yhden lapsi- ’! 35 työvirran annon toisen lapsityövirran ottoon, mikäli otto- ja antotyypit ovat sopi- • · · via. Tämä tarkoittaa, että graafisen käyttöliittymän käyttäjä luo tallennetun asso- 118102 32 siaation, jossa työkalun (lapsityövirran) annosta tulee seuraavan työkalun otto.
Kukin juurityövirta on kokoelma tällaisia annosta ottoon -assosiaatioita. Vaikka juurityövirrat (tallennettujen assosiaatioiden kokoelmat) voivat olla mielivaltaisen f monimutkaisia, niiden käyttö on erittäin yksinkertaista, koska mitään manuaali-5 siä operaatioita niiden välillä ei tarvita.
Kuvio 14 esittää työvirran suoritusympäristön objektipohjaista toteutusta. Tämä toteutus käsittää kolme palvelinta, nimittäin sovelluspalvelimen 1400, työkalupalvelimen 1420 ja tiedostopalvelimen 1440. Kolme palvelinta tulee ymmärtää kolmeksi loogiseksi palvelimeksi mutta ei välttämättä kolmeksi 10 palvelintietokoneeksi. Järjestelmä käsittää edullisesti yhden loogisen sovellus-palvelimen 1400, mutta se voi käsittää useita työkalupalveiimia 1420. Monitulkintaisuuden välttämiseksi kukin työkalupalvelin voi rekisteröityä vain yhteen sovelluspalvelimeen. Käyttäjä voi luoda kokonaisen työvirran tai vain lapsityövirran.
15 Kukin työkalupalvelimen 1420 työkalu koostuu olennaisesti kahdesta osasta: suoritettavasta osasta ja rajapintamäärittelystä. Suoritettava osa (executable) on kokoelma ohjelmakäskyjä tietyn datanprosessointitoimenpiteen suorittamiseksi. Rajapintamäärittely toteutetaan edullisesti XML-tiedostona (XML = extendible mark-up language).
20 Sovelluspalvelin 1400 käsittää työvirran suorituskomponentin 1402, joka todellisuudessa suorittaa työvirrat. Työvirran suorituskomponentti 1402 on kuviossa 12B näytetyn työvirtapalvelimen 1202 komponenttiperusteinen toteu-tus. Työvirtaeditori 1406 tai jokin muu asiakas kutsuu execute-metodia työvirran suoritusrajapinnassa. Tämä kutsu on asynkroninen kutsu. Riippuen siitä, halu- • :*; 25 aako asiakas suorittaa koko työvirran vaiko vain lapsityövirran, kutsun paramet- * · * « rina annetaan vastaavasti juurityövirran tai lapsityövirran tunniste. Tämän pro- .···. sessin yksityiskohdat selostetaan kuvion 18 yhteydessä.
• ·
Kutakin asiakkaalta tulevaa kutsua kohti sovelluspalvelin 1400 luo i ensin työvirtagraafin lapsityövirroista. Jos työvirta on lapsityövirta, graafi koos-30 tuu kyseisestä työvirrasta. Muuten graafi käsittää nolla tai useampia lapsityövir- • · *”·* toja. Sen jälkeen sovelluspalvelin käy läpi graafin ja poimii kaikki lapsityövirrat, joiden otot eivät ole minkään muun työvirran antoja. Sellaiset lapsityövirrat lisä-tään työvirtajonoon. Työvirran suorittaja 1402 jakaa jonossa olevien lapsityövir- • · · tojen suorituksen työkalupalvelimelle (-palvelimille) 1420 alkaen ensimmäisestä « · \ “ 35 lapsityövirrasta jonon alussa. Työkalupalvelin suorittaa lapsityövirrat asynkroni- • · · ’· sesti ja raportoi suorituksen päättymisen. Kun suoritus on päättynyt, lapsityövir- 118102 33
ta poistetaan työvirtagraafista, minkä jälkeen graafi käydään läpi uudelleen, ja V
yllä selostettu proseduuri toistetaan niin kauan kuin graafissa on yhtään lapsi-työvirtoja.
Aina kun työkalupalvelin 1420 käynnistetään, se rekisteröityy sovel-5 luspalvelimelle 1400. Sovelluspalvelin ylläpitää tietoa kustakin työkalupalveli-mesta tietokannassa. Niin ollen sovelluspalvelin voi kytkeytyä käytettävissä olevaan työkalupalvelimeen palvelimen nimitaulukon kautta. Ennen työkalun suorittamista työkalupalvelimessa, työkalu on asennettava johonkin sopivaan työkalupalvelimeen.
10 Asennusprosessiin kuuluu työkalun määrittelyinformaation lukeminen työkalun määritystiedostosta, jonka esimerkki näytetään kuviossa 16, sekä kuvioissa 12A tai 12D näytettyjen relevanttien työkaluun liittyvien tietokantataulu-jen päivitys työkalun määrittelyinformaation perusteella. Kun työkalu asennetaan, suoritettavat osat kopioidaan ensin asiaankuuluville paikoilleen, minkä 15 jälkeen työkalut rekisteröidään sovelluspalvelimelle 1400. Rekisteröinti sinänsä on alalla tunnettua, ja se tarkoittaa, että informaatiota työkalusta, mukaanlukien sen rajapinnoista, talletetaan tietokantaan, ellei siellä jo ole tällaista informaatiota. Tietokannassa oleva informaatio voi osoittaa työkalupalvelimen, jolla työkalu sijaitsee, sekä sekalaisia asennuksen yksityiskohtia (kuka, koska, missä, jne.) 20 Kuvio 5 näyttää esimerkinomaisen proseduurin työkalupalvelimen käynnistämiseksi. Vaiheessa 15-1 työkalupalvelin 1420 lukee konfigurointitie-tonsa työkalupalvelimen konfigurointitiedostosta. Työkalupalvelimen konfigu-...T rointitiedostosta luettujen parametrien ominaisuudet tallennetaan globaaleina ί.,.ί muuttujina, jolloin ne ovat kaikkien prosessien käytettävissä. Vaiheessa 15-2 :j‘: 25 työkalupalvelin luo erillisen kontekstin työkalupalvelimille. Konteksti voi esimer- *:· kiksi olla muotoa “com/company/bms/toolserver”. Vaiheessa 15-3 työkalupalve- ···* .*··. Iin luo RemoteExecuter- (etäsuoritus-) olion, joka näytettiin kuvion 14 kohtana 1450. Vaiheessa 15-4 tehdään työkalupalvelimen ja juuri luodun kontekstin välinen sidonta. Lopuksi, vaiheessa 15-5 työkalupalvelin rekisteröityy työvirta- *...’ 30 suorittimeen 1402.
• · **:’* Kuviot 16A ja 16B, jotka muodostavat yhden loogisen piirroksen, näyttävät esimerkin työkalun määritystiedostosta 1600. Työkalun määritystie-dostoa käytetään täyttämään työkaluun liittyvä informaatio (selostettiin kuvioi- • · * ./ den 12A ja 12D yhteydessä) tietokantaan, kun työkalu asennetaan työkalupal- *" 35 velimeen. Myöhemmin tämä informaatio otetaan tietokannasta, kun todellisia * * · • ·* • · .
118102 34 ; työvirtoja luodaan, suoritetaan tai monitoroidaan. Työkalun määritystiedoston ^ sisältö ja sen merkitys selostetaan seuraavassa.
Osio 1605 on kommenttiosio, jonka tietokoneet jättävät huomiotta.
Rivit 1610A ja 1610B rajaavat työkaluosion, joka muodostaa työkalun määritys-5 tiedoston 1600 rungon. Rivit 1612Aja 1612B rajaavat yhden työkalun määrittelyn. Osio 1615 sisältää työkalun, tässä esimerkissä nimeltään ’’Digest”, yleisiä parametreja. Osio 1615 esimerkiksi osoittaa, että työkalulla on kaksi ottoa ja yksi anto. Rivit 1620 ja 1630 alkavat vastaavasti ensimmäisen ja toisen oton määritykset. Rivi 1640 alkaa työkalun annon määrityksen. Rivit 1650, 1655, 10 1660, 1665 ja 1670 alkavat viiden optio-osion määritykset. Rivi 1680 alkaa vir- he/lopetuskoodin määrityksen.
Kuvio 16C esittää automaattisesti, IMS:n hallinnassa ja työkalun määritystiedostosta 1600 muodostettua skriptiä 1690. Ensimmäinen elementti 1691 on relevantin työkalun nimi, joka saadaan työkalun määritystiedoston 15 1600 osiosta 1615.
Toinen elementti 1692 on oton aluke (pre-tag), joka tämän nimenomaisen työkalun tapauksessa edeltää ottodataolion nimeä 1693. Aluke saadaan työkalun määritystiedoston 1600 osiosta 1620. Kunkin oton komentorivi-järjestyskenttä määrää kunkin oton paikan alukkeineen ja lopukkeineen (post-20 tag). Tämä järjestysnumero on suhteellinen ja osoittaa kunkin elementin paikan, mikäli kaikki valinnaiset komentorivin elementit (otot, annot, optiot) ovat läsnä.
Graafisessa käyttöliittymässä voi näkyä ottodataoiio, joka sisältää optiodataa « ..VV usealle optiolle, joita ei anneta komentorivin yhdessä paikassa. Tässä tapauk- :’]*.* sessa komentorivijärjestys ei ole relevantti tämän oton kannalta. Näin on myös : 25 osiossa 1630.
Ml · .·· Analogisella tavalla antodataoliota 1695 edeltää annon aluke, jonka •e··’··' .*··. määrittää työkalun määritystiedoston osio 1640. Kunkin annon komentorivijär jestys osoittaa antodataolion paikan alukkeineen ja lopukkeineen. Kullekin työ-kalulle mahdolliset optiot kuvataan komentorivijärjestyskenttineen. Kaksi para-30 metriä 1696 ja 1697, jotka saadaan vastaavasti konfigurointitiedoston osioista • · ’·”* 1650 ja 1660, ohjaavat työkalun toimintaa. Käyttäjien kannalta nähtynä kaikki relevantit optiot ovat yhdessä ottodataoliossa ja IMS sijoittaa ne automaattisesti oikeisiin paikkoihin komentorivillä.
• * * ..* Aiemmissa IMS-järjestelmissä skriptit, kuten tässä näytetty skripti ’) 35 1 690, muodostetaan käsin tekstieditointityökaluilla, mikä vaatii ohjelmointitaitoja • · * *· tai ainakin huomattavaa kokemusta kustakin ohjelmistotyökalusta.
35 118102
Kuviot 17Α ja 17B, jotka muodostavat yhden loogisen piirroksen, # näyttävät luokkadiagrammin esimerkinomaista työkalun suoritusympäristöä varten. Kukin palveluobjekti 1710 on yleinen rajapinta, joka suorittaa jonkin mielek- - kään palvelun, kuten tietyn määrän laskentaa, kutsumalla määrättyä työkalua 5 sopivalla, määrättyä työtä varten dynaamisesti luodulla komentorivillä. Etäsuo-rittaja 1720 on etärajapinta palveluobjektien 1710 suorittamiseksi. Työkalupal-velin, näytetty tässä viitenumerolla 1730, saa kutsun työvirran suorittajalta 1402 sovelluspalvelimessa (kuvion 14 viitenumero 1400) etäsuorittajan 1450 kautta.
Palvelu voidaan toteuttaa esimerkiksi etämetodiherätteenä (remote method in-10 vocation, RMI). Palveluobjektin rajapinta 1711 käsittää edullisesti seuraavat metodit: - executeQ suorittaa palveluobjektin synkronisesti; kun suoritus on päättynyt, palveluobjekti vastaa suoritustilan raportoimisesta tilan kuuntelijalle (RemoteExecutionStatusListener). " 15 - stopExecutionQ pysäyttää suorituksen niin nopeasti kuin mahdollista, missä tapauksessa palveluobjektin ei tarvitse raportoida tilan kuuntelijalle.
- getPriority():int palauttaa suorituksen prioriteetin.
- setPriority(p:int) asettaa suorituksen prioriteetin.
- setHandle(h:int) asettaa kahvan, joka toimii palveluobjektin tunnisteena; 20 kunkin palveluobjektin luojan on luotava kahva, kuten uniikki numero tietokannassa.
- getHandle():int palauttaa kahvan.
..*:** - setListener(hRemoteExecutionListener) asettaa palvelulle kuuntelijan.
Työvirran kukin palveluobjekti 1740 käsittää työvirran palveluobjektin : 25 rajapinnan 1741, joka edullisesti käsittää seuraavat metodit: ··· - initialize(wf:workflow) tallentaa työvirran tunnisteen instanssimuuttujaan.
««·· :4 .*··. - executeQ noutaa työvirran ja työkalun rajapinnan tietokannasta, tarkastaa työvirran syntaksin, noutaa relevantin syötteen tiedostopalvelimelta, luo ko- :·, mentorivin ja kohdistaa sen työkaluun, mikä aiheuttaa sen suorituksen.
• ·· 30 Kahden esimerkinomaisen rajapintamäärityksen 1711 ja 1741 perus- ’*;** teella asiantunteva lukija voi toteuttaa muut kuvioissa 17A ja 17B näytetyt raja- :\j pinnat. f, • · · • · T Kuvio 18 näyttää esimerkinomaisia prosessivaiheita työvirran suorit- : *·· tamiseksi. Vaiheessa 18-2 asiakkaan kutsu herättää työvirran suorittajan. Kuten • · 35 silmukka 18-4 osoittaa, työvirran suorittaja luo työvirtagraafin lapsityövirroista.
Tässä yhteydessä ’’graafi” tulee ymmärtää tietokoneella toteutettuna rakenteena | il 118102 36 eikä visuaalisena esityksenä. Jos työvirta on lapsityövirta, graafi koostuu kyseisestä työvirrasta. Muuten graafi sisältää nolla tai useampia lapsityövirtoja. Vaiheessa 18-6 sovelluspalvelin käy läpi graafin ja poimii kaikki lapsityövirrat, joiden otot eivät ole minkään toisen työvirran antoja. Sitten, kuten vaiheet 18-8 ja 5 18-10 osoittavat, työvirran suorittaja luo palveluobjektit tällaisista työvirroista ja lisää ne palveluobjektien jonoon (’’työvirtajonoon”). Vaiheessa 18-12 suoritus-säie saa seuraavan palveluohjelmin tästä jonosta. Vaiheessa 18-14 suoritussäie saa optimaalisen etäsuorittajan suorituksen statuksesta. Vaiheessa 18-16 suoritussäie päivittää suorituksen statuksen informaatiolla palveluobjektista ja etä-10 suorittajasta. Vaiheessa 18-18 suoritussäie herättää etäsuorittajan, joka suorittaa palveluobjektin vaiheessa 18-20. Vaiheessa 18-22, kun palveluobjektin suoritus on päättynyt, palveluobjekti tiedottaa etäsuorittajan kuuntelijalle. Jos päätös oli onnistunut, äskettäin suoritettu työvirta poistetaan jonosta ja työvirtagraa-fista, sitten graafi käydään läpi uudelleen ja yllä selostettu proseduuri toistetaan 15 alkaen vaiheesta 18-4. Jos suoritus kohtaa virheen, työvirran suoritus pysäytetään.
Keksintö ja sen edulliset suoritusmuodot tarjoavat useita etuja. Dedi-koidut työkalun otto- ja antosidonnat tekevät mahdollisiksi käyttää käytännöllisesti katsoen mitä tahansa kolmansien osapuolten datanprosessointityökaluja.
20 Uusien, perinteisten tai kolmansien osapuolten työkalujen integrointi tehdään helpoksi ja systemaattiseksi.
Keksinnön mukaisten työvirtojen systemaattinen käsite piilottaa koi- : ...T mansien osapuolten työkalujen valmistajakohtaiset rajapinnat ja korvaa ne i.,]: IMS:n yhteisellä graafisella käyttöliittymällä. Käyttäjät voivat siten käyttää yhtei- j4i‘: 25 sen graafisen käyttöliittymän toimintoja valmistelemaan, suorittamaan, monito- ··· roimaan ja katselemaan työvirtoja ja niiden dataolioita. Lisäksi tällainen työvirto- *·*♦ jen systemaattinen käsite tukee systemaattista ja kattavaa dokumentointia, helppoa uudelleenkäytettävyyttä ja automaattista suoritusta.
··, Dataolion käsite tarjoaa yleisen mahdollisuuden kokeilla millä tähän- • »t 30 sa datalla. Kuitenkin dataolion käsite tekee mahdolliseksi ymmärtää, identifioida • · **:** ja säätää eri työkalujen yhteensopivuutta. Kvantitatiivisen datan organisointi i.‘.j datajoukoiksi, joista kukin käsittää dimensiottoman muuttuja-arvomatriisin, ai- kaansaa maksimaalisen yhteensopivuuden datajoukkojen ja kolmansien osa- puolten ohjelmistotyökalujen välille, koska työkalujen ei tarvitse erottaa dataa \ , 35 dimensioista tai datan kuvauksista.
• · · I 1« • · 37 118102 :
Graafisen käyttöliittymän ansiosta tutkijat, joilla on biokemian tuntemusta, voivat helposti kytkeä biologisesti relevantit dataoliot käytettävissä ole- :>l viin ottoihin ja antoihin ja saada välitöntä visuaalista palautetta. Kokemattomat käyttäjät voivat käyttää uudelleen olemassa olevia työvirtoja toistaakseen stan-5 dardityövirtoja, vain ottodataolioita vaihtamalla. Vaatimus kunkin spesifisen työkalun komentorivin syntaktisten ja semanttisten detaljien oppimiseksi voidaan delegoida teknisesti päteville henkilöille, jotka integroivat uusia työkaluja järjestelmään. Tämä etu aiheutuu siitä, että työkalun määritykset erotetaan työvirran luomisesta. Biokemian asiantuntijat voivat keskittyä työvirran luomiseen (joka 10 määritellään dataolioina, töinä, työvirtoina, työn ottoina, työvirran ottoina, työn antoina, työvirran antoina), kun taas työkalun määritykset (työkalut, työkalun ottosidonnat, työkalun antosidonnat, optiot, lopetuskoodit), delegoidaan informaatiotekniikan asiantuntijoille. i
Alan ammattilaiselle on ilmeistä, että tekniikan kehittyessä keksinnön 15 perusajatus voidaan toteuttaa monin eri tavoin. Keksintö ja sen suoritusmuodot eivät siten rajoitu yllä kuvattuihin esimerkkeihin vaan ne voivat vaihdella patenttivaatimusten puitteissa.
··· • · 9 • · 9 • • · · ···· • · 1 • » • · • 1 • · · * · ♦ **· ♦ fe · · »•aa »aa • ♦ • · ···.- »· • · * ·♦ ♦ ·· • » • · ··· » • ♦ Φ#·'·· • ·» • a» • · • a a aa a • a aa
* M
* •f a • 1 a * a a • a

Claims (12)

1. Informaationhallintajärjestelmä [”=IMS”] työvirtojen hallitsemiseksi, missä kukin työvirta määrittelee järjestetyn joukon, jossa on yksi tai useampia datankäsittelytehtäviä, jotka liittyvät informaatioon (200), tunnettu siitä, että 5 IMS käsittää työvirtojen hallitsijan, joka käsittää: - dataolion tyyppimäärityksen (1214) kullekin useasta dataoliotyypis-tä, missä kukin dataolion tyyppimääritys liittyy datan syntaksiin ja semantiikkaan; - dataolion määrityksen (1214) kullekin useasta dataoliosta (202, 10 1250), jossa kukin dataolio liittyy spesifiseen dataoliotyyppiin (1214) ja sisältää mainitun informaation (200) alijoukon; - työkalumäärityksen (1208) kullekin useasta työkalusta (1254), missä kukin työkalu pystyy suorittamaan alijoukon datankäsittelytehtävistä; - yksi tai useampia työkalupalvelimia (1222, 1420) työkalujen suorit- 15 tamiseksi; ! - joukon työkalun ottosidontoja (1210) ja työkalun antosidontoja (1212), joista kukin sitoo vastaavasti työkalun oton tai annon spesifiseen dataoliotyyppiin; - työvirtamäärityksen (1202, 1202’) kullekin useasta työvirrasta, mis-20 sä kukin työvirtamääritys käsittää: ... i) yhden tai useamman työvirran ottomäärityksen (1204,1204’), joista • · *'*;* kukin osoittaa yhden tai useamman dataolion työvirran otoksi (1250); • * ·”·' ii) yhden tai useamman työvirran antomäärityksen (1206, 1206’), jois- ta kukin osoittaa yhden tai useamman dataolion työvirran annoksi (1260); • f · 25 missä työvirran ottomääritykset (1204, 1204’) ja työvirran antomääri- „*:* tykset (1206, 1206’) yhteisesti määrittelevät datavirtaverkon (1252 - 1258) työ- virran otosta (1250) työvirran antoon (1260) työkalumääritysten (1208) yhden tai useamman instanssin (1254) kautta.
• · ” 2. Patenttivaatimuksen 1 mukainen informaationhallintajärjestelmä, *··♦** 30 tunnettu siitä, että työvirtamääritys käsittää hierarkian (1203), jossa isätyö- virta käsittää useita lapsityövirtoja. ♦ · • φ
· • · **;*’ 3. Patenttivaatimuksen 1 mukainen informaationhallintajäijestelmä, * *.. tunnettu siitä, että siihen kuuluu työkalu-palvelinsidonta 1224 kutakin työka- lumäärityksen ja palvelimen yhdistelmää kohti. : 39 118102
4. Patenttivaatimuksen 1 mukainen infomnaationhallintajärjestelmä, tunnettu siitä, että siihen kuuluu graafinen käyttöliittymä (1300) datavirta- r verkon (1252 - 1258) visuaalisen esityksen luomiseksi vasteena käyttäjän syöt- ^ teelle. f!
5. Patenttivaatimuksen 4 mukainen informaationhallintajärjestelmä, tunnettu siitä, että graafinen käyttöliittymä käsittää rutiinin luomaan automaattisesti työvirran otto tai anto (1204, 1204', 1206, 1206') vasteena käyttäjän toimenpiteelle kytkeä dataolion ikoni työkalun ikoniin.
6. Patenttivaatimuksen 1 mukainen informaationhallintajärjestelmä, 10 tunnettu siitä, että siihen kuuluu sidonta (1230) strukturoitujen dataolioiden määrittelemiseksi.
7. Patenttivaatimuksen 6 mukainen informaationhallintajärjestelmä, tunnettu siitä, että ainakin jotkut strukturoidut dataoliot käsittävät datajouk-koja (610, 620), joista kukin käsittää: 15. muuttuja-arvomatriisin (614, 624), joka sisältää muuttuja-arvoja jär jestettyinä riveiksi ja sarakkeiksi; - muuttujankuvauskielellä (30) olevan rivikuvauslistan (613, 623) muuttuja-arvomatriisin rivien kuvaamiseksi; - muuttujankuvauskielellä (30) olevan sarakekuvauslistan (612, 622) • Λ · 20 muuttuja-arvomatriisin sarakkeiden kuvaamiseksi; ja „*·* - muuttujankuvauskielellä (30) olevan yhteisten tekijöiden kuvauksen (611, 621) muuttuja-arvomatriisin kaikkien arvojen yhteisistä tekijöistä. • · • * * "V
8. Patenttivaatimuksen 1 mukainen informaationhallintajärjestelmä, t u n n e 11 u siitä, että siihen kuuluu: • · *···* 25 - dataoliolistamäärittely (1226) useiden dataolioiden määrittelemisek si työvirran ottona ja/tai antona; ja ·* • ’·· - rutiini työkalun käyttämiseksi prosessoimaan mainitut useat dataoli- :***: ot erikseen, mutta korreloiden kukin otto kuhunkin antoon.
• * * ’ • * " 9. Patenttivaatimuksen 1 mukainen informaationhallintajärjestelmä, * * * 30 tunnettu siitä, että siihen kuuluu yksi tai useampia konfigurointitiedostoja :\w (1600), joista kukin käsittää: • · • · · » · · • · 1U : 40 118102 - otto-osion (1620, 1630) työkalun ottosidonnan (1210) määrittelemi- - seksi; ja - anto-osion (1640) työkalun antosidonnan (1212) määrittelemiseksi.
10. Patenttivaatimuksen 9 mukainen informaationhallintajäijestelmä, 5 tunnettu siitä, että ainakin yksi konfigurointitiedosto (1600) käsittää myös optio-osion (1650 - 1670) määrittelemään ottoparametreja ainakin yhden työkalun toiminnan ohjaamiseksi.
11. Patenttivaatimuksen 10 mukainen informaationhallintajäijestel-mä, tunnettu siitä, että siihen kuuluu asennusrutiini luomaan automaattises- 10 ti ainakin osa dataolion tyyppimäärityksistä (1214), työkalumäärityksistä (1208), työkalun ottosidonnoista (1210), työkalun antosidonnoista (1212) ja optio- tai lopetuskoodeista (1238, 1239) käyttämällä mainitussa ainakin yhdessä konfigu-rointitiedostossa (1600) olevia dataoliomäärityksiä ja työkalumäärityksiä.
12. Jonkin patenttivaatimuksen 9-11 mukainen informaationhallinta-15 järjestelmä, t u n n e 11 u siitä, että mainittu ainakin yksi konfigurointitiedosto on extendible markup language -tiedosto. • · ♦ • · ·1· • » 1 ···· • · • · • · • · · • · · ··· · . *·.·’·· ·; ··· ♦ ·1♦· ··♦ • ♦ • · · • · • ·· ♦ · · • · • · • · ♦ • t • · 1 * · ·· • ♦ • · * · · ' m • · • ·· * • # • · · ••k·'; • · 118102 41
FI20045040A 2003-07-04 2004-02-16 Informaationhallintajärjestelmä työvirtojen hallitsemiseksi FI118102B (fi)

Priority Applications (8)

Application Number Priority Date Filing Date Title
FI20045040A FI118102B (fi) 2003-07-04 2004-02-16 Informaationhallintajärjestelmä työvirtojen hallitsemiseksi
US10/883,043 US20050021877A1 (en) 2003-07-04 2004-07-02 Information management system for managing workflows
PCT/FI2004/000424 WO2005003999A1 (en) 2003-07-04 2004-07-02 Information management system for biochemical information
EP04103140A EP1494156A3 (en) 2003-07-04 2004-07-02 Information management system for managing workflows
AU2004254729A AU2004254729A1 (en) 2003-07-04 2004-07-02 Information management system for biochemical information
RU2005141111/09A RU2005141111A (ru) 2003-07-04 2004-07-02 Система управления биохимической информацией
CA002531131A CA2531131A1 (en) 2003-07-04 2004-07-02 Information management system for biochemical information
JP2006516238A JP2007520773A (ja) 2003-07-04 2004-07-02 生化学情報のための情報管理システム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
FI20031020 2003-07-04
FI20031020A FI117988B (fi) 2003-07-04 2003-07-04 Informaationhallintajärjestelmä biokemiallista informaatiota varten
FI20045040A FI118102B (fi) 2003-07-04 2004-02-16 Informaationhallintajärjestelmä työvirtojen hallitsemiseksi
FI20045040 2004-02-16

Publications (3)

Publication Number Publication Date
FI20045040A0 FI20045040A0 (fi) 2004-02-16
FI20045040A FI20045040A (fi) 2005-01-05
FI118102B true FI118102B (fi) 2007-06-29

Family

ID=33436175

Family Applications (1)

Application Number Title Priority Date Filing Date
FI20045040A FI118102B (fi) 2003-07-04 2004-02-16 Informaationhallintajärjestelmä työvirtojen hallitsemiseksi

Country Status (3)

Country Link
US (1) US20050021877A1 (fi)
EP (1) EP1494156A3 (fi)
FI (1) FI118102B (fi)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7539625B2 (en) * 2004-03-17 2009-05-26 Schlumberger Technology Corporation Method and apparatus and program storage device including an integrated well planning workflow control system with process dependencies
US20080235055A1 (en) * 2003-07-17 2008-09-25 Scott Mattingly Laboratory instrumentation information management and control network
JP4625337B2 (ja) * 2004-02-23 2011-02-02 株式会社リコー プロセス管理装置、プロセス管理方法及びプロセス管理プログラム
US7496887B2 (en) * 2005-03-01 2009-02-24 International Business Machines Corporation Integration of data management operations into a workflow system
US7499906B2 (en) * 2005-09-05 2009-03-03 International Business Machines Corporation Method and apparatus for optimization in workflow management systems
US20070143736A1 (en) * 2005-12-09 2007-06-21 Microsystems Technology, Inc. Workflow Development Platform
US20070219843A1 (en) * 2006-03-14 2007-09-20 Keeler Jesse M Method and apparatus for providing work flows used to resolve alarm conditions detected in a system
US8250583B2 (en) * 2006-12-04 2012-08-21 International Business Machines Corporation Workflow processing system and method with federated database system support
US7739243B2 (en) * 2007-08-01 2010-06-15 International Business Machines Corporation System and method for dynamically configuring a multiplatform computing environment
US20090183187A1 (en) * 2008-01-16 2009-07-16 Lazar Borissov Providing Command Line Interface Using a Remote Interface
US8984390B2 (en) 2008-09-15 2015-03-17 Palantir Technologies, Inc. One-click sharing for screenshots and related documents
US20100192077A1 (en) * 2009-01-26 2010-07-29 Raytheon Company Parent/Child Control System for a Workflow Automation Tool
US20100299631A1 (en) * 2009-05-22 2010-11-25 Weihsiung William Chow Prompt for User Input on All Workflow Activities Before Workflow Execution
JP5771226B2 (ja) * 2010-03-08 2015-08-26 コーニンクレッカ フィリップス エヌ ヴェ 効率的な線量計算を含む線量計算タスクのスケジューリング
US8797342B2 (en) * 2010-09-10 2014-08-05 Siemens Aktiengesellschaft Method for visual project modeling
US8732574B2 (en) 2011-08-25 2014-05-20 Palantir Technologies, Inc. System and method for parameterizing documents for automatic workflow generation
US9465519B2 (en) * 2011-12-21 2016-10-11 Life Technologies Corporation Methods and systems for in silico experimental designing and performing a biological workflow
CN102707944A (zh) * 2012-04-13 2012-10-03 华为技术有限公司 用户界面的生成显示方法及用户界面设备
US9348677B2 (en) 2012-10-22 2016-05-24 Palantir Technologies Inc. System and method for batch evaluation programs
US8909656B2 (en) 2013-03-15 2014-12-09 Palantir Technologies Inc. Filter chains with associated multipath views for exploring large data sets
US8868486B2 (en) 2013-03-15 2014-10-21 Palantir Technologies Inc. Time-sensitive cube
US9105000B1 (en) 2013-12-10 2015-08-11 Palantir Technologies Inc. Aggregating data from a plurality of data sources
US8924429B1 (en) 2014-03-18 2014-12-30 Palantir Technologies Inc. Determining and extracting changed data from a data source
US20160232470A1 (en) * 2015-02-05 2016-08-11 Keguo Zhou Automated Generation of Process Flow Charts
JP6764115B2 (ja) * 2017-01-31 2020-09-30 富士通株式会社 表示プログラム、表示方法および表示装置
CN109685453B (zh) * 2018-12-07 2023-07-04 中交第二公路勘察设计研究院有限公司 智能识别工作流有效路径的方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5734837A (en) * 1994-01-14 1998-03-31 Action Technologies, Inc. Method and apparatus for building business process applications in terms of its workflows
US6430538B1 (en) * 1998-04-30 2002-08-06 Enterworks Workflow management system, method and medium with personal subflows
JP2003528358A (ja) * 1998-08-24 2003-09-24 富士通株式会社 ワークフローシステムおよび方法
US6505249B1 (en) * 1999-12-28 2003-01-07 Bellsouth Intellectual Property Corporation Method for optimizing end-to-end processing performance by selecting optimal values after running benchmarks repeatedly with different values
US7788631B2 (en) * 2000-02-24 2010-08-31 General Dynamics Advanced Information Systems, Inc. Process automation system
US6509974B1 (en) * 2000-05-17 2003-01-21 Heidelberger Druckmaschinen Ag Automated job creation for job preparation
US20020178252A1 (en) * 2001-05-08 2002-11-28 Narad Networks, Inc. Extensible service provisioning engine
US20020194154A1 (en) * 2001-06-05 2002-12-19 Levy Joshua Lerner Systems, methods and computer program products for integrating biological/chemical databases using aliases

Also Published As

Publication number Publication date
US20050021877A1 (en) 2005-01-27
FI20045040A0 (fi) 2004-02-16
FI20045040A (fi) 2005-01-05
EP1494156A2 (en) 2005-01-05
EP1494156A3 (en) 2008-07-16

Similar Documents

Publication Publication Date Title
FI118102B (fi) Informaationhallintajärjestelmä työvirtojen hallitsemiseksi
Lacroix et al. Bioinformatics: managing scientific data
Schäfer et al. Scaffold Hunter: a comprehensive visual analytics framework for drug discovery
Cline et al. Integration of biological networks and gene expression data using Cytoscape
Monteiro et al. Temporal logic patterns for querying dynamic models of cellular interaction networks
Brohée et al. Network Analysis Tools: from biological networks to clusters and pathways
US20020178185A1 (en) Database model, tools and methods for organizing information across external information objects
Leontis et al. The RNA Ontology Consortium: an open invitation to the RNA community
Kano et al. U-Compare: A modular NLP workflow construction and evaluation system
US20060020620A1 (en) Extensible data mining framework
US20050010369A1 (en) Information management system for biochemical information
FI118101B (fi) Informaationhallintajärjestelmä biokemiallista informaatiota varten
Ducasse et al. The moose reengineering environment
Bistarelli et al. On representing biological systems through multiset rewriting
FI117988B (fi) Informaationhallintajärjestelmä biokemiallista informaatiota varten
FI118063B (fi) Informaationhallintajärjestelmä biokemiallista informaatiota varten
FI117068B (fi) Informaationhallintajärjestelmä biokemiallista informaatiota varten
Romanel et al. The beta workbench
Mou et al. Visual orchestration and autonomous execution of distributed and heterogeneous computational biology pipelines
WO2005003999A1 (en) Information management system for biochemical information
Mou et al. Implementing computational biology pipelines using VisFlow
Idrissi et al. Context analysis for semantic mapping of data sources using a multi-strategy machine learning approach
Schoof et al. The PlaNet consortium: a network of European plant databases connecting plant genome data in an integrated biological knowledge resource
Roux-Rouquié et al. Metamodel and modeling language: towards an Unified Modeling Language (UML) profile for systems biology
Bada et al. GOAT: the gene ontology annotation tool

Legal Events

Date Code Title Description
FG Patent granted

Ref document number: 118102

Country of ref document: FI

MM Patent lapsed