Unverified Commit eaa7f1a7 authored by Carlos Eduardo Ribas's avatar Carlos Eduardo Ribas Committed by GitHub
Browse files

Merge pull request #547 from RNAcentral/release-18

Release 18
parents 2daf6334 dc15f00b
name: Building Docker containers
on:
# Triggers the workflow on push, except for the master branch
push:
branches:
- '**'
- '!master'
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: docker login
env:
DOCKER_USER: ${{ secrets.DOCKER_USER }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
run: docker login -u $DOCKER_USER -p $DOCKER_PASSWORD
- name: Get branch name
if: github.event_name != 'pull_request'
shell: bash
run: echo "BRANCH_NAME=$(echo ${GITHUB_REF#refs/heads/} | tr / -)" >> $GITHUB_ENV
- name: docker build
if: env.BRANCH_NAME != ''
run: docker build -f Dockerfile-development -t rnacentral/rnacentral-webcode:${{ env.BRANCH_NAME }} .
- name: docker push
if: env.BRANCH_NAME != ''
run: docker push rnacentral/rnacentral-webcode:${{ env.BRANCH_NAME }}
......@@ -133,15 +133,15 @@ def export_search_results(query, _format, hits):
JSON requires special treatment in order to concatenate
multiple batches
"""
filename = os.path.join(EXPORT_RESULTS_DIR,
'%s.%s.gz' % (job.id, _format))
filename = os.path.join(EXPORT_RESULTS_DIR, '%s.%s.gz' % (job.id, _format))
start = 0
page_size = 100 # max EBI search page size
if _format in ['json', 'list']:
archive = gzip.open(filename, 'wb')
if _format == 'list':
archive = open(filename, 'wb')
if _format == 'json':
archive.write('[')
archive = gzip.open(filename, 'wb')
archive.write(b'[')
if _format == 'fasta':
f = tempfile.NamedTemporaryFile(delete=True, dir=EXPORT_RESULTS_DIR)
......@@ -154,7 +154,6 @@ def export_search_results(query, _format, hits):
for _id in rnacentral_ids:
f.write('{0}\n'.format(_id))
if _format == 'list':
archive.write('RNAcentral Ids: \n')
text = '\n'.join(rnacentral_ids) + '\n'
archive.write(text)
if _format == 'json':
......@@ -229,8 +228,11 @@ def download_search_result_file(request):
name = query[:max_length] + '_etc'
else:
name = query
filename = name + '.' + job.meta['format'] + extension
return get_valid_filename(filename)
if job.meta['format'] == 'list':
return get_valid_filename(name + '.' + job.meta['format'])
else:
return get_valid_filename(name + '.' + job.meta['format'] + extension)
def get_content_type():
"""
......
......@@ -66,7 +66,7 @@ expert_dbs = [
],
'imported': True,
'status': 'updated',
'version': '143',
'version': 'as of 7 June 2021',
},
{
'name': 'PDBe',
......@@ -91,7 +91,7 @@ expert_dbs = [
],
'imported': True,
'status': 'updated',
'version': 'as of December 20th, 2020',
'version': 'as of 17 May 2021',
},
{
'name': 'FlyBase',
......@@ -116,7 +116,7 @@ expert_dbs = [
],
'imported': True,
'status': 'updated',
'version': 'FB2020_06',
'version': 'FB2021_03',
},
{
'name': 'Ensembl',
......@@ -147,7 +147,7 @@ expert_dbs = [
],
'imported': True,
'status': 'updated',
'version': '102',
'version': '104',
},
{
'name': 'Ensembl Plants',
......@@ -172,7 +172,7 @@ expert_dbs = [
],
'imported': True,
'status': 'updated',
'version': '49',
'version': '51',
},
{
'name': 'Ensembl Fungi',
......@@ -197,7 +197,7 @@ expert_dbs = [
],
'imported': True,
'status': 'updated',
'version': '49',
'version': '51',
},
{
'name': 'Ensembl Metazoa',
......@@ -222,7 +222,7 @@ expert_dbs = [
],
'imported': True,
'status': 'updated',
'version': '49',
'version': '51',
},
{
'name': 'Ensembl Protists',
......@@ -247,7 +247,7 @@ expert_dbs = [
],
'imported': True,
'status': 'updated',
'version': '49',
'version': '51',
},
{
'name': 'Ensembl/GENCODE',
......@@ -272,7 +272,7 @@ expert_dbs = [
],
'imported': True,
'status': 'updated',
'version': 'human 37/mouse M26',
'version': 'human 38/mouse M27',
},
{
'name': 'Rfam',
......@@ -296,7 +296,7 @@ expert_dbs = [
},
],
'imported': True,
'status': 'updated',
'status': '',
'version': '14.2',
},
{
......@@ -502,7 +502,7 @@ expert_dbs = [
],
'imported': True,
'status': 'updated',
'version': '204', # ftp://ftp.ncbi.nlm.nih.gov/refseq/release/RELEASE_NUMBER
'version': '205', # ftp://ftp.ncbi.nlm.nih.gov/refseq/release/RELEASE_NUMBER
},
{
'name': 'RDP',
......@@ -583,7 +583,7 @@ expert_dbs = [
],
'imported': True,
'status': 'updated',
'version': '',
'version': 'as of 17 May 2021',
},
{
'name': 'Greengenes',
......@@ -792,8 +792,8 @@ expert_dbs = [
},
],
'imported': True,
'status': '',
'version': '',
'status': 'updated',
'version': 'as of 17 May 2021',
},
{
'name': 'RNApathwaysDB',
......@@ -832,7 +832,7 @@ expert_dbs = [
],
'imported': True,
'status': 'updated',
'version': 'r138',
'version': 'r138.1',
},
{
'name': 'SGD',
......@@ -856,8 +856,8 @@ expert_dbs = [
},
],
'imported': True,
'status': '',
'version': '',
'status': 'updated',
'version': 'as of 27 April 2021',
},
{
'name': 'snOPY',
......@@ -1219,7 +1219,7 @@ expert_dbs = [
],
'imported': True,
'status': 'updated',
'version': '',
'version': '1.1',
},
{
'name': 'snoDB',
......@@ -1293,8 +1293,8 @@ expert_dbs = [
},
],
'imported': True,
'status': '',
'version': '4.12',
'status': 'updated',
'version': '5.2',
},
{
'name': 'GeneCards',
......@@ -1318,8 +1318,8 @@ expert_dbs = [
},
],
'imported': True,
'status': '',
'version': '4.14',
'status': 'updated',
'version': '5.2',
},
{
'name': 'CRS',
......@@ -1342,7 +1342,7 @@ expert_dbs = [
},
],
'imported': True,
'status': 'updated',
'status': '',
'version': '2.1',
},
{
......@@ -1367,8 +1367,8 @@ expert_dbs = [
},
],
'imported': True,
'status': '',
'version': '',
'status': 'updated',
'version': 'as of 17 May 2021',
},
{
'name': 'ZFIN',
......@@ -1393,7 +1393,7 @@ expert_dbs = [
],
'imported': True,
'status': 'updated',
'version': '',
'version': 'as of 22 April 2021',
},
{
'name': 'snoRNA Atlas',
......
......@@ -44,7 +44,6 @@ class SecondaryStructureWithLayout(models.Model):
db_column='model_id',
to_field='id'
)
layout = models.TextField()
class Meta:
db_table = 'rnc_secondary_structure_layout'
......
......@@ -30,16 +30,20 @@ var rnaSequenceController = function($scope, $location, $window, $rootScope, $co
// Downloads tab shouldn't be clickable
$scope.checkTab = function ($event, $selectedIndex) {
let getUrl = window.location.href.split("?");
let getTab = getUrl[1];
if ($selectedIndex == 3) {
// don't call $event.stopPropagation() - we need the link on the tab to open a dropdown;
$event.preventDefault();
} else if ($selectedIndex == 0) {
// reload to avoid Genome Locations error when a page is initially opened in the 2D structure tab
window.location = getUrl[0];
} else if ($selectedIndex == 1 && typeof getTab !== "undefined") {
// remove tab paremeter
$location.search('tab', null);
}
};
$scope.clearUrlParams = function() {
$location.search('tab', null);
}
// This is terribly annoying quirk of ui-bootstrap that costed me a whole day of debugging.
// When it transcludes uib-tab-heading, it creates the following link:
//
......
......@@ -200,14 +200,38 @@ var textSearchResults = {
* Clean up SO term labels.
*/
ctrl.prettySoLabel = function(facetLabel) {
var exceptions = ['RNase_P_RNA', 'SRP_RNA', 'Y_RNA', 'RNase_MRP_RNA'];
if (exceptions.indexOf(facetLabel) === -1) {
var uppercase_exceptions = [
'C_D_box_snoRNA',
'H_ACA_box_snoRNA',
'RNase_MRP_RNA',
'RNase_P_RNA',
'SRP_RNA',
'U1_snRNA',
'U11_snRNA',
'U12_snRNA',
'U2_snRNA',
'U3_snoRNA',
'U4_snRNA',
'U4atac_snRNA',
'U5_snRNA',
'U6_snRNA',
'U6atac_snRNA',
'UTR_region',
'Y_RNA',
];
if (uppercase_exceptions.indexOf(facetLabel) === -1) {
facetLabel = facetLabel.charAt(0).toLowerCase() + facetLabel.slice(1);
}
if (facetLabel === 'lnc_RNA') {
facetLabel = 'lncRNA';
} else if (facetLabel === 'pre_miRNA') {
facetLabel = 'pre-miRNA';
} else if (facetLabel === 'C_D_box_snoRNA') {
facetLabel = 'C/D box snoRNA';
} else if (facetLabel === 'H_ACA_box_snoRNA') {
facetLabel = 'H/ACA box snoRNA';
} else if (facetLabel === 'RRNA_5_8S') {
facetLabel = 'rRNA 5.8S';
} else {
facetLabel = facetLabel.replace(/_/g, ' ');
}
......
......@@ -182,6 +182,13 @@
<li style="list-style-type: none;">
<input type="checkbox" name="child3.label" ng-checked="$ctrl.isFacetApplied('so_rna_type_name', child3.label)" ng-click="$ctrl.facetSearch('so_rna_type_name', child3.label)">
<a href="" ng-click="$ctrl.facetSearch('so_rna_type_name', child3.label)" class="text-search-facet-link">{{ $ctrl.prettySoLabel(child3.label) }} <small>({{ child3.count | number }})</small></a>
<span ng-if="child3.children.length > 0" ng-click="$ctrl.toggleSubFacets(child3.label)" id="toggle-{{child3.label}}" style="cursor: pointer;"><i class="fa fa-minus text-muted"></i></span>
<ul ng-if="child.children.length > 0" ng-repeat="child4 in child3.children" style="padding-left: 14px;">
<li style="list-style-type: none;">
<input type="checkbox" name="child4.label" ng-checked="$ctrl.isFacetApplied('so_rna_type_name', child4.label)" ng-click="$ctrl.facetSearch('so_rna_type_name', child4.label)">
<a href="" ng-click="$ctrl.facetSearch('so_rna_type_name', child4.label)" class="text-search-facet-link">{{ $ctrl.prettySoLabel(child4.label) }} <small>({{ child4.count | number }})</small></a>
</li>
</ul>
</li>
</ul>
</li>
......
......@@ -794,7 +794,49 @@ About RNAcentral
},
"text": {
"headline": "Release 17",
"text": "RNAcentral now includes piRBase as well as updated RNAse P diagrams <br> <a href='{{ blog_url }}'>Release announcement</a>"
"text": "RNAcentral now includes piRBase as well as updated RNAse P diagrams <br> <a href='https://blog.rnacentral.org/2021/03/rnacentral-release-17.html'>Release announcement</a>"
}
},
{
"media": {
"url": "{% static "img/timeline/r2dt-paper.png" %}",
"caption": "Paper in Nature Communications",
"credit": "Nature Communications"
},
"start_date": {
"month": "06",
"day": "09",
"year": "2021"
},
"end_date": {
"month": "06",
"day": "09",
"year": "2021"
},
"text": {
"headline": "New paper is out in Nature Communications",
"text": "A <a href='https://www.nature.com/articles/s41467-021-23555-5'>paper describing R2DT</a>, a new method for RNA secondary structure visualisation, has been published in Nature Communications."
}
},
{
"media": {
"url": "{% static "img/timeline/release-v18.png" %}",
"caption": "Release 18 features",
"credit": "RNAcentral"
},
"start_date": {
"month": "06",
"day": "25",
"year": "2021"
},
"end_date": {
"month": "06",
"day": "25",
"year": "2021"
},
"text": {
"headline": "Release 18",
"text": "RNAcentral includes an updated rRNA classification and >22 million RNA secondary structures <br> <a href='{{ blog_url }}'>Release announcement</a>"
}
},
]
......@@ -930,6 +972,12 @@ About RNAcentral
'expert_databases': 45,
'label': 'release 17',
},
{
'date': '25-06-21',
'sequence_count': 30752052,
'expert_databases': 45,
'label': 'release 18',
},
// select count(*) from rnc_rna_precomputed rrp where taxid is not null and is_active is true and is_fragment is false;
];
......
......@@ -83,7 +83,7 @@ URS00000A54A6 9606 OTTHUMT00000416802.1
## Example workflow to extract all bacterial rRNA sequences
The RNAcentral text search can only export up to 250,000 search results.
The RNAcentral text search can only export up to 1,000,000 search results.
If you need to export more sequences, you can use the following workflow:
1. Create a file `query.sql`:
......
......@@ -84,6 +84,13 @@ Use parentheses to group and nest logical terms.
---
## Download search results <a style="cursor: pointer" id="download" ng-click="scrollTo('download')" name="download" class="text-muted smaller"><i class="fa fa-link"></i></a>
The RNAcentral text search can only export up to 1,000,000 search results.
If you need to export more sequences, you can use the [public Postgres database](/help/public-database)
---
## RNAcentral CPB protocol
Our latest article describes different ways of accessing the data.
......
......@@ -37,7 +37,7 @@ limitations under the License.
<span class="icon-bar"></span>
</button>
<p class="navbar-text">
<span class="badge release-number">v17</span>
<span class="badge release-number">v18</span>
</p>
</div>
<div class="navbar-collapse collapse">
......@@ -80,7 +80,7 @@ limitations under the License.
<a class="dropdown-toggle" data-toggle="dropdown" href="">Tools<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="{% url 'sequence-search' %}">Sequence search</a></li>
<li><a href="{% url 'r2dt' %}">R2DT: RNA 2D Templates</a></li>
<li><a href="{% url 'r2dt' %}">R2DT: visualise RNA 2D structure</a></li>
<li><a href="{% url 'help-public-database' %}">Public Postgres database</a></li>
<li><a href="{% url 'genome-browser' %}">Genome browser</a></li>
</ul>
......
......@@ -93,7 +93,7 @@ RNAcentral: The non-coding RNA sequence database
<div class="row">
<p class="text-center col-md-8 col-md-offset-2">
RNAcentral contains <a href='/search?q=has_secondary_structure:"True"'><strong>over 14 million secondary structures</strong></a> displayed using standard layouts, including SSU and LSU rRNA, and over 2,600 Rfam families. <a href="/help/secondary-structure">Learn more &rarr;</a>
RNAcentral contains <a href='/search?q=has_secondary_structure:"True"'><strong>over 22 million secondary structures</strong></a> displayed using standard layouts, including SSU and LSU rRNA, and over 2,600 Rfam families. <a href="/help/secondary-structure">Learn more &rarr;</a>
</p>
</div>
......@@ -178,7 +178,7 @@ RNAcentral: The non-coding RNA sequence database
<div class="panel-body">
<p class="margin-top-5px">
<a href="{{ context.blog_url }}" class="thumbnail">
<img class="hvr-grow" src="{% static 'img/timeline/release-v17.png' %}" alt="Release announcement">
<img class="hvr-grow" src="{% static 'img/timeline/release-v18.png' %}" alt="Release announcement">
</a>
</p>
<ul class="list-inline margin-top-5px" style="margin-left: 5px;">
......
......@@ -107,7 +107,7 @@ limitations under the License.
<uib-tabset class="tab-animation" active="{{ context.activeTab }}">
<uib-tab index="0" heading="Overview" id="overview" deselect="checkTab($event, $selectedIndex)" select="clearUrlParams()">
<uib-tab index="0" heading="Overview" id="overview" deselect="checkTab($event, $selectedIndex)">
<xrefs upi="upi" taxid="taxid" page-size="5" on-activate-publications="activatePublications()" on-create-modifications-feature="createModificationsFeature(modifications, accession)" on-activate-genome-browser="activateGenomeBrowser(start, end, chr, genome)" on-scroll-to-genome-browser="scrollToGenomeBrowser()"></xrefs>
......@@ -375,7 +375,7 @@ limitations under the License.
</uib-tab>
<uib-tab index="1" id="taxonomy" heading="Taxonomy" deselect="checkTab($event, $selectedIndex)" select="clearUrlParams()">
<uib-tab index="1" id="taxonomy" heading="Taxonomy" deselect="checkTab($event, $selectedIndex)">
<h2>Taxonomic tree</h2>
<p>
......@@ -418,11 +418,7 @@ limitations under the License.
search='{"urs": "{{ context.upi }}"}'
customStyle='{"fixCss": "true", "titleColor": "#BF8E3E"}'
/>
{% if context.plugin_installed %}
<script type="text/javascript" src="{% static "r2dt-web/dist/r2dt-web.js" %}"></script>
{% else %}
<script type="text/javascript" src="https://rnacentral.github.io/r2dt-web/dist/r2dt-web.js"></script>
{% endif %}
<script type="text/javascript" src="https://rnacentral.github.io/r2dt-web/dist/r2dt-web.js"></script>
</uib-tab>
{% endif %}
......
......@@ -345,7 +345,7 @@ SILENCED_SYSTEM_CHECKS = ['1_6.W001']
EBI_SEARCH_ENDPOINT = 'http://www.ebi.ac.uk/ebisearch/ws/rest/rnacentral'
RELEASE_ANNOUNCEMENT_URL = 'https://blog.rnacentral.org/2021/03/rnacentral-release-17.html'
RELEASE_ANNOUNCEMENT_URL = 'https://blog.rnacentral.org/2021/06/rnacentral-release-18.html'
# django compressor
COMPRESS_ENABLED = True
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment