Skip to content

Dosage Sensitivity

Scott G edited this page Oct 1, 2019 · 33 revisions

The purpose of this page is to outline the main pages and core features each page contains. THIS IS A TEST - From Local


Table of contents



Curation List

The Dosage Sensitivity Curation List acts the primary page for summary information about Dosage's curations to be listed. This page will support the ability to do the following...

  • Provide visitors key summary facts about curations
  • List all of the curations
  • Provide a paginated list of all of the curations
  • Allow visitors to "search" and "filter" Dosage curations
  • Provide visitors ways to "sort" curations (all or matched)
  • Provide helpful insights about other ClinGen curation activities
  • Provide information from external resources to assist visitors

Dosage Sensitivity Curation List

#1. + #2. Curation Totals

The curation totals are displayed in a few areas. On this page, figures displayed are totals for all of the curations done by dosage, regardless of filter, sort, or pagination configuration.

This page is seeking the following data to be returned to allow the totals to be displayed.

NOTE: JSON structure, key, and labels are intended to facilitate the discussion. Final structure and examples will be replace the options below.

Option 1 (For consideration)
This option has the API return the total curations along with totals based on each type of curation.

{
  "totals": {
    "total": "1000",
    "types": {
      "genes": "500",
      "regions": "500"
    }
  }
}
KEY DESCRIPTION
totals Placeholder - intended to provide context for the example
totals>total The total number of curations for both genes and regions. NOTE: this shouldn't include any hidden, private, or past versions of curations. This total should only be active and public curations
totals>types Provides a object to organize two different types of curations and the totals
totals>types>genes The total number of curations for genes. NOTE: this shouldn't include any hidden, private, or past versions of curations. This total should only be active and public curations
totals>types>regions The total number of curations for genes. NOTE: this shouldn't include any hidden, private, or past versions of curations. This total should only be active and public curations

Option 2 (For consideration)
This option has the API return the totals based on each type of curation. The website will then take the data from the API to compute the total.

{
  "totals": {
    "genes": "500",
    "regions": "500"
  }
}
KEY DESCRIPTION
totals Placeholder - intended to provide context for the example
totals>genes The total number of curations for genes. NOTE: this shouldn't include any hidden, private, or past versions of curations. This total should only be active and public curations
totals>regions The total number of curations for genes. NOTE: this shouldn't include any hidden, private, or past versions of curations. This total should only be active and public curations



Dosage Sensitivity Curation List

#3. & #4. Filters & Match Results

This area of the user experience provide visitors with three key features

  • The ability to see the filter that was set (Teal badge)
  • The quick ability to remove a filter [x]
  • The number of results matched (4)
  • Click and expand the filter area to see all of the possible features (3)

NOTE: At this time (Oct 1, 2019) the filter capabilities are available. This area of the documentation TDB on how it will interact with the API.

Items to consider

  • The UX should be retain what the user input in the filter and thus was sent to the API
  • The API should return the filters that were used along with the results. This ensures the the UX display reflects the filters the API used. If filters were not used or not available the UX would be able to info the user and log the discrepancy for review.

Dosage Sensitivity Curation List

#5. Gene/Region

This block (column) informs the visitor the gene or region that the curation was performed for. This is the most important data to be displayed. This block is also the main clickable area for users to continue to the curation details.

Option 1 (For consideration)
This option has the API return the total curations along with totals based on each type of curation.

Gene

{
  "curation": {
    "gene": {
    	"label": "ABC123",
    	"curie": "HGNC:1234"  
    },
    "iri": "unique123-4567"
  }
}
KEY DESCRIPTION
curation Placeholder - intended to provide context for the example
curation>gene They key informs the UX what type of curation
curation>gene>label The label that will be used on the row. For a gene this will be the gene symbol. The DCI provides a label but the API should provide the label (gene symbol) that HGNC provides (which the curation should be linked)
curation>gene>curie The compact identifier for the gene (in this case). For a gene this should be HGNC:XXXX
curation>iri The IRI to the specific curation. This IRI should be a permanent IRI and not subject to change if the database reset/rebuilt

Region

