check_annotation_values: Check annotation values

Description Usage Arguments Details Value Methods (by class) See Also Examples

View source: R/check-annotation-values.R

Description

Checks that all annotation values are valid. It does not report on values for invalid keys; see check_annotation_keys().

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
check_annotation_values(x, annotations, ...)

## S3 method for class ''NULL''
check_annotation_values(x, annotations, ...)

## S3 method for class 'synapseclient.entity.File'
check_annotation_values(x, annotations, syn, ...)

## S3 method for class 'data.frame'
check_annotation_values(x, annotations, ...)

## S3 method for class 'synapseclient.table.CsvFileTable'
check_annotation_values(x, annotations, ...)

Arguments

x

An object to check.

annotations

A data frame of annotation definitions. Must contain at least three columns: key, value, and columnType.

...

Additional options to check_values()

syn

Synapse client object

Details

If the allowable annotation values are an enumerated list, check_annotation_values() compares the values in the data to the values in this list. If there is no enumerated list of values and the annotation definition merely specifies a required type, then the values are checked against that type, with values that are coercible to the correct type treated as valid (see can_coerce()).

Value

A condition object indicating whether all annotation values are valid. Invalid annotation values are included as data within the object.

Methods (by class)

See Also

valid_annotation_values(), can_coerce()

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
annots <- data.frame(
  key = c("assay", "fileFormat", "fileFormat", "fileFormat", "species"),
  value = c("rnaSeq", "fastq", "txt", "csv", "Human"),
  columnType = c("STRING", "STRING", "STRING", "STRING", "STRING")
)
dat1 <- data.frame(assay = "not a valid assay")
dat2 <- data.frame(assay = "rnaSeq")
check_annotation_values(dat1, annots)
check_annotation_values(dat2, annots)

## Not run: 
syn <- synapse$Synapse()
syn$login()

annots <- get_synapse_annotations(syn = syn)
my_file <- syn$get("syn11931757", downloadFile = FALSE)
check_annotation_values(my_file, annots)

dat <- data.frame(
  non_annotation = 5:7,
  assay = c("rnaSeq", "foo", "bar"),
  stringsAsFactors = FALSE
)
check_annotation_values(dat, annots)

fv <- synTableQuery("SELECT * FROM syn17020234")
check_annotation_values(fv, annots)

# If you don't specify an annotations data frame, these functions will
# download annotations automatically using `get_synapse_annotations()` (must
# be logged in to Synapse)
my_file <- syn$get("syn11931757", downloadFile = FALSE)
check_annotation_values(my_file, syn = syn)

# It is possible to whitelist certain certain values, or all values for
# certain keys:
check_annotation_values(dat, whitelist_keys = "assay", syn = syn)

check_annotation_values(
  dat,
  whitelist_values = list(assay = c("foo")),
  syn = syn
)

## End(Not run)

dccvalidator documentation built on July 2, 2020, 4:05 a.m.