Skip to content

Commit

Permalink
Merge pull request #4540 from galaxyproject/coin-pineapplefish
Browse files Browse the repository at this point in the history
Add some news posts
  • Loading branch information
shiltemann authored Nov 23, 2023
2 parents d268a65 + 1f3e244 commit 06df5d7
Show file tree
Hide file tree
Showing 26 changed files with 175 additions and 60 deletions.
50 changes: 50 additions & 0 deletions _plugins/jekyll-scholar.rb
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,55 @@ def render(context)
end
end

# {% cite_url X %} which generates URL for the article
class CiteUrlTag < Liquid::Tag
def initialize(tag_name, text, tokens)
super
@text = text.strip
end

def render(context)
page = context.registers[:page]
site = context.registers[:site]
Gtn::Scholar.load_bib(site)

# Mark this page as having citations
page['cited'] = true

return "@#{@text}" if page['citation_target'] == 'R'

# Which page is rendering this tag?
source_page = page['path']

# Citation Frequency
site.config['citation_count'] = Hash.new(0) if !site.config.key?('citation_count')
site.config['citation_count'][@text] += 1

# If the overall cache is nil, create it
site.config['citation_cache'] = {} if site.config['citation_cache'].nil?
# If the individual page in the chace is nil, create it.
site.config['citation_cache'][source_page] = [] if site.config['citation_cache'][source_page].nil?

# Push it to our cache.
site.config['citation_cache'][source_page].push(@text)

