Nothing
## ----include=FALSE------------------------------------------------------------
knitr::opts_chunk$set(eval = FALSE)
## -----------------------------------------------------------------------------
# library("sevenbridges")
# a <- Auth(token = "your_token", platform = "aws-us")
# a$api(path = "projects", method = "GET")
## -----------------------------------------------------------------------------
# a$project()
## -----------------------------------------------------------------------------
# install.packages("BiocManager")
# BiocManager::install("sevenbridges")
## -----------------------------------------------------------------------------
# install.packages("BiocManager")
# BiocManager::install("sevenbridges", version = "devel")
## -----------------------------------------------------------------------------
# install.packages("devtools")
## -----------------------------------------------------------------------------
# install.packages("BiocManager")
# install.packages("readr")
#
# devtools::install_github(
# "sbg/sevenbridges-r",
# repos = BiocManager::repositories(),
# build_vignettes = TRUE, dependencies = TRUE
# )
## ---- eval = TRUE, message = FALSE--------------------------------------------
library("sevenbridges")
## -----------------------------------------------------------------------------
# (a <- Auth(platform = "cgc", token = "your_token"))
## -----------------------------------------------------------------------------
# sbg_set_env("https://cgc-api.sbgenomics.com/v2", "your_token")
## -----------------------------------------------------------------------------
# a <- Auth(from = "env")
## -----------------------------------------------------------------------------
# a <- Auth(from = "file", profile_name = "aws-us-rfranklin")
## -----------------------------------------------------------------------------
# a <- Auth(from = "file")
## -----------------------------------------------------------------------------
# a$user()
## -----------------------------------------------------------------------------
# a$user(username = "RFranklin")
## -----------------------------------------------------------------------------
# a$rate_limit()
## -----------------------------------------------------------------------------
# # check your billing info
# a$billing()
# a$invoice()
## -----------------------------------------------------------------------------
# a$billing(id = "your_billing_id", breakdown = TRUE)
## -----------------------------------------------------------------------------
# # get billing group id
# bid <- a$billing()$id
# # create new project
# (p <- a$project_new(name = "api testing", bid, description = "Just a test"))
## -----------------------------------------------------------------------------
# # list first 100
# a$project()
# # list all
# a$project(complete = TRUE)
# # return all named match "demo"
# a$project(name = "demo", complete = TRUE)
# # get the project you want by id
# p <- a$project(id = "RFranklin/api-tutorial")
## -----------------------------------------------------------------------------
# # search by name matching, complete = TRUE search all apps,
# # not limited by offset or limit.
# a$public_app(name = "STAR", complete = TRUE)
# # search by id is accurate
# a$public_app(id = "admin/sbg-public-data/rna-seq-alignment-star/5")
# # you can also get everything
# a$public_app(complete = TRUE)
# # default limit = 100, offset = 0 which means the first 100
# a$public_app()
## -----------------------------------------------------------------------------
# # copy
# a$copy_app(
# id = "admin/sbg-public-data/rna-seq-alignment-star/5",
# project = "RFranklin/api-testing", name = "new copy of star"
# )
# # check if it is copied
# p <- a$project(id = "RFranklin/api-testing")
# # list apps your got in your project
# p$app()
## -----------------------------------------------------------------------------
# app <- a$public_app(id = "admin/sbg-public-data/rna-seq-alignment-star")
# app$copy_to(
# project = "RFranklin/api-testing",
# name = "copy of star"
# )
## -----------------------------------------------------------------------------
# # add an CWL file to your project
# f.star <- system.file("extdata/app", "flow_star.json", package = "sevenbridges")
# app <- p$app_add("starlocal", fl.runif)
# (aid <- app$id)
## ----comment = "", eval = TRUE------------------------------------------------
fl <- system.file("docker", "sevenbridges/rabix/generator.R",
package = "sevenbridges"
)
cat(readLines(fl), sep = "\n")
## -----------------------------------------------------------------------------
# # rbx is the object returned by `Tool` function
# app <- p$app_add("runif", rbx)
# (aid <- app$id)
## -----------------------------------------------------------------------------
# app <- a$app(id = "RFranklin/api-testing-2/newcopyofstar")
# # get input matrix
# app$input_matrix()
# app$input_matrix(c("id", "label", "type"))
# # get required node only
# app$input_matrix(c("id", "label", "type"), required = TRUE)
## ---- eval = TRUE-------------------------------------------------------------
f1 <- system.file("extdata/app", "flow_star.json", package = "sevenbridges")
app <- convert_app(f1)
# get input matrix
app$input_matrix()
app$input_matrix(c("id", "label", "type"))
app$input_matrix(c("id", "label", "type"), required = TRUE)
## -----------------------------------------------------------------------------
# tool.in <- system.file("extdata/app", "tool_unpack_fastq.json", package = "sevenbridges")
# flow.in <- system.file("extdata/app", "flow_star.json", package = "sevenbridges")
# input_matrix(tool.in)
# input_matrix(tool.in, required = TRUE)
# input_matrix(flow.in)
# input_matrix(flow.in, c("id", "type"))
# input_matrix(flow.in, required = TRUE)
# output_matrix(tool.in)
# output_matrix(flow.in)
## -----------------------------------------------------------------------------
# fastqs <- c("SRR1039508_1.fastq", "SRR1039508_2.fastq")
#
# # get all 2 exact files
# fastq_in <- p$file(name = fastqs, exact = TRUE)
#
# # get a single file
# fasta_in <- p$file(
# name = "Homo_sapiens.GRCh38.dna.primary_assembly.fa",
# exact = TRUE
# )
# # get all single file
# gtf_in <- p$file(
# name = "Homo_sapiens.GRCh38.84.gtf",
# exact = TRUE
# )
## -----------------------------------------------------------------------------
# # add new tasks
# taskName <- paste0("RFranklin-star-alignment ", date())
#
# tsk <- p$task_add(
# name = taskName,
# description = "star test",
# app = "RFranklin/api-testing-2/newcopyofstar/0",
# inputs = list(
# sjdbGTFfile = gtf_in,
# fastq = fastq_in,
# genomeFastaFiles = fasta_in
# )
# )
## -----------------------------------------------------------------------------
# f1 <- p$file(name = "SRR1039508_1.fastq", exact = TRUE)
# f2 <- p$file(name = "SRR1039508_2.fastq", exact = TRUE)
# # get all 2 exact files
# fastq_in <- list(f1, f2)
#
# # or if you know you only have 2 files whose names match SRR924146*.fastq
# fastq_in <- p$file(name = "SRR1039508*.fastq", complete = TRUE)
## -----------------------------------------------------------------------------
# fastqs <- c(
# "SRR1039508_1.fastq", "SRR1039508_2.fastq", "SRR1039509_1.fastq",
# "SRR1039509_2.fastq", "SRR1039512_1.fastq", "SRR1039512_2.fastq",
# "SRR1039513_1.fastq", "SRR1039513_2.fastq"
# )
#
# # get all 8 files
# fastq_in <- p$file(name = fastqs, exact = TRUE)
# # can also try to returned all SRR*.fastq files
# # fastq_in <- p$file(name= "SRR*.fastq", complete = TRUE)
#
# tsk <- p$task_add(
# name = taskName,
# description = "Batch Star Test",
# app = "RFranklin/api-testing-2/newcopyofstar/0",
# batch = batch(
# input = "fastq",
# criteria = c("metadata.sample_id", "metadata.noexist_id")
# ),
# inputs = list(
# sjdbGTFfile = gtf_in,
# fastq = fastqs_in,
# genomeFastaFiles = fasta_in
# )
# )
## -----------------------------------------------------------------------------
# # run your task
# tsk$run()
## -----------------------------------------------------------------------------
# # # not run
# # tsk$delete()
## -----------------------------------------------------------------------------
# # abort your task
# tsk$abort()
## -----------------------------------------------------------------------------
# tsk$getInputs()
# # missing number input, only update number
# tsk$update(inputs = list(sjdbGTFfile = "some new file"))
# # double check
# tsk$getInputs()
## -----------------------------------------------------------------------------
# p <- a$project_new(
# name = "spot-disabled-project", bid, description = "spot disabled project",
# use_interruptible = FALSE
# )
## -----------------------------------------------------------------------------
# tsk <- p$task_add(
# name = paste0("spot enabled task in a spot disabled project"),
# description = "spot enabled task",
# app = ...,
# inputs = list(...),
# use_interruptible_instances = TRUE
# )
## -----------------------------------------------------------------------------
# tsk <- p$task_add(
# ...,
# execution_settings = list(
# instance_type = "c4.2xlarge;ebs-gp2;2000",
# max_parallel_instances = 2
# )
# )
## -----------------------------------------------------------------------------
# tsk$update()
## -----------------------------------------------------------------------------
# # Monitor your task (skip this part)
# # tsk$monitor()
## -----------------------------------------------------------------------------
# tsk$download("~/Downloads")
## ---- eval = TRUE-------------------------------------------------------------
getTaskHook("completed")
## -----------------------------------------------------------------------------
# setTaskHook("completed", function() {
# tsk$download("~/Downloads")
# return(TRUE)
# })
# tsk$monitor()
## -----------------------------------------------------------------------------
# a <- Auth(
# token = "your_token",
# platform = "aws-us"
# )
## -----------------------------------------------------------------------------
# a <- Auth(
# token = "your_token",
# url = "https://gcp-api.sbgenomics.com/v2"
# )
## -----------------------------------------------------------------------------
# a <- Auth(token = "your_token")
## -----------------------------------------------------------------------------
# sbg_set_env(
# url = "https://cgc-api.sbgenomics.com/v2",
# token = "your_token"
# )
## -----------------------------------------------------------------------------
# sbg_get_env("SB_API_ENDPOINT")
# ## "https://cgc-api.sbgenomics.com/v2"
# sbg_get_env("SB_AUTH_TOKEN")
# ## "your_token"
## -----------------------------------------------------------------------------
# a <- Auth(from = "env")
## -----------------------------------------------------------------------------
# Sys.unsetenv("SB_API_ENDPOINT")
# Sys.unsetenv("SB_AUTH_TOKEN")
## -----------------------------------------------------------------------------
# a <- Auth(from = "file")
## -----------------------------------------------------------------------------
# a <- Auth(from = "file", profile_name = "aws-us-rfranklin")
## -----------------------------------------------------------------------------
# a <- Auth(
# from = "file", config_file = "~/sevenbridges.cfg",
# profile_name = "aws-us-rfranklin"
# )
## -----------------------------------------------------------------------------
# a$api()
## -----------------------------------------------------------------------------
# getOption("sevenbridges")$offset
# getOption("sevenbridges")$limit
## -----------------------------------------------------------------------------
# # first, search by id is fast
# x <- a$app(visibility = "public", id = "admin/sbg-public-data/sbg-ucsc-b37-bed-converter/1")
#
# # show 100 items from public
# x <- a$app(visibility = "public")
# length(x) # 100
#
# x <- a$app(visibility = "public", complete = TRUE)
# length(x) # 272 by Nov 2016
# # this return nothing, because it is not in the first 100 returned names
# a$app(visibility = "public", name = "bed converter")
# # this return an app, because it pulls *all* app names and did search
# a$app(visibility = "public", name = "bed converter", complete = TRUE)
## -----------------------------------------------------------------------------
# library("sevenbridges")
# getOption("sevenbridges")$advance_access
## -----------------------------------------------------------------------------
# req <- api(
# token = "your_token", path = "genome/markers?file={bam_file_id}",
# method = "GET"
# )
#
# httr::content(req)$"message"
## -----------------------------------------------------------------------------
# opt <- getOption("sevenbridges")
# opt$advance_access <- TRUE
# options(sevenbridges = opt)
## -----------------------------------------------------------------------------
# getOption("sevenbridges")$advance_access
## -----------------------------------------------------------------------------
# req <- api(
# token = "your_token", path = "genome/markers?file={bam_file_id}",
# method = "GET"
# )
## -----------------------------------------------------------------------------
# httr::content(req)
## -----------------------------------------------------------------------------
# ## default fields id, name, project
# p$file()
# ## return file(s) with id, name, siae information
# p$file(fields = "id,name,size")
# ## return file(s) with all available info
# p$file(detail = TRUE)
# ## same as above
# p$file(fields = "_all")
## -----------------------------------------------------------------------------
# a$rate_limit()
## -----------------------------------------------------------------------------
# # return your information
# a$user()
# # return user RFranklin's information
# a$user("RFranklin")
## -----------------------------------------------------------------------------
# # return a BillingList object
# (b <- a$billing())
# a$billing(id = b$id, breakdown = TRUE)
## -----------------------------------------------------------------------------
# a$invoice()
# a$invoice(id = "your_id")
## -----------------------------------------------------------------------------
# a$project()
## -----------------------------------------------------------------------------
# a$project(owner = "RFranklin")
# a$project(owner = "Rosalind.Franklin")
## -----------------------------------------------------------------------------
# a$project(detail = TRUE)
## -----------------------------------------------------------------------------
# # want to return a project called
# a$project("hello")
## -----------------------------------------------------------------------------
# # return all projects matching the name "wgs"
# p <- a$project("wgs", complete = TRUE)
#
# # filter by project creators
# creators <- sapply(p, "[[", "created_by")
# which(creator == "RFranklin")
#
# # filter by project creation date
# create_date <- as.Date(sapply(p, "[[", "created_on"))
# which(as.Date(create_date) < as.Date("2019-01-01"))
#
# # filter by project modification date
# modify_date <- as.Date(sapply(p, "[[", "modified_on"))
# which(as.Date(modify_date) < as.Date("2019-01-01"))
## -----------------------------------------------------------------------------
# a$project_new("api_testing_tcga", b$id,
# description = "Test for API"
# )
## -----------------------------------------------------------------------------
# a$project_new("controlled_project", b$id,
# description = "Test for API", tags = list("tcga")
# )
## -----------------------------------------------------------------------------
# # remove it, not run
# a$project("api_testing")$delete()
# # check
# # will delete all projects match the name
# delete(a$project("api_testing_donnot_delete_me"))
## -----------------------------------------------------------------------------
# a$project(id = "RFranklin/helloworld")
# a$project(id = "RFranklin/helloworld")$update(
# name = "Hello World Update",
# description = "Update description"
# )
## -----------------------------------------------------------------------------
# a$project(id = "RFranklin/demo-project")$member()
## -----------------------------------------------------------------------------
# m <- a$project(id = "RFranklin/demo-project")$
# member_add(username = "Rosalind.Franklin")
## -----------------------------------------------------------------------------
# m <- a$project(id = "RFranklin/demo-project")$
# member(username = "Rosalind.Franklin")
# m$update(copy = TRUE)
## -----------------------------------------------------------------------------
# m$delete()
# # confirm
# a$project(id = "RFranklin/demo-project")$member()
## -----------------------------------------------------------------------------
# p <- a$project(id = "RFranklin/demo-project")
# p$file()
## -----------------------------------------------------------------------------
# # first 100 files, default offset = 0, limit = 100
# p$file()
# # list all files
# p$file(complete = TRUE)
## -----------------------------------------------------------------------------
# a$file(project = p$id)
# a$file(name = "omni", project = p$id, detail = TRUE)
## -----------------------------------------------------------------------------
# p <- a$project(id = "RFranklin/demo")
# p$file(
# metadata = list(
# sample_id = "Sample1",
# sample_id = "Sample2",
# library_id = "EXAMPLE"
# ),
# tag = c("hello", "world")
# )
## -----------------------------------------------------------------------------
# # return single object id is "some_file_id"
# p$file(id = "some_file_id")
# # return a single object named a.fastq
# p$file(name = "a.fastq", exact = TRUE)
# # public file search using Auth object
# a$public_file(name = "ucsc.hg19.fasta.fai", exact = TRUE)
# a$public_file(id = "578cf94a507c17681a3117e8")
## -----------------------------------------------------------------------------
# # get two files
# p$file(name = c("test1.fastq", "test2.fastq"), exact = TRUE)
# # get two files from public files using shorthand
# a$public_file(
# name = c("ucsc.hg19.fasta.fai", "ucsc.hg19.fasta"),
# exact = TRUE
# )
## -----------------------------------------------------------------------------
# # get matchd the pattern for searching first 100 files
# p$file(name = c("gz", "fastq"))
# # get all matched files from the project
# p$file(name = c("gz", "fastq"), complete = TRUE)
# # get all files matched ucsc
# a$public_file(name = "ucsc.hg19", complete = TRUE)
## -----------------------------------------------------------------------------
# p <- a$project(id = "RFranklin/demo")
# p$file(metadata = list(
# sample_id = "Sample1",
# sample_id = "Sample2",
# library_id = "EXAMPLE"
# ))
## -----------------------------------------------------------------------------
# p <- a$project(id = "RFranklin/demo")
# p$file(tag = c("s1", "s2"))
## -----------------------------------------------------------------------------
# # list all outputs file from a task id
# a$task(id = "53020538-6936-422f-80de-02fa65ae4b39")$file()
#
# # OR
# p <- a$project(id = "RFranklin/demo")
# p$file(origin.task = "53020538-6936-422f-80de-02fa65ae4b39")
## -----------------------------------------------------------------------------
# # 1000G_omni2.5.b37.vcf
# fid <- "561e1b33e4b0aa6ec48167d7"
# fid2 <- "561e1b33e4b0aa6ec48167d3"
# pid <- a$project("demo")$id
# a$copyFile(c(fid, fid2), project = pid)
# a$project(id = pid)$file()
## -----------------------------------------------------------------------------
# a$project("hello")$file(id = fid)$copyTo(pid)
## -----------------------------------------------------------------------------
# a$project("demo")$file()[[1]]$delete()
# ## confirm the deletion
# a$project("demo")$file()
## -----------------------------------------------------------------------------
# ## return 5 files
# a$project("demo")$file("phase1")
# ## delete all of them
# delete(a$project("demo")$file("phase1"))
# a$project("demo")$file("phase1")
## -----------------------------------------------------------------------------
# a$project("demo")$file()[[1]]$download_url()
## -----------------------------------------------------------------------------
# fid <- a$project("demo")$file()[[1]]$id
# a$project("demo")$file(id = fid3)$download("~/Downloads/")
## -----------------------------------------------------------------------------
# fls <- a$project("demo")$file()
# download(fls, "~/Downloads/")
## -----------------------------------------------------------------------------
# a$project("demo")$download("~/Downloads")
## -----------------------------------------------------------------------------
# a <- Auth(username = "RFranklin", platform = "cgc")
# fl <- system.file("extdata", "sample1.fastq", package = "sevenbridges")
#
# (p <- a$project(id = "RFranklin/quickstart"))
#
# # by default load .meta for the file
# p$upload(fl, overwrite = TRUE)
# # pass metadata
# p$upload(fl, overwrite = TRUE, metadata = list(library_id = "testid2", platform = "Illumina x11"))
# # rename
# p$upload(fl,
# overwrite = TRUE, name = "sample_new_name.fastq",
# metadata = list(library_id = "new_id")
# )
## -----------------------------------------------------------------------------
# dir.ext <- system.file("extdata", package = "sevenbridges")
# list.files(dir.ext)
# p$upload(dir.ext, overwrite = TRUE)
## -----------------------------------------------------------------------------
# dir.ext <- system.file("extdata", package = "sevenbridges")
# # enable full name
# fls <- list.files(dir.ext, recursive = TRUE, full.names = TRUE)
# p$upload(fls, overwrite = TRUE)
# p$upload("~/Documents/Data/sbgtest/1000G_phase1.snps.high_confidence.b37.vcf")
## -----------------------------------------------------------------------------
# # upload all fiels and all metadata
# p$upload(manifest_file = "~/manifest.csv")
#
# # verbal = TRUE, print single file level progress
# p$upload(manifest_file = "~/manifest.csv", overwrite = TRUE, verbal = TRUE)
#
# # manifest_metadata = FALSE doens't attach any metadata
# p$upload(manifest_file = "~/manifest.csv", manifest_metadata = FALSE, overwrite = TRUE)
#
# # filter files first, upload only files with score < 0.5
# p$upload(manifest_file = "~/manifest.csv", overwrite = TRUE, subset = score < 0.5)
#
# # attach all meta except "bad_field" and "sample_id"
# p$upload(
# manifest_file = "~/manifest.csv", overwrite = TRUE,
# subset = score < 0.5, select = -c(bad_field, sample_id)
# )
## -----------------------------------------------------------------------------
# get_uploader("cgc", "~/Downloads/")
## -----------------------------------------------------------------------------
# cgc_token <- "your_cgc_token"
# cgc_uploader <- "~/Downloads/cgc-uploader/"
#
# cli_list_projects(
# token = cgc_token,
# uploader = cgc_uploader
# )
## -----------------------------------------------------------------------------
# cli_list_tags(
# token = cgc_token,
# uploader = cgc_uploader,
# project = "username/project-name"
# )
## -----------------------------------------------------------------------------
# cli_upload(
# token = cgc_token,
# uploader = cgc_uploader,
# file = "~/example.fastq",
# project = "username/project-name"
# )
## -----------------------------------------------------------------------------
# (fl <- a$project(id = "RFranklin/demo-project")$file(name = "sample.fastq"))
## -----------------------------------------------------------------------------
# # show metadata
# fl$meta()
## -----------------------------------------------------------------------------
# fl$update(
# name = "sample.fastq",
# metadata = list(
# new_item1 = "item1",
# new_item2 = "item2",
# file_extension = "fastq"
# )
# )
# # check it out
# fl$meta()
## -----------------------------------------------------------------------------
# # meta is pulling the latest information via API
# fl$meta()
# # field metadata saved the previously saved one
# fl$metadata
## -----------------------------------------------------------------------------
# fl$set_meta(new_item3 = "item3")
# fl
# # oops it removed rest of the meta
# fl$set_meta(new_item4 = "item4", overwrite = TRUE)
# fl
## -----------------------------------------------------------------------------
# # check which schema we have
# Metadata()$show(full = TRUE)
# # check details for each, play with it
# platform()
# paired_end()
# quality_scale()
## -----------------------------------------------------------------------------
# Metadata(
# platform = "Affymetrix SNP Array 6.0",
# paired_end = 1,
# quality_scale = "sanger",
# new_item = "new test"
# )
## -----------------------------------------------------------------------------
# p <- a$project(id = "RFranklin/s3tutorial")
# fl <- p$file("sample.bam", exact = TRUE)
# # show tags for single file
# fl$tag()
# # add new tags
# fl$add_tag("new tag")
# # equavilent to
# fl$set_tag("new tag 2", overwrite = FALSE)
# # set tags to overwrite existing
# x <- list("this", "is", 1234)
# fl$set_tag(x)
# # filter by tags
# p$file(tag = c("1234", "new"))
# p$file(tag = list("1234", "new"))
# p$file(tag = "1234")
## -----------------------------------------------------------------------------
# # work on a group of files
# # add tag "s2" to a group of files named with "Sample2" in it
# fl2 <- p$file("Sample2")
# add_tag(fl2, "s2")
# # add tag "s2" to a group of files named with "Sample1" in it
# fl1 <- p$file("Sample1")
# add_tag(fl1, "s1")
# # filter by tag s1 or s2
# p$file(tag = "s1")
# p$file(tag = "s2")
# # get files tagged with s2 and 1234
# p$file(tag = list("s2", "s1"))
## -----------------------------------------------------------------------------
# p <- a$project(id = "RFranklin/folders-api-testing")
## -----------------------------------------------------------------------------
# p$get_root_folder_id()
## -----------------------------------------------------------------------------
# (root_folder <- p$get_root_folder())
## -----------------------------------------------------------------------------
# folder1 <- root_folder$create_folder("folder1")
## -----------------------------------------------------------------------------
# folder2 <- folder1$create_folder("folder2")
## -----------------------------------------------------------------------------
# file_public <- a$public_file(name = "Homo_sapiens_assembly38.fasta", exact = TRUE)
# file1 <- file_public$copy_to_folder(root_folder$id)
## -----------------------------------------------------------------------------
# file2 <- file_public$copy_to_folder(root_folder$id, "ref_grch38.fasta")
## -----------------------------------------------------------------------------
# file1 <- file1$move_to_folder(folder1$id)
## -----------------------------------------------------------------------------
# (contents_root <- root_folder$list_folder_contents(complete = TRUE))
## -----------------------------------------------------------------------------
# root_folder$list_folder_contents(type = "file", complete = TRUE)
# root_folder$list_folder_contents(type = "folder", complete = TRUE)
## -----------------------------------------------------------------------------
# contents_root[[1]]$typeof()
## -----------------------------------------------------------------------------
# sapply(contents_root, function(x) x$typeof())
## -----------------------------------------------------------------------------
# contents_root[[1]]$get_parent_folder_id()
## -----------------------------------------------------------------------------
# contents_root[[1]]$get_parent_folder()
## -----------------------------------------------------------------------------
# file1$delete()
## -----------------------------------------------------------------------------
# file2 <- file2$move_to_folder(folder2$id)
# folder2$delete()
## -----------------------------------------------------------------------------
# file2$delete()
# folder2$delete()
# folder1$delete()
## -----------------------------------------------------------------------------
# a$app()
# # or show details
# a$app(detail = TRUE)
## -----------------------------------------------------------------------------
# # pattern match
# a$app(name = "STAR")
# # unique id
# aid <- a$app()[[1]]$id
# aid
# a$app(id = aid)
# # get a specific revision from an app
# a$app(id = aid, revision = 0)
## -----------------------------------------------------------------------------
# # my favorite, always
# a$project("demo")$app()
#
# # or alternatviely
# pid <- a$project("demo")$id
# a$app(project = pid)
## -----------------------------------------------------------------------------
# # show 100 items from public
# x <- a$app(visibility = "public")
# length(x)
# x <- a$app(visibility = "public", complete = TRUE)
# length(x)
# x <- a$app(project = "RFranklin/helloworld", complete = TRUE)
# length(x)
# a$app(visibility = "public", limit = 5, offset = 150)
## -----------------------------------------------------------------------------
# a$app("STAR", visibility = "public", complete = TRUE)
## -----------------------------------------------------------------------------
# aid <- a$public_app()[[1]]$id
# a$copy_app(aid, project = pid, name = "copy-rename-test")
# # check if it is copied
# a$app(project = pid)
## -----------------------------------------------------------------------------
# app <- a$public_app(id = "admin/sbg-public-data/rna-seq-alignment-star")
# app$copy_to(
# project = "RFranklin/api-testing",
# name = "copy of star"
# )
## -----------------------------------------------------------------------------
# ap <- a$app(visibility = "public")[[1]]
# a$project("demo")$app("index")
# # get a specific revision
# a$project("demo")$app("index", revision = 0)
## -----------------------------------------------------------------------------
# cwl.fl <- system.file("extdata", "bam_index.json", package = "sevenbridges")
# a$project("demo")$app_add(short_name = "new_bam_index_app", filename = cwl.fl)
# a$project("demo")$app_add(short_name = "new_bam_index_app", revision = 2, filename = cwl.fl)
## -----------------------------------------------------------------------------
# rbx <- Tool(
# id = "runif",
# label = "Random number generator",
# hints = requirements(
# docker(pull = "RFranklin/runif"),
# cpu(1), mem(2000)
# ),
# baseCommand = "runif.R",
# inputs = in.lst,
# outputs = out.lst,
# "sbg:job" = list(
# allocatedResources = list(mem = 9000, cpu = 1),
# inputs = list(min = 1, max = 150)
# )
# )
# p$app_add("random", rbx)
## -----------------------------------------------------------------------------
# rbx <- Tool(
# id = "runif",
# label = "Random number generator",
# hints = requirements(
# docker(pull = "RFranklin/runif"),
# cpu(1), mem(2000)
# ),
# baseCommand = "runif.R",
# inputs = in.lst,
# outputs = out.lst
# )
# p$app_add("random", rbx, keep_test = TRUE)
## -----------------------------------------------------------------------------
# # all tasks
# a$task()
# # filter
# a$task(status = "completed")
# a$task(status = "running")
## -----------------------------------------------------------------------------
# # a better way
# a$project("demo")$task()
#
# # alternatively
# pid <- a$project("demo")$id
# a$task(project = pid)
## -----------------------------------------------------------------------------
# p$task(id = "your task id here", detail = TRUE)
# p$task(detail = TRUE)
## -----------------------------------------------------------------------------
# p <- a$project(id = "RFranklin/demo")
# p$task(id = "2e1ebed1-c53e-4373-870d-4732acacbbbb")
# p$task(parent = "2e1ebed1-c53e-4373-870d-4732acacbbbb")
# p$task(parent = "2e1ebed1-c53e-4373-870d-4732acacbbbb", status = "completed")
# p$task(parent = "2e1ebed1-c53e-4373-870d-4732acacbbbb", status = "draft")
## -----------------------------------------------------------------------------
# # push an app first
# fl.runif <- system.file("extdata", "runif.json", package = "sevenbridges")
# a$project("demo")$app_add("runif_draft", fl.runif)
# runif_id <- "RFranklin/demo-project/runif_draft"
# # create a draft task
# a$project("demo")$task_add(
# name = "Draft runif 3",
# description = "Description for runif 3",
# app = runif_id,
# inputs = list(min = 1, max = 10)
# )
# # confirm
# a$project("demo")$task(status = "draft")
## -----------------------------------------------------------------------------
# # get the single task you want to update
# tsk <- a$project("demo")$task("Draft runif 3")
# tsk
# tsk$update(
# name = "Draft runif update",
# description = "draft 2",
# inputs = list(max = 100)
# )
# # alternative way to check all inputs
# tsk$getInputs()
## -----------------------------------------------------------------------------
# tsk$run()
# # run update without information just return latest information
# tsk$update()
## -----------------------------------------------------------------------------
# tsk$monitor()
## -----------------------------------------------------------------------------
# getTaskHook("completed")
# getTaskHook("draft")
# setTaskHook("draft", function() {
# message("never happens")
# return(TRUE)
# })
# getTaskHook("draft")
## -----------------------------------------------------------------------------
# # abort
# tsk$abort()
# # check
# tsk$update()
## -----------------------------------------------------------------------------
# tsklst <- a$task(status = "draft")
# # delete a single task
# tsklst[[1]]$delete()
# # confirm
# a$task(status = "draft")
# # delete a list of tasks
# delete(tsklst)
## -----------------------------------------------------------------------------
# tsk$download("~/Downloads")
## -----------------------------------------------------------------------------
# # batch by items
# (tsk <- p$task_add(
# name = "RNA DE report new batch 2",
# description = "RNA DE analysis report",
# app = rna.app$id,
# batch = batch(input = "bamfiles"),
# inputs = list(
# bamfiles = bamfiles.in,
# design = design.in,
# gtffile = gtf.in
# )
# ))
#
# # batch by metadata, input files has to have metadata fields specified
# (tsk <- p$task_add(
# name = "RNA DE report new batch 3",
# description = "RNA DE analysis report",
# app = rna.app$id,
# batch = batch(
# input = "fastq",
# c("metadata.sample_id", "metadata.library_id")
# ),
# inputs = list(
# bamfiles = bamfiles.in,
# design = design.in,
# gtffile = gtf.in
# )
# ))
## -----------------------------------------------------------------------------
# batch_task <- p$task(parent = "<parent_task_id>")
# tsk_id <- sapply(batch_task, "[[", "id")
# for (i in 1:length(tsk_id)) {
# tsk <- p$task(id = tsk_id[i])
# tsk$file()
# tsk$download()
# }
## -----------------------------------------------------------------------------
# a <- Auth(user = "RFranklin", platform = "aws-us")
#
# a$add_volume(
# name = "tutorial_volume",
# type = "s3",
# bucket = "RFranklin-demo",
# prefix = "",
# access_key_id = "your_access_key_id",
# secret_access_key = "your_secret_access_key",
# sse_algorithm = "AES256",
# access_mode = "RW"
# )
## -----------------------------------------------------------------------------
# # list all volume
# a$volume()
# # get unique volume by id
# a$volume(id = "RFranklin/RFranklin_demo")
# # partial search by name
# a$volume(name = "demo")
## -----------------------------------------------------------------------------
# v <- a$volume()
# v[[1]]$detail()
## -----------------------------------------------------------------------------
# a$volume(id = "RFranklin/RFranklin_demo")$delete()
## -----------------------------------------------------------------------------
# v <- a$volume(id = "RFranklin/tutorial_volume")
# res <- v$import(
# location = "A-RNA-File.bam.bai",
# project = "RFranklin/s3tutorial",
# name = "new.bam.bai",
# overwrite = TRUE
# )
#
# # get job status update
# # state will be "COMPLETED" when it's finished, otherwise "PENDING"
# v$get_import_job(res$id)
# v
## -----------------------------------------------------------------------------
# res <- v$export(
# file = "579fb1c9e4b08370afe7903a",
# volume = "RFranklin/tutorial_volume",
# location = "", # when "" use old name
# sse_algorithm = "AES256"
# )
# # get job status update
# # state will be "COMPLETED" when it's finished other wise "PENDING"
# v$get_export_job(res$id)
# v
## -----------------------------------------------------------------------------
# # list the first 100 files
# a$public_file()
# # list by offset and limit
# a$public_file(offset = 100, limit = 100)
# # simply list everything!
# a$public_file(complete = TRUE)
# # get exact file by id
# a$public_file(id = "5772b6f0507c175267448700")
# # get exact file by name with exact = TRUE
# a$public_file(name = "G20479.HCC1143.2.converted.pe_1_1Mreads.fastq", exact = TRUE)
# # with exact = FALSE by default search by name pattern
# a$public_file(name = "fastq")
# a$public_file(name = "G20479.HCC1143.2.converted.pe_1_1Mreads.fastq")
## -----------------------------------------------------------------------------
# # list for 100 apps
# a$public_app()
# # list by offset and limit
# a$public_app(offset = 100, limit = 50)
# # search by id
# a$public_app(id = "admin/sbg-public-data/control-freec-8-1/12")
# # search by name in ALL apps
# a$public_app(name = "STAR", complete = TRUE)
# # search by name with exact match
# a$public_app(name = "Control-FREEC", exact = TRUE, complete = TRUE)
## -----------------------------------------------------------------------------
# p <- a$project(id = "RFranklin/source-project")
# f <- p$file(complete = TRUE)
# # get all file IDs
# file_ids <- sapply(f, "[[", "id")
# # bulk copy files to the target project
# req <- a$bulk_file_copy(file_ids, "RFranklin/target-project")
# # print the response list
# (req <- unname(req))
## -----------------------------------------------------------------------------
# sapply(req, "[[", "status")
## -----------------------------------------------------------------------------
# sapply(req, "[[", "new_file_id")
## -----------------------------------------------------------------------------
# sapply(req, "[[", "new_file_name")
## -----------------------------------------------------------------------------
# a$send_feedback(
# "This is a test for sending feedback via API. Please ignore this message.",
# type = "thought"
# )
## -----------------------------------------------------------------------------
# a <- Auth(...)
#
# a$division()
## -----------------------------------------------------------------------------
# (d <- a$division("the-division"))
## -----------------------------------------------------------------------------
# team1 <- d$create_team(name = "New Team 1")
# team2 <- d$create_team(name = "New Team 2")
## -----------------------------------------------------------------------------
# d$team(team1$id)
## -----------------------------------------------------------------------------
# team1$add_member("the-division/your_username")
# team1$add_member("the-division/another_username")
#
# team2$add_member("the-division/your_username")
## -----------------------------------------------------------------------------
# (m1 <- team1$member())
# (m2 <- team2$member())
## -----------------------------------------------------------------------------
# team1$remove_member(m1[[1]]$username)
## -----------------------------------------------------------------------------
# team1$rename("Another Team Name")
## -----------------------------------------------------------------------------
# d$team()
## -----------------------------------------------------------------------------
# team1$delete()
# team2$delete()
## -----------------------------------------------------------------------------
# opt <- getOption("sevenbridges")
# opt$advance_access <- TRUE
# options(sevenbridges = opt)
## -----------------------------------------------------------------------------
# # locate the project
# p <- a$project(id = "RFranklin/api-markers")
# # search for files with `.bam` in their names
# f <- p$file(name = ".bam")
# # use the first BAM file
# f <- p$file(id = f[[1]]$id)
#
# # create two markers
# m1 <- f$create_marker("The First Marker", start = 21631232, end = 21631232)
# m2 <- f$create_marker("The Second Marker", start = 21631156, end = 21631158, chromosome = "chr7", private = FALSE)
## -----------------------------------------------------------------------------
# f$marker()
## -----------------------------------------------------------------------------
# marker_id <- m1$id
# f$marker(id = marker_id)
## -----------------------------------------------------------------------------
# (m1 <- m1$modify(name = "New Marker Name", end = 21631233, private = FALSE))
## -----------------------------------------------------------------------------
# m1$delete()
# m2$delete()
## -----------------------------------------------------------------------------
# # 01 - Authentication ----------------------------------------------------------
#
# getToken()
#
# # authentication methods
# a <- Auth(token = token)
# a <- Auth(token = token, platform = "cgc")
# a <- Auth(from = "env")
# a <- Auth(from = "file", profile_name = "aws-us-user")
#
# # list all API calls
# a$api()
#
# # API rate limit
# a$rate_limit()
#
# # 02 - User -------------------------------------------------------------------
#
# a$user()
# a$user("RFranklin")
#
# # 03 - Billing -----------------------------------------------------------------
#
# a$billing()
# a$billing(id = ..., breakdown = TRUE)
# a$invoice()
# a$invoice(id = "your_id")
#
# # 04 - Project -----------------------------------------------------------------
#
# # create new project
# a$project_new(name = ..., billing_group_id = ..., description = ...)
#
# # list all project owned by you
# a$project()
# a$project(owner = "Rosalind.Franklin")
#
# # partial match
# p <- a$project(name = ..., id = ..., exact = TRUE)
#
# # delete
# p$delete()
#
# # update
# p$update(name = ..., description = ...)
#
# # members
# p$member()
# p$member_add(username = ...)
# p$member(username = ...)$update(write = ..., copy = ..., execute = ...)
# p$memeber(usrname = ...)$delete()
#
# # 05 - File --------------------------------------------------------------------
#
# # list all files in this project
# p$file()
#
# # list all public files
# a$file(visibility = "public")
#
# # copy
# a$copyFile(c(fid, fid2), project = pid)
#
# # delete
# p$file(id = fid)$delete()
#
# # download
# p$file()[[1]]$download_url()
# p$file(id = fid3)$download("~/Downloads/")
#
# # download all
# download(p$file())
#
# # update a file
# fl$update(name = ..., metadata = list(a = ..., b = ..., ...))
#
# # metadata
# fl$meta()
# fl$setMeta()
# fl$setMeta(..., overwrite = TRUE)
#
# # 06 - App ---------------------------------------------------------------------
#
# a$app()
#
# # apps in a project
# p$app()
# p$app(name, id, revision = ...)
# a$copy_app(aid, project = pid, name = ...)
#
# # add new app
# p$app_add(short_name = ..., filename = ...)
#
# # 07 - Task --------------------------------------------------------------------
#
# a$task()
# a$task(id = ...)
# a$task(status = ...)
#
# p$task()
# p$task(id = ...)
# p$task(status = ...)
#
# tsk <- p$task(id = ...)
# tsk$update()
# tsk$abort()
# tsk$run()
# tsk$download()
# tsk$detele()
# tsk$getInputs()
# tsk$monitor()
#
# getTaskHook()
# setTaskHook(status = ..., fun = ...)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.