Research Project Directory Generator

Create a project directory structure, along with typical files for that project. This allows projects to be quickly and easily created, as well as for them to be standardized. Designed specifically with scientists in mind (mainly bio-medical researchers, but likely applies to other fields).


CRAN Status Badge Build Status Coverage status lifecycle CRAN RStudio mirror downloads Join the chat at https://gitter.im/prodigenr/Lobby

This R package is part of a series of (planned) packages that are aimed at creating a toolkit for doing reproducible and open science. Many researchers (especially in biomedicine, medicine, or health, which is my area of research) have little to no knowledge on what open science is or what reproducibility is, let alone how to do it. My goal is create an (opinionated) toolkit to automate and simplify the process of doing open and reproducible science.

This specific package is a project directory generator (prodigenr). It will create a standardized project folder structure with the necessary template files for managing and analyzing data and for creating common scientific output (posters, slides, abstracts, manuscripts). Because of the standardized structure and because of the focus on a "one project, one scientific output", this allows the final code and documents to be fairly modular, self-contained, easy to share and make public... and be as reproducible as possible. This folder structure also makes use of the existing and established applications and workflows (RStudio, devtools, and usethis). This package aims to make it easier to adhere to open scientific practices by following a standard, consistent, and established folder and file structure for data analysis projects.

How to install

Install using the R console via CRAN:

install.packages('prodigenr')

Or for the development version:

# Development version
# install.packages("remotes")
remotes::install_github('lwjohnst86/prodigenr')

Usage

The main function is the prodigen command. So, for instance, if you want a manuscript project, type out:

library(prodigenr)
setup_project("DiseaseDiet", tempdir())
# open up the newly created project via the Rproj file. Then:
create_manuscript() 
# Or...
create_poster()
# etc.

This then creates a directory tree, with template files for starting your analysis! The main secondary function is the template_list command, which lists the available template projects and files (submit a PR if you want another template included!):

template_list

For a more detailed tutorial, see the introduction vignette:

vignette('prodigenr', 'prodigenr')

Related packages or projects

There are several existing packages for creating projects, each of which has it's own pros and cons. Try them out and see which you like!

prodigenr tries to use ideas from R packages/devtools while still being as simple as possible and be more specific to academic researchers primarily in biomedical/non-computer science fields. However, it can always improve! I welcome any suggestions, just submit a GitHub issue!

Interested in contributing?

See the contributing documentation for information on how to contribute. There is also the roadmap for an overview of the goals and timelines. Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Special thanks to @zsemnani for creating the logo!

News

prodigenr 0.4.0

New feature

  • Use RMarkdown template files to draft the posters, slides, manuscripts, and abstract (#70, #75). See create_* type commands.
  • New function to setup a general project, but excluding the individual document types such manuscript, slides, etc (#72). prodigen function is deprecated.
  • READMEs in each folder and section to fill out in main README for the project description (#38, #80).

Removals

  • Moved include_*() functions over into rostools (#96)

Minor fixes

  • Added additional information to template README.md (#29, #30, #32)

Misc additions

  • Todo items to created README
  • Added code coverage #65

prodigenr 0.3.0

New features/functionality

  • prodigen() now creates a new project structure that mimics R package development more, specifically devtools (since it is well documented and actively maintained) (#18, #15, #14). The old style has been removed.
  • Added a function to include a STROBE checklist for reporting guidelines (#21).
  • Added function to include an rfigshare script to send to figshare (#19).
  • Added function to include a more complete MIT license (#20).

prodigenr 0.2.7

  • Added a NEWS.md file to track changes to the package.
  • Fixed a bug that prevented an Rproj file and the Rprofile files from being installed and created.

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("prodigenr")

0.4.0 by Luke Johnston, 7 months ago


https://github.com/lwjohnst86/prodigenr


Report a bug at https://github.com/lwjohnst86/prodigenr/issues


Browse source code at https://github.com/cran/prodigenr


Authors: Luke Johnston [aut, cre]


Documentation:   PDF Manual  


MIT + file LICENSE license


Imports clipr, clisymbols, crayon, desc, devtools, fs, git2r, rmarkdown, rprojroot, usethis, utils, withr

Suggests covr, knitr, testthat


See at CRAN