Git Product home page Git Product logo

popgeninfo's Introduction

Resources for Population Genetics in R

Build status: Circle CI

Archival copy: DOI

Introduction

This site provides resources for conducting population genetic analyses in R using existing packages. Any member of the R user community proficient in population genetics is welcome to contibute to this site. See instructions on how to contribute workflow vignettes using R markdown.

Development of this site started at the Population Genetics in R hackathon held at NESCent March 16-20, 2015.

Prerequisites and how this works

An overview of and a detailed rationale for the building blocks of this resource and how they click together are described in the following publication:

Kamvar, Z. N., M. M. López-Uribe, S. Coughlan, N. J. Grünwald, H. Lapp, and S. Manel. 2016. "Developing Educational Resources for Population Genetics in R: An Open and Collaborative Approach." Molecular Ecology Resources. doi:10.1111/1755-0998.12558.

Building the Website with Docker

The content of this resource is authored in Markdown and R markdown documents, which are rendered to HTML and published to a Github Pages-hosted static website. The rendering requires a complex software environment (R, a variety of R packages, TeX/LaTeX, pandoc, etc). To allow this to run as consistently as possible between someone's local machine and the Continuous Integration (CI) platform (currently Circle CI) that automatically builds and deploys the website upon changes, the rendering is done from within a Docker container that has everything preinstalled (see the Dockerfile).

As a consequence, contributors need not worry about installing the numerous necessary software components themselves. However, to build the site locally, one has to have docker set up to run. See Docker installation guides, then click on the "Installation" tab and choose your OS to learn about how to get Docker installed and running on your system.

In addition to Docker, building the HTML content locally requires the ability to run GNU make.

For further details on the mechanics of the build and deploy process, see the documentation in the top-level Makefile.

Authoring/Running Vignettes (without Docker)

The vignettes presented on this website are authored in R markdown utilizing packages listed in the DESCRIPTION file. If you want to author a vignette and have a recent installation of R, but do not have the time or authorization to install and run Docker, you may obtain all the dependent packages by installing them from this repository using the R package devtools:

install.packages("devtools", repos = "https://cran.r-project.org")
source("https://bioconductor.org/biocLite.R")
biocLite(c("qvalue", "Biostrings"))
devtools::install_github("NESCent/popgenInfo")

License and How to contribute

All content of this project is released under the MIT license. Please see the file LICENSE for details.

We welcome contributions by the community. Please see the file CONTRIBUTING.md for detailed instructions. Note that this project has adopted a Contributor Code of Conduct. By participating you agree to abide by its terms.

Where appropriate, please acknowledge this site by citing the following publication:

Kamvar et al (2016) "Developing Educational Resources for Population Genetics in R: An Open and Collaborative Approach." Molecular Ecology Resources. doi:10.1111/1755-0998.12558.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.