rbbt-rest 1.4.10 → 1.4.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. data/lib/rbbt/rest/client/step.rb +1 -1
  3. data/lib/rbbt/rest/common/cache.rb +2 -1
  4. data/lib/rbbt/rest/common/forms.rb +6 -6
  5. data/lib/rbbt/rest/common/locate.rb +25 -2
  6. data/lib/rbbt/rest/common/misc.rb +23 -7
  7. data/lib/rbbt/rest/common/render.rb +1 -3
  8. data/lib/rbbt/rest/common/table.rb +52 -3
  9. data/lib/rbbt/rest/main.rb +21 -5
  10. data/lib/rbbt/rest/web_tool.rb +1 -0
  11. data/lib/rbbt/rest/workflow.rb +20 -1
  12. data/lib/rbbt/rest/workflow/jobs.rb +3 -1
  13. data/lib/rbbt/rest/workflow/render.rb +17 -3
  14. data/share/views/compass/_app.sass +17 -0
  15. data/share/views/compass/app.sass +1 -17
  16. data/share/views/compass/finder.sass +7 -7
  17. data/share/views/compass/grid_system.sass +1 -9
  18. data/share/views/compass/layout.sass +2 -2
  19. data/share/views/compass/rbbt/table.sass +1 -0
  20. data/share/views/compass/screen_sizes.sass +16 -0
  21. data/share/views/compass/top_menu.sass +1 -0
  22. data/share/views/entity_partials/action_card.haml +2 -2
  23. data/share/views/entity_partials/entity_card.haml +10 -4
  24. data/share/views/entity_partials/entity_list_card.haml +7 -2
  25. data/share/views/entity_partials/entity_map_card.haml +1 -1
  26. data/share/views/error.haml +16 -12
  27. data/share/views/form.haml +2 -2
  28. data/share/views/help.haml +3 -3
  29. data/share/views/help/UI.haml +156 -163
  30. data/share/views/help/entity.haml +3 -3
  31. data/share/views/help/workflow.haml +1 -1
  32. data/share/views/job_result/job_control.haml +3 -2
  33. data/share/views/job_result/tsv.haml +17 -12
  34. data/share/views/layout.haml +18 -43
  35. data/share/views/layout/coda.haml +40 -0
  36. data/share/views/layout/footer.haml +0 -0
  37. data/share/views/layout/top_menu/finder.haml +1 -1
  38. data/share/views/partials/form.haml +1 -1
  39. data/share/views/partials/table.haml +1 -1
  40. data/share/views/public/js/app.js +4 -4
  41. data/share/views/public/js/defer.js +26 -0
  42. data/share/views/public/js/helpers.js +8 -1
  43. data/share/views/public/js/rbbt/actions.js +2 -2
  44. data/share/views/public/js/rbbt/hide.js +12 -8
  45. data/share/views/public/js/rbbt/menu.js +2 -1
  46. data/share/views/public/js/rbbt/modal.js +5 -2
  47. data/share/views/public/js/rbbt/reveal.js +7 -5
  48. data/share/views/wait.haml +1 -1
  49. metadata +7 -3
  50. data/share/views/public/js/deffer.js +0 -26
@@ -1,17 +1 @@
1
- @import "_normalize"
2
- @import "_rbbt"
3
-
4
- @import "style"
5
-
6
- @import "user"
7
- @import "entity_card"
8
- @import "workflow"
9
- @import "finder"
10
- @import "favourites"
11
- @import "actions"
12
- @import "top_menu"
13
- @import "help"
14
- @import "figure"
15
- @import "monitor"
16
- @import "layout"
17
-
1
+ @import "_app"
@@ -1,8 +1,10 @@
1
1
  li.find
2
2
  @media #{$only-large}
3
+ width: 5em
4
+ margin-left: $indent / 2
5
+ margin-right: $indent / 2
6
+ @media #{$only-very-large}
3
7
  width: 10em
4
- margin-left: $indent
5
- margin-right: $indent
6
8
  @media #{$not-large}
7
9
  width: 50%
8
10
  margin: 0
@@ -17,13 +19,11 @@ li.find
17
19
  padding: 0
18
20
  input[type=text]
19
21
  width: 100%
20
- height: 2em
21
- padding-right: $width_finder_button
22
+ height: 1.96em
22
23
  button[type=submit]
