Unità 2 / 11

Fundamentali tal-Analiżi tad-Dejta Bijoloġika b'Python

Qligħ:

  • Kapaċità li tafda l-output deterministiku billi tikteb il-kodiċi li jaqra u tnaddaf id-dejta bijoloġika għall-intelliġenza artifiċjali u tħaddem hija stess ma' Pandas, NumPy u Biopython
  • Li tkun kapaċi tevita r-riskju ta '"kodiċi ħażin jaħdem mingħajr żbalji" billi tittestja l-kodiċi b'sitwazzjoni żgħira li r-riżultat tagħha huwa magħruf u test assert.
  • Kapaċità li tiġi stabbilita analiżi ripetibbli b'pinning tal-verżjoni, żrigħ bl-addoċċ u drawwiet tal-preservazzjoni tad-dejta mhux ipproċessata

Il-lingwa tal-bijoloġija moderna qed issir dejjem aktar Python. L-ipproċessar manwali f'notebook tal-laboratorju issa jinbidel f'linji ta 'kodiċi li jipproċessaw għexieren ta' eluf ta 'linji ta' tabelli kull sekonda. F'din l-unità, se nitgħallmu nużaw l-AI bħala ko-programmatur li jistampa kodiċi Python li jaqra, inaddaf, u jiġbor fil-qosor id-dejta bijoloġika tiegħek. L-importanti huwa li tikteb il-kodiċi għall-intelliġenza artifiċjali, mexxiha lilek innifsek u tivverifika r-riżultat; Dan għaliex ma tiddependix fuq il-previżjoni verbali tal-mudell, iżda fuq l-output deterministiku (li jipprovdi l-istess riżultat f'kull ġirja) tal-kodiċi.

M'għandekx bżonn tkun taf kif tikkodifika f'din l-unità; Int titgħallem tesprimi l-intenzjoni b'mod korrett u tipprovdi l-output.

Għaliex Python u liema libreriji?

L-aktar libreriji Python użati (librerija: pakkett ta’ funzjonijiet lesti) fil-bijoloġija huma:

  • pandas: Biex taqra data tabulari (CSV, Excel) u twettaq operazzjonijiet ta 'ringiela-kolonna. Għodda bażika biex tiffiltra, tiġbor, tgħaqqad tabella ta 'espressjoni tal-ġeni.
  • NumPy: Għal matriċi numeriċi u operazzjonijiet matriċi; Hija timxi taħt pandas.
  • Biopython: Għal xogħol b'sekwenzi ta 'DNA/RNA/proteini, qari ta' fajls FASTA, traduzzjoni (it-traduzzjoni tad-DNA fi proteina).
  • matplotlib / seaborn: Għall-plottijiet tal-plottijiet.
  • SciPy/statsmodels: Għal testijiet tal-istatistika.

L-intelliġenza artifiċjali taf sew dawn il-libreriji. Ix-xogħol tiegħek huwa li tiddikjara b'mod ċar dak li trid tagħmel b'liema librerija u li tħaddem u tivverifika l-kodiċi ġġenerat.

Ħjiel: Il-mudell jista 'xi kultant "tpatti" (alluċina) funzjoni ta' librerija li ma teżistix. Jekk il-kodiċi jagħti żball, m'għandekx paniku; it-twaħħil tal-iżball lura fil-mudell kif normalment jiffissa. Jekk xorta ma taħdimx, iċċekkja d-dokumentazzjoni uffiċjali.

Pass pass: ikklerjar tabella tal-għadd

Ejja ngħidu li għandek counts.csv: ringieli huma ġeni, kolonni huma kampjuni, ċelloli huma għadd ta' qari mhux maħdum. L-ewwel passi tipiċi:

  1. Tagħbija: Aqra t-tabella bil-pandas.
  2. Skoperta: Iċċekkja d-daqs (kemm ġeni, kemm kampjuni), valuri neqsin, ismijiet tal-ġeni duplikati.
  3. Iffiltrar: Armi ġeni li ma jinqraw fl-ebda kampjun (għadd totali 0); dawn huma storbju.
  4. Agħti fil-qosor: Ikkalkula n-numru totali ta 'qari għal kull kampjun (daqs tal-librerija); Il-kampjun li huwa baxx wisq jista’ jkun falla.

