annotate search_contents.Rmd @ 11:e5d245413f1b draft default tip

update
author mingchen0919
date Mon, 19 Mar 2018 23:55:31 -0400
parents 4bc7752bfd72
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5
5accedb3133e add search content tool
mingchen0919
parents:
diff changeset
1 ---
6
4bc7752bfd72 resources summary + search
mingchen0919
parents: 5
diff changeset
2 title: 'Tripal database explorer: search results'
5
5accedb3133e add search content tool
mingchen0919
parents:
diff changeset
3 output:
5accedb3133e add search content tool
mingchen0919
parents:
diff changeset
4 html_document:
5accedb3133e add search content tool
mingchen0919
parents:
diff changeset
5 theme: cosmo
5accedb3133e add search content tool
mingchen0919
parents:
diff changeset
6 highlight: tango
5accedb3133e add search content tool
mingchen0919
parents:
diff changeset
7 ---
5accedb3133e add search content tool
mingchen0919
parents:
diff changeset
8
5accedb3133e add search content tool
mingchen0919
parents:
diff changeset
9 ```{r setup, include=FALSE, warning=FALSE, message=FALSE}
5accedb3133e add search content tool
mingchen0919
parents:
diff changeset
10 knitr::opts_chunk$set(
6
4bc7752bfd72 resources summary + search
mingchen0919
parents: 5
diff changeset
11 echo = FALSE,
5
5accedb3133e add search content tool
mingchen0919
parents:
diff changeset
12 error = TRUE
5accedb3133e add search content tool
mingchen0919
parents:
diff changeset
13 )
5accedb3133e add search content tool
mingchen0919
parents:
diff changeset
14 ```
5accedb3133e add search content tool
mingchen0919
parents:
diff changeset
15
5accedb3133e add search content tool
mingchen0919
parents:
diff changeset
16
6
4bc7752bfd72 resources summary + search
mingchen0919
parents: 5
diff changeset
17 ```{r}
4bc7752bfd72 resources summary + search
mingchen0919
parents: 5
diff changeset
18 # get member ids after implementing search filtering
4bc7752bfd72 resources summary + search
mingchen0919
parents: 5
diff changeset
19 content_type_url = opt$X_u
4bc7752bfd72 resources summary + search
mingchen0919
parents: 5
diff changeset
20 path = "organism,genus=Fagus&name=ABall;contains"
4bc7752bfd72 resources summary + search
mingchen0919
parents: 5
diff changeset
21 path = sub('\\|', '&', opt$X_s)
4bc7752bfd72 resources summary + search
mingchen0919
parents: 5
diff changeset
22 search_url = paste0(content_type_url, '?', path)
4bc7752bfd72 resources summary + search
mingchen0919
parents: 5
diff changeset
23 search_members = fromJSON(search_url)
4bc7752bfd72 resources summary + search
mingchen0919
parents: 5
diff changeset
24 # search_url_rebuild = paste0(search_url, '&limit=', search_members$totalItems)
4bc7752bfd72 resources summary + search
mingchen0919
parents: 5
diff changeset
25 total_records = as.integer(opt$X_l)
4bc7752bfd72 resources summary + search
mingchen0919
parents: 5
diff changeset
26 if (total_records == 0) {
4bc7752bfd72 resources summary + search
mingchen0919
parents: 5
diff changeset
27 total_records = search_members$totalItems
4bc7752bfd72 resources summary + search
mingchen0919
parents: 5
diff changeset
28 }
4bc7752bfd72 resources summary + search
mingchen0919
parents: 5
diff changeset
29 search_url_rebuild = paste0(search_url, '&limit=', total_records)
4bc7752bfd72 resources summary + search
mingchen0919
parents: 5
diff changeset
30 re_search_members = fromJSON(search_url_rebuild)
5
5accedb3133e add search content tool
mingchen0919
parents:
diff changeset
31 ```
5accedb3133e add search content tool
mingchen0919
parents:
diff changeset
32
5accedb3133e add search content tool
mingchen0919
parents:
diff changeset
33
6
4bc7752bfd72 resources summary + search
mingchen0919
parents: 5
diff changeset
34 ```{r}
4bc7752bfd72 resources summary + search
mingchen0919
parents: 5
diff changeset
35 # get requested field values from search results
4bc7752bfd72 resources summary + search
mingchen0919
parents: 5
diff changeset
36 request_paths = sub(',', '\\.', strsplit(opt$X_e, '\\|')[[1]])
4bc7752bfd72 resources summary + search
mingchen0919
parents: 5
diff changeset
37 res = data.frame()
4bc7752bfd72 resources summary + search
mingchen0919
parents: 5
diff changeset
38 for (id in re_search_members$member$`@id`) {
4bc7752bfd72 resources summary + search
mingchen0919
parents: 5
diff changeset
39 member = as.data.frame(fromJSON(id))
4bc7752bfd72 resources summary + search
mingchen0919
parents: 5
diff changeset
40 res = rbind(res, member[, request_paths])
4bc7752bfd72 resources summary + search
mingchen0919
parents: 5
diff changeset
41 }
4bc7752bfd72 resources summary + search
mingchen0919
parents: 5
diff changeset
42 colnames(res) = request_paths
4bc7752bfd72 resources summary + search
mingchen0919
parents: 5
diff changeset
43 ```
4bc7752bfd72 resources summary + search
mingchen0919
parents: 5
diff changeset
44
4bc7752bfd72 resources summary + search
mingchen0919
parents: 5
diff changeset
45 ```{r}
4bc7752bfd72 resources summary + search
mingchen0919
parents: 5
diff changeset
46 if (nrow(res) < 1) {
4bc7752bfd72 resources summary + search
mingchen0919
parents: 5
diff changeset
47 cat('No records found.')
4bc7752bfd72 resources summary + search
mingchen0919
parents: 5
diff changeset
48 } else {
4bc7752bfd72 resources summary + search
mingchen0919
parents: 5
diff changeset
49 DT::datatable(res)
4bc7752bfd72 resources summary + search
mingchen0919
parents: 5
diff changeset
50 }
4bc7752bfd72 resources summary + search
mingchen0919
parents: 5
diff changeset
51 ```
4bc7752bfd72 resources summary + search
mingchen0919
parents: 5
diff changeset
52
4bc7752bfd72 resources summary + search
mingchen0919
parents: 5
diff changeset
53 ```{r}
4bc7752bfd72 resources summary + search
mingchen0919
parents: 5
diff changeset
54 # save results to file
4bc7752bfd72 resources summary + search
mingchen0919
parents: 5
diff changeset
55 write.table(res, file = opt$X_r, quote = FALSE, col.names = FALSE)
4bc7752bfd72 resources summary + search
mingchen0919
parents: 5
diff changeset
56 ```
4bc7752bfd72 resources summary + search
mingchen0919
parents: 5
diff changeset
57