SomaLogic / SomaScan.db

An R package providing extended biological annotations for the SomaScan Assay, a proteomics platform developed by SomaLogic Operating Co., Inc.
https://somalogic.github.io/SomaScan.db/
Other
3 stars 3 forks source link
adat bioconductor-package proteomics proteomics-data-analysis r r-package somascan

SomaScan.db

GitHub
version Lifecycle:
stable License:
MIT BioC
rank Bioc
support

Overview

The SomaScan.db package is a platform-centric R package that provides extended biological annotations for analytes in the SomaScan assay menu, using resources provided by the Bioconductor project. The package exposes a database object, SomaScan.db, which is an SQLite database that can be queried to retrieve annotations for SomaScan analytes.

SomaScan.db is structured around a primary identifier, the SomaLogic sequence ID (SeqId). Please note that in some cases, this identifier may also be referred to as a “PROBEID”. SeqIds are the cornerstone of the SomaScan assay, and are used to uniquely identify SomaLogic analytes. The SomaScan.db package enables mapping from SeqIds to other identifiers from popular public data repositories, many of which are gene-based, and vice versa.

For more information about SeqIds, please see ?SomaDataIO::SeqId.


Installation

SomaScan.db can be installed from the most recent Bioconductor release using the BiocManager package:

# If not already installed, install BiocManager
if (!require("BiocManager", quietly = TRUE)) {
    install.packages("BiocManager")
}

BiocManager::install("SomaScan.db")

The development version of SomaScan.db, containing the most current features and/or updates, can be be installed from GitHub:

remotes::install_github("SomaLogic/SomaScan.db")

Once installed, the package can be loaded using the usual syntax:

library(SomaScan.db)

Dependencies

The SomaScan.db package requires R >= 4.3.0, and depends on the following R packages:

You may also want to install another of SomaLogic’s R packages, SomaDataIO, which is designed for reading, writing, and manipulating ADATs. If you have not already used SomaDataIO to work with your SomaScan data, you will likely find it highly useful. SomaDataIO is available on CRAN.


Usage

The annotations in SomaScan.db can be queried using 5 methods that are common amongst Bioconductor annotation packages:

  1. keys returns a list of all central identifiers in the package, aka SomaScan analytes, for which there are annotations available:
keys(SomaScan.db)
  1. keytypes lists data types that can be used as keys to query the SQLite database:
keytypes(SomaScan.db)
  1. columns lists all available data types:
columns(SomaScan.db)
  1. mapIds retrieves annotation data (from only a single data type, aka column):
mapIds(SomaScan.db, keys = "18342-2", columns = "SYMBOL", multiVals = "first")
  1. select retrieves annotation data en masse (from multiple columns) using values from keys and columns:
select(SomaScan.db, keys = "18342-2", columns = c("SYMBOL", "UNIPROT"))

select can also be used to identify SeqIds associated with a gene or or protein of interest (here, PROBEID refers to the SomaScan SeqIds):

select(SomaScan.db, keys = "EGFR", keytype = "SYMBOL", columns = "PROBEID")

For more detailed usage examples, please see the SomaScan.db package vignettes, or the introductory vignette from Bioconductor’s AnnotationDbi:

vignette("IntroToAnnotationPackages", package = "AnnotationDbi")

SomaScan Menus

The SomaScan menu version will be referenced at various points throughout this package and its documentation. Please see the table below for information about each menu:

SomaScan version Common name Plex size[^1]
v4.0 5k 5,284
v4.1 7k 7,596
v5.0 11k 10,731

MIT LICENSE

SomaScan.db is licensed under the MIT license and is intended solely for research use only (RUO) purposes. The code contained herein may not be used for diagnostic, clinical, therapeutic, or other commercial purposes.

[^1]: SomaScan.db contains annotations for human protein targets only. However, some targets in the SomaScan menu are associated with biological entities not represented in this package. As such, this value may differ from the exact number in your ADAT.