Skip to main content

Specifying the penetrance

A critical aspect affecting the analysis output is the model connecting genetic variant and disease. This is encoded by the penetrance function, which shinyseg allows to build with different degrees of complexity using the Penetrance panel.

Inheritance pattern

The first decision regarding the penetrance relates to the inheritance model. Choose one of the options on the header:

  • AD: autosomal dominant.
  • AR: autosomal recessive.
  • AI: autosomal incomplete dominance.
  • XD: X-linked dominant.
  • XR: X-linked recessive.
  • XI: X-linked incomplete dominance.

Note that incomplete dominance, where you can specify different parameters for the carriers of 1 and 2 copies of the variant, will be unavailable unless you also switch to the Liability class mode. An example of an analysis using X-linked incomplete dominance can be found at #2 X-linked inheritance.

Penetrance mode

Next, it is time to assign the probabilities of observing the analysis phenotypes conditional on carriership status, hereafter referred to as penetrances. shinyseg offers two different ways to do it:

  • Relative risk, where the penetrances are computed by the app based on certain parameters.
  • Liability class, where the user manually specifies them.

The mode can be switched anytime with the input on the left of the header, but note that Relative risk will be unavailable if incomplete dominance is selected.

1) Relative risk

This is a parametric version of the survival penetrances described in Belman et al. (2020). It is based on:

  • Baseline lifetime risk, mean and SD: the lifetime risk, mean, and standard deviation of disease onset in non-carriers and heterozygous carriers in recessive inheritance.
  • Hazard ratios: the relative risks in homo-, hemi-, and heterozygous carriers in dominant inheritance, compared to the baseline. They can be either constant or age-dependent and may also be specified through a variant-associated lifetime risk.

These parameters are entered using a table generated from the phenotypes specified in the pedigree table. For example, the following describes a constant relative risk model in which non-carriers (neg) have a lifetime risk of 1% (phenocopy rate) with onset at 70±15 years of age, while heterozygous and homozygous carriers (het/hom) have a lifetime risk of 75%.

Below the table, you will also find a plot which can serve as a visual aid displaying the cumulative incidences, hazards, or hazard ratios determined by the current selection.

warning

None of the model parameters can be missing.

Sex-specific penetrances

By default, shinyseg generates a unique entry for each phenotype. This means that the specified penetrances will apply to bothsexes. However, you can click on this field and select male or female to create a sex-dependent specification.

To undo it, change back to both any of two the sex-specific entries.

Hazard ratios

The previous examples ignored the hazard ratio(s) column, which contained a constant (age-independent) relative risk of the disease in variant carriers compared to the baseline. This is because shinyseg allows inputting the variant-associated lifetime risk instead, and updates the other column accordingly. However, users can also manipulate the hazard ratios directly, in which case it will be the other input that is updated.

Although more complicated, the direct specification of the hazard ratio(s) has the advantage of allowing for age-dependent relative risks if, instead of a single value, a vector is provided. Specifically, it admits up to 10 comma-separated values representing, loosely speaking, the hazard ratios at evenly spaced ages from 1 to 100 years. For instance, 1,10,10,20,10 would roughly correspond to the values at ages 1, 25, 50, 75 and 100. The app will interpolate/smooth these across the lifespan using a B-spline basis — you may adjust the smoothing degree with the Splines input at the bottom. The examples #3 Two phenotypes and #4 Breast cancer and BRCA1 showcase penetrance models with age-dependent relative risks.

note

If you misspecify the hazard ratio(s), their values will revert to the previous ones to prevent issues.

Note that it is also possible to leverage the variant-associated lifetime risk, as earlier, but combined with a vectorial specification of the hazard ratios. For instance, changing the hazard ratio(s) to 1,2,2,1 defines a model where the relative risk is higher at middle ages. Subsequently, resetting the lifetime risk to 75% will scale these values accordingly, resulting in:

Optimal parameters

As choosing the model parameters can be challenging, shinyseg also offers an Assistant to optimize them based on user-provided cumulative incidence data.

To use it, simply specify pairs of age (integer between 1-100) and their corresponding cumulative incidence in the table provided. The Length slider also allows to fine tune the model’s complexity by defining the number of values for the hazard ratio vector. The app will then find the optimal parameters, which you may easily transfer to your analysis with Use these parameters for….

Extra phenotypes

Sometimes, as in #4 Breast cancer and BRCA1, not all phenotypes relevant for the penetrance function may be observed in the analysis families. This means that, by default, they will not appear in the table where you can set their parameters. To include them, type their names in the Extra phenotypes input located at the bottom of the Penetrance panel.

2) Liability class

Alternatively, users can manually define penetrances using a table. This table contains 2 (dominant/recessive) to 3 (incomplete inheritance) columns with the penetrances themselves, followed by an additional 3 columns specifying the classes they apply to:

  • sex: male, female, or both for classes referring to males, females, or both sexes, respectively; leaving this cell empty is equivalent to specifying both.
  • phenotype: a free-text field whose values should match the phenotypes in the pedigree table. Note that here, nonaff is treated as another phenotype whose classes must be specified (unless there are no unaffected cases); leaving this cell empty indicates that the class applies to all phenotypes.
  • ages: an integer from 1 to 100 or ranges between these values (e.g., 10-20, 30-100…) indicating the ages to which the class applies; leaving this cell empty is equivalent to specifying ages 1-100.

For instance, the following illustrates an autosomal dominant model with no phenocopies, where both heterozygous and homozygous carriers have a 100% chance of disease onset:

And the following defines a sex- and age-dependent specification with incomplete dominance:

The table may be created interactively or by uploading a file via Load file. If opting for the latter, shinyseg expects a tabular file without column headers and a structure resembling the one shown in-app.

warning

There should be no sex/phenotype/age overlaps. All family members should map to a single liability class without missing penetrances.