Replaced README with README.Rmd
authorFuad Muhic <fmuhic@capeannenterprises.com>
Wed, 7 Feb 2018 11:19:25 +0000 (12:19 +0100)
committerFuad Muhic <fmuhic@capeannenterprises.com>
Wed, 7 Feb 2018 11:19:25 +0000 (12:19 +0100)
Arvados-DCO-1.1-Signed-off-by: Fuad Muhic <fmuhic@capeannenterprises.com>

sdk/R/README [deleted file]
sdk/R/README.Rmd [new file with mode: 0644]

diff --git a/sdk/R/README b/sdk/R/README
deleted file mode 100644 (file)
index 4c99c75..0000000
+++ /dev/null
@@ -1,251 +0,0 @@
-R SDK for Arvados
-
-This SDK focuses on providing support for accessing Arvados projects, collections, and the files within collections.
-
-The API is not final and feedback is solicited from users on ways in which it could be improved.
-
-INSTALLATION
-
-1. Install the dependencies
-
-    > install.packages(c('R6', 'httr', 'stringr', 'jsonlite', 'curl', 'XML'))
-
-If needed, you may have to install the supporting packages first. On Linux, these are:
-
-    libxml2-dev, libssl-dev, libcurl4-gnutls-dev or libcurl4-openssl-dev
-
-2. Install the ArvardosR package
-
-    > install.packages('/path/to/ArvadosR_0.0.2.tar.gz', repos = NULL, type="source", dependencies = TRUE)
-
-
-EXAMPLES OF USAGE
-
-
-#Load Library and Initialize API:
-
-library('ArvadosR')
-arv <- Arvados$new() # uses environment variables ARVADOS_API_TOKEN and ARVADOS_API_HOST
-arv <- Arvados$new("your Arvados token", "example.arvadosapi.com")
-
-
-#Optionally, add numRetries parameter to specify number of times to retry failed service requests.
-#Default is 0.
-
-arv <- Arvados$new("your Arvados token", "example.arvadosapi.com", numRetries = 3)
-
-#This parameter can be set at any time using setNumRetries 
-
-arv$setNumRetries(5)
-
---------------------------------------------------------------------------------------------------------------------------------
-
-#Get a collection:
-
-arv$getCollection("uuid")
-
---------------------------------------------------------------------------------------------------------------------------------
-
-#List collections:
-collectionList <- arv$listCollections(list(list("name", "like", "Test%"))) # offset of 0 and default limit of 100
-collectionList <- arv$listCollections(list(list("name", "like", "Test%")), limit = 10, offset = 2)
-
-collectionList$items_available # count of total number of items (may be more than returned due to paging)
-collectionList$items # items which match the filter criteria
-
-#Next example will list all collections even when the number of items is greater than maximum API limit
-
-collectionList <- arv$listAllCollections(list(list("name", "like", "Test%")))
-
---------------------------------------------------------------------------------------------------------------------------------
-
-#Delete a collection:
-
-deletedCollection <- arv$deleteCollection("uuid")
-
---------------------------------------------------------------------------------------------------------------------------------
-
-#Update a collection's metadata:
-
-updatedCollection <- arv$updateCollection("uuid", list(name = "New name", description = "New description"))
-
---------------------------------------------------------------------------------------------------------------------------------
-
-#Create collection:
-
-createdCollection <- arv$createCollection(list(name = "Example", description = "This is a test collection"))
-
-
---------------------------------------------------------------------------------------------------------------------------------
-COLLECTION CONTENT MANIPULATION
---------------------------------------------------------------------------------------------------------------------------------
-
-#Create collection object:
-
-collection <- Collection$new(arv, "uuid")
-
---------------------------------------------------------------------------------------------------------------------------------
-
-#Get list of files
-
-collection$getFileListing()
-
---------------------------------------------------------------------------------------------------------------------------------
-
-#This will return ArvadosFile or Subcollection from internal tree-like structure.
-
-arvadosFile <- collection$get("location/to/my/file.cpp")
-
-#or
-
-arvadosSubcollection <- collection$get("location/to/my/directory/")
-
---------------------------------------------------------------------------------------------------------------------------------
-
-#Read a table
-
-arvadosFile   <- collection$get("myinput.txt")
-arvConnection <- arvadosFile$connection("r")
-mytable       <- read.table(arvConnection)
-
-#Write a table
-
-arvadosFile   <- collection$create("myoutput.txt")
-arvConnection <- arvadosFile$connection("w")
-write.table(mytable, arvConnection)
-arvadosFile$flush()
-
---------------------------------------------------------------------------------------------------------------------------------
-
-#Read whole file or just a portion of it.
-
-fileContent <- arvadosFile$read()
-fileContent <- arvadosFile$read("text")
-fileContent <- arvadosFile$read("raw", offset = 1024, length = 512)
-
---------------------------------------------------------------------------------------------------------------------------------
-
-#Get ArvadosFile or Subcollection size
-
-size <- arvadosFile$getSizeInBytes()
-size <- arvadosSubcollection$getSizeInBytes()
-
---------------------------------------------------------------------------------------------------------------------------------
-
-#Create new file in a collection
-
-collection$create(fileNames, optionalRelativePath)
-
-#Example
-
-mainFile <- collection$create("main.cpp", "cpp/src/")
-fileList <- collection$create(c("main.cpp", lib.dll), "cpp/src/")
-
---------------------------------------------------------------------------------------------------------------------------------
-
-#Add existing ArvadosFile or Subcollection to a collection
-
-folder <- Subcollection$new("src")
-file   <- ArvadosFile$new("main.cpp")
-folder$add(file)
-
-collection$add(folder, "cpp")
-
-#This examples will add file "main.cpp" in "./cpp/src/" folder if folder exists.
-#If subcollection contains more files or folders they will be added recursively.
-
---------------------------------------------------------------------------------------------------------------------------------
-
-#Write to existing file (Override current content of the file)
-
-arvadosFile <- collection$get("location/to/my/file.cpp")
-
-arvadosFile$write("This is new file content")
-
---------------------------------------------------------------------------------------------------------------------------------
-
-#Delete file from a collection
-
-collection$remove("location/to/my/file.cpp")
-
-#You can remove both Subcollection and ArvadosFile
-#If subcollection contains more files or folders they will be removed recursively.
-
-#You can also remove multiple files
-
-collection$remove(c("path/to/my/file.cpp", "path/to/other/file.cpp"))
-
-#Delete file or folder from a Subcollection
-
-subcollection <- collection$get("mySubcollection/")
-subcollection$remove("fileInsideSubcollection.exe")
-subcollection$remove("folderInsideSubcollection/")
-
---------------------------------------------------------------------------------------------------------------------------------
-
-#Move file or folder inside collection
-
-#Directley from collection
-
-collection$move("folder/file.cpp", "file.cpp")
-
-#Or from file
-
-file <- collection$get("location/to/my/file.cpp")
-file$move("newDestination/file.cpp")
-
-#Or from subcollection
-
-subcollection <- collection$get("location/to/folder")
-subcollection$move("newDestination/folder")
-
-#Make sure to include new file name in destination
-#In second example file$move("newDestination/") will not work
-
---------------------------------------------------------------------------------------------------------------------------------
-WORKING WITH ARVADOS PROJECTS
---------------------------------------------------------------------------------------------------------------------------------
-
-#Get a project:
-
-arv$getProject("uuid")
-
---------------------------------------------------------------------------------------------------------------------------------
-
-#List projects:
-
-projects <- arv$listProjects(list(list("owner_uuid", "=", "aaaaa-j7d0g-ccccccccccccccc"))) # list subprojects of a project
-arv$listProjects(list(list("name","like","Example%"))) # list projects which have names beginning with Example
-
-#Next example will list all projects even when the number of items is greater than maximum API limit
-
-collectionList <- arv$listAllProjects(list(list("name","like","Example%")))
-
---------------------------------------------------------------------------------------------------------------------------------
-
-#Delete a project:
-
-deletedProject <- arv$deleteProject("uuid")
-
---------------------------------------------------------------------------------------------------------------------------------
-
-#Update project:
-
-updatedProject <- arv$updateProject("uuid", list(name = "new_name", description = "new description"))
-
---------------------------------------------------------------------------------------------------------------------------------
-
-#Create project:
-
-createdProject <- arv$createProject(list(name = "project_name", description = "project description"))
-
-
---------------------------------------------------------------------------------------------------------------------------------
-BUILDING THE ARVADOS SDK TARBALL
---------------------------------------------------------------------------------------------------------------------------------
-
-
-cd arvados/sdk
-R CMD build R
-
-This will create a tarball of the Arvados package in the current directory.
diff --git a/sdk/R/README.Rmd b/sdk/R/README.Rmd
new file mode 100644 (file)
index 0000000..ebf591c
--- /dev/null
@@ -0,0 +1,209 @@
+## R SDK for Arvados
+
+This SDK focuses on providing support for accessing Arvados projects, collections, and the files within collections.
+The API is not final and feedback is solicited from users on ways in which it could be improved.
+
+### INSTALLATION
+
+1. Install the dependencies
+
+    `install.packages(c('R6', 'httr', 'stringr', 'jsonlite', 'curl', 'XML'))`
+
+    If needed, you may have to install the supporting packages first.  
+    On Linux, these are: libxml2-dev, libssl-dev, libcurl4-gnutls-dev or libcurl4-openssl-dev
+    
+
+2. Install the ArvardosR package
+
+    `install.packages('/path/to/ArvadosR_0.0.2.tar.gz', repos = NULL, type="source", dependencies = TRUE)`
+    
+### EXAMPLES OF USAGE
+
+#### INITIALIZING API
+
+* Load Library and Initialize API:
+
+    `library('ArvadosR')`  
+    `arv <- Arvados$new() # uses environment variables ARVADOS_API_TOKEN and ARVADOS_API_HOST`    
+    `arv <- Arvados$new("your Arvados token", "example.arvadosapi.com")`  
+    
+    Optionally, add numRetries parameter to specify number of times to retry failed service requests.  
+    Default is 0.  
+    
+    `arv <- Arvados$new("your Arvados token", "example.arvadosapi.com", numRetries = 3)`  
+    
+    This parameter can be set at any time using setNumRetries  
+    
+    `arv$setNumRetries(5)`  
+      
+
+#### WORKING WITH COLLECTIONS
+
+* Get a collection:
+    
+    `collection <- arv$getCollection("uuid")`  
+    
+* List collections:
+
+    `collectionList <- arv$listCollections(list(list("name", "like", "Test%"))) # offset of 0 and default limit of 100`  
+    `collectionList <- arv$listCollections(list(list("name", "like", "Test%")), limit = 10, offset = 2)`  
+    
+    `collectionList$items_available # count of total number of items (may be more than returned due to paging)`  
+    `collectionList$items # items which match the filter criteria`  
+    
+* List all collections even when the number of items is greater than maximum API limit:
+    
+    `collectionList <- arv$listAllCollections(list(list("name", "like", "Test%")))`  
+    
+* Delete a collection:
+    
+    `deletedCollection <- arv$deleteCollection("uuid")`  
+    
+* Update a collection's metadata:
+    
+    `updatedCollection <- arv$updateCollection("uuid", list(name = "New name", description = "New description"))`  
+    
+* Create collection:
+    
+    `createdCollection <- arv$createCollection(list(name = "Example", description = "This is a test collection"))`
+      
+      
+#### MANIPULATIN COLLECTION CONTENT
+
+* Create collection object:
+    
+    `collection <- Collection$new(arv, "uuid")`  
+    
+* Get list of files:
+    
+    `files <- collection$getFileListing()`  
+    
+* Get ArvadosFile or Subcollection from internal tree-like structure:
+    
+    `arvadosFile <- collection$get("location/to/my/file.cpp")`  
+    
+    or  
+    
+    `arvadosSubcollection <- collection$get("location/to/my/directory/")`  
+    
+* Read a table:
+    
+    `arvadosFile   <- collection$get("myinput.txt")`  
+    `arvConnection <- arvadosFile$connection("r")`  
+    `mytable       <- read.table(arvConnection)`  
+    
+* Write a table:
+    
+    `arvadosFile   <- collection$create("myoutput.txt")`  
+    `arvConnection <- arvadosFile$connection("w")`  
+    `write.table(mytable, arvConnection)`  
+    `arvadosFile$flush()`  
+    
+* Read whole file or just a portion of it:
+    
+    `fileContent <- arvadosFile$read()`  
+    `fileContent <- arvadosFile$read("text")`  
+    `fileContent <- arvadosFile$read("raw", offset = 1024, length = 512)`  
+    
+* Get ArvadosFile or Subcollection size:
+    
+    `size <- arvadosFile$getSizeInBytes()`  
+    
+    or  
+    
+    `size <- arvadosSubcollection$getSizeInBytes()`
+    
+* Create new file in a collection:
+    
+    `collection$create(fileNames, optionalRelativePath)`  
+    
+    Example:
+    
+    `mainFile <- collection$create("main.cpp", "cpp/src/")`  
+    `fileList <- collection$create(c("main.cpp", lib.dll), "cpp/src/")`  
+    
+* Add existing ArvadosFile or Subcollection to a collection:
+    
+    `folder <- Subcollection$new("src")`  
+    `file   <- ArvadosFile$new("main.cpp")`  
+    `folder$add(file)`  
+    
+    `collection$add(folder, "cpp")`  
+    
+    This examples will add file "main.cpp" in "./cpp/src/" folder if folder exists.  
+    If subcollection contains more files or folders they will be added recursively.  
+    
+* Write to existing file (override current content of the file):
+    
+    `arvadosFile <- collection$get("location/to/my/file.cpp")`  
+    `arvadosFile$write("This is new file content")`  
+    
+* Delete file from a collection:
+    
+    `collection$remove("location/to/my/file.cpp")`  
+    
+    You can remove both Subcollection and ArvadosFile.  
+    If subcollection contains more files or folders they will be removed recursively.  
+    
+    You can also remove multiple files at once:  
+    
+    `collection$remove(c("path/to/my/file.cpp", "path/to/other/file.cpp"))`  
+    
+* Delete file or folder from a Subcollection:
+    
+    `subcollection <- collection$get("mySubcollection/")`  
+    `subcollection$remove("fileInsideSubcollection.exe")`  
+    `subcollection$remove("folderInsideSubcollection/")`  
+    
+* Move file or folder inside collection:
+    
+    Directley from collection  
+    
+    `collection$move("folder/file.cpp", "file.cpp")`  
+    
+    Or from file
+    
+    `file <- collection$get("location/to/my/file.cpp")`  
+    `file$move("newDestination/file.cpp")`  
+    
+    Or from subcollection
+    
+    `subcollection <- collection$get("location/to/folder")` 
+    `subcollection$move("newDestination/folder")` 
+    
+    Make sure to include new file name in destination.
+    In second example file$move("newDestination/") will not work.  
+
+#### WORKING WITH ARVADOS PROJECTS
+
+* Get a project:
+    
+    `project <- arv$getProject("uuid")`  
+    
+* List projects:
+    
+    `projects <- arv$listProjects(list(list("owner_uuid", "=", "aaaaa-j7d0g-ccccccccccccccc"))) # list subprojects of a project`  
+    `arv$listProjects(list(list("name","like","Example%"))) # list projects which have names beginning with Example`  
+    
+* List all projects even when the number of items is greater than maximum API limit:
+    
+    `collectionList <- arv$listAllProjects(list(list("name","like","Example%")))`  
+    
+* Delete a project:
+    
+    `deletedProject <- arv$deleteProject("uuid")`  
+    
+* Update project:
+    
+    `updatedProject <- arv$updateProject("uuid", list(name = "new_name", description = "new description"))`
+    
+* Create project:
+    
+    `createdProject <- arv$createProject(list(name = "project_name", description = "project description"))`  
+    
+### BUILDING THE ARVADOS SDK TARBALL
+
+cd arvados/sdk
+R CMD build R
+
+This will create a tarball of the Arvados package in the current directory.