23
24
  width: $width_finder_button
24
- display: inline-block
25
- @media #{$not-large}
26
- display: none
25
+ //display: inline-block
26
+ display: none
27
27
  position: absolute
28
28
  top: 0px
29
29
  right: 0
@@ -8,15 +8,7 @@ $legacy-support-for-ie6: false !default
8
8
 
9
9
  $breakpoint: 1024px
10
10
 
11
- $small-screen: 1024px
12
- $medium-screen: 1280px
13
- $large-screen: 1440px
14
-
15
- $not-small: "only screen and (min-width: #{$small-screen})"
16
- $only-small: "only screen and (max-width: #{$small-screen})"
17
-
18
- $only-large: "only screen and (min-width: #{$small-screen})"
19
- $not-large: "only screen and (max-width: #{$small-screen})"
11
+ @import 'screen_sizes'
20
12
 
21
13
  $row-width: auto
22
14
  $column-gutter: 30px
@@ -113,7 +113,7 @@ ul.list_comparison
113
113
  input
114
114
  width: 100%
115
115
 
116
- .wait
116
+ .wait, .error
117
117
  ul.step_messages
118
118
  li
119
119
  color: darken($color_main, 30)
@@ -134,7 +134,7 @@ ul.list_comparison
134
134
  .action_loader
135
135
  min-height: 500px
136
136
 
137
- @media #{$not-large}
137
+ @media #{$only-very-small}
138
138
  table.wide, table.flip
139
139
  +responsive_table
140
140
 
@@ -2,6 +2,7 @@ $triglecolor: rgba(0,0,0,0.15)
2
2
  $margin_table_actions: 7px
3
3
  $padding_table: 5px 7px
4
4
  $color_table_border: darken($table_color, 45)
5
+
5
6
  =rbbt_table()
6
7
  min-width: 300px
7
8
 
@@ -0,0 +1,16 @@
1
+ $very-small-screen: 500px
2
+ $small-screen: 700px
3
+ $medium-screen: 900px
4
+ $large-screen: 1024px
5
+ $very-large-screen: 1240px
6
+
7
+ $not-very-small: "only screen and (min-width: #{$very-small-screen + 1})"
8
+ $not-small: "only screen and (min-width: #{$small-screen + 1})"
9
+ $not-large: "only screen and (max-width: #{$large-screen - 1})"
10
+ $not-very-large: "only screen and (max-width: #{$very-large-screen})"
11
+
12
+ $only-very-small: "only screen and (max-width: #{$very-small-screen})"
13
+ $only-small: "only screen and (max-width: #{$small-screen})"
14
+ $only-large: "only screen and (min-width: #{$large-screen})"
15
+ $only-very-large: "only screen and (min-width: #{$very-large-screen})"
16
+
@@ -21,6 +21,7 @@ $padding_top_menu: 5px
21
21
  box-shadow: 0px 3px -4px 4px rgba(0, 0, 0, 0.1)
22
22
  padding-left: 0px
23
23
  & > ul
24
+ margin: 0
24
25
  +grid_row()
25
26
  +clean_list
26
27
  +clear_fix
@@ -1,6 +1,8 @@
1
1
  .action_card
2
2
  .title
3
3
  .name
4
+ = Misc.humanize page_action if page_action
5
+ .long_name
4
6
  - case page_type
5
7
  - when 'entity_action'
6
8
  = @entity.respond_to?(:name) ? @entity.name || @entity : @entity
@@ -8,8 +10,6 @@
8
10
  = Misc.humanize page_entity_list
9
11
  - when 'entity_map_action'
10
12
  = Misc.humanize page_entity_map
11
- .long_name
12
- = Misc.humanize page_action if page_action
13
13
 
14
14
  - if card.description
15
15
  .action_description
@@ -22,7 +22,6 @@
22
22
  = fragment :long_name, &card.long_name
23
23
 
24
24
  .card
25
-
26
25
  - info = entity.info.dup
27
26
  - info.delete :annotated_array
28
27
  - info.delete :annotation_types
@@ -32,6 +31,7 @@
32
31
  .meta
33
32
  .entity_info
34
33
  = hash2dl(info)
34
+
35
35
  - case card.meta
36
36
  - when nil
37
37
  - when Hash
@@ -45,22 +45,28 @@
45
45
 
