GithubHelp home page GithubHelp logo

soybase / jekyll-soybase Goto Github PK

View Code? Open in Web Editor NEW

This project forked from legumeinfo/jekyll-legumeinfo

2.0 5.0 0.0 5.19 MB

SoyBase site, forked from jekyll-legumeinfo mid-2022; built with Jekyll and served on GitHub Pages

License: Apache License 2.0

Shell 2.18% Ruby 0.57% Makefile 0.89% HTML 96.29% SCSS 0.07%

jekyll-soybase's Introduction

soybase.org

This repository holds the Jekyll site hosted at www.soybase.org.

Deployment

Commits to the main branch will trigger a GitHub Action workflow that build the static site & deploy to the dev.soybase.org branch. This branch is hosted via GitHub Pages at https://dev.soybase.org.

When a tag is pushed, a GitHub Action workflow will build the static site & deploy to the soybase/soybase.org repository. This branch is hosted via GitHub Pages at https://www.dev.soybase.org.

Development

Local (macOS)

  1. Install XCode Developer Tools (if not already installed):
xcode-select --install
  1. Install Node.js version >= 16.

  2. Clone the repository:

git clone https://github.com/soybase/jekyll-soybase.git

Dev Container (GitHub Codespaces or VS Code)

When creating a GitHub Codespace on a branch, or using VS Code locally with a Docker engine installed (e.g., Docker Desktop or Rancher Desktop), a Dev Container has been defined (at .devcontainer/devcontainer.json) to automatically set up Ruby and NodeJS.

Building the Site

The following methods will run the site on your computer at http://localhost:4000/. Changes made to HTML/Liquid files will be immediately reflected in the browser due to LiveReload (when running a codespace in the browser, LiveReload does not work; a browser reload is necessary to reflect any changes made to the site). Changes made to other file types (e.g., data and config files) may only be reflected the next time make is run.

make jbrowse # (optional) install JBrowse dependencies if needed
             # & run _scripts/jbrowse-tracks.sh to generate JBrowse config.json
make         # install dependencies if needed & start jekyll server listening on localhost:4000
... CTRL-C ...
make check   # build site & check for broken links, accessibility issues, and YAML lint errors
             # or "make htmlproofer", "make pa11y", and "make yamllint" separately

# make clean : remove everything installed/created by `make jbrowse` and `make`

Theme

This site uses a modified version of the Legume Information System Jekyll theme.

News Posts

News posts are plain text markdown with a YAML header, created by adding a file under news/_posts/ with a name of the format yyyy-mm-dd-unique-identifier.md. For example:

