| list_samples | R Documentation |
In openBIS, samples can be seen as a generalization of plates and wells (
see list_plates() and list_wells()). In fact, for the HTS focused
openBIS instance of InfectX, wells and plates represent the only types of
samples available. Samples can either be retrieved using search_openbis()
and setting the argument target_object to sample or listed by calling
list_samples(). Furthermore, all available sample types can be listed
using list_sample_types().
list_samples(token, x, ...) ## S3 method for class 'ExperimentIdentifier' list_samples(token, x, ...) ## S3 method for class 'Experiment' list_samples(token, x, ...) ## S3 method for class 'Plate' list_samples(token, x, ...) ## S3 method for class 'PlateIdentifier' list_samples(token, x, ...) ## S3 method for class 'PlateMetadata' list_samples(token, x, ...) ## S3 method for class 'WellIdentifier' list_samples(token, x, ...) ## S3 method for class 'WellMetadata' list_samples(token, x, ...) list_sample_types(token, ...)
token |
Login token as created by |
x |
Object to limit the number of returned samples, e.g. a set of
|
... |
Generic compatibility. Extra arguments will be passed to
|
list_samples() can be dispatched on objects identifying experiments
(Experiment and ExperimentIdentifier), in which case the associated
plate samples are returned, on objects representing plates (Plate,
PlateIdentifier and PlateMetadata) or on objects representing wells
(WellIdentifier and WellMetadata). For plates, the corresponding plate
samples and for wells, the corresponding well samples are returned. It is
therefore not possible to list all well samples for a plate. This could
however be achieved by listing all wells of a plate using list_wells()
and calling list_samples() on the returned set of WellIdentifier
objects. A separate API call is required for each json_class object
contained in the json_vec passed to list_samples() as x argument.
Depending on the number of resulting objects, either a
json_class (single object) or a json_vec (multiple objects), is
returned. Sample objects as returned by list_samples() additionally
inherit from the Sample class and sample type objects returned by
list_sample_types() inherit from SampleType.
Other object listing functions: list_datasets,
list_experiments,
list_material, list_plates,
list_projects
tok <- login_openbis()
# search for an experiment, e.g. ADENO-AU-K1
exp <- search_openbis(tok,
search_criteria(
property_clause("pathogen", "Adenovirus"),
property_clause("library", "Ambion"),
property_clause("geneset", "Kinome"),
property_clause("replicate", 1L)
),
target_object = "experiment")
# list all plate samples associated with this experiment
plate_samp <- list_samples(tok, exp)
length(plate_samp)
# the same plates are returned using list_plates(), not regarding order
plates <- list_plates(tok, exp)
plate_samp <- plate_samp[order(get_field(plate_samp, "code"))]
identical(as_plate_id(plates), as_plate_id(plate_samp))
# plates can be converted to samples and back to plates again
identical(as_plate_id(plates), as_plate_id(list_samples(tok, plates)))
# the same is not possible for wells: first well ids are listed for a
# plate
well_ids <- list_wells(tok, plates[[1L]])
# for efficiency only the first 5 wells are retained
well_ids <- well_ids[1:5]
print(well_ids, length = 10L)
# the corresponding well samples are fetched
well_samp <- list_samples(tok, well_ids)
# from well sample objects it is not possible to directly create well id
# objects as no plate id information is available
print(well_samp, length = 20L)
# with a bit of manual work however it is possible to create well id
# objects from well samples
wells <- well_id(get_field(well_samp, "permId"), plates[[1L]],
well_code = get_field(well_samp, "code"))
identical(wells, well_ids)
logout_openbis(tok)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.