knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  eval = FALSE
)
library(LabguruR)

Authenticate

First get an authentication token using labguru_authenticate.

labguru_authenticate(email    = "my@@email.com",
                     password = "mypassword",
                     server   = "https://jonathan.labguru.com",
                     set_sys  = TRUE)

With set_sys = TRUE your system variables LABGURU_SERVER and LABGURU_TOKEN are automatically set and can be picked up by future function calls connecting to the Labguru API.

If a user doesn't have login credentials but they have a token already then they can set the token (and server) using labguru_set_token.

labguru_set_token(token  = "<my token>",
                  server = "<my server>")

You can inspect the token and server variables using labguru_sys_variables()

labguru_sys_variables()

Upload data to Labguru

You can now upload a dataset to Labguru using labguru_upload_dataset. There is sample data you can load from the package.

data("compensation")
compensation
# HAS THE API FOR DATASET CHANGED ALREADY? BECAUSE IT SEEMS THIS FUNCTION BROKE.
up_0 <- labguru_upload_dataset(dataset = compensation,
                               name    = paste0("compensation_", gsub("[^[:alnum:]]","", date())))
up_0

List available datasets from labguru

ld <- labguru_list_datasets(page = 1)
head(ld)

Download single dataset

df <- labguru_download_dataset(dataset_id = 1)
head(df)

Upload a R script

up_1 <- labguru_upload_file(file  = "../data-raw/sample_upload_script.R", 
                            title = "My R script")
up_1

Upload an image

up_2 <- labguru_upload_file(file  = "../data-raw/grazing.png", 
                            title = paste0("grazing_", gsub("[^[:alnum:]]","", date())))
up_2

Attach uploaded file to a database

up_3 <- labguru_link_visualization(dataset_id = 5511,
                                   attachment_id = up_2$id,
                                   name = "my_link")
up_3

Upload image with immediate link to database

up_4 <- labguru_upload_visualization(file  = "../data-raw/grazing.png", 
                                     title = paste0("grazing_attached_", gsub("[^[:alnum:]]","", date())),
                                     dataset_id = 61,
                                     name = "my_second_link")
up_4

ic50 Analysis

Only downloading a plate's measure, dilution and control files

Stores measure.txt, control.txt and dilution.txt in a new plate folder. If plate/ directory already exists it only runs if this directory is empty.

labguru_download_plate(plate = 271,
                       dir = "./plate")

ic50 analysis storing plate information and results locally

This function downloads the plate using plate_id and stores those results in outdir_plate. It then looks for the data files in the indir directory and performes the ic50 analysis using plates, inhib, normalize and graphics. It stores results in outdir_results directory. If img_png is true it also stores the images from the dose_response_curves pdf as single png images.

library(ic50) # ic50 library has to be loaded otherwise you get errors with '.lastxx_measure' files

ic50 <- labguru_ic50_analysis(plate_id       = 271, 
                              indir          = ".",
                              outdir_plate   = "./plate",
                              outdir_results = "./results",
                              plates         = 2,
                              inhib          = rep(0.5,7),
                              normalize      = "mean",
                              graphics       = "single",
                              img_png        = TRUE)
ic50

Upload ic50 results to Labguru

up_5 <- labguru_ic50_upload(table       = ic50$result,
                            name        = paste0("data_", gsub("[^[:alnum:]]","", date())),
                            results_dir = ic50$dir,
                            img_pdf     = "img")
up_5

Experiment

Project

List all projects

projects <- labguru_list_projects(get_cols = "all")
dplyr::glimpse(projects)

Download project information

project_1 <- labguru_get_project(project_id = 1)
project_1

Start new project

project_new <- labguru_add_project(title       = "My new project",
                                   description = "This project is an analysis of ...",
                                   return      = "all")
project_new

Folder

List all folders

folders <- labguru_list_folders(project_id = 91, # project_id = NULL for all folders in all projects (default)
                                get_cols   = "all")
dplyr::glimpse(folders)

Download folder information

folder_1 <- labguru_get_folder(folder_id = 31)
folder_1

Start new folder

folder_new <- labguru_add_folder(title       = "My new folder",
                                 project_id  = 91,
                                 description = "This folder is a test from LabguruR",
                                 return      = "all")
folder_new

Experiment

List all experiments

experiments <- labguru_list_experiments(folder_id  = 41,
                                        get_cols   = "limited")
experiments

Download experiment information

experiment_1 <- labguru_get_experiment(experiment_id = 141)
experiment_1[1:4]

Start new experiment

experiment_new <- labguru_add_experiment(title       = "My new experiment 26-7-2018",
                                         project_id  = 91,
                                         folder_id   = 41,
                                         description = "This experiment is a test from LabguruR  26-7-2018",
                                         return      = "all")
experiment_new[1:4]

Experiment procedures

ep_list <- labguru_list_experiment_procedures(experiment_id = 141, get_cols = "all")
dplyr::glimpse(ep_list)
ep_new <- labguru_add_experiment_procedure(name          = "New procedure 26-7-2018",
                                           experiment_id = 141)
ep_new
ep_271 <- labguru_get_experiment_procedure(experiment_procedure_id = 721)
ep_271

Elements

List elements is EMPTY!

el_list <- labguru_list_elements(experiment_id = 141)
el_new <- labguru_add_element(data = "<p>Hello World</p>",
                              experiment_procedure_id = 721)
el_new
el_1341 <- labguru_get_element(element_id = 1341)
el_1341

Upload R script as element

el_rsc  <- labguru_add_element(rscript = "../data-raw/sample_upload_script.R",
                               experiment_procedure_id = 721)
el_rsc

Upload image as element

Use labguru image id (attachments_id)

el_img  <- labguru_add_element(img_id = 1971,
                               experiment_procedure_id = 721)
el_img


BioData/LabguruR documentation built on May 11, 2022, 11:46 p.m.