rbbt-views 1.0.1 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (177) hide show
  1. data/lib/rbbt/workflow/rest.rb +365 -95
  2. data/lib/rbbt/workflow/rest/client.rb +2 -0
  3. data/lib/rbbt/workflow/rest/entity.rb +82 -76
  4. data/lib/rbbt/workflow/rest/finder.rb +78 -0
  5. data/lib/rbbt/workflow/rest/helpers.rb +288 -47
  6. data/lib/rbbt/workflow/rest/notes.rb +125 -0
  7. data/lib/rbbt/workflow/rest/render.rb +280 -240
  8. data/lib/rbbt/workflow/rest/util.rb +47 -31
  9. data/share/views/compass/_base.sass +0 -8
  10. data/share/views/compass/colors.sass +10 -0
  11. data/share/views/compass/colors/ventana_azul.sass +5 -0
  12. data/share/views/compass/compass.config +2 -1
  13. data/share/views/compass/details.sass +50 -0
  14. data/share/views/compass/dom.sass +64 -0
  15. data/share/views/compass/embedded.sass +111 -0
  16. data/share/views/compass/entities.sass +8 -0
  17. data/share/views/compass/error.sass +13 -0
  18. data/share/views/compass/finder.sass +42 -0
  19. data/share/views/compass/fonts.sass +8 -0
  20. data/share/views/compass/form.sass +49 -1
  21. data/share/views/compass/header.sass +68 -0
  22. data/share/views/compass/{main.sass → helpers.sass} +53 -21
  23. data/share/views/compass/layout.sass +31 -199
  24. data/share/views/compass/lists.sass +128 -0
  25. data/share/views/compass/menu.sass +35 -0
  26. data/share/views/compass/notes.sass +52 -0
  27. data/share/views/compass/sizes.sass +8 -0
  28. data/share/views/compass/tables.sass +22 -0
  29. data/share/views/compass/wait.sass +9 -0
  30. data/share/views/edit_list.haml +41 -30
  31. data/share/views/entity/GOTerm.haml +4 -3
  32. data/share/views/entity/Gene.haml +8 -1
  33. data/share/views/entity/GenomicMutation.haml +4 -1
  34. data/share/views/entity/KeggPathway.haml +1 -1
  35. data/share/views/entity/MutatedIsoform.haml +68 -11
  36. data/share/views/entity/NCIBioCartaPathway.haml +2 -3
  37. data/share/views/entity/NCINaturePathway.haml +3 -3
  38. data/share/views/entity/NCIReactomePathway.haml +2 -3
  39. data/share/views/entity/PfamDomain.haml +2 -0
  40. data/share/views/entity/Transcript.haml +10 -0
  41. data/share/views/entity_list/Default.haml +4 -0
  42. data/share/views/entity_list/Default/compare_to_other_lists.haml +41 -0
  43. data/share/views/entity_list/Default/entity_links.haml +6 -0
  44. data/share/views/entity_list/Default/find_in_other_lists.haml +36 -0
  45. data/share/views/error.haml +6 -1
  46. data/share/views/find.haml +10 -0
  47. data/share/views/form.haml +1 -1
  48. data/share/views/info.haml +1 -1
  49. data/share/views/js/_action_setup.js +250 -0
  50. data/share/views/js/_basic.js +269 -0
  51. data/share/views/js/_cytoscape.js +44 -0
  52. data/share/views/js/_details.js +239 -0
  53. data/share/views/js/_dom_updates.js +384 -0
  54. data/share/views/js/_embedded.js +95 -0
  55. data/share/views/js/_images.js +20 -0
  56. data/share/views/js/_layout.js +21 -0
  57. data/share/views/js/_lists.js +224 -0
  58. data/share/views/js/_table.js +36 -0
  59. data/share/views/js/_workflow.js +42 -0
  60. data/share/views/js/app.js +0 -570
  61. data/share/views/js/fix_tablesorter_scientific.js +25 -0
  62. data/share/views/js/json2.js +487 -0
  63. data/share/views/layout.haml +8 -98
  64. data/share/views/notes.haml +15 -0
  65. data/share/views/partials/_form.haml +22 -7
  66. data/share/views/partials/_job_control.haml +8 -8
  67. data/share/views/partials/_list_control.haml +32 -0
  68. data/share/views/partials/_list_header.haml +6 -0
  69. data/share/views/partials/_note_list.haml +64 -0
  70. data/share/views/partials/_result_table.haml +12 -7
  71. data/share/views/partials/_result_table_controls.haml +11 -5
  72. data/share/views/partials/_table.haml +24 -6
  73. data/share/views/partials/layout/_coda.haml +10 -0
  74. data/share/views/partials/layout/_details.haml +25 -0
  75. data/share/views/partials/layout/_head.haml +22 -0
  76. data/share/views/partials/layout/_header.haml +29 -0
  77. data/share/views/partials/layout/_menu.haml +20 -0
  78. data/share/views/partials/layout/_resources.haml +41 -0
  79. data/share/views/public/background.png +0 -0
  80. data/share/views/public/plugins/cytoscape-web/LICENSE.txt +504 -0
  81. data/share/views/public/plugins/cytoscape-web/README.txt +213 -0
  82. data/share/views/public/plugins/cytoscape-web/js/AC_OETags.js +1 -0
  83. data/share/views/public/plugins/cytoscape-web/js/cytoscapeweb.js +1 -0
  84. data/share/views/public/plugins/cytoscape-web/js/json2.js +1 -0
  85. data/share/views/public/plugins/cytoscape-web/swf/CytoscapeWeb.swf +0 -0
  86. data/share/views/public/plugins/cytoscape-web/swf/playerProductInstall.swf +0 -0
  87. data/share/views/public/plugins/fancybox/CHANGELOG.md +68 -0
  88. data/share/views/public/plugins/fancybox/README.md +220 -0
  89. data/share/views/public/plugins/fancybox/css/blank.gif +0 -0
  90. data/share/views/public/plugins/fancybox/css/fancybox_loading.gif +0 -0
  91. data/share/views/public/plugins/fancybox/css/fancybox_sprite.png +0 -0
  92. data/share/views/public/plugins/fancybox/css/jquery.fancybox.css +234 -0
  93. data/share/views/public/plugins/fancybox/helpers/fancybox_buttons.png +0 -0
  94. data/share/views/public/plugins/fancybox/helpers/jquery.fancybox-buttons.css +85 -0
  95. data/share/views/public/plugins/fancybox/helpers/jquery.fancybox-buttons.js +115 -0
  96. data/share/views/public/plugins/fancybox/helpers/jquery.fancybox-media.js +85 -0
  97. data/share/views/public/plugins/fancybox/helpers/jquery.fancybox-thumbs.css +54 -0
  98. data/share/views/public/plugins/fancybox/helpers/jquery.fancybox-thumbs.js +157 -0
  99. data/share/views/public/plugins/fancybox/js/jquery.fancybox.js +1463 -0
  100. data/share/views/public/plugins/fancybox/js/jquery.mousewheel-3.0.6.pack.js +13 -0
  101. data/share/views/public/plugins/fancybox/lib/jquery-1.7.2.min.js +4 -0
  102. data/share/views/public/plugins/featuredimagezoomer/css/featuredimagezoomer.css +8 -0
  103. data/share/views/public/plugins/featuredimagezoomer/images/spinningred.gif +0 -0
  104. data/share/views/public/plugins/featuredimagezoomer/js/featuredimagezoomer.js +245 -0
  105. data/share/views/public/plugins/jquery-ui.hitarea.js +173 -0
  106. data/share/views/public/plugins/jquery/js/jquery-1.8.0.min.js +2 -0
  107. data/share/views/public/plugins/tablesorter/addons/pager/jquery.tablesorter.pager.css +25 -0
  108. data/share/views/public/plugins/tablesorter/addons/pager/jquery.tablesorter.pager.js +184 -0
  109. data/share/views/public/plugins/tablesorter/build.xml +26 -0
  110. data/share/views/public/plugins/tablesorter/build/ParseMaster.js +106 -0
  111. data/share/views/public/plugins/tablesorter/build/js.jar +0 -0
  112. data/share/views/public/plugins/tablesorter/build/jsmin.js +316 -0
  113. data/share/views/public/plugins/tablesorter/build/min.js +5 -0
  114. data/share/views/public/plugins/tablesorter/build/pack.js +5 -0
  115. data/share/views/public/plugins/tablesorter/build/packer.js +316 -0
  116. data/share/views/public/plugins/tablesorter/build/writeFile.js +19 -0
  117. data/share/views/public/plugins/tablesorter/changelog +41 -0
  118. data/share/views/public/plugins/tablesorter/docs/assets/ajax-content.html +43 -0
  119. data/share/views/public/plugins/tablesorter/docs/css/jq.css +29 -0
  120. data/share/views/public/plugins/tablesorter/docs/example-ajax.html +119 -0
  121. data/share/views/public/plugins/tablesorter/docs/example-empty-table.html +75 -0
  122. data/share/views/public/plugins/tablesorter/docs/example-extending-defaults.html +109 -0
  123. data/share/views/public/plugins/tablesorter/docs/example-meta-headers.html +108 -0
  124. data/share/views/public/plugins/tablesorter/docs/example-meta-parsers.html +105 -0
  125. data/share/views/public/plugins/tablesorter/docs/example-meta-sort-list.html +107 -0
  126. data/share/views/public/plugins/tablesorter/docs/example-option-debug.html +116 -0
  127. data/share/views/public/plugins/tablesorter/docs/example-option-digits.html +106 -0
  128. data/share/views/public/plugins/tablesorter/docs/example-option-sort-force.html +107 -0
  129. data/share/views/public/plugins/tablesorter/docs/example-option-sort-key.html +108 -0
  130. data/share/views/public/plugins/tablesorter/docs/example-option-sort-list.html +108 -0
  131. data/share/views/public/plugins/tablesorter/docs/example-option-sort-order.html +108 -0
  132. data/share/views/public/plugins/tablesorter/docs/example-option-text-extraction.html +85 -0
  133. data/share/views/public/plugins/tablesorter/docs/example-options-headers.html +118 -0
  134. data/share/views/public/plugins/tablesorter/docs/example-pager.html +329 -0
  135. data/share/views/public/plugins/tablesorter/docs/example-parsers.html +112 -0
  136. data/share/views/public/plugins/tablesorter/docs/example-trigger-sort.html +113 -0
  137. data/share/views/public/plugins/tablesorter/docs/example-triggers.html +336 -0
  138. data/share/views/public/plugins/tablesorter/docs/example-update-cell.html +118 -0
  139. data/share/views/public/plugins/tablesorter/docs/example-widgets.html +383 -0
  140. data/share/views/public/plugins/tablesorter/docs/img/external.png +0 -0
  141. data/share/views/public/plugins/tablesorter/docs/index.html +576 -0
  142. data/share/views/public/plugins/tablesorter/docs/js/docs.js +23 -0
  143. data/share/views/public/plugins/tablesorter/docs/js/examples.js +29 -0
  144. data/share/views/public/plugins/tablesorter/jquery-latest.js +154 -0
  145. data/share/views/public/plugins/tablesorter/jquery.metadata.js +122 -0
  146. data/share/views/public/plugins/tablesorter/jquery.tablesorter.js +1031 -0
  147. data/share/views/public/plugins/tablesorter/jquery.tablesorter.min.js +4 -0
  148. data/share/views/public/plugins/tablesorter/tests/assets/ajax-content.html +28 -0
  149. data/share/views/public/plugins/tablesorter/tests/cell.metadata.html +112 -0
  150. data/share/views/public/plugins/tablesorter/tests/checkbox.html +117 -0
  151. data/share/views/public/plugins/tablesorter/tests/colspan.html +149 -0
  152. data/share/views/public/plugins/tablesorter/tests/demo.html +353 -0
  153. data/share/views/public/plugins/tablesorter/tests/index.html +22 -0
  154. data/share/views/public/plugins/tablesorter/tests/large.html +30 -0
  155. data/share/views/public/plugins/tablesorter/tests/lockedOrder.html +355 -0
  156. data/share/views/public/plugins/tablesorter/tests/metadata.html +320 -0
  157. data/share/views/public/plugins/tablesorter/tests/multiple-headers.html +67 -0
  158. data/share/views/public/plugins/tablesorter/tests/pager.html +553 -0
  159. data/share/views/public/plugins/tablesorter/themes/blue/asc.gif +0 -0
  160. data/share/views/public/plugins/tablesorter/themes/blue/bg.gif +0 -0
  161. data/share/views/public/plugins/tablesorter/themes/blue/blue.zip +0 -0
  162. data/share/views/public/plugins/tablesorter/themes/blue/desc.gif +0 -0
  163. data/share/views/public/plugins/tablesorter/themes/blue/style.css +39 -0
  164. data/share/views/public/plugins/tablesorter/themes/green/asc.png +0 -0
  165. data/share/views/public/plugins/tablesorter/themes/green/bg.png +0 -0
  166. data/share/views/public/plugins/tablesorter/themes/green/desc.png +0 -0
  167. data/share/views/public/plugins/tablesorter/themes/green/green.zip +0 -0
  168. data/share/views/public/plugins/tablesorter/themes/green/style.css +39 -0
  169. data/share/views/public/plugins/wz_jsgraphics.js +1108 -0
  170. data/share/views/public/tmp/foo +0 -0
  171. data/share/views/result.haml +6 -1
  172. data/share/views/step_error.haml +5 -0
  173. data/share/views/user_lists.haml +8 -7
  174. data/share/views/wait.haml +40 -2
  175. metadata +302 -106
  176. data/share/views/compass/screen.sass +0 -8
  177. data/share/views/public/plugins/jquery/js/jquery-1.6.2.min.js +0 -18
