This document explains how this Shiny visualization tool works.

Summary

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.

Data

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.

Target Selection

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.

Association Measure

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.

Joint Frequency Thresholding

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.

Filtering by semantic type

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.

Viewing the Results Table

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).

Usage Tips

Examples

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:

Top 5 concepts associated with target ALS at min. 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.

Filtering with Minimum Joint Frequency

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:

Top 5 concepts associated with target ALS at min. frequency 0
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:

Top 5 concepts associated with target ALS at min. frequency 100
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.

Filtering with Semantic Types

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:

Top 5 concepts in the 'Genes and Molecular Sequences' category for target ALS (min. frequency 100)
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".