sequenceserver 0.8.2 → 0.8.3
Sign up to get free protection for your applications and to get access to all the features.
- data/public/css/custom.css +0 -25
- data/public/js/sequenceserver.js +0 -23
- data/sequenceserver.gemspec +1 -1
- data/views/search.erb +0 -1
- metadata +66 -45
- data/lib/sequenceserver/web_blast/public/favicon.ico +0 -0
- data/lib/sequenceserver/web_blast/public/js/sequenceserver.sequence-viewer.js +0 -83
- data/public/js/jquery.index.js +0 -67
data/public/css/custom.css
CHANGED
@@ -190,31 +190,6 @@ span.highlight {
|
|
190
190
|
border: 1px solid transparent;
|
191
191
|
}
|
192
192
|
|
193
|
-
ul.index {
|
194
|
-
list-style: none;
|
195
|
-
position: fixed;
|
196
|
-
margin-left: 710px;
|
197
|
-
padding: 15px;
|
198
|
-
width: 200px;
|
199
|
-
top: 5px;
|
200
|
-
}
|
201
|
-
|
202
|
-
ul.index li {
|
203
|
-
padding: 3%;
|
204
|
-
}
|
205
|
-
|
206
|
-
ul.index li.focussed {
|
207
|
-
background-color: #08C;
|
208
|
-
}
|
209
|
-
|
210
|
-
ul.index li.focussed a {
|
211
|
-
color: white;
|
212
|
-
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
|
213
|
-
}
|
214
|
-
|
215
|
-
ul.index li:visited {
|
216
|
-
}
|
217
|
-
|
218
193
|
div.focussed {
|
219
194
|
border: 1px solid black;
|
220
195
|
}
|
data/public/js/sequenceserver.js
CHANGED
@@ -244,21 +244,9 @@ $(document).ready(function(){
|
|
244
244
|
$('#blast').addClass('detached-bottom');
|
245
245
|
$('#underbar').addClass('detached-top');
|
246
246
|
|
247
|
-
//generate index
|
248
|
-
$('.resultn').index({container: '.results'});
|
249
|
-
|
250
247
|
//jump to the results
|
251
248
|
location.hash = hash;
|
252
249
|
|
253
|
-
$('#result').
|
254
|
-
scrollspy().
|
255
|
-
on('enter.scrollspy', function () {
|
256
|
-
$('.index').removeAttr('style');
|
257
|
-
}).
|
258
|
-
on('leave.scrollspy', function () {
|
259
|
-
$('.index').css({position: 'absolute', top: $(this).offset().top});
|
260
|
-
});
|
261
|
-
|
262
250
|
$('.resultn').
|
263
251
|
scrollspy({
|
264
252
|
approach: screen.height / 4
|
@@ -295,17 +283,6 @@ $(document).ready(function(){
|
|
295
283
|
return false;
|
296
284
|
});
|
297
285
|
|
298
|
-
$('.results').
|
299
|
-
on('add.index', function (event, index) {
|
300
|
-
// make way for index
|
301
|
-
$('#result').css({width: '660px'});
|
302
|
-
|
303
|
-
$(index).addClass('box');
|
304
|
-
}).
|
305
|
-
on('remove.index', function () {
|
306
|
-
$('#result').removeAttr('style');
|
307
|
-
});
|
308
|
-
|
309
286
|
(function (store) {
|
310
287
|
try {
|
311
288
|
var visits = store.get('visits') || 0;
|
data/sequenceserver.gemspec
CHANGED
data/views/search.erb
CHANGED
@@ -14,7 +14,6 @@
|
|
14
14
|
<script type="text/javascript" src="<%= uri('/js/jquery.enablePlaceholder.min.js') %>"></script>
|
15
15
|
<script type="text/javascript" src="<%= uri('/js/jquery.activity.js') %>"></script>
|
16
16
|
<script type="text/javascript" src="<%= uri('/js/jquery.scrollspy.js') %>"></script>
|
17
|
-
<script type="text/javascript" src="<%= uri('/js/jquery.index.js') %>"></script>
|
18
17
|
<script type="text/javascript" src="<%= uri('/js/bootstrap.transition.js') %>"></script>
|
19
18
|
<script type="text/javascript" src="<%= uri('/js/bootstrap.dropdown.js') %>"></script>
|
20
19
|
<script type="text/javascript" src="<%= uri('/js/bootstrap.modal.js') %>"></script>
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sequenceserver
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -11,11 +11,11 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date:
|
14
|
+
date: 2013-03-06 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: bundler
|
18
|
-
requirement:
|
18
|
+
requirement: !ruby/object:Gem::Requirement
|
19
19
|
none: false
|
20
20
|
requirements:
|
21
21
|
- - ~>
|
@@ -23,10 +23,15 @@ dependencies:
|
|
23
23
|
version: 1.2.0
|
24
24
|
type: :runtime
|
25
25
|
prerelease: false
|
26
|
-
version_requirements:
|
26
|
+
version_requirements: !ruby/object:Gem::Requirement
|
27
|
+
none: false
|
28
|
+
requirements:
|
29
|
+
- - ~>
|
30
|
+
- !ruby/object:Gem::Version
|
31
|
+
version: 1.2.0
|
27
32
|
- !ruby/object:Gem::Dependency
|
28
33
|
name: sinatra
|
29
|
-
requirement:
|
34
|
+
requirement: !ruby/object:Gem::Requirement
|
30
35
|
none: false
|
31
36
|
requirements:
|
32
37
|
- - ~>
|
@@ -34,10 +39,15 @@ dependencies:
|
|
34
39
|
version: 1.3.0
|
35
40
|
type: :runtime
|
36
41
|
prerelease: false
|
37
|
-
version_requirements:
|
42
|
+
version_requirements: !ruby/object:Gem::Requirement
|
43
|
+
none: false
|
44
|
+
requirements:
|
45
|
+
- - ~>
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 1.3.0
|
38
48
|
- !ruby/object:Gem::Dependency
|
39
49
|
name: ptools
|
40
|
-
requirement:
|
50
|
+
requirement: !ruby/object:Gem::Requirement
|
41
51
|
none: false
|
42
52
|
requirements:
|
43
53
|
- - ! '>='
|
@@ -45,10 +55,15 @@ dependencies:
|
|
45
55
|
version: '0'
|
46
56
|
type: :runtime
|
47
57
|
prerelease: false
|
48
|
-
version_requirements:
|
58
|
+
version_requirements: !ruby/object:Gem::Requirement
|
59
|
+
none: false
|
60
|
+
requirements:
|
61
|
+
- - ! '>='
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: '0'
|
49
64
|
- !ruby/object:Gem::Dependency
|
50
65
|
name: minitest
|
51
|
-
requirement:
|
66
|
+
requirement: !ruby/object:Gem::Requirement
|
52
67
|
none: false
|
53
68
|
requirements:
|
54
69
|
- - ! '>='
|
@@ -56,10 +71,15 @@ dependencies:
|
|
56
71
|
version: '0'
|
57
72
|
type: :development
|
58
73
|
prerelease: false
|
59
|
-
version_requirements:
|
74
|
+
version_requirements: !ruby/object:Gem::Requirement
|
75
|
+
none: false
|
76
|
+
requirements:
|
77
|
+
- - ! '>='
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: '0'
|
60
80
|
- !ruby/object:Gem::Dependency
|
61
81
|
name: rack-test
|
62
|
-
requirement:
|
82
|
+
requirement: !ruby/object:Gem::Requirement
|
63
83
|
none: false
|
64
84
|
requirements:
|
65
85
|
- - ! '>='
|
@@ -67,7 +87,12 @@ dependencies:
|
|
67
87
|
version: '0'
|
68
88
|
type: :development
|
69
89
|
prerelease: false
|
70
|
-
version_requirements:
|
90
|
+
version_requirements: !ruby/object:Gem::Requirement
|
91
|
+
none: false
|
92
|
+
requirements:
|
93
|
+
- - ! '>='
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '0'
|
71
96
|
description: ! 'SequenceServer lets you rapidly set up a BLAST+ server with an intuitive
|
72
97
|
user interface for use locally or over the web.
|
73
98
|
|
@@ -78,51 +103,48 @@ executables:
|
|
78
103
|
extensions: []
|
79
104
|
extra_rdoc_files: []
|
80
105
|
files:
|
81
|
-
- lib/sequenceserver.rb
|
82
|
-
- lib/sequenceserver/database_formatter.rb
|
83
|
-
- lib/sequenceserver/sequencehelpers.rb
|
106
|
+
- lib/sequenceserver/blast.rb
|
84
107
|
- lib/sequenceserver/customisation.rb
|
108
|
+
- lib/sequenceserver/database.rb
|
109
|
+
- lib/sequenceserver/database_formatter.rb
|
85
110
|
- lib/sequenceserver/helpers.rb
|
111
|
+
- lib/sequenceserver/sequencehelpers.rb
|
86
112
|
- lib/sequenceserver/sinatralikeloggerformatter.rb
|
87
|
-
- lib/sequenceserver/blast.rb
|
88
|
-
- lib/sequenceserver/web_blast/public/favicon.ico
|
89
|
-
- lib/sequenceserver/web_blast/public/js/sequenceserver.sequence-viewer.js
|
90
113
|
- lib/sequenceserver/version.rb
|
91
|
-
- lib/sequenceserver
|
92
|
-
- views/search.erb
|
114
|
+
- lib/sequenceserver.rb
|
93
115
|
- views/500.erb
|
94
116
|
- views/_options.erb
|
95
|
-
-
|
96
|
-
- public/
|
117
|
+
- views/search.erb
|
118
|
+
- public/css/bootstrap.dropdown.css
|
97
119
|
- public/css/bootstrap.icons.css
|
98
|
-
- public/css/bootstrap.modal.css
|
99
120
|
- public/css/bootstrap.min.css
|
100
|
-
- public/css/bootstrap.
|
121
|
+
- public/css/bootstrap.modal.css
|
101
122
|
- public/css/custom.css
|
102
|
-
- public/
|
103
|
-
- public/
|
104
|
-
- public/js/bootstrap.transition.js
|
105
|
-
- public/js/jquery.ui.js
|
106
|
-
- public/js/bootstrap.modal.js
|
123
|
+
- public/img/glyphicons-halflings-white.png
|
124
|
+
- public/img/glyphicons-halflings.png
|
107
125
|
- public/js/bootstrap.dropdown.js
|
108
|
-
- public/js/
|
109
|
-
- public/js/
|
110
|
-
- public/js/sequenceserver.js
|
126
|
+
- public/js/bootstrap.modal.js
|
127
|
+
- public/js/bootstrap.transition.js
|
111
128
|
- public/js/jquery.activity.js
|
112
|
-
- public/js/
|
129
|
+
- public/js/jquery.enablePlaceholder.min.js
|
130
|
+
- public/js/jquery.js
|
113
131
|
- public/js/jquery.scrollspy.js
|
114
|
-
-
|
115
|
-
-
|
116
|
-
-
|
117
|
-
-
|
118
|
-
- tests/database/protein/Sinvicta2-2-3.prot.subset.fasta.psq
|
119
|
-
- tests/database/protein/Sinvicta2-2-3.prot.subset.fasta.phr
|
132
|
+
- public/js/jquery.ui.js
|
133
|
+
- public/js/sequenceserver.blast.js
|
134
|
+
- public/js/sequenceserver.js
|
135
|
+
- public/js/store.min.js
|
120
136
|
- tests/database/nucleotide/Sinvicta2-2-3.cdna.subset.fasta
|
121
|
-
- tests/database/nucleotide/Sinvicta2-2-3.cdna.subset.fasta.nsq
|
122
|
-
- tests/database/nucleotide/Sinvicta2-2-3.cdna.subset.fasta.nin
|
123
137
|
- tests/database/nucleotide/Sinvicta2-2-3.cdna.subset.fasta.nhr
|
124
|
-
- tests/
|
138
|
+
- tests/database/nucleotide/Sinvicta2-2-3.cdna.subset.fasta.nin
|
139
|
+
- tests/database/nucleotide/Sinvicta2-2-3.cdna.subset.fasta.nsq
|
140
|
+
- tests/database/protein/Sinvicta2-2-3.prot.subset.fasta
|
141
|
+
- tests/database/protein/Sinvicta2-2-3.prot.subset.fasta.phr
|
142
|
+
- tests/database/protein/Sinvicta2-2-3.prot.subset.fasta.pin
|
143
|
+
- tests/database/protein/Sinvicta2-2-3.prot.subset.fasta.psq
|
125
144
|
- tests/run
|
145
|
+
- tests/test_sequencehelpers.rb
|
146
|
+
- tests/test_sequenceserver_blast.rb
|
147
|
+
- tests/ui.specs.todo
|
126
148
|
- config.ru
|
127
149
|
- example.config.yml
|
128
150
|
- LICENSE.txt
|
@@ -130,8 +152,7 @@ files:
|
|
130
152
|
- README.txt
|
131
153
|
- Gemfile
|
132
154
|
- sequenceserver.gemspec
|
133
|
-
-
|
134
|
-
YmluL3NlcXVlbmNlc2VydmVy
|
155
|
+
- bin/sequenceserver
|
135
156
|
homepage: http://sequenceserver.com
|
136
157
|
licenses:
|
137
158
|
- SequenceServer (custom)
|
@@ -156,7 +177,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
156
177
|
version: '0'
|
157
178
|
requirements: []
|
158
179
|
rubyforge_project:
|
159
|
-
rubygems_version: 1.8.
|
180
|
+
rubygems_version: 1.8.23
|
160
181
|
signing_key:
|
161
182
|
specification_version: 3
|
162
183
|
summary: BLAST search made easy!
|
Binary file
|
@@ -1,83 +0,0 @@
|
|
1
|
-
/*global SS*/
|
2
|
-
|
3
|
-
/*
|
4
|
-
Sequence viewer: given URL of a sequence, use Bootstrap Modal to load that
|
5
|
-
sequence from the server and present it to the users.
|
6
|
-
*/
|
7
|
-
SS.sequence_viewer = (function () {
|
8
|
-
|
9
|
-
var sequence_viewer = $('#sequence-viewer').modal({ show: false });
|
10
|
-
|
11
|
-
var _object = {};
|
12
|
-
|
13
|
-
_object.download_link = function (value) {
|
14
|
-
|
15
|
-
var element = sequence_viewer.find('#download_link');
|
16
|
-
|
17
|
-
if (value) {
|
18
|
-
element.attr('href', value);
|
19
|
-
return this;
|
20
|
-
}
|
21
|
-
else {
|
22
|
-
return element;
|
23
|
-
}
|
24
|
-
};
|
25
|
-
|
26
|
-
_object.sequences = function (value) {
|
27
|
-
|
28
|
-
var element = sequence_viewer.find('#sequences');
|
29
|
-
|
30
|
-
if (value) {
|
31
|
-
element.html(value);
|
32
|
-
return this;
|
33
|
-
}
|
34
|
-
else {
|
35
|
-
return element;
|
36
|
-
}
|
37
|
-
};
|
38
|
-
|
39
|
-
_object.show = function () {
|
40
|
-
|
41
|
-
sequence_viewer.modal('show');
|
42
|
-
};
|
43
|
-
|
44
|
-
_object.dismiss = function () {
|
45
|
-
|
46
|
-
sequence_viewer.modal('hide');
|
47
|
-
};
|
48
|
-
|
49
|
-
_object.render = function (sequence, download_link) {
|
50
|
-
|
51
|
-
this.sequence(sequence);
|
52
|
-
this.download_link(download_link);
|
53
|
-
this.show();
|
54
|
-
};
|
55
|
-
|
56
|
-
_object.load = function (sequence) {
|
57
|
-
var url = sequence.attr('href');
|
58
|
-
var ddl = sequence.attr('data-download');
|
59
|
-
|
60
|
-
var render = $.proxy(_object, render);
|
61
|
-
$.get(url)
|
62
|
-
.done(function (sequence) {
|
63
|
-
render(sequence, ddl);
|
64
|
-
})
|
65
|
-
.failure(function (jqXHR) {
|
66
|
-
if (!jqXHR.responseText) {
|
67
|
-
$("#error-no-response").modal();
|
68
|
-
}
|
69
|
-
});
|
70
|
-
};
|
71
|
-
|
72
|
-
return function () {
|
73
|
-
function F() {}
|
74
|
-
F.protoype = _object;
|
75
|
-
return new F();
|
76
|
-
};
|
77
|
-
}());
|
78
|
-
|
79
|
-
//sequence_viewer.download_link().on('click', function (event) {
|
80
|
-
//this.dismiss();
|
81
|
-
//return true;
|
82
|
-
//});
|
83
|
-
|
data/public/js/jquery.index.js
DELETED
@@ -1,67 +0,0 @@
|
|
1
|
-
;(function ($) {
|
2
|
-
var defaults = {
|
3
|
-
threshold: 1
|
4
|
-
};
|
5
|
-
|
6
|
-
/*
|
7
|
-
Generate an index from the selected elements and add to or replace it
|
8
|
-
in the given container element.
|
9
|
-
|
10
|
-
Events:
|
11
|
-
|
12
|
-
add.index:
|
13
|
-
|
14
|
-
After the index has been created and added to the container.
|
15
|
-
|
16
|
-
remove.index:
|
17
|
-
|
18
|
-
When an index on the selected element is removed.
|
19
|
-
|
20
|
-
Options:
|
21
|
-
|
22
|
-
threshold:
|
23
|
-
|
24
|
-
Maximum number of elements selected with 'map' for which no
|
25
|
-
index is to be created. Or the index should be deleted if
|
26
|
-
already exists.
|
27
|
-
|
28
|
-
container:
|
29
|
-
|
30
|
-
A jQuery selector. The index is appended to or deleted from
|
31
|
-
the container.
|
32
|
-
|
33
|
-
Usage:
|
34
|
-
|
35
|
-
$('.resultn').index({container: '.results'})
|
36
|
-
|
37
|
-
*/
|
38
|
-
$.fn.index = function (options) {
|
39
|
-
var options = $.extend({}, defaults, options);
|
40
|
-
var container = $(options.container);
|
41
|
-
|
42
|
-
if (this.length > options.threshold) {
|
43
|
-
var entries = this.map(function () {
|
44
|
-
var id = $(this).attr('id');
|
45
|
-
var sid = (id.length > 25) ? (id.slice(0, 22) + ' ...') : id // sid => short/display id :P
|
46
|
-
return '<li><a href="#' + id + '" title="' + id + '">' + sid + '</a></li>';
|
47
|
-
});
|
48
|
-
|
49
|
-
var index = $('<ul class="index">' + entries.get().join('') + '</ul>');
|
50
|
-
|
51
|
-
// remove previous index if any
|
52
|
-
container.find('.index').remove();
|
53
|
-
container.trigger('remove.index');
|
54
|
-
|
55
|
-
// add the new one
|
56
|
-
container.append(index);
|
57
|
-
container.trigger('add.index', index);
|
58
|
-
}
|
59
|
-
else {
|
60
|
-
// remove previous index if any
|
61
|
-
container.find('.index').remove();
|
62
|
-
container.trigger('remove.index');
|
63
|
-
}
|
64
|
-
|
65
|
-
return this;
|
66
|
-
}
|
67
|
-
})(jQuery);
|