Nada

^ Upp till kursens hemsida.

Lab 2: Fylogeni

Innan ni börjar

1 Närmsta släkting

Introduktion

Det kan ibland vara intressant att avgöra vilken eller vilka sekvenser som är evolutionärt närmast den som du råkar arbeta med. Två proteiner kan tex vara homologa utan att dela exakt samma funktion. Om du arbetar med ett protein från människa och vill välja en modellorganism att arbeta med kan det bli viktigt att hitta den homolog som är mest sannolik att fungera på samma sätt. Ofta används Blast för att avgöra vilken den närmsta släktingen är, och man kan även se folk använda signifikansen, E-värdet, som ett mått på avstånd för en trädskattning. Er uppgift är att undersöka ett evolutionärt scenario med både blast och två vanliga program för trädskattning.

Program

Följande program kommer ni att använda.
Blast
Ni använder det som i Lab 1. Den grundläggande syntaxen för Blast på proteinsekvenser var:

blastall -p blastp -d databasnamn -i insekvensfil

Dessutom var kommando fastacmd bra för att extrahera sekvenser från databasen och används så här

fastacmd -d databasnamn -i namnfil

eller så här

fastacmd -d databasnamn -s namn

protdist
Ett välspritt programpaket är Phylip som är mycket användbart för fylogenetisk analys. Tyvärr är Phylip både gammalt och skrivet med udda ide'er om hur man använder datorer: Alla program vill ta indata från en fil med namnet 'infile' och leverera resultat i filen 'outfile'. Ibland används också filen 'treefile'. Det gäller att flytta på resultaten mellan analyserna så att man inte förlorar något! Programmet protdist tar en sekvensfil på Phylip-format (se även seqret nedan) och leverar en matris med parvisa avstånd på 'outfile'. När man startat programmet får man möjlighet att ändra olika parametrar, tex vilken avståndsmetod som ska användas, och ni accepterar parametrarna med 'y' vilket startar beräkningarna.
neighbor
Utdata från protdist kan sedan användas av neighbor för att sätta ihop ett träd. Även neighbor är från Phylip så kom ihåg att lägga avstånden från 'outfile' i 'infile'! Information om beräkningarna, inklusive ett enkelt träd hittar ni i 'outfile'. I 'treefile' hittar ni en annan representation (sk 'Newick format') av trädet. Det är läsbart av programmet ATV nedan.
Seqret
I programpaketet EMBOSS kan man hitta många användbara program. Ett av dem är för att konvertera filer mellan olika format. Ni har stött på Fasta-formatet tidigare, och kommer nu att vara tvungna att konvertera filer från Fasta till Phylip-format. Det görs så här:

seqret -osformat phylip fastafil

varpå programmet frågar efter ett filnamn att spara resultatet i.
ATV
ATV läser filer på sk Newick-format, tex det ni hittar i 'treefile' i den här övningen, och visar upp det på ett fint sätt. Det går även att klicka om kring och titta på trädet på olika sätt, tex genom att rota om det.

Uppgifter

