Ensembl-datan käyttö CSC:llä
EBI:n ylläpitämät Ensembl ja Ensembl genomes -tietokannat ovat tällä hetkellä hyvin käytettyjä tietolähteitä molekyylibiologiassa. Nämä tietokannat antavat kattavan ja yhtenäisen kuvan tärkeimmistä sekvensoiduista genomeista. Ensembl:n www-sivuilla genomeja voidaan tutkia ja vertailla monipuolisen interaktiivisen graafisen käyttöliittymän kautta. Useimpiin käyttötarkoituksiin www-käyttöliittymä tarjoaa parhaan lähestymistavan, mutta joissain tapauksissa, esim. laajoja analyysejä tehtäessä, Ensembl-tietokantoja kannattaa käyttää CSC:n ympäristöstä käsin.
Ensembl EMBOSS-ohjelmistossa
CSC:llä käytössä oleva EMBOSS 6.3.1 pystyy hakemaan sekvenssidataan suoraan Ensembl:n MySQL-palvelimelta Ensembl-tunnisteiden avulla. Ensembl-tietokantojen yhteydessä käytetään hieman muunnettua USA (Universal Sequence Address) määrittelyä: tietokanta:laji:id-numero, esimerkiksi
ensembl:homo_sapiens:ENST00000262160
Normaalistihan EMBOSS:in USA-määrittely on yksinkertaisempi: tietokanta:id-numero esim: embl:AC120349. Ensembl-tietokannan yhteydessä käytettävänä lajinnimenä tulee käyttää lajin latinalaista nimeä, mutta joissakin tapauksissa voidaan vaihtoehtoisesti käyttää myös lajin englanninkielistä nimeä.
Edellä kuvattua USA-määrittelyä käyttäen, voidaan esimerkiksi seqret ohjelmalla hakea Ensembl tietokannassa oleva yksittäinen eksoni, transkripti tai sitä vastaava proteiini omaan hakemistoon CSC:lle. Riittää että haettavan sekvenssin Ensembl-tunnus on tiedossa. Esimerkiksi komento:
seqret ensembl:mouse:ENSMUST00000103109 Cntnap1-001.fasta
hakee hiiren Cntnap1-geenin ensimmäisen transkriptin fasta-muotoiseksi sekvenssitiedostoksi. Sekvenssejä ei kuitenkaan tarvitse välttämättä hakea erillisiksi tiedostoiksi, vaan niihin voidaan viitata USA määrittelyllä myös muissa EMBOSS-komennoissa. Esimerkiksi:
restrict ensembl:mouse:ENSMUST00000103109
tai
matcher oma_sekvenssi.fasta ensembl:mouse:ENSMUST00000103109
Kokonaisten genomien haku ensemblfetch-ohjelmalla
Ensembl- ja Ensembl genomes- tietokannoissa olevat genomit ovat ladattavissa Ensembl-tietokannan ftp-palvelimilta (ftp://ftp.ensembl.org/ ja ftp://ftp.ensemblgenomes.org/) fasta-, embl-, ja GenBank -muotoisina tiedostoina. Esimerkiksi lehmän fasta-muotoinen genomi löytyy osoitteesta:
ftp://ftp.ensembl.org/pub/current_fasta/bos_taurus/dna/Bos_taurus.Btau_4.0.58.dna.toplevel.fa.gz
Ja se voidaan hakea CSC:lle käyttäen wget-komentoa
wget ftp://ftp.ensembl.org/pub/current_fasta/bos_taurus/dna/
Bos_taurus.Btau_4.0.58.dna.toplevel.fa.gz
Fasta-muotoisten tiedostojen tapauksessa ladattavan tiedoston sijainnin etsiminen ftp-palvelimelta ei kuitenkaan ole välttämättä tarpeen, sillä wget-komennon sijaan CSC:n palvelimilla voidaan käyttää embsemblfetch-komentoa. Ensemblfetch on yksikertainen ohjelma, joka hakee annetulle organismille uusimman fasta-muotoisen sekvenssidatan Ensembl- tai Ensembl genomes tietokannasta. Esimerkiksi yllä wget-ohjelmalla haettu lehmän genomi voitaisiin hakea myös komennolla:
ensemblfetch bos_taurus
Ensemblfetch hakee sekvenssidataa eliön latinalaisen nimen perusteella. Nimessä oleva välilyönti on korvattava alaviivalla tyyliin: homo_sapiens. Oletusarvona ensemblfetch hakee genomisen dna:n. Käyttämällä valitsinta -type voidaan genomisen sekvenssin sijaan valita kyseisen eliön transkriptit (-type cdna) tai proteiinisekvenssit (-type pep). Esimerkiksi:
ensemblfetch -type cdna bos_taurus
Ensemblfetch-komentoa voidaan käyttää mille tahansa Ensembl- tai Ensembl genomes -tietokannoissa olevalle eliölle. Luettelon haettavissa olevista genomeista (lähes 300 lajia) saa komennolla:
ensemblfetch -names
BLAST haut Ensembl tietokannoista
CSC ei ylläpidä valmiita BLAST-indeksejä Ensembl- ja Ensembl genomes -tietokannoissa oleville genomeille. Syy tähän on siinä, että lähes kolmensadan genomin indeksointi ja ylläpito vaatisi runsaasti levytilaa ja ylläpitoresursseja. Usein BLAST haut olisi kuitenkin tehokasta kohdistaa tiettyyn organismiin. Lajispesifisiä samankaltaisuushakuja varten BLAST+ ohjelmaan liitettyyn pb- apuohjelmaan on lisätty kolme uutta valitsinta (huom. nämä valitsimet eivät ole käytössä vanhoissa BLAST versiossa): -ensembl_dna, -ensembl_cdna ja -ensembl_prot.
Näille Ensembl-valitsimille annetaan argumentiksi latinankielinen lajin nimi samaan tapaan kuin ensemblfetch-ohjelman tapauksessa. Ensembl-valitsimia käytettäessä pb-ohjelma hakee ja indeksoi halutun genomisen-, cdna- tai proteiinisekvenssijoukon ja suorittaa annetun BLAST-haun käyttäen lajispesifistä väliaikaista tietokantaa.
Esimerkiksi alla olevilla komennoilla haetaan tiedostossa hakusek.fasta oleville sekvensseille osumia kanan cDNA sekvenssien joukosta.
module load blast+
pb blastn -query hakusek.fasta -ensembl_cdna gallus_gallus -out hakutulokset.txt
Kun yllä oleva komento suoritetaan, pb-ohjelma hakee ensin ensemblfetch-komennolla dataa kanan (Gallus gallus) Ensembl-tietokannasta. Esimerkissä käytetään optiota -ensembl_cdna gallus_gallus joten tässä tapauksessa haetaan kaikki kanan transkiriptit (cdna). Tämän jälkeen pb-ohjelma laskee haetulle Ensembl-tiedostolle BLAST-indeksit ja tekee sitten varsinaisen BLAST-haun.
Väliaikaisen Ensembl-tietokannan haku ja indeksointi kestää tyypillisesti muutamia kymmeniä sekunteja joten yksittäisten sekvenssien tapauksessa Ensembl:n oma BLAST käyttöliittymä on usein nopeampi. Suurille hakusekvenssimäärille tämän alustusvaiheen aiheuttama hidastus on kuitenkin hyvin vähäinen verrattuna hakuihin käytettävään aikaan. CSC:n laskentaklustereissa, Vuoressa ja Murskassa, voidaan lähettää miljoonia hakusekvenssejä ajoon yhdellä komennolla ja niiden hakutulokset voidaan saada, klusterien kuormituksesta riippuen, jopa alle päivässä.
Omien Ensembl-tietokantojen
luonti CSC:n MySQL-palvelimelle
Ensembl perustuu joukkoon MySQL-tietokantoja. Ensembl:n www käyttöliittymä tekee hakuja näistä tietokannoista ja niistä johdetaan myös lajikohtaiset fasta-, EMBL- ja GenBank-tiedostot. Yksittäisen eliön genomiin linkitetty data on varastoitu 1-4 tietokantaan, joista kussakin on useita kymmeniä tauluja.
Ensembl ja Ensembl genomes ylläpitävät MySQL-palvelimia, jotka ovat avoimia kaikille käyttäjille.( ensembldb.ensembl.org:5306 ja mysql.ebi.ac.uk:4157). Esimerkiksi CSC:llä toimiva EMBOSS käyttää näitä palvelimia hakiessaan ensembl-dataa. Halutessaan käyttäjät voivat siis päästä käsiksi myös Ensembl-datan perustavimmanlaatuiseen ja monipuolisimpaan esitystapaan. Kaikille avoimien Ensembl MySQL-palvelimien teho on kuitenkin rajallinen. Raskaampaa käyttöä varten Enesembl:n ylläpitäjät suosittelevat tarvittavien tietokantojen asentamista käyttäjän omille palvelimille.
CSC:llä Ensembl-tietokantoja on mahdollista asentaa ja käyttää kaivos.csc.fi-tietokantapalvelimella. Asennus on helppoa, mutta se vaatii tietokantatunnusten ja tyhjän tietokannan avaamisen CSC:n toimesta. Ohjeet tietokantapalvelun avaamisesta löytyvät osoitteesta.
http://www.csc.fi/tutkimus/tallennus/tietokantapalvelu/tietokanta_uusi
Huomaa että Ensembl koostuu useista rinnakkaisista tietokannoista. Jos siis haluat asentaa oman version ihmisen ja hiiren Ensembl_core-tietokannoista, sinun on tilattava CSC:ltä kaksi uutta tietokantaa.
Kun tietokanta on avattu, on taulujen luonti ja datan syöttäminen niihin varsin yksinkertaista. Alla olevassa esimerkissä asennetaan kaivos.csc.fi koneelle homo_sapiens_core_58_37c -tietokanta. Tätä varten on etukäteen tilattu CSC:ltä uusi tietokanta, jonka nimi on hs_core ja jota käytetään MySQL tunnuksella hs_core_admin. Tämä tunnuksen salasana on abc123.
Asennuksen alussa Hipun $WRKDIR-hakemistoon luodaan uusi tyhjä kansio nimeltä siirto ja siirrytään tähän hakemistoon.
cd $WRKDIR
mkdir siirto
cd siirto
Tämän jälkeen haetaan tietokannan asennuksessa tarvittavat tiedostot wget-komennolla Ensembl:n ftp- palvelimelta. Kun data on haettu, tiedostojen pakkaus puretaan gunzip -komennolla.
wget ”ftp://ftp.ensembl.org/pub/current_mysql/homo_sapiens_core_58_37c/*”
gunzip *.gz
Seuraavaksi alustetaan MySQL-ympäristö ja syötetään mysql-ohjelmalle kaikki hakemistossa olevat .sql -loppuiset tiedostot. Näissä tiedostoissa määritellään tietokannan taulujen rakenne.
module load mysql
mysql -u hs_core_admin --password=abc123 -h kaivos.csc.fi --local hs_core < *.sql
Lopuksi tyhjiin tietokantatauluihin syötetään datat, jotka ovat kutakin taulua vastaavassa .txt -muotoisessa tiedostossa. Datan syöttäminen tehdään mysqlimport-komennolla. Tietokannan jokaiselle taululle on suoritettava erillinen mysqlimport-komento. Tämä onnistuu esim. for-silmukalla:
foreach nimi (`ls *.txt`)
mysqlimport -h kaivos.csc.fi -u hs_core_admin --local --password=abc123 $nimi
echo "$nimi valmis"
end
Nyt tietokanta on asennettu ja valmis käytettäväksi. Lisää ohjeita kaivos.csc.fi-tietokantapalvelimen käytöstä löytyy CSC Data services guide oppaan luvusta 7 (http://www.csc.fi/english/pages/data-services/databases/index_html)
Ensembl (http://www.ensembl.org)
Ensembl genomes (http://ensemblgenomes.org)