Hopp til innhold

Oppgaver og aktiviteter

Slektskapsanalyse av ulike gnagere

Siden alle organismer har et evolusjonært slektskap, antar vi at alle organismer har utviklet seg med utgangspunkt i et felles arvestoff. Ved bruk av programmering skal du lære å sammenligne bestemte DNA-sekvenser for å avdekke slektskap mellom ulike gnagere.
Kjevemuskulaturen brukes for å illustrere slektskap mellom ulike gnagere: ekorn, marsvin og rotte. Illustrasjon.
Åpne bilde i et nytt vindu

Evolusjonært slektskap

Systematikk handler om metoder for å plassere jordas organismer i et system basert på evolusjonært slektskap. Ved å anta at alle organismer er av felles avstamning, antar vi også at alle organismer har utviklet seg med utgangspunkt i et felles arvestoff. Gjennom tilfeldige mutasjoner og naturlig seleksjon har arvematerialet forandret seg over tid, og det er noe vi kan se igjen når vi studerer DNA fra ulike arter.

Sammenligning av DNA-sekvenser for å avdekke slektskap

Slektstre med fugl, krokodille, skilpadde, firfisle, sjimpanse og menneske. Illustrasjon.
Åpne bilde i et nytt vindu

Ved å bruke molekylærbiologiske metoder basert på sammenligning av DNA-sekvenser kan vi avdekke slektskap, og dermed gruppere organismer basert på likheter i artenes genmateriale. Jo flere ulikheter i DNA-sekvensene som sammenlignes, jo større evolusjonær avstand sier vi at det er mellom artene. Resultater fra slike slektskapsanalyser, som også kalles sammenlignende sekvens-analyser, danner videre grunnlaget for inndelingen av arter i fylogenetiske trær.

I programmet vi skal skrive, skal du lære å lete etter bestemte DNA-sekvenser i et arvemateriale og deretter gjennomføre en slektskapsanalyse for å undersøke slektskap mellom ulike gnagere.

Last ned og lagre filer

Det første du må gjøre, er å laste ned datafilene som er lagt ved denne oppgaven. Filene inneholder eksempeldata og illustrerer baserekkefølgen til hele arvestoffet for hver av de ulike organismene.

Filer

Søk etter en bestemt DNA-sekvens

Tenk deg at du er interessert i basesekvensen til et spesifikt gen i arvematerialet til en organisme. Hos oss mennesker inneholder arvestoffet cirka 20 000 gener. Hos gnagere består det av cirka 25 000 gener. Når vi ønsker å finne et bestemt gen, må vi med andre ord søke i et stort datasett. Derfor må vi lage et program som kan søke etter en bestemt DNA-sekvens for oss.

  1. Studer koden nedenfor, og prøv å forstå hensikten med de ulike kommandoene.

  2. Søk etter genet som koder for tyggemuskelen musculus masseter, i arvematerialet hos ekorn. Baserekkefølgen for genet er oppgitt i tekstboksen under.

Baserekkefølgen for genet som koder for tyggemuskelen musculus masseter:

TTACCGTATCCAGCATCTCGATTT

DNA-sekvens

1resultater = []
2linjenummer = 0
3 
4SokDNA = input("Skriv inn DNA-sekvensen du ønsker å søke etter:")
5with open("c:\Systematikk\ekorn.txt","r") as dna:         
6# Pass på at filbanen stemmer med plasseringen av filen.
7    for linje in dna:
8        linjenummer += 1
9        if SokDNA in linje:
10            resultater.append(linjenummer)
11    print("Sekvensen ble funnet på følgende linje i filen:",resultater)

Slektskapsanalyse av ulike gnagere

Ved å sammenligne DNA-sekvenser fra to eller flere arter kan vi avdekke slektskap mellom artene. Sammenlign slektskap mellom de tre gnagerne – marsvin, rotte og ekorn – ved å studere genet som koder for tyggemuskelen musculus masseter.

  1. Studer koden nedenfor, og prøv å forstå hensikten med de ulike kommandoene.

  2. Gjennomfør en sammenlignende sekvens-analyse av de tre gnagerne. Bruk genet som koder for tyggemuskelen musculus masseter, som utgangspunkt for analysen.

  3. Finnes genet som koder for tyggemuskelen musculus masseter, hos alle de tre gnagerne?

Søke etter DNA-sekvens

1import os  
2 
3sok = input("Skriv inn DNA-sekvensen du ønsker å søke etter: ")
4 
5mappe = "c:/Systematikk/"
6for fil in os.listdir(mappe):
7    fo = open(mappe+fil)
8    linje = fo.readline()
9    linjenummer = 1
10    while linje != '':
11        posisjon = linje.find(sok)
12        if(posisjon != -1):
13            print("Funnet i", fil, linje)
14        linje = fo.readline()
15        linjenummer += 1
16    fo.close()

Tillate mutasjoner?

Hva skjer hvis du søker etter nesten like DNA-sekvenser ved å tillate noen basemutasjoner i søket ditt? Du velger selv hvor mange basemutasjoner du skal tillate. Vil dette endre resultatet av søket?

Mutasjoner

1import os
2 
3sok = input("Skriv inn DNA-sekvensen du ønsker å søke etter: ")
4avvik = int(input("Skriv inn antall basemutasjoner du vil tillate: "))
5print("\n")
6 
7mappe = "c:/Systematikk/"
8for fil in os.listdir(mappe):
9    print("Funn i", fil)
10    funn = []
11    fo = open(mappe+fil)
12    linje = fo.readline()
13    linjenummer = 1
14    while linje != '':
15        base = list(linje)   #Gjør om linja til enkelt-tegn, 
16                       #slik at de kan sammenlignes enkeltvis.
17        del base[-1]   #Fjerner linjeskift-kommandoen \n, som 
18           #ligger skjult til slutt på hver linje i TXT-filen.
19        score = 0
20        linjesok = "Linje "+str(linjenummer)+": "+sok
21        linjesok = list(linjesok)
22        for i in range(len(linjesok)):
23            if base[i] != linjesok [i]:
24                score += 1
25        if score <= avvik:  #Hvis søket gir færre avvik enn dette 
26                   #antallet, legges linja til på lista over funn.
27            resultat = "Sekvens funnet i "
28            for i in range(len(base)):  #Listeelementene gjøres om 
29                             #til en streng for å øke lesbarheten.
30                resultat = resultat+base[i]
31            funn.append(resultat)
32        linjenummer += 1
33        linje = fo.readline()
34    print (funn,"\n")
35    fo.close

Videre arbeid med slektskapsanalysen

  • Analyser resultatene fra den sammenlignende sekvens-analysen. Hva forteller resultatene deg?

  • Tegn et fylogenetisk tre som viser slektskapet mellom de tre gnagerne basert på den sammenlignende sekvens-analysen du har gjennomført.

  • Genet du har studert, koder for tyggemuskelen musculus masseter. Finn ut hva slags føde de ulike artene spiser. Hva sier dette om artenes tilpasninger?

  • Forklar sammenhengen mellom genetikk, anatomi, fysiologisk tilpasning og biologisk mangfold.

CC BY-SASkrevet av Eirik Farestveit Erstad, Camilla Øvstebø og Kristin Bøhle.
Sist faglig oppdatert 28.08.2023

Læringsressurser

Modellering og programmering