rbbt-rest 1.1.5 → 1.2.0

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 (127) hide show
  1. checksums.yaml +8 -8
  2. data/lib/rbbt/rest/common/cache.rb +33 -14
  3. data/lib/rbbt/rest/common/locate.rb +8 -6
  4. data/lib/rbbt/rest/common/misc.rb +4 -0
  5. data/lib/rbbt/rest/common/render.rb +14 -4
  6. data/lib/rbbt/rest/common/resources.rb +1 -1
  7. data/lib/rbbt/rest/common/table.rb +37 -7
  8. data/lib/rbbt/rest/entity.rb +5 -3
  9. data/lib/rbbt/rest/entity/favourites.rb +4 -1
  10. data/lib/rbbt/rest/entity/helpers.rb +12 -0
  11. data/lib/rbbt/rest/entity/rest.rb +6 -2
  12. data/lib/rbbt/rest/helpers.rb +7 -0
  13. data/lib/rbbt/rest/knowledge_base.rb +338 -0
  14. data/lib/rbbt/rest/knowledge_base/helpers.rb +57 -0
  15. data/lib/rbbt/rest/main.rb +16 -3
  16. data/share/views/compass/_rbbt.sass +11 -0
  17. data/share/views/compass/actions.sass +48 -24
  18. data/share/views/compass/app.sass +72 -50
  19. data/share/views/compass/colors.sass +3 -229
  20. data/share/views/compass/entity_card.sass +44 -108
  21. data/share/views/compass/favourites.sass +17 -72
  22. data/share/views/compass/finder.sass +30 -0
  23. data/share/views/compass/foundation.sass +79 -0
  24. data/share/views/compass/functions.sass +27 -0
  25. data/share/views/compass/help.sass +3 -0
  26. data/share/views/compass/layout.sass +132 -0
  27. data/share/views/compass/rbbt/form.sass +84 -0
  28. data/share/views/compass/rbbt/fragment.sass +7 -0
  29. data/share/views/compass/rbbt/menu.sass +189 -0
  30. data/share/views/compass/rbbt/reveal.sass +46 -0
  31. data/share/views/compass/rbbt/table.sass +169 -0
  32. data/share/views/compass/skeleton.sass +2 -0
  33. data/share/views/compass/skeleton/_dependencies.sass +151 -0
  34. data/share/views/compass/skeleton/_functions.sass +4 -0
  35. data/share/views/compass/skeleton/_mixins.sass +25 -0
  36. data/share/views/compass/skeleton/_vars.sass +72 -0
  37. data/share/views/compass/skeleton/base.sass +333 -0
  38. data/share/views/compass/skeleton/layout.sass +51 -0
  39. data/share/views/compass/skeleton/skeleton.sass +105 -0
  40. data/share/views/compass/solarized.sass +56 -0
  41. data/share/views/compass/style.sass +2 -116
  42. data/share/views/compass/theme.sass +57 -44
  43. data/share/views/compass/top_menu.sass +121 -0
  44. data/share/views/compass/user.sass +7 -0
  45. data/share/views/compass/variables.sass +7 -0
  46. data/share/views/compass/workflow.sass +6 -14
  47. data/share/views/entity_partials/action_controller.haml +7 -4
  48. data/share/views/entity_partials/entity_card.haml +10 -5
  49. data/share/views/entity_partials/entity_list.haml +4 -7
  50. data/share/views/entity_partials/entity_list_card.haml +10 -3
  51. data/share/views/entity_partials/entity_map_card.haml +2 -2
  52. data/share/views/entity_partials/list_container.haml +31 -26
  53. data/share/views/error.haml +5 -7
  54. data/share/views/help.haml +75 -31
  55. data/share/views/help/entity.haml +191 -193
  56. data/share/views/help/workflow.haml +59 -63
  57. data/share/views/job_result.haml +23 -26
  58. data/share/views/layout.haml +41 -61
  59. data/share/views/layout/top_menu.haml +19 -0
  60. data/share/views/layout/top_menu/favourites.haml +45 -0
  61. data/share/views/layout/top_menu/finder.haml +4 -0
  62. data/share/views/layout/top_menu/user.haml +15 -0
  63. data/share/views/public/js/_ajax_replace.js +17 -5
  64. data/share/views/public/js/_ellipsis.js +7 -9
  65. data/share/views/public/js/app.js +50 -2
  66. data/share/views/public/js/foundation/foundation.abide.js +194 -0
  67. data/share/views/public/js/foundation/foundation.alerts.js +52 -0
  68. data/share/views/public/js/foundation/foundation.clearing.js +516 -0
  69. data/share/views/public/js/foundation/foundation.cookie.js +74 -0
  70. data/share/views/public/js/foundation/foundation.dropdown.js +177 -0
  71. data/share/views/public/js/foundation/foundation.forms.js +533 -0
  72. data/share/views/public/js/foundation/foundation.interchange.js +280 -0
  73. data/share/views/public/js/foundation/foundation.joyride.js +850 -0
  74. data/share/views/public/js/foundation/foundation.js +440 -0
  75. data/share/views/public/js/foundation/foundation.magellan.js +135 -0
  76. data/share/views/public/js/foundation/foundation.orbit.js +412 -0
  77. data/share/views/public/js/foundation/foundation.placeholder.js +179 -0
  78. data/share/views/public/js/foundation/foundation.reveal.js +330 -0
  79. data/share/views/public/js/foundation/foundation.section.js +400 -0
  80. data/share/views/public/js/foundation/foundation.tooltips.js +208 -0
  81. data/share/views/public/js/foundation/foundation.topbar.js +300 -0
  82. data/share/views/public/js/foundation/index.js +18 -0
  83. data/share/views/public/js/helpers.js +33 -2
  84. data/share/views/public/js/jquery-ui.js +313 -0
  85. data/share/views/public/js/rbbt/actions.js +264 -0
  86. data/share/views/public/js/{_dom_update.js → rbbt/dom_update.js} +0 -0
  87. data/share/views/public/js/rbbt/favourites.js +425 -0
  88. data/share/views/public/js/rbbt/fragment.js +13 -0
  89. data/share/views/public/js/rbbt/hide.js +60 -0
  90. data/share/views/public/js/rbbt/list.js +117 -0
  91. data/share/views/public/js/{maps.js → rbbt/map.js} +3 -2
  92. data/share/views/public/js/rbbt/menu.js +22 -0
  93. data/share/views/public/js/rbbt/modal.js +96 -0
  94. data/share/views/public/js/{entities.js → rbbt/page_type.js} +12 -9
  95. data/share/views/public/js/rbbt/reveal.js +19 -0
  96. data/share/views/public/js/rbbt/table.js +283 -0
  97. data/share/views/public/js/{workflow.js → rbbt/workflow.js} +0 -0
  98. data/share/views/tasks.haml +14 -15
  99. data/share/views/wait.haml +11 -12
  100. metadata +62 -33
  101. data/share/views/compass/_foundation_setup.sass +0 -74
  102. data/share/views/compass/dom.sass +0 -32
  103. data/share/views/compass/footer.sass +0 -4
  104. data/share/views/compass/form.sass +0 -41
  105. data/share/views/compass/fragment.sass +0 -8
  106. data/share/views/compass/list_container.sass +0 -34
  107. data/share/views/compass/lists.sass +0 -33
  108. data/share/views/compass/offcanvas.sass +0 -66
  109. data/share/views/compass/responsive_table.sass +0 -80
  110. data/share/views/compass/reveal.sass +0 -31
  111. data/share/views/compass/style_mixins.sass +0 -42
  112. data/share/views/compass/table.sass +0 -63
  113. data/share/views/compass/tabs.sass +0 -81
  114. data/share/views/compass/topbar.sass +0 -25
  115. data/share/views/compass/web-fonts.sass +0 -77
  116. data/share/views/layout/favourites.haml +0 -46
  117. data/share/views/layout/header.haml +0 -44
  118. data/share/views/public/js/_fix_tablesorter_science.js +0 -38
  119. data/share/views/public/js/_foundation.js +0 -42
  120. data/share/views/public/js/actions.js +0 -108
  121. data/share/views/public/js/base.js +0 -121
  122. data/share/views/public/js/favourites.js +0 -441
  123. data/share/views/public/js/lists.js +0 -117
  124. data/share/views/public/js/offcanvas.js +0 -35
  125. data/share/views/public/js/reveal.js +0 -48
  126. data/share/views/public/js/tables.js +0 -314
  127. data/share/views/public/js/tabs.js +0 -7
