Giter Site home page Giter Site logo

cboettig / fluctuationdomains Goto Github PK

View Code? Open in Web Editor NEW
1.0 3.0 3.0 5.31 MB

:notebook: Code for "Fluctuation Domains in Adaptive Evolution", published in TPB

Home Page: http://www.sciencedirect.com/science/article/pii/S0040580909001130

License: Creative Commons Zero v1.0 Universal

R 7.13% C 9.69% Makefile 1.93% Python 17.59% TeX 63.66%
compendium research-compendium rescience reproducible-research

fluctuationdomains's Introduction

DOI

Fluctuation Domains in Adaptive Evolution: An Example of Reproducible Research in Theoretical Ecology and Evolution

Authors: Carl Boettiger, Johnathan Dushoff, Joshua Weitz Date: July 12, 2009

This R package is provided as an accompaniment to our paper submitted to Theoretical Population Biology, "Fluctuation Domains in Adaptive Evolution." Using this package, the reader can directly reproduce the results of this paper, and also explore other parameter regimes and extend the work to other models. The simulation is written in a fast C code which is compiled into a shared object library that can be utilized by the R functions provided.

The package structure follows the prescribed format of an R package, with C code in src/ directory, R code in R/ directory, demo scripts in demo. The current C code relies on the Gnu Scientific Library, developed and maintained by Brian Gough, which is freely available form http://www.gnu.org/software/gsl/ and not included with this package. This package is provided in the spirit of Reproducible Research in the spirit of Claerbout 1992, following the compendium concept of Gentleman and Temple Lang, 2007. All the code included in this package is released under the GPL v3 License; included as the file COPYING.

The current preprint of the paper is found in inst/paper/adpaper.pdf in the source directory, (corresponding to paper/adpaper.pdf in the installed directory). The package includes functions for reproducing both figures of the manuscript from scratch. Run demo(adpaper) after loading the library in R to see examples of each of these. Figure 1, created by the function landscape, is implemented entirely in R and can be used to compute the adaptive landscape and the fluctuation landscape for arbitrary ecological dynamics. Figure 2 requires the C based simulation, which is controlled from the R function canonical. Users with a basic knowledge of R should thus be able to reproduce and modify these routines to explore other models. Users with knowledge of C can easily extend the simulation code to other models by modifying the file logistic.c in the src directory. The C source code can also be used directly.

Contact [email protected] for support.

Rescience revision

Ten years after the original publication, these results were successfully reproduced as part of the ReScience 10 Year Challenge. The results of that effort are summarized in the rescience directory in this repository.

Installation instructions

System dependencies. This software requires the GNU Scientific Library to run. Please install libgsl-dev on debian/ubuntu systems, run brew install gsl for Mac/OSX systems using brew, or see the official GSL installation guide.

Once the system dependencies are installed, this R package can be installed directly from GitHub using:

# install.packages("remotes") # do first if necessary.
remotes::install_github("cboettig/fluctuationDomains")

The results can be regenerated then by running make in the rescience/ sub-directory, or by opening the /rescience/article.Rmd file and knitting the file in RStudio. The .Rmd file embeds the code necessary to reproduce the results.

fluctuationdomains's People

Contributors

cboettig avatar kbroman avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

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.