Closed StevenCannon-USDA closed 1 year ago
So the idea is to avoid having to keep the READMEs populated with JBrowse resource links? Do it automatically with Jekyll liquid scripting? Or just that you want a standalone page that is easier done this way than by running through the regular Jekyll YAML data?
@sammyjava Yes. The main files are sufficiently regular that the links can be constructed. Nathan's code does a nice job of that. The thing still missing is control over the ordering and categorization of the resources ... but I think the description files can be used for that function.
@StevenCannon-USDA "still missing is control over the ordering and categorization of the resources" - with all this info I think having control over ordering and categorization is needed. I do not understand the Jekyll liquid but I don't like how this page looks. Maybe Steven and I can talk move about this in person or over zoom.
To implement this, I'd like to add two keys to the description_Genus_species.yml files: "accession_group" and "citation". The accession_group would be used for grouping accessions (for example, into reference genomes or publications or projects). The citation would be Author, Author, et al., Year format - just used to provide additional information in the resources page. Example:
- identifier: Wm82
accession: PI 518671
name: Williams 82
accession_group: Reference - Williams 82
citation: Schmutz, Cannon et al., 2010
origin: Northern United States
description: "Williams 82, the soybean cultivar used to produce the reference genome sequence, was derived from backcrossing a phytophthora root rot resistance locus from the donor parent Kingwa into the recurrent parent Williams."
I think adding keys is not problematic, but checking with @sammyjava for confirmation.
Adding keys requires me to add them to the Java validator, but that's fine.
citation: OK, I'll handle that as DOI.
- accession_group: Unless someone has a better plan to meet the need that I'll describe, I'll go ahead add it. In Glycine, we currently have 52 assemblies and annotation sets. Presenting these on a web page really calls for some kind of grouping, under a heading. Some of these assemblies we consider to be major references. Others were published as part of a study - for example, 26 in a pan-genome collection by Liu, Du et al., 2020 ... but citation alone is insufficient as a basis for indicating reference assembly or for placing into genotype groups.
Ahhh OK, I thought it was meant to be more programmatic than just creating categories for display on a browser page, like you'd actually parse "Reference" and "Williams 82". Fine with me!
I've handled this now under Glycine, using publication_doi
instead of citation
:
accession_group: Zhuang, Wang et al., 2022
publication_doi: 10.1038/s41477-022-01102-4
After page implementing (thanks @That-Thing) and testing, I think publicationdoi should NOT be included in the about[Genus]_[species].yml files, since that key & value are in the genomes/accession/README files. So, the net change is just addition of e.g.
accession_group: Zhuang, Wang et al., 2022
How is that useful (in a programmatic way)?
Please see draft spec for jekyll-soybase browser landing page here:
https://github.com/legumeinfo/website-ui-specs/tree/main/browser-landing
This spec may also be applicable for legumeinfo.org - but the comparable result may be accomplished there instead by lis-autocontent.
The main focus of the spec is to sketch out the implementation, which employs "description...yml" files in the Datastore to determine the ordering of the content, and the primary assembly and annotation collections (and their README files) to assemble the content used for generating jbrowse links. This implementation would extend one by @nathanweeks that generates links based just on the content in the assembly and annotation collections.
For review: @nathanweeks @That-Thing @jd-campbell @maxglycine