CONTRIBUTING.md

Contributing to ImmuneSpaceR

Opening issues

Please briefly describe your problem and what output you expect and include a minimal reprex.

The goal of a reprex is to make it as easy as possible for me to recreate your problem so that I can fix it. If you've never heard of a reprex before, start by reading this.

Brief description of the problem

# insert reprex here

Issue labels

General development guidelines

If you'd like to contribute changes to ImmuneSpaceR, we use the GitHub flow for proposing, submitting, reviewing, and accepting changes. If you haven't done this before, Hadley Wickham provides a nice overview of git, as well as best practices for submitting pull requests. We also recommend using his style guide when writing code.

Development Flow

New Feature

fb_newFeature -> Code Review -> dev -> main -> Bioconductor Submission

For example:

  1. Run into a problem or come up with an idea for a new feature or optimization/enhancement
  2. Create an issue to address the problem or propose the new feature
  3. Create a new branch from dev
  4. Make changes in the new branch
  5. Build and install
  6. Manually test out your changes
  7. Make a commit
  8. If you have more changes to make, repeat steps from #4 to #8
  9. Run R CMD check and BiocCheck
  10. If you get an error or warning, repeat steps from #4 to #10
  11. Push your commit(s) to GitHub. This will kick off Travis build
  12. Wait for Travis build to be done and repeat steps from #4 to #12 if there are errors or you'd like to make more changes
  13. When the new branch is ready to merge, create a Pull Request. The maintainer will assign reviewers for your PR
  14. Reviewers will go through the PR checklist and give you feedback. Repeat steps from #4 to #13 accordingly
  15. Once the reviewers approve your PR, the maintainer will merge your branch to dev branch

Hot Fix

dev -> main -> Bioconductor Submission

Package Structure (WIP)

ImmuneSpaceR.R

CreateConnection.R

ISCon.R

ISCon-cytometry.R

ISCon-dataset.R

ISCon-geneExpression.R

ISCon-participantGroup.R

ISCon-plot.R

ISCon-utils.R

netrc.R

template.R

theme.R

utils.R

zzz.R

ISCon-*.R Structure (WIP)

#' @include ISCon.R
NULL



# PUBLIC -----------------------------------------------------------------------
# (fields and methods that will be public)
# (they should be documented in ISCon.R file)

# (comment what/how this method is doing)
ISCon$set(
  which = "public",
  name = "aPublicMethod",
  value = function() {

  }
)


# (comment about the method)
ISCon$set(
  which = "public",
  name = "anotherPublicMethod",
  value = function() {

  }
)



# PRIVATE -----------------------------------------------------------------------

# (comment about this method)
ISCon$set(
  which = "private",
  name = ".aPrivateMethod",
  value = function() {

  }
)


# (comment)
ISCon$set(
  which = "private",
  name = ".anotherPrivateMethod",
  value = function() {

  }
)



# HELPERS -----------------------------------------------------------------------

# (comment)
.aHelper <- function(x) {

}


# (comment)
.anotherHelper <- function() {

}

Package Development Guide

Functional Code Guide

Style Guide

Naming Things

Commenting Things

Versioning

Notes

Maintainer Guide

Merge to main Branch Checklist

Bioconductor Submission Checklist

FAQ (WIP)

What is the point of this?

How does ImmuneSpaceR work?

How do I setup my machine for ImmuneSpaceR development?

Further Readings

R related

General coding best practices



RGLab/ImmuneSpaceR documentation built on Jan. 5, 2023, 10:24 a.m.