This functions allows for the calculation and visualizations of
various overlap metrics for clones. The methods include overlap
coefficient (overlap
), Morisita's overlap index
(morisita
), Jaccard index (jaccard
), cosine
similarity (cosine
) or the exact number of clonal
overlap (raw
).
clonalOverlap(
input.data,
cloneCall = "strict",
method = c("overlap", "morisita", "jaccard", "cosine", "raw"),
chain = "both",
group.by = NULL,
order.by = NULL,
exportTable = FALSE,
palette = "inferno",
...
)
The product of combineTCR()
,
combineBCR()
, or combineExpression()
Defines the clonal sequence grouping. Accepted values
are: gene
(VDJC genes), nt
(CDR3 nucleotide sequence), aa
(CDR3 amino
acid sequence), or strict
(VDJC + nt). A custom column header can also be used.
The method to calculate the overlap
, morisita
,
jaccard
, cosine
indices or raw
for the base numbers
The TCR/BCR chain to use. Use both
to include both chains
(e.g., TRA/TRB). Accepted values: TRA
, TRB
, TRG
, TRD
, IGH
, IGL
(for both light chains), both
.
A column header in the metadata or lists to group the analysis
by (e.g., "sample", "treatment"). If NULL
, data will be analyzed
by list element or active identity in the case of single-cell objects.
A character vector defining the desired order of elements
of the group.by
variable. Alternatively, use alphanumeric
to sort groups
automatically.
If TRUE
, returns a data frame or matrix of the results
instead of a plot.
Colors to use in visualization - input any hcl.pals
Additional arguments passed to the ggplot theme
A ggplot object visualizing clonal overlap or a data.frame if
exportTable = TRUE
.
The formulas for the indices are as follows:
Overlap Coefficient: overlap=∑min(a,b)min(∑a,∑b)
Raw Count Overlap: raw=∑min(a,b)
Morisita Index: morisita=∑ab(∑a)(∑b)
Jaccard Index: jaccard=∑min(a,b)∑a+∑b−∑min(a,b)
Cosine Similarity: cosine=∑ab√(∑a2)(∑b2)
Where:
a and b are the abundances of species i in groups A and B, respectively.
# Making combined contig data
combined <- combineTCR(contig_list,
samples = c("P17B", "P17L", "P18B", "P18L",
"P19B","P19L", "P20B", "P20L"))
# Using clonalOverlap()
clonalOverlap(combined,
cloneCall = "aa",
method = "jaccard")