Programvara (källkod) för simulering av DNAs evolution
27 inlägg
• Sida 1 av 2 • 1, 2
Programvara (källkod) för simulering av DNAs evolution
Någon som vet om det finns ett bra program (helst i C/C++) som kan simulera evolutionen av DNA sekvenser (slumpmässiga mutationer m.m.)? Frågan är om man ska göra själv eller försöka använda andras kod? Fördelen med att använda andras kod är att man slipper visa på att modellen är korrekt om man ska publicera.
Letar oxå efter riktiga gensekvenser (eller SNPer) för en stor population av autister + NT. Det måste givetvis vara samma delar av genomet för hela populationen (ej mtDNA eller Y-kromosom).
Idén är att försöka få fram axlarna i Aspie-quiz dels från riktiga gensekvenser och dels ifrån simulering av olika scenarior.
Letar oxå efter riktiga gensekvenser (eller SNPer) för en stor population av autister + NT. Det måste givetvis vara samma delar av genomet för hela populationen (ej mtDNA eller Y-kromosom).
Idén är att försöka få fram axlarna i Aspie-quiz dels från riktiga gensekvenser och dels ifrån simulering av olika scenarior.
Senast redigerad av rdos 2011-05-04 15:50:48, redigerad totalt 1 gång.
Det beror lite på vad du menar. Att simulera evolution är nog inte möjligt än. Det är lätt att räkna ut vilka nukleotider som har störst sannolikhet att mutera och hur de kan tänkas mutera. Finns massor av färdiga matriser för den sortens beräkningar. Men att simulera evolution implicerar att du vill se hur väl förändringen klarar sig och hur den sprids. För att göra det skulle du behöva kunna beräkna någon sorts överlevnadspoäng givet en viss sekvens och det tror jag inte finns idag. Problemen med att göra det är många. Bortsett ifrån att dagens datorer är på tok för långsamma så har vi inte tillräckligt med kunskaper om biologi.
Om du däremot menar att du vill titta på de olika förändringarna i DNA så finns det ganska mycket mjukvara för det och algoritmerna är inte för komplicerade. Att bygga fylogenetiska träd eller försöka använda någon klustringsalgoritm skulle kunna vara en början. Det senare skulle nog kunna vara det som (i dagsläget) ger dig mest information, om du klustrar svar på Aspie-quiz mot SNPer hos deltagarna. Men då skall man få alla som svarar att bidra med ett DNA-prov.
Sist så är det det där med att komma åt gensekvenser. Inte helt lätt eftersom sjukvården är ganska petig med patientinformation. Om du är en student / doktorand så kanske du kan få fram informationen du är ute efter, men jag har svårt att tänka mig att det finns något lagligt sätt för en privatperson att komma åt den. Man skulle ju i och för sig kunna tänka sig att starta en organisation för att sekvensera DNA från frivilliga donatorer.
Om du däremot menar att du vill titta på de olika förändringarna i DNA så finns det ganska mycket mjukvara för det och algoritmerna är inte för komplicerade. Att bygga fylogenetiska träd eller försöka använda någon klustringsalgoritm skulle kunna vara en början. Det senare skulle nog kunna vara det som (i dagsläget) ger dig mest information, om du klustrar svar på Aspie-quiz mot SNPer hos deltagarna. Men då skall man få alla som svarar att bidra med ett DNA-prov.
Sist så är det det där med att komma åt gensekvenser. Inte helt lätt eftersom sjukvården är ganska petig med patientinformation. Om du är en student / doktorand så kanske du kan få fram informationen du är ute efter, men jag har svårt att tänka mig att det finns något lagligt sätt för en privatperson att komma åt den. Man skulle ju i och för sig kunna tänka sig att starta en organisation för att sekvensera DNA från frivilliga donatorer.
Senast redigerad av TheShrux 2011-05-04 15:50:48, redigerad totalt 1 gång.
TheShrux skrev:Det beror lite på vad du menar. Att simulera evolution är nog inte möjligt än. Det är lätt att räkna ut vilka nukleotider som har störst sannolikhet att mutera och hur de kan tänkas mutera. Finns massor av färdiga matriser för den sortens beräkningar. Men att simulera evolution implicerar att du vill se hur väl förändringen klarar sig och hur den sprids. För att göra det skulle du behöva kunna beräkna någon sorts överlevnadspoäng givet en viss sekvens och det tror jag inte finns idag. Problemen med att göra det är många. Bortsett ifrån att dagens datorer är på tok för långsamma så har vi inte tillräckligt med kunskaper om biologi.
Njääe, det är nog egentligen inte nödvändigt att hantera riktiga drag och deras överlevnadsvärde. Det räcker nog att ge mutationer olka (slumpmässiga) överlevnadsvärden. Återkommer till detta längre ned.
TheShrux skrev:Om du däremot menar att du vill titta på de olika förändringarna i DNA så finns det ganska mycket mjukvara för det och algoritmerna är inte för komplicerade. Att bygga fylogenetiska träd eller försöka använda någon klustringsalgoritm skulle kunna vara en början.
Nej, jag ska inte bygga fylogenetiska träd.
TheShrux skrev:Det senare skulle nog kunna vara det som (i dagsläget) ger dig mest information, om du klustrar svar på Aspie-quiz mot SNPer hos deltagarna. Men då skall man få alla som svarar att bidra med ett DNA-prov.
Det är dessvärre orealistiskt i dagsläget.
TheShrux skrev:Sist så är det det där med att komma åt gensekvenser. Inte helt lätt eftersom sjukvården är ganska petig med patientinformation. Om du är en student / doktorand så kanske du kan få fram informationen du är ute efter, men jag har svårt att tänka mig att det finns något lagligt sätt för en privatperson att komma åt den. Man skulle ju i och för sig kunna tänka sig att starta en organisation för att sekvensera DNA från frivilliga donatorer.
Det finns en del att få tag på i de stora databaserna, och detta har jag gjort förrut. Dock skulle jag behöva sekvenser från AGRE (den autistiska gendatabasen), och det kan bli knivigare.
Vad jag dock vill göra i ett första skede är bara att replikera faktorstrukturen (och förklarad varians för faktorer). Förklarad varians kan man få fram oavsett vilka frågor man använder i Aspie-quiz, förutsätt att det finns både Aspie och NT frågor. Alla versioner av Aspie-quiz, iaf sedan version 2, har i det närmaste identisk faktorstruktur och förklarad varians, trots att frågorna mellan vissa versioner skiljer rejält. Därmed är alltså inte de exakta dragen och frågorna viktiga för att få fram denna information. Det var därför jag ovan skrev att man kan tänka sig att använda slumpmässiga överlevnadsvärden på mutationer. Steget till att man oxå kan använda SNPer (mutationer) för att replikera faktorstrukturen borde inte vara så långt. Logiskt sett borde det bli samma faktorstruktur om man haft tillräckligt med DNA-material att mata in i ett faktoranalysprogram. Detta är dock svårt att visa eftersom att få tillgång till sådant material inte är så lätt. Därför skulle en simulering vara mer intressant. Dessutom ger parametersättningarna i simuleringen massor av information kring hur faktorstrukturen skulle kunna uppkomma.
Senast redigerad av rdos 2011-05-04 15:50:48, redigerad totalt 1 gång.
Flawed skrev:Lycka till...
Första ansatsen är naturligtvis att anta att faktor två härrör från neandertalintrogression till Asien (senaste mellanistiden), medan faktor tre härrör från neandertalintrogression i Europa för Kaukasier och i Centralasien från Asiater. Afrikaner kommer inte någonstans i resonemanget. Fast kanske ändå, ska köra faktoranalys bara på folk med afrikanskt ursprung oxå. Bör finnas 300-400 svar totalt om man summerar de sista fyra stabila versionerna. Kanske det finns afrikansk introgression i Afrika oxå
Som jag ser det nu är det nödvändigt att räkna med att uppkomsten av moderna människor (faktor 2) måste ha involverat introgression. Annars skulle det inte finnas en faktor som matchar denna tid. Min teori är att faktorer enbart kan skapas när populationer möts efter längre isolering. Slumpmässig utveckling längs en rak fylogenetisk linje kommer inte att ge någon faktor alls. Det blir bara brus.
Senast redigerad av rdos 2011-05-04 15:50:48, redigerad totalt 1 gång.
Kollade med Autism Speaks och AGRE. De rubricerar databasen som öppen, men när man läser deras ansökan om att få access verkar den inte speciellt öppen. Skickade ett mejl till admin där istället och frågade kring bara gendata (de har en massa känslig information oxå, vilket förmodligen är skälet till att de kräver "IRB"). Fast jag har nog inget större hopp om att bli godkänd.
Senast redigerad av rdos 2011-05-04 15:50:48, redigerad totalt 1 gång.
Har kollat på det där programmet jag skrev om ovan, och det finns en del matnyttigt, medan annat saknas. Ingen vidare bra kod heller, utan den måste struktureras om och porteras till C++. Det som bl.a. saknas är rimliga algoritmer för rekombinering när gameterna skapas. Liksom det saknas funktioner för att beräkna överlevnadsvärde, partnerkompabilitet m.m.
Min idé kring att ge vissa sekvenser fördelar är ganska enkel. Man skapar bara en slumpmässig gensekvens som ger optimalt överlevnadsvärde. Sedan beräknar man en viss sekvens värde genom att räkna hur många sekvenser som matchar. Med den algoritmen kan man skapa slumpmässiga startsekvenser, som kommer att konvergera emot den optimala sekvensen. Sedan lägger man till slumpmässiga förändrindar i den optimala sekvensen. Då kommer evolutionen av sekvenserna aldrig att avslutas, utan kommer hela tiden att pågå eftersom optimal DNA-sekvens varierar. Detta bör ge upphov till typisk genetisk drift. Man kan då skapa två olika populationer, där den optimimala utgångssekvensen är densamma. Efter ett tag kommer dessa populationer att divergera, precis som i naturen. Detta bör lösa problemet med att simulera evolutionen.
För att kunna hantera introgression måste man oxå kunna hantera "partnerskompabilitet". Detta kan man göra genom att skapa en slumpmässig vikt för varje bas i sekvensen. Partnerkompabilitet räknar man sedan ut genom att jämföra alla baser, och vikta dem. Detta ger en sannolikhet för att de "parar" sig. Detta kan hantera introgression eftersom två divergerade linjer kommer att få divergande partnersekvenser oxå. Dessutom så kan man med vikterna testa hypotesen att introgression skapar de länkningar av frågor som finns i Aspie-quiz.
Min idé kring att ge vissa sekvenser fördelar är ganska enkel. Man skapar bara en slumpmässig gensekvens som ger optimalt överlevnadsvärde. Sedan beräknar man en viss sekvens värde genom att räkna hur många sekvenser som matchar. Med den algoritmen kan man skapa slumpmässiga startsekvenser, som kommer att konvergera emot den optimala sekvensen. Sedan lägger man till slumpmässiga förändrindar i den optimala sekvensen. Då kommer evolutionen av sekvenserna aldrig att avslutas, utan kommer hela tiden att pågå eftersom optimal DNA-sekvens varierar. Detta bör ge upphov till typisk genetisk drift. Man kan då skapa två olika populationer, där den optimimala utgångssekvensen är densamma. Efter ett tag kommer dessa populationer att divergera, precis som i naturen. Detta bör lösa problemet med att simulera evolutionen.
För att kunna hantera introgression måste man oxå kunna hantera "partnerskompabilitet". Detta kan man göra genom att skapa en slumpmässig vikt för varje bas i sekvensen. Partnerkompabilitet räknar man sedan ut genom att jämföra alla baser, och vikta dem. Detta ger en sannolikhet för att de "parar" sig. Detta kan hantera introgression eftersom två divergerade linjer kommer att få divergande partnersekvenser oxå. Dessutom så kan man med vikterna testa hypotesen att introgression skapar de länkningar av frågor som finns i Aspie-quiz.
Senast redigerad av rdos 2011-05-04 15:50:48, redigerad totalt 1 gång.
Började undra lite när du tog upp neandertalare och började rota runt om introgression. Hittade någon artikel på pubmed som skrev om det, om du inte har läst den kan jag länka. Efter det hittade jag en något mindre seriös artikel om samma ämne och hittade följande, enligt mig mycket sanna och underhållande, citat:
"Slightly (but only slightly) more serious - H. sapiens is willing and able to mate with the entire subphylum, let alone the genus. Perhaps “breed” would be a better word."
Jag är lite skeptisk till premisserna och biologin bakom det hela, men jag tror jag förstår ungefär vad du vill uppnå. En simulerad koppling från neandertalgener till moderna aspergare? För det syftet så borde treevolve eller någon liknande mjukvara fungera utmärkt som utgångspunkt. Men varför porta det till C++? Låter mest som onödigt arbete.
Behövs verkligen en optimal DNA-sekvens för att driva det hela? Det borde räcka med att ge en mutation en slumpmässig poäng som avgör om den är till fördel eller nackdel samt hur stor. Där skulle det dessutom bli lättare att plocka fram värden på parametern som gör att ett drag efter X generationer finns i Y% av populationen. Genom att räkna om den parametern givet vissa faktorer (populationen blir större eller mindre än något visst värde samt förändringar i populationens habitat) så får du in dynamik där också. Men jag tror det blir väldigt svårt att få fram något mer än "sannolikheten för att vi har kvar några genetiska bidrag från neandertalarna är mindre än 0.01" eller liknande. Men som sagt, det finns ett par bra artiklar om den sortens simuleringar på pubmed som är värda att läsa om man vill testa det.
"Slightly (but only slightly) more serious - H. sapiens is willing and able to mate with the entire subphylum, let alone the genus. Perhaps “breed” would be a better word."
Jag är lite skeptisk till premisserna och biologin bakom det hela, men jag tror jag förstår ungefär vad du vill uppnå. En simulerad koppling från neandertalgener till moderna aspergare? För det syftet så borde treevolve eller någon liknande mjukvara fungera utmärkt som utgångspunkt. Men varför porta det till C++? Låter mest som onödigt arbete.
Behövs verkligen en optimal DNA-sekvens för att driva det hela? Det borde räcka med att ge en mutation en slumpmässig poäng som avgör om den är till fördel eller nackdel samt hur stor. Där skulle det dessutom bli lättare att plocka fram värden på parametern som gör att ett drag efter X generationer finns i Y% av populationen. Genom att räkna om den parametern givet vissa faktorer (populationen blir större eller mindre än något visst värde samt förändringar i populationens habitat) så får du in dynamik där också. Men jag tror det blir väldigt svårt att få fram något mer än "sannolikheten för att vi har kvar några genetiska bidrag från neandertalarna är mindre än 0.01" eller liknande. Men som sagt, det finns ett par bra artiklar om den sortens simuleringar på pubmed som är värda att läsa om man vill testa det.
Senast redigerad av TheShrux 2011-05-04 15:50:48, redigerad totalt 1 gång.
TheShrux skrev:Jag är lite skeptisk till premisserna och biologin bakom det hela, men jag tror jag förstår ungefär vad du vill uppnå. En simulerad koppling från neandertalgener till moderna aspergare? För det syftet så borde treevolve eller någon liknande mjukvara fungera utmärkt som utgångspunkt. Men varför porta det till C++? Låter mest som onödigt arbete.
För att koden är rörig och svår att modifiera på det vis jag vill modifiera den. Genom att bryta ut lämpliga delar och tänka "objektorienterat" så kan jag dels få till en samling generella klasser och dels förstå hur nuvarande program fungerar. Jag avser inte styra programmet med parametrar via kommandoraden, utan skriver helt enkelt ett huvudprogram som gör de saker jag vill de ska göra. Mycket enklare och mer generellt utifrån min synvinkel.
TheShrux skrev:Behövs verkligen en optimal DNA-sekvens för att driva det hela? Det borde räcka med att ge en mutation en slumpmässig poäng som avgör om den är till fördel eller nackdel samt hur stor.
De måste variera mellan neandertal och Hs, annars kommer de att få samma slutsekvens, vilket ju inte stämmer med hur det såg ut. För att de ska variera så måste poängen variera slumpmässigt efterhand som evolutionen pågår. Så fungerar ju naturen oxå. Arter måste hela tiden anpassa sig efter sin omgivning. Annars så är nog ditt förslag likartat som mitt. Skillnaden är väl kanske att ditt förslag inte kräver en lika lång inkörningsperiod för att skapa "normal" diversitet.
TheShrux skrev:Men jag tror det blir väldigt svårt att få fram något mer än "sannolikheten för att vi har kvar några genetiska bidrag från neandertalarna är mindre än 0.01" eller liknande.
Det finns en del "randvilkor" som är intressanta:
1. Det ska ta ca. 10.000 år för neandertal att försvinna efter att man blandat populationerna. För att garantera att det alltid är neandertal som försvinner så låter man all introgression ske till Hs. Jag tror det räcker för att garantera att neandertal alltid försvinner som art.
2. Tiden för kontakt under senaste mellanistiden är känd (tror det var 10.000 - 20.000 år, men det finns beskrivet någonstans), liksom tidpunkten (125.000 år sedan).
Dessutom så finns en hel del parametrar från Aspie-quiz som man kan kontrollera sina resultat emot:
1. Faktorerna och deras förklarade varians
2. Poängdistributionerna som ser ut som överlappande bellkurvor
3. Korrelationer mellan poäng och andra frågor
Det är ganska få parametrar som är styrbara i simuleringen, vilket gör att om man kan förklara allt ovan så är sannolikheten hög att modellen är korrekt.
Senast redigerad av rdos 2011-05-04 15:50:48, redigerad totalt 1 gång.
rdos skrev:De måste variera mellan neandertal och Hs, annars kommer de att få samma slutsekvens, vilket ju inte stämmer med hur det såg ut. För att de ska variera så måste poängen variera slumpmässigt efterhand som evolutionen pågår. Så fungerar ju naturen oxå. Arter måste hela tiden anpassa sig efter sin omgivning. Annars så är nog ditt förslag likartat som mitt. Skillnaden är väl kanske att ditt förslag inte kräver en lika lång inkörningsperiod för att skapa "normal" diversitet.
Jo, modellerna är ganska lika. En skillnad är dock att din modell verkar anta att det för varje ögonblick finns en enda optimal DNA-sekvens och att evolutionen sker i riktning mot den. Men det felet borde gå att åtgärda på något sätt. Lite svårt att se hur dock. Evolution är förändring från någonting inte mot.
rdos skrev:Det finns en del "randvilkor" som är intressanta:
1. Det ska ta ca. 10.000 år för neandertal att försvinna efter att man blandat populationerna. För att garantera att det alltid är neandertal som försvinner så låter man all introgression ske till Hs. Jag tror det räcker för att garantera att neandertal alltid försvinner som art.
2. Tiden för kontakt under senaste mellanistiden är känd (tror det var 10.000 - 20.000 år, men det finns beskrivet någonstans), liksom tidpunkten (125.000 år sedan).
...
Det är ganska få parametrar som är styrbara i simuleringen, vilket gör att om man kan förklara allt ovan så är sannolikheten hög att modellen är korrekt.
Ett klagomål på första punkten. Om simulationen designas så att introgression till neandertalarna förbjuds så är det enda svaret du kommer få bli vad som skulle kunna vara möjligt om det antagandet håller. Det känns inte som ett rimligt antagande att göra bara för att försäkra sig om att neandertalarna dör ut och därmed få siffrorna att verka riktiga.
Vad har du för parametrar som är styrbara?
Intressant projekt är det dock. Men om det bara är överföringen av genetiskt material mellan HN och HS du är intresserad av så finns det som sagt ett par bra artiklar om det.
Senast redigerad av TheShrux 2011-05-04 15:50:48, redigerad totalt 1 gång.
TheShrux skrev:Jo, modellerna är ganska lika. En skillnad är dock att din modell verkar anta att det för varje ögonblick finns en enda optimal DNA-sekvens och att evolutionen sker i riktning mot den. Men det felet borde gå att åtgärda på något sätt. Lite svårt att se hur dock. Evolution är förändring från någonting inte mot.
Där kanske du har en poäng. Dock kan man använda båda modellerna och se om det blir olika resultat.
TheShrux skrev:Ett klagomål på första punkten. Om simulationen designas så att introgression till neandertalarna förbjuds så är det enda svaret du kommer få bli vad som skulle kunna vara möjligt om det antagandet håller.
Iofs korrekt. Man kan tänka sig att ta detta om en parameter istället och se vad som ger optimalt resultat. Dock så är antagandet inte orealistiskt eftersom det finns en del som pekar på att aspergare är "gjorda" för slutna grupper. Det finns oxå bevis (från neandertal) att man inte bedrev så mycket handel som Hs.
TheShrux skrev:Vad har du för parametrar som är styrbara?
1. Hur mycket som optimal sekvens ska ändras. Denna parameter behöver ställas in så att neandertal dör ut på 10.000 år.
2. Hur man beräknar optimal sekvens när populationerna återförenas.
3. Mutationsfrekvens. Hänger antagligen oxå ihop med 1. Kanske kan utnyttja verkliga värden.
4. Hur långa stycken (antal baspar) av varje kromosom som tas innan man byter kromosom (rekombination). Även här bör det finnas riktiga värden. Påverkar kopplingar, så denna ska antagligen kalibreras så den ger värden som stämmer med verkliga data i slutändan.
TheShrux skrev:Intressant projekt är det dock. Men om det bara är överföringen av genetiskt material mellan HN och HS du är intresserad av så finns det som sagt ett par bra artiklar om det.
Kan du ge mig länkar? Jag har kanske läst dem, men det är inte säkert.
Senast redigerad av rdos 2011-05-04 15:50:48, redigerad totalt 1 gång.
Finns ett par här:
http://www.ncbi.nlm.nih.gov/sites/entrez?term=neanderthal%20introgression&search=Find%20Articles&db=pmc&cmd=search
Bra ställe att leta artiklar för övrigt, man kan ofta se hur många som citerat den och vart den publicerats.
Angående parametrarna
4 håller jag med om, men den borde vara rätt enkel att hitta också. Det lär finnas någon information om exakt hur rekombinationen går till och alltså något smidigt sätt utföra den.
3 tror jag finns i tabellform här och där, PAM & BLOSUM tror jag ett par av dem heter (var ett tag sedan jag tittade på dem).
2 & 1 tror jag däremot snarare är funktioner än parametrar. Men det kanske var så du tänkte det? Att i parameter 2 så sätter man en utvärderingsfunktion? Men det känns som att de två snarare är en funktion (eller ett program) var med en trave interna parametrar.
Ser fram emot att höra mer när du får ihop något körbart.
http://www.ncbi.nlm.nih.gov/sites/entrez?term=neanderthal%20introgression&search=Find%20Articles&db=pmc&cmd=search
Bra ställe att leta artiklar för övrigt, man kan ofta se hur många som citerat den och vart den publicerats.
Angående parametrarna
4 håller jag med om, men den borde vara rätt enkel att hitta också. Det lär finnas någon information om exakt hur rekombinationen går till och alltså något smidigt sätt utföra den.
3 tror jag finns i tabellform här och där, PAM & BLOSUM tror jag ett par av dem heter (var ett tag sedan jag tittade på dem).
2 & 1 tror jag däremot snarare är funktioner än parametrar. Men det kanske var så du tänkte det? Att i parameter 2 så sätter man en utvärderingsfunktion? Men det känns som att de två snarare är en funktion (eller ett program) var med en trave interna parametrar.
Ser fram emot att höra mer när du får ihop något körbart.
Senast redigerad av TheShrux 2011-05-04 15:50:48, redigerad totalt 1 gång.
Länkarna är väl ungefär det vanliga. Inget nytt. De som företräder linjen att ingen blandning förekommit använder antingen mtDNA. Y-kromosomer, eller räknar på divergensdatum. Andra lägret hänvisar till haplotyper som är äldre än förväntat.
Har nu skapat grunden för projektet. Kan studeras här:
http://rdos.net/vc/viewvc.cgi/trunk/ker ... sslib/dna/
Vad gäller andel neandertal-DNA så är nog detta inget man kan svara på entydigt, utan det beror helt på hur man definierar begreppet. Däremot spelar andelar ingen roll i faktoranalysen. Det visas tydligt genom att samma faktorer (och förklarad varians) uppkommer oavsett om man har 10% AS eller 50%. För att räkna ut verkliga prevalenser behöver man köra Aspie-quiz i en slumpmässig population, vilket ingen Internet-population kan anses vara. Gissningsvis ligger prevalensen för "mycket sannolikt Aspie" på mellan 0.5 och 2%. Av samma orsak så spelar inte heller andelar ifrån simuleringen någon roll, eftersom jag kör samma faktoranalys på den.
Har nu skapat grunden för projektet. Kan studeras här:
http://rdos.net/vc/viewvc.cgi/trunk/ker ... sslib/dna/
Vad gäller andel neandertal-DNA så är nog detta inget man kan svara på entydigt, utan det beror helt på hur man definierar begreppet. Däremot spelar andelar ingen roll i faktoranalysen. Det visas tydligt genom att samma faktorer (och förklarad varians) uppkommer oavsett om man har 10% AS eller 50%. För att räkna ut verkliga prevalenser behöver man köra Aspie-quiz i en slumpmässig population, vilket ingen Internet-population kan anses vara. Gissningsvis ligger prevalensen för "mycket sannolikt Aspie" på mellan 0.5 och 2%. Av samma orsak så spelar inte heller andelar ifrån simuleringen någon roll, eftersom jag kör samma faktoranalys på den.
Senast redigerad av rdos 2011-05-04 15:50:48, redigerad totalt 1 gång.
Nu finns även ett "huvudprogam". I denna version genererar det bara en slumpmässig sekvens på 256 baspar, och skriver ut den på standard out.
http://rdos.net/vc/viewvc.cgi/trunk/apps/evolve/
Ska göra en "TDnaMutator" basklass + en implementation för F84-algoritmen imorgon.
http://rdos.net/vc/viewvc.cgi/trunk/apps/evolve/
Ska göra en "TDnaMutator" basklass + en implementation för F84-algoritmen imorgon.
Senast redigerad av rdos 2011-05-04 15:50:48, redigerad totalt 1 gång.
Mutationsklassen är nu klar, men använder inte F84. Koden är mycket efektivare än originalet som jobbade med flyttal och en extra loop-nivå. Detta är viktigt eftersom mutationskoden är en av flaskhalsarna i simuleringen.
Testprogrammet modifierat till att skapa en sekvens på 79 baspar, som sedan muteras 500 gånger med 0.01 sannolikhet (per baspar) för en mutation. Verkar fungera.
Nästa steg är nog rekombinationen.
Testprogrammet modifierat till att skapa en sekvens på 79 baspar, som sedan muteras 500 gånger med 0.01 sannolikhet (per baspar) för en mutation. Verkar fungera.
Nästa steg är nog rekombinationen.
Senast redigerad av rdos 2011-05-04 15:50:48, redigerad totalt 1 gång.
Lämplig bakgrundsartikel kring meosis och rekombination:
http://www.pubmedcentral.nih.gov/articl ... id=1866732
p-värdena bör väl vara sannolikheten för en "cross over" per baspar?? Någon som vet?
Iofs tror jag deras resultat kan vara lite felaktiga eftersom de kommer ifrån vita som har större LD än andra populationer, möjligen p.g.a. introgression.
http://www.pubmedcentral.nih.gov/articl ... id=1866732
p-värdena bör väl vara sannolikheten för en "cross over" per baspar?? Någon som vet?
Iofs tror jag deras resultat kan vara lite felaktiga eftersom de kommer ifrån vita som har större LD än andra populationer, möjligen p.g.a. introgression.
Senast redigerad av rdos 2011-05-04 15:50:49, redigerad totalt 1 gång.
nope , men det kan ev finnas kite mer intresanta saker på http://vx.netlux.org/lib/?index=EP&lang=EN#start , kan finnas en del c++ filer där , men allt är ju relativt , vad man ute efter.
Senast redigerad av 23 2011-05-04 15:50:49, redigerad totalt 1 gång.
Tror jag har en lämplig algoritm för att "para ihop" individer nu som kan hantera introgression.
Grunden är att man kan skapa en sannolikhet för att två individer passar för varandra. Denna sannolikhet räknar man ut genom att jämföra deras DNA-sekvens, och vikta vissa positioner mer än andra. Just nu sätter jag en linjär viktning så att första basen får högst vikt och sista lägst. De positioner som har högst vikt kan antas höra ihop med parningsbeteende, men exakt hur detta ser ut är inte intressant för simuleringen.
För att para ihop individer drar jag slumpmässigt två (oparade) individer ur populationen. Sedan drar man ett slumptal, och om detta är lägre än sannolikheten för att de passar för varandra så parar man ihop dem. Detta fortsätter tills en viss andel i populationen är parade (valde just nu 80%).
När två populationer har divergerat med genetisk drift så kommer sannolikheten att de passar ihop att bli låg.
Rimligen så kommer de sekvenser som hör ihop med parningsbeteende att bli extremt lika varandra eftesom skillnader här leder till lägre chans för att kunna reproducera.
Grunden är att man kan skapa en sannolikhet för att två individer passar för varandra. Denna sannolikhet räknar man ut genom att jämföra deras DNA-sekvens, och vikta vissa positioner mer än andra. Just nu sätter jag en linjär viktning så att första basen får högst vikt och sista lägst. De positioner som har högst vikt kan antas höra ihop med parningsbeteende, men exakt hur detta ser ut är inte intressant för simuleringen.
För att para ihop individer drar jag slumpmässigt två (oparade) individer ur populationen. Sedan drar man ett slumptal, och om detta är lägre än sannolikheten för att de passar för varandra så parar man ihop dem. Detta fortsätter tills en viss andel i populationen är parade (valde just nu 80%).
När två populationer har divergerat med genetisk drift så kommer sannolikheten att de passar ihop att bli låg.
Rimligen så kommer de sekvenser som hör ihop med parningsbeteende att bli extremt lika varandra eftesom skillnader här leder till lägre chans för att kunna reproducera.
Senast redigerad av rdos 2011-05-04 15:50:49, redigerad totalt 1 gång.