R PopGen Hackathon
The broad and inexpensive availability of modern next-generation sequencing and genotyping technologies have led to a wealth of data and analytical methods for investigating population genetics research questions. Natural selection and the resulting change of gene frequencies takes place at the lvel of populations, and thus population genetics research provides key insights into evolutionary mechanisms and history, including population structure, migration routes, gene flow between populations, divergence time estimation, association of phenotypes to genomic loci, and disease epidemiology. As a consequence, there is now a multitude of packages available for a large variety of population genetics analysis methods in the popular R platform for statistical and mathematical computing. The Genetics Task View alone mentions more than 30 packages, and population genetic analyses will routinely also involve phylogenetics and other bioinformatics packages and methods.
However, not all of them are used, and while some packages (for example, Pegas and adegenet) work well together, many others do not or not enough.
- Many of the packages do not scale well to large volume datasets, yet these are becoming increasingly common. A common base class for efficient storage of genetic data was one of the original goals of the Rgenetics package, but this was never fully implemented.
- Beginning to end workflows are often not considered for the design or development of individual packages, but can reveal the pain points in creating complex analysis workflows that require moving data, metadata, and other state information from one package to another, and focus attention on how these problems can be addressed or lowered.
- E.g., pegas uses a class implemented in adegenet. Vice versa for a class in ape.
- An outcome could be an Rweave file that walks the analysis workflow from start to end. Could also be published then.
- There are package dependencies that are deprecated (genetics for example). Could put together some key people, and either resurrect genetics package, or develop an alternative.
- Core packacke that provides core classes and is scalable data structures would be a great target.
The event aims to target the following broad objectives. Participants will identify specific objectives and coding targets prior to and during the event.
- A common base class for efficient storage of genetic data.
- Increase interoperability between the many population genetics-related packages.
- Improve scalability for big data among population genetics packages.
- Develop a Vignette document (Rnw or Rmd) that works provides an example work-flow exercising the key packages.
All code and documentation from the hackathon will be made available immediately and freely to the community under an open-source (OSI-approved) license.
Participation will be arranged through an open Call for Participation.
- Thibaut Jombart, Hilmar Lapp, Stéphanie Manel, Emmanuel Paradis, Bastian Pfeifer, Greg Warnes
- Vince Carey, a core developer of Bioconductor, has agreed to serve in an advisory role during the planning phase of the event.
The hackathon is slated to take place March 16-20, 2015 at NESCent in Durham, North Carolina.
Detailed planning steps are outlined and documented separately. In particular, the following activities are taking place:
Related external resources
R Packages and projects
- Old 'R-Genetics" project SVN repository:
- CRAN Task View: Statistical Genetics
- Bioconductor packages in category Genetics
- GStudio (R. Dyer)
- ff-package (big data issue)