-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Deployed 8165ce1 with MkDocs version: 1.6.1
- Loading branch information
Unknown
committed
Sep 4, 2024
0 parents
commit 5055cec
Showing
43 changed files
with
8,785 additions
and
0 deletions.
There are no files selected for viewing
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,141 @@ | ||
<!DOCTYPE html> | ||
<html class="writer-html5" lang="en" > | ||
<head> | ||
<meta charset="utf-8" /> | ||
<meta http-equiv="X-UA-Compatible" content="IE=edge" /> | ||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||
<link rel="shortcut icon" href="/img/favicon.ico" /> | ||
<title>PatientMatcher documentation</title> | ||
<link rel="stylesheet" href="/css/theme.css" /> | ||
<link rel="stylesheet" href="/css/theme_extra.css" /> | ||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css" /> | ||
|
||
<!--[if lt IE 9]> | ||
<script src="/js/html5shiv.min.js"></script> | ||
<![endif]--> | ||
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script> | ||
<script>hljs.highlightAll();</script> | ||
</head> | ||
|
||
<body class="wy-body-for-nav" role="document"> | ||
|
||
<div class="wy-grid-for-nav"> | ||
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav"> | ||
<div class="wy-side-scroll"> | ||
<div class="wy-side-nav-search"> | ||
<a href="/." class="icon icon-home"> PatientMatcher documentation | ||
</a><div role="search"> | ||
<form id ="rtd-search-form" class="wy-form" action="//search.html" method="get"> | ||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" title="Type search term here" /> | ||
</form> | ||
</div> | ||
</div> | ||
|
||
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu"> | ||
<ul> | ||
<li class="toctree-l1"><a class="reference internal" href="/.">Home</a> | ||
</li> | ||
</ul> | ||
<ul> | ||
<li class="toctree-l1"><a class="reference internal" href="/docker_app/">Docker-based application</a> | ||
</li> | ||
</ul> | ||
<ul> | ||
<li class="toctree-l1"><a class="reference internal" href="/conda_inst/">Installing the application on a conda environment</a> | ||
</li> | ||
</ul> | ||
<ul> | ||
<li class="toctree-l1"><a class="reference internal" href="/data_types/">Data types</a> | ||
</li> | ||
</ul> | ||
<ul> | ||
<li class="toctree-l1"><a class="reference internal" href="/cli/">Command line interface</a> | ||
</li> | ||
</ul> | ||
<ul> | ||
<li class="toctree-l1"><a class="reference internal" href="/phenotype_resources/">Phenotype resource files</a> | ||
</li> | ||
</ul> | ||
<ul> | ||
<li class="toctree-l1"><a class="reference internal" href="/endpoints/">Server endpoints</a> | ||
</li> | ||
</ul> | ||
<ul> | ||
<li class="toctree-l1"><a class="reference internal" href="/algorithm/">Matching algrorithm</a> | ||
</li> | ||
</ul> | ||
<ul> | ||
<li class="toctree-l1"><a class="reference internal" href="/matching_emails/">Matching notifications</a> | ||
</li> | ||
</ul> | ||
<ul> | ||
<li class="toctree-l1"><a class="reference internal" href="/error_emails/">Server error notifications</a> | ||
</li> | ||
</ul> | ||
</div> | ||
</div> | ||
</nav> | ||
|
||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> | ||
<nav class="wy-nav-top" role="navigation" aria-label="Mobile navigation menu"> | ||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i> | ||
<a href="/.">PatientMatcher documentation</a> | ||
|
||
</nav> | ||
<div class="wy-nav-content"> | ||
<div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation"> | ||
<ul class="wy-breadcrumbs"> | ||
<li><a href="/." class="icon icon-home" aria-label="Docs"></a></li> | ||
<li class="wy-breadcrumbs-aside"> | ||
</li> | ||
</ul> | ||
<hr/> | ||
</div> | ||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> | ||
<div class="section" itemprop="articleBody"> | ||
|
||
|
||
<h1 id="404-page-not-found">404</h1> | ||
|
||
<p><strong>Page not found</strong></p> | ||
|
||
|
||
</div> | ||
</div><footer> | ||
|
||
<hr/> | ||
|
||
<div role="contentinfo"> | ||
<!-- Copyright etc --> | ||
</div> | ||
|
||
Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. | ||
</footer> | ||
|
||
</div> | ||
</div> | ||
|
||
</section> | ||
|
||
</div> | ||
|
||
<div class="rst-versions" role="note" aria-label="Versions"> | ||
<span class="rst-current-version" data-toggle="rst-current-version"> | ||
|
||
|
||
|
||
</span> | ||
</div> | ||
<script src="/js/jquery-3.6.0.min.js"></script> | ||
<script>var base_url = "/";</script> | ||
<script src="/js/theme_extra.js"></script> | ||
<script src="/js/theme.js"></script> | ||
<script src="/search/main.js"></script> | ||
<script> | ||
jQuery(function () { | ||
SphinxRtdTheme.Navigation.enable(true); | ||
}); | ||
</script> | ||
|
||
</body> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,203 @@ | ||
<!DOCTYPE html> | ||
<html class="writer-html5" lang="en" > | ||
<head> | ||
<meta charset="utf-8" /> | ||
<meta http-equiv="X-UA-Compatible" content="IE=edge" /> | ||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||
<link rel="shortcut icon" href="../img/favicon.ico" /> | ||
<title>Matching algrorithm - PatientMatcher documentation</title> | ||
<link rel="stylesheet" href="../css/theme.css" /> | ||
<link rel="stylesheet" href="../css/theme_extra.css" /> | ||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css" /> | ||
|
||
<script> | ||
// Current page data | ||
var mkdocs_page_name = "Matching algrorithm"; | ||
var mkdocs_page_input_path = "algorithm.md"; | ||
var mkdocs_page_url = null; | ||
</script> | ||
|
||
<!--[if lt IE 9]> | ||
<script src="../js/html5shiv.min.js"></script> | ||
<![endif]--> | ||
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script> | ||
<script>hljs.highlightAll();</script> | ||
</head> | ||
|
||
<body class="wy-body-for-nav" role="document"> | ||
|
||
<div class="wy-grid-for-nav"> | ||
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav"> | ||
<div class="wy-side-scroll"> | ||
<div class="wy-side-nav-search"> | ||
<a href=".." class="icon icon-home"> PatientMatcher documentation | ||
</a><div role="search"> | ||
<form id ="rtd-search-form" class="wy-form" action="../search.html" method="get"> | ||
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" title="Type search term here" /> | ||
</form> | ||
</div> | ||
</div> | ||
|
||
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu"> | ||
<ul> | ||
<li class="toctree-l1"><a class="reference internal" href="..">Home</a> | ||
</li> | ||
</ul> | ||
<ul> | ||
<li class="toctree-l1"><a class="reference internal" href="../docker_app/">Docker-based application</a> | ||
</li> | ||
</ul> | ||
<ul> | ||
<li class="toctree-l1"><a class="reference internal" href="../conda_inst/">Installing the application on a conda environment</a> | ||
</li> | ||
</ul> | ||
<ul> | ||
<li class="toctree-l1"><a class="reference internal" href="../data_types/">Data types</a> | ||
</li> | ||
</ul> | ||
<ul> | ||
<li class="toctree-l1"><a class="reference internal" href="../cli/">Command line interface</a> | ||
</li> | ||
</ul> | ||
<ul> | ||
<li class="toctree-l1"><a class="reference internal" href="../phenotype_resources/">Phenotype resource files</a> | ||
</li> | ||
</ul> | ||
<ul> | ||
<li class="toctree-l1"><a class="reference internal" href="../endpoints/">Server endpoints</a> | ||
</li> | ||
</ul> | ||
<ul class="current"> | ||
<li class="toctree-l1 current"><a class="reference internal current" href="#">Matching algrorithm</a> | ||
<ul class="current"> | ||
<li class="toctree-l2"><a class="reference internal" href="#genotyping-matching-algorithm">Genotyping matching algorithm</a> | ||
</li> | ||
<li class="toctree-l2"><a class="reference internal" href="#phenotype-matching-algorithm">Phenotype matching algorithm</a> | ||
</li> | ||
</ul> | ||
</li> | ||
</ul> | ||
<ul> | ||
<li class="toctree-l1"><a class="reference internal" href="../matching_emails/">Matching notifications</a> | ||
</li> | ||
</ul> | ||
<ul> | ||
<li class="toctree-l1"><a class="reference internal" href="../error_emails/">Server error notifications</a> | ||
</li> | ||
</ul> | ||
</div> | ||
</div> | ||
</nav> | ||
|
||
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"> | ||
<nav class="wy-nav-top" role="navigation" aria-label="Mobile navigation menu"> | ||
<i data-toggle="wy-nav-top" class="fa fa-bars"></i> | ||
<a href="..">PatientMatcher documentation</a> | ||
|
||
</nav> | ||
<div class="wy-nav-content"> | ||
<div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation"> | ||
<ul class="wy-breadcrumbs"> | ||
<li><a href=".." class="icon icon-home" aria-label="Docs"></a></li> | ||
<li class="breadcrumb-item active">Matching algrorithm</li> | ||
<li class="wy-breadcrumbs-aside"> | ||
</li> | ||
</ul> | ||
<hr/> | ||
</div> | ||
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> | ||
<div class="section" itemprop="articleBody"> | ||
|
||
<h2 id="patient-matching-algorithm">Patient matching algorithm.</h2> | ||
<p>Each patient query submitted to the server triggers a matching algorithm which will search and return those patients on the server that are most similar to the queried one. | ||
Patient similarity is measured by the a <strong>similarity score</strong> that may span <strong>from 0 (no matching) to 1 (exact matching)</strong>.</p> | ||
<p>Similarity score computation is taking into account <strong>genomic similarity</strong> and <strong>phenotype similarity</strong> across patients. The weight of these two factors is numerically evaluated into a GTscore and a PhenoScore, and the sum of the 2 constitutes the similarity score of the matching patient.</p> | ||
<p>The relative weight of the GTscore and the PhenoScore can be customised by the database administrator by changing the values of the parameters "MAX_GT_SCORE" and "MAX_PHENO_SCORE" in the configuration file (instance/config.py). Default values are MAX_GT_SCORE: 0.5, MAX_PHENO_SCORE : 0.5.</p> | ||
<p><a name="geno_matching"></a></p> | ||
<h3 id="genotyping-matching-algorithm">Genotyping matching algorithm</h3> | ||
<p>GTscore is computed by evaluating the list of genomic features of the queried patient and the patients available on the MME server. <strong>PatientMatcher patients are saved with gene ids described by Ensembl gene ids</strong>, but it's possible to search the database using patients with genes represented by HGNC symbols, Entrez ids and Ensembl ids.</p> | ||
<p>If the queried patient has no genomic features (only phenotype features) then GTscore of all the returned matches will be 0.</p> | ||
<p>Example of how the algorithm works: | ||
Let's assume that 0.5 is the MAX_GT_SCORE possible for a patient match (default parameters).</p> | ||
<p>If for instance the queried patient (QUERY) has 3 variants, <strong>each variant will have a relative weight</strong> of 0.1666 (0.5/3). 0.1666 will be the maximum score for each variant. | ||
Assuming having a QUERY patient with these variants: | ||
- gene X variant A | ||
- gene Y variant B | ||
- gene Z variant C</p> | ||
<p>Any patient in the database having variants in any of the X,Y,Z genes will constitute a match (MATCH) to the queried patient and will be compared against it. | ||
Let's assume the variants in MATCH are: | ||
- gene X variant D (1) | ||
- gene Y variant B (2) | ||
- gene W variant E (3)</p> | ||
<p>The evaluation of the matching features is always performed on the QUERY variants, in this way: | ||
- gene X variant A ---> gene match with (1). No variant match. Assigned score: 0.1666/4 (gene match only will be arbitrarily assigned a fourth of the relative weight of the variant) | ||
- gene Y variant B ---> exact matching of variant and gene with (2). Assigned score: 0.1666 (max relative weight of the variant) | ||
- gene Z variant C ---> No match, assigned score: 0.</p> | ||
<p>GTscore assigned to the MATCH patients will then be: 0.1666/4 + 0.1666 + 0.</p> | ||
<p>Note that the algorithm will evaluate and assign a score of 0.1666 (max relative weight of the variant) also to matching variants outside genes. | ||
This way patients will be evaluated for genetic similarity even if the variants lay outside genes.</p> | ||
<p><a name="pheno_matching"></a></p> | ||
<h3 id="phenotype-matching-algorithm">Phenotype matching algorithm</h3> | ||
<p>Phenotype similarity is calculated by taking into account <strong>features and disorders</strong> of a patient.</p> | ||
<ul> | ||
<li> | ||
<p><strong>Patient features</strong> | ||
are specified by the eventual HPO terms provided for the query patient. <strong>Similarity between HPO features will be equal the maximum similarity score</strong> between two patients <strong>if no disorders (OMIM terms) are provided</strong> for one or both patients. <br /> | ||
<strong>Otherwise feature similarity score will make up 1/2 of the maximum similarity score</strong>. | ||
Feature similarity is calculated as the simgic score obtained by comparing HPO terms of a query patient with those from a matching patient. | ||
You can find more information on semantic similarity comparison algorithms in <a href="https://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-9-S5-S4">this paper</a></p> | ||
</li> | ||
<li> | ||
<p><strong>Disorders</strong> | ||
(OMIM diagnoses), if available, will make up <strong>1/2 of the maximum similarity score</strong>. OMIM score is calculated by pairwise comparison of the available OMIM terms for the patients. | ||
</p> | ||
</li> | ||
</ul> | ||
|
||
</div> | ||
</div><footer> | ||
<div class="rst-footer-buttons" role="navigation" aria-label="Footer Navigation"> | ||
<a href="../endpoints/" class="btn btn-neutral float-left" title="Server endpoints"><span class="icon icon-circle-arrow-left"></span> Previous</a> | ||
<a href="../matching_emails/" class="btn btn-neutral float-right" title="Matching notifications">Next <span class="icon icon-circle-arrow-right"></span></a> | ||
</div> | ||
|
||
<hr/> | ||
|
||
<div role="contentinfo"> | ||
<!-- Copyright etc --> | ||
</div> | ||
|
||
Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. | ||
</footer> | ||
|
||
</div> | ||
</div> | ||
|
||
</section> | ||
|
||
</div> | ||
|
||
<div class="rst-versions" role="note" aria-label="Versions"> | ||
<span class="rst-current-version" data-toggle="rst-current-version"> | ||
|
||
|
||
<span><a href="../endpoints/" style="color: #fcfcfc">« Previous</a></span> | ||
|
||
|
||
<span><a href="../matching_emails/" style="color: #fcfcfc">Next »</a></span> | ||
|
||
</span> | ||
</div> | ||
<script src="../js/jquery-3.6.0.min.js"></script> | ||
<script>var base_url = "..";</script> | ||
<script src="../js/theme_extra.js"></script> | ||
<script src="../js/theme.js"></script> | ||
<script src="../search/main.js"></script> | ||
<script> | ||
jQuery(function () { | ||
SphinxRtdTheme.Navigation.enable(true); | ||
}); | ||
</script> | ||
|
||
</body> | ||
</html> |
Oops, something went wrong.