46
46
 
47
47
  /-- content --
48
- .content
48
+ .content<
49
49
  - case card.description
50
50
  - when nil
51
51
  - if entity.respond_to?(:description) and entity.description
52
+ /-- description --
52
53
  .description
53
54
  %p= entity.description
54
55
  - when String
56
+ /-- description --
55
57
  .description
56
- %p= card.description
58
+ :documentation
59
+ #{card.description}
57
60
  - when Proc
61
+ /-- description --
58
62
  = fragment :description, &card.description
59
63
 
60
64
  - if defined? block and block
65
+ /-- content block --
61
66
  = capture_haml &block
62
67
 
63
68
  - if card.action_controller
64
- .actions
69
+ /-- actions --
70
+ .actions.togglable_hide(hide-title='Actions')<
65
71
  = action_controller_render(card.action_controller)
66
72
 
@@ -2,6 +2,7 @@
2
2
  - list_id = card.list_id
3
3
  .entity_list_card(id="#{ list_id.gsub(/\s/,'_') }_card")
4
4
 
5
+ /-- title --
5
6
  .title
6
7
  .name
7
8
  = list.base_type
@@ -11,6 +12,7 @@
11
12
 
12
13
  .card
13
14
 
15
+ /-- sidebar --
14
16
  .sidebar.offcanvas
15
17
  .meta
16
18
  .list_management
@@ -69,8 +71,10 @@
69
71
 
70
72
 
71
73
 
74
+ /-- content --
72
75
  .content
73
- .description
76
+ /-- description --
77
+ .description<
74
78
  - case card.description
75
79
  - when nil
76
80
  - if list.length == list.uniq.length
@@ -83,5 +87,6 @@
83
87
  = capture_haml &card.description
84
88
 
85
89
  - if card.action_controller
86
- .actions
90
+ /-- actions --
91
+ .actions.togglable_hide(hide-title="Actions")<
87
92
  = action_controller_render(card.action_controller)
@@ -11,7 +11,7 @@
11
11
 
12
12
  .card
13
13
 
14
- .sidebar.offcanvas
14
+ .sidebar.offcanvas.show
15
15
  .meta
16
16
  .map_management
17
17
  %ul
@@ -1,14 +1,18 @@
1
- %h5 Error processing #{File.basename(job.name)}
2
- - if job.messages and job.messages.any?
3
- %span.error_message
4
- %pre= CGI.escapeHTML(job.messages[-1] || "")
5
- - backtrace = job.info[:backtrace]
1
+ .error
2
+ %h5 Error on #{format_name File.basename(job.name)}
3
+ - if job.messages and job.messages.any?
4
+ %span.error_message
5
+ %pre= CGI.escapeHTML(job.messages[-1] || "")
6
+ - backtrace = job.info[:backtrace]
6
7
 
7
- %hr
8
+ - clean_url = add_GET_param(request.env["REQUEST_URI"], "_update", "clean")
9
+ %a(href=clean_url) Clean
8
10
 
9
- - if backtrace and backtrace.any?
10
- .row
11
- .column.twelve
12
- %ul.error_backtrace.clean_list
13
- - backtrace.each do |line|
14
- %li= line
11
+ %hr
12
+
13
+ - if backtrace and backtrace.any?
14
+ .row
15
+ .column.twelve
16
+ %ul.error_backtrace.clean_list
17
+ - backtrace.each do |line|
18
+ %li= line
@@ -21,7 +21,7 @@
21
21
  - if workflow.libdir.examples[task.to_s].exists?
22
22
  .examples
23
23
 
24
- Click the links bellow to load example data:
24
+ Click below to load example data:
25
25
 
26
26
  :javascript
27
27
  example_inputs = [];
@@ -37,7 +37,7 @@
37
37
  %a.load_example(href="#" task=task name=name)= name
38
38
 
39
39
  :javascript
