R-ohjelmointi.org

Tilastotieteellistä ohjelmointia R-kielellä

Uusien annotaatiopakettien luominen AnnotationDbi:n työkaluilla

DNA-siruaineistojen analysoimiseen R:ssä voidaan käyttää Bioconductor-projektin tuottamia lajennuspaketteja. Monet normalisointia monimutkaisemmat analyysivaiheet vaativat tueksi annotaatiopaketin, joka yhdistää sirulla olevat koettimet muun muassa niiden kohdegeenien toiminnalliseen kuvaukseen. Bioconductor-projekti tuottaa annotaatiopaketteja yleisimmille siruille, ja ne löytyvät projektin sivuilta metadata- tai AnnotationData-nimellä. Kaikille markkinoilla oleville siruille annotaatiopaketteja ei projektin sivuilta kuitenkaan löydy, ja niinpä uusia annotaatiopaketteja voi olla tarpeen luoda itsekin.

Tässä esimerkissä käytetään R-versiota 2.15.2. ja Biocoductorin versiota 2.11. Myös aiempaa Bioconductorin versiota 2.10 voidaan käyttää saman R-version kanssa. Annotaatiopaketti luodaan Agilentin SurePrint G3 Human Exon 2x400K Microarray -sirulle. Annotaatiopaketin luomiseen tarvittava tieto koettimista on haettavissa GEO-tietokannan platformin GPL15950 tiedoista. Sivun alareunasta löytyvällä Download full table-painikkeella voi ladata koko sirun kuvauksen sisältävän taulukon tekstimuodossa.

Seuraavassa käydään annotaatiopaketin luominen läpi vaiheittain.


1. Lähdetiedot

Yllä mainitusta GPL15950:n sivulta löytyvästä taulukosta tarvitaan annotaatiopaketin tekemistä varten vain kaksi saraketta. Ensimmäisessä sarakkeessa on koettimien tunnistamiseen käytettävä tunniste (tässä Agilent probe name). Toisessa sarakkeessa on koetinta vastaavan transkriptin Genbank- tai RefSeq-tunnistenumero tai molempia sekaisin. Taulukossa ei saa olla otsikkoriviä, ja sen pitäisi näyttää esimerkiksi seuraavalta:

A_23_P100001	NM_207446
A_23_P100022	NM_014848
A_23_P100056	NM_194272
A_23_P100074	NM_020371
A_23_P100127	NM_170589

Seuraavissa vaiheissa oletetaan, että tämän mallin mukainen taulukko on tallennettu nimellä IDs.txt sarkaiserotelluksi tekstitiedostoksi.


2. Tarvittavat laajennuspaketit

Ensinnäkin annotaatiopaketin luomiseen tarvitaan paketti AnnotationDbi, joka sisältää tarvittavat funktiot. Jos käytetään Bioconductorin versiota 2.11, tarvitaan lisäksi laajennuspaketti AnnotationForge. Nämä voidaan ladata R:ssä käyttöön komennoilla:

library(AnnotationDbi)
library(AnnotationForge)

Näiden lisäksi tarvitaan organismikohtainen laajennuspaketti (*.db0). Organismit, joille tällainen paketti on olemassa, voidaan listata komennolla:

available.db0pkgs()

Tätä esimerkkiä varten asennetaan paketti human.db0, koska kyseessä on ihmissiru.


3. Annotaatiopaketin tietokannan populointi

Annotaatiopaketin sisältämät tiedot on koottu SQLite-tietokantaan. Eri organismeilla voi olla erilainen tietokantaskeema, ja tietokannan populoimiseksi on tarpeen käyttää juuri oikeaa skeemaa. Käytettävissä olevat skeemat voidaan listata komennolla:

available.chipdbschemas()

Seuraavassa käytetään skeemaa HUMANCHIP_DB.


4. Annotaatiopaketin luominen

Annotaatiopaketin luominen hoituu komennolla makeDBPackage(). Sen vaatimat argumentit voi tarkistaa yksityiskohtaisesti ohjesivulta, mutta alla olevassa esimerkkikomennossa on kommentoitu keskeisimmät. Ennen komennon suorittamista kannattaa tarkistaa, että R:n työskentelyhakemisto osoittaa samaan paikkaan, jossa tiedosto IDs.txt (luotiin kohdassa 1) sijaitsee. Itse suosin Windows-ympäristössä aina työpöytää.

makeDBPackage("HUMANCHIP_DB", ## käytettävä skeema 
affy=FALSE, ## onko kyseessä Affymetrix-siru?
prefix="Human2x400KExon", ## paketin nimi
fileName="IDs.txt", ## kohdassa 1 luodun taulukon nimi
baseMapType="gbNRef", ## taulukon tunnistenumeroiden tyyppi
outputDir = getwd(), ## SQlite-tietokannan väliaikaishakemisto
version="1.0.0", ## paketin versionumero
manufacturer = "Agilent", ## sirun tuottaja
chipName = "Human Gene Expression", ## sirun nimi
manufacturerUrl = "http://www.agilent.com") ## sirun tuottajan www-osoite

Riippuen sirun koosta ja organismista annotaatiopaketin luominen voi kestää parikin tuntia. Kun paketti on valmis, pitäisi R:n työhakemistoon ilmestyä kansio nimeltä Human2x400KExon.db ja tiedosto Human2x400KExon.sqlite. Jälkimmäinen on SQLite-tietokanta, joka on myös annotaatiopaketissa, joten se on yksinään tässä vaiheessa turha, ja voidaan tuhota. Kun R palaa komentoriville ja näyttää tyhjän kehotteen, on paketti valmis asennettavaksi.


5. Paketin asentaminen

Uunituore annotaatiopaketti voidaan asentaa ja ladata muistiin komennoilla:

install.packages("Human2x400KExon.db", repos=NULL, type="source")
library(Human2x400KExon.db)

Jos kaikki on mennyt läpi luonnikkaasti, pitäisi uuden paketin olla tämän jälkeen valmiina käyttöön.

Tällä lähestymistavalla ei ole mahdollista luoda annotaatiopaketteja sellaisille lajeille, joille organismipakettia ei ole saatavilla. Bioconductorin työkaluilla on kuitenkin mahdollista luoda ensin organismipaketti, jos laji löytyy NCBI:n taxonomy-tietokannasta, ja siitä on riittävästi tietoa. Kunhan organismipaketti on tehty, voidaan sitten luoda sirulle annotaatiopakettikin. Tähän tarvittavat toimenpiteet ja komennot on hahmoteltu AnnotationDbi:n ja AnnotationForge:n dokumentaatiossa, joka löytyy Bioconductor-projektin sivuilta.

2 Responses to “Uusien annotaatiopakettien luominen AnnotationDbi:n työkaluilla”

  • Aleksi Kallio kirjoitti:

    Onko AnnotationForge välttämätön? Se on tullut mukaan ilmeisesti Bioconductorissa 2.11, joten vanhemmille R:lle pakettia ei ole. Ainakin joidenkin pakettien tekeminen onnistuu ilmankin.

  • Jarno Tuimala kirjoitti:

    AnnotationForge tarvitaan vain, jos käytetään uusinta Bioconductor versiota 2.11. Vanhemmissa vesioissa sitä ei edes ole. Erityisen keskeinen on komento makeDBPackage(), joka aiemmissa versioissa oli paketissa AnnotationDbi, mutta tässä uusimmassa versiossa se on siirretty tuohon AnnotationForge-pakettiin.


Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *