DNA-sekvensering
<img style="float: right;" src="DNA_animation.gif"> <div class="alert alert-block alert-success">Her skal vi se på DNA-koden og hvordan den brukes til å lage proteiner. Totalt har mennesket nesten 100 000 000 000 000 () celler i kroppen som hver inneholder en DNA-tråd.
</div>Innhold
Bakgrunn
DNA (deoksyribonukleinsyre) inneholder en enorm mengde informasjon. Mestparten av DNAet ligger i cellekjernen, men det er noe DNA som ligger i mitokondriene. Dette DNAet kalles mitokondrie-DNA. DNAet i cellekjernen er kveilet opp rundt proteiner kalt histoner. Denne oppkveilingen kaller vi for et kromosom. Kromosomer har vi mulighet til å se gjennom et mikroskop. Totalt har mennesker 46 kromsomer i (nesten) alle celler.
DNA-molekylene består totalt av 3 millioner baser som er koblet sammen med et skjelett av sukkermolekyler og fosfatmolekyler. Skjelettet former DNA-molekylet til en dobbel heliks. Deler av DNA-molekylene danner gener, som er oppskrifter på proteiner
En viktig egenskap med DNA er at det kan kopiere seg selv. Det er viktig når celler skal dele seg. I tillegg kan det kopiere deler av seg selv for produksjon av proteiner.
<div class="alert alert-block alert-info">Oppgave 1
I hvilke celler er det ikke 48 kromosomer? Hvorfor?
Hva er et gen?
</div>DNA-koden
<img style="float: right;" src="DNA_baser.png" width="600">DNA-koden inneholder 4 baser, adenin (), tymin (), cytosin (), og guanin (). Disse er koblet sammen i par, der og er et par og og er det andre paret. De kan ikke danne andre par enn dette. Dette gjør at hvis vi kjenner den ene delen av en DNA-tråd kan vi lage den andre delen ved å følge denne regelen.
<div class="alert alert-block alert-success">Totalt består DNA av over 3 millioner slike basepar, og hvis vi hadde strukket ut DNA-molekylet fra en celle ville det blitt ca 2 meter langt. Hadde vi strukket ut alt DNA i kroppen vår ville det blitt dobbelt så langt som solsystemet vårt. I tillegg vil et DNAet i en celle inneholde tilsvarende ca 1.5 GB med data.
</div>DNA inneholder all informasjon som skal til for å opprettholde og bygge kroppen vår. Vi skal her se på hvordan DNA klarer dette gjennom blant annet kopiering og proteinsyntesen.
Oppgave 2
Vi vet at den ene DNA-tråden vår har basekoden:
Hva er er den tilsvarende basekoden på den andre DNA-tråden?
</div>Basekode en tråd fra en annen
Vi skal nå lage et program som tar inn en del av DNA-tråden og vil skrive ut den andre tilhørende tråden.
<div class="alert alert-block alert-info">Oppgave 3
Diskuter med sidemannen hva denne programmeringskoden må gjøre. Hva tar programmet inn, hva gjør programmet, og hva gir programmet ut tilslutt?
</div>Vi starter med å lage en programmeringskode som tar inn basekoden fra brukeren og deretter splitter opp basekoden med kommandoen list()
. Denne kommandoen tar inn en streng (tekst, for eksempel AATGTA) og splitter den opp til sine enkelte tegn (bokstaver, A A T G T A).
DNA = input("Skriv inn en DNA-kode (A, T, C, G): ")
DNA = list(DNA)
</div>Vi må gå gjennom alle bitene av basekoden og bytte dem ut med det tilhørende baseparet. Dette gjør vi med en for
-løkke som går gjennom alle basene. Vi avbryter løkken med break
hvis noen har skrevet inn en gal base.
for i in range(len(DNA)):
if DNA[i] == 'A':
DNA[i] = 'T'
elif DNA[i] == 'T':
DNA[i] = 'A'
elif DNA[i] == 'C':
DNA[i] = 'G'
elif DNA[i] == 'G':
DNA[i] = 'C'
else:
print("DNA-koden inneholder noen ikke-gyldige baser")
break
</div>Tilslutt setter vi sammen bokstavene vår til en basekode igjen med kommandoen join
.
DNA = ''.join(DNA)
print(DNA)
</div>
Hele programmeringskoden blir da:
[26]:
DNA = input("Skriv inn en DNA-kode (A, T, C, G): ")
DNA = list(DNA)
for i in range(len(DNA)):
if DNA[i] == 'A':
DNA[i] = 'T'
elif DNA[i] == 'T':
DNA[i] = 'A'
elif DNA[i] == 'C':
DNA[i] = 'G'
elif DNA[i] == 'G':
DNA[i] = 'C'
else:
print("DNA-koden inneholder noen ikke-gyldige baser")
break
DNA = ''.join(DNA)
print(DNA)
Skriv inn en DNA-kode (A, T, C, G): ATCGCCTAGGA TAGCGGATCCT
Oppgave 4
Test programmet for flere varianter av DNA-koder. Fungerer programmet alltid?
</div>Transkripsjon av DNA-kode
<img style="float: right;" src="Transkripsjon.png">DNA-koden inneholder oppskriften på en mengde proteiner som styrer alt fra farge på øyne, blodceller til hormoner osv. Siden DNA-koden er så viktig for oss ligger den inne i cellekjernen i alle cellene våre. Der ligger den godt beskyttet med en ekstra membran rundt seg. Organellene som setter sammen aminosyrer til proteiner heter ribosomer og ligger utenfor cellekjernen. Vi må dermed få informasjonen som er i DNA-molekylet ut til ribosomet. Vi kunne tenkt oss at DNA kan gå ut av cellekjernen, men da blir det utsatt for kjemiske endringer fra for eksmpel frie radikaler. Dette kan endre/skade DNAet og gjøre at cellene ikke klarer å produsere proteiner. Det er for risikabelt, så kroppen har en bedre løsning.
I cellekjernene lages en kopi av den ene DNA-tråden gjennom transkripsjon. DNA-heliksen blir først åpnet opp, deretter kopieres et gen fra den ene tråden, før DNA-heliksen lukkes igjen. Den kopierte tråden kaller vi m-RNA (messenger-RNA). I kopieringen til m-RNA erstattes tymin () med urasil ().
Oppgave 5
Bruk internett til å undersøke hvorfor m-RNA inneholder Urasil istedenfor Tymin.
</div>Oppgave 6
Under er programmet vi brukte for å kopiere en DNA-tråd. Endre på programmet slik at det isteden skriver ut m-RNA som blir dannet fra DNA-sekvensen vi skriver inn.
</div>[27]:
DNA = input("Skriv inn en DNA-kode: ")
DNA = list(DNA)
for i in range(len(DNA)):
if DNA[i] == 'A':
DNA[i] = 'U'
elif DNA[i] == 'T':
DNA[i] = 'A'
elif DNA[i] == 'C':
DNA[i] = 'G'
elif DNA[i] == 'G':
DNA[i] = 'C'
else:
print("DNA-koden inneholder noen ikke-gyldige baser")
break
mRNA = ''.join(DNA)
print(mRNA)
Skriv inn en DNA-kode: AGTTCCGAA UCAAGGCUU
Tripletter (kodon)
Proteiner består av en rekke aminosyrer, så for å lage et protein må m-RNA kode for rekkefølgen på disse aminosyrene. Vi har totalt 20 aminosyrer, så vi trenger nok bokstaver til å kunne klare å kode for 20 forskjellige aminosyrer. Hvis vi bruker én base har vi kun 4 muligheter:
- A
- T
- G
- C
Dette er ikke nok for å kode for 20 forskjellige aminosyrer.
Oppgave 7
Hvor mange muligheter har vi hvis vi bruker to baser?
For tre basepar øker antall muligheter. Her bruker vi litt kombinatorikk fra matematikken for å vise antall muligheter. For første base har vi 4 muligheter, for andre har vi 4 muligheter og for siste har vi 4 muligheter. Totalt har vi da
muligheter.
</div>Hvis dere ikke er overbevist kan vi lage et kort program som viser alle mulighetene.
[1]:
from pylab import *
baser = ['A', 'T', 'C', 'G']
indeks = 1
for i in range(4):
for j in range(4):
for k in range(4):
kodon = baser[i] + baser[j] + baser[k]
print(indeks, ''.join(kodon))
indeks = indeks + 1
1 AAA 2 AAT 3 AAC 4 AAG 5 ATA 6 ATT 7 ATC 8 ATG 9 ACA 10 ACT 11 ACC 12 ACG 13 AGA 14 AGT 15 AGC 16 AGG 17 TAA 18 TAT 19 TAC 20 TAG 21 TTA 22 TTT 23 TTC 24 TTG 25 TCA 26 TCT 27 TCC 28 TCG 29 TGA 30 TGT 31 TGC 32 TGG 33 CAA 34 CAT 35 CAC 36 CAG 37 CTA 38 CTT 39 CTC 40 CTG 41 CCA 42 CCT 43 CCC 44 CCG 45 CGA 46 CGT 47 CGC 48 CGG 49 GAA 50 GAT 51 GAC 52 GAG 53 GTA 54 GTT 55 GTC 56 GTG 57 GCA 58 GCT 59 GCC 60 GCG 61 GGA 62 GGT 63 GGC 64 GGG
m-RNA bruker en sekvens av 3 baser for å kode for en aminosyre, vi kaller en slik triplett for et kodon. Siden vi har 64 varianter med 3 baser og kun 20 aminosyrer, er det en del basekombinasjoner som må enten kode for samme aminosyre eller være overflødige. Det viser seg at det ikke er noen overflødige kombinasjoner, men at flere kodoner kan kode for samme aminosyre.
Tripletter til aminosyrer
<div class="alert alert-block alert-info"> <img style="float: right;" src="Aminosyrer.png" width="400">Oppgave 8
Klikk her for å se hvilke kombinasjoner som gir hvilke aminosyrer. En oppsummering er gitt i figuren til høyre <br><br>
a) Hvilke amonisyrer koder sekvensen for? <br><br>
I tabellen ser vi at er et start-kodon, og , , er stopp-kodoner.
b) Hva er et start- og stopp-kodon? <br><br>
Av figuren til høyre ser vi at koder for aminosyren metionin.
c) Hvordan kan vi kode for aminosyren metionin når også er startkodonet?
<br><br><br><br><br><br>
</div>I programbiten under har vi laget en tabell som linker et kodon til bokstaven for aminosyren i figuren over.
[2]:
mRNA_til_aminosyre = {
'AUA':'I', 'AUC':'I', 'AUU':'I', 'AUG':'M',
'ACA':'T', 'ACC':'T', 'ACG':'T', 'ACU':'T',
'AAC':'N', 'AAU':'N', 'AAA':'K', 'AAG':'K',
'AGC':'S', 'AGU':'S', 'AGA':'R', 'AGG':'R',
'CUA':'L', 'CUC':'L', 'CUG':'L', 'CUU':'L',
'CCA':'P', 'CCC':'P', 'CCG':'P', 'CCU':'P',
'CAC':'H', 'CAU':'H', 'CAA':'Q', 'CAG':'Q',
'CGA':'R', 'CGC':'R', 'CGG':'R', 'CGU':'R',
'GUA':'V', 'GUC':'V', 'GUG':'V', 'GUU':'V',
'GCA':'A', 'GCC':'A', 'GCG':'A', 'GCU':'A',
'GAC':'D', 'GAU':'D', 'GAA':'E', 'GAG':'E',
'GGA':'G', 'GGC':'G', 'GGG':'G', 'GGU':'G',
'UCA':'S', 'UCC':'S', 'UCG':'S', 'UCU':'S',
'UUC':'F', 'UUU':'F', 'UUA':'L', 'UUG':'L',
'UAC':'Y', 'UAU':'Y', 'UAA':'_', 'UAG':'_',
'UGC':'C', 'UGU':'C', 'UGA':'_', 'UGG':'W',
}
I programbiten under oversetter vi en m-RNA sekvens til en aminosyresekvens (et protein).
[3]:
m_RNA = 'GCACUUCUUGAGUAAUUAAUUAAAGAGCGUUAACUUGCAUAAUCUACAGCAGCA'
m_RNA = list(m_RNA)
m_RNA_kodon = []
Protein = []
N = int(len(m_RNA)/3)
for i in range(1, N+1):
kodon = ''.join(m_RNA[3*i-3] + m_RNA[3*i-2] + m_RNA[3*i-1])
Protein.append(mRNA_til_aminosyre[kodon])
m_RNA_kodon.append(kodon)
print(m_RNA_kodon)
print(''.join(Protein))
['GCA', 'CUU', 'CUU', 'GAG', 'UAA', 'UUA', 'AUU', 'AAA', 'GAG', 'CGU', 'UAA', 'CUU', 'GCA', 'UAA', 'UCU', 'ACA', 'GCA', 'GCA'] ALLE.LIKER.LA.STAA
Oppgave 9
Oversett følgende m_RNA-sekvens til en proteinsekvens
Lag deretter din egen m_RNA-kode som gir et ord eller en setning. Bruk figuren over til å gjøre dette.
</div>I programbiten under har vi laget en tabell som linker bokstaven for aminosyre til navnet på aminosyren.
[30]:
bokstav_til_aminosyre = {
'F':'Phenylalanin', 'L':'Leucin', 'I':'Isoleucin', 'M':'Metionin',
'V':'Valin', 'S':'Serin', 'P':'Prolin', 'T':'Threonin',
'A':'Alanin', 'Y':'Tyrosin', 'G':'Glycin', 'H':'Histidin',
'Q':'Glutamin', 'N':'Asparagin', 'L':'Lysin', 'D':'Asparginsyre',
'E':'Glutaminsyre', 'C':'Cystein', 'W':'Tryptophan', 'R':'Arginin',
'_':'Stop',
}
I programbiten under oversetter vi en m-RNA sekvens til en aminosyresekvens (et protein) og skriver ut det fulle navnet på alle aminosyrene i sekvensen.
[31]:
m_RNA = 'AUGCGGGAUCUUAGGAAUAUAGGCCUCAGCAUCUAA'
m_RNA = list(m_RNA)
m_RNA_kodon = []
sekvens = []
aminosyrer = []
N = int(len(m_RNA)/3)
for i in range(1, N+1):
kodon = ''.join(m_RNA[3*i-3] + m_RNA[3*i-2] + m_RNA[3*i-1])
aminosyre = mRNA_til_aminosyre[kodon]
sekvens.append(aminosyre)
aminosyrer.append(bokstav_til_aminosyre[aminosyre])
m_RNA_kodon.append(kodon)
protein = ''.join(sekvens)
print(m_RNA_kodon)
print(protein)
print(' '.join(aminosyrer))
['AUG', 'CGG', 'GAU', 'CUU', 'AGG', 'AAU', 'AUA', 'GGC', 'CUC', 'AGC', 'AUC', 'UAA'] MRDLRNIGLSI_ Metionin Arginin Asparginsyre Lysin Arginin Asparagin Isoleucin Glycin Lysin Serin Isoleucin Stop
Aminosyrer til proteiner
Her henter vi inn en liste over mange kjente proteiner i mange forskjellige arter. Listen heter pdb_seqres.txt og er hentet herifra. Filen er ganske stor fordi den inneholder 1 084 918 proteiner. Hvis du kjører koden under vises de første 15 proteinene. Resten av koden her er litt tuklete siden filen som inneholder proteinene er formatert litt komplisert.
[32]:
import pandas as pd
with open('pdb_seqres.txt', 'r') as f:
lines = f.readlines()
data = {'kode': [], 'ant_aminosyrer': [], 'navn': [], 'aminosyresekvens': []} # Opprette dictionary som skal fylles inn
for i in range(0, len(lines), 2): # Løkker over annenhver linje siden sekvensene er på egne linjer
line1 = lines[i].split(' ') # Splitt først på dobbelt mellomrom
line2 = line1[0].split() # Splitt på enkeltmellomrom
data['kode'].append(line2[0][1:])
data['ant_aminosyrer'].append(int(line2[-1].split(':')[-1]))
data['navn'].append(line1[-1].strip())
data['aminosyresekvens'].append(lines[i+1].strip())
df = pd.DataFrame(data) # Gjøre om dataene til en pandas dataframe
print(df.head(15)) # Inspisere de 15 første radene
kode ant_aminosyrer navn \ 0 101m_A 154 MYOGLOBIN 1 102l_A 165 T4 LYSOZYME 2 102m_A 154 MYOGLOBIN 3 103l_A 167 T4 LYSOZYME 4 103m_A 154 MYOGLOBIN 5 104l_A 166 T4 LYSOZYME 6 104l_B 166 T4 LYSOZYME 7 104m_A 153 MYOGLOBIN 8 105m_A 153 MYOGLOBIN 9 106m_A 154 MYOGLOBIN 10 107l_A 164 T4 LYSOZYME 11 107m_A 154 MYOGLOBIN 12 108l_A 164 T4 LYSOZYME 13 108m_A 154 MYOGLOBIN 14 109l_A 164 T4 LYSOZYME aminosyresekvens 0 MVLSEGEWQLVLHVWAKVEADVAGHGQDILIRLFKSHPETLEKFDR... 1 MNIFEMLRIDEGLRLKIYKDTEGYYTIGIGHLLTKSPSLNAAAKSE... 2 MVLSEGEWQLVLHVWAKVEADVAGHGQDILIRLFKSHPETLEKFDR... 3 MNIFEMLRIDEGLRLKIYKDTEGYYTIGIGHLLTKSPSLNSLDAAK... 4 MVLSEGEWQLVLHVWAKVEADVAGHGQDILIRLFKSHPETLEKFDR... 5 MNIFEMLRIDEGLRLKIYKDTEGYYTIGIGHLLTKSPSLNAAKSAA... 6 MNIFEMLRIDEGLRLKIYKDTEGYYTIGIGHLLTKSPSLNAAKSAA... 7 VLSEGEWQLVLHVWAKVEADVAGHGQDILIRLFKSHPETLEKFDRF... 8 VLSEGEWQLVLHVWAKVEADVAGHGQDILIRLFKSHPETLEKFDRF... 9 MVLSEGEWQLVLHVWAKVEADVAGHGQDILIRLFKSHPETLEKFDR... 10 MNIFEMLRIDEGLRLKIYKDTEGYYTIGIGHLLTKSPSLNAAKGEL... 11 MVLSEGEWQLVLHVWAKVEADVAGHGQDILIRLFKSHPETLEKFDR... 12 MNIFEMLRIDEGLRLKIYKDTEGYYTIGIGHLLTKSPSLNAAKIEL... 13 MVLSEGEWQLVLHVWAKVEADVAGHGQDILIRLFKSHPETLEKFDR... 14 MNIFEMLRIDEGLRLKIYKDTEGYYTIGIGHLLTKSPSLNAAKKEL...
Skal nå finne sekvensen du lagde i forrige oppgave i denne filen.
[33]:
protein_start = 'MVLSEGEW' # Her skriver du inn aminosyresekvensen
treff = []
print(protein_start)
aminosyresekvens = list(data["aminosyresekvens"])
navn = list(data["navn"])
kode = list(data["kode"])
for i in range(len(aminosyresekvens)):
if aminosyresekvens[i].startswith(protein_start):
treff.append(i)
print(kode[i], navn[i])
MVLSEGEW 101m_A MYOGLOBIN 102m_A MYOGLOBIN 103m_A MYOGLOBIN 106m_A MYOGLOBIN 107m_A MYOGLOBIN 108m_A MYOGLOBIN 109m_A MYOGLOBIN 110m_A MYOGLOBIN 111m_A MYOGLOBIN 112m_A MYOGLOBIN 1abs_A MYOGLOBIN 1ch1_A PROTEIN (MYOGLOBIN) 1ch2_A PROTEIN (MYOGLOBIN) 1ch3_A PROTEIN (MYOGLOBIN) 1ch5_A PROTEIN (MYOGLOBIN) 1ch7_A PROTEIN (MYOGLOBIN) 1ch9_A PROTEIN (MYOGLOBIN) 1cik_A PROTEIN (MYOGLOBIN) 1cio_A PROTEIN (MYOGLOBIN) 1co8_A PROTEIN (MYOGLOBIN) 1co9_A PROTEIN (MYOGLOBIN) 1cp0_A PROTEIN (MYOGLOBIN) 1cp5_A PROTEIN (MYOGLOBIN) 1cpw_A PROTEIN (MYOGLOBIN) 1do1_A MYOGLOBIN 1do3_A MYOGLOBIN 1do4_A MYOGLOBIN 1do7_A MYOGLOBIN 1dti_A PROTEIN (MYOGLOBIN) 1dxc_A MYOGLOBIN 1dxd_A MYOGLOBIN 1f63_A MYOGLOBIN 1f65_A MYOGLOBIN 1fcs_A MYOGLOBIN 1h1x_A MYOGLOBIN 1irc_A MYOGLOBIN (METAQUO) 1j3f_A Myoglobin 1j52_A myoglobin 1jdo_A MYOGLOBIN 1jw8_A MYOGLOBIN 1ltw_A MYOGLOBIN 1lue_A Myoglobin 1mcy_A MYOGLOBIN (CARBONMONOXY) 1mgn_A METMYOGLOBIN 1mlf_A MYOGLOBIN 1mlg_A MYOGLOBIN 1mlh_A MYOGLOBIN 1mlj_A MYOGLOBIN 1mlk_A MYOGLOBIN 1mll_A MYOGLOBIN 1mlm_A MYOGLOBIN 1mln_A MYOGLOBIN 1mlo_A MYOGLOBIN 1mlq_A MYOGLOBIN 1mlr_A MYOGLOBIN 1mls_A MYOGLOBIN 1mlu_A MYOGLOBIN 1moa_A MYOGLOBIN 1mob_A MYOGLOBIN 1moc_A MYOGLOBIN 1mod_A MYOGLOBIN 1mti_A MYOGLOBIN 1mtj_A MYOGLOBIN 1mtk_A MYOGLOBIN 1mym_A MYOGLOBIN 1myz_A Myoglobin 1mz0_A Myoglobin 1n9f_A Myoglobin 1n9h_A Myoglobin 1n9i_A Myoglobin 1n9x_A Myoglobin 1naz_A Myoglobin 1o16_A MYOGLOBIN 1obm_A MYOGLOBIN 1ofj_A MYOGLOBIN 1ofk_A MYOGLOBIN 1tes_A MYOGLOBIN 1ufj_A MYOGLOBIN 1ufp_A Myoglobin 1v9q_A Myoglobin 2e2y_A Myoglobin 2eb8_A Myoglobin 2eb9_A Myoglobin 2ef2_A Myoglobin 2g0r_A Myoglobin 2g0s_A Myoglobin 2g0v_A Myoglobin 2g0x_A Myoglobin 2g0z_A Myoglobin 2g10_A Myoglobin 2g11_A Myoglobin 2g12_A Myoglobin 2g14_A Myoglobin 2jho_A Myoglobin 2mbw_A MYOGLOBIN 2mga_A MYOGLOBIN 2mgb_A MYOGLOBIN 2mgc_A MYOGLOBIN 2mgd_A MYOGLOBIN 2mge_A MYOGLOBIN 2mgf_A MYOGLOBIN 2mgg_A MYOGLOBIN 2mgh_A MYOGLOBIN 2mgi_A MYOGLOBIN 2mgj_A MYOGLOBIN 2mgk_A MYOGLOBIN 2mgl_A MYOGLOBIN 2mgm_A MYOGLOBIN 2oh8_A Myoglobin 2oh9_A Myoglobin 2oha_A Myoglobin 2ohb_A Myoglobin 2spl_A MYOGLOBIN 2spm_A MYOGLOBIN 2spn_A MYOGLOBIN 2spo_A MYOGLOBIN 2w6w_A MYOGLOBIN 2w6x_A MYOGLOBIN 2w6y_A MYOGLOBIN 3a2g_A Myoglobin 3ase_A Myoglobin 3h57_A Myoglobin 3h58_A Myoglobin 3nml_A Myoglobin 3ogb_A Myoglobin 3sdn_A Myoglobin 3u3e_A Myoglobin 4h07_A Myoglobin 4h0b_A Myoglobin 4it8_A Myoglobin 4lpi_A Myoglobin 4nxa_A Myoglobin 4nxc_A Myoglobin 4ood_A Myoglobin 4pnj_A Myoglobin 4pq6_A Myoglobin 4pqb_A Myoglobin 4pqc_A Myoglobin 4qau_A Myoglobin 5c6y_A Myoglobin 5ile_A Myoglobin 5ilm_A Myoglobin 5ilp_A Myoglobin 5ilr_A Myoglobin 5jom_A Myoglobin 5kkk_A Myoglobin 5m3s_A Myoglobin 5o41_A Myoglobin 5oj9_A Myoglobin 5oja_A Myoglobin 5ojb_A Myoglobin 5ojc_A Myoglobin 5ut7_A Myoglobin 5ut8_A Myoglobin 5ut9_A Myoglobin 5uta_A Myoglobin 5utb_A Myoglobin 5utc_A Myoglobin 5utd_A Myoglobin 5vzn_A Myoglobin 5vzo_A Myoglobin 5vzp_A Myoglobin 5vzq_A Myoglobin 5wjk_A Myoglobin 5yce_A Myoglobin 5yzf_A sperm whale myoglobin 6bmg_A Myoglobin 6bmg_B Myoglobin 6cf0_A Myoglobin 6e02_A Myoglobin 6e03_A Myoglobin 6e04_A Myoglobin 6g5a_A Myoglobin 6g5b_A Myoglobin 6g5t_A Myoglobin 6m8f_A Myoglobin 6mv0_A Myoglobin 6n02_A Myoglobin, CO-bound 6n03_A Myoglobin, CO-bound
Når du har funnet navnet på et par proteiner kan du kan søke her etter mer info om proteinet her. https://www.rcsb.org/pages/search_features
</div>Plotte proteiner etter antall aminosyrer (work in progress)
[35]:
from pylab import *
values, counts = unique((df[df["ant_aminosyrer"] <= 600]["ant_aminosyrer"]).values, return_counts = True)
bar(values, counts, width = 1.0)
[35]:
<BarContainer object of 600 artists>
Andre bruksområde for kunnskap om DNA (work in progress)
<div class="alert alert-block alert-success">Det er flere som nå undersøker om man kan bruke DNA til å lagre data. Med dagens teknologi kan vi lagre data sikkert i ca 20 år uten at det tar skade eller blir endret. DNA-molekylet er veldig stabilt og kan lagre data over lang tid, mer info her
</div>Oppgave 10
Søk opp informasjon om skrap-DNA (junk-DNA).
</div>