Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Several Features & Improvements #6

Open
44 of 58 tasks
lpalbou opened this issue Jul 31, 2018 · 7 comments
Open
44 of 58 tasks

Several Features & Improvements #6

lpalbou opened this issue Jul 31, 2018 · 7 comments
Assignees
Labels
enhancement New feature or request

Comments

@lpalbou
Copy link
Contributor

lpalbou commented Jul 31, 2018

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:
  • 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)

@lpalbou lpalbou added the enhancement New feature or request label Jul 31, 2018
@lpalbou lpalbou self-assigned this Jul 31, 2018
@kltm
Copy link
Member

kltm commented Jul 31, 2018

@lpalbou what is this item? gorest: scheduled to be available as npm package, including with types (TypeScript)

@kltm
Copy link
Member

kltm commented Jul 31, 2018

We'll also want to work with others (@tmushayahama @suzialeksander etc.) to choose the look-and-feel toolkits that we'll be using. As well as keeping an eye on making things a little more ADA-compliant.

@lpalbou
Copy link
Contributor Author

lpalbou commented Jul 31, 2018

@kltm some answers:

  • gorest: I was referring to the client-side code retrieving data from the gorest api. I plan to create that as a separate module, so that @tmushayahama can directly use it from Noctua Form & Review... as for the moment, he decided not to use my API but instead to duplicate the SPARQL queries behind my API, even though I warned him those queries will evolve over time (...)

  • Look-And-Feel: let's coordinate on that. I know Tremayne is using Angular Material, I am too. I just have additional scss files to further configure the styling. But yes, it should be harmonized across all apps.

  • ADA-compliant: sure, let me know what you have in mind. For the moment, gocam site scores 79% with LightHouse audit on accessibility but we could improve a few things (e.g. the link for evidence per gocam are only green icons so I could try to put a alt="" somewhere to describe them)

@kltm
Copy link
Member

kltm commented Aug 1, 2018

  • gorest, while an good exercise and experiment, I'm not particularly comfortable having this as an API leaking into production software--we need to work on uniformity, common APIs, and libraries. The underlying SPARQL should be available as templates, so there should be little duplication or worry about drift there. As well, given our large es5 base at this point, common libraries should be written in a way so that they can easily be included elsewhere (such as having a standard babel workflow that we work out).

  • For look-and feel, we've already made a lot of use of Bootstrap, so my druthers would be to continue to evolve along those lines. If Material, was there a particular toolkit (a la bootstrap) that we could use more generally, for both standard static pages, Vue components, legacy components, etc.?

  • ADA-compliant, honestly, I was thinking more about a different site; I'll take a bit more of a look around.

  • I noticed that you have https://app.swaggerhub.com/apis/geneontology/gosparql/2.2 , this is the API you are referring to above?

  • You seem to be using your own URL scheme for wiki links; these should be standardized across our presence.

  • We should check back in with @dougli1sqrd about our progress along the lines of the GOOSE replacement (re: https://geneontology.cloud/query/sparql-examples)

  • Links for the Noctua editor should generally be: http://noctua.geneontology.org/ (although note my barista whoops here Public barista returns to noctua.berkeleybop.org noctua#568).

  • Align on feedback form (apologies, that's on my plate right now)

  • GO logo links should generally go back to the main site.

@lpalbou
Copy link
Contributor Author

lpalbou commented Aug 2, 2018

Answers by Topic:

  • GOREST: the integration of my API inside BioLink is nearly finished, so this is not really an issue. However please remember BioLink can not be used at the moment for any data access on any secured site since BioLink is unsecured (http) and unfortunately so is the RDF endpoint too. We must deploy both BioLink and RDF endpoints to secured https if we want them to be used from https sites such as the next GO site or the Alliance.

    • Yes, https://app.swaggerhub.com/apis/geneontology/gosparql/2.2 is the updated swagger documentation of GORESTI that was available before the NYC meeting in May.
    • SPARQL templates: already discussed many time and we agree. Most of my queries have been in the sparqlr repo for some time (even though I have to update them since they still change quite often): https://github.com/geneontology/sparqlr/tree/master/templates/website. The next step would be to deploy those templates on some shared CDN or repository service or better to include them in OntoBio/BioLink.
    • es5: that's what I did with curie-util-es5 but if we want more "common" libraries, we need to discuss 1) on what 2) for what concrete case, 3) which language and why 4) who will develop it and 5) its priority.
  • ADA-compliant: I already follow a certain number of recommendations and the gocam site scores 79% on accessibility while amigo has 71% and noctua.berkeleybop has 72% (LightHouse Audit). If you have some suggestions to improve our accessibility, please let me know. However, this may not be a priority compared to other developments (general data access, validation checks, go site and documentations, interactive notebooks asked by the SAB, visualization of gocams, gocams matching, etc).

  • GOOSE replacement: since the discussion we had where @dougli1sqrd seems to be in charge of this, I stopped any related development. In the meantime, I have updated the SPARQL endpoint link to switch back to the http://rdf.geneontology.org/#query so /query/sparql-examples should not be used anymore. Btw, I had some security warnings recently on the gocam site due to the yasgui library that uses an old jquery library (< v3.0) with security issues.

  • Feedback Form: I will be waiting for your instructions, but I would have appreciated to be part of that discussion since my feedback button was here before the NYC meeting in May. Also depending of the functionalities you want, the GitHub API (https://developer.github.com/v3/issues/) already allows to post issues with title, body, labels and even assignees.

@suzialeksander
Copy link
Contributor

Any way this ticket can be split to make it more readable?

@lpalbou
Copy link
Contributor Author

lpalbou commented Aug 3, 2018

Hi Suzy, this is a summary of items to complete the gocam site, so it will stay like that to keep track of the progression, however I have created and referenced other tickets for specific topics of that list:

If there is another topic you would want separate for further discussions, either create or let me know.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants