Giter VIP home page Giter VIP logo

web-gocam's Introduction

GO-CAMs Site

This is the angular application serving the geneontology.org/go-cam site for GO-CAMs

Development server

Run ng serve for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.

Build

Run ng build to build the project. The build artifacts will be stored in the dist/ directory. Use the -prod flag for a production build.

Deploy site in production

./deploy.sh

Note: this script requires the AWS permissions to upload the build site to S3 and invalidate the associated cloudfront distribution

web-gocam's People

Contributors

angular-cli avatar dustine32 avatar kltm avatar lpalbou avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

web-gocam's Issues

Redirects system via file

As the domain root, the current Drupal maintains a larger number of redirect, both to external resources, legacy page updates, and page renamings.; the webserver that hosts it likely many more.
While we will likely get rid of many of these, we will still have many cases where we'll want to redirect in various ways, some of them supporting this legacy.

This would be to implement a redirect system built into the new site's deployment, that reads from a structured file and redirects accordingly, editable by general GO users.

As a model, note the github.io system and https://github.com/jekyll/jekyll-redirect-from ; these could be directly used depending on the deployment method.

Display only causal models on GO-CAM site

As suggested by @thomaspd, we should only show the most relevant (i.e., causal) GO-CAM models on the GO-CAM browser site.

I believe a fast way (perhaps we could call it a hack) to implement this is to just add the ?causlmf=2 parameter to the API call used to generate the cached gocam-models.json file. The other three files shouldn't require any change as they're just lookup files for the main gocam-models.json file.

GO-CAM Documentation

GOCAM site has a single entry point for documentation for each type of usage (research, curation, development):

  • : coordinate with Pascale and Kimberly for the Research & Curator pages on wiki
  • : maintain the developer page on wiki

Several Features & Improvements

List of features and improvements discussed:

Home Page

  • Text Content
    • Use "GO Annotations" instead of "standard GO Annotations"
    • Remove Learn More

