metatiedoissa käytän SQL-mallia, joka on jotain seuraavaa:
CREATE TABLE Project (ac TEXT, - project / Study liittyminen ENSIMMÄINEN AVAIN ( CREATE TABLE Sample (- biologinen näyte / biopsia ac TEXT, ENSIMMÄINEN AVAIN (ac)); CREATE TABLE AnalysisSample (prj_ac TEXT, - projektin liittymismerkki (Project.ac) symboli TEXT, - lyhyt nimi, joka on ainutlaatuinen projektin näyte_ac TEKSTI, - näytteen liittyminen (näyte.ac) ENSIMMÄINEN AVAIN (prj_ac, symboli)); LUO TAULUKON kokoelma (- BAM-tiedosto ac TEXT, - kokoelma- / kohdennustiedoston liittyminen prj_ac TEXT, - projektin liittyminen ( Project.ac) ENSIMMÄINEN AVAIN (ac)); Luo taulukko ReadGroup (cl_ac TEXT, - kokoelman liittyminen (Collection.ac) rg_id TEXT, - @ RG-ID sample_sym TEXT, - @ RG-SM; vastaava AnalysisSample.symboli ENSIMMÄINEN AVAIN (cl_ac, rg_id)); LUO TAULUKKO VariantSet (- VCF-tiedosto ac TEXT, - VCF-tiedosto liittyminen prj_ac TEXT, - projektin liittyminen (Project.ac) ENSIMMÄINEN AVAIN (ac)); LUO TAULUKKO Va riantSample (vs_ac TEXT, - VCF-tiedoston liittyminen (VariantSet.ac) sample_sym TEXT, - näytesymboli VCF-tiedostossa; vastaavat AnalysisSample.symbol ENSIMMÄINEN AVAIN (vs_ac, sample_sym));
Kaavalla on Project
ja biologiset Sample
-taulukot, jotka ovat toisistaan riippumattomia korkealla tasolla. AnalysisSample
kuvaa BAM: ssä tai VCF: ssä käytettävän näytteen ja yhdistää Project
ja biologisen Sample
. Tärkeää on, että jokaisella AnalysisSample
: lla on projektissa ainutlaatuinen symboli (katso ensisijainen hakemisto). Tämä on symboli BAM-lukuryhmärivillä tai VCF-näyteviivalla. Collection
on itse asiassa BAM / CRAM-tiedosto. Teoriassa BAM-tiedosto voi sisältää useamman kuin yhden näytteen (tosin käytännössä harvinainen), johon osoitetaan erillinen ReadGroup
-taulukko. Lopuksi VariantSet
on VCF-tiedosto. VariantSample
kertoo, mitkä näytteet sisältyvät jokaiseen VCF-tiedostoon.
Tämä on koko skeeman luuranko. Voit lisätä ylimääräisiä kenttiä sopiviin taulukoihin (esim. Tiedostopolku ja hg19 / hg38 / etc kohtaan Collection
, lukupituus ReadGroup
-kohtaan ja perhetunnus kohtaan Sample
). Tarvitset myös indeksejä taulukkojen tehokkaaseen liittämiseen ja ehkä enemmän taulukoita monimutkaisiin rakenteisiin (esim. Sukutaulu).
Tämän mallin pitäisi toimia suurimman osan ajasta projekteissa, joihin olen osallistunut. Se on saanut inspiraation GA4GH: n JSON-mallista, mutta versioni on SQL-muodossa, yksinkertaisempi ja siinä on myös hieman erilainen rakenne, joka on mielestäni parempi.