Ladda först ner er söksekvens (http://www.nada.kth.se/kurser/kth/3A1509/lab2/query.pep) och spara på fil.
  1. Använd blast för att ta reda på rimliga homologer till söksekvensen från en databas med namnet ExempelDB. Vilka verkar vara de närmsta släktingarna?
  2. Hämta ner de fem mest lika sekvenserna med fastacmd och spara på en fil tillsammans med söksekvensen. Använd seqret för att formattera om den till Phylip-format. Resultatet är indata till protdist som ni nu använder för att skatta avstånd. Prova gärna att ändra avståndsmetod, men standardvärdet duger bra. Använd sedan neighbor för att skapa ett träd. Ni kan titta på trädet mha atv eller helt enkelt genom att kika i 'outfile'. Vilken är den närmsta släktingen enligt trädmetoden?
  3. Diskutera skillnaden!

2 Ortologi och paralogi

Introduktion

För att identifiera troliga episoder av adaptiv evolution är man ibland intresserad av att bestämma vilka par av sekvenser som är ortologa med varandra. Två homologer är ortologa om de är åtskilda av en art-delning och paraloger om det är en duplikation som skiljer dem åt. I den här uppgiften ska ni studera genfamiljen MHC, major histocompatability complex, för fyra primater och bestämma ortologer i två fall. Ni har två mus-sekvenser som ut-grupp för att hjälpa er rota träden.

Program

dnadist
För parvisa avstånd använder ni den här gången dnadist som är starkt besläktat med protdist.
neighbor
För trädkonstruktion används återigen neighbor.
atv
För visning och ortologianalys måste man nu använda atv, den här gången med lite mer funktioner. För det första behöver ni kunna rota träden efter den utgrupp som används. Om man klickar på 'root/reroot' nere till höger i atv-fönstret får man ett verktyg för att bestämma rotning. Klicka sedan på den nod närmast båda musgenerna för att få dessa till utgrupp. Sedan ska ni göra en ortologianalys, och då behöver man (förutom ett korrekt rotat träd) ett artträd som ni laddar ner via WWW (http://www.nada.kth.se/kurser/kth/3A1509/lab2/speciestree). Det finns en meny i atv som heter 'SDI', det står för Speciation/Duplication Inference, och därunder hittar man ett alternativ för att läsa in artträdet. När man gjort det använder man alternativet 'SDI', vilket får de härledda duplikationshörnen att bli röda.

Uppgifter

  1. Tanka ner den första filen med sekvenser från labb-sidan (http://www.nada.kth.se/kurser/kth/3A1509/lab2/mhc1.phylip). Använd dnadist för att beräkna avstånd, lägg dessa i en ny fil, och använd neighbor till att hitta ett lämpligt träd givet dessa avstånd. Använd atv till att inspektera trädet. Följ instruktionerna ovan för att härleda vilka noder som troligen är duplikationer. Vilka gener är Tamarin-apans G-gener ortologa med? Ni ska kunna visa upp ett träd med duplikationer bestämda. Ni kan härleda duplikationerna för hand om ni vill. Ni ska kunna tala om varför ett hörn bestäms till duplikation/artdelning.
  2. Tanka ner den andra filen med sekvenser från labb-sidan (http://www.nada.kth.se/kurser/kth/3A1509/lab2/mhc2.phylip). Det är egentligen samma dataset som ovan, fast nu med mänskliga gener inkluderade. Upprepa analysen från förra uppgiften. Vad är det som skiljer och varför?

3 Bootstrapping

Introduktion

Hittills har vi inte brytt oss om tillförlitligheten på träden vi har jobbat med, trots att ni på föreläsning fått höra att det är ett viktigt problem. För att ändra på det ska ni få studera fylogenin för NHR-generna i familj fyra från Lab 1, och göra en bootstrap-analys för att se vilka av kanterna som kan räknas som säkra. Bootstrap-analysen görs med Phylip-paketet, och då går analysen i tree steg:
  1. Tag en linjering som indata och skapa pseudo-linjeringar.
  2. För var och en av pseudo-linjeringarna skattar man sedan ett träd. Det kan göras både med parsimony och avståndsmetoder.
  3. Samla ihop träden och beräkna bootstrap-värden för kanterna (dvs grupperingar av sekvenser).

Program

seqret
Formatteringsprogrammet seqret används som förut:

seqret -osformat phylip sekvensfil

vilket ger en fil förberedd för Phylip.
seqboot
Det här programmet är från Phylip och används för att göra första steget i bootstrap-analysen. Lägg indatafilen under namnet 'infile' och starta seqboot i terminalfönstret. Programmet kommer att fråga efter ett slumptalsfrö och ni svarar lämpligen '1', '17', eller nåt liknande. Därefter anger ni hur många replikat, eller pseudo-linjeringar ni vill ha. Välj tex 10 stycken en första gång för att testa att ni tex har rätt data och format, sedan bör man välja åtminstone 100 pseudo-linjeringar för att göra analysen meningsfull. Pseudo-linjeringarna hamnar i 'outfile'; Se till att spara undan dem i en annan fil så att ni kan göra om analysen!
protdist
Programmet protdist används ungefär som förut, men nu måste man tala om för det att det ska analysera många dataset! När programmet startas kan man sätta parametrar: Ni svarar 'm' och får sedan möjlighet att ange hur många pseudo-linjeringar ni lät seqboot att göra! Det kan också vara bra att välja en annan metod för att skatta avstånden, eftersom standardvalet för protdist går långsamt. Prova tex 'Kimura', genom att använda parameterväljaren 'p' en gång. Indata till protdist ska ligga i 'infile' och hämtas från 'outfile' som skapades av seqboot. Se till att spara undan resultatet av protdist, 'outfile', under ett nytt namn!
neighbor
Det här programmet har samma problem som protdist. Ni måste ange hur många dataset som ska analyseras, och ni måste återigen hålla reda på 'outfile' och 'infile'! Spara också undan resultatet i filen 'treefile' till en separat fil! Annars kommer ni att skriva över den med nästa program.
consense
För att analysera alla träd som produceras kopierar ni över resultatet från 'treefile' till 'infile', som kommer att användas av consense. Det här är tredje steget i boostrap-analysen. I 'treefile' kommer ni att få ett träd med siffror på kanterna som anger hur ofta den kanten återkom i boostrap-analysen. Använd atv för att titta på 'treefile'! (Kom ihåg att spara undan resultatet i 'treefile' under ett annat namn...)

Uppgifter

  1. Tag en multilinjering av er utökade familj 4 från laboration 1 och kör seqboot på den. Fortsätt sedan med protdist, neighbor, samt consense enligt ovan. Vilka kanter kunde ni lita på? Tycker ni fortfarande att er utökning av familj 4 är vettig? Ni ska kunna visa upp ett träd med bootstrap-värden i atv.

^ Upp till kursens hemsida.


Sidansvarig: Lars Arvestad <arve@nada.kth.se>
Senast ändrad 9 februari 2004
Tekniskt stöd: <webmaster@nada.kth.se>