This document explains how this Shiny visualization tool works.
This tool shows a table of the concepts associated with a particular target concept selected by the user. The concepts in the table are ordered by decreasing strength of association.
The data used in this application has been precomputed using the biomedical text content from Medline and PubMed Central (PMC) as well as the UMLS metathesaurus. Three variants of the data are proposed to the user:
The associations between concepts may change depending on which dataset is selected by the user. For example abstracts are shorter and usually focus only on the most important concepts, whereas full papers contain more details and therefore more specific concepts.
The PMI association value (see below) is calculated based on how often any two concepts appear together in the data and how often they appear individually. The fact that two concepts "appear together" can be interpreted at different levels, so for every dataset two levels of co-occurrence are proposed to the user:
Of course with the former option much more co-occurrences are counted. Some of the concept pairs might be remotely related (if at all), especially in the case of full articles. On the other hand, the latter option is restrictive and tends to only capture the clearest cases of relations between concepts, so it might be more accurate but it might also not cover all of relations.
The user can select a target concept among a predefined list of ND concepts. The list of available concepts can be filtered by ND group using the checkboxes above the target selection box. The list of available concepts is also organized by ND group, with the group abbreviation shown before the specific concept.
There are several special cases available for selection: for every ND group X there is a choice "X (all concepts)", and there are also two global choices "ALL NDs target concepts" and "ALL NDs target concepts except group 'Other'". These special cases are made of the union of several target concepts, which means that a co-occurrence with a concept Y is counted every time any of the considered target concepts appears together with Y. This is intended to show for example the concepts most associated with Alzheimer's Disease (AD) defined in a broad sense, including concepts such as "presenile dementia" and "early onset of AD".
Technical note: a free choice of target concept is not possible because of the volume of data and the intensive precomputations required. Thus this list is currently limited to the initial target ND concepts, but it would be possible to extend it with more concepts in the future. The interface might also be improved in the future with a search box in order to make the selection more user-friendly.
Pointwise Mutual Information (PMI) is the default measure used as indicator of the strength of the association between two concepts. This value is based on how often two concepts \(A\) and \(B\) occur together with respect to how often each of them occurs on its own. In other words, it does not only take into account how often two concepts are found together (the joint probability \(p(A,B)\), which would be biased towards frequent concepts), it makes it relative to each concept frequency (\(p(A)\) and \(p(B)\)). This way a rare concept \(A\) might be found to be strongly associated with a frequent concept \(B\) if \(B\) almost always appears when \(A\) does (high conditional probability \(p(B|A)\)), even though \(A\) usually does not appear when \(B\) does (low conditional probability \(p(A|B)\)).
The PMI value has no predefined bounds, its minimum and maximum depend on the probabilities of the concepts \(A\) and \(B\).
The tool also proposes several other ways to measure association between concepts, presented below. It is recommended to choose the measure by trial and error based on the visible top result: one measure might be suitable for the desired goal for a particular target while another meaure works better in a different content.
Technical note: the MI value is calculated based on the 2x2 contingency table corresponding to the presence or absence of each of the two concept, i.e. four cases are considered: neither A nor B is present, only A is present, only B is present, or both are present.
The user can select a minimum joint frequency, i.e. the minimum number of times two concepts must appear together to be selected. This makes it possible to filter out cases where two concepts occur rarely together (even if they have a high association value), and consequently push pairs which may have a slightly lower association value up to the the top of the table. This is useful because there are many rare concepts which appear always accompanied by the target concept, however they are often too specific to be considered as an important indicator of the target concept. Some rare concepts may also appear by chance with the target, as opposed to more frequent concepts. The more often a co-occurrence event happens, the more one can be confident that the association value is meaningful.
The frequency threshold can also be seen as a way to adjust the level of generality of the observed concepts: increasing the threshold shows relationships involving high-level concepts, while decreasing leads to more specific relationship. Importantly, finding the desired level of generality may depend on the target concept, i.e. different concepts may require different threshold values.
The concepts shown in the results table can be filtered by semantic category. This feature relies on UMLS semantic types, which involves two levels of classification. By default the semantic filtering is disabled, the user can enable it by selecting one of two available levels as "Granularity of the semantic categories". This action makes the selection box "Filter by semantic types" appear, where the user can select the desired categories of concepts. The concepts which do not belong to any of the selected semantic types are filtered out from the results, causing the other concepts to be pushed up to the top.
Usability tip: when the "detailed" granularity is selected, there are around 50 to 60 semantic types available in the selection box. The "select all" and "deselect all" buttons (at the top of the selection list) are provided for conveniently eliminating or keeping only a few types.
The table on the right side of the tool shows the concepts related to the target, ordered by decreasing association score (PMI by default), after applying the selected filters (see above).
In the following examples the abstracts only
and by sentence
options are selected for the dataset. The "Amyotrophic Lateral Sclerosis (ALS)" concept is used as target, and the default PMI is used as association measure.
The following table shows the top 5 concepts obtained with the default minimum frequency 10:
CUI | firstTerm | coarseCatId | jointFreq | probCuiGivenTarget | probTargetGivenCui | PMI |
---|---|---|---|---|---|---|
group.ALS | NA | NA | 73631 | 1.0000000 | 0.8423925 | 10.750706 |
C0154683 | Other motor neuron disease | DISO | 44 | 0.0005976 | 0.6666667 | 10.413179 |
C0678179 | Rilutek | CHEM;CHEM | 10 | 0.0001358 | 0.4761905 | 9.927752 |
C3686938 | Progressive motor neuron disease | DISO | 34 | 0.0004618 | 0.4473684 | 9.837676 |
C1515501 | 9p21.2 | ANAT | 10 | 0.0001358 | 0.4000000 | 9.676213 |
The first row is the special group concept ALS. By construction, this group which includes the specific concept ALS is strongly associated with it: the probCuiGivenTarget
conditional probability is one, meaning that whenever the target appears the group concept also appears (by definition of the group); the probTargetGivenCui
is 0.84, meaning that the target appears 84% of the time when the group concept (naturally this is expected, ALS being the main concept in the group). Note that special "group concepts" can be filtered out using the View Options.
Starting from the second row regular concepts appear. For example it can be seen that "Other motor neuron disease" belongs to the disorder ("DISO") category, it appears together with ALS 44 times in total which represents 66.7% of the occurences of the CUI "Other motor neuron disease" but only 0.06% of the occurrences of the target ALS, which is much more frequent.
The minimum frequency can be used to adjust the results to the desired level of generality. For example decreasing the minimum to zero gives the following top 5 concepts:
CUI | firstTerm | coarseCatId | jointFreq | probCuiGivenTarget | probTargetGivenCui | PMI |
---|---|---|---|---|---|---|
C4475575 | Radicava | CHEM;CHEM | 8 | 0.0001086 | 1 | 10.99814 |
C0154754 | Hereditary and idiopathic neuropathy, unspecified | DISO | 2 | 0.0000272 | 1 | 10.99814 |
C0154758 | Inflammatory and toxic neuropathy | DISO | 1 | 0.0000136 | 1 | 10.99814 |
C2317803 | acquired amyotrophic lateral sclerosis | DISO | 1 | 0.0000136 | 1 | 10.99814 |
C1328482 | Drug-induced myasthenic syndrome | DISO | 1 | 0.0000136 | 1 | 10.99814 |
This results in many rare concepts which have a high PMI with the target ALS because the latter always appears when they do (probTargetGivenCui
is 1). However this is hardly meaningful, especially in the case of concepts which appear only once. It is also possible to do the oposite, that is to observe only the most general related concepts by increasing the minimum frequency, for example at 100 below:
CUI | firstTerm | coarseCatId | jointFreq | probCuiGivenTarget | probTargetGivenCui | PMI |
---|---|---|---|---|---|---|
group.ALS | NA | NA | 73631 | 1.0000000 | 0.8423925 | 10.750706 |
C4024896 | Motor neuron atrophy | DISO | 493 | 0.0066955 | 0.3551873 | 9.504793 |
C0154682 | Lateral Sclerosis | DISO | 258 | 0.0035040 | 0.3185185 | 9.347590 |
C1428691 | C9orf72 gene | GENE | 1026 | 0.0139343 | 0.3127095 | 9.321036 |
C3498531 | semiannular sulcus | ANAT | 545 | 0.0074018 | 0.2917559 | 9.220975 |
With the rare concepts discarded, the results now show frequent concepts as strongest associations: "Motor neuron atrophy", "lateral sclerosis", "C9orf72 gene", "semiannular sulcus".
One may notice that the top PMI values are not very far from the ones observed before without any filtering. This is often the case when the target concept is very frequent, since many other concepts have a quite strong association with it, i.e. there are only small variations in association power (PMI) across a very large set of concepts. The filtering options help visualizing the most relevant relations for a particular goal.
The below top 5 concepts are obtained by selecting the coarse
semantic granularity and then enabling only the "Genes and Molecular Sequences" in the semantic filter:
CUI | firstTerm | coarseCatId | jointFreq | probCuiGivenTarget | probTargetGivenCui | PMI |
---|---|---|---|---|---|---|
C1428691 | C9orf72 gene | GENE | 1026 | 0.0139343 | 0.3127095 | 9.321036 |
C1420588 | TARDBP gene | GENE | 1942 | 0.0263748 | 0.2591061 | 9.049756 |
C1421305 | UBQLN2 gene | GENE | 106 | 0.0014396 | 0.2494118 | 8.994742 |
C1538299 | ATXN2 gene | GENE | 150 | 0.0020372 | 0.2423263 | 8.953164 |
C1456383 | IGFALS gene | GENE | 445 | 0.0060437 | 0.2372068 | 8.922358 |
With a min. frequency of 100, this filter leaves only 33 genetic concepts in the table. This way one can observe the difference in association strength between different concepts: while the top concepts have a PMI close to 9 and appear 20 to 30% together with the target (based on probTargetGivenCui
), the concepts found at the bottom of the table have a PMI close to 0 or even slightly negative. This means that they are not especially associated with the target, and it can be seen that most of them are indeed generic terms such as "Genes", "Alleles", "DNA sequence".