Cell-Type Resolution: HuBMAP

Estimated time: 25 minutes

Use HuBMAP to examine which genes have indexed expression values in ventricular cardiac myocytes. For genes with data, compare mean normalized expression with the percentage of records above zero.

Cell-type expression

GTEx showed expression in bulk heart tissue, which contains many cell types. HuBMAP lets us examine records assigned to a selected heart cell type.

HuBMAP stands for Human BioMolecular Atlas Program. This NIH Common Fund program maps cells and molecules within human tissues. Its Cells API connects aggregated pipeline outputs and indexed expression values to labels such as ventricular cardiac myocyte, fibroblast, or macrophage.

Why ventricular cardiac myocytes?

The source paper studied early-onset advanced heart failure. The highest yield of pathogenic or likely pathogenic variants occurred in hypertrophic, dilated, and arrhythmogenic right ventricular cardiomyopathy.

Sarcomeric variants were most common in the first two groups, while desmosomal variants were concentrated in the third. The teaching table includes MYH7, MYBPC3, TNNT2, ACTC1, DSG2, DSC2, and PKP2.

HuBMAP adds reference cell-type expression data to the follow-up analysis. We begin with ventricular cardiac myocytes because the ventricles provide the heart’s main pumping force.

Many candidate genes contribute to cardiac-muscle contraction or structure. This cell-type choice also follows the GTEx left-ventricle comparison.

The request retrieves up to the first 500 indexed records labeled as regular ventricular cardiac myocytes. The fixed limit keeps the live request manageable.

Treat this arbitrarily ordered subset as a feasibility screen; low, zero, or unavailable values do not establish biological absence.

Learn more about the resource’s APIs in the HuBMAP API documentation.

How to read the returned values

The Cells API returns values for a subset of genes. Record genes outside that subset as unavailable and keep them distinct from a measured zero.

TipWhy HuBMAP helps

GTEx combines expression from all cell types in a tissue sample. HuBMAP allows us to ask a more focused question: which candidate genes have indexed values in ventricular cardiac myocytes? For the genes with data, we will compare mean normalized expression with how often the values are above zero.

Querying the HuBMAP API

The Cells API intersects heart and ventricular cardiac-myocyte records, retrieves up to the first 500 records, and requests one gene at a time. An unavailable result records the API response separately from a measured zero.

Prepare the gene list and API helper

Load the published variants, select the 25 unique gene symbols, and import the HuBMAP wrapper.

gene_symbols contains the 25 unique gene symbols in alphabetical order. variants contains all 54 published rows.

Request ventricular cardiac-myocyte expression

Request ventricular cardiac-myocyte expression for the 25 genes. The wrapper queries one gene at a time, so this request may take longer than the GTEx request. Start by checking availability, then compare expression only among genes with returned measurements.

One row represents one queried gene. mean_normalized_expression is the mean normalized expression across retrieved records, and percent_detected is the percentage of those records with a value above zero.

The separate availability field states whether the index returned any values.

NoteLive data

Values are requested directly from HuBMAP. Coverage and service availability can change.

How the wrapper works

The wrapper follows five steps:

  1. Create a query handle for heart records.
  2. Create a query handle for regular ventricular cardiac myocytes (CL:0002131).
  3. Intersect the two sets.
  4. Retrieve up to the first 500 records for each gene.
  5. Calculate mean normalized expression and the percentage of values above zero.

The implementation and its support functions are in api_helpers.py.

Review ventricular cardiac myocytes

Next, compare data availability, mean normalized expression, and the percentage of values above zero.

Summarize data availability

Keep the ventricular cardiac-myocyte rows and count genes with returned and unavailable expression values. Start with coverage before comparing measurements.

In the dated teaching data, 14 genes have indexed ventricular cardiac-myocyte values and 11 are unavailable. Compare measurements only among the 14 genes with data.

Compare available genes

Display all available genes in descending order of mean normalized expression. The table includes percent_detected so you can compare average values with the percentage of retrieved records above zero.

In the dated teaching data, MYH7 and DES have the highest mean normalized expression. Their values are above zero in 39.8% and 35.2% of the retrieved records. The mean summarizes expression across the retrieved records, while the percentage detected reports how many records had a value above zero.

Compare detection frequency

Rank the available genes by percent detected and compare the result with the mean-expression ranking.

Use the percent_detected column.

# Rank genes by detection frequency.
top_detected_genes = (
    available_ventricular
    .nlargest(10, "percent_detected")
    .set_index("gene_symbol")
)
top_detected_genes.loc[
    :, ["mean_normalized_expression", "percent_detected"]
]

The two measures produce different rankings. In the dated teaching data, TNNT2 ranks second by percent detected and sixth by mean expression. DES ranks second by mean expression and third by percent detected.

The two summaries describe different expression patterns and work together.

Plot ventricular expression

Plot mean normalized expression for the selected genes. Interpret the chart together with the percentage-above-zero table and availability summary.

The plot shows the 10 highest means from the complete 14-gene table. The table above includes all 14 genes with returned measurements.

The availability summary also lists the 11 unavailable genes.

Check your understanding

What does high mean normalized expression with a lower percent_detected indicate?


Correct. The mean summarizes expression across the retrieved records, while percent_detected reports the percentage with a value above zero.

A mean and a percentage above zero summarize variation across the retrieved records.

An unavailable gene has an empty set of returned values, so this comparison contains genes with measurements.

What does an unavailable HuBMAP value mean here?


Correct. Keep this result separate from a returned value of zero.

Choose unavailable because that label records an empty API result for this gene.

Key points

  • HuBMAP connects indexed expression values with cell-type annotations from processed atlas data.
  • Ventricular cardiac myocytes provide a focused cell type for studying the cardiomyopathy phenotypes and cardiac-muscle genes reported in the paper.
  • The wrapper calculates mean normalized expression and the percentage of returned records above zero. These summaries can produce different gene rankings.
  • An unavailable indexed value and a returned value of zero are recorded separately.

Next: Use Pharos to examine what is known about the encoded proteins and which research tools are available.