% Generated by roxygen2: do not edit by hand % Please edit documentation in R/geneFreq.R \name{geneFreq} \alias{geneFreq} \title{Gene frequencies} \usage{ geneFreq(productive.nt, locus = "VDJ", family = FALSE) } \arguments{ \item{productive.nt}{A list of one or more data frames of productive sequences generated by the LymphoSeq function productiveSeq where the parameter aggregate is set to "nucleotide".} \item{locus}{A character vector indicating which VDJ genes to include in the output. Available options include "VDJ", "DJ", "VJ", "DJ", "V", "D", or "J".} \item{family}{A Boolean value indicating whether or not family names instead of gene names are used. If TRUE, then family names are used and if FALSE, gene names are used.} } \value{ Returns a data frame with the sample names, VDJ gene name, count, and \% frequency of the V, D, or J genes (each gene frequency should add to 100\% for each sample). } \description{ Creates a data frame of VDJ gene counts and frequencies. } \examples{ file.path <- system.file("extdata", "TCRB_sequencing", package = "LymphoSeq") file.list <- readImmunoSeq(path = file.path) productive.nt <- productiveSeq(file.list = file.list, aggregate = "nucleotide") geneFreq(productive.nt, locus = "VDJ", family = FALSE) # Create a heat map of V gene usage vfamilies <- geneFreq(productive.nt, locus = "V", family = TRUE) require(reshape) vfamilies <- reshape::cast(vfamilies, familyName ~ samples, value = "frequencyGene", sum) rownames(vfamilies) <- as.character(vfamilies$familyName) vfamilies$familyName <- NULL RedBlue <- grDevices::colorRampPalette(rev(RColorBrewer::brewer.pal(11, "RdBu")))(256) require(pheatmap) pheatmap::pheatmap(vfamilies, color = RedBlue, scale = "row") # Create a word cloud of V gene usage vgenes <- geneFreq(productive.nt, locus = "V", family = FALSE) require(wordcloud) wordcloud::wordcloud(words = vgenes[vgenes$samples == "TCRB_Day83_Unsorted", "geneName"], freq = vgenes[vgenes$samples == "TCRB_Day83_Unsorted", "frequencyGene"], colors = RedBlue) # Create a cumulative frequency bar plot of V gene usage vgenes <- geneFreq(productive.nt, locus = "V", family = FALSE) require(ggplot2) ggplot2::ggplot(vgenes, aes(x = samples, y = frequencyGene, fill = geneName)) + geom_bar(stat = "identity") + theme_minimal() + scale_y_continuous(expand = c(0, 0)) + guides(fill = guide_legend(ncol = 3)) + labs(y = "Frequency (\%)", x = "", fill = "") + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1)) }