40
- deffer(function(){
40
+ defer(function(){
41
41
  var form = $('.workflow_task[id=#{id}] > .form > form')
42
42
 
43
43
  $("a.load_example").click(function(){
@@ -1,4 +1,4 @@
1
- :markdown
1
+ :documentation
2
2
 
3
3
  ##Overview
4
4
 
@@ -36,12 +36,12 @@
36
36
  another. This web site is 'responsive', meaning that it adapts to the size
37
37
  of the device you are using: computer, tablet, or phone. On small devices many
38
38
  of the layout elements shift around or get hidden behind toggle buttons to
39
- accommodate themselves better to the screen size. The examples bellow are taken
39
+ accommodate themselves better to the screen size. The examples below are taken
40
40
  from a computer screen.
41
41
 
42
42
  =partial_render('help/UI')
43
43
 
44
- :markdown
44
+ :documentation
45
45
  ##Workflows
46
46
 
47
47
  In addition to exploring entity reports, this site servers collections of
@@ -2,32 +2,31 @@
2
2
 
3
3
  %dt.next.active.show Report structure
4
4
  %dd.show
5
- .description
6
- :markdown
7
-
8
- This application presents reports for individual entities, lists of
9
- entities, and entity maps. Each type of entity (gene, study, pathway, etc.)
10
- has its own report template, and they are prepared on-demand.
11
-
12
- All reports have the same overall structure; the images show a report
13
- for a genotyping study from the ICGC project. The top-bar is always
14
- there and provides a placeholder for several functionalities, most
15
- importantly the control of `favourites`.
16
-
17
- Bellow the top-bar comes the report itself. It consists of a title, a
18
- side-bar, a description, and an `action controller`. In general the
19
- side-bar is used to show general meta-data about the entity and the
20
- description to show a brief overview.
21
-
22
- The action controller offers access to `actions`, which are like
23
- sub-reports. Each type of entity has its own actions. If the entity
24
- type in particular does not have any action defined then the action
25
- controller will not be displayed. When an action is selected, it will
26
- be displayed below, in the area called action loader.
27
-
28
- Actions can also be opened in their own page, clicking the
29
- middle-button like any link. These pages are like reports but with no
30
- action controller or side-bar
5
+ :documentation
6
+
7
+ This application presents reports for individual entities, lists of
8
+ entities, and entity maps. Each type of entity (gene, study, pathway, etc.)
9
+ has its own report template, and they are prepared on-demand.
10
+
11
+ All reports have the same overall structure; the images show a report
12
+ for a genotyping study from the ICGC project. The top-bar is always
13
+ there and provides a placeholder for several functionalities, most
14
+ importantly the control of `favourites`.
15
+
16
+ Bellow the top-bar comes the report itself. It consists of a title, a
17
+ side-bar, a description, and an `action controller`. In general the
18
+ side-bar is used to show general meta-data about the entity and the
19
+ description to show a brief overview.
20
+
21
+ The action controller offers access to `actions`, which are like
22
+ sub-reports. Each type of entity has its own actions. If the entity
23
+ type in particular does not have any action defined then the action
24
+ controller will not be displayed. When an action is selected, it will
25
+ be displayed below, in the area called action loader.
26
+
27
+ Actions can also be opened in their own page, clicking the
28
+ middle-button like any link. These pages are like reports but with no
29
+ action controller or side-bar
31
30
 
32
31
  .images
33
32
  %dl.tabs.active.show
@@ -42,27 +41,26 @@
42
41
 
43
42
  %dt.next Top-bar
44
43
  %dd
45
- .description
46
- :markdown
47
-
48
- The top-bar provides access to several functionalities. Clicking on the
49
- title of the application will link to its front-page. Next to it is
50
- the reload-button, which is used to force the server to recalculate a
51
- report, otherwise the report will be taken from a cache. This is
52
- useful when a report has given an error or when when it was updated
53
- somehow. *Note:* After a reload of the report, the browser might still
54
- try to get the file from its own cache, so you might need to use the
55
- reload button in the browser as well; I'm planning to fix this.
56
-
57
- Next is the `favourites` controls, which we will discuss shortly. After
58
- that there might be a search box, if the server was started with that
59
- functionality. This search box can be configured to identify any type
60
- of entity, but generally it is only genes.
61
-
62
- The final component of the top-bar, which I label "User", has the user
63
- controls, which allows to login or logout, and the job bookmarks, where
64
- bookmarked actions are kept. Also this help page. Will discuss
65
- bookmarking actions latter.
44
+ :documentation
45
+
46
+ The top-bar provides access to several functionalities. Clicking on the
47
+ title of the application will link to its front-page. Next to it is
48
+ the reload-button, which is used to force the server to recalculate a
49
+ report, otherwise the report will be taken from a cache. This is
50
+ useful when a report has given an error or when when it was updated
51
+ somehow. *Note:* After a reload of the report, the browser might still
52
+ try to get the file from its own cache, so you might need to use the
53
+ reload button in the browser as well; I'm planning to fix this.
54
+
55
+ Next is the `favourites` controls, which we will discuss shortly. After
56
+ that there might be a search box, if the server was started with that
57
+ functionality. This search box can be configured to identify any type
58
+ of entity, but generally it is only genes.
59
+
60
+ The final component of the top-bar, which I label "User", has the user
61
+ controls, which allows to login or logout, and the job bookmarks, where
62
+ bookmarked actions are kept. Also this help page. Will discuss
63
+ bookmarking actions latter.
66
64
 
67
65
  .images
68
66
  %dl.tabs.active.show
@@ -77,28 +75,27 @@
77
75
 
78
76
  %dt.next Favourites
79
77
  %dd
80
- .description
81
- :markdown
82
-
83
- As we said before, we have reports for entities, lists, and maps.
84
- Clicking the star on the favourites control makes a favourite out of
85
- what-ever we are viewing: an entity, like a study; a list of entities,
86
- such as the genes mutated in the study; or a map, which could for
87
- instance map genes to the ratio of mutations per amino-acid in the
88
- COSMIC database.
89
-
90
- Favourites are used not only to track our interests, but as a means to
91
- communicate between different functionalities or parts of the
92
- application. We could for instance make a list of genes a favourite and
93
- then go to a study report, open the "Gene list in study" action, select
94
- our list from all the favourites and see a report of how these genes
95
- are affected in the study
96
-
97
- The favourite controls have an option to create a new list of entities
98
- from scratch. This allows a user, for instance, to make a list with her
99
- genes of interest instead of having to browse the application to find
100
- it. *Note:* New lists are not made favourite be default, you still need to
101
- click on the star once the report is shown.
78
+ :documentation
79
+
80
+ As we said before, we have reports for entities, lists, and maps.
81
+ Clicking the star on the favourites control makes a favourite out of
82
+ what-ever we are viewing: an entity, like a study; a list of entities,
83
+ such as the genes mutated in the study; or a map, which could for
84
+ instance map genes to the ratio of mutations per amino-acid in the
85
+ COSMIC database.
86
+
87
+ Favourites are used not only to track our interests, but as a means to
88
+ communicate between different functionalities or parts of the
89
+ application. We could for instance make a list of genes a favourite and
90
+ then go to a study report, open the "Gene list in study" action, select
91
+ our list from all the favourites and see a report of how these genes
92
+ are affected in the study
93
+
94
+ The favourite controls have an option to create a new list of entities
95
+ from scratch. This allows a user, for instance, to make a list with her
96
+ genes of interest instead of having to browse the application to find
97
+ it. *Note:* New lists are not made favourite be default, you still need to
98
+ click on the star once the report is shown.
102
99
 
103
100
  .images
104
101
  %dl.tabs.active.show
@@ -112,48 +109,46 @@
112
109
 
113
110
  %dt.next Actions
114
111
  %dd
115
- .description
116
- :markdown
117
-
118
- Actions are the primary way to integrate data and functionalities.
119
- Some actions are defined globally, but most commonly they are defined
120
- inside workflows; when a report is produced, all workflows are
121
- interrogated to see if they provide actions for it. The great majority
122
- of the actions are defined in the `Genomics` workflow.
123
-
124
- When an action is selected, it loads bellow the action controller. An
125
- action report consists of the content of the action, and optionally,
126
- parameter controls and an action description. When the action is loaded
127
- inside a report the parameter controls and description are hidden, but
128
- they can be shown using the action control buttons in the top left of
129
- the action controller. Actions can also be opened in their own report
130
- by right/middle clicking on its button.
131
-
132
- As with all reports, they are executed the first time they are
133
- requested and the result is cached for further access. The action
134
- control buttons can be used to reload the action, just like the reload
135
- button in the top-bar does for the complete report. The actions will
136
- of-course be recomputed for each configuration of parameters. The
137
- parameters of the action can be favourites from the user, lists or
138
- maps. These are presented to the user using an input `select`, and are
139
- synchronized with the user current favourites.
140
-
141
- If an action is used often with a particular combination of parameters.
142
- For instance the "Enrichment" action of gene lists performs an
143
- over-representation based analysis of functional classes. The
144
- functional classes include several pathway databases, protein domains,
145
- gene ages, etc. If we where interested primarily in performing enrichment
146
- analysis using GO biological process terms, we can use the paperclip
147
- button to set that configuration of parameters as default, so that it
148
- always uses it initially.
149
-
150
- Some actions may require a significant amount of time to compute. The
151
- action controller tries to reload the action periodically until it is
152
- completed (after a while it will stop insisting to not overload the
153
- server). Instead of having to wait on that page for it to finish, the
154
- user can click on the bookmark button, which will place a link in the
155
- "jobs" tab on the "Extra" menu of the top-bar, and come back to it
156
- later.
112
+ :documentation
113
+
114
+ Actions are the primary way to integrate data and functionalities.
115
+ Some actions are defined globally, but most commonly they are defined
116
+ inside workflows; when a report is produced, all workflows are
117
+ interrogated to see if they provide actions for it. The great majority
118
+ of the actions are defined in the `Genomics` workflow.
119
+
120
+ When an action is selected, it loads below the action controller. An
121
+ action report consists of the content of the action, and optionally,
122
+ documentation a report the parameter controls and description are
123
+ hidden, but they can be shown using the action control buttons in the top
124
+ left of the action controller. Actions can also be opened in their own
125
+ report by right/middle clicking on its button.
126
+
127
+ As with all reports, they are executed the first time they are
128
+ requested and the result is cached for further access. The action
129
+ control buttons can be used to reload the action, just like the reload
130
+ button in the top-bar does for the complete report. The actions will
131
+ of-course be recomputed for each configuration of parameters. The
132
+ parameters of the action can be favourites from the user, lists or
133
+ maps. These are presented to the user using an input `select`, and are
134
+ synchronized with the user current favourites.
135
+
136
+ If an action is used often with a particular combination of parameters.
137
+ For instance the "Enrichment" action of gene lists performs an
138
+ over-representation based analysis of functional classes. The
139
+ functional classes include several pathway databases, protein domains,
140
+ gene ages, etc. If we where interested primarily in performing enrichment
141
+ analysis using GO biological process terms, we can use the paperclip
142
+ button to set that configuration of parameters as default, so that it
143
+ always uses it initially.
144
+
145
+ Some actions may require a significant amount of time to compute. The
146
+ action controller tries to reload the action periodically until it is
147
+ completed (after a while it will stop insisting to not overload the
148
+ server). Instead of having to wait on that page for it to finish, the
149
+ user can click on the bookmark button, which will place a link in the
150
+ "jobs" tab on the "Extra" menu of the top-bar, and come back to it
151
+ later.
157
152
 
158
153
  .images
159
154
  %dl.tabs.active.show
@@ -177,41 +172,40 @@
177
172
 
178
173
  %dt.next Tables
179
174
  %dd
180
- .description
181
- :markdown
182
-
183
- Tables in this application come enhanced with several functionalities.
184
- The rows can be sort by the values of any column.
185
-
186
- The values of the columns can also be used to filter the rows of the
187
- table through the `filter` button. The filters are defined per-column,
188
- and can contain exact strings, regular expressions like
189
- `/(COMPLETE|PARTIAL) RESPONSE/i`, statements such as `> \< ==` or `!=`.
190
- And columns containing entities they can be prefixed with the term
191
- `name:` to force the filtering to work over the human readible text of
192
- the entities e.g. `name:/SF3B\d+/` for a column containing 'Ensembl
193
- Gene ID'.
194
-
195
- When a column contains entities, these are usualy listed in the table
196
- using some identifier like 'Ensembl Gene ID' for genes or 'GO Term
197
- IDs', etc. When displaying the table, it automatically substitutes
198
- these identifiers with links to their corresponding reports, and lists
199
- them by name. Additionally the `column` button allows the user to
200
- report the list of entities of any column or, if the first column is
201
- itselve an entity, it allows the user to report the `map` between the
202
- entities in this column and the values of any other column. Maps are
203
- generally used as inputs to actions and tools, but may have actions as
204
- well; gene maps have an action that performs a rank-based enrichment
205
- analysis (provided the Enrichment workflow is loaded in the
206
- server).
207
-
208
- The content of the table can be downloaded in two forms, as TSV files,
209
- which is the original source of the table, or as Excel files. When
210
- downloding as Excel files, since are generally intended to be read by
211
- people, all entities listed that can be translated to a more human
212
- readible identifier are translated automatically. This includes change
213
- genes identifiers from `Ensembl Gene ID` to `Associated Gene Name`, or
214
- changing KEGG pathway ids to their descriptive name.
175
+ :documentation
176
+
177
+ Tables in this application come enhanced with several functionalities.
178
+ The rows can be sort by the values of any column.
179
+
180
+ The values of the columns can also be used to filter the rows of the
181
+ table through the `filter` button. The filters are defined per-column,
182
+ and can contain exact strings, regular expressions like
183
+ `/(COMPLETE|PARTIAL) RESPONSE/i`, statements such as `> \< ==` or `!=`.
184
+ And columns containing entities they can be prefixed with the term
185
+ `name:` to force the filtering to work over the human readible text of
186
+ the entities e.g. `name:/SF3B\d+/` for a column containing 'Ensembl
187
+ Gene ID'.
188
+
189
+ When a column contains entities, these are usualy listed in the table
190
+ using some identifier like 'Ensembl Gene ID' for genes or 'GO Term
191
+ IDs', etc. When displaying the table, it automatically substitutes
192
+ these identifiers with links to their corresponding reports, and lists
193
+ them by name. Additionally the `column` button allows the user to
194
+ report the list of entities of any column or, if the first column is
195
+ itselve an entity, it allows the user to report the `map` between the
196
+ entities in this column and the values of any other column. Maps are
197
+ generally used as inputs to actions and tools, but may have actions as
198
+ well; gene maps have an action that performs a rank-based enrichment
199
+ analysis (provided the Enrichment workflow is loaded in the
200
+ server).
201
+
202
+ The content of the table can be downloaded in two forms, as TSV files,
203
+ which is the original source of the table, or as Excel files. When
204
+ downloding as Excel files, since are generally intended to be read by
205
+ people, all entities listed that can be translated to a more human
206
+ readible identifier are translated automatically. This includes change
207
+ genes identifiers from `Ensembl Gene ID` to `Associated Gene Name`, or
208
+ changing KEGG pathway ids to their descriptive name.
215
209
 
216
210
  .images
217
211
  %img(src="/img/UI/table.png")
@@ -219,23 +213,22 @@
219
213
 
220
214
  %dt.next Tools
221
215
  %dd
222
- .description
223
- :markdown
224
-
225
- Some workflows implement `tools`, which provide special interactive
226
- visualization for different types of data. For instance: the `Graph`
227
- workflow implements the `cytoscape` tool, which is used to display
228
- different kinds of entities connected through databases or analitical
229
- results (defined as `knowledge_bases`, but that is a subject for
230
- another discussion); the `Structure` `jmol` tool displays mutations in
231
- the secondary and tertiary structures and complexes; and the `D3Js`
232
- workflow that implements a tool to display `d3js` interactive SVG
233
- figures. Alternative R is used through a native interface in Rbbt to
234
- display plots using `ggplot2`.
235
-
236
- These tools are used by different reports and actions. The `Graph`
237
- workflow for instance redefines the template for `Gene` lists to
238
- include a cytoscape plot to the description section of the report.
216
+ :documentation
217
+
218
+ Some workflows implement `tools`, which provide special interactive
219
+ visualization for different types of data. For instance: the `Graph`
220
+ workflow implements the `cytoscape` tool, which is used to display
221
+ different kinds of entities connected through databases or analitical
222
+ results (defined as `knowledge_bases`, but that is a subject for
223
+ another discussion); the `Structure` `jmol` tool displays mutations in
224
+ the secondary and tertiary structures and complexes; and the `D3Js`
225
+ workflow that implements a tool to display `d3js` interactive SVG
226
+ figures. Alternative R is used through a native interface in Rbbt to
227
+ display plots using `ggplot2`.
228
+
229
+ These tools are used by different reports and actions. The `Graph`
230
+ workflow for instance redefines the template for `Gene` lists to
231
+ include a cytoscape plot to the description section of the report.
239
232
 
240
233
  .images
241
234
  %dl.tabs.active.show