The SigRepo package provides a comprehensive set of functions for easy
storage and management of biological signatures and their components.
SigRepo (the client) works alongside SigRepo_Server, its server
counterpart. While SigRepo enables you to store, search, and retrieve
signatures and signature collections, these operations rely on a running
SigRepo_Server instance.
Interested in setting up your own SigRepo_Server? Check out the installation instructions here.
To upload and download signatures — and to fully utilize the functionalities offered by the SigRepo package — signatures and signature collections must be represented as specific R6 objects. You can create these objects using our proprietary package, OmicSignature.
Click on each link below for more information:
- Overview of the object structure
- Create an OmicSignature (OmS)
- Create an OmicSignatureCollection (OmSC)
Below, we walk you through few essential steps to install the SigRepo
package, and to store, retrieve, and interact with a list of signatures
stored in an already
deployed SigRepo server.
- Using
devtoolspackage
# Load devtools package
library(devtools)
# Install SigRepo
devtools::install_github(repo = 'montilab/SigRepo')
# Install OmicSignature
devtools::install_github(repo = 'montilab/OmicSignature')
# Load tidyverse package
library(tidyverse)
# Load SigRepo package
library(SigRepo)
# Load OmicSignature package
library(OmicSignature)
Please navigate to our
sigrepo.org portal to
create your account. On the login page, click "Register here!" and
fill out the registration form to create an account. You will receive an
email when your account has been activated. Due to SQL constraints,
having multiple users on the same testing account, like running the
tutorial in the readme, will fail to connect. Each user using their own
account is ideal.
The SigRepo Project is a project that holds various sensitive signatures. Because of this, visibility of certain signatures is taken into account. What this means is that in order to retrieve certain signatures with the visibility of private(visibility = 0), standard accounts will not be able to access that signature and you will need permission from the signature author to access it. Conversely, a signature with the visibility of public (visibility = 1, this is also the DEFAULT) will be available to everyone with an account. Please note, viewing a signature with searchSignature() is different than using getSignature(), searchSignature() only shows the metadata of the signature and this is shown to everyone. getSignature takes into account the visibilty of the signatures.
SigRepo uses a MySQL database to store, search, and retrieve biological signatures and their components. To access signatures in our database, VISIT OUR WEBSITE to create an account or CONTACT US to be added.
There are three types of user accounts:
- admin has READ
and WRITE access to all signatures in the database.
-
editor has READ and WRITE access to only their own
uploaded signatures in the database.
- viewer has READ-ONLY
access to publicly available signatures in the database.
Once you have a valid account, use SigRepo::newConnHandler() to create
a handler with your credentials.
# Create a connection handler
conn_handler <- SigRepo::newConnHandler(
dbname = "sigrepo",
host = "sigrepo.org",
port = 3306,
user = <your_username>,
password = <your_password>
)
After you call newConnHandler(), SigRepo stores that handler
internally for the current R session.
Because of that, most SigRepo functions can be called in either of these
ways:
- Explicitly pass
conn_handlerin each call. - Omit
conn_handlerand use the internally stored handler.
# Option 1: explicit connection handler
SigRepo::searchSignature(
conn_handler = conn_handler,
signature_name = "example_signature"
)
# Option 2: use stored handler from newConnHandler()
SigRepo::searchSignature(
signature_name = "example_signature"
)