@@ -1,193 +1,191 @@
1
- .row.help
2
- .column.small-12
3
- :markdown
4
-
5
- The Entity subsystem
6
- =================
7
-
8
- ### Introduction: Entities and Entity Lists
9
-
10
- This is the operation mode that regular users most like use. Its
11
- organized quite different than other applications you might know. The
12
- objective is to provide a simple abstraction to organize and interconnect
13
- functionalities and background information. Everything is built around
14
- the idea of Entities. An Entity is anything that can be the subject of
15
- investigation:
16
-
17
- * genes
18
- * proteins
19
- * transcripts
20
- * drugs
21
- * SNPs
22
- * samples
23
- * studies
24
- * pathways
25
- * chromosomal ranges
26
- * ...
27
-
28
- Each type of entity has associated a number of reports. There is an
29
- *Entity Report*, which displays information about an entity. If the
30
- entity is a gene, then the report will contain the description of the
31
- gene, its isoforms, functional information, and many other things. There
32
- is also an *Entity List Report*, which covers not a single entity, but a
33
- list of entities. For instance, the report for a list of genomic
34
- mutations includes the types of mutations (transversions, transitions,
35
- etc), the genes affected, damage predictions, etc.
36
-
37
- Each report links to other reports. For instance, a gene report will
38
- include links to reports for its isoforms, the pathways it is associated
39
- with, etc. This offers a way to navigate the information and pursue
40
- interesting leads.
41
-
42
- In addition to reports, there are also *Actions* associated to Entities
43
- and Entity Lists. These Actions are accessible from each report page.
44
- The Actions allow the user to issue analysis jobs centered on the current
45
- Entity or Entity List. For instance, when viewing the report for a gene
46
- lists, which may contain for example all genes mutated recurrently in a
47
- cohort, the Actions available include performing enrichment analysis,
48
- examining the mutation frequencies of the genes in COSMIC or examining
49
- the mutational status of these genes on other genotyping studies that you
50
- may have access to.
51
-
52
- Both Entities and Entity Lists can be marked as *Favourites*, this will
53
- include a link in the menu on the top of the page. Favourite Lists have
54
- some special features, they can be *flagged* any link that points to an
55
- entity in the list will be highlighted. This provides a fast an easy way
56
- to track a list of interest throughout your explorations. Additionally
57
- some Actions may take Entity Lists as inputs, and will allow the user to
58
- choose among her Favourite Lists.
59
-
60
- There is a third type of report, the *Entity Map Report*. Its meant as
61
- additional way to connect functionalities and is less important right
62
- now. They will cover this on the section on *Tables* and ignore them until
63
- then.
64
-
65
- All reports are unambiguously identified from its URL, including Actions,
66
- which allows to bookmark or share anything with your collaborators.
67
-
68
- #### A simple example
69
-
70
- A common place to start using the application is from a *Study Report*.
71
- The Study entity represents a collection of datasets, for instance a
72
- cohort of exome sequenced samples for the ICGC CLL study. The report
73
- includes a link to all the genes that have mutations altering their
74
- protein isoforms in at least two samples; clicking on that link takes as
75
- to the *Gene List Report* for the list with name "Recurrently mutated
76
- genes in CLL". From the Gene List Report we can access the Action
77
- "Enrichment", where we are presented with the option of performing an
78
- hypergeometric-based enrichment analysis for functional annotations that
79
- include Kegg, The Gene Ontology, Pfam domains, Reactome, and several
80
- other functional information databases.
81
-
82
- #### A very important note
83
-
84
- The system must be able to unambiguously and precisely identify the
85
- entities. For instance the string "TP53" may seem to clearly identify a
86
- gene, yet this is not entirely true. First we need to know the organism
87
- it refers to, in this case Human. Consider now that we ask for the
88
- genomic coordinates of the gene, this question cannot be answered until
89
- we known the version of the build we need to use. By default the system
90
- will try the most recent version of the genome in Ensembl, but other
91
- builds can be specified. The complete way to specify the organism will be
92
- "Hsa/may2009" for the hg18 build or "Hsa/jan2013" for the latest hg19
93
- build. This system downloads all data consistently from Ensembl using the
94
- builds. Using an explicit version of the build (Hsa/jan2013) instead of
95
- just the organism (Hsa) will prevent problems with inconsistencies that
96
- could result from downloading different files at different times, where
97
- there may have being some updates. The organism codes follow the convention of Kegg, one
98
- letter from the *genus*, two from the *species*; Examples: Homo sapiens
99
- -- Hsa; Mus musculus -- Mmu. The dates that specify the builds represent
100
- the different archives of Ensembl, which is the corner stone of all our
101
- genomic data.
102
-
103
- Additionally, there are several ways to refer to the same gene; for
104
- instance "TP53" can also be expressed as "ENSG00000141510". So, when
105
- asking the system for a gene, the information on the format of the
106
- identifier must also be provided. Fortunately, the system will take care
107
- of transparently translating identifiers between different formats to
108
- match the formats in different resources. It will also propagate the
109
- information about the organism across different reports.
110
-
111
- Last but by all means not least: This system is *CASE-SENSITIVE* almost
112
- all over the place. TP53 is a Human gene, Tp53 is a Mouse gene, no wiggle
113
- room allowed! It might take a little getting used to, but
114
- case-insensitive behaviour has been avoided almost all over the system
115
- for performance issues. Again, the user should not have to worry about
116
- this most of the time, as the system will take care of most details, but
117
- its very important to know.
118
-
119
- ### User Interface: Basics
120
-
121
- Before we continue let us see how the user interface is organized. The
122
- top bar contains the application title, which links to he main page,
123
- the *Reload* button, the *Start* button, the *Favourite* menus, and
124
- the *Search* box.
125
-
126
- When a report is first requested the result is saved for further use,
127
- even if there was an error producing it. This is true for entities,
128
- lists, actions, and almost everything else. Clicking the reload button
129
- on the browser will just render the saved result. To force regenerating
130
- the report you need to use the Reload button on the top of the page.
131
- An exception to this are Actions. These can be opened in separate windows,
132
- in which case it works as usual, but are more often opened from the
133
- *Action Section* of the report, which will be covered bellow. The Action
134
- Section has its own Reload button.
135
-
136
- To Star button toggles the favourite status of the current Entity or
137
- Entity List. It only works for Entities, Entity Lists, and Entity. It
138
- has no effect on Actions, for the time being. The Favourite Menus are
139
- updated when the Star button is clicked. If a Favourite is made on a
140
- different browser tab or window, the current Favourite Menus can be
141
- updated by reloading the page using the browser button (the page should
142
- already be saved), or by clicking on the Star button, which also updates
143
- the current menus. Input forms and actions that have Entity Lists as
144
- inputs will also be updated this way.
145
-
146
- Some parts of the page will be loaded in the background. These include
147
- portions of the report that are more costly to compute, or particular
148
- processes that are issues by the user interacting with the page. To make
149
- the user aware of these, the little number on the far right of the top
150
- bar displays the number of processes communicating with the server on
151
- background.
152
-
153
- On small devices (tablets and phones), the top-bar will be collapsed and
154
- some elements hidden. To display these elements, click on the "Menu"
155
- button on the top right.
156
-
157
-
158
- ### User Interface: Report template
159
-
160
- Reports may have any type of content, however, they are usually based on
161
- a common template. It has a title on the top row, a side bar on the left,
162
- a description on the right, at the top, and the Actions Section bellow
163
- it. Note that, depending on the particular report, the description may
164
- be empty or there might not be any actions associated to it.
165
-
166
- In general, the sidebar is used to display technical information about
167
- the Entity at hand. For a Gene Report, for instance, the sidebar is used
168
- to display the format used to specify the gene (such as Ensembl Gene ID),
169
- and the organism it refers to. In the case of gene reports, the basic
170
- identification information is followed with additional information about
171
- isoforms, functional annotations, PubMed articles, etc. On small devices
172
- (tablets and phones), the sidebar will hide on the right of the screen,
173
- and will be displayed on clicking the blue button on the title section.
174
-
175
-
176
- ### User Interface: Actions
177
-
178
- Entities and Entity Lists may have associated Actions, depending on the
179
- type of Entity. When Actions are available for a Report, they are displayed
180
- in the Actions Section. This section is composed on an horizontal bar
181
- with a button for each each action. When a button is clicked the action
182
- is displayed bellow the bar. If the action takes some time, a 'Loading...'
183
- message will appear. The bar includes a button to reload an action that
184
- has already been computed. If the action accepts parameters, the user
185
- will be required to set them. To set the parameters click on the button
186
- with a gear; this will display the parameter section. Of course, if the
187
- parameters of an action are changed, a new report will be generated;
188
- Actions are saved separately for each combination of parameters.
189
-
190
- For actions with large reports, it may be better to open them in a separate
191
- window. You can do this using the mouse-right-click, just like any regular
192
- link.
193
-
1
+ :markdown
2
+
3
+ The Entity subsystem
4
+ =================
5
+
6
+ ### Introduction: Entities and Entity Lists
7
+
8
+ This is the operation mode that regular users most like use. Its
9
+ organized quite different than other applications you might know. The
10
+ objective is to provide a simple abstraction to organize and interconnect
11
+ functionalities and background information. Everything is built around
12
+ the idea of Entities. An Entity is anything that can be the subject of
13
+ investigation:
14
+
15
+ * genes
16
+ * proteins
17
+ * transcripts
18
+ * drugs
19
+ * SNPs
20
+ * samples
21
+ * studies
22
+ * pathways
23
+ * chromosomal ranges
24
+ * ...
25
+
26
+ Each type of entity has associated a number of reports. There is an
27
+ *Entity Report*, which displays information about an entity. If the
28
+ entity is a gene, then the report will contain the description of the
29
+ gene, its isoforms, functional information, and many other things. There
30
+ is also an *Entity List Report*, which covers not a single entity, but a
31
+ list of entities. For instance, the report for a list of genomic
32
+ mutations includes the types of mutations (transversions, transitions,
33
+ etc), the genes affected, damage predictions, etc.
34
+
35
+ Each report links to other reports. For instance, a gene report will
36
+ include links to reports for its isoforms, the pathways it is associated
37
+ with, etc. This offers a way to navigate the information and pursue
38
+ interesting leads.
39
+
40
+ In addition to reports, there are also *Actions* associated to Entities
41
+ and Entity Lists. These Actions are accessible from each report page.
42
+ The Actions allow the user to issue analysis jobs centered on the current
43
+ Entity or Entity List. For instance, when viewing the report for a gene
44
+ lists, which may contain for example all genes mutated recurrently in a
45
+ cohort, the Actions available include performing enrichment analysis,
46
+ examining the mutation frequencies of the genes in COSMIC or examining
47
+ the mutational status of these genes on other genotyping studies that you
48
+ may have access to.
49
+
50
+ Both Entities and Entity Lists can be marked as *Favourites*, this will
51
+ include a link in the menu on the top of the page. Favourite Lists have
52
+ some special features, they can be *flagged* any link that points to an
53
+ entity in the list will be highlighted. This provides a fast an easy way
54
+ to track a list of interest throughout your explorations. Additionally
55
+ some Actions may take Entity Lists as inputs, and will allow the user to
56
+ choose among her Favourite Lists.
57
+
58
+ There is a third type of report, the *Entity Map Report*. Its meant as
59
+ additional way to connect functionalities and is less important right
60
+ now. They will cover this on the section on *Tables* and ignore them until
61
+ then.
62
+
63
+ All reports are unambiguously identified from its URL, including Actions,
64
+ which allows to bookmark or share anything with your collaborators.
65
+
66
+ #### A simple example
67
+
68
+ A common place to start using the application is from a *Study Report*.
69
+ The Study entity represents a collection of datasets, for instance a
70
+ cohort of exome sequenced samples for the ICGC CLL study. The report
71
+ includes a link to all the genes that have mutations altering their
72
+ protein isoforms in at least two samples; clicking on that link takes as
73
+ to the *Gene List Report* for the list with name "Recurrently mutated
74
+ genes in CLL". From the Gene List Report we can access the Action
75
+ "Enrichment", where we are presented with the option of performing an
76
+ hypergeometric-based enrichment analysis for functional annotations that
77
+ include Kegg, The Gene Ontology, Pfam domains, Reactome, and several
78
+ other functional information databases.
79
+
80
+ #### A very important note
81
+
82
+ The system must be able to unambiguously and precisely identify the
83
+ entities. For instance the string "TP53" may seem to clearly identify a
84
+ gene, yet this is not entirely true. First we need to know the organism
85
+ it refers to, in this case Human. Consider now that we ask for the
86
+ genomic coordinates of the gene, this question cannot be answered until
87
+ we known the version of the build we need to use. By default the system
88
+ will try the most recent version of the genome in Ensembl, but other
89
+ builds can be specified. The complete way to specify the organism will be
90
+ "Hsa/may2009" for the hg18 build or "Hsa/jan2013" for the latest hg19
91
+ build. This system downloads all data consistently from Ensembl using the
92
+ builds. Using an explicit version of the build (Hsa/jan2013) instead of
93
+ just the organism (Hsa) will prevent problems with inconsistencies that
94
+ could result from downloading different files at different times, where
95
+ there may have being some updates. The organism codes follow the convention of Kegg, one
96
+ letter from the *genus*, two from the *species*; Examples: Homo sapiens
97
+ -- Hsa; Mus musculus -- Mmu. The dates that specify the builds represent
98
+ the different archives of Ensembl, which is the corner stone of all our
99
+ genomic data.
100
+
101
+ Additionally, there are several ways to refer to the same gene; for
102
+ instance "TP53" can also be expressed as "ENSG00000141510". So, when
103
+ asking the system for a gene, the information on the format of the
104
+ identifier must also be provided. Fortunately, the system will take care
105
+ of transparently translating identifiers between different formats to
106
+ match the formats in different resources. It will also propagate the
107
+ information about the organism across different reports.
108
+
109
+ Last but by all means not least: This system is *CASE-SENSITIVE* almost
110
+ all over the place. TP53 is a Human gene, Tp53 is a Mouse gene, no wiggle
111
+ room allowed! It might take a little getting used to, but
112
+ case-insensitive behaviour has been avoided almost all over the system
113
+ for performance issues. Again, the user should not have to worry about
114
+ this most of the time, as the system will take care of most details, but
115
+ its very important to know.
116
+
117
+ ### User Interface: Basics
118
+
119
+ Before we continue let us see how the user interface is organized. The
120
+ top bar contains the application title, which links to he main page,
121
+ the *Reload* button, the *Start* button, the *Favourite* menus, and
122
+ the *Search* box.
123
+
124
+ When a report is first requested the result is saved for further use,
125
+ even if there was an error producing it. This is true for entities,
126
+ lists, actions, and almost everything else. Clicking the reload button
127
+ on the browser will just render the saved result. To force regenerating
128
+ the report you need to use the Reload button on the top of the page.
129
+ An exception to this are Actions. These can be opened in separate windows,
130
+ in which case it works as usual, but are more often opened from the
131
+ *Action Section* of the report, which will be covered bellow. The Action
132
+ Section has its own Reload button.
133
+
134
+ To Star button toggles the favourite status of the current Entity or
135
+ Entity List. It only works for Entities, Entity Lists, and Entity. It
136
+ has no effect on Actions, for the time being. The Favourite Menus are
137
+ updated when the Star button is clicked. If a Favourite is made on a
138
+ different browser tab or window, the current Favourite Menus can be
139
+ updated by reloading the page using the browser button (the page should
140
+ already be saved), or by clicking on the Star button, which also updates
141
+ the current menus. Input forms and actions that have Entity Lists as
142
+ inputs will also be updated this way.
143
+
144
+ Some parts of the page will be loaded in the background. These include
145
+ portions of the report that are more costly to compute, or particular
146
+ processes that are issues by the user interacting with the page. To make
147
+ the user aware of these, the little number on the far right of the top
148
+ bar displays the number of processes communicating with the server on
149
+ background.
150
+
151
+ On small devices (tablets and phones), the top-bar will be collapsed and
152
+ some elements hidden. To display these elements, click on the "Menu"
153
+ button on the top right.
154
+
155
+
156
+ ### User Interface: Report template
157
+
158
+ Reports may have any type of content, however, they are usually based on
159
+ a common template. It has a title on the top row, a side bar on the left,
160
+ a description on the right, at the top, and the Actions Section bellow
161
+ it. Note that, depending on the particular report, the description may
162
+ be empty or there might not be any actions associated to it.
163
+
164
+ In general, the sidebar is used to display technical information about
165
+ the Entity at hand. For a Gene Report, for instance, the sidebar is used
166
+ to display the format used to specify the gene (such as Ensembl Gene ID),
167
+ and the organism it refers to. In the case of gene reports, the basic
168
+ identification information is followed with additional information about
169
+ isoforms, functional annotations, PubMed articles, etc. On small devices
170
+ (tablets and phones), the sidebar will hide on the right of the screen,
171
+ and will be displayed on clicking the blue button on the title section.
172
+
173
+
174
+ ### User Interface: Actions
175
+
176
+ Entities and Entity Lists may have associated Actions, depending on the
177
+ type of Entity. When Actions are available for a Report, they are displayed
178
+ in the Actions Section. This section is composed on an horizontal bar
179
+ with a button for each each action. When a button is clicked the action
180
+ is displayed bellow the bar. If the action takes some time, a 'Loading...'
181
+ message will appear. The bar includes a button to reload an action that
182
+ has already been computed. If the action accepts parameters, the user
183
+ will be required to set them. To set the parameters click on the button
184
+ with a gear; this will display the parameter section. Of course, if the
185
+ parameters of an action are changed, a new report will be generated;
186
+ Actions are saved separately for each combination of parameters.
187
+
188
+ For actions with large reports, it may be better to open them in a separate
189
+ window. You can do this using the mouse-right-click, just like any regular
190
+ link.
191
+
@@ -1,77 +1,73 @@
1
- .row.help
2
- .column.small-12
3
- :markdown
1
+ :markdown
4
2
 
