October 31, 2006

QTL Cartographer notes

I've also posted notes on using QTL cartographer. We may not get to them until Friday, but we'll see how it goes.

Posted by Kent at 9:51 PM | Comments (0) | TrackBack

Sample data for QTL cartographer

We'll use the file Maize.mcd from the WinQTLCart distribution to illustrate use of QTL Cartographer. You'll find it in the "Examples" directory once you've installed the program. If for some reason you can't find it, you can download it from this link.

Posted by Kent at 9:42 PM | Comments (0) | TrackBack

October 30, 2006

Solutions for problem #2 and problem #3

It dawned on me tonight that I never posted the solutions for problem #2 and problem #3. Here they are.

I've also updated the course schedule to indicate that Problem #4 is due next Monday, not this Friday.

Posted by Kent at 7:05 PM | Comments (0) | TrackBack

October 29, 2006

First set of QTL notes posted

The first set of notes on QTL mapping are now available. I expect to spend at least 15-20 minutes on Monday wrapping up our discussion of more classical approaches to genetic analysis of quantitative traits, so we will not get all the way through these notes by the end of class on Monday. We'll continue to work with them on Wednesday.

On Wednesday those of you who have Windoze computers may want to bring them to class. Download the Windows version of QTL Cartographer from the link on the Resources page and install it first, though. That way you'll be able to follow along with the analysis as its running.

Posted by Kent at 7:58 AM | Comments (0) | TrackBack

Further refinement

I've refined the WinBUGS code a bit more. My bet is that you haven't downloaded the old version yet, but if you have, use the new version instead. It doesn't make a huge difference, but it is a little better.

If you're interested in what changed since yesterday and why, just ask. I won't say anything about it, because it's a purely statistical change -- no biology involved.

Posted by Kent at 7:11 AM | Comments (0) | TrackBack

October 28, 2006

WinBUGS code for Problem #4

I've modified the WinBUGS code a little (see below for comments on what I've changed) and uploaded it to the web site. In addition to the link to
problem-4-bugs.txt here, you'll also find a link to it on the detail pages where you find the data. I'll spend a few minutes at the beginning of lecture on Monday illustrating a couple of new things you'll need to know about running WinBUGS for this analysis.

The good news is that you only need to add code (a) to relate the observational components of variance to the causal components of variance (which should be pretty straightforward), (b) to estimate the heritability, and (c) to estimate the response to selection. The code for doing the regression of fitness in phenotype is already embedded. (I'll show you where on Monday.)

If you want to play with this code before lecture, you'll have to do one thing in addition to what you've done before. After Model->Specification “check model”, “load data”, and “compile”, you'll need to click “load inits” before clicking “gen inits” and updating. If that doesn't make sense, don't worry about it. Have a nice weekend, and I'll explain it on Monday.

Changes in the WinBUGScode

  • I fiddled with the priors on sd.sire, sd.dam, and sd.within to make sure that everything behaves properly.

  • I changed the regression model (slightly) to make it behave better.

  • I set nu equal to the observed mean phenotype, rather than estimating it with a prior.

  • I added code to estimate the mean fitness right below the regression model.

Posted by Kent at 1:14 PM | Comments (0) | TrackBack

Problem #4 -- relax for a while

I was double checking some things this morning, and I've found a problem with the simulated data that I posted. You're welcome to play around with the code if you want, but don't spend a lot of time on it until I fix the problem.

By the way, I've decided that I'll post the code that includes (a) changes in the numbers necessary to deal with the data I supply and (b) the regression analysis. All you'll need to add is the code to infer Va, Vd, and Ve and interpret the results.

Posted by Kent at 10:22 AM | Comments (0) | TrackBack

October 27, 2006

Links fixed

I fixed the links to the data sets for problem #4 in the notes. You'll also find a link to the data sets on the detail page for today's lecture. I'll double check the regression code over the weekend and let you know whether or not a tweak is needed by Saturday night.

Posted by Kent at 10:13 AM | Comments (0) | TrackBack

October 26, 2006

Evolution of multiple quantitative traits

We've finished (except for any questions you'd like to ask) our survey of classical quanttative genetics, i.e., the transmission and evolution of single traits. In Friday's lecture we'll apply some of the same principles to the simultaneous evolution of multiple traits. Quite a bit of what we cover will look reasonably familiar, but there are some interesting wrinkles. The good news is that your intuition is probably good enough that you'll be able to guess a lot of what's going on before I tell you.

Posted by Kent at 9:15 PM | Comments (0) | TrackBack

Problem #4

I've posted the description of problem #4 and the associated data sets. We'll go over it first thing in class tomorrow. One difference you'll notice is that these data are simulated, not real. That's because there's an important feature of interpreting these data that would be difficult to demonstrate with real data.