Browse Page

  • Search Capabilities:
    • include Gene Product ids (e.g.ZDB-GENE-031112-7)
    • include GO-Term id (e.g. GO:0090090)
    • search on multiple fields (*)
    • ontology search (2 ways of doing that, lesser priority - use regulates closure)
    • enable faceted search (e.g. precise when searching for a go term, a gp, a mf, a bp, etc)
  • GO-CAM Matching [need separate ticket and work]
    • Simple Algorithm to compare GO-CAMs
    • Evaluate the current redundancy of GO-CAMs
  • View Models:
    • Change margin & padding to have a more compact view
    • Put buttons under the title
    • Ensure PathwayView link is usable (no it's not)
  • Displayed Columns:
    • Ability to customize the displayed columns (show/hide specific columns)
    • Put the date at the end of the line to lower the focus on that
    • By default, remove the curator column
    • Ability to sort by date (lesser priority)
  • Uberon and other MOD ontologies describing localization [not required at this time]
    • At the moment, we only show data on GO BP/MF/CC, but a number of gocams can only be differentiate based for instance on Uberon.
  • Date:
    • Release date shown based on the last release date in Zenodo (while waiting for a better solution, see geneontology/pipeline#20)
    • Discuss to use the ISO format of amigo (e.g. 20110404)
    • At least have consistency between the dates displayed in the browse table and the recent models
  • Article Tooltip:
    • When multiple authors, add the "et al"
  • Gene Products:
    • Monitor the effects of dustin SYNGO fix on GPs URI (e.g. name & other metadata)
    • Only the GPs found by enabled_by are currently shown / searchable. We want to add the GPs found by has_input relationships as well (both in the table and has a search feature)
    • Show species name either 1 capital letter genus + "." + lowercase species (e.g. C.elegans) or using the uniprot conventions
  • General Presentation:
    • add a hint above the browsing table to specify what represents its content
    • DLK example remove from the front page, the NEDD4 gocam illustration has been put instead
      • curators could provide other relevant examples (2-4) to show on the main page

Alternative Browsing

  • could integrate a ribbon before even searching the models to have an overview of the high-level functions covered by go-cams. The ribbon could also become an alternative way to browse the gocam models (note however some changes would be required since the ribbon is designed to work with a gene, not a given list of gocams)
  • could explore a "cards" page where each card would represent a high-level biological function (possibly from the AGR slim), with a small description, and clicking on it would only show the models related to that function

Group Page

  • add a link to browse all models of that group
    • numbers of models shown per user should represent the models for that group only (for the moment, for all groups)

Group & User Pages

  • since only a text search is done at the moment, searching for instance for "MGI" will return both models from MGI (group) and models from other groups using MGI genes. In relation with allowing for facetted search. Proposal: add a prefix to the search keyword (e.g. group:MGI ; gp:MGI:xxx, go:GO:xxx)

Feedback

  • Check if API to submit ticket to GitHub (yes there is one)
  • Send E-Mail instead of storing feedbacks in a DB
  • Monitor discussion on other choices (e.g. tender)
  • Change: the feedback (without s) button now redirects to the GO helpdesk

Download

  • Include at least SIF format. Coordinate with @kltm for generation with the pipeline
  • the browsing table (/browse) should also give users the ability to export the table in csv/tsv

Documentation

  • Coordinate with Pascale and Kimberly for the Research & Curator pages on wiki
  • External user documentation should be on the site itself (now in /docs) with links to the main noctua/go-cam page (http://wiki.geneontology.org/index.php/Noctua)
    • (optional) improve the documentation with some (interactive) illustrations

Technical comments:

  • update to last version of angular
  • correct any css problems due to the update of angular material
  • for CURIE <-> IRI, should benefit from curie-util-es5
    • CurieUtilService created with accession methods for both CURIE & IRI
    • only use this service to resolve CURIE & IRI (waiting for the db-xrefs to populate the go_context.jsonld)
    • Using noctua.geneontology.org as base URL instead of noctua.berkeleybop.org
  • paving the way for more modularized codes:
    • gorest: scheduled to be available as npm package, including with types (TypeScript)
    • queries (sparql): should all come from a single repo and in the near future, implement/use sparqlr

Overall speed:

  • Correct the CORS problem on the SPARQL query to render the first page, this affects the time to load / show

[EDIT]
Current state of development is updated.

[EDIT2]
Added features / suggestions / corrections from September 17 call

(*): multiple keywords can be either from the same column (e.g. finding the models with two biological processes: GO:0090090 GO:0021999) or from different columns (e.g. finding a model with a gene in a certain location: synapse RAB3)

Feedback

The current Feedback component does not create GitHub tickets and there are discussions about using a 3rd party tool for handling feedbacks.

Remove GO-CAM download card from /go-cam site

Remove GO-CAM download card from /go-cam site--the current one seems to contain items last updated in Dec 2020. As well, we are having a discussion about whether we are wanting to continue with the current SIF and JSON blob. After a discussion with @dustine32 , we believe it would be easier to re-implement (using existing or new code) than to fix. Adding new functionality with "fixed" downloads would be a different item. (Tagging @pgaudet and @cmungall ).

The GO-CAM browser just spins--no display created

The go-cam browser (https://geneontology.cloud/browse) currently just spin, with no display/browser created.

Looking at network traffic, everything seems to be fine: https://api.geneontology.cloud/models?last=12 returns just fine and the two S3 files seem to be there.

It actually looks like a code failure (at some level): ERROR TypeError: n.forEach is not a function

Wild guess: could be caused by cachingor related GO-CAM API issues (e.g. geneontology/api-gorest-2021#2 and geneontology/api-gorest#4) leading to mismatched objects leading to a null result that does not have an iterator.
I'd also guess the timing is related to the recent release. It may just need a kick (refresh).

Tagging @dustine32 and @tmushayahama and @sierra-moxon

Access to development models

The ability to browse development models, especially in the user page, is a general demand. It would help curators to access the models they are currently working on.

Several solutions exist:

  • The easiest & quickest is to include the development models in the blazegraph journal behind the sparql endpoint rdf.geneontology.org.
  • Another solution is to further use the bbop manager NodeJS modules

Notes:

  • this question is somewhat related to the current choice of having an independent readonly SPARQL endpoint and a Minerva/Barista stack for writing models (triples)
  • to avoid displaying development models on the GO-CAM landing page, they should be hidden by default, or a cleaner solution would be to have a general login/session, where only curators & admin would have access to development models.

External links should go to new AmiGO GO-CAM pages

This would be a fully fixed version of #21 (comment)

Some links at external locations point to the noctua curation system, creating load and outages for something that is not meant to be a public interface. An example (the only one?) is the pathway widget, which routes to a noctua view.

This would be closed when user all traffic associated with this repo is directed away from noctua (in conjunction with geneontology/api-gorest-2021#6).

SIF Archive Download

Ability to download GOCAMs in SIF format:

  • : create either SPARQL or GOLR queries to fetch each gocam as a graph
  • : convert the graph in SIF format
  • : integrate the code or queries in the pipeline to produce an archive of all gocams in SIF

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.