knitr::opts_chunk$set( collapse = TRUE, comment = "#>", eval = FALSE )
library(LabguruR)
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()
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
ld <- labguru_list_datasets(page = 1) head(ld)
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
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")
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
up_5 <- labguru_ic50_upload(table = ic50$result, name = paste0("data_", gsub("[^[:alnum:]]","", date())), results_dir = ic50$dir, img_pdf = "img") up_5
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
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
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]
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
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
el_rsc <- labguru_add_element(rscript = "../data-raw/sample_upload_script.R", experiment_procedure_id = 721) el_rsc
Use labguru image id (attachments_id)
el_img <- labguru_add_element(img_id = 1971, experiment_procedure_id = 721) el_img
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.