Posted by Kent at 6:03 PM | Comments (0) | TrackBack

October 25, 2006

Evolution of quantitative triats

I've posted the notes on evolution of quantitative traits. We'll spend all of the day today and probably the first few minutes on Friday going over some of what's covered here. We won't cover everything. The details are here for your reference should you ever need them.

Posted by Kent at 7:03 AM | Comments (0) | TrackBack

October 23, 2006

The factors associated with σ2d and σ2s

I rechecked a couple of sources and confirmed that my notes are correct. The expected mean square for the among dam component of variance is

σ2w + kσ2d

and the among sire component of variance is

σ2w + kσ2d + dkσ2s

where k is the number of progeny per dam and d is the number of dams. The reason for the factor kσ2d is that each of the k progeny of a single dam contribute to the among dam component of variability. Similarly, each of the dk progeny of a single sire contribute to the among sire component of variability.

I know it's a little strange, but that's the way it works out.

Posted by Kent at 11:30 AM | Comments (0) | TrackBack

October 22, 2006

Partitioning variance with WinBUGS

I've rearranged next week's lecture schedule a bit. We'll finish talking about resemblance among relatives after about 25-30 minutes of lecture tomorrow. I'll then illustrate how to estimate the observational components of variance in WinBUGS. The code is available in partitioning-example.txt. If you have a Windoze computer, you may want to download it and bring your computer to class tomorrow so that you can follow along.

