Awọn anfani:
- Agbara lati gbẹkẹle iṣelọpọ ipinnu nipasẹ kikọ koodu ti o ka ati sọ data ibi mimọ si oye atọwọda ati ṣiṣe funrararẹ pẹlu Pandas, NumPy ati Biopython
- Ni anfani lati yago fun eewu ti 'koodu ti ko tọ ṣiṣẹ laisi awọn aṣiṣe' nipasẹ idanwo koodu pẹlu ipo kekere eyiti abajade jẹ mimọ ati idanwo idaniloju.
- Agbara lati ṣe agbekalẹ itupalẹ atunwi pẹlu pinni ẹya, irugbin laileto ati awọn isesi titọju data aise
Ede ti isedale ode oni ti n di Python siwaju sii. Ṣiṣe afọwọṣe ni iwe afọwọkọ laabu kan bayi yipada si awọn laini ti ṣiṣiṣẹ koodu ẹgbẹẹgbẹrun awọn laini ti awọn tabili fun iṣẹju keji. Ninu ẹyọ yii, a yoo kọ ẹkọ lati lo AI gẹgẹbi oluṣeto eto ti o ṣe atẹjade koodu Python ti o ka, sọ di mimọ, ati ṣe akopọ data ibi-aye rẹ. Ohun pataki ni lati kọ koodu naa si itetisi atọwọda, ṣiṣẹ funrararẹ ati rii daju abajade; Eyi jẹ nitori pe ko dale lori asọtẹlẹ ọrọ ti awoṣe, ṣugbọn lori ipinnu ipinnu (pese abajade kanna ni gbogbo ṣiṣe) ti koodu naa.
O ko nilo lati mo bi o si koodu ni yi kuro; Iwọ yoo kọ ẹkọ lati ṣafihan aniyan naa ni deede ati pese abajade.
Kini idi ti Python ati awọn ile-ikawe wo?
Awọn ile ikawe Python ti a lo julọ (ile-ikawe: package ti awọn iṣẹ ṣiṣe ti a ṣe) ninu isedale jẹ:
- pandas: Lati ka data tabular (CSV, Tayo) ati ṣe awọn iṣẹ ila-ila. Ọpa ipilẹ lati ṣe àlẹmọ, ẹgbẹ, dapọ tabili ikosile pupọ kan.
- NumPy: Fun awọn ọna nọmba ati awọn iṣẹ matrix; O nṣiṣẹ labẹ pandas.
- Biopython: Fun ṣiṣẹ pẹlu awọn ilana DNA/RNA/amuaradagba, kika awọn faili FASTA, itumọ (tumọ DNA sinu amuaradagba).
- matplotlib / seaborn: Fun awọn igbero igbero.
- SciPy/statsmodels: Fun awọn idanwo iṣiro.
Oye atọwọda mọ awọn ile-ikawe wọnyi daradara. Iṣẹ rẹ ni lati sọ kedere ohun ti o fẹ ṣe pẹlu iru ile-ikawe ati lati ṣiṣẹ ati rii daju koodu ti ipilẹṣẹ.
ofiri: Awọn awoṣe le ma "ṣe soke" (hallucinate) a ìkàwé iṣẹ ti ko si. Ti koodu ba fun aṣiṣe kan, maṣe bẹru; Lilọ aṣiṣe pada si awoṣe bi o ṣe n ṣe atunṣe nigbagbogbo. Ti ko ba tun ṣiṣẹ, ṣayẹwo awọn iwe aṣẹ osise.
Igbese nipa igbese: aferi a kika tabili
Jẹ ki a sọ pe o ni counts.csv: awọn ori ila jẹ awọn jiini, awọn ọwọn jẹ awọn ayẹwo, awọn sẹẹli jẹ kika kika aise. Awọn igbesẹ akọkọ ti o wọpọ:
- Ikojọpọ: Ka tabili pẹlu pandas.
- Awari: Ṣayẹwo iwọn (awọn jiini melo, awọn ayẹwo melo), awọn iye ti o padanu, awọn orukọ apilẹṣẹ ẹda.
- Sisẹ: Jabọ awọn jiini ti a ko ka ni eyikeyi ayẹwo (lapapọ kika 0); ariwo ni wọnyi.
- Akopọ: Ṣe iṣiro apapọ nọmba awọn kika fun ayẹwo (iwọn ile-ikawe); Ayẹwo ti o kere ju le ti kuna.
O le ṣe igbasilẹ iṣan-iṣẹ yii si oye atọwọda bi atẹle:
Ipa: Iwọ jẹ oluranlọwọ Python lojutu lori bioinformatics. Iṣẹ-ṣiṣe: Ka faili counts.csv pẹlu pandas. Data: awọn ori ila jẹ apilẹṣẹ ( atọka = gene_id), awọn ọwọn jẹ awọn ayẹwo 24, awọn iye jẹ awọn iṣiro aise odidi. Mo fẹ: (1) tẹjade iwọn, (2) sọ awọn apilẹṣẹ ti a ko ka silẹ, (3) ṣe afihan lapapọ kika fun apẹẹrẹ ni aworan igi kan. Ṣafikun awọn asọye Turki kukuru si laini kọọkan. Kan fun koodu iṣẹ.
Ṣiṣe koodu awoṣe; o nṣiṣẹ rẹ. Ti o ba ri awọn ọwọn 24 ati nọmba ti o ni oye ti awọn Jiini (fun apẹẹrẹ 15,000-25,000) ninu iṣelọpọ, o wa lori ọna. Ti apẹẹrẹ kan ba ni idamẹwa bi ọpọlọpọ awọn kika bi awọn miiran, kọ apẹẹrẹ yẹn si isalẹ.
mẹta mini igba
Ọran 1 - Pakute iye ti o padanu: Ọmọ ile-iwe kan ni iṣiro ti o ni iwọn ni tabili metabolomics ayẹwo-30; Abajade jẹ asan. Isoro: awọn sẹẹli ti o padanu ti kun pẹlu ọrọ “ND” dipo NaN (kii ṣe nọmba), nitorinaa a ka iwe naa bi ọrọ. O wa titi nigbati mo ṣe oye atọwọda sọ “Ṣe awọn iye ND NaN ki o yi ọwọn pada si awọn nọmba”. Ẹkọ: nigbagbogbo ṣawari data aise akọkọ.
Ọran 2 - Aṣiṣe iṣọpọ: Oluwadi kan dapọ awọn tabili meji (ikosile ati alaye jiini) ṣugbọn awọn Jiini 2,000 ti sọnu. Idi: ninu tabili kan awọn ID jẹ "ENSG00000141510", ninu ekeji wọn jẹ "ENSG00000141510.14" (pẹlu nọmba ẹya). Awoṣe kowe kan nikan ila ti koodu ti nso awọn version nọmba; Ipadanu naa dinku si awọn jiini 40. Ẹkọ: mö awọn ọna kika ID ṣaaju ki o to dapọ wọn.
Ọran 3 - Pipadanu data ipalọlọ: Onimọ-ẹrọ kan ko ṣe akiyesi pe lẹhin sisẹ, nọmba awọn jiini silẹ lati 22,000 si 8,000; ala ti ṣeto ti ko tọ (> 10 lapapọ dipo> 10 kika ninu ayẹwo kọọkan). Jiini ti a mọ (jiini itọju ile: awọn jiini bii GAPDH ti a fihan nigbagbogbo ninu gbogbo sẹẹli) ti sọnu nikẹhin. Ẹkọ: ṣayẹwo fun “gbọdọ ni” apilẹṣẹ-lẹhin-àlẹmọ.
Idanwo pẹlu ipo ti a mọ (iwa pataki julọ)
Ọna ti o daju julọ lati gbẹkẹle otitọ ti koodu ti a kọ nipasẹ itetisi atọwọda ni lati ṣe idanwo pẹlu apẹẹrẹ kekere ti abajade rẹ ti o mọ tẹlẹ. Fun apẹẹrẹ, fun ni idinwon tabili pẹlu 5 ila; ṣe iṣiro lapapọ pẹlu ọwọ; Wo boya koodu naa fun abajade kanna.
Ṣafikun idanwo kan si koodu sisẹ ti o kowe: Ṣe ina DataFrame kekere kan ti o ni awọn Jiini 5, awọn apẹẹrẹ 3, mọọmọ ṣeto awọn Jiini 2 si odo, rii daju pẹlu idaniloju pe àlẹmọ naa sọ awọn jiini 2 wọnyi ni deede. Mu idanwo naa ṣiṣẹ.
assert kilo fun ọ ti koodu ba yapa lati ihuwasi ti o nireti. Eyi ni apata ti o lagbara julọ lodi si ewu ti “ipari iro ipalọlọ”.
Ailagbara kiakia / Alagbara kiakia
Alailagbara: "Mọ chart mi."
Alagbara: "counts.csv: awọn ori ila (itọka gene_id), apẹẹrẹ awọn ọwọn 24, awọn iye aise odidi. Ṣe atẹle naa: jabo awọn iye ti o padanu, sọ awọn Jiini ti o ṣajọpọ si 0 kọja gbogbo awọn ayẹwo, tẹjade lapapọ kika fun apẹẹrẹ kọọkan, ṣe afiwe kika pupọ ṣaaju / lẹhin àlẹmọ. Kan fun ṣiṣẹ, koodu Python asọye. ”
Iyatọ: Atọka ti o lagbara ni pato eto data, awọn igbesẹ, ati iṣẹjade afọwọsi (ṣaaju/lẹhin lafiwe). Awọn awoṣe ko ni lati gboju le won.
Aworan afiwe: AI tabi afọwọṣe?
idunadura
Tẹjade si oye atọwọda
daju ara rẹ
CSV kika, iyipada kika
Bẹẹni
Ṣayẹwo iwọn ati awọn iru
Sisẹ, akojọpọ
Bẹẹni
Ka ṣaaju / lẹhin
Statistics igbeyewo
Bẹẹni (koodu)
Jẹrisi awọn awqn ati idanwo
"Awọn ila melo lo ku?"
Rara (jẹ ki koodu naa ka)
Ka abajade
Ti ibi itumo ti esi
apa kan
A beere asọye amoye
Awọn aṣiṣe ti o wọpọ
- Gbẹkẹle nọmba ti awoṣe n gbejade: “Kini ikosile apapọ?” Beere ibeere naa si koodu, kii ṣe awoṣe.
- Ko ṣayẹwo awọn iru data: Awọn ọwọn ti awọn nọmba ti a ka bi ọrọ dakẹ da awọn abajade ti ko tọ pada.
- Ko ṣayẹwo àlẹmọ lẹhin-lẹhin: Jẹrisi pe jiini ti a nireti wa sibẹ.
- Ngbagbe irugbin ti aileto: Ti irugbin ko ba wa titi ninu koodu ti o ni awọn iṣẹ laileto, abajade yoo yipada ni gbogbo igba; repeatability ti bajẹ.
- Ṣiṣe koodu laisi kika rẹ: O kere ju ka awọn asọye ki o tẹle ọgbọn naa.
Akiyesi: Nitoripe koodu ṣiṣẹ ko tumọ si pe koodu naa tọ. "koodu ti ko tọ ti o ṣiṣẹ laisi awọn aṣiṣe" jẹ ipo ti o lewu julọ ni isedale; nitori abajade ti ko tọ ni a ṣe ni idakẹjẹ. Idanwo pẹlu ipo ti a mọ ti yọkuro ewu yii.
Reproducibility: ijinle sayensi iye ti awọn koodu
Ninu isedale, iye imọ-jinlẹ ti abajade kan da lori agbara awọn miiran (ati ọjọ iwaju rẹ) lati ṣe ẹda rẹ. Awọn iṣẹ tabili Afowoyi ko ni igbasilẹ; Ko si ẹniti o mọ iru sẹẹli wo ati bii. Awọn koodu iwe aṣẹ kọọkan igbese. Nitorinaa, ronu nipa itupalẹ ti o gbejade pẹlu itetisi atọwọda bi igbasilẹ ti o fipamọ ati pinpin, kii ṣe bi apoti akoko kan.
Mẹta isesi ni o wa pataki fun a atunwi. Akọkọ jẹ pinni ẹya: ṣe akiyesi ẹya ti ile-ikawe ti o nlo (fun apẹẹrẹ pandas 2.2); O yatọ si ti ikede le fun orisirisi awọn esi. Ẹlẹẹkeji ni irugbin laileto: ṣatunṣe irugbin ni gbogbo koodu ti o ni awọn iṣẹ laileto ki abajade jẹ kanna ni gbogbo ṣiṣe. Kẹta, maṣe yi data aise pada: maṣe fi ọwọ kan faili atilẹba, ṣe gbogbo awọn iyipada ninu koodu ki o le yiyi pada.
Ṣafikun awọn ila ti o tẹ awọn ẹya ti awọn ile-ikawe ti a lo ni ibẹrẹ koodu itupalẹ ti o kọ, ati pe ti ilana laileto ba wa, ṣatunṣe irugbin pẹlu sanp.random.seed (42). Maṣe yi CSV aise pada rara, ṣafipamọ gbogbo iṣẹjade ni faili lọtọ.
Jupyter ajako: apapo ti onínọmbà ati alaye
Ayika ti a lo julọ ni bioinformatics jẹ iwe akiyesi Jupyter (iwe akiyesi: ọpa ti o ṣajọpọ koodu, iṣelọpọ ati apejuwe ninu iwe kanna). Nini AI ṣe ipilẹṣẹ koodu ni ibamu si awọn sẹẹli iwe ajako, pẹlu igbesẹ kọọkan ti o yapa nipasẹ alaye Markdown, jẹ ki o rọrun fun iwọ ati awọn ẹlẹgbẹ rẹ lati tẹle itupalẹ naa. Eyi jẹ ki itupalẹ jẹ iwe ajako yàrá kika, kii ṣe “apoti dudu”.
Ti idanimọ awọn ọna kika faili ti ibi
Nigbati o ba n ṣiṣẹ data ti ibi pẹlu Python, iwọ yoo pade nigbagbogbo awọn ọna kika faili kan. Ṣaaju ki awoṣe naa le ka faili ni deede, o gbọdọ mọ iru ọna kika ti o wa ninu; Ti o ba gba ọna kika ti ko tọ, iwọ yoo ṣubu sinu ẹgẹ “koodu aṣiṣe ti o ṣiṣẹ laisi awọn aṣiṣe”. Awọn wọpọ julọ ni:
ọna kika
Akoonu
dara ọkọ
CSV/TSV
Data tabili (ikosile, wiwọn)
pandas
FASTA (.fa/.fasita)
DNA/RNA/protein lesese
biopython
FASTQ (.fq)
Aise lesese Say + didara
Biopython, awọn irinṣẹ aṣa
VCF
Akojọ iyatọ (iyipada).
pandas / pysam
GFF/GTF
Atọka genome (awọn ipo apilẹṣẹ)
pandas, gffutils
Ti o ko ba mọ ọna kika kan, akọkọ jẹ ki awoṣe ṣe idanimọ rẹ nipa fifihan awọn laini ayẹwo diẹ, lẹhinna beere fun koodu kika naa:
Mo n fun awọn laini 5 akọkọ ti faili ni isalẹ. Ọna kika biofile wo ni eyi? Ṣe alaye itumọ awọn ọwọn/awọn aaye, lẹhinna fun koodu ti o ka lailewu (awọn sọwedowo ọna kika) faili yii ni Python. Laini akọkọ 5: [lẹẹmọ]
Ọna yii ṣe idilọwọ awọn aṣiṣe ipalọlọ ti o dide lati arosinu ti fọọmu ni aaye akọkọ.
Ni akojọpọ
Python jẹ ede iṣelọpọ akọkọ fun data ti ibi; pandas, NumPy ati Biopython jẹ awọn irinṣẹ ipilẹ. AI kọ koodu yii ni kiakia, ṣugbọn o ṣiṣẹ ki o rii daju. Iwa ti o ṣe pataki julọ ni lati ṣe idanwo koodu naa pẹlu apẹẹrẹ kekere ti abajade rẹ ti o mọ ati fi sabe ifojusọna sinu koodu pẹlu assert. Gbekele abajade ipinnu ipinnu ti koodu ti o ṣiṣẹ, kii ṣe amoro ọrọ.
Ohun elo iṣẹ-ṣiṣe
Ṣe atẹjade koodu kan ti o ni AI ka tabili CSV ti o ni (tabi apẹẹrẹ kan), tẹ iwọn rẹ sita, ki o ṣe àlẹmọ awọn jiini ofo. Lẹhinna ṣafikun idanwo assert lati awoṣe pẹlu awọn laini 5 ti data idinwon. Ṣiṣe koodu naa; Ṣe akiyesi nọmba awọn jiini ṣaaju ati lẹhin àlẹmọ. Ṣayẹwo pe jiini itọju ile kan (fun apẹẹrẹ GAPDH/ACTB) ṣi wa ninu abajade.
akojọ ayẹwo
- [] Mo ṣayẹwo iwọn ati awọn oriṣi ti data ṣaaju ṣiṣe rẹ.
- [] Mo ti ṣakoso awọn iye ti o padanu ni gbangba.
- [] Mo ṣe afiwe nọmba awọn ori ila ṣaaju/lẹhin àlẹmọ.
- [] Mo ti fi kun ohun assert igbeyewo pẹlu kan mọ majemu.
- [] Mo fi kika / iṣiro silẹ si koodu, kii ṣe awoṣe.
- [] Mo ti ka awọn comments ti awọn koodu ati ki o tẹle awọn kannaa.