forked from Sage-Bionetworks/mPower-sdata
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmPower-bootstrap.R
More file actions
29 lines (24 loc) · 1.3 KB
/
mPower-bootstrap.R
File metadata and controls
29 lines (24 loc) · 1.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
require(synapseClient)
require(rjson)
synapseLogin()
## QUERY THE mPower PROJECT (syn4993293) FOR ALL OF THE TABLES
q <- synQuery('SELECT id, name FROM table WHERE parentId=="syn4993293"')
## SELECT ONLY THE SAMPLE TABLES, WHICH ARE PUBLICALLY AVAILABLE
q <- q[grep("Sample", q$table.name), ]
## READ IN THE SAMPLE DATA FROM EACH OF THE TABLES (RESULTS ARE CACHED LOCALLY)
allDat <- lapply(as.list(q$table.id), function(x){
synTableQuery(paste0('SELECT * FROM ', x))
})
names(allDat) <- q$table.name
## LOOK AT THE VALUES FOR THE FIRST TWO OBSERVATIONS IN TAPPING TABLE
allDat$`Sample Tapping Activity`@values[1:2, ]
## FOR TABLES WITH COLUMNS THAT CONTAIN FILES, WE CAN BULK DOWNLOAD THE FILES AND STORE A MAPPING
## THE VALUE IN THE TABLE ABOVE IS CALLED A fileHandleId WHICH REFERENCES A FILE THAT CAN BE ACCESSED PROGRAMMATICALLY
## GET THE FILES THAT CONTAIN SCREEN TAP SAMPLES FROM THE TAPPING EXERCISE
## THIS CACHES THE RETRIEVED FILES AS WELL
tapMap <- synDownloadTableColumns(allDat$`Sample Tapping Activity`, "tapping_results.json.TappingSamples")
## THE NAMES OF tapMap ARE THE FILEHANDLES STORED IN THE COLUMN "tapping_results.json.TappingSamples" SO CAN ASSOCIATE WITH APPROPRIATE METADATA
## THESE ARE JSON FILES, SO READ THEM INTO MEMORY
tapResults <- lapply(as.list(tapMap), function(x){
fromJSON(file=x)
})