Skip to content

Commit

Permalink
Merge branch 'release/3.1.1'
Browse files Browse the repository at this point in the history
  • Loading branch information
bmesuere committed Feb 1, 2016
2 parents aedffdf + 86fbe11 commit 5ce9617
Show file tree
Hide file tree
Showing 13 changed files with 110 additions and 20 deletions.
12 changes: 8 additions & 4 deletions README.md
Expand Up @@ -32,17 +32,21 @@ We will probably use [docker](https://www.docker.io/) for this, and release a re
## Who made this app?

Unipept is a research project of the computational biology group at Ghent University. If you use this application, please cite:
* Mesuere et al. (2016) Bioinformatics [doi:10.1093/bioinformatics/btw039](http://dx.doi.org/10.1093/bioinformatics/btw039)
* Mesuere et al. (2015) Proteomics [doi:10.1002/pmic.201400361](http://dx.doi.org/10.1002/pmic.201400361)
* Mesuere et al. (2012) J. Proteome Res. [doi:10.1021/pr300576s](http://dx.doi.org/10.1021/pr300576s)

The following people contributed to this project:
Current team:
* Bart Mesuere ([@bmesuere](https://github.com/bmesuere)): PhD student and lead developer
* Felix Van der Jeugt ([@NoctuaNivalis](https://github.com/NoctuaNivalis)): PhD student and Master's student 2014-2015
* Peter Dawyndt ([@pdawyndt](https://github.com/pdawyndt)): Group leader and PhD supervisor
* Peter Vandamme: PhD co-supervisor
* Bart Devreese: PhD co-supervisor

Other contributions from:
* Tom Naessens ([@silox](https://github.com/silox)): Master's student 2014-2015
* Felix Van der Jeugt ([@FelixVanderJeugt](https://github.com/FelixVanderJeugt)): Master's student 2014-2015
* Toon Willems ([@nudded](https://github.com/nudded)): Master's student 2013-2014
* Ewan Higgs ([@ehiggs](https://github.com/ehiggs)): Ghent University HPC team
* Peter Vandamme: PhD co-supervisor
* Bart Devreese: PhD co-supervisor


For code contributions, the [contributors graph](https://github.com/unipept/unipept/graphs/contributors) is the place to be.
Binary file added app/assets/images/publications-2016.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions app/assets/javascripts/peptidome/genomeSelector.js
Expand Up @@ -656,12 +656,12 @@ var constructGenomeSelector = function constructGenomeSelector(args) {
};

/**
* Searches for all complete Acinetobacter baumannii proteomes and adds them
* Searches for all Lactococcus lactis proteomes and adds them
*/
that.demo = function demo() {
addAll = true;
$("#genomeSelectorSearch").tokenfield('setTokens', [
{"label":"Acinetobacter baumannii","value":"taxon:470"}
{"label":"Lactococcus lactis","value":"taxon:1358"}
]);
};

Expand Down
2 changes: 1 addition & 1 deletion app/assets/javascripts/peptidome/pancore.js
Expand Up @@ -218,7 +218,7 @@ var constructPancore = function constructPancore(args) {
$("#save-data").click(function clickSaveData() {
var activeObject,
tracking;
if ($(".tab-content .active").attr('id') === "pancore_graph_wrapper") {
if (getActiveTab() === "pancore_graph") {
activeObject = graph;
tracking = "graph";
} else {
Expand Down
19 changes: 18 additions & 1 deletion app/assets/javascripts/workers/pancore_worker.js
Expand Up @@ -815,7 +815,7 @@ function getJSONByPost(url, data, callback) {
}

function genomeSimilarity(peptideList1, peptideList2) {
var intersect = intersection(peptideList1, peptideList2).length,
var intersect = intersectionSize(peptideList1, peptideList2),
union = peptideList1.length + peptideList2.length - intersect,
min = Math.min(peptideList1.length, peptideList2.length),
max = Math.max(peptideList1.length, peptideList2.length),
Expand Down Expand Up @@ -945,6 +945,23 @@ function intersection(a, b) {
}
return r;
}
function intersectionSize(a, b) {
var size = 0,
i = 0,
j = 0;
while (i < a.length && j < b.length) {
if (a[i] < b[j]) {
i++;
} else if (a[i] > b[j]) {
j++;
} else {
size++;
i++;
j++;
}
}
return size;
}

/**
* Delta decodes an array of integers IN PLACE
Expand Down
2 changes: 2 additions & 0 deletions app/views/api/apidocs/index.html.erb
Expand Up @@ -18,6 +18,8 @@
<dd>Returns the taxonomic information for a given taxon identifier</dd>
</dl>

<p>If you use this API, please cite Mesuere et al. (2016) Bioinformatics <a href="http://dx.doi.org/10.1093/bioinformatics/btw039" target="_blank">doi:10.1093/bioinformatics/btw039</a></p>

<div class='card'>
<div class='card-title card-title-colored'>
<h2 class='card-title-text'>API functions</h2>
Expand Down
2 changes: 1 addition & 1 deletion app/views/api/clidocs/casestudy_tpa.html.erb
Expand Up @@ -10,7 +10,7 @@
</div>
<div class='card-supporting-text'>
<p>
Because most proteins are simply to large to be analysed using a mass spectrometer, they are usually cleaved into smaller peptides before the actual MS analysis takes place. In practice, most proteomics studies achieve such a cleavage by adding trypsin to a protein sample. Trypsin is a serine protease found in the digestive system of humans and many other vertebrates, where it helps to digest food proteins. The enzyme has a very specific function — it only cleaves <a href='http://en.wikipedia.org/wiki/Peptide' target='_blank'>peptide</a> chains at the <a href='http://en.wikipedia.org/wiki/Carboxyl' target='_blank'>carboxyl</a> side of the <a href='http://en.wikipedia.org/wiki/Amino_acids' target='_blank'>amino acids</a> <a href='http://en.wikipedia.org/wiki/Lysine' target='_blank'>lysine</a> (represented by the letter <code>K</code>) or <a href='http://en.wikipedia.org/wiki/Arginine' target='_blank'>arginine</a> (represented by the letter <code>R</code>). As a result, it is commonly used in biological research during <a href='http://en.wikipedia.org/wiki/Proteomics' target='_blank'>proteomics</a> experiments to digest proteins into peptides for mass spectrometry analysis, e.g., <a href='http://en.wikipedia.org/wiki/In-gel_digestion' target='_blank'>in-gel digestion</a>.
Because most proteins are simply too large to be analysed using a mass spectrometer, they are usually cleaved into smaller peptides before the actual MS analysis takes place. In practice, most proteomics studies achieve such a cleavage by adding trypsin to a protein sample. Trypsin is a serine protease found in the digestive system of humans and many other vertebrates, where it helps to digest food proteins. The enzyme has a very specific function — it only cleaves <a href='http://en.wikipedia.org/wiki/Peptide' target='_blank'>peptide</a> chains at the <a href='http://en.wikipedia.org/wiki/Carboxyl' target='_blank'>carboxyl</a> side of the <a href='http://en.wikipedia.org/wiki/Amino_acids' target='_blank'>amino acids</a> <a href='http://en.wikipedia.org/wiki/Lysine' target='_blank'>lysine</a> (represented by the letter <code>K</code>) or <a href='http://en.wikipedia.org/wiki/Arginine' target='_blank'>arginine</a> (represented by the letter <code>R</code>). As a result, it is commonly used in biological research during <a href='http://en.wikipedia.org/wiki/Proteomics' target='_blank'>proteomics</a> experiments to digest proteins into peptides for mass spectrometry analysis, e.g., <a href='http://en.wikipedia.org/wiki/In-gel_digestion' target='_blank'>in-gel digestion</a>.
</p>
<p>
<i>High-performance liquid chromatography</i> (<span class='initialism'>HPLC</span>) is a <a href='http://en.wikipedia.org/wiki/Chromatography' target='_blank'>chromatographic</a> technique used to separate the components in a mixture, to identify each component, and to quantify each component. When combined with <i>shotgun tandem</i> mass spectrometric methods, the active proteins within a biological sample may be determined. A trypsin digest is used to cleave the proteins in a sample downstream to every <code>K</code> (lysine) or <code>R</code> (arginine), except when followed by <code>P</code> (proline). The individual components that result after the cleavage step are called <i>tryptic peptides</i>. The amino acid sequence of these tryptic peptides may then be determined by means of mass spectrometry. However, most devices have a detection limit that only allows to determine the amino acid sequence of peptides having a length between 5 and 50 amino acids (<a href='#figure-1'>Figure 1</a>).
Expand Down
9 changes: 7 additions & 2 deletions app/views/layouts/_footer.html.erb
Expand Up @@ -2,8 +2,13 @@
<div class="footer-block">
<div class="footer-ref">
<p>
<span>Mesuere et al. (2015) Proteomics</span>
<a href="http://dx.doi.org/10.1002/pmic.201400361" target="_blank">doi:10.1002/pmic.201400361</a>
<% if @header_class == "API" %>
<span>Mesuere et al. (2016) Bioinformatics</span>
<a target="_blank" href="http://dx.doi.org/10.1093/bioinformatics/btw039">doi:10.1093/bioinformatics/btw039</a>
<% else %>
<span>Mesuere et al. (2015) Proteomics</span>
<a href="http://dx.doi.org/10.1002/pmic.201400361" target="_blank">doi:10.1002/pmic.201400361</a>
<% end %>
</p>
</div>
&copy; <%= Date.today.year %> Universiteit Gent.
Expand Down
7 changes: 4 additions & 3 deletions app/views/pages/about.html.erb
Expand Up @@ -3,7 +3,7 @@
<div class="row">
<div class="col-xs-8">
<p>The Unipept web application supports biodiversity analysis of large and complex metaproteome samples. Its underlying index structure is designed to quickly retrieve all occurrences of a tryptic peptide in UniProt entries. Taxon-specificity of the tryptic peptide is successively derived from these occurrences using a novel lowest common ancestor approach that is robust against taxonomic misarrangements, misidentifications and inaccuracies. This application consists of four separate functionalities: the <a href="<%= search_single_path %>">Tryptic Peptide Analysis</a>, the <a href="<%= datasets_path %>">Metaproteomics Analysis</a>, the <a href="<%= peptide_finder_path %>">Unique Peptide Finder</a> and the <a href="<%= peptidome_clustering_path %>">Peptidome Clustering</a>.</p>
<p>The initial Unipept publication can be found at <a href="http://dx.doi.org/10.1021/pr300576s">Unipept: tryptic peptide-based biodiversity analysis of metaproteome samples</a>, a follow up publication can be found at <a href="http://dx.doi.org/10.1002/pmic.201400361">The Unipept Metaproteomics Analysis Pipeline</a></p>
<p>The initial Unipept publication can be found at <a href="http://dx.doi.org/10.1021/pr300576s">Unipept: tryptic peptide-based biodiversity analysis of metaproteome samples</a>, a follow up publication can be found at <a href="http://dx.doi.org/10.1002/pmic.201400361">The Unipept Metaproteomics Analysis Pipeline</a>. The API was published as <a href="http://dx.doi.org/10.1093/bioinformatics/btw039">Unipept Web Services for Metaproteomics Analysis</a>.</p>
<div class='card'>
<div class='card-title card-title-colored'>
<h2 class='card-title-text'>How to cite Unipept</h2>
Expand All @@ -13,8 +13,9 @@
If you use Unipept for your research, please cite:
</p>
<ul>
<li>Mesuere et al. (2015) Proteomics <a href="http://dx.doi.org/10.1002/pmic.201400361" target="_blank">doi:10.1002/pmic.201400361</a></li>
<li>Mesuere et al. (2012) J. Proteome Res. <a href="http://dx.doi.org/10.1021/pr300576s" target="_blank">doi:10.1021/pr300576s</a></li>
<li>API: Mesuere et al. (2016) Bioinformatics <a href="http://dx.doi.org/10.1093/bioinformatics/btw039" target="_blank">doi:10.1093/bioinformatics/btw039</a></li>
<li>General: Mesuere et al. (2015) Proteomics <a href="http://dx.doi.org/10.1002/pmic.201400361" target="_blank">doi:10.1002/pmic.201400361</a></li>
<li>General: Mesuere et al. (2012) J. Proteome Res. <a href="http://dx.doi.org/10.1021/pr300576s" target="_blank">doi:10.1021/pr300576s</a></li>
</ul>
</div>
</div>
Expand Down
39 changes: 35 additions & 4 deletions app/views/pages/publications.html.erb
@@ -1,6 +1,37 @@
<div class="publications">
<h1>Publications</h1>
<p class="lead">This page lists all Unipept peer-reviewed journal articles in reverse-chronological order.</p>

<div class='card'>
<div class='card-supporting-text'>
<h2>Unipept Web Services for Metaproteomics Analysis
<br>
<small>Bart Mesuere, Toon Willems, Felix Van der Jeugt, Bart Devreese, Peter Vandamme, and Peter Dawyndt</small></h2>
<div class="row">
<div class="col-xs-9">
<h3>Abstract</h3>
<p>Unipept is an open source web application that is designed for metaproteomics analysis with a focus on interactive datavisualization. It is underpinned by a fast index built from UniProtKB and the NCBI taxonomy that enables quick retrieval of all UniProt entries in which a given tryptic peptide occurs. Unipept version 2.4 introduced web services that provide programmatic access to the metaproteomics analysis features. This enables integration of Unipept functionality in custom applications and data processing pipelines. Availability and Implementation The web services are freely available at <a href="http://api.unipept.ugent.be" target="_blank">http://api.unipept.ugent.be</a> and are open sourced under the MIT license.</p>
<h3>Citation</h3>
<p class="citation">
<span class="authors">Bart Mesuere, Toon Willems, Felix Van der Jeugt, Bart Devreese, Peter Vandamme, and Peter Dawyndt</span><br>
<span class="title">Unipept Web Services for Metaproteomics Analysis</span><br>
<span class="journal">Bioinformatics, 2016</span><br>
<span class="link">
<span class="glyphicon glyphicon-link"></span> <a target="_blank" href="http://dx.doi.org/10.1093/bioinformatics/btw039">doi:10.1093/bioinformatics/btw039</a>
</span>
<span class="link">
<span class="glyphicon glyphicon-link"></span> <a target="_blank" href="https://scholar.google.be/scholar?cluster=6023517943371055318&hl=en&as_sdt=0,5">Google Scholar</a>
</span>
</p>
</div>
<div class="col-xs-3">
<a href="http://dx.doi.org/10.1093/bioinformatics/btw039" class="thumbnail">
<img src="<%= asset_path('publications-2016.jpg') %>" alt="Publication page 1">
</a>
</div>
</div>
</div>
</div>
<div class='card'>
<div class='card-supporting-text'>
<h2>The Unipept Metaproteomics Analysis Pipeline
Expand All @@ -16,10 +47,10 @@
<span class="title">The Unipept Metaproteomics Analysis Pipeline</span><br>
<span class="journal">Proteomics, 2015, 15 (8), pp 1437–1442</span><br>
<span class="link">
<i class="fa fa-link"></i> <a target="_blank" href="http://dx.doi.org/10.1002/pmic.201400361">doi:10.1002/pmic.201400361</a>
<span class="glyphicon glyphicon-link"></span> <a target="_blank" href="http://dx.doi.org/10.1002/pmic.201400361">doi:10.1002/pmic.201400361</a>
</span>
<span class="link">
<i class="fa fa-google"></i> <a target="_blank" href="https://scholar.google.be/scholar?cluster=4081421507601531351&hl=en&as_sdt=0,5">Google Scholar</a>
<span class="glyphicon glyphicon-link"></span> <a target="_blank" href="https://scholar.google.be/scholar?cluster=4081421507601531351&hl=en&as_sdt=0,5">Google Scholar</a>
</span>
</p>
</div>
Expand All @@ -46,10 +77,10 @@
<span class="title">Unipept: Tryptic Peptide-Based Biodiversity Analysis of Metaproteome Samples</span><br>
<span class="journal">J. Proteome Res., 2012, 11 (12), pp 5773–5780</span><br>
<span class="link">
<i class="fa fa-link"></i> <a target="_blank" href="http://dx.doi.org/10.1021/pr300576s">doi:10.1021/pr300576s</a>
<span class="glyphicon glyphicon-link"></span> <a target="_blank" href="http://dx.doi.org/10.1021/pr300576s">doi:10.1021/pr300576s</a>
</span>
<span class="link">
<i class="fa fa-google"></i> <a target="_blank" href="https://scholar.google.be/scholar?cluster=13083723326591523916&hl=en&as_sdt=2005&sciodt=0,5">Google Scholar</a>
<span class="glyphicon glyphicon-link"></span> <a target="_blank" href="https://scholar.google.be/scholar?cluster=13083723326591523916&hl=en&as_sdt=2005&sciodt=0,5">Google Scholar</a>
</span>
</p>
</div>
Expand Down
26 changes: 26 additions & 0 deletions backend/database/swap_databases.sql
@@ -0,0 +1,26 @@
drop table
ec_cross_references,
embl_cross_references,
go_cross_references,
lineages,
peptides,
refseq_cross_references,
sequences,
taxons,
uniprot_entries,
proteomes,
proteome_cross_references,
proteome_caches;

rename table unipept2.ec_cross_references to unipept.ec_cross_references;
rename table unipept2.embl_cross_references to unipept.embl_cross_references;
rename table unipept2.go_cross_references to unipept.go_cross_references;
rename table unipept2.lineages to unipept.lineages;
rename table unipept2.peptides to unipept.peptides;
rename table unipept2.refseq_cross_references to unipept.refseq_cross_references;
rename table unipept2.sequences to unipept.sequences;
rename table unipept2.taxons to unipept.taxons;
rename table unipept2.uniprot_entries to unipept.uniprot_entries;
rename table unipept2.proteomes to unipept.proteomes;
rename table unipept2.proteome_cross_references unipept.proteome_cross_references;
rename table unipept2.proteome_caches to unipept.proteome_caches;
4 changes: 2 additions & 2 deletions config/application.rb
Expand Up @@ -54,9 +54,9 @@ class Application < Rails::Application
config.assets.paths << "#{Rails}/vendor/assets/fonts"

config.versions = {
unipept: '3.1',
unipept: '3.1.1',
gem: '1.1.0',
uniprot: '2015.12'
uniprot: '2016.01'
}

config.api_host = 'api.unipept.ugent.be'
Expand Down
4 changes: 4 additions & 0 deletions tmp/cache/.gitignore
@@ -0,0 +1,4 @@
# Ignore everything in this directory
*
# Except this file
!.gitignore

0 comments on commit 5ce9617

Please sign in to comment.