sequenceserver 3.1.3 → 3.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.
- checksums.yaml +4 -4
- data/lib/sequenceserver/api_errors.rb +18 -0
- data/lib/sequenceserver/blast/hit.rb +1 -2
- data/lib/sequenceserver/blast/job.rb +15 -5
- data/lib/sequenceserver/blast/report.rb +5 -1
- data/lib/sequenceserver/database.rb +5 -1
- data/lib/sequenceserver/job.rb +26 -10
- data/lib/sequenceserver/makeblastdb.rb +2 -1
- data/lib/sequenceserver/routes.rb +37 -12
- data/lib/sequenceserver/version.rb +1 -1
- data/lib/sequenceserver/zip_file_generator.rb +1 -1
- data/public/404.html +8 -16
- data/public/css/app.css +794 -111
- data/public/css/app.min.css +1 -1
- data/public/css/sequenceserver.min.css +1 -8
- data/public/js/circos.js +103 -96
- data/public/{packages/circosJS@1.7.0.js → js/circosjs.js} +156 -778
- data/public/js/cloud_share_modal.js +55 -58
- data/public/js/collapse_preferences.js +13 -15
- data/public/js/databases.js +4 -3
- data/public/js/databases_tree.js +51 -30
- data/public/js/error_modal.js +35 -22
- data/public/js/exporter.js +2 -0
- data/public/js/form.js +43 -7
- data/public/js/grapher.js +94 -92
- data/public/js/hit.js +21 -19
- data/public/js/hits.js +45 -38
- data/public/js/hits_overview.js +8 -27
- data/public/js/hsp.js +140 -144
- data/public/js/jquery_world.js +24 -15
- data/public/js/kablammo.js +14 -10
- data/public/js/length_distribution.js +23 -37
- data/public/js/null_plugins/report_plugins.js +3 -5
- data/public/js/options.js +17 -19
- data/public/js/query.js +36 -35
- data/public/js/report/alignment_results.js +18 -0
- data/public/js/report/graphical_overview.js +38 -0
- data/public/js/report/report_header.js +28 -0
- data/public/js/report/run_summary.js +43 -0
- data/public/js/report.js +62 -102
- data/public/js/report_root.js +3 -3
- data/public/js/search.js +5 -2
- data/public/js/search_button.js +85 -78
- data/public/js/sequence.js +11 -22
- data/public/js/sequence_modal.js +38 -37
- data/public/js/share_url.js +5 -5
- data/public/js/sidebar.js +148 -86
- data/public/js/svgExporter.js +8 -3
- data/public/js/tests/form.spec.js +1 -1
- data/public/js/tests/visualisation_helpers.spec.js +28 -0
- data/public/js/visualisation_helpers.js +24 -27
- data/public/sequenceserver-report.min.js +1 -1
- data/public/sequenceserver-report.min.js.LICENSE.txt +1 -88
- data/public/sequenceserver-report.min.js.map +1 -1
- data/public/sequenceserver-search.min.js +1 -1
- data/public/sequenceserver-search.min.js.LICENSE.txt +0 -30
- data/public/sequenceserver-search.min.js.map +1 -1
- data/views/error.erb +1 -1
- data/views/layout.erb +123 -130
- data/views/report.erb +3 -2
- data/views/search.erb +10 -14
- metadata +13 -26
- data/public/css/fonts.css +0 -31
- data/public/css/grapher.css +0 -670
- data/public/css/sequenceserver.css +0 -509
- data/public/vendor/github/mbostock/d3@3.5.6/d3.js +0 -9506
- data/public/vendor/github/mbostock/d3@3.5.6.js +0 -1
- data/views/search_layout.erb +0 -153
|
@@ -1 +0,0 @@
|
|
|
1
|
-
module.exports = require("github:mbostock/d3@3.5.6/d3");
|
data/views/search_layout.erb
DELETED
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
|
|
4
|
-
<head>
|
|
5
|
-
<title>SequenceServer: Custom BLAST Server</title>
|
|
6
|
-
<meta name="author" content="Pragmatic Genomics Limited"/>
|
|
7
|
-
<meta charset="UTF-8">
|
|
8
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
9
|
-
<%= Rack::Csrf.metatag(env) %>
|
|
10
|
-
<link rel="stylesheet" media="screen,print" type="text/css" href="css/app.min.css"/>
|
|
11
|
-
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css" integrity="sha512-SnH5WK+bZxgPHs44uWIX+LLJAJ9/2PkPKZ5QiAj6Ta86w+fsb2TkcmfRyVX3pBnMFcV7oQPJkl9QevSCWr3W6A==" crossorigin="anonymous" referrerpolicy="no-referrer" />
|
|
12
|
-
</head>
|
|
13
|
-
|
|
14
|
-
<body>
|
|
15
|
-
<header id="header" class="bg-gray-100 shadow-lg w-full">
|
|
16
|
-
<div class="mx-auto max-w-7xl px-4 sm:px-6 lg:px-8">
|
|
17
|
-
<div class="flex flex-none items-center">
|
|
18
|
-
<div class="py-4">
|
|
19
|
-
<a href="https://sequenceserver.com" target="_blank" class="flex items-end">
|
|
20
|
-
<img src="sequenceserver_logo.webp" alt="sequenceserver_logo" width="1620" height="213" class="h-8 w-auto pr-2">
|
|
21
|
-
<small>
|
|
22
|
-
<%= SequenceServer::VERSION %>
|
|
23
|
-
</small>
|
|
24
|
-
</a>
|
|
25
|
-
</div>
|
|
26
|
-
|
|
27
|
-
<div class="flex-grow"></div>
|
|
28
|
-
<ul class="flex space-x-2">
|
|
29
|
-
<li>
|
|
30
|
-
<a
|
|
31
|
-
href="https://sequenceserver.com/progress-on-BLAST-interface/"
|
|
32
|
-
class="underline text-seqblue"
|
|
33
|
-
data-update-check
|
|
34
|
-
data-version="<%= SequenceServer::VERSION %>"
|
|
35
|
-
target="_blank">
|
|
36
|
-
</a>
|
|
37
|
-
</li>
|
|
38
|
-
<li>
|
|
39
|
-
<a
|
|
40
|
-
class="text-seqblue flex items-center"
|
|
41
|
-
target="_blank"
|
|
42
|
-
href="https://sequenceserver.com/support">
|
|
43
|
-
|
|
44
|
-
<i class="fa-solid fa-comment w-4 h-4 mr-1 fill-current"></i>
|
|
45
|
-
Help & Support
|
|
46
|
-
</a>
|
|
47
|
-
</li>
|
|
48
|
-
</ul>
|
|
49
|
-
</div>
|
|
50
|
-
</div>
|
|
51
|
-
</header>
|
|
52
|
-
|
|
53
|
-
<noscript>
|
|
54
|
-
<div class="mx-auto px-4">
|
|
55
|
-
<div class="bg-red-100 border border-red-400 text-red-700 px-4 py-3 rounded relative" role="alert">
|
|
56
|
-
<strong class="font-bold">Our website cannot work without JavaScript.</strong>
|
|
57
|
-
<ul class="mt-2 list-disc list-inside">
|
|
58
|
-
<li>Please see if you can enable JavaScript in your browser's preferences.</li>
|
|
59
|
-
<li>If your browser doesn't support JavaScript, please consider upgrading to the latest version or using Firefox or Chrome.</li>
|
|
60
|
-
</ul>
|
|
61
|
-
</div>
|
|
62
|
-
</div>
|
|
63
|
-
</noscript>
|
|
64
|
-
|
|
65
|
-
<%= yield %>
|
|
66
|
-
|
|
67
|
-
<div class="mx-auto px-4">
|
|
68
|
-
<div class="container mx-auto max-w-screen-xl">
|
|
69
|
-
<p class="text-center">
|
|
70
|
-
Please cite data sources and <a class="text-seqblue" href="https://doi.org/10.1093/molbev/msz185">the paper</a> describing <a class="text-seqblue" href="https://wurmlab.com">our</a> <a class="text-seqblue" href="https://sequenceserver.com">SequenceServer BLAST interface</a>.
|
|
71
|
-
<a class="text-seqblue" href='https://sequenceserver.com'>
|
|
72
|
-
<em>
|
|
73
|
-
<%=
|
|
74
|
-
quote = [
|
|
75
|
-
"Visualize BLAST results.",
|
|
76
|
-
"Run BLAST on local computer.",
|
|
77
|
-
"BLAST on Mac.",
|
|
78
|
-
"BLAST on Windows.",
|
|
79
|
-
"Run blast on mac.",
|
|
80
|
-
"Blast analysis software.",
|
|
81
|
-
"Sequence Search on local computer.",
|
|
82
|
-
"Blast DNA sequence search.",
|
|
83
|
-
"Custom BLAST search.",
|
|
84
|
-
"Install blast on Mac.",
|
|
85
|
-
"Perform BLAST analyses.",
|
|
86
|
-
"Custom BLAST web interface.",
|
|
87
|
-
"SequenceServer: Local BLAST with bespoke html interface.",
|
|
88
|
-
"Set up custom BLAST interface with SequenceServer.",
|
|
89
|
-
"Easy BLASTing with SequenceServer.",
|
|
90
|
-
"BLAST against a custom, local database with SequenceServer.",
|
|
91
|
-
"Cloud BLAST custom genome.",
|
|
92
|
-
"NCBI BLAST alternative.",
|
|
93
|
-
"BLAST private transcriptome assembly in the Cloud.",
|
|
94
|
-
"Cloud server for comparative genomics, oligos, crisp, primers and more."
|
|
95
|
-
].sample
|
|
96
|
-
%>
|
|
97
|
-
</em>
|
|
98
|
-
</a>
|
|
99
|
-
</p>
|
|
100
|
-
</div>
|
|
101
|
-
|
|
102
|
-
<script>
|
|
103
|
-
document.addEventListener('DOMContentLoaded', function() {
|
|
104
|
-
|
|
105
|
-
function suggestNewVersion(element, version) {
|
|
106
|
-
element.textContent = `New version v${version} is available`;
|
|
107
|
-
console.log(`New SequenceServer version available ${version}. Please consider updating.`)
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
const element = document.querySelector('[data-update-check]');
|
|
111
|
-
const currentVersion = element.getAttribute('data-version');
|
|
112
|
-
const cachedVersion = document.cookie.split(';').find((item) => item.trim().startsWith('newVersion='));
|
|
113
|
-
const upToDate = document.cookie.split(';').find((item) => item.trim().startsWith('versionIsLatest='));
|
|
114
|
-
if (upToDate) {
|
|
115
|
-
console.log('SequenceServer is up to date');
|
|
116
|
-
return;
|
|
117
|
-
}
|
|
118
|
-
if (cachedVersion) {
|
|
119
|
-
const newVersion = cachedVersion.split('=')[1];
|
|
120
|
-
if (newVersion !== currentVersion) {
|
|
121
|
-
suggestNewVersion(element, newVersion);
|
|
122
|
-
}
|
|
123
|
-
return;
|
|
124
|
-
}
|
|
125
|
-
console.log('Checking for new SequenceServer version...')
|
|
126
|
-
fetch(`https://updates.sequenceserver.com/?version=${currentVersion}`)
|
|
127
|
-
.then(response => {
|
|
128
|
-
if (response.ok) {
|
|
129
|
-
return response.json();
|
|
130
|
-
} else {
|
|
131
|
-
console.error('Failed to check for new SequenceServer version')
|
|
132
|
-
}
|
|
133
|
-
})
|
|
134
|
-
.then(data => {
|
|
135
|
-
const date = new Date();
|
|
136
|
-
date.setTime(date.getTime() + (24 * 60 * 60 * 1000));
|
|
137
|
-
const expires = "; expires=" + date.toUTCString();
|
|
138
|
-
|
|
139
|
-
if (data.update_available) {
|
|
140
|
-
const newVersion = data.new_version;
|
|
141
|
-
document.cookie = `newVersion=${newVersion}${expires}; path=/`;
|
|
142
|
-
suggestNewVersion(element, newVersion);
|
|
143
|
-
} else {
|
|
144
|
-
console.log('SequenceServer is up to date');
|
|
145
|
-
document.cookie = `versionIsLatest=true${expires}; path=/`;
|
|
146
|
-
}
|
|
147
|
-
})
|
|
148
|
-
.catch(() => {});
|
|
149
|
-
});
|
|
150
|
-
|
|
151
|
-
</script>
|
|
152
|
-
</body>
|
|
153
|
-
</html>
|