Giter Club home page Giter Club logo

seek's Introduction

Build Status DOI

FAIRDOM-SEEK

License

Copyright © 2009-2023, University of Manchester and HITS gGmbH

BSD 3-clause

About FAIRDOM-SEEK

The FAIRDOM-SEEK platform is a web-based resource for sharing heterogeneous scientific research datasets,models or simulations, processes and research outcomes. It preserves associations between them, along with information about the people and organisations involved. Underpinning SEEK is the ISA infrastructure, a standard format for describing how individual experiments are aggregated into wider studies and investigations. Within SEEK, ISA has been extended and is configurable to allow the structure to be used outside of Biology.

FAIRDOM-SEEK is incorporating semantic technology allowing sophisticated queries over the data, yet without getting in the way of your users.

For an example of FAIRDOM-SEEK please visit our Demo.

To see FAIRDOM-SEEK being used for real science, as part of FAIRDOM please visit FAIRDOMHub

For more information please visit: SEEK for Science

FAIRDOM

FAIRDOM-SEEK is being developed and funded as part of the FAIRDOM initiative. For more information please visit: FAIRDOM.

Installation

We recommend installing FAIRDOM-SEEK on Debian or Ubuntu.

To install the latest release please visit: SEEK install guide

For details about other distributions and installing on Mac OS X please visit: Other distributions guide

The documentation is available on the ghpages branch.

Contacting Us

For details about how to contact us, to raise bugs or offer suggestion, please visit Contacting Us

Contributing to FAIRDOM-SEEK

