Riba:
- Ikon amincewa da fitowar ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun ƙayyadaddun bayanai ta hanyar rubuta lambar da ke karantawa da tsaftace bayanan ilimin halitta zuwa hankali na wucin gadi da gudanar da kanta tare da Pandas, NumPy da Biopython.
- Samun damar gujewa haɗarin 'lambar kuskure tana aiki ba tare da kurakurai' ta hanyar gwada lambar tare da ƙaramin yanayin da aka san sakamakonsa da gwajin tabbatarwa.
- Ikon kafa bincike mai maimaitawa tare da nau'in nau'in nau'in nau'in nau'in nau'in nau'in nau'in nau'in nau'in nau'in nau'in nau'in nau'in nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'i nau'in)) don adana bayanai.
Harshen ilmin halitta na zamani yana ƙara zama Python. Yin aiki da hannu a cikin littafin rubutu yanzu ya zama layukan sarrafa lambobin dubun dubatar layukan tebur a sakan daya. A cikin wannan rukunin, za mu koyi amfani da AI a matsayin mai tsara shirye-shirye wanda ke buga lambar Python wanda ke karantawa, tsaftacewa, da taƙaita bayanan nazarin halittu. Abu mai mahimmanci shine rubuta lambar zuwa hankali na wucin gadi, gudanar da shi da kanka kuma tabbatar da sakamakon; Wannan shi ne saboda ba ya dogara da tsinkayar magana na samfurin ba, amma akan ƙaddara (ba da sakamakon guda ɗaya a cikin kowane gudu) fitarwa na lambar.
Ba kwa buƙatar sanin yadda ake yin lamba a cikin wannan rukunin; Za ku koyi bayyana niyya daidai da samar da fitarwa.
Me yasa Python kuma waɗanne ɗakunan karatu?
Mafi amfani da ɗakunan karatu na Python (laburare: fakitin ayyukan shirye-shiryen) a cikin ilmin halitta sune:
- pandas: Don karanta bayanan tabular (CSV, Excel) da aiwatar da ayyukan layin layi. Kayan aiki na asali don tacewa, rukuni, haɗa tebur magana ta kwayoyin halitta.
- NumPy: Don tsararrun lambobi da ayyukan matrix; Yana gudana ƙarƙashin pandas.
- Biopython: Don aiki tare da jerin DNA/RNA/protein, karanta fayilolin FASTA, fassarar (fassara DNA cikin furotin).
- matplotlib / seaborn: Don makircin makirci.
- SciPy/statsmodels: Don gwaje-gwajen ƙididdiga.
Ilimin wucin gadi ya san waɗannan ɗakunan karatu sosai. Aikin ku shine bayyana a fili abin da kuke son yi da wacce ɗakin karatu da kuma gudanar da tabbatar da lambar da aka samar.
Alamomi: Samfurin na iya wani lokaci "gyara" (hallucinate) aikin laburare wanda babu shi. Idan lambar ta ba da kuskure, kada ku firgita; manna kuskuren baya cikin samfurin kamar yadda yawanci yake gyara shi. Idan har yanzu bai yi aiki ba, duba takaddun hukuma.
Mataki-mataki: share teburin kirgawa
Bari mu ce kuna da ƙididdiga.csv: layuka kwayoyin halitta ne, ginshiƙai samfurori ne, sel suna da ɗanyen kirga karantawa. Matakan farko na yau da kullun:
- Loading: Karanta tebur tare da pandas.
- Ganewa: Bincika girman (genes nawa, samfura nawa), ƙimar da ba ta dace ba, kwafin sunayen jinsin.
- Tace: Yi watsi da kwayoyin halittar da ba a karanta su a kowane samfurin (jimlar ƙidaya 0); wadannan surutu ne.
- Takaitawa: Ƙididdige adadin adadin karatun kowane samfurin (girman ɗakin karatu); Samfurin da ya yi ƙasa da ƙasa ƙila ya gaza.
Kuna iya fitar da wannan aikin zuwa hankali na wucin gadi kamar haka:
Matsayi: Kai mataimaki ne na Python wanda aka mayar da hankali akan bioinformatics. Aiki: Karanta fayil counts.csv tare da pandas. Bayanai: layuka sune gene (index=gene_id), ginshiƙai samfurori 24 ne, ƙididdiga masu ƙididdigewa ne. Ina so: (1) buga girman, (2) zubar da kwayoyin halittar da ba a taba karantawa ba, (3) nuna jimlar karantawa ga kowane samfurin a cikin jadawali. Ƙara gajerun sharhi na Turkiyya zuwa kowane layi. Kawai ba da lambar aiki.
Yana haifar da lambar ƙira; ka gudu da shi. Idan ka ga ginshiƙai 24 da madaidaitan adadin kwayoyin halitta (misali 15,000-25,000) a cikin fitarwa, kuna kan hanya. Idan samfurin ɗaya ya ƙunshi kashi ɗaya bisa goma kamar sauran karatun, rubuta samfurin a ƙasa.
uku mini lokuta
Case 1 - Rashin tarkon ƙima: ɗalibi yana da ma'anar ƙididdigewa a cikin tebur mai samfurin metabolomics 30; Sakamakon ya kasance m. Matsala: Kwayoyin da suka ɓace an cika su da rubutun "ND" maimakon NaN (ba lamba ba), don haka an karanta shafi a matsayin rubutu. An gyara shi lokacin da na sanya hankali na wucin gadi na ce "Yi ƙimar ND NaN kuma canza shafi zuwa lambobi". Darasi: Koyaushe bincika danyen bayanai da farko.
Case 2 - Kuskuren Haɗawa: Wani mai bincike ya haɗu da tebur biyu (bayani da bayanin kwayoyin halitta) amma an rasa kwayoyin halitta 2,000. Dalili: a cikin tebur ɗaya ID ɗin sune "ENSG00000141510", ɗayan kuma sune "ENSG00000141510.14" (tare da lambar sigar). Model ya rubuta layin lamba ɗaya wanda ya share lambar sigar; An rage asarar zuwa kwayoyin halitta 40. Darasi: daidaita tsarin ID kafin haɗa su.
Case na 3 - Rashin bayanan shiru: Wani mai fasaha bai lura cewa bayan tacewa ba, adadin kwayoyin halitta ya ragu daga 22,000 zuwa 8,000; an saita ƙofa ba daidai ba (> jimlar 10 maimakon> karantawa 10 a kowane samfurin). Wani sanannen kwayar halitta (jinin kula da gida: kwayoyin halitta irin su GAPDH wadanda ake bayyana su akai-akai a cikin kowane tantanin halitta) a ƙarshe ya ɓace. Darasi: duba don "dole ne a samu" tantace ta bayan gida.
Gwaji tare da halin da aka sani (mafi mahimmanci al'ada)
Hanyar da ta fi dacewa don amincewa da daidaiton lambar da aka rubuta ta hanyar basirar wucin gadi ita ce gwada shi da ƙaramin samfurin wanda ka san sakamakonsa a gaba. Misali, ba da tebur mai guntuwa tare da layuka 5; lissafta duka da hannu; Duba idan lambar ta ba da sakamako iri ɗaya.
Ƙara gwaji zuwa lambar tacewa da kuka rubuta: Ƙirƙiri ƙaramin DataFrame mai kunshe da kwayoyin halitta 5, samfurori 3, da gangan saita kwayoyin halitta 2 zuwa sifili, tabbatar tare da tabbatar da cewa tacewa ta watsar da ainihin waɗannan kwayoyin halitta guda biyu. Yi gwajin aiwatarwa.
tabbatar da gargadin ku idan lambar ta kauce daga halin da ake tsammani. Wannan ita ce garkuwa mafi ƙarfi daga haɗarin "ƙarar ƙarya ta shiru".
Rauni mai ƙarfi / Ƙarfi mai ƙarfi
Rauni: "Tsabtace ginshiƙi na."
Ƙarfi: "counts.csv: jerin layuka (gene_id index), samfurin ginshiƙan 24, ƙimar raw integer. Yi abubuwan da ke biyowa: bayar da rahoton bacewar dabi'u, watsar da kwayoyin halitta wanda ya kai 0 a duk samfurori, buga jimlar karantawa ga kowane samfurin, kwatanta kwayoyin halitta kafin / bayan tace. Kawai ba da aiki, sharhi Python code."
Bambanci: Ƙarfi mai ƙarfi yana ƙayyadaddun tsarin bayanai, matakai, da fitarwa na inganci (kafin/bayan kwatanta). Samfurin bai kamata ya yi hasashe ba.
Chart kwatanta: AI ko manual?
ciniki
Buga zuwa hankali na wucin gadi
tabbatar da kanku
Karatun CSV, canza tsarin
Ee
Duba girma da iri
Tace, tarawa
Ee
Ƙidaya kafin/bayan
Gwajin kididdiga
Ee (kodi)
Tabbatar da zato da gwadawa
"Layi nawa ya rage?"
A'a (bari code ya ƙidaya)
Karanta fitarwa
Ma'anar nazarin halittu sakamakon
wani bangare
Ana buƙatar sharhin ƙwararru
Kuskuren gama gari
- Dogara ga lambar da ƙirar ke samarwa: "Mene ne matsakaicin magana?" Yi tambaya ga lambar, ba samfurin ba.
- Rashin duba nau'ikan bayanai: Rukunin lambobi da aka karanta kamar rubutu shiru suna mayar da sakamakon da ba daidai ba.
- Ba a bincika bayan tacewa: Tabbatar da cewa kwayar halittar da ake tsammanin tana nan.
- Mantawa da zuriyar bazuwar: Idan ba a daidaita iri a cikin lambar da ke ɗauke da ayyukan bazuwar ba, sakamakon yana canzawa kowane lokaci; repeatability ya lalace.
- Gudun lambar ba tare da karanta shi ba: Aƙalla karanta sharhi kuma bi dabaru.
Hankali: Don kawai lambar tana aiki ba yana nufin cewa lambar ta yi daidai ba. "Lambar kuskure wanda ke aiki ba tare da kurakurai ba" shine yanayi mafi haɗari a cikin ilimin halitta; saboda sakamakon da ba daidai ba ana samar da shi shiru. Gwaji tare da yanayin da aka sani yana kawar da wannan hadarin.
Reproducibility: kimar kimiyya na lambar
A ilmin halitta, kimar kimiyyar sakamakon ya dogara ne da ikon wasu (da kuma kan ku na gaba) don sake haifar da shi. Ba a yin rikodin ayyukan tebur na hannu; Babu wanda ya san wane tantanin halitta ya canza kuma ta yaya. Lambar ta rubuta kowane mataki. Don haka, yi la'akari da binciken da kuke samarwa tare da basirar wucin gadi azaman rikodin adanawa da rabawa, ba a matsayin akwatin lokaci ɗaya ba.
Halaye guda uku suna da mahimmanci don bincike mai maimaitawa. Na farko shine nau'in pinning: lura da nau'in ɗakin karatu da kuke amfani da shi (misali pandas 2.2); Daban-daban iri na iya ba da sakamako daban-daban. Na biyu shine iri bazuwar: gyara iri a cikin kowane lambar da ke ɗauke da ayyukan bazuwar ta yadda sakamakon ya kasance iri ɗaya a kowane gudu. Na uku, kar a taɓa canza ɗanyen bayanan: kar a taɓa ainihin fayil ɗin, yi duk canje-canje a cikin lamba domin a iya mirgine shi baya.
Ƙara layin da ke buga nau'ikan ɗakunan karatu da aka yi amfani da su a farkon lambar bincike da kuka rubuta, kuma idan akwai tsari bazuwar, gyara iri da sanp.random.seed(42). Kada a canza danyen CSV kwata-kwata, ajiye duk abin da ake fitarwa a cikin wani fayil daban.
Jupyter littafin rubutu: hade da bincike da labari
Yanayin da aka fi amfani dashi a cikin bioinformatics shine littafin rubutu na Jupyter (littafin rubutu: kayan aiki wanda ya haɗu da lamba, fitarwa da bayanin a cikin takarda ɗaya). Samun AI don samar da lambar bisa ga sel ɗin littafin rubutu, tare da kowane mataki ya rabu da bayanin Markdown, yana sauƙaƙa muku duka da abokan aikin ku don bin bincike. Wannan ya sa binciken ya zama littafin dakin gwaje-gwaje da za a iya karantawa, ba “akwatin baƙar fata ba”.
Gane tsarin fayil ɗin halitta
Lokacin sarrafa bayanan ilimin halitta tare da Python, koyaushe zaku ci karo da wasu tsarin fayil. Kafin samfurin ya iya karanta fayil daidai, dole ne ya san irin tsarin da yake cikin; Idan tsarin ba daidai ba ne, za ku fada cikin tarko "kuskuren lambar da ke aiki ba tare da kurakurai ba". Mafi yawanci sune:
tsari
Abun ciki
abin hawa mai dacewa
CSV/TSV
Bayanan tebur (bayani, aunawa)
pandas
FASTA (.fa/.fasta)
DNA/RNA/protein jerin
biopython
FASTQ (.fq)
Raw sequencing yana karanta + inganci
Biopython, kayan aikin al'ada
Farashin VCF
Bambancin (maye gurbi).
pandas/pysam
GFF/GTF
Bayanan kwayoyin halitta (matsayin kwayoyin halitta)
pandas, gffutils
Idan baku gane tsari ba, da farko ku sa samfurin ya gano shi ta hanyar nuna wasu layukan samfuri, sannan ku nemi lambar karantawa:
Ina ba da layuka 5 na farko na fayil ɗin da ke ƙasa. Wane tsarin biofile ne wannan? Bayyana ma'anar ginshiƙai/filaye, sannan ba da lambar da ke karantawa cikin aminci (tsara ta duba) wannan fayil ɗin a Python. Layukan farko 5: [manna]
Wannan hanyar tana hana kurakuran shiru da ke tasowa daga zato na tsari tun farko.
A takaice
Python shine babban yaren sarrafa bayanan halittu; pandas, NumPy da Biopython sune kayan aikin yau da kullun. AI yana rubuta wannan lambar da sauri, amma kuna gudanar da shi kuma ku tabbatar da shi. Mafi mahimmancin al'ada shine gwada lambar tare da ƙaramin samfurin wanda sakamakonsa kuka sani kuma ku shigar da tsammanin cikin lambar tare da tabbatarwa. Dogaro da ƙayyadaddun fitarwa na lambar da kuke gudanarwa, ba zato na baki ba.
Aikin aikace-aikace
Buga lambar da ke da AI karanta tebur na CSV da kuke da shi (ko samfurin daya), buga girmansa, sannan tace babu komai. Sannan ƙara gwajin tabbatarwa daga ƙirar tare da layin 5 na bayanan dummy. Gudanar da code; Kula da adadin kwayoyin halitta kafin da bayan tacewa. Bincika cewa kwayar halitta (misali GAPDH/ACTB) tana nan a cikin sakamakon.
jerin abubuwan dubawa
- [ ] Na duba girman da nau'in bayanan kafin sarrafa su.
- [ ] Na yi amfani da bacewar dabi'u a bayyane.
- [ ] Na kwatanta adadin layuka kafin/bayan tace.
- [ ] Na ƙara gwajin fayyace tare da sanannen yanayin.
- [ ] Na bar kirgawa/lissafin zuwa lambar, ba samfurin ba.
- [ ] Na karanta sharhin lambar kuma na bi dabaru.