Enhed 2 / 11

DNA/RNA-sekvensanalyse: justering, motiv, åben læseramme og grundlæggende bioinformatik

Gevinster:

  • Forstå begreberne sekvensjustering, motivsøgning og åben læseramme (ORF) og få den kunstige intelligens til at producere eksekverbar, verificerbar Biopython/analysekode.
  • Evne til at kontrollere ramme-, streng- og genomversionsantagelser i sekvensen og koden produceret af kunstig intelligens og sammenligne resultatet med en kendt reference
  • Evne til at anvende disciplinen med ikke at bruge nogen sekvenser givet af kunstig intelligens fra hovedet og bekræfte hver sekvens fra en primær kilde såsom NCBI / Ensembl

Sekvensanalyse er molekylærbiologiens mest fundamentale opgave: at læse en DNA-streng (eller U i RNA) bestående af bogstaverne A, T, G, C, sammenligne den og finde meningsfulde regioner (gener, motiver, regulatoriske sekvenser) i den. I denne enhed lærer du, hvordan du bruger kunstig intelligens (AI) som kodeskrivnings- og fortolkningspartner i disse værker; men du vil lære, hvorfor du altid skal verificere resultatet med eksekverbar kode og primær kilde. Vores kerneværktøjssæt vil være Biopython (et Python-bibliotek skrevet til at arbejde med biologiske sekvenser) og officielle tilpasningsværktøjer.

Først en advarsel: LLM kan producere fejl fra hukommelsen, selv en kort sekvens. Det kan blande et bogstav, når det bliver bedt om at beregne det omvendte komplement af en sekvens direkte. Udfør derfor aldrig strengoperationer ved at stole på AI'ens tekstsvar, men med den kode, som AI'en skriver, og du kører.

Grundbegreber: hvad arbejder vi med?

  • Basepar (bp): Bogstavenheden for DNA. Det menneskelige genom er cirka 3,2 milliarder bp.
  • Strand: DNA er en dobbelt helix; De to strenge er hinandens antikomplement. Det betyder noget, i hvilken tråd en variant er erklæret.
  • Codon: Gruppe af tre baser; hvert kodon svarer til en aminosyre (proteinets byggesten). For eksempel er ATG normalt startkodonet (methionin).
  • Åben læseramme (ORF): Den sekvensregion, der kan kode for et protein, der strækker sig fra startkodonet til stopkodonet (TAA, TAG, TGA).
  • Motiv: Gentagende kort sekvensmønster, der har en bestemt funktion; for eksempel den region, som en transkriptionsfaktor binder til.
  • Alignment: Arranger to eller flere sekvenser under hinanden for at se deres ligheder.

Trin for trin: arbejdsgang for sekvensanalyse

1. Få serien fra en pålidelig kilde. Lad ikke AI sige "minde om" sekvensen; Download det som FASTA (standard tekstformat, der gemmer sekvenser) fra en kilde som NCBI, Ensembl osv. og giv denne sekvens til AI.

2. Få transaktionen udført med kode. Få operationer såsom omvendt komplement, transkription (DNA→RNA), translation (RNA→protein), GC-forhold udført af Biopython-kode og kør koden selv.

3. Tjek ramme- og trådantagelser. Bed ham/hende tydeligt angive i kommentarlinjen, hvilken tråd og i hvilken læseramme koden kører.

4. Sammenlign resultatet med den kendte reference. Match proteinet eller ORF du producerede med den kendte post i databasen. Længde og initial mismatch fanger de mest almindelige fejl.

5. Bekræft justering med officielt værktøj. Lad ikke AI "øjeæble" ligheden mellem to serier; Få en numerisk score med BLAST (sequence similarity search tool) eller et alignment-bibliotek.

Tip: Lad altid strenglængde være din første kontrol. Antallet af aminosyrer i et protein er cirka en tredjedel af antallet af baser i den kodende sekvens (eksklusive stopkodonet). Hvis længden ikke passer, er rammen eller gevindet forkert.

tre minisager