@@ -0,0 +1,128 @@
1
+ a.entity_list
2
+ text-decoration: none
3
+
4
+ select.loaded_lists
5
+ max-width: 300px
6
+
7
+ #lists
8
+ display: none
9
+ position: absolute
10
+ top: 2.3em
11
+ right: 27px
12
+ width: auto
13
+ min-width: 300px
14
+ padding: 20px
15
+ padding-left: 30px
16
+ background-color: #fefefe
17
+ border: solid 1px $bit_darker
18
+ z-index: 10
19
+
20
+ #entity_list_menu
21
+ a
22
+ +button_link()
23
+
24
+ h5.loaded_lists
25
+ margin: 5px 0px
26
+ font-style: italic
27
+
28
+ ul.entity_list
29
+ li
30
+ display: block
31
+
32
+ a.remove_list, a.select_list
33
+ font-size: 0.7em
34
+ +button_link
35
+
36
+ a.view_list
37
+ margin-left: 10px
38
+ text-decoration: none
39
+
40
+
41
+ .list_header
42
+ margin-bottom: 20px
43
+ header
44
+ font-size: 1.7em
45
+ margin-bottom: 20px
46
+ span.list_id
47
+ font-style: italic
48
+
49
+ .list_control
50
+ +clean_list
51
+ display: inline
52
+ li
53
+ a
54
+ +button_link()
55
+
56
+ dl.user_lists
57
+ dd
58
+ margin-top: $vspace
59
+
60
+ ul.user_list
61
+ +clean_list(false)
62
+ & > li
63
+ +clear_floats
64
+ margin-top: $vspace / 2
65
+ margin-left: $indent
66
+
67
+ ul.list_control
68
+ +clear_floats
69
+ float: right
70
+ display: inline
71
+ li
72
+ position: relative
73
+ top: -3px
74
+
75
+ //{{{
76
+
77
+ .edit_list_forms
78
+ margin-left: $indent
79
+ form
80
+ margin-top: $vspace
81
+ input, select
82
+ float: right
83
+ min-width: 270px
84
+ input[type=submit]
85
+ min-width: 0px
86
+ width: 150px
87
+ margin-right: $indent
88
+ margin-bottom: $vspace * 2
89
+
90
+ .list_info
91
+ margin-left: $indent
92
+
93
+ ul.entity_list_elements
94
+ +clean_list(false)
95
+ margin-left: $indent
96
+ & > li
97
+ margin-top: $indent
98
+ ul.entity_controls
99
+ float: right
100
+
101
+ div.compare_list
102
+ +border_radius(4px, 4px)
103
+ position: absolute
104
+ top: - 2 * $vspace
105
+ left: $indent
106
+ background-color: white
107
+ border: solid 1px $bit_darker
108
+ padding: $indent $vspace
109
+ a.close_compare_list
110
+ +button_link()
111
+ position: absolute
112
+ top: $vspace
113
+ right: $indent
114
+ font-size: 0.7em
115
+
116
+ ul
117
+ +clean_list(false)
118
+ li
119
+ margin-top: $indent
120
+ span
121
+ margin-left: $indent
122
+ a
123
+ margin-right: $indent
124
+ font-size: 0.7em
125
+ float: left
126
+ +button_link()
127
+
128
+
@@ -0,0 +1,35 @@
1
+ #menu
2
+ padding: 5px
3
+ font-size: 0.9em
4
+ overflow: auto
5
+ overflow-x: hidden
6
+ +column(5)
7
+ ul
8
+ +clean_list
9
+ li
10
+ display: block
11
+
12
+ .workflow_menu
13
+ margin-bottom: 20px
14
+
15
+ .embedded
16
+ margin-top: $vspace
17
+
18
+ ul.context_control
19
+ +clean_list(true)
20
+ height: 2em
21
+ li
22
+ float: left
23
+ padding: 3px
24
+ margin-left: 5px
25
+
26
+
27
+ ul.job_control
28
+ +clean_list(true)
29
+ height: 2em
30
+ li
31
+ float: right
32
+ padding: 3px
33
+ margin-right: 15px
34
+
35
+
@@ -0,0 +1,52 @@
1
+ a.edit_note, a.back_note, a.delete_note
2
+ +button_link()
3
+
4
+ dl.notes
5
+ margin-left: $indent
6
+
7
+ div.note
8
+ margin-top: $vspace
9
+
10
+ ul.note_list
11
+ +clean_list()
12
+ li
13
+ display: block
14
+ margin-left: $indent
15
+ margin-top: $vspace
16
+ margin-bottom: $vspace
17
+ span.note
18
+ margin-left: $indent
19
+ a
20
+ text-decoration: none
21
+
22
+ ul.note_controls
23
+ +clean_list()
24
+ display: inline
25
+ li
26
+ &[shared=true]
27
+ li.share
28
+ display: none
29
+ li.unshare
30
+ display: visible
31
+ &[shared=false]
32
+ li.share
33
+ display: visible
34
+ li.unshare
35
+ display: none
36
+
37
+
38
+ a
39
+ +button_link()
40
+
41
+ div.sneak_peek
42
+ margin-top: $vspace / 2
43
+ font-family: serif
44
+ border: solid 1px gray
45
+ text-overflow: ellipsis
46
+ overflow: hidden
47
+ padding: 0.5em
48
+ max-height: 1.2em
49
+
50
+ div.news
51
+ margin-top: $vspace
52
+ margin-bottom: $vspace
@@ -0,0 +1,8 @@
1
+ $screen_size: 1024px
2
+ $scroll_padding: 22px
3
+ $indent: 12px
4
+ $vspace: 1.2em
5
+ $body_size: $screen_size
6
+ $content_size: $screen_size - $scroll_padding - $indent * 4
7
+
8
+ $font_size: 12px
@@ -0,0 +1,22 @@
1
+ table tfoot
2
+ text-align: left
3
+ h3
4
+ display: inline-block
5
+ margin: 0
6
+ margin-top: $vspace / 2
7
+ width: 8em
8
+ input, select
9
+ margin-left: 1em
10
+ margin-right: 1em
11
+ &.pnum, &.psize
12
+ width: 3em
13
+
14
+ table td
15
+ word-spacing: 5px
16
+
17
+ thead th
18
+ color: white
19
+ background: black
20
+
21
+ table.sortable thead th
22
+ cursor: pointer
@@ -0,0 +1,9 @@
1
+ span.status
2
+ margin-right: $indent
3
+
4
+ ul.messages
5
+ margin: auto
6
+ +clean_list(false)
7
+ li.message
8
+ margin-left: $indent
9
+ color: gray
@@ -1,39 +1,50 @@
1
- %a(href="/entity_list/#{ type }/#{ id }") View
2
-
3
- %form(action="#{File.join('/entity_list', type, 'copy', id)}" method='post')
4
- %label Copy as:
5
- %input(name='new_id')
6
- %input(type='submit')
7
-
8
- %form(action="#{File.join('/entity_list', type, 'add', id)}" method='post')
9
- %label Add other list:
10
- %select.loaded_lists(name="other_list" type=type)
11
- %input(type='submit')
12
-
13
- %form(action="#{File.join('/entity_list', type, 'subset', id)}" method='post')
14
- %label Subset other list:
15
- %select.loaded_lists(name="other_list" type=type)
16
- %input(type='submit')
17
-
18
- %form(action="#{File.join('/entity_list', type, 'remove', id)}" method='post')
19
- %label Remove other list:
20
- %select.loaded_lists(name="other_list" type=type)
21
- %input(type='submit')
22
-
23
-
24
- %ul.entity_list
1
+ %header
2
+ %a.entity_list(href="/entity_list/#{ entity_type }/#{ id }")= id
3
+
4
+ .edit_list_forms
5
+ %form(action="#{File.join('/entity_list', entity_type, 'copy', id)}" method='post')
6
+ %label Copy as:
7
+ %input(name='new_id')
8
+ %input(type='submit')
9
+
10
+ %form(action="#{File.join('/entity_list', entity_type, 'add', id)}" method='post')
11
+ %label Add other list:
12
+ %select.loaded_lists(name="other_list" type=entity_type)
13
+ %input(type='submit')
14
+
15
+ %form(action="#{File.join('/entity_list', entity_type, 'subset', id)}" method='post')
16
+ %label Subset other list:
17
+ %select.loaded_lists(name="other_list" type=entity_type)
18
+ %input(type='submit')
19
+
20
+ %form(action="#{File.join('/entity_list', entity_type, 'remove', id)}" method='post')
21
+ %label Remove other list:
22
+ %select.loaded_lists(name="other_list" type=entity_type)
23
+ %input(type='submit')
24
+
25
+ %ul.entity_list_elements
25
26
  - list.each do |entity|
