library(MolgenisArmadillo)
To share your data using Armadillo, you can see the different relevant steps you can take before the shared data can be transferred to the researchers.
In order to access the files as a data manager, you need to log in. The login method needs the URLs of the Armadillo server and the MinIO fileserver. It will open a browser window where you can identify yourself with the ID provider.
armadillo.login("https://armadillo-demo.molgenis.net/")
It will create a session and store the credentials in the environment.
If you need to share data via Armadillo you can have a nested structure to save you data.
We distinguish:
Projects are a sort of root-folders you can give persons permissions on. you can imagine that you will use a seperate project for each study you need to support. This way you make sure people can not see eachothers variables.
Folder objects can be used to version the different tables you want to share in Armadillo. This is not mandatory and are free to use the folder level as you see fit. In our examples we will go into the versioning part a bit deeper.
Tables are actual tables in R which contain the data you want to share. This can be all the data on a certain subject, mostly used in consortia or a specific study you want to expose.
There are helper functions to help you determine what is in the storage server. You can list projects and tables to what’s in the storage.
# listing tables per project
armadillo.list_projects()
#> [1] "longitools" "genr" "gecko" "test" "omics"
#> [6] "trajectories" "inma" "subset13" "cohort1" "study1"
# listing tables per project
armadillo.list_tables("cohort1")
#> [1] "cohort1/2_1-core-1_0/trimesterrep" "cohort1/2_1-core-1_0/nonrep"
#> [3] "cohort1/2_1-core-1_0/yearlyrep" "cohort1/2_1-core-1_0/monthlyrep"
#> [5] "cohort1/1_1-outcome-1_0/nonrep" "cohort1/1_1-outcome-1_0/yearlyrep"
You can download the data in the R-environment as well.
# download table to local R environment
<- armadillo.load_table("cohort1", "2_1-core-1_0", "trimesterrep")
trimesterrep
# check the column names from the local environment
colnames(trimesterrep)
#> [1] "row_id" "child_id" "age_trimester" "smk_t"
#> [5] "alc_t"
Now you can also take a look at the files in the user interface of the MinIO fileserver if you open the MinIO server URL in a browser window.
To delete the data you need to throw away the contents first.
# throw away the core tables
armadillo.delete_table("cohort1", "2_1-core-1_0", "nonrep")
#> Deleted '2_1-core-1_0/nonrep'
armadillo.delete_table("cohort1", "2_1-core-1_0", "yearlyrep")
#> Deleted '2_1-core-1_0/yearlyrep'
armadillo.delete_table("cohort1", "2_1-core-1_0", "trimesterrep")
#> Deleted '2_1-core-1_0/trimesterrep'
armadillo.delete_table("cohort1", "2_1-core-1_0", "monthlyrep")
#> Deleted '2_1-core-1_0/monthlyrep'
# throw away the outcome tables
armadillo.delete_table("cohort1", "1_1-outcome-1_0", "nonrep")
#> Deleted '1_1-outcome-1_0/nonrep'
armadillo.delete_table("cohort1", "1_1-outcome-1_0", "yearlyrep")
#> Deleted '1_1-outcome-1_0/yearlyrep'
Now you can delete the project.
armadillo.delete_project("cohort1")
#> Deleted project 'cohort1'