Frequently Asked Questions
This section will cover most of the questions you may have about GAMBLR. If there is something that is not covered, please feel free to reach out to us via GitHub by reporting an issue and we will be happy to add it to this page.
How to install GAMBLR?
The top-level members of GAMBLR family already have all GAMBLR packages setup for you as dependencies, and installing the top-level package will automatically install for you all other repositories available to you.
Just run:
# Verify devtools is installed
if (!require("devtools")) install.packages("devtools")
# Install GAMBLR.open
::install_github(
devtools"morinlab/GAMBLR.open",
repos = BiocManager::repositories()
)
# Load the package
library(GAMBLR.open)
For more information, please refer to the detailed desctiption of GAMBLR.open.
Just run:
# Verify devtools is installed
if (!require("devtools")) install.packages("devtools")
# Install GAMBLR.open
::install_github(
devtools"morinlab/GAMBLR",
repos = BiocManager::repositories()
)
# Load the package
library(GAMBLR)
Please refer to GAMBLR.open for the open access published version of this package.
This error is because GAMBLR.results
package is private and have restricted access. If you are the Moring Lab member or member of the GAMBL consortium, please contact Kostia or Ryan through Slack regarding this error. Be sure your GitHub ID is added to your Slack profile.
This will load all functionality of GAMBLR-verse and point to the data on GSC side for easy access.
There are so many GAMBLR packages! Why?
Originally, GAMBLR started as a single package GAMBLR
. Since the time of it’s inception, it has signficantly grown. This resulted in the fact where scripts were 10k-long files at some points, and this in turn made it very difficult to maintain, fix bugs, implement new functionality, make improvements etc. As a side effect, it also created scenarios where users that need one specific function or data from GAMBLR had to install tons of dependencies that were actually not needed for that specific implementation, waiting hours for the resolution and installation of package dependencies and sub-dependencies. Since it mainly relied on the data available only on GSC, after hours of installation users were not able to use most of GAMBLR anyways, since they did not have access to the data and functions retreiving that data.
For that and other reasons, the GAMBLR
was separated into specific children repositories, each serving it’s own specific purpose:
- GAMBLR.data - a “storage unit” with different types of bundled data.
- GAMBLR.helpers - a set of low-level functions for data operation.
- GAMBLR.utils - higher level set of functions to operate on genomic data.
- GAMBLR.viz - set of functions used mostly for visualizations.
- GAMBLR.predict - a collection of machine learning algorithms and functions to pre-format inputs for these models. Contains classifiers of Burkitt and Follicular lymphomas originally published, as well as reproduced of DLBCL classification by the groupings of Chapuy et al, Lacy et al, and Runge et al.
- GAMBLR.open - open-source package recommended for the community interested in lymphoma genomics research and are not members of the GAMBL consortium, or if you are waiting for your access approval but want to get started.
- GAMBLR.data - a “storage unit” with different types of bundled data.
- GAMBLR.helpers - a set of low-level functions for data operation.
- GAMBLR.utils - higher level set of functions to operate on genomic data.
- GAMBLR.viz - set of functions used mostly for visualizations.
- GAMBLR.results - set of functions used to effectively querry the outputs of different workflows and use all of the available datasets, generated both internally and externally.
- GAMBLR - an umbrella package only existing for the sole purpose of reducing the number of keystrokes and allowing you to install and use all packages listed above with single line. This package does not contain any data or functions.
How to load GAMBLR to my session?
After installation, you would load and use GAMBLR just like any other R package - using the library()
call. Since the top-level GAMBLR-verse loads all of the child repos for you, there is no need to load each package separately - you can use GAMBLR with just one statement.
Just run:
library(GAMBLR.open)
This will load all the bundled data and packages of the GAMBLR-verse available to you.
Just run:
library(GAMBLR)
This will load all functionality of GAMBLR-verse and point to the data on GSC side for easy access.
How do I update a package (or packages)?
While installing the top-level package is sufficient to install members of the GAMBLR-verse available to you, when the individual repo is updated, it is best to update it by installing it directly from GitHub. Since all members of the GAMBLR-verse have the same naming convention, just specify specific package you want to update after the dot. For example, to update the GAMBLR.viz
to the latest version, run
# Install GAMBLR.viz
::install_github(
devtools"morinlab/GAMBLR.viz",
repos = BiocManager::repositories()
)
To install, for example, the most recent version of GAMBLR.helpers
, run:
# Install GAMBLR.helpers
::install_github(
devtools"morinlab/GAMBLR.helpers",
repos = BiocManager::repositories()
)
After updating the specific package in this way, it is sufficient to just load the top-level package (library(GAMBLR.open)
or library(GAMBLR)
, depends on your access permissions) to start using the version of the GAMBLR-verse version that was just installed.
Since the top-level package GAMBLR
is just a wrapper to load all packages at once, you do not need to install or update it unless otherwise specified. It will automatically load the latest installed version, so updating the individual member is sufficient.
Where to clone GAMBLR repos?
You would only ever need to clone the repo if you want to contribute. There is no need to clone it in order to install or load it in the session. Therefore, there is no hard rules with respect to where the repo should be cloned. Any location that you would normally clone any other repo also applies in this case.
Where should I run GAMBLR?
You are not required to set the current working directory of the session to any specific path. Use your regular setup just like with any other R package.
Checkout branch to run PR review tests
There can be scenarios where you would want to test the changes implemented in a particular PR. If this is the case, you would need the local copy of the repository. There are different ways to approach the testing but the resommended one is the following:
- Change the directory to the path where you have the local copy ot the repo
- Checkout the branch with PR
git checkout <name_of_the_branch>
Depending on whether or not you have checked that branch in your local copy of the repo before, it might need a call to git pull --ff-only
to pull the version from remote. Usually GitHub will tell you if your local copy is not up to date and the pull is required, so make sure you read the message after checking out the branch.
- Start the new R session and load the top-level package
library(GAMBLR)
- Set the working directory to the path where your local copy of the repo is located
- Use devtools to load the version of the package in PR
::load_all() devtools
- Run whichever commands you want to test!