Tista' testerna dan il-fluss tax-xogħol lill-intelliġenza artifiċjali kif ġej:

Rwol: Inti assistent Python iffukat fuq il-bijoinformatika. Kompitu: Aqra l-fajl counts.csv bil-pandas. Dejta: ringieli huma ġene (indiċi=gene_id), kolonni huma 24 kampjun, valuri huma għadd sħiħ mhux ipproċessat. Irrid: (1) tipprintja d-daqs, (2) armi l-ġeni li qatt ma nqraw, (3) nuri l-qari totali għal kull kampjun fi bar graph. Żid kummenti qosra Torok għal kull linja. Agħti biss il-kodiċi tax-xogħol.

Jiġġenera kodiċi tal-mudell; inti tmexxiha. Jekk tara 24 kolonna u numru raġonevoli ta 'ġeni (eż. 15,000-25,000) fl-output, int fit-triq it-tajba. Jekk kampjun wieħed ikun fih qari minn għaxra daqs l-oħrajn, ikteb dak il-kampjun.

tliet każijiet żgħar

Każ 1 — Nassa ta' valur nieqsa: Student kellu l-medja kkalkulata f'tabella ta' metabolomika ta' 30 kampjun; Ir-riżultat kien assurd. Problema: iċ-ċelloli neqsin kienu mimlija bit-test "ND" minflok NaN (mhux numru), għalhekk il-kolonna inqrat bħala test. Ġie ffissat meta għamilt l-intelliġenza artifiċjali tgħid "Agħmel valuri ND NaN u ikkonverti l-kolonna f'numri". Lezzjoni: dejjem esplora l-ewwel data mhux ipproċessata.

Każ 2 — Żball tal-għaqda: Riċerkatur għaqqad żewġ tabelli (espressjoni u annotazzjoni tal-ġeni) iżda 2,000 ġene intilfu. Kawża: f'tabella waħda l-IDs kienu "ENSG00000141510", fl-oħra kienu "ENSG00000141510.14" (b'numru tal-verżjoni). Mudell kiteb linja waħda ta 'kodiċi li kklerjat in-numru tal-verżjoni; It-telf tnaqqas għal 40 ġene. Lezzjoni: tallinja l-formati tal-ID qabel ma tgħaqqadhom.