begin
doi = site.config['cached_citeproc'].items[@text].doi
url = site.config['cached_citeproc'].items[@text].url
if !doi.nil?
"https://doi.org/#{doi}"
elsif !url.nil?
url
end
res = url
rescue StandardError => e
puts "[GTN/scholar] Could not render #{@text} from #{source_page} (#{e})"
res = %(<span>https://example.com/ERROR+INVALID+CITATION+#{@text}</span>)
end
res
end
end

# {% bibliography %} which generates the bibliography
class BibTag < Liquid::Tag
def initialize(tag_name, text, tokens)
Expand Down Expand Up @@ -107,4 +156,5 @@ def render(context)
end

Liquid::Template.register_tag('cite', Jekyll::CiteTag)
Liquid::Template.register_tag('cite_url', Jekyll::CiteUrlTag)
Liquid::Template.register_tag('bibliography', Jekyll::BibTag)
5 changes: 4 additions & 1 deletion assets/css/main.scss
Original file line number Diff line number Diff line change
Expand Up @@ -412,9 +412,12 @@ div.language-diff .p {
padding-right: 1em;
}

footer {
body > footer {
margin-top: 5em;
text-align: center;
}

footer {
color: var(--text-color-muted);
font-size: $font-size - 2;
}
Expand Down
7 changes: 7 additions & 0 deletions assets/js/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -195,3 +195,10 @@ document.querySelectorAll('div.highlight').forEach((snippet) => {
var clipboardSnippets=new ClipboardJS('[data-clipboard-snippet]',{
target:function(trigger){return trigger.nextElementSibling;
}});

// Cited blockquotes
document.querySelectorAll("blockquote[cite],blockquote[author]").forEach(bq => {
var url = bq.getAttribute("cite") ? `<cite class="text-muted"><a href="${url}"><i>Source</i></a></cite>` : "";
var author = bq.getAttribute("author") ? "— " + bq.getAttribute("author") + " " : "";
bq.insertAdjacentHTML("beforeend", `<footer>${author}${url}</footer>`)
})
4 changes: 2 additions & 2 deletions news/_posts/2023-02-02-black-history-month.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ Johns Hopkins has announced the construction of a new building named in her hono

## Bioethics

> Lacks's case is one of many examples of the lack of informed consent in 20th century medicine. Communication between tissue donors and doctors was virtually nonexistent (i.e. cells were taken without patient consent, nor were they told what the cells would be used for). Johns Hopkins Hospital, where Lacks received treatment and had her tissue harvested, was the only hospital in the Baltimore area where African American patients could receive free care. The patients receiving free care from this segregated sect of the hospital often became research subjects without their knowledge. Lacks's family also had no access to her patient files and had no say in who received HeLa cells or what they would be used for. Additionally, as HeLa cells were popularized and used more frequently throughout the scientific community, Lacks's relatives received no financial benefit and continued to live with limited access to healthcare. [via Wikipedia](https://en.wikipedia.org/wiki/HeLa#Controversy)
{: .quote}
> Lacks's case is one of many examples of the lack of informed consent in 20th century medicine. Communication between tissue donors and doctors was virtually nonexistent (i.e. cells were taken without patient consent, nor were they told what the cells would be used for). Johns Hopkins Hospital, where Lacks received treatment and had her tissue harvested, was the only hospital in the Baltimore area where African American patients could receive free care. The patients receiving free care from this segregated sect of the hospital often became research subjects without their knowledge. Lacks's family also had no access to her patient files and had no say in who received HeLa cells or what they would be used for. Additionally, as HeLa cells were popularized and used more frequently throughout the scientific community, Lacks's relatives received no financial benefit and continued to live with limited access to healthcare.
{: .quote cite="https://en.wikipedia.org/wiki/HeLa#Controversy"}

We recommend the book ["The Immortal Life of Henrietta Lacks"](https://en.wikipedia.org/wiki/The_Immortal_Life_of_Henrietta_Lacks) for further reading on the topic.

Expand Down
4 changes: 2 additions & 2 deletions news/_posts/2023-05-11-ro-crate.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ brought several RO-Crate related tutorials into the Galaxy Training Network, und

## What are RO-Crates?

> RO-Crate is a community effort to establish a lightweight approach to packaging research data with their metadata. It is based on schema.org annotations in JSON-LD, and aims to make best-practice in formal metadata description accessible and practical for use in a wider variety of situations, from an individual researcher working with a folder of data, to large data-intensive computational research environments. -- [RO-Crate Specification](https://www.researchobject.org/ro-crate/)
{: .quote}
> RO-Crate is a community effort to establish a lightweight approach to packaging research data with their metadata. It is based on schema.org annotations in JSON-LD, and aims to make best-practice in formal metadata description accessible and practical for use in a wider variety of situations, from an individual researcher working with a folder of data, to large data-intensive computational research environments.
{: .quote cite="https://www.researchobject.org/ro-crate/"}

These are *the* way to package up your research in a well annotated and {FAIR} manner.

Expand Down
17 changes: 17 additions & 0 deletions news/_posts/2023-11-21-mastodon.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
title: "GTN has left Twitter/X as of October"
contributions:
authorship: [hexylena]
tags: [gtn, communications]
layout: news
---

We did not formally announce it at the time, but the Galaxy Training Network
has migrated from Twitter/X to Mastodon, as that platform no longer aligns with
the Galaxy Project Code of Conduct [nor our community values.](https://www.mediamatters.org/twitter/musk-endorses-antisemitic-conspiracy-theory-x-has-been-placing-ads-apple-bravo-ibm-oracle)

If you'd like to keep up to date with the GTN, we encourage you to [follow us on mastodon](https://mstdn.science/@gtn). The [fediverse and mastodon](https://en.wikipedia.org/wiki/Fediverse) are an open, standards compliant social network that is significantly more aligned with our community values and priorities of keeping community safe.

Are you not a fediverse user? Do you not have a mastodon account? That's ok!
Every mastodon account has a built in [RSS feed which you can use to stay updated](https://mstdn.science/@gtn.rss),
and the GTN has an [RSS feed as well for our news](https://training.galaxyproject.org/training-material/feed.xml).
23 changes: 23 additions & 0 deletions news/_posts/2023-11-21-video.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
title: "Feedback: Easy slide recordings"
contributions:
authorship: [hexylena]
tags: [feedback, testimonial, gtn]
layout: news
---

I recently imported [Friends Don't Let Friends Make Bad Graphs](https://github.com/cxli233/FriendsDontLetFriends), a fantastic and educational github repository showcasing some common visualisation mistakes, that was available under an open license, to the GTN. Then the GTN [automatically made a video for me.]({% link videos/watch.md %}?v=visualisation/tutorials/bad-graphs/slides)

> [It was] really truly magical to be able to generate a 12 minute video in about the same amount of time that was spent importing the content + reformatting it
{: .quote cite="https://matrix.to/#/%23Galaxy-Training-Network_Lobby%3Agitter.im/%247oeH_z7dGcO0T9z1BRk0HU6P2yTPBHNfdfzJBo0-WIM?via=matrix.org&via=gitter.im" author="@hexylena"}

Just by adding the slides, with good speaker notes made from the discussion that already existing
I simply had to add the slides, turn the discussion into speaker notes, and that was it. I was done.
Once the PR was merged, the video was created, and available to watch on the GTN.

The video has perfectly accurate subtitles for anyone who is hard of hearing or d/Deaf, the slides are also available in plain text formats for those who prefer them, all from my contribution of a single, reformatted, markdown file.

<video id="player" width="100%" height="auto" controls="" preload="metadata" style="background: black" poster="https://training.galaxyproject.org/videos/topics/visualisation/tutorials/bad-graphs/slides.mp4.png">
<source src="https://training.galaxyproject.org/videos/topics/visualisation/tutorials/bad-graphs/slides.mp4" type="video/mp4">
<track label="English" kind="captions" srclang="en" src="https://training.galaxyproject.org/videos/topics/visualisation/tutorials/bad-graphs/slides.en.vtt" default="">
</video>
4 changes: 2 additions & 2 deletions topics/admin/tutorials/ansible-galaxy/tutorial.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,8 @@ edam_ontology:

This tutorial assumes you have some familiarity with [Ansible](https://www.ansible.com/resources/get-started) and are comfortable with writing and running playbooks. Here we'll see how to install a Galaxy server using an Ansible playbook. The Galaxy Project has decided on Ansible for all of its deployment recipes. For our project, Ansible is even more fitting due to its name:

> An ansible is a category of fictional device or technology capable of instantaneous or faster-than-light communication. It can send and receive messages to and from a corresponding device over any distance or obstacle whatsoever with no delay, even between star systems (Source: [Wikipedia](https://en.wikipedia.org/wiki/Ansible))
{: .quote}
> An ansible is a category of fictional device or technology capable of instantaneous or faster-than-light communication. It can send and receive messages to and from a corresponding device over any distance or obstacle whatsoever with no delay, even between star systems
{: .quote cite="https://en.wikipedia.org/wiki/Ansible"}

We want to give you a comprehensive understanding of how the Galaxy installation occurs, but we want to avoid you having to write a "custom" Galaxy installation playbook which you would eventually throw away, in order to use the official playbooks. Given these goals, we will go through the playbook in depth first, and then move to a hands-on portion later. If you are not interested in the inner workings, you can [skip to that section now](#installing-galaxy).

Expand Down
7 changes: 2 additions & 5 deletions topics/admin/tutorials/apptainer/tutorial.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,7 @@ Make sure to read the documentation on [container in Galaxy](https://docs.galaxy

> BioContainers is a community-driven project that provides the infrastructure and basic guidelines to create, manage and distribute bioinformatics packages (e.g Conda) and containers (e.g Docker, Apptainer). BioContainers is based on the popular frameworks Conda, Docker and Apptainer.
>
> -- [https://biocontainers-edu.readthedocs.io/en/latest/what_is_biocontainers.html](https://biocontainers-edu.readthedocs.io/en/latest/what_is_biocontainers.html)
{: .quote}
{: .quote cite="https://biocontainers-edu.readthedocs.io/en/latest/what_is_biocontainers.html"}

Apptainer is an alternative to Docker that is much friendlier for HPCs

Expand All @@ -59,9 +58,7 @@ Apptainer is an alternative to Docker that is much friendlier for HPCs
{: .comment}

> Apptainer is a container platform. It allows you to create and run containers that package up pieces of software in a way that is portable and reproducible.
>
> -- [https://sylabs.io/guides/3.7/user-guide/introduction.html](https://sylabs.io/guides/3.7/user-guide/introduction.html)
{: .quote}
{: .quote cite="https://sylabs.io/guides/3.7/user-guide/introduction.html"}

> <agenda-title></agenda-title>
>
Expand Down
3 changes: 1 addition & 2 deletions topics/admin/tutorials/celery/tutorial.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,7 @@ From the Celery website:
>
>Language interoperability can also be achieved exposing an HTTP endpoint and having a task that requests it (webhooks)."
>
> -- [https://docs.celeryq.dev/en/stable/getting-started/introduction.html#what-s-a-task-queue](https://docs.celeryq.dev/en/stable/getting-started/introduction.html#what-s-a-task-queue)
{: .quote}
{: .quote cite="https://docs.celeryq.dev/en/stable/getting-started/introduction.html#what-s-a-task-queue"}

[A slideshow presentation on this subject is available](slides.html).

Expand Down
3 changes: 1 addition & 2 deletions topics/admin/tutorials/cvmfs-manual/tutorial.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,7 @@ From the Cern website:

> The CernVM File System provides a scalable, reliable and low-maintenance software distribution service. It was developed to assist High Energy Physics (HEP) collaborations to deploy software on the worldwide-distributed computing infrastructure used to run data processing applications. CernVM-FS is implemented as a POSIX read-only file system in user space (a FUSE module). Files and directories are hosted on standard web servers and mounted in the universal namespace /cvmfs."
>
> -- [https://cernvm.cern.ch/portal/filesystem](https://cernvm.cern.ch/portal/filesystem)
{: .quote}
{: .quote cite="https://cernvm.cern.ch/portal/filesystem"}

[A slideshow presentation on this subject]({% link topics/admin/tutorials/cvmfs/slides.html %}) is available. More [details are available on usegalaxy.org (Galaxy Main's) reference data setup](https://galaxyproject.org/admin/reference-data-repo/#usegalaxyorg-reference-data) and CVMFS system.

Expand Down
3 changes: 1 addition & 2 deletions topics/admin/tutorials/cvmfs/tutorial.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,7 @@ From the Cern website:

> The CernVM File System provides a scalable, reliable and low-maintenance software distribution service. It was developed to assist High Energy Physics (HEP) collaborations to deploy software on the worldwide-distributed computing infrastructure used to run data processing applications. CernVM-FS is implemented as a POSIX read-only file system in user space (a FUSE module). Files and directories are hosted on standard web servers and mounted in the universal namespace /cvmfs."
>
> -- [https://cernvm.cern.ch/portal/filesystem](https://cernvm.cern.ch/portal/filesystem)
{: .quote id="cvmfs-quote"}
{: .quote id="cvmfs-quote" cite="https://cernvm.cern.ch/portal/filesystem"}

> All right, just a quick recap. CVMFS or
> Cern-VMFS is a distributed file system perfectly
Expand Down
6 changes: 3 additions & 3 deletions topics/assembly/tutorials/debruijn-graph-assembly/tutorial.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,9 @@ contributors:

In this activity, we will perform *de novo* assemblies of a short read set using the Velvet Optimiser and the SPAdes assemblers. We are using the Velvet Optimiser for illustrative purposes. For real assembly work, a more suitable assembler should be chosen - such as SPAdes.

The Velvet Optimiser is a script written by Simon Gladman to optimise the k-mer size and coverage cutoff parameters for Velvet. More information can be found [here](https://github.com/slugger70/VelvetOptimiser)
The Velvet Optimiser is a script written by {% include _includes/contributor-badge.html id="slugger70" %} to optimise the k-mer size and coverage cutoff parameters for Velvet. More information can be found [in its repository](https://github.com/slugger70/VelvetOptimiser).

SPAdes is a de novo genome assembler written by Pavel Pevzner's group in St. Petersburg. More details on it can be found [here](http://cab.spbu.ru/software/spades/)
SPAdes is a de novo genome assembler written by Pavel Pevzner's group in St. Petersburg. More details on it can be found [on Spades' website](http://cab.spbu.ru/software/spades/)>



Expand Down Expand Up @@ -225,7 +225,7 @@ The next thing to be aware of is that there can be multiple valid interpretation
> ![Simple example 4](https://camo.githubusercontent.com/58d0aa7eff4cfd3d36c9210e9f6a2f0265396715/687474703a2f2f72727769636b2e6769746875622e696f2f42616e646167652f696d616765732f77696b692f73696d706c655f6578616d706c655f342e706e67)
>
> Additional knowledge, such as information on the approximate size of the bacterial chromosome, can help the researcher to rule out the first alternative. In this way, Bandage has assisted in turning a fragmented assembly of three contigs into a completed genome of one sequence.
{: .quote}
{: .quote cite="https://github.com/rrwick/Bandage/wiki/Simple-example"}
# Assemble with SPAdes
Expand Down
3 changes: 1 addition & 2 deletions topics/assembly/tutorials/ecoli_comparison/tutorial.md
Original file line number Diff line number Diff line change
Expand Up @@ -815,8 +815,7 @@ Earlier we [downloaded](#hands-on-uploading-sequences-and-annotations) gene anno
> 19 | product_length: length of the product corresponding to the accession.version in column 11. Protein product lengths are in amino acid units, and do not include the stop codon which is included in column 18. Additionally, product_length may differ from feature_interval_length if the product contains sequence differences vs. the genome, as found for some RefSeq transcript and protein products based on mRNA sequences and also for INSDC proteins that are submitted to correct genome discrepancies.
> 20 | attributes: semi-colon delimited list of a controlled set of qualifiers. The list currently includes: partial, pseudo, pseudogene, ribosomal_slippage, trans_splicing, anticodon=NNN (for tRNAs), old_locus_tag=XXX
>
> *from [ftp.ncbi.nlm.nih.gov/genomes/genbank/README.txt](ftp://ftp.ncbi.nlm.nih.gov/genomes/genbank/README.txt)*
{: .quote}
{: .quote cite="https://ftp.ncbi.nlm.nih.gov/genomes/genbank/README.txt"}
Our objective is to convert these data into BED. In this analysis we want to initially concentrate on protein coding regions. To do this let's select all lines from the annotation datasets that contain the term `CDS`, then
Expand Down
2 changes: 1 addition & 1 deletion topics/assembly/tutorials/mrsa-illumina/tutorial.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ Japan" from {% cite Hikichi_2019 %} which describes:
> range from asymptomatic colonization of the nasal mucosa to soft tissue
> infection to fulminant invasive disease. Here, we report the complete
> genome sequences of eight MRSA strains isolated from patients in Japan.
{: .quote}
{: .quote cite="{% cite_url Hikichi_2019 %}"}

> <agenda-title></agenda-title>
>
Expand Down
2 changes: 1 addition & 1 deletion topics/assembly/tutorials/mrsa-nanopore/tutorial.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ Japan" from {% cite Hikichi_2019 %} which describes:
> range from asymptomatic colonization of the nasal mucosa to soft tissue
> infection to fulminant invasive disease. Here, we report the complete
> genome sequences of eight MRSA strains isolated from patients in Japan.
{: .quote}
{: .quote cite="{% cite_url Hikichi_2019 %}"}

> <agenda-title></agenda-title>
>
Expand Down
4 changes: 2 additions & 2 deletions topics/contributing/tutorials/admin-knitting/tutorial.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,8 @@ The `data-commit` will be turned into the commit message, so, you can write some

In knitting you sometimes need to rip out the stitches, a process sometimes called frogging.

> If they are not secured, the loops of a knitted course will come undone when their yarn is pulled; this is known as ripping out, unravelling knitting, or humorously, frogging (because you 'rip it', this sounds like a frog croaking: 'rib-bit'). [via Wikipedia](https://en.wikipedia.org/wiki/Knitting)
{: .quote}
> If they are not secured, the loops of a knitted course will come undone when their yarn is pulled; this is known as ripping out, unravelling knitting, or humorously, frogging (because you 'rip it', this sounds like a frog croaking: 'rib-bit').
{: .quote cite="https://en.wikipedia.org/wiki/Knitting"}

```console
$ python bin/knit-frog.py topics/admin/tutorials/singularity/tutorial.md /tmp/03-singularity
Expand Down
Loading

0 comments on commit 06df5d7

Please sign in to comment.