I'm trying to get a handle on how LD patterns define blocks which are often interpreted as haplotype boundaries. I have LD data (D', r^2) and would like to come up with or use an existing function which takes this matrix and can generate row IDs for the boundaries of each "block".
Is there a BioConductor package or other tool which does this, or a paper which describes a simple approach I could try? The matrix looks "block-diagonal" so I imagine even a technique from linear algebra might have a simple procedure, e.g. this Matlab function (which I don't have access to)?
If you are can think out of R, you can try using PLINK (See section on LD calculations) or Haploview (See Haploview tutorial here) for estimation / visualization of LD blocks. I would like to recommend PLINK, it can be easily integrated in to your work-flows, but Haploview is more of a GUI based. If you are too specific on R, there is an R plug-in for PLINK too.
LDheatmap (although on CRAN, not on Bioconductor) will help with making a visualization of your LD data. The function retuns (invisibly) an object with details for the plot that you could use.
For dealing with almost-block matrices, the packges limSolve might have utilities.
We do a lot of this in our group and I mean a lot. Our choices are HelixTree (GoldenHelix) and TAGGER/Haploview (Haploview employs TAGGER). I have heard a lot of talk about PLINK. Our collaborators with the GOLDN study use it. We find HelixTree to be more robust.
Thanks for the [p]link - I was hoping for something that I could use with the LD matrix and wouldn't require the raw genotypes