5
- The Workflow subsystem
6
- ===================
3
+ The Workflow subsystem
4
+ ===================
7
5
 
8
- The workflow subsystem is used to package related functionalities and
9
- offer a common, flexible, interface. Each workflow is composed of a
10
- number of tasks. Each task represents a step taken towards the completion
11
- of a workflow, and thus, tasks may depend on other tasks, yet this is
12
- often not the case and tasks are often stand-alone.
13
-
14
- Tasks are design to be isolated or self-contained, meaning that executing
15
- a particular task with the same values for the input parameters should
16
- render the same identical result. This is not an imposition, but it is
17
- encouraged, and almost all, if not all, tasks behave this way. The
18
- consequence of this predictability is that results can be cached.
6
+ The workflow subsystem is used to package related functionalities and
7
+ offer a common, flexible, interface. Each workflow is composed of a
8
+ number of tasks. Each task represents a step taken towards the completion
9
+ of a workflow, and thus, tasks may depend on other tasks, yet this is
10
+ often not the case and tasks are often stand-alone.
11
+
12
+ Tasks are design to be isolated or self-contained, meaning that executing
13
+ a particular task with the same values for the input parameters should
14
+ render the same identical result. This is not an imposition, but it is
15
+ encouraged, and almost all, if not all, tasks behave this way. The
16
+ consequence of this predictability is that results can be cached.
19
17
 
