rbbt-rest 1.4.10 → 1.4.11

Sign up to get free protection for your applications and to get access to all the features.
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