26
- - values = {}
27
- - types = {}
28
- - entity.info.each{|k,v| values[k] = String === v ? v : v.to_json; types[k] = :string }
29
-
30
27
  %li(id="#{entity.id}")
31
28
  = entity.respond_to?(:link) ? entity.link : entity
32
- \.
33
- %a.DELETE.remove_entity_from_list(rel="#{entity.id}" href="/entity_list/#{ type }/#{ entity }/#{ id }") remove
29
+
30
+ %ul.entity_controls
31
+ %li
32
+ %a.DELETE.remove_entity_from_list(rel="#{entity.id}" href="/entity_list/#{ entity_type }/#{ entity }/#{ id }") remove
33
+
34
+ -# values = {}
35
+ -# types = {}
36
+ -# entity.info.each{|k,v| values[k] = String === v ? v : v.to_json; types[k] = :string }
34
37
  -#- form_id = "edit_entity_#{id}_#{entity.to_s}".gsub(/\s/, '_')
35
38
  -#%a.open_edit_controls(href="#edit_controls" ref=form_id) edit
36
39
  -#.edit_controls
37
40
  -# - action = File.join("/entity_list", type, entity, id)
38
41
  -# = workflow_partial('partials/_form', workflow, :values => values, :inputs => values.keys, :input_types => types, :action => action, :method => "post", :id => form_id)