20
- ## Accessing workflow functionalities
18
+ ## Accessing workflow functionalities
21
19
 
22
- You may access a workflow functionalities on three ways: using a
23
- web-browser, remotely using web services, or locally. Local execution
24
- requires the installation of the Rbbt framework and the workflow source
25
- and it is out of the scope of this document.
20
+ You may access a workflow functionalities on three ways: using a
21
+ web-browser, remotely using web services, or locally. Local execution
22
+ requires the installation of the Rbbt framework and the workflow source
23
+ and it is out of the scope of this document.
26
24
 
27
- ### Using the Browser
25
+ ### Using the Browser
28
26
 
29
- To use the web browser you just point your browser to the workflow page.
30
- Check at the bottom of this page for a list of workflows available in
31
- this server. The workflow page presents a description of the software
32
- along with the tasks it includes and their descriptions (descriptions are
33
- optional for workflow development and may be missing). Each task has its
34
- own page, which contains the input form. Submitting the form takes you to
35
- the results page. Form and result pages follow a general template, which
36
- we shall review bellow.
37
-
38
- Workflow and task pages, like any other page in this system, are subject
39
- to being redefined; in this case by the workflow author. This makes it
40
- possible to make both the input and the results page fit more closely the
41
- user needs. This option, however, is rarely necessary, and most workflows
42
- use the default templates.
27
+ To use the web browser you just point your browser to the workflow page.
28
+ Check at the bottom of this page for a list of workflows available in
29
+ this server. The workflow page presents a description of the software
30
+ along with the tasks it includes and their descriptions (descriptions are
31
+ optional for workflow development and may be missing). Each task has its
32
+ own page, which contains the input form. Submitting the form takes you to
33
+ the results page. Form and result pages follow a general template, which
34
+ we shall review bellow.
35
+
36
+ Workflow and task pages, like any other page in this system, are subject
37
+ to being redefined; in this case by the workflow author. This makes it
38
+ possible to make both the input and the results page fit more closely the
39
+ user needs. This option, however, is rarely necessary, and most workflows
40
+ use the default templates.
43
41
 