Każ 3 — Telf ta 'dejta siekta: Tekniku ma ndunax li wara l-iffiltrar, in-numru ta' ġeni niżel minn 22,000 għal 8,000; il-limitu ġie stabbilit b'mod żbaljat (> 10 totali minflok> 10 qari f'kull kampjun). Ġene magħruf (ġene tad-dar: ġeni bħal GAPDH li huma kontinwament espressi f'kull ċellula) fl-aħħar mill-aħħar kien nieqes. Lezzjoni: iċċekkja għal post-filtru tal-ġene "għandu jkollu".

Ittestjar b'sitwazzjoni magħrufa (vizzju l-aktar importanti)

L-aktar mod żgur biex tafda l-eżattezza tal-kodiċi miktub minn intelliġenza artifiċjali huwa li tittestjah b'kampjun żgħir li r-riżultat tiegħu tkun taf minn qabel. Per eżempju, agħti tabella finta b'5 ringieli; ikkalkula t-total manwalment; Ara jekk il-kodiċi jagħtix l-istess riżultat.

Żid test mal-kodiċi tal-filtrazzjoni li ktibt: Iġġenera DataFrame żgħir li jikkonsisti minn 5 ġeni, 3 kampjuni, issettja deliberatament 2 ġeni għal żero, ivverifika b'asserixxi li l-filtru jarmi eżattament dawn iż-żewġ ġeni. Agħmel it-test eżekutibbli.

assert iwissek jekk il-kodiċi jiddevja mill-imġieba mistennija. Din hija l-aktar tarka b'saħħitha kontra r-riskju tal-"konklużjoni falza siekta".

Pront dgħajjef / Pront qawwi

Dgħajjef: "Naddaf it-tabella tiegħi."

Qawwija: "counts.csv: ringieli tal-ġene (indiċi tal-ġene_id), kampjun ta '24 kolonni, valuri integer mhux ipproċessat. Agħmel dan li ġej: irrapporta valuri nieqsa, armi ġeni li jammontaw għal 0 fil-kampjuni kollha, ipprintja qari totali għal kull kampjun, qabbel l-għadd tal-ġeni qabel/wara l-filtru. Agħti biss xogħol, ikkummenta kodiċi Python."

Differenza: Pront b'saħħtu jispeċifika l-istruttura tad-dejta, il-passi, u l-output tal-validazzjoni (qabel/wara t-tqabbil). Il-mudell m'għandux għalfejn raden.

Tabella ta 'tqabbil: AI jew manwal?

transazzjoni

Stampa għall-intelliġenza artifiċjali

ivverifikaha lilek innifsek

Qari CSV, konverżjoni tal-format

Iva

Iċċekkja d-daqs u t-tipi

Iffiltrar, raggruppament

Iva

Għadd qabel/wara

Test tal-istatistika

Iva (kodiċi)

Ikkonferma s-suppożizzjonijiet u ttestja

"Kemm fadal linji?"

Le (ħalli l-kodiċi jgħodd)

Aqra l-output

Tifsira bijoloġika tar-riżultat

parzjalment

Huwa meħtieġ kumment espert

Żbalji komuni

  • Billi sserraħ fuq in-numru li jipproduċi l-mudell: "X'inhi l-espressjoni medja?" Staqsi l-mistoqsija lill-kodiċi, mhux lill-mudell.
  • Tipi ta' dejta ma jiċċekkjawx: Kolonni ta' numri moqrija bħal test siekta jirritornaw riżultati żbaljati.
  • Mhux iċċekkja wara l-filtru: Ivverifika li ġene mistenni għadu hemm.
  • Tinsa ż-żerriegħa ta 'l-addoċċ: Jekk iż-żerriegħa ma tkunx iffissata fil-kodiċi li fih operazzjonijiet każwali, ir-riżultat jinbidel kull darba; ir-ripetibbiltà hija mħassra.
  • Tmexxi l-kodiċi mingħajr ma taqrah: Mill-inqas aqra l-kummenti u segwi l-loġika.
Attenzjoni: Sempliċement għax il-kodiċi jaħdem ma jfissirx li l-kodiċi huwa korrett. "Kodiċi ħażin li jaħdem mingħajr żbalji" hija l-aktar sitwazzjoni perikoluża fil-bijoloġija; għax ir-riżultat ħażin jiġi prodott fis-skiet. L-ittestjar b'kundizzjoni magħrufa jelimina dan ir-riskju.

Riproduċibbiltà: valur xjentifiku tal-kodiċi

Fil-bijoloġija, il-valur xjentifiku ta 'riżultat jiddependi fuq il-kapaċità ta' oħrajn (u l-awto futur tiegħek) li jirriproduċuh. Operazzjonijiet manwali tal-mejda mhumiex irreġistrati; Ħadd ma jaf liema ċellula tinbidel u kif. Il-kodiċi jiddokumenta kull pass. Għalhekk, aħseb fl-analiżi li tipproduċi b'intelliġenza artifiċjali bħala rekord maħżun u kondiviż, mhux bħala kaxxa ta' darba.

Tliet drawwiet huma importanti għal analiżi ripetibbli. L-ewwel hija l-pinning tal-verżjoni: innota liema verżjoni tal-librerija qed tuża (eż. pandas 2.2); Verżjoni differenti tista 'tagħti riżultati differenti. It-tieni hija ż-żerriegħa tal-addoċċ: waħħal iż-żerriegħa f'kull kodiċi li fih operazzjonijiet każwali sabiex ir-riżultat ikun l-istess f'kull ġirja. It-tielet, qatt ma tbiddel id-dejta mhux ipproċessata: tmissx il-fajl oriġinali, agħmel it-trasformazzjonijiet kollha fil-kodiċi sabiex tkun tista 'tiġi rrumblata lura.

Żid linji li jistampaw il-verżjonijiet tal-libreriji użati fil-bidu tal-kodiċi ta 'analiżi li ktibt, u jekk ikun hemm proċess każwali, waħħal iż-żerriegħa b'sanp.random.seed(42). Tibdilx is-CSV mhux ipproċessat għal kollox, ħlief l-output kollu f'fajl separat.

Jupyter notebook: kombinazzjoni ta 'analiżi u narrattiva

L-ambjent l-aktar użat fil-bijoinformatika huwa n-notebook Jupyter (notebook: għodda li tgħaqqad kodiċi, output u deskrizzjoni fl-istess dokument). Li l-AI tiġġenera l-kodiċi skont iċ-ċelloli tal-notebook, b'kull pass separat bi spjegazzjoni ta' Markdown, jagħmilha aktar faċli kemm għalik kif ukoll għall-kollegi tiegħek biex isegwu l-analiżi. Dan jagħmel l-analiżi notebook tal-laboratorju li jinqara, mhux "kaxxa sewda".

Rikonoxximent ta 'formati ta' fajls bijoloġiċi

Meta tipproċessa dejta bijoloġika b'Python, kontinwament tiltaqa 'ma' ċerti formati ta 'fajls. Qabel ma l-mudell ikun jista 'jaqra fajl b'mod korrett, għandu jkun jaf f'liema format huwa; Jekk ikollok il-format ħażin, inti ser jaqgħu fin-nassa "kodiċi ħażin li jaħdem mingħajr żbalji". L-aktar komuni huma:

format

Kontenut

vettura xierqa

CSV/TSV

Dejta tat-tabella (espressjoni, kejl)

pandas

FASTA (.fa/.fasta)

Sekwenzi tad-DNA/RNA/proteini

biopython

FASTQ (.fq)

Sekwenzar mhux maħdum qari + kwalità

Biopython, għodda tad-dwana

VCF

Lista tal-varjanti (mutazzjoni).

pandas/pysam

GFF/GTF

Annotazzjoni tal-ġenoma (pożizzjonijiet tal-ġeni)

pandas, gffutils

Jekk ma tagħrafx format, l-ewwel agħmel li l-mudell jidentifikah billi juri ftit linji ta' kampjun, imbagħad staqsi għall-kodiċi tal-qari:

Qed nagħti l-ewwel 5 linji tal-fajl hawn taħt. X'format tal-bijofile huwa dan? Spjega t-tifsira tal-kolonni/oqsma, imbagħad agħti kodiċi li jaqra b'mod sikur (iċċekkja l-format) dan il-fajl f'Python. L-ewwel 5 linji: [paste]

Dan l-approċċ jipprevjeni żbalji siekta li jirriżultaw mill-assunzjoni tal-forma fl-ewwel lok.

Fil-qosor

Python huwa l-lingwa ewlenija tal-ipproċessar għad-dejta bijoloġika; pandas, NumPy u Biopython huma l-għodod bażiċi. L-AI tikteb dan il-kodiċi malajr, imma int tmexxih u tivverifikah. L-aktar vizzju kritiku huwa li tittestja l-kodiċi b'kampjun żgħir li r-riżultat tiegħu taf u daħħal l-aspettattiva fil-kodiċi b'assert. Jistrieħ fuq l-output deterministiku tal-kodiċi li tmexxi, mhux suppożizzjonijiet verbali.

Kompitu ta' applikazzjoni

Stampa kodiċi li għandha l-AI taqra t-tabella CSV li għandek (jew kampjun wieħed), ipprintja d-daqs tagħha, u ffiltra l-ġeni vojta. Imbagħad żid test assert mill-mudell b'5 linji ta 'data finta. Mexxi l-kodiċi; Innota n-numru ta 'ġeni qabel u wara l-filtru. Iċċekkja li ġene tad-dar (eż. GAPDH/ACTB) għadu preżenti fir-riżultat.

lista ta' kontroll

  • [ ] Iċċekkja d-daqs u t-tipi tad-dejta qabel ma pproċessajtha.
  • [ ] Immaniġġajt b'mod espliċitu valuri neqsin.
  • [ ] Qabbilt in-numru ta' ringieli qabel/wara l-filtru.
  • [ ] Żidt test assert b'kundizzjoni magħrufa.
  • [ ] Ħallejt l-għadd/kalkolu għall-kodiċi, mhux il-mudell.
  • [ ] Qrajt il-kummenti tal-kodiċi u segwejt il-loġika.