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.
- data/lib/rbbt/workflow/rest.rb +365 -95
- data/lib/rbbt/workflow/rest/client.rb +2 -0
- data/lib/rbbt/workflow/rest/entity.rb +82 -76
- data/lib/rbbt/workflow/rest/finder.rb +78 -0
- data/lib/rbbt/workflow/rest/helpers.rb +288 -47
- data/lib/rbbt/workflow/rest/notes.rb +125 -0
- data/lib/rbbt/workflow/rest/render.rb +280 -240
- data/lib/rbbt/workflow/rest/util.rb +47 -31
- data/share/views/compass/_base.sass +0 -8
- data/share/views/compass/colors.sass +10 -0
- data/share/views/compass/colors/ventana_azul.sass +5 -0
- data/share/views/compass/compass.config +2 -1
- data/share/views/compass/details.sass +50 -0
- data/share/views/compass/dom.sass +64 -0
- data/share/views/compass/embedded.sass +111 -0
- data/share/views/compass/entities.sass +8 -0
- data/share/views/compass/error.sass +13 -0
- data/share/views/compass/finder.sass +42 -0
- data/share/views/compass/fonts.sass +8 -0
- data/share/views/compass/form.sass +49 -1
- data/share/views/compass/header.sass +68 -0
- data/share/views/compass/{main.sass → helpers.sass} +53 -21
- data/share/views/compass/layout.sass +31 -199
- data/share/views/compass/lists.sass +128 -0
- data/share/views/compass/menu.sass +35 -0
- data/share/views/compass/notes.sass +52 -0
- data/share/views/compass/sizes.sass +8 -0
- data/share/views/compass/tables.sass +22 -0
- data/share/views/compass/wait.sass +9 -0
- data/share/views/edit_list.haml +41 -30
- data/share/views/entity/GOTerm.haml +4 -3
- data/share/views/entity/Gene.haml +8 -1
- data/share/views/entity/GenomicMutation.haml +4 -1
- data/share/views/entity/KeggPathway.haml +1 -1
- data/share/views/entity/MutatedIsoform.haml +68 -11
- data/share/views/entity/NCIBioCartaPathway.haml +2 -3
- data/share/views/entity/NCINaturePathway.haml +3 -3
- data/share/views/entity/NCIReactomePathway.haml +2 -3
- data/share/views/entity/PfamDomain.haml +2 -0
- data/share/views/entity/Transcript.haml +10 -0
- data/share/views/entity_list/Default.haml +4 -0
- data/share/views/entity_list/Default/compare_to_other_lists.haml +41 -0
- data/share/views/entity_list/Default/entity_links.haml +6 -0
- data/share/views/entity_list/Default/find_in_other_lists.haml +36 -0
- data/share/views/error.haml +6 -1
- data/share/views/find.haml +10 -0
- data/share/views/form.haml +1 -1
- data/share/views/info.haml +1 -1
- data/share/views/js/_action_setup.js +250 -0
- data/share/views/js/_basic.js +269 -0
- data/share/views/js/_cytoscape.js +44 -0
- data/share/views/js/_details.js +239 -0
- data/share/views/js/_dom_updates.js +384 -0
- data/share/views/js/_embedded.js +95 -0
- data/share/views/js/_images.js +20 -0
- data/share/views/js/_layout.js +21 -0
- data/share/views/js/_lists.js +224 -0
- data/share/views/js/_table.js +36 -0
- data/share/views/js/_workflow.js +42 -0
- data/share/views/js/app.js +0 -570
- data/share/views/js/fix_tablesorter_scientific.js +25 -0
- data/share/views/js/json2.js +487 -0
- data/share/views/layout.haml +8 -98
- data/share/views/notes.haml +15 -0
- data/share/views/partials/_form.haml +22 -7
- data/share/views/partials/_job_control.haml +8 -8
- data/share/views/partials/_list_control.haml +32 -0
- data/share/views/partials/_list_header.haml +6 -0
- data/share/views/partials/_note_list.haml +64 -0
- data/share/views/partials/_result_table.haml +12 -7
- data/share/views/partials/_result_table_controls.haml +11 -5
- data/share/views/partials/_table.haml +24 -6
- data/share/views/partials/layout/_coda.haml +10 -0
- data/share/views/partials/layout/_details.haml +25 -0
- data/share/views/partials/layout/_head.haml +22 -0
- data/share/views/partials/layout/_header.haml +29 -0
- data/share/views/partials/layout/_menu.haml +20 -0
- data/share/views/partials/layout/_resources.haml +41 -0
- data/share/views/public/background.png +0 -0
- data/share/views/public/plugins/cytoscape-web/LICENSE.txt +504 -0
- data/share/views/public/plugins/cytoscape-web/README.txt +213 -0
- data/share/views/public/plugins/cytoscape-web/js/AC_OETags.js +1 -0
- data/share/views/public/plugins/cytoscape-web/js/cytoscapeweb.js +1 -0
- data/share/views/public/plugins/cytoscape-web/js/json2.js +1 -0
- data/share/views/public/plugins/cytoscape-web/swf/CytoscapeWeb.swf +0 -0
- data/share/views/public/plugins/cytoscape-web/swf/playerProductInstall.swf +0 -0
- data/share/views/public/plugins/fancybox/CHANGELOG.md +68 -0
- data/share/views/public/plugins/fancybox/README.md +220 -0
- data/share/views/public/plugins/fancybox/css/blank.gif +0 -0
- data/share/views/public/plugins/fancybox/css/fancybox_loading.gif +0 -0
- data/share/views/public/plugins/fancybox/css/fancybox_sprite.png +0 -0
- data/share/views/public/plugins/fancybox/css/jquery.fancybox.css +234 -0
- data/share/views/public/plugins/fancybox/helpers/fancybox_buttons.png +0 -0
- data/share/views/public/plugins/fancybox/helpers/jquery.fancybox-buttons.css +85 -0
- data/share/views/public/plugins/fancybox/helpers/jquery.fancybox-buttons.js +115 -0
- data/share/views/public/plugins/fancybox/helpers/jquery.fancybox-media.js +85 -0
- data/share/views/public/plugins/fancybox/helpers/jquery.fancybox-thumbs.css +54 -0
- data/share/views/public/plugins/fancybox/helpers/jquery.fancybox-thumbs.js +157 -0
- data/share/views/public/plugins/fancybox/js/jquery.fancybox.js +1463 -0
- data/share/views/public/plugins/fancybox/js/jquery.mousewheel-3.0.6.pack.js +13 -0
- data/share/views/public/plugins/fancybox/lib/jquery-1.7.2.min.js +4 -0
- data/share/views/public/plugins/featuredimagezoomer/css/featuredimagezoomer.css +8 -0
- data/share/views/public/plugins/featuredimagezoomer/images/spinningred.gif +0 -0
- data/share/views/public/plugins/featuredimagezoomer/js/featuredimagezoomer.js +245 -0
- data/share/views/public/plugins/jquery-ui.hitarea.js +173 -0
- data/share/views/public/plugins/jquery/js/jquery-1.8.0.min.js +2 -0
- data/share/views/public/plugins/tablesorter/addons/pager/jquery.tablesorter.pager.css +25 -0
- data/share/views/public/plugins/tablesorter/addons/pager/jquery.tablesorter.pager.js +184 -0
- data/share/views/public/plugins/tablesorter/build.xml +26 -0
- data/share/views/public/plugins/tablesorter/build/ParseMaster.js +106 -0
- data/share/views/public/plugins/tablesorter/build/js.jar +0 -0
- data/share/views/public/plugins/tablesorter/build/jsmin.js +316 -0
- data/share/views/public/plugins/tablesorter/build/min.js +5 -0
- data/share/views/public/plugins/tablesorter/build/pack.js +5 -0
- data/share/views/public/plugins/tablesorter/build/packer.js +316 -0
- data/share/views/public/plugins/tablesorter/build/writeFile.js +19 -0
- data/share/views/public/plugins/tablesorter/changelog +41 -0
- data/share/views/public/plugins/tablesorter/docs/assets/ajax-content.html +43 -0
- data/share/views/public/plugins/tablesorter/docs/css/jq.css +29 -0
- data/share/views/public/plugins/tablesorter/docs/example-ajax.html +119 -0
- data/share/views/public/plugins/tablesorter/docs/example-empty-table.html +75 -0
- data/share/views/public/plugins/tablesorter/docs/example-extending-defaults.html +109 -0
- data/share/views/public/plugins/tablesorter/docs/example-meta-headers.html +108 -0
- data/share/views/public/plugins/tablesorter/docs/example-meta-parsers.html +105 -0
- data/share/views/public/plugins/tablesorter/docs/example-meta-sort-list.html +107 -0
- data/share/views/public/plugins/tablesorter/docs/example-option-debug.html +116 -0
- data/share/views/public/plugins/tablesorter/docs/example-option-digits.html +106 -0
- data/share/views/public/plugins/tablesorter/docs/example-option-sort-force.html +107 -0
- data/share/views/public/plugins/tablesorter/docs/example-option-sort-key.html +108 -0
- data/share/views/public/plugins/tablesorter/docs/example-option-sort-list.html +108 -0
- data/share/views/public/plugins/tablesorter/docs/example-option-sort-order.html +108 -0
- data/share/views/public/plugins/tablesorter/docs/example-option-text-extraction.html +85 -0
- data/share/views/public/plugins/tablesorter/docs/example-options-headers.html +118 -0
- data/share/views/public/plugins/tablesorter/docs/example-pager.html +329 -0
- data/share/views/public/plugins/tablesorter/docs/example-parsers.html +112 -0
- data/share/views/public/plugins/tablesorter/docs/example-trigger-sort.html +113 -0
- data/share/views/public/plugins/tablesorter/docs/example-triggers.html +336 -0
- data/share/views/public/plugins/tablesorter/docs/example-update-cell.html +118 -0
- data/share/views/public/plugins/tablesorter/docs/example-widgets.html +383 -0
- data/share/views/public/plugins/tablesorter/docs/img/external.png +0 -0
- data/share/views/public/plugins/tablesorter/docs/index.html +576 -0
- data/share/views/public/plugins/tablesorter/docs/js/docs.js +23 -0
- data/share/views/public/plugins/tablesorter/docs/js/examples.js +29 -0
- data/share/views/public/plugins/tablesorter/jquery-latest.js +154 -0
- data/share/views/public/plugins/tablesorter/jquery.metadata.js +122 -0
- data/share/views/public/plugins/tablesorter/jquery.tablesorter.js +1031 -0
- data/share/views/public/plugins/tablesorter/jquery.tablesorter.min.js +4 -0
- data/share/views/public/plugins/tablesorter/tests/assets/ajax-content.html +28 -0
- data/share/views/public/plugins/tablesorter/tests/cell.metadata.html +112 -0
- data/share/views/public/plugins/tablesorter/tests/checkbox.html +117 -0
- data/share/views/public/plugins/tablesorter/tests/colspan.html +149 -0
- data/share/views/public/plugins/tablesorter/tests/demo.html +353 -0
- data/share/views/public/plugins/tablesorter/tests/index.html +22 -0
- data/share/views/public/plugins/tablesorter/tests/large.html +30 -0
- data/share/views/public/plugins/tablesorter/tests/lockedOrder.html +355 -0
- data/share/views/public/plugins/tablesorter/tests/metadata.html +320 -0
- data/share/views/public/plugins/tablesorter/tests/multiple-headers.html +67 -0
- data/share/views/public/plugins/tablesorter/tests/pager.html +553 -0
- data/share/views/public/plugins/tablesorter/themes/blue/asc.gif +0 -0
- data/share/views/public/plugins/tablesorter/themes/blue/bg.gif +0 -0
- data/share/views/public/plugins/tablesorter/themes/blue/blue.zip +0 -0
- data/share/views/public/plugins/tablesorter/themes/blue/desc.gif +0 -0
- data/share/views/public/plugins/tablesorter/themes/blue/style.css +39 -0
- data/share/views/public/plugins/tablesorter/themes/green/asc.png +0 -0
- data/share/views/public/plugins/tablesorter/themes/green/bg.png +0 -0
- data/share/views/public/plugins/tablesorter/themes/green/desc.png +0 -0
- data/share/views/public/plugins/tablesorter/themes/green/green.zip +0 -0
- data/share/views/public/plugins/tablesorter/themes/green/style.css +39 -0
- data/share/views/public/plugins/wz_jsgraphics.js +1108 -0
- data/share/views/public/tmp/foo +0 -0
- data/share/views/result.haml +6 -1
- data/share/views/step_error.haml +5 -0
- data/share/views/user_lists.haml +8 -7
- data/share/views/wait.haml +40 -2
- metadata +302 -106
- data/share/views/compass/screen.sass +0 -8
- 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,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
|
data/share/views/edit_list.haml
CHANGED
@@ -1,39 +1,50 @@
|
|
1
|
-
%
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
%
|
6
|
-
|
7
|
-
|
8
|
-
%
|
9
|
-
|
10
|
-
%
|
11
|
-
|
12
|
-
|
13
|
-
%
|
14
|
-
|
15
|
-
%
|
16
|
-
|
17
|
-
|
18
|
-
%
|
19
|
-
|
20
|
-
%
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
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
|
-
%
|
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
|
-
|
15
|
-
|
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
|
-
%
|
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 || []).
|
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
|
-
|
2
|
-
|
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
|
-
|
9
|
-
|
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
|