39
42
 
43
+ .list_info
44
+
45
+ %h4 Additional annotation information
46
+ %p
47
+ - info = list.info
48
+ = info.to_json
49
+
50
+
@@ -10,6 +10,7 @@
10
10
  - term_genes = Organism.gene_go_bp(organism).tsv(:persist => true, :key_field => "GO ID", :fields => ["Ensembl Gene ID"], :type => :flat, :merge => true)[entity]
11
11
  - Gene.setup(term_genes, "Ensembl Gene ID", organism)
12
12
  %dl
13
-
14
- %dt All genes
15
- %dd= term_genes.link * ", "
13
+ %dt
14
+ All Genes in pathway
15
+ == (#{ term_genes.ensembl.list_link :length, "Genes for GO term #{entity.name}"})
16
+ %dd= term_genes.from_kegg.link * ", "
@@ -7,7 +7,14 @@
7
7
  %dt Description
8
8
  %dd= entity.description
9
9
 
10
- %a(href="http://jun2011.archive.ensembl.org/Homo_sapiens/Gene/Summary?g=#{entity.to "Ensembl Gene ID"}")= entity.to "Ensembl Gene ID"
10
+ %dd Isoforms
11
+ - isoforms = entity.transcripts.protein.compact
12
+ - if isoforms.respond_to? :link
13
+ %dd= isoforms.link * ", "
14
+ - else
15
+ %dd= isoforms * ", "
11
16
 
17
+
18
+ %a(href="http://#{Misc.ensembl_server(entity.organism)}/Homo_sapiens/Gene/Summary?g=#{entity.to "Ensembl Gene ID"}")= entity.to "Ensembl Gene ID"
12
19
  %a(href="http://www.ncbi.nlm.nih.gov/gene/#{entity.to "Entrez Gene ID"}")= entity.to "Entrez Gene ID"
13
20
 
@@ -1,3 +1,6 @@
1
+ - raise "No organism code defined. Try Hsa for current human build; add '?organism=Hsa' to your url." if entity.organism.nil? or (String === entity.organism and entity.organism.empty?)
2
+
3
+
1
4
  %h3= entity
2
5
 
3
6
  %p== reference base: #{entity.reference}
@@ -9,7 +12,7 @@
9
12
  %a(href="#{entity.ensembl_browser}") Ensembl Browser
10
13
 
11
14
  %ul
12
- - (entity.mutated_isoforms || []).select{|mi| mi.consequence != "SYNONYMOUS"}.each do |mi|
15
+ - (entity.mutated_isoforms || []).reject{|mi| mi.synonymous}.each do |mi|
13
16
  %li
14
17
  = mi.link
15
18
  %span.note
@@ -9,7 +9,7 @@
9
9
  %dt
10
10
  All Genes in pathway
11
11
  == (#{ genes_in_pathway.ensembl.list_link :length, "Genes in pathway #{entity.name}"})
12
- %dd= genes_in_pathway.from_kegg.link * ", "
12
+ %dd= genes_in_pathway.from_kegg.compact.link * ", "
13
13
 
14
14
  %img(src='http://www.genome.jp/kegg/pathway/hsa/#{entity}.png' style='width:100%;float:left;margin-right:10px;margin-botton:10px;' title='Click to see KEGG entry')
15
15
 
@@ -1,15 +1,72 @@
1
- %h1= entity
2
- = entity.action_link 'marked_svg', "Protein overview", :link_options => {:extra_classes => "replace"}
1
+ - if entity =~ /ENST/
2
+ %header== #{entity} (#{entity.transcript.gene.link})
3
+ - else
4
+ %header== #{entity} (#{entity.protein.gene.link})
3
5
 
4
- %dl
5
- %dt MutationAssesor prediction
6
- %dd= entity.damage_scores([:mutation_assessor])
6
+ %dl
7
7
 
8
- %dt SIFT prediction
9
- %dd= entity.damage_scores([:sift])
8
+ - if entity.protein.gene.description
9
+ %dt Description
10
+ %dd= entity.protein.gene.description
10
11
 
12
+ %dt Length
13
+ %dd= entity.protein.sequence.length
14
+
15
+ - pos = entity.position
16
+ - if entity.truncated
17
+ - ablated_domains = entity.ablated_domain_positions
18
+ - if ablated_domains.any?
19
+ %dt Ablated IntePro domains
20
+ %dd
21
+ %ul
22
+ - ablated_domains.each do |domain,s,e|
23
+ %li
24
+ - InterProDomain.setup(domain, entity.organism)
25
+ - pfam = domain.pfam
26
+ - if pfam
27
+ == #{domain.link} (#{pfam.link pfam}) [#{s} - #{e}]
28
+ - else
29
+ == #{domain.link} [#{s} - #{e}]
30
+
31
+
32
+ - else
33
+ - affected_domains = entity.affected_domain_positions
34
+ - if affected_domains.any?
35
+ %dt Affected IntePro domain
36
+ %dd
37
+ %ul
38
+ - affected_domains.each do |domain,pos,s,e|
39
+ %li
40
+ - InterProDomain.setup(domain, entity.organism)
41
+ - pfam = domain.pfam
42
+ - if pfam
43
+ == #{domain.link} (#{pfam.link pfam}) [Aprox. AA number #{ pos } in range #{s} #{e}]
44
+ - else
45
+ == #{domain.link} [Aprox. AA number #{ pos } in range #{s} #{e}]
46
+
47
+ %dt MutationAssesor prediction
48
+ %dd= entity.damage_scores([:mutation_assessor])
49
+
50
+ %dt SIFT prediction
51
+ %dd= entity.damage_scores([:sift])
52
+
53
+ %dt Sequence
54
+ %dd(style='font-family: Andale Mono, monospace')
55
+ - dec = 0
56
+ = ((1..10).to_a * 5).collect{|i| i == 10 ? "<span style='color:red'>#{ dec += 1 }</span>" : i} * ""
57
+ %br
58
+ %br
59
+ - sequence = ""
60
+ - entity.protein.sequence.scan(/.{1,50}/).each_with_index do |line, i|
61
+ - if i == entity.position / 50
62
+ - line[entity.position % 50 - 1] = "<span style='color:red'>#{line[entity.position % 50 - 1]}</span>"
63
+ - sequence += "<span class='line'>" + line + "</span><span class='line_count' style='margin-left: 5px'>#{i + 1}</span><br/>"
64
+ %span.sequence= sequence
65
+
66
+ = entity.action_link 'marked_svg', "Protein overview", :link_options => {:extra_classes => "replace"}
67
+
68
+ - if entity.pdbs and entity.pdbs.any?
69
+ = entity.action_link 'pdbs', "Mutation over pdbs", :link_options => {:extra_classes => "replace"}
70
+ - else
71
+ %p No pdbs found
11
72
 
12
- - if entity.pdbs and entity.pdbs.any?
13
- = entity.action_link 'pdbs', "Mutation over pdbs", :link_options => {:extra_classes => "replace"}
14
- - else
15
- No pdbs found