Code Monkey home page Code Monkey logo

gsrs-spring-module-substances's Introduction

gsrs-spring-module-substances

GSRS Spring Boot Module for Substances

This is the GSRS 3 module for working with IDMP Substances as specified by the ISO 11238 Substance Model.

To install With FDA Extension modules

The FDA extension and example modules in this Repository are not yet in Maven Central and so rather than having to make people track down those repositories, we provide sample jars that can be installed into your local maven repository.

###To install the extra jars in Unix

./installExtraJars.sh 

###To install the extra jars in Windows

./installExtraJars.cmd 

gsrs-spring-module-substances's People

Contributors

alx652 avatar blueswordfish avatar chemmitch avatar dependabot[bot] avatar dkatzel-ncats avatar epuzanov avatar narchana avatar tylerperyea avatar vuyyurusri avatar

Stargazers

 avatar

Watchers

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

gsrs-spring-module-substances's Issues

Formated Names (HTML Names)

As for now GSRS used Plain Text for the substances names. The Plain Text has a limited possibility to represent IUPAC nomenclature names. Following text formatting features are necessary to support IUPAC nomenclature names:

  • Subscript
  • Superscript
  • Bold
  • Italic
  • Small caps
  • Greek characters
  • Romanian numbers
  • Special characters (arrows, +/-, etc.)

To solve this problem we can use one of the text formatting standard, like HTML, TeX or RTF to store the names in the database. By displaying the name in the UI the formatted names must be converted to the HTML.

The Name Converter possible Implementations are:

  1. as it implemented in this PR ncats/gsrs-play#16
  2. as a Micro-service (GET /api/v1/convert/tohtml/). Implements the GET method and as input formatted names in the URL encoded are used. The problem is that some Web browsers have a limitation of the URL length (<2k characters).
  3. as a Micro-service (GET /api/v1/convert/tohtml/). Implements the GET method and as input UUID of the name object are used. The solves the URL length problem, But this Micro-service can be used with Names only. The text strings in the Notes or Codes comments can not be converted in this way.
  4. as Micro-service (POST /api/v1/convert data = {‘format’:’html’, ‘test’:’’})
  5. The converter can be implemented as a part of the Front-end.

ValidationNotes creation control

Some Validators producing a lot of ValidationNotes. Some ValidationNotes including Codes and Names of the substances this can affect the search results. We need to have a possibility to disable creation of specified ValidationNotes. We can achieve this in the 3 different ways:

  1. Add a new 'addNote' paramater to every Validator, like in this PR ncats/gsrs-play#50
  2. Add the MESSAGE_TYPE.WARNING[0-9] Levels to messageType. Create a ValidationNotes based on messageType WARNING Level which can be specified in the application configuration.
  3. Add the ValidationNotes Messages Unique Identifier ([Names02], [Superatom01], etc) at the start of the Validation Messages or as a attribute to the GinasProcessingMessage class. Creation of the ValidationNotes can be controlled by the black list of the messages identifiers or by the regex.

Foreign Key indexes does not created automatically on PostgreSQL.

The Indexes for Foreign Key field will be created automaticaly on H2 and MySQL backends, but not on PostgreSQL and possible Oracle.

Here is the list of Foreign Keys without indexes:

              table             |          columns           |     referenced_table      