Tilfælde 1 — Invers komplementfejl. En studerende spurgte AI om det omvendte komplement af sekvensen 5'-GATTACA-3'; AI gav "TGTAATC" (korrekt). Men i en længere sekvens på 20 baser sprang AI en base over, og resultatet var 19 baser. Da eleven kørte den med Seq("...").reverse_complement() i Biopython, tog den 20 baser og fangede fejlen. Tabt tid: 2 minutter.

Tilfælde 2 — Rammeskift. En forsker fik en 900-baser kodende sekvens oversat til protein; AI "læser" et protein på 280 aminosyrer via tekst. Det forventede var 299 aminosyrer (900/3 − 1 stop). Forskellen var, at AI startede fra det andet nukleotid. Den korrekte længde blev opnået, da koden blev startet fra den første frame.

Sag 3 — Bekræftelse opnået. En laboratorietekniker undersøgte 16S rRNA-sekvenserne af to bakteriestammer ved at spørge "er de ens?" han spurgte AI; "Sandsynligvis det samme," sagde AI. Da teknikeren kørte BLAST, så han 97,8% lighed og 12 baseforskelle - en kritisk forskel for diskrimination på artsniveau. Hvis der ikke var nogen numerisk score, ville det forkerte "samme" resultat blive indtastet i rapporten.

Eksempel: en verificerbar Biopython-stream

fra Bio.Seq import Seq# Importer sekvensen fra den FASTA du downloadede fra NCBI; Lad ikke AI sige "mind mig". dna = Seq("ATGGCCATTGTAATGGGCCGCTGAAAGGGTGCCCGATAG")print("Længde (bp):", len(dna))print("GC rate (%):", round(100 * (dna.count("G") + dna.count("C")) / len(dna), 1))print("GC rate (%):" ramme 1; op til stop codonprotein = dna.translate(to_stop=True)print("Protein:", protein, "| Længde (mm):", len(protein))

Selvom AI'en skriver denne kode, ser du nøjagtigheden af outputtet ved at køre den. Længde, GC-forhold og protein er sammenlignelige med den kendte reference.

Fire kopierbare skabeloner

1) Verificerbar array-drift:

Skriv en eksekverbar Biopython-kode for følgende FASTA-sekvens: [sekvens/opgave]. Beregn længden, GC-forholdet, omvendt komplement og translation fra ramme 1. Kommenter hvilken tråd og ramme, der er forudsat. Fremstil ikke sekvensen; Bare brug den rækkefølge, jeg gav dig.

2) ORF-screening:

Skriv en Python-kode, der finder alle åbne læserammer i den givne sekvens (og alle tre på den valgfri omvendte streng). Rapportér startposition, længde og oversat protein for hver ORF. Marker også den længste ORF.

3) Bekræftelse af justering:

Jeg vil sammenligne to arrays. "Lignende?" Døm ikke efter øjet; skriv en parvis tilpasningskode og rapporter lighedsprocenten og forskelstallet numerisk. Kilde: [serie 1], [serie 2].

4) Motivsøgning:

Søg efter følgende motiv (også som regulært udtryk) i den givne streng: [motiv]. Angiv placeringen (1-baseret) for alle kampe. Skriv og specificer også overlappende matches.

Svag prompt / Stærk prompt

Svag: "Skriv proteinet i denne sekvens: ATGGCC..."

Problem: AI oversætter med tekst, kan forvirre ramme/tråd, kan ikke bekræfte længden.

Stærk: "Skriv en eksekverbar Biopython-kode, der oversætter følgende sekvens fra ramme 1, rapporterer længden og stopkodonen; skift ikke sekvensen, brug bare den, jeg gav: ATGGCC..."

Hvorfor det er kraftfuldt: Behandling udføres i kode, rammerne er klare, output kan verificeres numerisk.

Quest

forkert tilgang

rigtige tilgang

omvendt komplement

Lad AI skrive med tekst

Biopython reverse_complement()

oversættelse

Lad AI oversætte fra hukommelsen

Kode, der specificerer rammerne

lighed

"Lignende?" øjenbeslutning

BLAST/alignment score

motiv

Lad AI tælle i hånden

Kode med lokationsliste

Array kilde

Lad AI huske

FASTA fra NCBI/Ensembl