---
layout: news-item
title: Tepary bean genomes added to LIS
author: Sam Hokin
date: 2021-10-01 17:00
summary: Phaseolus acutifolius (tepary bean) added to LIS
---
[Phaseolus acutifolius (tepary bean)](/taxa/phaseolus) is a drought- and heat-tolerant crop
native to the American Southwest and Mexico; it joins the growing set of annotated genomes at LIS,
with a cultivated and wild accession described in [Moghaddam et al. 2021](https://doi.org/10.1038/s41467-021-22858-x).
The cultivated accession has been added as the primary representative of the species.

You can place blank lines in the content to generate paragraphs. Images are not supported in news items.

Announcements

Announcements are just like news posts, created by adding a file under announcements/_posts with a name of the format yyyy-mm-dd-unique-identifier.md. For example:

---
layout: announcement-item
title: BIC & NAPIA Biennial meeting 2-4 November, 2021 (virtual)
author: Sam Hokin
date: 2021-11-02
summary: BIC & NAPIA Biennial meeting will be held virtually, 2-4 November, 2021
---
2 - 4 November 2021:
[BIC & NAPIA Biennial meeting](https://www.bic-napia.org/), Virtual Meeting

You can place blank lines in the content to generate paragraphs. Images are not supported in announcements.

Blog Posts

Blog posts are created by adding a file named blog/_posts/yyyy-mm-dd-unique-identifier.md.

A blog post has a YAML header which provides key information. For example, a post with the filename 2018-09-10-macrosynteny-gcv.md has the following header:

---
layout: blog-item
title: Bringing Macrosynteny to the GCV Multi-view
author: Andrew Farmer
date: 2018-09-10
summary: The multi-alignment view of the Genome Context Viewer has been updated to support visualization of multi-way macrosynteny between the chromosomes from which microsyntenic segments were taken.
---

The resulting blog URL generated for this post is then /blog/2018/09/10/macrosynteny-gcv.html. The main /blog page provides a list of blog posts, most recent first.

The blog content is plain text entered below the header. Blank lines will generate paragraph tags in the generated HTML as you'd wish. However, a bit more work is required to place images in your post:

  • place the image file under assets/img/blog_images/
  • use the normal HTML img tag in your content
  • wrap the image inside a blog-image div (so we have consistent placement, margins, and border)
  • wrap optional attribution in a attribution div below the image

Here's an example of a short post with an image which includes attribution:

The Genomic Context Viewer (GCV) is a web application that provides interactive and synchronized comparative genomics visualizations.

<div class="blog-image">
  <img src="/assets/img/blog_images/instructions-gcv.gif" alt="Screen capture of the GCV user interface"/>
  <div class="attribution">&copy; 2018 NCGR</div>
</div>

Comparisons are performed by determining conservation of gene order and orientation across related species or individuals using homology based on gene family assignments....

jekyll-soybase's People

Contributors

adf-ncgr avatar alancleary avatar apigatto avatar cheehau0659 avatar chenprom-usda avatar jacquelinecampbell-usda avatar jd-campbell avatar maxglycine avatar nathanweeks avatar sammyjava avatar stevencannon-usda avatar svengato avatar that-thing avatar weihuang12 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

jekyll-soybase's Issues

Fix broken links (Focus on code 404)

For the Links > External check, the following failures were found:

(403)* At ./events/2023/06/18/WSRC11.html:509:

External link https://www.wsrc11vienna.com failed (status code 403)

  • At ./news/general/2022/07/18/new-SoyBase-site.html:524:

    External link https://legacy.legumeinfo.org failed: got a time out (response code 0) (status code 0)

(403)* At ./projects/bayer_valliyodan_2021/index.html:521:

External link https://doi.org/10.1002/tpg2.20109 failed (status code 403)

  • At ./projects/bhattacharyya_2018/index.html:521:

    External link https://doi.org/XX failed (status code 404)

  • At ./projects/milestonereseq_2016/index.html:521:

    External link https://doi.org/XX failed (status code 404)

Refactor browsers code and sort by genotype within strain.accession_group

The liquid code in tools/browsers/index.html is pretty convoluted. Consider writing a separate script that produces a _data/FILE.yml that is can be parsed/traversed with simpler liquid code.

This scripted code could be a modification/extension of LIS autocontent?

Also, it would be good to sort the genotypes under the first-displayed strain.accession_group (for some reason, the sorting seems to be funky only for "Reference - Williams 82".
Screenshot 2024-05-15 at 1 41 43 PM

Custom Example Text in Web Components

Custom example text was added in the 1.3.0 web components release, so I need to know what text to put in the web components on the site (gene and trait search).

For gene search, I need the identifier, description, and gene family ID examples.
For trait search, I need traits, pub ID, and an example author.

Funky wrapping in Jekyll-Banner

At https://dev.soybase.org, nav items now show only in-line with the site title and subhead, with the nav items taking precedence over the title ... meaning that in a midsized browser window, the site title gets squeezed out of existence.
In a narrower browser window, wrapping succeeds ... but only showing the last two nav items (NEWS and EVENTS).
I think this behavior showed up after the December theme refactoring. Probably need help from @alancleary on this.

datastore-metadata submodule

@nathanweeks

I have followed the instructions given in a previous issue on how to update the datastore-metadata submodule. However the changes to the datastore-metadata files I made did not show up doing the .. "make" to test step.

Here is exactly what I did:

  1. Create codespace on soybase/jekyll-soybase
  2. I typed "_git submodule update --remote data/datastore-metadata"
    • Codespace responded that I needed an "--init" command
  3. So I typed "_git submodule update --remote --init --remote data/datastore-metadata"
    • Codespace response: "Submodule path '_data/datastore-metadata': checked out 'cc2ed56238f3be4defce78d13f8365e9703873a6'"
  4. I typed "make"
    • In the make standard out I saw another "Submodule path"
      • Submodule path '_data/datastore-metadata': checked out '3618ec2746140affff47a58b1fa3e8569312a42a'
  5. Checking make and forwarded port
    • The changes I made to multiple yaml files are not present on the port forwarded simple browser.

The git submodule update --init --recursive checks out the specific commit that the submodule points to. One way to update the submodule to point to a newer commit:

git submodule update --remote _data/datastore-metadata
... "make" to test ...
git add _data/datastore-metadata
git commit -m '...'

_Originally posted by @nathanweeks in https://github.com/soybase/jekyll-soybase/issues/58#issuecomment-1812506130_
            /workspaces/jekyll-soybase/.jekyll-cache

Add gene ontology enrichment page

I propose that the the ontology enrichment tool be added in two steps:

  1. Add a page with instructions & link for carrying this out on GlycineMine. @StevenCannon-USDA volunteering.
  2. Add the widget that Nathan has prepared ... when @nathanweeks is free from SET detail responsibilities.

Request for ideas

I want to start thinking about blog ideas for the Jekyll-SB. I have started documenting my ideas in the Stakeholder_involvement repo. I want to ask you for your assistance to think of new ideas and / or help me with some of ideas I have written down below.

What I have currently for ideas:

  • History of SoyBase
    - Interview Randy and David
  • Breeding history of Williams82
    - Who do I need to talk to for this?
  • Bredding history of Lee
    - Who do I need to talk to for this?
  • Highlist a scientist/breeders?
    - Past SoyGEC winners, Past SBW poster winners
  • Quarter or yearly SoyBase update
    - New tools and new data

Remove redundancies in /tools/browsers/ display

The display of genomes has the DOI repeated for each genome from a paper.
Screenshot 2024-05-29 at 9 38 27 AM

The DOI should be associated with the title example Liu, Du et al., 2020 dx.doi.org/10.1016/j.cell.2929.05.023
and not with each genome sequenced. This makes the page look busy and is redundant.

Should remove redundant references to the paper in genome titles ie.
"Genome assembly for Glycine max accession JiDouNo_17 (SoyC11) from Liu, Du et al. 2020." should be
"Genome assembly for Glycine max accession JiDouNo_17 (SoyC11)."
@jd-campbell @StevenCannon-USDA

JBrowse setting for MaxHeight

Need to modify JBrowse to eliminate the MaxHeight setting or set it to a very large value so that the JBrowse view is showing all features regardless of depth.

Trait Association Search data connection

After merging #77 (Trait search), the GitHub hosted instance (dev.soybase.org) is giving "Failed to load data" at https://dev.soybase.org/tools/search/trait.html . When I serve the same branch "main" locally, I don't see the error; and the gene search component is fine (locally and at dev.soybase.org).

I am guessing the problem has to do with the theme not being updated at the GitHub instance, but I don't know. Paging @That-Thing and @nathanweeks to help figure this out.

Errors with the Jbrowse config setup script on WSL

When running _scripts/jbrowse-tracks.sh on WSL, several genomes and annotations cause errors. This issue is specific to WSL; The script runs fine on native Linux.

All of the genomes that cause errors have a source URL ending in either .fa.gz or .fsa_nt.gz

Genomes:

Identifier: Hefeng25_IGA1002.gnm1.L69T
   ›   .genome_main.fna.gzrgument:
   ›   See more help with --help
Identifier: Lee.gnm2.K7BV
   ›   .genome_main.fna.gzrgument:
   ›   See more help with --help
Identifier: Wenfeng7_IGA1001.gnm1.L0QH
   ›   .genome_main.fna.gzrgument:
   ›   See more help with --help
Identifier: Wm82_IGA1008.gnm1.5CQQ
   ›   .genome_main.fna.gzrgument:
   ›   See more help with --help

Annotations:

Identifier: Huaxia3_IGA1007.gnm1.ann1.LKC7
   ›   .gene_models_main.gff3.gzt:
   ›   See more help with --help
Identifier: Lee.gnm2.ann1.1FNT
   ›   .gene_models_main.gff3.gzt:
   ›   See more help with --help
Identifier: Zh13.gnm2.ann1.FJ3G
   ›   .gene_models_main.gff3.gzt:
   ›   See more help with --help

This issue occurs on both Ubuntu 20.04 (WSL version 1) and 22.04 (WSL version 2)

Static page: about/data_repositories/

On the top of the page it says "XX Say something about why it is important to deposit research data in a DOI-conferring repos"

Needs to be completed to be marked as done.

Web Component searches "Failed to load data"

As of 2024-01-25 evening, the Trait Association Search and Gene Search pages are showing "Failed to load data". Not sure if this is a GraphQL thing or if it related to the Web Component 1.4 update? I am seeing this both at the hosted (dev.soybase.org) and locally-served instances on the main branch.

BrAPI Pedigree Viewer

Request to look into BrAPI Pedigree Viewer for the SoyBase parentage data.

Current SoyBase parentage webpage is located here.

A few things to consider:

  1. What are the pedigree viewer dependencies?
  2. What is the file format required for the viewer?
  3. Can the pedigree be drawn quickly for the user or does a pedigree diagram need to be drawn and saved for users?
  4. The example BrAPI viewer has a user name and password. Is the username and passwd required?

Gene search has unalterable drop boxes

The gene search displays dropdown boxes that can not be changed. (species, strains) They should simply not appear on the form. Why show the user stuff they can not change?

JBrowse: Add feature

When a user opens a JBrowse on dev.soybase.org the available track box is not visible on the screen. Is there a setting or config to make the available track box to just show up automatically?

As it is now the user just has to know to click on the "three lines" and select track selector on the drop down list.

Tools container on left of home page needs a WHITE background

Tools menu on left side of the home page needs to have a white background to match the rest of the pages. It looks slightly darker than the rest of the page. If I could find where this is set, I could verify that the backgrounds had the same hex.

nitpicky DS request

This is a very 'nitpicky' request ..... Is there any way to change the icon on the top left corner of the https://data.soybase.org/Glycine/ ?

Because it says Glycine but the LegumeInfo Icon is there.
Screenshot 2024-08-15 at 15 31 28

If it not possible that is fine.

If it is possible here is a copy if the SoyBase logo.
sb_logo_alone_lft_bright1

Make JBrowse config file for the reference genomes in DS

Rex and Jackie have discussed which genomes to have a JBrowse instance for and tracks to have. We are taking into consideration the fact that over 100 reference quality and over 500 draft quality genomes will become available sometime between not and the end of 2025.

Genomes and tracks ... for now:

  • Wm82.gnm2
  • Wm82.gnm2.ann1
  • Wm82.gnm4.ann1
  • Wm82.gnm6. ann1
  • more....
  • Wm82.gnm4
  • Wm82.gnm2.ann1
  • Wm82.gnm4.ann1
  • Wm82.gnm6. ann1
  • more ....
  • Wm82.gnm6
  • Wm82.gnm2.ann1
  • Wm82.gnm4.ann1
  • Wm82.gnm6. ann1
  • more ...

MUCH MORE Jackie needs to complete the list.

Contact Us/Comment mailto

Look into setting up a USDA outlook group for the SoyBase Contact US/Comment to send an email to the entire SoyBase team.

Split cmap-js configurations into several groups

The cmap-js view of all QTL features is kind of overwhelming, requiring horizontal scrolling to see all of the feature classes.

Desired: to divide the features by group, e.g. disease, seed, growth/misc.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.