-------------------------------+----------------------------+---------------------------
 ix_ginas_reference            | last_edited_by_id          | ix_core_principal
 ix_ginas_reference            | created_by_id              | ix_core_principal
 ix_ginas_reference            | owner_uuid                 | ix_ginas_substance
 ix_ginas_code                 | created_by_id              | ix_core_principal
 ix_ginas_code                 | last_edited_by_id          | ix_core_principal
 ix_ginas_code                 | owner_uuid                 | ix_ginas_substance
 ix_core_backup                | namespace_id               | ix_core_namespace
 ix_core_edit                  | editor_id                  | ix_core_principal
 ix_core_structure             | created_by_id              | ix_core_principal
 ix_core_structure             | last_edited_by_id          | ix_core_principal
 ix_ginas_note                 | owner_uuid                 | ix_ginas_substance
 ix_ginas_note                 | created_by_id              | ix_core_principal
 ix_ginas_note                 | last_edited_by_id          | ix_core_principal
 ix_ginas_name                 | created_by_id              | ix_core_principal
 ix_ginas_name                 | last_edited_by_id          | ix_core_principal
 ix_ginas_name                 | owner_uuid                 | ix_ginas_substance
 ix_core_etag                  | namespace_id               | ix_core_namespace
 ix_core_structure_property    | ix_core_value_id           | ix_core_value
 ix_core_structure_property    | ix_core_structure_id       | ix_core_structure
 ix_ginas_substance            | structure_id               | ix_core_structure
 ix_ginas_substance            | created_by_id              | ix_core_principal
 ix_ginas_substance            | last_edited_by_id          | ix_core_principal
 ix_ginas_substance            | nucleic_acid_uuid          | ix_ginas_nucleicacid
 ix_ginas_substance            | modifications_uuid         | ix_ginas_modifications
 ix_ginas_substance            | approved_by_id             | ix_core_principal
 ix_ginas_substance            | structurally_diverse_uuid  | ix_ginas_strucdiv
 ix_ginas_substance            | mixture_uuid               | ix_ginas_mixture
 ix_ginas_substance            | specified_substance_uuid   | ix_ginas_ssg1
 ix_ginas_substance            | polymer_uuid               | ix_ginas_polymer
 ix_ginas_substance            | protein_uuid               | ix_ginas_protein
 ix_ginas_relationship         | related_substance_uuid     | ix_ginas_substanceref
 ix_ginas_relationship         | owner_uuid                 | ix_ginas_substance
 ix_ginas_relationship         | last_edited_by_id          | ix_core_principal
 ix_ginas_relationship         | created_by_id              | ix_core_principal
 ix_ginas_relationship         | mediator_substance_uuid    | ix_ginas_substanceref
 ix_ginas_relationship         | amount_uuid                | ix_ginas_amount
 ix_ginas_substanceref         | created_by_id              | ix_core_principal
 ix_ginas_substanceref         | last_edited_by_id          | ix_core_principal
 ix_ginas_moiety               | structure_id               | ix_core_structure
 ix_ginas_moiety               | owner_uuid                 | ix_ginas_substance
 ix_ginas_moiety               | last_edited_by_id          | ix_core_principal
 ix_ginas_moiety               | created_by_id              | ix_core_principal
 ix_ginas_moiety               | count_uuid                 | ix_ginas_amount
 ix_ginas_amount               | created_by_id              | ix_core_principal
 ix_ginas_amount               | last_edited_by_id          | ix_core_principal
 ix_ginas_nameorg              | last_edited_by_id          | ix_core_principal
 ix_ginas_nameorg              | owner_uuid                 | ix_ginas_name
 ix_ginas_nameorg              | created_by_id              | ix_core_principal
 ix_ginas_property             | owner_uuid                 | ix_ginas_substance
 ix_ginas_property             | created_by_id              | ix_core_principal
 ix_ginas_property             | referenced_substance_uuid  | ix_ginas_substanceref
 ix_ginas_property             | last_edited_by_id          | ix_core_principal
 ix_ginas_property             | value_uuid                 | ix_ginas_amount
 ix_ginas_parameter            | value_uuid                 | ix_ginas_amount
 ix_ginas_parameter            | last_edited_by_id          | ix_core_principal
 ix_ginas_parameter            | created_by_id              | ix_core_principal
 ix_ginas_parameter            | owner_uuid                 | ix_ginas_property
 ix_ginas_parameter            | referenced_substance_uuid  | ix_ginas_substanceref
 ix_ginas_vocabulary_term      | owner_id                   | ix_ginas_controlled_vocab
 ix_ginas_vocabulary_term      | namespace_id               | ix_core_namespace
 ix_core_session               | profile_id                 | ix_core_userprof
 ix_ginas_site_lob             | created_by_id              | ix_core_principal
 ix_ginas_site_lob             | last_edited_by_id          | ix_core_principal
 ix_ginas_mixture              | created_by_id              | ix_core_principal
 ix_ginas_mixture              | parent_substance_uuid      | ix_ginas_substanceref
 ix_ginas_mixture              | last_edited_by_id          | ix_core_principal
 ix_ginas_component            | last_edited_by_id          | ix_core_principal
 ix_ginas_protein              | last_edited_by_id          | ix_core_principal
 ix_ginas_protein              | glycosylation_uuid         | ix_ginas_glycosylation
 ix_ginas_protein              | created_by_id              | ix_core_principal
 ix_ginas_component            | created_by_id              | ix_core_principal
 ix_ginas_component            | substance_uuid             | ix_ginas_substanceref
 ix_ginas_component            | amount_uuid                | ix_ginas_amount
 ix_ginas_controlled_vocab     | namespace_id               | ix_core_namespace
 ix_ginas_substance_mix_comp   | ix_ginas_mixture_uuid      | ix_ginas_mixture
 ix_ginas_substance_mix_comp   | ix_ginas_component_uuid    | ix_ginas_component
 ix_ginas_strucdiv             | maternal_uuid              | ix_ginas_substanceref
 ix_ginas_strucdiv             | created_by_id              | ix_core_principal
 ix_ginas_strucdiv             | last_edited_by_id          | ix_core_principal
 ix_ginas_strucdiv             | paternal_uuid              | ix_ginas_substanceref
 ix_ginas_strucdiv             | parent_substance_uuid      | ix_ginas_substanceref
 ix_ginas_subunit              | created_by_id              | ix_core_principal
 ix_ginas_subunit              | last_edited_by_id          | ix_core_principal
 ix_ginas_glycosylation        | created_by_id              | ix_core_principal
 ix_ginas_polymer              | classification_uuid        | polymer_classification
 ix_ginas_polymer              | display_structure_id       | ix_core_structure
 ix_ginas_polymer              | created_by_id              | ix_core_principal
 ix_ginas_polymer              | last_edited_by_id          | ix_core_principal
 ix_ginas_material             | owner_uuid                 | ix_ginas_polymer
 ix_ginas_polymer              | idealized_structure_id     | ix_core_structure
 ix_ginas_material             | last_edited_by_id          | ix_core_principal
 ix_ginas_material             | amount_uuid                | ix_ginas_amount
 ix_ginas_material             | monomer_substance_uuid     | ix_ginas_substanceref
 ix_ginas_material             | created_by_id              | ix_core_principal
 ix_ginas_glycosylation        | c_glycosylation_sites_uuid | ix_ginas_site_lob
 ix_ginas_glycosylation        | last_edited_by_id          | ix_core_principal
 ix_ginas_glycosylation        | o_glycosylation_sites_uuid | ix_ginas_site_lob
 ix_ginas_glycosylation        | n_glycosylation_sites_uuid | ix_ginas_site_lob
 polymer_classification        | parent_substance_uuid      | ix_ginas_substanceref
 ix_core_principal             | selfie_id                  | ix_core_figure
 ix_core_userprof              | user_id                    | ix_core_principal
 ix_core_userprof              | namespace_id               | ix_core_namespace
 ix_ginas_linkage              | site_container_uuid        | ix_ginas_site_lob
 ix_ginas_linkage              | last_edited_by_id          | ix_core_principal
 ix_ginas_linkage              | owner_uuid                 | ix_ginas_nucleicacid
 ix_ginas_linkage              | created_by_id              | ix_core_principal
 ix_ginas_modifications        | created_by_id              | ix_core_principal
 ix_ginas_modifications        | last_edited_by_id          | ix_core_principal
 ix_ginas_nucleicacid          | last_edited_by_id          | ix_core_principal
 ix_ginas_nucleicacid          | modifications_uuid         | ix_ginas_modifications
 ix_ginas_nucleicacid          | created_by_id              | ix_core_principal
 ix_ginas_nucleicacid_subunits | ix_ginas_nucleicacid_uuid  | ix_ginas_nucleicacid
 ix_ginas_nucleicacid_subunits | ix_ginas_subunit_uuid      | ix_ginas_subunit
 ix_ginas_otherlinks           | site_container_uuid        | ix_ginas_site_lob
 ix_ginas_otherlinks           | created_by_id              | ix_core_principal
 ix_ginas_otherlinks           | owner_uuid                 | ix_ginas_protein
 ix_ginas_otherlinks           | last_edited_by_id          | ix_core_principal
 ix_ginas_protein_subunit      | ix_ginas_protein_uuid      | ix_ginas_protein
 ix_ginas_protein_subunit      | ix_ginas_subunit_uuid      | ix_ginas_subunit
 ix_ginas_ssg1                 | created_by_id              | ix_core_principal
 ix_ginas_ssg1                 | last_edited_by_id          | ix_core_principal
 ix_ginas_substance_ss_comp    | ix_ginas_ssg1_uuid         | ix_ginas_ssg1
 ix_ginas_substance_ss_comp    | ix_ginas_component_uuid    | ix_ginas_component
 ix_ginas_sugar                | last_edited_by_id          | ix_core_principal
 ix_ginas_sugar                | created_by_id              | ix_core_principal
 ix_ginas_sugar                | owner_uuid                 | ix_ginas_nucleicacid
 ix_ginas_sugar                | site_container_uuid        | ix_ginas_site_lob
 ix_ginas_unit                 | amount_uuid                | ix_ginas_amount
 ix_ginas_unit                 | owner_uuid                 | ix_ginas_polymer
 ix_ginas_unit                 | created_by_id              | ix_core_principal
 ix_ginas_unit                 | last_edited_by_id          | ix_core_principal
 ix_ginas_unit                 | amap_id                    | ix_core_value
 polymer_classification        | last_edited_by_id          | ix_core_principal
 polymer_classification        | created_by_id              | ix_core_principal
 ix_core_xref_property         | ix_core_value_id           | ix_core_value
 ix_core_xref                  | namespace_id               | ix_core_namespace
 ix_core_acl_group             | ix_core_acl_id             | ix_core_acl
 ix_core_timeline_event        | ix_core_event_id           | ix_core_event
 ix_core_userprof_prop         | ix_core_value_id           | ix_core_value
 ix_core_userprof_prop         | ix_core_userprof_id        | ix_core_userprof
 ix_core_structure_link        | ix_core_xref_id            | ix_core_xref
 ix_core_structure_link        | ix_core_structure_id       | ix_core_structure
 ix_core_procrec_prop          | ix_core_procrec_id         | ix_core_procrec
 ix_ginas_structuralmod        | last_edited_by_id          | ix_core_principal
 ix_ginas_structuralmod        | molecular_fragment_uuid    | ix_ginas_substanceref
 ix_ginas_structuralmod        | site_container_uuid        | ix_ginas_site_lob
 ix_ginas_structuralmod        | created_by_id              | ix_core_principal
 ix_ginas_structuralmod        | owner_uuid                 | ix_ginas_modifications
 ix_ginas_structuralmod        | extent_amount_uuid         | ix_ginas_amount
 ix_core_procrec_prop          | properties_id              | ix_core_value
 ix_core_procrec               | job_id                     | ix_core_procjob
 ix_core_procrec               | xref_id                    | ix_core_xref
 ix_core_procjob_key           | keys_id                    | ix_core_value
 ix_core_procjob_key           | ix_core_procjob_id         | ix_core_procjob
 ix_core_procjob               | payload_id                 | ix_core_payload
 ix_core_procjob               | owner_id                   | ix_core_principal
 ix_core_payload_property      | ix_core_value_id           | ix_core_value
 ix_core_payload_property      | ix_core_payload_id         | ix_core_payload
 ix_core_payload               | namespace_id               | ix_core_namespace
 ix_core_namespace             | owner_id                   | ix_core_principal
 ix_core_group_principal       | ix_core_principal_id       | ix_core_principal
 ix_core_figure                | parent_id                  | ix_core_figure
 ix_core_stitch_attribute      | ix_core_attribute_id       | ix_core_attribute
 ix_core_publication_author    | ix_core_pubauthor_id       | ix_core_pubauthor
 ix_ginas_substance_tags       | ix_ginas_substance_uuid    | ix_ginas_substance
 ix_ginas_substance_tags       | ix_core_value_id           | ix_core_value
 ix_core_acl_principal         | ix_core_principal_id       | ix_core_principal
 ix_ginas_physicalpar          | created_by_id              | ix_core_principal
 ix_ginas_physicalpar          | last_edited_by_id          | ix_core_principal
 ix_ginas_physicalpar          | amount_uuid                | ix_ginas_amount
 ix_ginas_physicalpar          | owner_uuid                 | ix_ginas_physicalmod
 ix_ginas_physicalmod          | owner_uuid                 | ix_ginas_modifications
 ix_ginas_physicalmod          | created_by_id              | ix_core_principal
 ix_core_acl_principal         | ix_core_acl_id             | ix_core_acl
 ix_core_acl_group             | ix_core_group_id           | ix_core_group
 ix_ginas_physicalmod          | last_edited_by_id          | ix_core_principal
 ix_ginas_definition           | last_edited_by_id          | ix_core_principal
 ix_ginas_definition           | created_by_id              | ix_core_principal
 ix_ginas_agentmod             | amount_uuid                | ix_ginas_amount
 ix_ginas_agentmod             | owner_uuid                 | ix_ginas_modifications
 ix_ginas_agentmod             | created_by_id              | ix_core_principal
 ix_ginas_agentmod             | agent_substance_uuid       | ix_ginas_substanceref
 ix_ginas_agentmod             | last_edited_by_id          | ix_core_principal
 ix_core_xref_property         | ix_core_xref_id            | ix_core_xref

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.