Almindelige fejl

  • Uden at specificere rammerne. Oversættelse fra den forkerte ramme giver et kort eller defekt protein.
  • Sammenfiltring af garnet. Varianten eller motivet kan være i omvendt gevind; trådantagelse skal skrives.
  • At få AI til at huske sekvensen. LLM kan ikke producere lang streng uden fejl; Du leverer altid serien.
  • At dømme efter øje for lighed. Sig ikke "samme/lignende" uden en numerisk score.
  • RNA/DNA blanding. Blanding af U med T forstyrrer oversættelsen; afklare inputtypen.
Forsigtig: Selv en høj procentdel lighed i BLAST og lignende værktøjer betyder ikke nødvendigvis biologisk "identisk"; E-værdien (sandsynlighed) og længden af ​​det justerede område bør evalueres sammen.

Dybde: Aflæsning af et BLAST output korrekt

At få AI til at fortolke et BLAST-resultat sparer tid; Men tag ikke nogen beslutninger, før du selv har læst de tre numre. Den første er e-værdien (forventet værdi): det forventede antal gange denne score kan forekomme tilfældigt; En meget lille værdi som 1e-50 betyder stærk, en værdi som 0,1 er næsten støj. Den anden er forespørgselsdækning: hvilken procentdel af forespørgselssekvensen matchet dækker; 98 % lighed, men kun 20 % dækning betyder, at en lille del af sekvensen ligner og er vildledende. Den tredje er procent identitet. Uden disse tre læst sammen, beviser en høj procentdel ikke noget.

Et konkret eksempel: en forsker sprængte et fragment af et gen, han lige havde sekventeret; "99% matcher human BRCA2, samme gen," sagde AI. Da forskeren så på outputtet, så han, at dækningen kun var 15 % - den matchende del var kun en kort, gentaget region ud af tusindvis af baser af BRCA2. Den korrekte fortolkning var ikke "samme gen", men "deler et fælles gentagelsesmotiv". Læsning af omfanget forhindrede en fuldstændig fejlidentifikation.

BLAST kolonne

hvad står der

fælde

E-værdi

sandsynlighed for tilfældighed

Hvis den er høj, kan matchen være meningsløs

Forespørgselsdækning

Dækket forespørgselsrate

Hvis den er lav, er procentdelen vildledende

procent identitet

Matchende basissats

alene er ikke nok

bitscore

Normaliseret justeringsstyrke

Fortolkes efter længde

5) BLAST output fortolkningsskabelon:

Fortolk følgende BLAST-tabel, men beslut dig ikke: opsummer e-værdien, forespørgselsdækningen og procentidentiteten for hver række separat, og angiv, hvilke tærskler der skal overholdes, før du når en konklusion som "samme gen". Tabel: [indsæt].

Sammenfattende

  • Sekvensoperationer (omvendt komplement, translation, ORF, GC-forhold) skal udføres med den kode, som AI'en skriver, og du kører, ikke med AI'ens tekstsvar.
  • Ramme- og trådantagelser bør altid være eksplicit angivet; længdekontrol er det hurtigste fejlfangende værktøj.
  • Få altid sekvensen fra en pålidelig kilde (NCBI, Ensembl); Lad ikke AI huske det.
  • Lighed og tilpasning vurderes af officielle værktøjer og numeriske scores, ikke af øjet.

Ansøgningsopgave

Download en kort kodningssekvens fra en pålidelig kilde (f.eks. NCBI). Med skabelon 1 og 2 ovenfor, spørg AI om en Biopython-kode, kør koden; Sammenlign længden og sekvensen af ​​det protein, du producerede, med den kendte post i databasen. Hvis du finder et misforhold, så prøv at rette det ved at ændre ramme-/trådantagelsen og noter processen.

tjekliste

  • [ ] Jeg fik sekvensen fra en pålidelig kilde, jeg havde ikke AI til at huske den.
  • [ ] Jeg udførte array-operationer med eksekverbar kode.
  • [ ] Jeg har klart specificeret rammen og trådantagelsen.
  • [ ] Jeg sammenlignede protein/ORF-længden med referencen.
  • [ ] Jeg vurderede ligheden med det officielle værktøj og numeriske score.
  • [ ] Jeg tjekkede RNA/DNA og U/T-separation.