44
- ### Using the Web Server
42
+ ### Using the Web Server
45
43
 
46
- The browser interface follows the REST protocol (mostly) so that it can
47
- be used as a web server. Any user familiar with 'curl' or 'wget' should
48
- have little problems using it. The Rbbt all-purpose command 'rbbt' can
49
- also be used to execute remote workflow. See the documentation on the
50
- rbbt site (once it is available.)
44
+ The browser interface follows the REST protocol (mostly) so that it can
45
+ be used as a web server. Any user familiar with 'curl' or 'wget' should
46
+ have little problems using it. The Rbbt all-purpose command 'rbbt' can
47
+ also be used to execute remote workflow. See the documentation on the
48
+ rbbt site (once it is available.)
51
49
 
52
- .row.help
53
- .column.small-12
54
50
 
55
- %table
56
- %caption Available workflows on this site
57
- %thead
58
- %tr
59
- %th Workflow
60
- %th Description
61
- %tbody
62
- - Sinatra::RbbtRESTWorkflow::WORKFLOWS.each do |workflow|
63
- - next if workflow.asynchronous_exports.empty? and workflow.synchronous_exports.empty? and workflow.exec_exports.empty?
64
- %tr
65
- %th
66
- %a(href="#{'/' << workflow.to_s}")= Misc.humanize(workflow.to_s)
67
- %td
68
- - description = workflow.workflow_description || ""
51
+ %table
52
+ %caption Available workflows on this site
53
+ %thead
54
+ %tr
55
+ %th Workflow
56
+ %th Description
57
+ %tbody
58
+ - Sinatra::RbbtRESTWorkflow::WORKFLOWS.each do |workflow|
59
+ - next if workflow.asynchronous_exports.empty? and workflow.synchronous_exports.empty? and workflow.exec_exports.empty?
60
+ %tr
61
+ %th
62
+ %a(href="#{'/' << workflow.to_s}")= Misc.humanize(workflow.to_s)
63
+ %td
64
+ - description = workflow.workflow_description || ""
69
65
 
70
- - case
71
- - when description.empty?
72
- No description
73
- - else
74
- = description.split("\n\n").first
66
+ - case
67
+ - when description.empty?
68
+ No description
69
+ - else
70
+ = description.split("\n\n").first
75
71
 
76
72
 
77
73