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, the organically grown wealth of methods and packages, combined with the exponential growth of datasets, has also created challenges for researchers to take full advantage of these resources. Not all of the existing R packages are actively used and maintained. Even though some packages work well together, many others do not or not enough. A common base class that provides efficient storage of genetic data and promotes interoperability was one of the original goals of the Rgenetics project, but was never implemented and remains lacking. The method implementations in many packages do not scale well to increasingly common large volume datasets. Individual population genetics packages often do not consider for their design how they will integrate well into beginning to end workflows, and as a consequence creating complex analysis workflows that require moving data, metadata, and other state information from one package to another can be painful.
To capitalize on the opportunities presented by the growing active population genetics researcher and R package developer communities, NESCent is sponsoring a hackathon with the aim to address these challenges. A hackathon, or codefest, is an event at which users, developers, and programmers who otherwise do not have the opportunity to interact on a routine basis meet to collaboratively develop working code that furthers the goals of the larger open development community to which they belong.
reveal the pain points in , 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)