This funciton collects the samples from a data.table-class object that fulfill the requirements of an attribute attr specified with the fun argument

fetchSamples(samples, attr = NULL, func = NULL, action = "include")



an object of data.table-class class


a string specifying a column in the samples


an anonymous function, see Details for more information


a string (either include or exclude) that specifies whether the function should select the row or exclude it.


an object of data.table-class class filtered according to specified requirements


The anonymous function provided in the func argument has to return an integer that indicate the rows that the action should be performed on. Core expressions which are most useful to implement the anonymous function are:


projectConfig = system.file("extdata", "example_peps-master",
"example_amendments1", "project_config.yaml", package="pepr")
p = Project(projectConfig)
#> Loading config file: /home/runner/work/_temp/Library/pepr/extdata/example_peps-master/example_amendments1/project_config.yaml
#>   amendments: newLib,newLib2
s = sampleTable(p)
fetchSamples(s,attr = "sample_name", func=function(x){ which(x=="pig_0h") },action="include")
#>    sample_name protocol organism time                      file_path
#> 1:      pig_0h     RRBS      pig    0 /data/lab/project/pig_0h.fastq
fetchSamples(s,attr = "sample_name", func=function(x){ which(x=="pig_0h") },action="exclude")
#> Empty data.table (0 rows and 5 cols): sample_name,protocol,organism,time,file_path
fetchSamples(s,attr = "sample_name", func=function(x){ grep("pig_",x) },action="include")
#>    sample_name protocol organism time                      file_path
#> 1:      pig_0h     RRBS      pig    0 /data/lab/project/pig_0h.fastq
#> 2:      pig_1h     RRBS      pig    1 /data/lab/project/pig_1h.fastq