Skip to content

Commit

Permalink
Merge branch 'main' into create-pull-request/patch-1728378303
Browse files Browse the repository at this point in the history
  • Loading branch information
hexylena authored Oct 8, 2024
2 parents 753729a + 8517c05 commit 9fba8bd
Show file tree
Hide file tree
Showing 9 changed files with 98 additions and 33 deletions.
9 changes: 3 additions & 6 deletions _layouts/contributor_index.html
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@
<h1>
{{ entity.name | default: page.contributor }}
</h1>
{% if entity.funder_name %}
<p>Funded by {{ entity.funder_name }}</p>
{% endif %}
{% if entity.funder%}
<p>The activities listed below were partially funded by this project.</p>
{% endif %}
</hgroup>

{% if entity.bio %}
Expand All @@ -34,9 +34,6 @@ <h1>
</p>
{% endif %}

{% if entity.funder %}
<div class="label label-default label-large" style="{{ 'GTN Funder' | colour_tag }}">GTN Funder</div>
{% endif %}
{% if entity.in_memoriam %}
<div class="alert alert-dark" role="alert">
<h2 class="alert-heading">In Memoriam</h2>
Expand Down
11 changes: 7 additions & 4 deletions _layouts/tutorial_hands_on.html
Original file line number Diff line number Diff line change
Expand Up @@ -289,11 +289,14 @@ <h3>You've Finished the Tutorial</h3>
<p style="display: none" id="tutorial-finish-text">Please also consider filling out the <a href="#gtn-feedback">Feedback Form</a> as well!</p>
<script>
function tutorial_finish() {
if(plausible !== undefined){
plausible('TutorialComplete', {callback: tutorial_finish_finish, props: {path: document.location.pathname}})
} else {
tutorial_finish_finish();
if(typeof plausible !== 'undefined'){
// Plausible may be undefined (script blocked)
// or it may be defined, but opted-out (select box/DNT),
// which means `plausible()` will work but not send data, *nor* execute the callback.
plausible('TutorialComplete', {props: {path: document.location.pathname}})
}
// since the callback is completely cosmetic, we'll just issue it optimistically.
tutorial_finish_finish();
}
function tutorial_finish_finish() {
document.getElementById("tutorial-finish-button").innerText = 'Congrats! Thanks for letting us know! 🎉'
Expand Down
21 changes: 19 additions & 2 deletions _plugins/gtn/contributors.rb
Original file line number Diff line number Diff line change
Expand Up @@ -91,9 +91,26 @@ def self.get_non_authors(material)
# +data+:: +Hash+ of the YAML frontmatter from a material
# Returns:
# +Array+ of contributor IDs
def self.get_funders(data)
def self.get_funders(site, data)
if data.key?('contributions') && data['contributions'].key?('funding')
data['contributions']['funding']
# The ones specifically in the Grants table
data['contributions']['funding'].reject{ |f| site.data['funders'].key?(f) }
else
[]
end
end

##
# Get the funders of a material.
# Params:
# +site+:: +Jekyll::Site+ object
# +data+:: +Hash+ of the YAML frontmatter from a material
# Returns:
# +Array+ of grant IDs
def self.get_grants(site, data)
if data.key?('contributions') && data['contributions'].key?('funding')
# The ones specifically in the Grants table
data['contributions']['funding'].select{ |f| site.data['funders'].key?(f) }
else
[]
end
Expand Down
45 changes: 38 additions & 7 deletions _plugins/jekyll-jsonld.rb
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,7 @@ def generate_funding_jsonld(id, contributor, site)
'@context': 'https://schema.org',
'@type': 'Grant',
identifier: contributor['funding_id'],
url: contributor['url'] || Gtn::Contributors.fetch_funding_url(contributor),
url: Gtn::Contributors.fetch_funding_url(contributor) || contributor['url'],
funder: generate_funder_jsonld(id, contributor, site)
}

Expand Down Expand Up @@ -274,10 +274,10 @@ def generate_event_jsonld(page, site)
instructors = Gtn::Contributors.get_instructors(page.to_h).map do |x|
to_pfo_jsonld(x, site, json: false)
end
funders = Gtn::Contributors.get_funders(page.to_h).map do |x|
funders = Gtn::Contributors.get_funders(site, page.to_h).map do |x|
to_pfo_jsonld(x, site, json: false)
end
funding = Gtn::Contributors.get_funders(page.to_h).map do |x|
funding = Gtn::Contributors.get_grants(site, page.to_h).map do |x|
generate_funding_jsonld(x, Gtn::Contributors.fetch_contributor(site, x), site)
end

Expand Down Expand Up @@ -511,6 +511,18 @@ def generate_learning_pathway_jsonld(page, site)
material.fetch('objectives', [])
end.flatten.compact

funders = materials.map do |material|
Gtn::Contributors.get_funders(site, material).map do |x|
to_pfo_jsonld(x, site, json: false)
end
end.flatten.uniq.compact

funding = materials.map do |material|
Gtn::Contributors.get_grants(site, material).map do |x|
generate_funding_jsonld(x, Gtn::Contributors.fetch_contributor(site, x), site)
end
end.flatten.uniq.compact

# TODO: add topic edam terms too? Not sure.
parts = []
materials.each do |material|
Expand Down Expand Up @@ -558,8 +570,8 @@ def generate_learning_pathway_jsonld(page, site)
# learningResourceType
# teaches

# funder: funders, # Org or person
# funding: funding, # Grant
funder: funders, # Org or person
funding: funding, # Grant
publisher: GTN,
provider: GTN,
syllabusSections: syllab,
Expand Down Expand Up @@ -690,7 +702,8 @@ def generate_material_jsonld(material, topic, site)
# "contentRating":,
# "contentReferenceTime":,
# "contributor" described below
copyrightHolder: GTN,
# copyrightHolder: GTN,
# copyrightNotice: m
# "copyrightYear":,
# "correction":,
# "creator":,
Expand All @@ -704,7 +717,7 @@ def generate_material_jsonld(material, topic, site)
# "encodingFormat":,
# "exampleOfWork":,
# "expires":,
# "funder":,
# "funder": funding,
# "genre":,
# "hasPart" described below
headline: (material['title']).to_s,
Expand Down Expand Up @@ -780,6 +793,24 @@ def generate_material_jsonld(material, topic, site)
end
end

if material.key?('copyright')
# copyrightHolder: GTN,
data['copyrightNotice'] = material['copyright']
else
# I'm not sure this is accurate.
data['copyrightHolder'] = GTN
end

funders = Gtn::Contributors.get_funders(site, material).map do |x|
to_pfo_jsonld(x, site, json: false)
end
funding = Gtn::Contributors.get_grants(site, material).map do |x|
generate_funding_jsonld(x, Gtn::Contributors.fetch_contributor(site, x), site)
end

data['funder'] = funders
data['funding'] = funding

data['identifier'] = "https://gxy.io/GTN:#{material['short_id']}" if material.key?('short_id')

data.update(A11Y)
Expand Down
3 changes: 3 additions & 0 deletions assets/css/main.scss
Original file line number Diff line number Diff line change
Expand Up @@ -1289,6 +1289,9 @@ div.highlight .btn{
transition: none;
}
}
.btn {
cursor: pointer;
}


