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
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.
fb_newFeature
-> Code Review -> dev
-> main
-> Bioconductor Submission
For example:
dev
R CMD check
and BiocCheck
dev
branchCreateConnection()
: constructor for ISCon
classISCon
definition and documentationself$study
self$config
self$availableDatasets
self$cache
private$.constants
self$initialize()
.check_internet()
.get_host()
.check_portal()
.get_url_base()
.get_user_email()
.get_url_path()
.set_curl_options()
.check_credential()
self$listWorkspaces()
self$listGatingSets()
self$summarizeCyto()
self$summarizeGatingSet()
self$loadGatingSet()
private$.openWorkspace()
private$.downloadCytoData()
private$.mergePD()
.isRstudioDocker()
.assertRstudio()
.buildGSPath()
self$listDatasets()
self$getDataset()
private()$.setAvailableDatasets()
private$.getColnames()
private$.checkFilter()
.extractNames()
.fixColFilter()
.transformData()
self$listGEMatrices()
self$listGEAnalysis()
self$getGEMatrix()
self$getGEAnalysis()
self$getGEInputs()
self$getGEFiles()
self$downloadGEFiles()
self$addTreatment()
self$mapSampleNames()
private$.downloadMatrix()
private$.getGEFeatures()
private$.constructExpressionSet()
private$.mungeFeatureId()
.setCacheName()
.combineEMs()
self$listParticipantGroups()
self$getParticipantData()
private.assertAllStudyConnection()
self$plot()
.plot()
.standardize_time()
.qpHeatmap2()
.qpBoxplotViolin()
.qpLineplot()
.getDataToPlot()
.heatmapAnnotations()
.format_lab()
self$print()
self$clearCache()
private$.checkStudy()
private$.munge()
private$.isProject()
private$.isRunningLocally()
private$.localStudyPath()
private$.listISFiles()
.getLKtbl()
.mixedsort()
interactive_netrc()
write_netrc()
check_netrc()
.get_env_netrc()
.get_env_url()
.get_path()
.check_con()
theme_IS()
ISpalette()
.override_scale()
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() {
}
ISCon-*.R
files are divided into four sections: PURPOSE, PUBLIC, PRIVATE, HELPERSISCon.R
file.
).
)data.table::data.table()
instead of data.frame()
data.table::fread()
instead of read.csv()
or read.table()
TRUE
or FALSE
instead of T
or F
sapply()
, use vapply()
insteadmessage()
and warning()
to communicate with the user in your functionsfieldname
for colNameOpt
argument if you decide to use labkey.selectRows()
or labkey.executeSql()
profvis
package to test the performance of your codestyler::style_pkg()
for convenience<-
not =
for assignmentlowerCamelCase
for variables, functions, methods, argumentssnake_case
for column names in tablesdev
branch after hot fixes and/or feature branch mergeMAJOR.MINOR.PATCH
MAJOR
: when making incompatible API changesMINOR
: when adding functionality in a backwards compatible mannerPATH
: when making backwards compatible bug fixesImmuneSpaceR
, we follow Bioconductor’s Verion Numbering
main
Branch ChecklistBiocCheck::BiocCheck()
?