In general :

  1. Fork it ( https://github.com/seek4science/seek/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

For more details on how and what you can contribute to SEEK please visit Contributing

seek's People

Contributors

aapaolaza avatar abecam avatar abretaud avatar aina1205 avatar alaninmcr avatar christophb avatar dependabot[bot] avatar eilidh-t avatar fbacall avatar fherreazcue avatar hainesr avatar hleonov avatar jerem-info avatar joshk avatar katrinleinweber avatar kdp-cloud avatar maggy128 avatar menjabin avatar muellerwhd avatar njall avatar quyen avatar reutenauer avatar somathias avatar stain avatar stuzart avatar susca avatar tzielins avatar vdk88 avatar vdkkia avatar whomingbird avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

rabuono

seek's Issues

In ISAjson export value for characteristics in second SEEK Assay are not being added

Example from this project

In the assays object in the ISAjson.
Under otherMaterials
The characteristics value are being filled with the Attribute Title and not the Attribute value for that SEEK Sample.
Example here

The values Title, submission date, status, and accession are actually the Titles for the Attributes (or the characteristicType annotationValue, example here). In this example, the characteristic Title has values input by user, while submission date, status, and accession have no values input.

IRI for the template attributes name

Sometimes, each attribute has an identifier (often an IRI from an ontology).
The goal is just to distinguish where the attribute name has come from (By putting the IRI somewhere for the attribute name)

lock a template

The ability to lock a template so that no one can create a new template based on that.
The lock checkbox can be placed in the template creation and used by the creator.

Single page improvements

In the left side section

  • horizontal scrollable bar
  • vertical scrollable bar
  • show all items collapsed by default?
  • "collapse all investigations" option somewhere
  • "View more" button when there are too many Investigations

In ISAjson export add Investigation SEEK ID to the Investigation comment

Similar to issue #34
Currently the exported ISAjson does not contain the SEEK ID of the Investigation.
That information can be added to the same comments object in investigation as the ISAjson export time is currently held in.
Example here.

A couple of comments can be added:
"name": "Investigation SEEK ID with "value": being the SEEK ID of the Investigation exported

Add link to Template on "Applied template" field

In Single page view, on the Details tab in Study and in Assay, the field for Applied template (in yellow bellow) displays the name of the Template applied, but does not link to the Template.

It would be nicer if the name of the Template was also a link to that Template's view page.

image

In ISAjson export remove spaces from @id

Since @id are generally described as: "@id": { "type": "string", "format": "uri" }, it might be best to substitute spaces with _.
The substitution with _ would also help to maintain some readability for humans.

In ISAjson Export add the export date of the investigation as a comment

Add the export time of the ISAjson file to the Investigation being exported.
Currently there is no indication inside of the .json exported ISAjson file of when the export happened. Since Investigations can change over time, having a timestamp inside of the file can help to solve potential confusion rising from two exports of the same Investigation having different contents.

The ISAjson export time can be added as a comment to the investigation following the investigation and comment schemas.

An example of a comment in an investigation can be found here
In the case of export time, we could have:
name: "ISAjson export time"
The value for value: being the export time down to the minutes, following ISO 8601 with a UTC offset indication.

Add ability to edit an unused Template

Please add the ability to edit a Template that has no derived Sample Types.

  • Necessary to fix typos and other mistakes only noticed after Template creation.
  • Necessary for changing a not yet used Template after receiving feedback from a collaborator.
    • Example: “I made this Template, do you think I should add or remove any of the Attributes or does it look good as it is?”.

“Edit Template” can be under the Action button, together with “Delete Template”

Add warning message when required Attribute is modified in a Template

When creating a derived Template (create Template based on existing Template), display a warning message when an Attribute in the parent Template that is marked as Required is modified.
Modified includes: complete deletion of that Attribute, change of Attribute Type, unchecking of the Required box, change in Attribute Name, etc.

Mismatch between ontology annotationValue and termAccession

    "materials": {
      "sources": [
        {
          "@id": "#source/71",
          "name": "plant 2",
          "characteristics": {
            "category": { "@id": "#characteristic_category/organism" },
            "value": {
              "annotationValue": "Pinus resinosa",
              "termSource": "efo",
              "termAccession": "http://purl.obolibrary.org/obo/OBI_0100026"
            },
            "unit": { "@id": null }
          }
        },

annotationValue": "Pinus resinosa" should have termAccession": "http://purl.obolibrary.org/obo/NCBITaxon_54921", and not "termAccession": "http://purl.obolibrary.org/obo/OBI_0100026" which correspond to "Organism".

ISA Json Export - Inconsistent ontologySourceReferences

The ontologySourceReferences gets populated upon ISA JSON file export, and it means the applied terms are not coming from the version necessarily.
Solution: Store ontologies information (name, file, version, description) when terms are getting populated

SOP info in ISAjson

@rabuono I think we need to figure out what's best for SOP and then make specific issues about it.

        "protocols": [
            {
                "@id": "#protocol/seek id of the attribute with isaTag=protocol from template", //Probably best to have SEEK ID of the SOP assigned as Protocol for that Sample Type
                "name": "name of the attribute with isaTag=protocol from template", //Probably best is to use SOP title as discussed since it reflects User's name for protocol
                "protocolType": {
                    "annotationValue": "isa_protocol_type from template", //We have been adding these as the "Attribute name" of the attribute with isatag=protocol. For example "sample collection".
                    "termAccession": "iri of the attribute with isaTag=protocol from template",//This is about the title of the attribute, if defined by an ontology term. 
                    "termSource": "abbreviated ontology name (from the iri), as defined in ontologySourceReferences above"
                },
                "description": "description of the attribute with isaTag=protocol from template", //Originally this was supposed to be SOP description
                "uri": "iri again", //I am not sure SEEK has a IRI field for registering SOPs
                "version": "",
                "parameters": [
                    {
                        "@id": "#parameter/seek id of the attribute with isaTag=parameter_value from template", //Is associated with Sample Type, not Template.
                        "parameterName": {
                            "annotationValue": "attribute name of the attribute",
                            "termSource": "abbreviated ontology name (from the iri), as in ontologySourceReferences above",
                            "termAccession": "iri of the attribute with isaTag=parameter_value from template" //IRI of the term used as title for the attribute, if defined by an ontology term
                        }
                    }
                ],

"description": "description of the attribute with isaTag=protocol from template", //Originally this was supposed to be SOP description. Could we discuss if maybe we could pre-populate the protocol attribute with the SOP title? Or How do we use this attribute in dynamic table?

Visualisation bug DT

In DT, I am not able to visualise the suggested terms (Input) for the 6th sample/row. DT doesn't scroll down anymore.

Screenshot 2022-05-02 at 09 17 48

In ISAjson export the @id of equally named attributes are not unique

In an Investigation, if two attributes with isaTag other_material_characteristic have the same attribute title, they end up receiving the same @id in the ISAjson export. This causes the @id to not be unique.

An example from this project.
#characteristic_category/status appears three times: here, here and here.
These reflect an attribute of title status in the Source table and in two SEEK Assays.

Sources are listed instead of Samples

ISA Sources (111,112,113,114) are listed under assays --> materials --> samples instead of ISA samples (115,116).
Example here..

It should be:

"materials": {
              "samples": [
                { "@id": "#sample/115" },
                { "@id": "#sample/116" }
              ],

Enforce unique Study names in a same Investigation

To avoid confusion when navigating and searching, but also conflict in an ISAjson export, it would be good if DataHub would enforce unique Study names linked to a same Investigation.
Otherwise multiple different studies with the same title and filename (in the ISAjson file) might be referred to in a same Investigation.

In ISAjson export add Project name and Project SEEK ID as a comment in Investigation

Currently the exported ISAjson carries no information about which SEEK Project that Investigation belongs to.
That information can be added to the same comments object in investigation as the ISAjson export time is currently held.
Example here.

A couple of comments can be added:
"name": "SEEK Project name with "value": being the name of the Project to which the Investigation is associated with
"name": "SEEK Project ID with "value": being the SEEK ID for the Project to which the Investigation is associated with

In ISAjson export use same style for Investigation and Study ID

In the ISAjson export the SEEK ID for the Investigation and the Study are given as 'comments' inside the appropriate object.

Currently for Investigation it is, for example:
"name": "SEEK Investigation ID", "value": 16

For Study:
"name": "SEEK ID", "value": "studies/16"

Might be best to have the studies closer to what is done for Investigation. On the same example as above, it would look like:
"name": "SEEK Study ID", "value": 16

Choice of parent Template as first item when making Template based on existing Template

When creating a Template based on an existing Template, the first item when in the Based on existing Template tab is the choice of the parent Template (e.g. a dropdown menu of existing Templates the User has access to).

By first choosing the parent Template, the User allows SEEK to fetch the correct information to pre-populate fields in the Template creation form (e.g. Template Description, and the list of Attributes with associated information).

Assay CharacteristicCategories

Not all the SEEK's Assays attributes are listed under Assay characteristicCategories. These should be re-used under ISAjson assay --> materials --> otherMaterials -->characteristics --> category for each "otherMaterial".

Similar to #20

ISA Json export - Conflict with rule #28 of ISA

Rule number 28 of Ontology Annotations with a term and/or accession MUST provide a Term Source REF pointing to a declared Ontology Source Reference.
This conflicts with letting the user input free text for an ontology.

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.