(If you guessed that you'll have to extend what I show you tomorrow for problem #4, you guessed right.)

Posted by Kent at 11:59 AM | Comments (0) | TrackBack

October 18, 2006

Corrected due dates and typo

I corrected the due dates for problem #4 and project #2. I also corrected the typo in the numerical example we went over right at the end of today's lecture.

Please take time to think about what we covered today. I'll take time at the beginning of class on Friday to answer questions, if anyone can formulate one. Your question doesn't even have to seem coherent. I can probably figure out what's confusing you if you'll just ask.

Posted by Kent at 10:18 AM | Comments (0) | TrackBack

October 17, 2006

Estimating heritability

I've posted notes for 10/18 (Estimating variance components). I think we'll get started on the topics they cover tomorrow, but I'm sure that we won't finish them. We'll finish them on Friday (or maybe on Monday).

On a different note, I've talked with a couple of you who have questions about Problem #3. Please remind me to take a few minutes for questions tomorrow morning if I forget.

Posted by Kent at 6:50 PM | Comments (0) | TrackBack

October 14, 2006

Quantitative genetics

I've posted the first set of notes on quantitative notes. I encourage you to take a look at them before lecture on Monday if you have a chance. Things get a little hairy for the next few weeks, and it will help if you have some idea of where we're going before we get started.

We will probably be using the notes posted for Monday for most of next week.

Posted by Kent at 4:05 PM | Comments (0) | TrackBack

Problem #3

I've posted problem #3. You'll find a link to it on the detail page associated with Monday's lecture. (The notes link doesn't work yet. I haven't posted the notes yet.)

I suspect that many, maybe all, of you will be pleased to learn that use of WinBUGS is optional for this problem. If you want to try WinBUGS on this problem, I'll be happy to provide some pointers.

Posted by Kent at 3:26 PM | Comments (0) | TrackBack

October 13, 2006

Software for population genetics

The current issue of Nature Review Genetics has a nice article by Laurent Excoffier and Gerald Heckel reviewing the various software packages available for analysis of population genetic data, the analyses each performs, and the assumptions underlying the analyses. To see the full text of the article, you have to register (it's free), but I've uploaded a PDF so that you don't have to register. To avoid copyright problems, it will only be accessible within the UConn.Edu domain.

Posted by Kent at 4:29 PM | Comments (0) | TrackBack

Have a nice weekend

It turns out that I need a little more time to locate a good data set for problem #3. That means that you get another weekend without a population genetics assignment. Enjoy the weekend!

Problem #3 won't be formally assigned until Monday, but there's a good chance it will be posted late tomorrow or early on Sunday if you want a sneak peek.I've also adjusted some of the remaining assignment dates.

Posted by Kent at 8:04 AM | Comments (0) | TrackBack

October 11, 2006

Coalescent

I've just posted notes on the coalescent. After we finish our discussion of drift and selection, we'll get started on this. And we'll finish it on Friday, so that we can start quantitative genetics on Monday.

Posted by Kent at 7:43 AM | Comments (0) | TrackBack

October 9, 2006

Selection and genetic drift

I got to looking at the syllabus over the weekend and realized that I didn't have a lecture scheduled on the interaction between drift and selection. Since understanding that interaction is crucial for understanding a lot of evolutionary processes within populations, we need to spend a little time on it. So as interesting as it would have been to spend more time talking about migration and population structure, I've decided to drop that.

We'll probably spend some time finishing up selection and drift on Wednesday before we start talking about the coalescent.

Posted by Kent at 8:11 AM | Comments (0) | TrackBack

October 4, 2006

Still not quite right

Someone pointed this out to me before and I forgot, but there's another problem with what I posted. Use this instead:

a[1:3} ~ dmulti(x.a[], N.a)
N.a <- sum(n.a[])


# priors
y.a[1] ~ dexp(1)
y.a[2] ~ dexp(1)
y.a[3] ~ dexp(1)
x.a[1] <- y.a[1]/sum(y.a[])
x.a[2] <- y.a[2]/sum(y.a[])
x.a[3] <- y.a[3]/sum(y.a[])

Once again, I'm sorry for the confusion. That's what I get for writing code at a computer that doesn't have WinBUGS installed on it so that I can't check it.

If you're wondering what the difference is: (a) there was a desp() in one line instead of a dexp() and (b) all of the dexp() lines should be dexp(1).

Posted by Kent at 5:43 PM | Comments (0) | TrackBack

Error in last night's hint

In helping a couple of people today, I realized that I mistyped my hint last night. This is how it should read.

a[1:3} ~ dmulti(x.a[], N.a)
N.a <- sum(n.a[])


# priors
y.a[1] ~ dexp(1)
y.a[2] ~ dexp(2)
y.a[3] ~ desp(3)
x.a[1] <- y.a[1]/sum(y.a[])
x.a[2] <- y.a[2]/sum(y.a[])
x.a[3] <- y.a[3]/sum(y.a[])

The difference is in the last three lines. x.a[] is just calculated from the y.a[], so you connect the two with a "<-" instead of a "~". You only use the "~" when you're talking about observations on the left side of the equation having a particular probability distribution.

Sorry for the confustion. That's what I get for typing hints late (for me) at night.

Posted by Kent at 2:13 PM | Comments (0) | TrackBack

Notes on mutation, migration, and drift

The notes on mutation, migration, and drift are now posted. I've also included links to a couple of papers providing more gory details than you'd care to know about. Please take a look at them, but don't worry about trying to follow everything in them. They're heavy going.

Posted by Kent at 7:55 AM | Comments (0) | TrackBack

October 3, 2006

More hints on Problem #2

As promised yesterday in class, I'm providing a few more hints that should help you solve Problem #2. Everyone I've talked with is on the right track, but there are some details that aren't quite as obvious as I thought they were.

Hint #1: Think about the genotype proportions in the initial populations (i.e., the 100:900 or 900:100 ratio of AA:BB) as giving you information about the allele frequency in newly formed zygotes. Estimate the frequency of A from that sample, remembering that (a) the frequency of A is equal to the frequency of AA (since there aren't any heterozygotes) and (b) you have two categories in which you're trying to estimate the frequency, so the number of AAs will be a binomial sample from the total.

Hint #2: Look back at the notes on estimating viability selection. You'll notice that to get relative viabilities you only need the genotype frequencies in zygotes and adults. You should be able to calculate the genotype frequencies in zygotes from the frequency of A in the base popNulation (see Hint #1).

Hint #3: To estimate the genotype frequencies after selection, you'll need to estimate the frequencies from a multinomial sample. Specifically,

n.a[1:3} ~ dmulti(x.a[], N.a)
N.a <- sum(n.a[])

# priors
y.a[1] ~ dexp(1)
y.a[2] ~ dexp(2)
y.a[3] ~ desp(3)
x.a[1] ~ y.a[1]/sum(y.a[])
x.a[2] ~ y.a[2]/sum(y.a[])
x.a[3] ~ y.a[3]/sum(y.a[])

where

n.a[]
is the number of each genotype (AA, AB, BB), and
x.a[]
is the corresponding genotype frequency.

Posted by Kent at 9:19 AM | Comments (0) | TrackBack

October 2, 2006

Problem #1 solution posted

I finally got around to posting a worked solution to Problem (not Project) #1. You can find it at http://darwin.eeb.uconn.edu/eeb348/supplements-2006/problem-1-2006-solution.pdf. This is what Uzay used as a reference while grading. If you have any questions about it, please let me know.

Posted by Kent at 8:25 PM | Comments (0) | TrackBack

Screens in MARN 123

I reported the problems with projection in MARN 123 to the powers that be. They assured me that they will look into the problem. With a little luck, we'll have everything fixed by Wednesday. Thanks for letting me know that things didn't look good down there.

Posted by Kent at 3:03 PM | Comments (0) | TrackBack