| Literature DB >> 35192731 |
Chiara Rasi1, Daniel Nilsson2,3, Måns Magnusson3,4, Nicole Lesko3,5, Kristina Lagerstedt-Robinson2,3, Anna Wedell3,5,6, Anna Lindstrand2,3, Valtteri Wirta1,4,7, Henrik Stranneheim1,3,5,7.
Abstract
The amount of data available from genomic medicine has revolutionized the approach to identify the determinants underlying many rare diseases. The task of confirming a genotype-phenotype causality for a patient affected with a rare genetic disease is often challenging. In this context, the establishment of the Matchmaker Exchange (MME) network has assumed a pivotal role in bridging heterogeneous patient information stored on different medical and research servers. MME has made it possible to solve rare disease cases by "matching" the genotypic and phenotypic characteristics of a patient of interest with patient data available at other clinical facilities participating in the network. Here, we present PatientMatcher (https://github.com/Clinical-Genomics/patientMatcher), an open-source Python and MongoDB-based software solution developed by Clinical Genomics facility at the Science for Life Laboratory in Stockholm. PatientMatcher is designed as a standalone MME server, but can easily communicate via REST API with external applications managing genetic analyses and patient data. The MME node is being implemented in clinical routine in collaboration with the Genomic Medicine Center Karolinska at the Karolinska University Hospital. PatientMatcher is written to implement the MME API and provides several customizable settings, including a custom-fit similarity score algorithm and adjustable matching results notifications.Entities:
Keywords: Matchmaker Exchange; gene discovery; genomic API; matchmaking; rare disease
Mesh:
Year: 2022 PMID: 35192731 PMCID: PMC9311682 DOI: 10.1002/humu.24358
Source DB: PubMed Journal: Hum Mutat ISSN: 1059-7794 Impact factor: 4.700
PatientMatcher server HTTP API endpoints
| Endpoint | Method | Rule | Purpose |
|---|---|---|---|
| index | GET | / | Landing page, showing statistics and MME node disclaimer. |
| add | POST | /patient/add | Adds or updates one patient by submitting a json payload structured as described in the MME API. |
| delete | DELETE | patient/delete/<patient_id> | Deletes the patient with the given ID and all its matching results from the database. |
| heartbeat | GET | /heartbeat | Returns a heartbeat response as defined in the MME API. |
| match_external | POST | /match/external/<patient_id> | Matches data from a patient already stored in PatientMatcher with a given ID against connected MME nodes. |
| match_internal | POST | /match | Matches json data received from a request sent from a connected node against the patients stored in PatientMatcher's database. Returns a response to the requester with eventual matches. |
| matches | GET | /matches/<patient_id> | Returns all positive matches stored in the database for the patient with a given ID. |
| metrics | GET | /metrics | Returns a json object with server statistics described in the MME API. |
| nodes | GET | /nodes | Returns a response describing all external nodes connected to the server. |
Note: The PatientMatcher endpoint named in column Endpoint can be accessed by HTTP(S) scheme requests, with HTTP Method as in column Method, with URL path formed as in Rule. The endpoint usage is further described in the column Purpose. The API conforms to MatchMaker API (Buske et al., 2015) to allow exchange also with Match maker Exchange nodes implementing other server software.
Endpoints not exposing sensitive information and therefore not requiring a security token to be accessed.
Figure 1Matchmaker Exchange (MME) patient submission form in Scout. The submission of a Scout case to MME is initiated by clicking on a link present on the case page. The Scout user chooses which type of information (gender, HPO terms, OMIM terms, specific variant information or gene symbols only) will be submitted for the affected individuals of the case. While it is possible to share details at the specific variant level for any single‐nucleotide variant or short insertion/deletion (SNVs, marked with a green “SNV” badge in the figure), only general gene information can be shared for structural variants (SVs, denoted by a yellow “SV” badge). This figure shows how it is possible to submit one or more genes from the same structural variant (NTF4 and CGB8 in the example). Regardless of their nature (SNV or SVs), it is only possible to share a maximum of three candidate genotype features for each patient using Scout. Demo data was used to generate this figure
Figure 2Overview of an Matchmaker Exchange (MME) patient in Scout. A dedicated page in Scout summarizes the information associated to the patient submitted to MME. The patient submitted in the example contains three candidate genotype features, two of them with variant‐level data (LAMA1 and PRLR gene variants) and a third with general gene information (CGB8 gene). Demo data was used to generate this figure
Figure 3Matching options selection. Matchmaker Exchange (MME) nodes connected to PatientMatcher are displayed and can be independently searched for patients similar to the query case (external matching). Alternatively, similar patients can be also retrieved from the list of other Scout patients in PatientMatcher (internal matching). The example illustrated in this figure shows the real settings of the staging server of Scout, which is connected to the development instances of two other MME nodes: MyGene2 (https://www.mygene2.org/MyGene2/) and Matchbox (https://seqr.broadinstitute.org/matchmaker/matchbox), developed and maintained respectively by the Center for Mendelian Genomics, University of Washington (https://uwcmg.org/) and the Center for Mendelian Genomics at the Broad Institute (https://cmg.broadinstitute.org/)
Figure 4Patient matching results page in Scout. “Global Matches” and “Local Matches” tabs, respectively, display matching results for a patient against other nodes or other Scout patients. Red arrows designate the similarity score computed between query sample and matched sample. Demo data was used to generate this figure