Introduction
The SomaScan.db
package provides extended biological
annotations to be used in conjunction with the results of SomaLogic’s
SomaScan assay, a fee-for-service proteomic technology platform designed
to detect proteins across numerous biological pathways.
This vignette describes how to use the SomaScan.db
package to annotate SomaScan data, i.e. add additional information to an
ADAT file that will give biological context (at the gene level) to the
platform’s reagents and their protein targets. SomaScan.db
performs annotation by mapping SomaScan reagent IDs
(SeqIds
) to their corresponding protein(s) and gene(s), as
well as biological pathways (GO, KEGG, etc.) and identifiers from other
public data repositories.
SomaScan.db
utilizes the same methods and setup as other
Bioconductor annotation packages, and therefore the methods should be
familiar if you’ve worked with such packages previously.
Package Installation
To begin, install and load the SomaScan.db
package:
if (!requireNamespace("BiocManager", quietly = TRUE)) {
install.packages("BiocManager")
}
BiocManager::install("SomaScan.db", version = remotes::bioc_version())
Once installed, the package can be loaded as follows:
Package Overview
Loading this package will expose an annotation object with the same
name as the package, SomaScan.db
. This object is a SQLite database containing
annotation data for the SomaScan assay derived from popular public
repositories. Viewing the object will present a metadata table
containing information about the annotations and where they were
obtained:
SomaScan.db
## SomaDb object:
## | DBSCHEMAVERSION: 2.1
## | Db type: ChipDb
## | Supporting package: SomaScan.db
## | DBSCHEMA: HUMANCHIP_DB
## | ORGANISM: Homo sapiens
## | SPECIES: Human
## | MANUFACTURER: SomaLogic
## | CHIPNAME: SomaScan
## | MANUFACTURERURL: https://somalogic.com/somascan-platform/
## | EGSOURCEDATE: 2023-Sep11
## | EGSOURCENAME: Entrez Gene
## | EGSOURCEURL: ftp://ftp.ncbi.nlm.nih.gov/gene/DATA
## | CENTRALID: ENTREZID
## | TAXID: 9606
## | GOSOURCENAME: Gene Ontology
## | GOSOURCEURL: http://current.geneontology.org/ontology/go-basic.obo
## | GOSOURCEDATE: 2023-07-27
## | GOEGSOURCEDATE: 2023-Sep11
## | GOEGSOURCENAME: Entrez Gene
## | GOEGSOURCEURL: ftp://ftp.ncbi.nlm.nih.gov/gene/DATA
## | KEGGSOURCENAME: KEGG GENOME
## | KEGGSOURCEURL: ftp://ftp.genome.jp/pub/kegg/genomes
## | KEGGSOURCEDATE: 2011-Mar15
## | GPSOURCENAME: UCSC Genome Bioinformatics (Homo sapiens)
## | GPSOURCEURL:
## | GPSOURCEDATE: 2023-Aug20
## | ENSOURCEDATE: 2023-May10
## | ENSOURCENAME: Ensembl
## | ENSOURCEURL: ftp://ftp.ensembl.org/pub/current_fasta
## | UPSOURCENAME: Uniprot
## | UPSOURCEURL: http://www.UniProt.org/
## | UPSOURCEDATE: Mon Sep 18 16:12:39 2023
##
## Please see: help('select') for usage information
The same information can be retrieved as a data frame by calling
metadata(SomaScan.db)
.
Moving forward, this database object (SomaScan.db
) will
be used throughout the vignette to retrieve SomaScan annotations and map
between identifiers.
For reference, the species information for the database can directly be retrieved with the following methods:
species(SomaScan.db)
## [1] "Homo sapiens"
taxonomyId(SomaScan.db)
## [1] 9606
It’s also possible to pull a more detailed summary of annotations and
resource identifiers (aka keys) by calling the package as a function,
with the .db
extension removed:
SomaScan()
## Quality control information for SomaScan:
##
##
## This package has the following mappings:
##
## SomaScanALIAS2PROBE has 38839 mapped keys (of 260786 keys)
## SomaScanENSEMBL has 10596 mapped keys (of 10731 keys)
## SomaScanENSEMBL2PROBE has 11012 mapped keys (of 40851 keys)
## SomaScanENTREZID has 10609 mapped keys (of 10731 keys)
## SomaScanENZYME has 1712 mapped keys (of 10731 keys)
## SomaScanENZYME2PROBE has 809 mapped keys (of 975 keys)
## SomaScanGENENAME has 10609 mapped keys (of 10731 keys)
## SomaScanGO has 10499 mapped keys (of 10731 keys)
## SomaScanGO2ALLPROBES has 20327 mapped keys (of 22561 keys)
## SomaScanGO2PROBE has 16066 mapped keys (of 18692 keys)
## SomaScanMAP has 10607 mapped keys (of 10731 keys)
## SomaScanOMIM has 9766 mapped keys (of 10731 keys)
## SomaScanPATH has 4099 mapped keys (of 10731 keys)
## SomaScanPATH2PROBE has 229 mapped keys (of 229 keys)
## SomaScanPMID has 10607 mapped keys (of 10731 keys)
## SomaScanPMID2PROBE has 605433 mapped keys (of 790941 keys)
## SomaScanREFSEQ has 10605 mapped keys (of 10731 keys)
## SomaScanSYMBOL has 10609 mapped keys (of 10731 keys)
## SomaScanUNIPROT has 10545 mapped keys (of 10731 keys)
##
##
## Additional Information about this package:
##
## DB schema: HUMANCHIP_DB
## DB schema version: 2.1
## Organism: Homo sapiens
## Date for NCBI data: 2023-Sep11
## Date for GO data: 2023-07-27
## Date for KEGG data: 2011-Mar15
## Date for Golden Path data: 2023-Aug20
## Date for Ensembl data: 2023-May10
Note: Keys will be explained in greater detail later in this vignette.
Retrieve Annotation Data
The SomaScan.db
package has 5 primary methods that can
be used to query the database:
keys
keytypes
columns
select
mapIds
This vignette will describe how each of these methods can be used to
obtain annotation data from SomaScan.db
.
keys
method
This annotation package is platform-based, meaning it was built
around the unique identifiers from a specific platform (in this case,
SomaLogic’s SomaScan platform). That identifier corresponds to each of
the assay’s analytes, and therefore the analyte identifiers
(SeqIds
) are the primary term used to query the database
(aka “key”).
All keys in the database can be retrieved using
keys
:
## [1] "10000-28" "10001-7" "10003-15" "10006-25" "10008-43"
## [6] "10010-10" "10011-65" "10012-5" "10014-31" "10015-119"
Each key retrieved in the output above corresponds to one of the assay’s unique analytes.
keytype
method
When querying the database, we can also specify the type of key
(“keytype”) being used. The keytype refers to the type of identifier
that is used to generate a database query. While the database is
centered around the SomaLogic SeqId
, other identifiers can
still be used to query the database.
We can list all available datatypes that can be used as query keys
using keytypes()
:
## List all of the supported key types.
keytypes(SomaScan.db)
## [1] "ACCNUM" "ALIAS" "ENSEMBL" "ENSEMBLPROT"
## [5] "ENSEMBLTRANS" "ENTREZID" "ENZYME" "EVIDENCE"
## [9] "EVIDENCEALL" "GENENAME" "GENETYPE" "GO"
## [13] "GOALL" "IPI" "MAP" "OMIM"
## [17] "ONTOLOGY" "ONTOLOGYALL" "PATH" "PFAM"
## [21] "PMID" "PROBEID" "PROSITE" "REFSEQ"
## [25] "SYMBOL" "UCSCKG" "UNIPROT"
Note: the SomaScan assay analyte identifiers
(SeqIds
) are stored as the “PROBEID” keytype.
keytypes
can also be used in conjunction with
keys
to retrieve all identifiers associated with the
specified keytype. The example below will retrieve all UniProt IDs in
SomaScan.db
:
## [1] "A8K052" "P04217" "Q68CK0" "Q8IYJ6" "Q96P39" "V9HWD8" "P01023"
## [8] "Q13677" "Q59F47" "Q5QTS0" "Q68DN2" "Q6PIY3" "Q6PN97" "A8K4E7"
## [15] "O15159" "O15300" "P18440" "Q546N1" "Q96TE9" "Q9HAQ5"
columns
method
All available external annotations, corresponding to “columns” of the
database, can be listed using columns()
:
columns(SomaScan.db)
## [1] "ACCNUM" "ALIAS" "ENSEMBL" "ENSEMBLPROT"
## [5] "ENSEMBLTRANS" "ENTREZID" "ENZYME" "EVIDENCE"
## [9] "EVIDENCEALL" "GENENAME" "GENETYPE" "GO"
## [13] "GOALL" "IPI" "MAP" "OMIM"
## [17] "ONTOLOGY" "ONTOLOGYALL" "PATH" "PFAM"
## [21] "PMID" "PROBEID" "PROSITE" "REFSEQ"
## [25] "SYMBOL" "UCSCKG" "UNIPROT"
Note: the SomaScan assay analyte identifiers
(SeqIds
) are stored in the “PROBEID” column.
This list may look very similar (or even identical) to the
columns
output. If identical, all columns can be used as
query keys. For a more in-depth explanation of what each of these
columns contains, consult the manual:
help("OMIM") # Example help call
Each columns
entry also has a mapping object that
contains the information connecting SeqIds → the annotation’s
identifiers. To read further documentation about the object and the
resource used to make it, check out the manual page for the mapping
itself:
?SomaScanOMIM
select
method
The list of columns returned by columns
informs us as to
what types of data are available; therefore, the column values can be
used to retrieve specific pieces of information from the database. You
can think of keys and columns as:
-
Keys: the information you already have
(
SeqIds
/probe IDs), aka rows of the database - Columns: data types for which you want to retrieve information, aka columns of the database
The SomaScan.db
database can be queried via
select
, using both the keys and columns.
When selecting columns and keys using the select
method,
the keys are returned in the left-most column of the output, in the
PROBEID
column. The results will be in the exact same order
as the input keys:
# Randomly select a set of keys
example_keys <- withr::with_seed(101L, sample(keys(SomaScan.db),
size = 5L,
replace = FALSE
))
# Query keys in the database
select(SomaScan.db,
keys = example_keys,
columns = c("ENTREZID", "SYMBOL", "GENENAME")
)
## 'select()' returned 1:1 mapping between keys and columns
## PROBEID ENTREZID SYMBOL
## 1 34799-31 81563 C1orf21
## 2 20520-14 10447 FAM3C
## 3 9123-18 255057 CBARP
## 4 21707-15 389941 C1QL3
## 5 29325-43 11102 RPP14
## GENENAME
## 1 chromosome 1 open reading frame 21
## 2 FAM3 metabolism regulating signaling molecule C
## 3 CACN subunit beta associated regulatory protein
## 4 complement C1q like 3
## 5 ribonuclease P/MRP subunit p14
Note: The message above (‘select()’ returned 1:1 mapping between keys and columns) will be described in detail in the next section of this vignette.
The data that is returned will always be in the same order as the
provided keys. If select
cannot find a mapping for a
specific key, an NA
value will be returned to retain the
original query order.
# Inserting a new key that won't be found in the annotations ("TEST")
test_keys <- c(example_keys[1], "TEST")
select(SomaScan.db, keys = test_keys, columns = c("PROBEID", "ENTREZID"))
## 'select()' returned 1:1 mapping between keys and columns
## PROBEID ENTREZID
## 1 34799-31 81563
## 2 <NA> <NA>
In the example above, a “PROBEID” and “ENTREZID” value couldn’t be
found for the character string “TEST”, so an NA
was
returned in its place.
One-to-Many Relationships
When using select
, a message indicating the relationship
between query keys and column data will be displayed along with the
query results. This message will describe one of the three relationships
below:
1:1 mapping between keys and columns
1:many mapping between keys and columns
many:many mapping between keys and columns
These messages describe the very real possibility that there are
multiple identifiers associated with each key in a query. This can cause
the number of rows returned by select()
to exceed the
number of keys used to retrieve the data; this is what is meant by the
message “‘select()’ returned 1:many mapping between keys and
columns”.
In these cases, you will still see concordance between the order of
the provided keys and outputted results rows, but you should be aware
that new rows were inserted into the results. This message is not an
error, merely an informative notification to the user making it clear
that more output rows than input items should be expected. Importantly,
this message also does not relay information about the SomaScan menu
itself or advice on how to handle many-to-one relationships between
SomaScan reagents and their corresponding protein targets; rather, the
message is directly related to this package’s select
method
and how it retrieves information from the database.
Because some columns may have a many-to-many relationship to each key, it is generally best practice to retrieve the minimum number of columns needed for a query. Additionally, when retrieving a column that is known to have a many-to-one relationship to each key, like GO terms, it’s best to request that information in its own query, like so:
# Good
select(SomaScan.db, keys = example_keys[3L], columns = "GO")
## 'select()' returned 1:many mapping between keys and columns
## PROBEID GO EVIDENCE ONTOLOGY
## 1 9123-18 GO:0005886 IBA CC
## 2 9123-18 GO:0005886 ISS CC
## 3 9123-18 GO:0030141 IBA CC
## 4 9123-18 GO:0030141 ISS CC
## 5 9123-18 GO:0030426 ISS CC
## 6 9123-18 GO:0030672 IEA CC
## 7 9123-18 GO:0044325 IBA MF
## 8 9123-18 GO:0044325 ISS MF
## 9 9123-18 GO:0045955 IBA BP
## 10 9123-18 GO:0045955 ISS BP
## 11 9123-18 GO:1901386 IBA BP
## 12 9123-18 GO:1901386 ISS BP
## 13 9123-18 GO:1903170 ISS BP
# Bad
select(SomaScan.db,
keys = example_keys[3L],
columns = c("UNIPROT", "ENSEMBL", "GO", "PATH", "IPI")
) |> tibble::as_tibble()
## Warning: You have selected the following columns that can have a many to
## one relationship with the primary key: UNIPROT, ENSEMBL, GO,
## PATH, IPI . Because you have selected more than a few such
## columns there is a risk that this selection may balloon up into
## a very large result as the number of rows returned multiplies
## accordingly. To experience smaller/more manageable results and
## faster retrieval times, you might want to consider selecting
## these columns separately.
## 'select()' returned 1:many mapping between keys and columns
## # A tibble: 104 × 8
## PROBEID UNIPROT ENSEMBL GO EVIDENCE ONTOLOGY PATH IPI
## <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
## 1 9123-18 A0A140LJL2 ENSG00000099625 GO:00… IBA CC NA IPI0…
## 2 9123-18 A0A140LJL2 ENSG00000099625 GO:00… IBA CC NA IPI0…
## 3 9123-18 A0A140LJL2 ENSG00000099625 GO:00… ISS CC NA IPI0…
## 4 9123-18 A0A140LJL2 ENSG00000099625 GO:00… ISS CC NA IPI0…
## 5 9123-18 A0A140LJL2 ENSG00000099625 GO:00… IBA CC NA IPI0…
## 6 9123-18 A0A140LJL2 ENSG00000099625 GO:00… IBA CC NA IPI0…
## 7 9123-18 A0A140LJL2 ENSG00000099625 GO:00… ISS CC NA IPI0…
## 8 9123-18 A0A140LJL2 ENSG00000099625 GO:00… ISS CC NA IPI0…
## 9 9123-18 A0A140LJL2 ENSG00000099625 GO:00… ISS CC NA IPI0…
## 10 9123-18 A0A140LJL2 ENSG00000099625 GO:00… ISS CC NA IPI0…
## # ℹ 94 more rows
The example above illustrates why it is preferred to request as few columns as possible, especially when working with GO terms.
Specifying Keytype
In SomaScan.db
, the default keytype for
select
is the probe ID. This means that when using a
SeqId
(aka “PROBEID”) to retrieve annotations, the
keytype=
argument does not need to be defined, and
can be left out of the select
call entirely. The default
(PROBEID
) will be used.
## 'select()' returned 1:many mapping between keys and columns
## PROBEID ENTREZID UNIPROT
## 1 34799-31 81563 B2R551
## 2 34799-31 81563 Q9H246
## 3 20520-14 10447 A6NDN2
## 4 20520-14 10447 A8K3R7
## 5 20520-14 10447 Q92520
## 6 9123-18 255057 A0A140LJL2
## 7 9123-18 255057 K7EJP2
## 8 9123-18 255057 O43385
## 9 9123-18 255057 Q8N350
## 10 21707-15 389941 A0A3B0J0F3
## 11 21707-15 389941 A0PJY4
## 12 21707-15 389941 A0PJY5
## 13 21707-15 389941 Q5VWW1
## 14 29325-43 11102 O95059
## 15 29325-43 11102 Q53X97
However, the database can be searched using more than just
SeqIds
.
For example, you may want to retrieve a list of SeqIds
that are associated with a specific gene of interest - let’s use SMAD2
as an example. You can work “backwards” to retrieve the
SeqIds
associated with SMAD2 by setting the
keytype="SYMBOL"
:
## 'select()' returned 1:many mapping between keys and columns
## SYMBOL PROBEID ENTREZID
## 1 SMAD2 10364-6 4087
## 2 SMAD2 11353-143 4087
Sometimes, this may appear not to work. Let’s use CASC4 as an example:
## Error in .testForValidKeys(x, keys, keytype, fks): None of the keys entered are valid keys for 'SYMBOL'. Please use the keys method to see a listing of valid arguments.
The error message above implies that CASC4
is not a
valid key for the “SYMBOL” keytype, which means that no entry for CASC4
was found in the “SYMBOL” column. However, genes can be tricky to
search, and in some cases have many common names. We can improve this
using keytype="ALIAS"
; this data type contains the various
aliases associated with gene names found in the “SYMBOL” column. Using
keytype="ALIAS"
, we can cast a wider net:
select(SomaScan.db,
columns = c("SYMBOL", "PROBEID", "ENTREZID"),
keys = "CASC4", keytype = "ALIAS"
)
## 'select()' returned 1:many mapping between keys and columns
## ALIAS SYMBOL PROBEID ENTREZID
## 1 CASC4 GOLM2 10613-33 113201
## 2 CASC4 GOLM2 8838-10 113201
This reveals the source of our problem! CASC4 is also known as GOLM4, and this symbol is used in the annotations database. Because of this, searching for CASC4 as a symbol returns no results, but the same query is able to identify an entry when the “ALIAS” column is specified.
Additionally, we can see that CASC4/GOLM2 is associated with two
SeqIds
- 10613-33
and 8838-10
.
How is this possible, and why does this happen? For more information,
please reference the Advanced Usage Examples (
vignette("advanced_usage_examples", package = "SomaScan.db")
).
Specifying Menu Version
SomaScan.db
contains annotations for all currently
available versions of the SomaScan menu by default. However, the
menu=
argument of select
can be used to
retrieve analytes from a single, specified menu. For example, if you
have SomaScan data from an older menu version, like the 5k
menu (also known as V4.0
), this argument can be used to
retrieve annotations associated with that menu specifically:
all_keys <- keys(SomaScan.db)
menu_5k <- select(SomaScan.db,
keys = all_keys, columns = "PROBEID",
menu = "5k"
)
head(menu_5k)
## PROBEID
## 1 10000-28
## 2 10001-7
## 3 10003-15
## 4 10006-25
## 5 10008-43
## 6 10011-65
The SeqIds
in the menu_5k
data frame
represent the 4966 analytes that were available in v4.0 of the SomaScan
menu. All of the listed analytes have currently available annotations in
SomaScan.db
. Those that are not represented do not
currently have annotations available in SomaScan.db
.
If the menu=
argument is not specified in
select
, annotations for all available analytes are
returned.
mapIDs
method
For situations in which you wish only to retrieve one data type from
the database, the mapIds
method may be cleaner and more
streamlined than using select
, and can help avoid problems
with one-to-many mapping of keys. For example, if you are only
interested in the gene symbols associated with a set of SomaScan
analytes, they can be retrieved like so:
mapIds(SomaScan.db, keys = example_keys, column = "SYMBOL")
## 'select()' returned 1:1 mapping between keys and columns
## 34799-31 20520-14 9123-18 21707-15 29325-43
## "C1orf21" "FAM3C" "CBARP" "C1QL3" "RPP14"
mapIds
will return a named vector from
a single column, while select
returns a data frame
and can be used to retrieve data from multiple columns.
The primary difference between mapIds
and
select
is how the method handles one-to-many mapping,
i.e. when the chosen key maps to > 1 entry in the selected column.
When this occurs, only the first value (by default) is
returned.
Compare the output in the examples below:
# Only 1 symbol per key
mapIds(SomaScan.db, keys = example_keys[3L], column = "GO")
## 'select()' returned 1:many mapping between keys and columns
## 9123-18
## "GO:0005886"
# All entries for chosen key
select(SomaScan.db, keys = example_keys[3L], column = "GO")
## 'select()' returned 1:many mapping between keys and columns
## PROBEID GO EVIDENCE ONTOLOGY
## 1 9123-18 GO:0005886 IBA CC
## 2 9123-18 GO:0005886 ISS CC
## 3 9123-18 GO:0030141 IBA CC
## 4 9123-18 GO:0030141 ISS CC
## 5 9123-18 GO:0030426 ISS CC
## 6 9123-18 GO:0030672 IEA CC
## 7 9123-18 GO:0044325 IBA MF
## 8 9123-18 GO:0044325 ISS MF
## 9 9123-18 GO:0045955 IBA BP
## 10 9123-18 GO:0045955 ISS BP
## 11 9123-18 GO:1901386 IBA BP
## 12 9123-18 GO:1901386 ISS BP
## 13 9123-18 GO:1903170 ISS BP
Note that the mapIds
method warning message states that
it returned 1:many mappings between keys and columns, however
only one value was returned for the desired SeqId
. This is
because there were more mapped values that were discarded when the
results were converted to a named vector. This may not be a problem for
some columns, like “SYMBOL” (typically there is only one gene symbol per
gene), but it may present a problem for others (like GO terms or KEGG
pathways). Think carefully when using mapIds
, or consider
specifying the multiVals=
argument to indicate what should
be done with multi-mapped output.
The default behavior of mapIds
is to return the first
available result:
# The default - returns the first available result
mapIds(SomaScan.db, keys = example_keys[3L], column = "GO",
multiVals = "first")
## 'select()' returned 1:many mapping between keys and columns
## 9123-18
## "GO:0005886"
Again, the select
message here indicates that, while
only 1 value was returned, there were many more GO term matches. All of
the matches can be viewed by specifying
multiVals="list"
:
# Returns a list object of results, instead of only returning the first result
mapIds(SomaScan.db, keys = example_keys[3L], column = "GO",
multiVals = "list")
## 'select()' returned 1:many mapping between keys and columns
## $`9123-18`
## [1] "GO:0005886" "GO:0005886" "GO:0030141" "GO:0030141" "GO:0030426"
## [6] "GO:0030672" "GO:0044325" "GO:0044325" "GO:0045955" "GO:0045955"
## [11] "GO:1901386" "GO:1901386" "GO:1903170"
Adding Target Full Names
Because the annotations in this package are compiled from public
repositories, information typically found in an ADAT may be missing. For
example, in an ADAT file, each SeqId
is associated with a
protein target, and the name of that target is provided as both an
abbreviated symbol (“Target”) and full description (“Target Full Name”).
The SomaScan.db
package does not contain data from
a particular ADAT file; however, it does contain a function to add the
full protein target name to any data frame obtained via
select
.
As an example, we will generate a data frame of Ensembl gene IDs and OMIM IDs:
## 'select()' returned 1:1 mapping between keys and columns
ensg
## PROBEID ENSEMBL OMIM
## 1 34799-31 ENSG00000116667 <NA>
## 2 20520-14 ENSG00000196937 608618
## 3 9123-18 ENSG00000099625 <NA>
We will now append the Target Full Name to this data frame:
addTargetFullName(ensg)
## PROBEID TARGETFULLNAME ENSEMBL OMIM
## 1 20520-14 Protein FAM3C ENSG00000196937 608618
## 2 34799-31 Uncharacterized protein C1orf21 ENSG00000116667 <NA>
## 3 9123-18 Protein Dos ENSG00000099625 <NA>
The full protein target name will be appended to the input data frame, with the Target Full Name (in the “TARGETFULLNAME” column) always added to the right of the “PROBEID” column.
Package Objects
In addition to the methods mentioned above, there is an R object that
can be used to retrieve SomaScan analytes from a specific menu version.
The object is a list, with each element in the list containing a
character vector of SeqIds
that were available in the
specified menu.
summary(somascan_menu)
## Length Class Mode
## v4.0 4966 -none- character
## v4.1 7267 -none- character
## v5.0 10731 -none- character
lapply(somascan_menu, head)
## $v4.0
## [1] "10000-28" "10001-7" "10003-15" "10006-25" "10008-43" "10011-65"
##
## $v4.1
## [1] "10000-28" "10001-7" "10003-15" "10006-25" "10008-43" "10010-10"
##
## $v5.0
## [1] "10000-28" "10001-7" "10003-15" "10006-25" "10008-43" "10010-10"
This object also provides a quick and easy way of comparing the available SomaScan menus:
## [1] "10010-10" "10025-1" "10039-32" "10069-2" "10351-51"
## [6] "10354-57" "10379-19" "10382-1" "10398-110" "10420-30"
## [11] "10439-57" "10457-3" "10460-1" "10463-23" "10470-34"
## [16] "10472-53" "10473-2" "10479-18" "10480-33" "10505-12"
## [21] "10528-2" "10576-7" "10626-116" "10631-9" "10636-1"
## [26] "10670-26" "10738-11" "10741-22" "10743-13" "10746-24"
## [31] "10780-10" "10801-11" "10819-108" "10855-55" "10870-32"
## [36] "10894-25" "10966-1" "10967-12" "10970-3" "10976-44"
## [41] "10980-11" "11081-1" "11083-23" "11121-56" "11150-3"
## [46] "11159-14" "11184-51" "11200-52" "11203-97" "11232-46"
Session Info
## R version 4.4.0 (2024-04-24)
## Platform: x86_64-apple-darwin20
## Running under: macOS Monterey 12.7.4
##
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/4.4-x86_64/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/4.4-x86_64/Resources/lib/libRlapack.dylib; LAPACK version 3.12.0
##
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
##
## time zone: UTC
## tzcode source: internal
##
## attached base packages:
## [1] stats4 stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] tibble_3.2.1 SomaScan.db_0.99.10 AnnotationDbi_1.65.2
## [4] IRanges_2.37.1 S4Vectors_0.41.7 Biobase_2.63.1
## [7] BiocGenerics_0.49.1 withr_3.0.0 BiocStyle_2.31.0
##
## loaded via a namespace (and not attached):
## [1] utf8_1.2.4 sass_0.4.9
## [3] RSQLite_2.3.6 digest_0.6.35
## [5] magrittr_2.0.3 evaluate_0.23
## [7] bookdown_0.39 fastmap_1.1.1
## [9] blob_1.2.4 jsonlite_1.8.8
## [11] GenomeInfoDb_1.39.14 DBI_1.2.2
## [13] BiocManager_1.30.22 httr_1.4.7
## [15] fansi_1.0.6 purrr_1.0.2
## [17] UCSC.utils_0.99.7 Biostrings_2.71.6
## [19] textshaping_0.3.7 jquerylib_0.1.4
## [21] cli_3.6.2 rlang_1.1.3
## [23] crayon_1.5.2 XVector_0.43.1
## [25] bit64_4.0.5 cachem_1.0.8
## [27] yaml_2.3.8 tools_4.4.0
## [29] memoise_2.0.1 GenomeInfoDbData_1.2.12
## [31] vctrs_0.6.5 R6_2.5.1
## [33] org.Hs.eg.db_3.19.1 png_0.1-8
## [35] lifecycle_1.0.4 zlibbioc_1.49.3
## [37] KEGGREST_1.43.0 fs_1.6.4
## [39] bit_4.0.5 ragg_1.3.0
## [41] pkgconfig_2.0.3 desc_1.4.3
## [43] pillar_1.9.0 pkgdown_2.0.9
## [45] bslib_0.7.0 glue_1.7.0
## [47] systemfonts_1.0.6 xfun_0.43
## [49] knitr_1.46 htmltools_0.5.8.1
## [51] rmarkdown_2.26 compiler_4.4.0