{
  "curation": {
    "region": {
    "label": "6p12 region (includes ABC123)",
    "curie": "6:157099063-157531913",
    "build": {
      "GRCH37": "6:157099063-157531913",
      "GRCH38": "6:157090063-157501913"
    }
  },
  "iri": "unique321-4567"
}
KEY DESCRIPTION
curation Placeholder - intended to provide context for the example
curation>region They key informs the UX what type of curation
curation>region>label The label that will be used on the row. The DCI provides a label which the curator manually typed in. This is why some labels may have () or other special characters
curation>region>curie For a region this would be the genome build that is being prioritized. This will be build (TBD GRCh37 or GRCh38)
location>region>build Including the build values allows the UX to provide additional display options. Other builds would be added to this object
curation>region>build>GRCH37 The key informs the build and the value provides the coordinates
curation>region>build>GRCH38 The key informs the build and the value provides the coordinates
curation>iri The IRI to the specific curation. This IRI should be a permanent IRI and not subject to change if the database reset/rebuilt

Sort Options This column will have sort abilities. The API should be able to accept a request to sort/re-sort the results. The UX should have the ability to pass the field (key) and the type of sort (ascending or descending).

  • Sort by row 'label' (gene or region) in an ascending order
  • Sort by row 'label' (gene or region) in an descending order

Dosage Sensitivity Curation List

#6. Location

It is very important to the user community to provide them context of where this gene or region is by displaying genomic coordinates.

{
  "location": {
    "build": {
      "GRCH37": "6:157099063-157531913",
      "GRCH38": "6:157090063-157501913"
    }
  }
}
KEY DESCRIPTION
location Placeholder - intended to provide context for the example
location>build Including the build values allows the UX to provide additional display options. Other builds would be added to this object
curation>build>GRCH37 The key informs the build and the value provides the coordinates
curation>build>GRCH38 The key informs the build and the value provides the coordinates

Dosage Sensitivity Curation List

#7. Haploinsufficiency Score

This Haploinsufficiency Score is the score that ClinGen's Dosage Sensitivity curation assertion. This Haploinsufficiency is not related in anyway to the %HI value outlined later in this document. This Haploinsufficiency Score is provided by the DSI.

{
  "haploinsufficiency": {
    "score": "0",
    "label": "No Evidence",
    "curie": "cg:dsi:1234"
  }
}
KEY DESCRIPTION
haploinsufficiency Placeholder - intended to provide context for the example
haploinsufficiency>score This is the numeric score that was assigned in the DSI.
haploinsufficiency>label This is the human readable score that the numeric score reflects.
haploinsufficiency>curie TBD: It is unknown if the API will have a permanent references to a haploinsufficiency score object. If so, having a CURIE assigned allows the UX to handle difference references and possible future queries.

Dosage Sensitivity Curation List

#8. Triplosensitivity Score

This Triplosensitivity Score is the score that ClinGen's Dosage Sensitivity curation assertion and is provided by the DSI.

{
  "triplosensitivity": {
    "score": "0",
    "label": "No Evidence",
    "curie": "cg:dsi:1234"
  }
}
KEY DESCRIPTION
triplosensitivity Placeholder - intended to provide context for the example
triplosensitivity>score This is the numeric score that was assigned in the DSI.
triplosensitivity>label This is the human readable score that the numeric score reflects.
triplosensitivity>curie TBD: It is unknown if the API will have a permanent references to a triplosensitivity score object. If so, having a CURIE assigned allows the UX to handle difference references and possible future queries. NOTE: It would be curious to know if shared scores, like 0, would need to have different CURIEs for each type (Triplosensitivity or Haploinsufficiency). This may not be needed but it would be good to check.

Dosage Sensitivity Curation List

#9. Other curation by ClinGen

This block (column) allows the user to quickly see if other curations have been done by ClinGen for this gene or region (region would be exact match, touching, or contained within).

NOTE: At this time this feature is not possible because the API doesn't have all of ClinGen's curations

{
  "clingen": {
    "total": "3",
    "activity": {
      "actionability": [
        {
          "iri": "unique321-4567",
          "gene": {
            "curie": "HGNC:1234",
            "label": "ABC123"
          },
          "disease": {
            "curie": "MONDO:1234",
            "label": "XZY Disease"
          },
          "moi": {
            "curie": "HP:1234",
            "label": "Autosomal Dominant"
          }
        },
        {
          "iri": "unique321-4567",
          "region": {
            "curie": "6:157099063-157531913",
            "label": "6:157099063-157531913"
          },
          "disease": {
            "curie": "MONDO:1234",
            "label": "XZY Disease"
          },
          "moi": {
            "curie": "HP:1234",
            "label": "Autosomal Dominant"
          }
        }
      ],
      "gene-validity": [
        {
          "iri": "unique321-4567",
          "gene": {
            "curie": "HGNC:1234",
            "label": "ABC123"
          },
          "region": {
            "curie": "6:157099063-157531913",
            "label": "6:157099063-157531913"
          },
          "disease": {
            "curie": "MONDO:1234",
            "label": "XZY Disease"
          },
          "moi": {
            "curie": "HP:1234",
            "label": "Autosomal Dominant"
          }
        }
      ]
    }
  }
}
KEY DESCRIPTION
clingen Placeholder - intended to provide context for the example
clingen>total The total number of active (publicly available) curations other curation activities. This number should exclude curations for Dosage
clingen>activity This object contains all of the curation activities that have done curations
clingen>activity>XXXXXXXX[] The key informs the curation activity and the array allows one or more curations to be provided.
clingen>activity>XXXXXXXX[]>iri This is the IRI to allow the UX to link directly to the curation
clingen>activity>XXXXXXXX[]>gene The gene symbol NOTE: this could be derived from other data in the main object if needed
clingen>activity>XXXXXXXX[]>gene>curie The compact IRI for the gene
clingen>activity>XXXXXXXX[]>gene>label The gene symbol
clingen>activity>XXXXXXXX[]>region>curie The compact IRI for the region
clingen>activity>XXXXXXXX[]>region>label The region coordinates
clingen>activity>XXXXXXXX[]>disease>curie The compact IRI for the condition
clingen>activity>XXXXXXXX[]>disease>label The disease label
clingen>activity>XXXXXXXX[]>moi>curie The compact IRI for the mode of inheritance
clingen>activity>XXXXXXXX[]>moi>label The mode of inheritance label

Dosage Sensitivity Curation List

#10. OMIM Morbid

This reflects if OMIM if this gene existing in OMIM's Mordid Map. This is helpful for users to know because to allows them to quickly reveal if this gene has relationship(s) with a phenotype.

The UX will count the number of morbid in the array.

  • IF 0 :: Don't display a check-mark
  • IF 1 :: Display a check-mark and on:hover display the phenotype with links
  • IF 1+ :: Display a check-mark + and on:hover display list of phenotypes with links

This will be interesting to understand how the API wants to provide this data to support the users request since OMIM data has not been available in the past.

{
  "morbid": [
    {
      "label": "123 Disease",
      "curie": "OMIM:1234"
    },
    {
      "label": "ABC Disease",
      "curie": "OMIM:1234"
    },
    {
      "label": "XZY Disease",
      "curie": "OMIM:1234"
    }
  ]
}
KEY DESCRIPTION
morbid Placeholder - intended to provide context for the example
morbid[] This should structure should be able to handle 1+ pieces of data
morbid[]>curie The compact IRI for the OMIM term
morbid[]>label The OMIM disease name

Dosage Sensitivity Curation List

#11. OMIM

This reflects if OMIM if this gene is in OMIM.

This will be interesting to understand how the API wants to provide this data to support the users request since OMIM data has not been available in the past.

The UX will check if this OMIM data is available.

  • IF NO :: Don't display a check-mark
  • IF YES :: Display a check-mark and link to OMIM page
{
  "OMIM": {
    "label": "XZY Disease",
    "curie": "MONDO:1234"
  }
}
KEY DESCRIPTION
OMIM Placeholder - intended to provide context for the example
morbid>curie The compact IRI for the OMIM gene
morbid>label The OMIM gene name

Dosage Sensitivity Curation List

#12. DECIPER Haploinsufficiency Score (HI index)

This data is available from Decipher (link below) and the API should use updated knowledge from decipher.

{
  "HIindex": {
    "value": "61.44%",
    "source": "Haploinsufficiency Predictions Version 3 (Ni et al). https://decipher.sanger.ac.uk"
    "last_updated": "2019-10-22T00:00:00.000-02:00"
  }
}
KEY DESCRIPTION
HIindex Placeholder - intended to provide context for the example
HIindex>value The value that was assigned
HIindex>source The description from the BED file so it can referenced as needed
HIindex>last_updated The last time that the API checked to see if the source was updated

Background If Needed

Decipher has over 17,000 protein coding genes have been scored according to their predicted probability of exhibiting haploinsufficiency. These predictions are generated using a classification model trained on two datasets:

  • known haploinsufficient genes and
  • genes disrupted by unambiguous loss-of-function variants in at least two apparently healthy individuals. The model uses sequence conservation, expression patterns and proximity within a gene network to known haploinsufficient genes as predictor variables. Missing predictor variables are imputed using other gene properties before prediction. Percentages refer to genome-wide percentiles of genes ranked according to their haploinsufficient score.
  • High ranks (e.g. 0-10%) indicate a gene is more likely to exhibit haploinsufficiency, low ranks (e.g. 90-100%) indicate a gene is more likely to NOT exhibit haploinsufficiency.
  • The manuscript describing the generation and validation of these haploinsufficiency predictions (Huang et al) is published in PLoS Genetics. Updated predictions of haploinsufficiency can be downloaded from our data download page. https://decipher.sanger.ac.uk/about#downloads/data

Dosage Sensitivity Curation List

#13. ExAC Loss Intolerance (pLI)

This data is generated by Exome Aggregation Consortium (ExAC) and the API should use updated knowledge from decipher. It looks that the data is available at ftp://ftp.broadinstitute.org/pub/ExAC_release/release0.3.1/manuscript_data/

{
  "pLI": {
    "value": "1.44%",
    "source": "ftp://ftp.broadinstitute.org/pub/ExAC_release/release0.3.1/manuscript_data/"
    "last_updated": "2019-10-22T00:00:00.000-02:00"
  }
}
KEY DESCRIPTION
pLI Placeholder - intended to provide context for the example
pLI>value The value that was assigned
pLI>source Where it was downloaded so it can referenced as needed
pLI>last_updated The last time that the API checked to see if the source was updated

Background If Needed

The Exome Aggregation Consortium (ExAC) has computed a score called pLI, which indicates the probability that a gene is intolerant to a Loss of Function (LoF) mutation. This analysis is based on high-quality exome sequence data for 60,706 individuals of diverse ethnicities.

The ExAC consortium used a selection-neutral, sequence-context-based mutational model to compare the observed number of rare variants per gene to an expected number, then quantified deviation from expectation with a Z score (method described in Samocha et al.). To reduce confounding by coding sequence length, for Protein Truncating Variants (PTV) an expectation-maximization algorithm using the observed and expected PTV counts within each gene was used to separate genes into three categories:

  • Null, where observed ≈ expected (LoF variation is tolerated)
  • Recessive, where observed ≤ 50% of expected (heterozygous LoFs are tolerated)
  • Haploinsufficient, where observed < 10% of expected (heterozygous LoFs are not tolerated)

The pLI score is the probability that a given gene falls into the Haploinsufficient category, therefore is extremely intolerant of loss-of-function variation. Genes with high pLI scores (pLI ≥ 0.9) are extremely LoF intolerant, whereby genes with low pLI scores (pLI ≤ 0.1) are LoF tolerant.

The manuscript describing this dataset and analysis (Lek et al.) is published in Nature. http://exac.broadinstitute.org/


Dosage Sensitivity Curation List

{
  "dates": {
    "created": "2019-10-22T00:00:00.000-02:00",
    "last_reviewed": "2019-10-22T00:00:00.000-02:00"
  }
}
KEY DESCRIPTION
dates Placeholder - intended to provide context for the example
dates>created The date the record was created
dates>last_reviewed The date the curation was last reviewed

Dosage Sensitivity Curation List

#15. Curation Rows - Gene & Regions

Each curation will be displayed as a row (or other form factor). The API should be formatted in a way that is easy to loop through each block of curation data. Not every data-point outlined above will be needed or available for each curation.


Dosage Sensitivity Curation List

#17. Pagination

The API needs to provide ways to paginate the data that is returned. This pagination process should have the ability to define the number of records that the user would like displayed. The APIs pagination functions also need to support how a user will sort/filter the results.




Curation Details

Coming soon Views & Partials:

  • /resources/views/gene-dosage/show.blade.php

Gene Curation

Coming soon

Region Curation

Coming soon


Reports

Coming soon Views & Partials:

  • /resources/views/gene-dosage/reports.blade.php

Stats

Coming soon Views & Partials:

  • /resources/views/gene-dosage/stats.blade.php

Downloads

Coming soon Views & Partials:

  • /resources/views/gene-dosage/downloads.blade.php