div.highlight:hover .btn,div.highlight .btn:focus{
Expand Down
2 changes: 1 addition & 1 deletion bin/schema-tutorial.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -535,7 +535,7 @@ mapping:
pattern: /^(?:([0-9]*)[Hh])*(?:([0-9]*)[Mm])*(?:([0-9.]*)[Ss])*$/
youtube_id:
type: str
pattern: /[A-Za-z0-9_-]{9,13}/
pattern: /[A-Za-z0-9_-]{11}/
type:
type: str
archive-id:
Expand Down
35 changes: 25 additions & 10 deletions topics/assembly/tutorials/ERGA-post-assembly-QC/tutorial.md
Original file line number Diff line number Diff line change
@@ -1,31 +1,46 @@
---
layout: tutorial_hands_on

title: ERGA post-assembly QC
questions:
- "What combination of tools can assess the quality of a genome assembly?"
- "What metrics can help to analyse the quality of an assembly?"
- "How do we evaluate the outputs?"
objectives:
- "Apply the post-assembly-QC-workflow using the necessary tools"
- "Analyse and evaluate the results of the workflow"
- Apply the post-assembly-QC-workflow using the necessary tools
- Analyse and evaluate the results of the workflow
time_estimation: 3H
key_points:
- "The ERGA post-assembly pipeline allows users to assess and improve the quality of genome assemblies"
- "The ERGA post-assembly pipeline consists of three main steps: Genome assembly decontamination and overview with BlobToolKit, providing analysis information and statistics, and Hi-C scaffolding."
- The ERGA post-assembly pipeline allows users to assess and improve the quality of
genome assemblies
- 'The ERGA post-assembly pipeline consists of three main steps: Genome assembly decontamination
and overview with BlobToolKit, providing analysis information and statistics, and
Hi-C scaffolding.'
contributors:
- GitFab93
- gallardoalba
- tbrown91
- delphine-l
tags:
- plants
- animals
- genome
- assembly
- QC
- plants
- animals
- genome
- assembly
- QC
recordings:
- youtube_id: n4PNTTa2d6U
length: 44M
galaxy_version: 24.1.3.dev0
date: '2024-10-06'
speakers:
- delphine-l
captioners:
- delphine-l
bot-timestamp: 1728229662


---


![ERGA logo, 4 colorful letters on white background, with the European star circle](../../images/post-assembly-QC/ERGA.logo.jpg){: width="20px"}

The European Reference Genome Atlas ([ERGA](https://www.erga-biodiversity.eu/), {% cite Mazzoni2023 %}) is a large-scale network of researchers aiming to generate high-quality reference genomes for all eukaryotic life in Europe and build capacity to allow researchers anywhere to generate reference genomes and use them to answer questions regarding species conservation and biodiversity. ERGA uses state-of-the-art sequencing technologies and advanced bioinformatics tools to produce high-quality genome assemblies.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ abbreviations:
VGP: Vertebrate Genome Project
G10K: Genome 10K
recordings:
- youtube_id: LO-migvwcM
- youtube_id: _LO-migvwcM
length: 1H56M
galaxy_version: 24.1.2.dev0
date: '2024-09-12'
Expand Down
3 changes: 1 addition & 2 deletions topics/dev/tutorials/tool-from-scratch/tutorial.md
Original file line number Diff line number Diff line change
Expand Up @@ -433,8 +433,7 @@ anyone wrapping a tool, a more complete list is available in [the Galaxy tool do
Planemo is an important tool within the Galaxy development workflow. Although it will be covered in greater detail in the
next section of this tutorial, one of its functions is necessary for the tool wrapper development. `planemo` is available
via the python package manager `pip`. To that end, before beginning this section, please install `planemo` locally by running
`planemo`. To that end, before beginning this section, please install planemo locally by running
via the python package manager `pip`. To that end, before beginning this section, please install planemo locally by running
> <hands-on-title>Installing `planemo` via pip</hands-on-title>
>
Expand Down

0 comments on commit 9fba8bd

Please sign in to comment.