Home Learn Room Librum Blog Room Give a Suggestion Report a Problem About  

Reproducible Research Planet! - Open Directory of Reproducible Research papers

Reproducible Research Learn Room

Learn reproducible research Reproducible research librum Reproducible research blog

Start Learning Start Building Start Sharing Enhance Sharing

RRPlanet!Learn RoomStart Building

Build Your Reproducible Research Compendium

To create a reproducible research compendium, you should provide all components of the research that are necessary for others to understand and reproduce the research. The components of a full Reproducible Research Compendium are listed below:

A full Reproducible Research Compendium includes

1. The Research Paper

  • Full text (ex. a PDF)
  • Full bibliographic citation with current publication status (ex. a BibTeX file)
  • Source files (ex. TeX, Word)

2. The Data

  • Raw data
  • Data cleaning and preparation process
  • The code used for data preparation
  • Prepared data
  • Explanatory documentations for each part

3. The Computational Environment

  • All the (well-documented) source code
  • A list of the parameters, settings, and platforms under which the code was used to produce the results
  • Explanatory documentations for each part

4. Results

  • All the results including high resolution figures, complete tables, etc.
  • Explanatory documentations for each part

5. Complementary Material

  • Any material such as video, or audio files providing complementary information



Once these items are ready, simply regroup them in one archive file (ex. ZIP, GZIP formats) and you are almost done!

Now that your reproducible research compendium is ready, click here to learn how you can best share it with other researchers. You can also browse around our Librum to find good examples of reproducible research compendia.


Enhance Your Reproducible Research Compendium

Donald Knuth
Instead of imagining that our main task is to instruct a computer what to do, let us concentrate rather on explaining to human beings what we want a computer to do

Professor Donald E. Knuth
    Stanford University

Many different methods are proposed each day by researchers to enhance a reproducible research compendium and to make it easier for others to adapt and extend the reported research. In this spirit, Literate Programming techniques can be greatly used in the enhancement of a reproducible research compendium.

Literate programming, first proposed by Professor Donald E. Knuth at Stanford University, refers to the combination of the text and code within the same document in a manner that is human readable.

Many interesting literate programming tools exist that allow us to mix a narrative description of the analysis together with the appropriate code segments and generate strong dynamic and interactive documents.

Some efforts have been made to create new software packages upon literate programming tools with a focus on reproducibility. A list of such software packages is presented below.

creating dynamic/interactive rr documents

The Sweave Homepage-Create dynamic reports (based on LaTeX and R)
Babel extension-Babel is Emacs Org-mode ability to execute source codes (R, Octave, Matlab, Python, etc.) within the same document
RR using SCons- A part of the Madagascar software package, based on SCons, for managing data processing flows and reproducible computational experiments
AMRITA-A system for communicating software-based ideas and information (does not run under Windows)
Sumatra- A tool for managing and tracking projects based on numerical simulation or analysis
VisTrails- Create and modify executable workflows and papers
CDEpack-A tool that automatically packages up everything required to execute a Linux command on another computer without any installation or configuration
StatDocs-Create interactive statistical documents
DynDoc-A set of functions to create and interact with dynamic documents and vignettes in R
Cacher and CacheSweave-R packages for caching statistical analyses and Sweave computations
Python Tools for RR-Python tools for reproducible research on hyperbolic problems
MATLAB Report Generator- Automatically generate reports from MATLAB in a wide variety of formats
Emacs Speaks Statistics-Supports editing of scripts and interaction with various statistical analysis programs such S-Plus, R, SAS and Stata

Literate Programming Tools- A list of Literate Programming Tools. Some of these tools are good candidates for developing new software packages adapted to reproducible research

Are you aware of other RR tools? Contact us



However, these RR adapted software packages are usually developed through the efforts of a small team or dedicated researchers in specialized areas, and there are no widely accepted platforms to create dynamic and interactive reproducible research documents.

Therefore, we think there is an emerging need to develop new software packages, that adopt the ideas of literate programming in reproducible research, in order to generate dynamic, and interactive reproducible research compendia.


In the next page, we tell about sharing a reproducible research compendium and related issues.



Click here to view/add comments on this article


Reproducible Research Planet! Home | Learn Room | Librum | Blog Room | Give a Suggestion | Report a Problem | Contact Us | Share/Save RSS