# Single-Cell Immune Repertoire and Gene Expression Analysis

## Documentation for package ‘Platypus’ version 3.4.1

- DESCRIPTION file.
- User guides, package vignettes and other documentation.

## Help Pages

A B C D E G H I M N O P S T U V

## -- A --

AbForests_AntibodyForest | Infer and draw B cell evolutionary networks
AbForests_CompareForests | Comparison of distinct B cell repertoires
AbForests_ConvertStructure | Extract transcriptome/isotype information and B cell receptor sequences from single cell immune repertoire formatted as list of data.frames
AbForests_CsvToDf | Convert list of csvs, to nested list of data.frames
AbForests_ForestMetrics | Calculate metrics for networks
AbForests_PlotGraphs | Plot igraph and ggplot objects
AbForests_PlyloToMatrix | Conversion of phylogenetic tree to distance matrix
AbForests_RemoveNets | Filter sub-repertoires with less than N unique sequences or with less than C unique cells
AbForests_SubRepertoiresByCells | Split single cell immune repertoire into sub-repertoires by isotype based on number of B cells
AbForests_SubRepertoiresByUniqueSeq | Split single cell immune repertoire into sub-repertoires by isotype based on number of unique sequences
AbForests_UniqueAntibodyVariants | Count the number of unique antibody variants per clonal lineage
AlphaFold_prediction | Structure prediction of Mixcr wrapper output with Alpha Fold
AntibodyForests | Infer B cell evolutionary networks and/or sequence similarity networks
AntibodyForests_communities | Network clustering/community detection for the AntibodyForests similarity networks
AntibodyForests_dynamics | Create a nested list of longitudinal AntibodyForests objects
AntibodyForests_embeddings | Structural node embeddings for the AntibodyForests minimum spanning trees/ sequence similarity networks
AntibodyForests_expand_intermediates | Infer intermediate nodes in the minimum spanning trees/ sequences similiarity networks created by the AntibodyForests function
AntibodyForests_heterogeneous | Bipartite sequence-cell networks in AntibodyForests
AntibodyForests_infer_ancestral | Creates phylogenetic trees, infers ancestral sequences, and converts the resulting trees into igraph objects.
AntibodyForests_join_trees | Joins a list of trees/networks as AntibodyForests objects into a single AntibodyForests object
AntibodyForests_kernels | Graph kernel methods for graph structure/topology comparisons
AntibodyForests_label_propagation | Propagate label annotations/values on sparsely labeled networks as AntibodyForests objects.
AntibodyForests_metrics | Node metrics for the AntibodyForests sequence similarity networks and minimum spanning trees.
AntibodyForests_node_transitions | Calculates the node transitions frequencies for a given feature and an AntibodyForests object
AntibodyForests_overlap | Edge overlap heatmaps for a set of AntibodyForests sequence similarity networks or minimum spanning trees.
AntibodyForests_paths | Calculates the longest/shortest paths from a node to a given node for the AntibodyForests minimum spanning trees / sequence similarity networks
AntibodyForests_phylo | Converts the igraph networks of a given AntibodyForests object into a given (useful to convert the minimum spanning trees into a phylogenetic tree)
AntibodyForests_plot | Custom plots for trees/networks created with AntibodyForests
AntibodyForests_plot_metrics | Plots the resulting node metrics from the AntibodyForests_metrics function
automate_GEX | GEX processing wrapper in Platypus V2

## -- B --

Bcell_sequences_example_tree | Example csv file 1
Bcell_tree_2 | Example csv file 2

## -- C --

call_MIXCR | Calls MiXCR VDJ object of Platypus V2
CellPhoneDB_analyse | Cellphone DB utility
class_switch_prob_hum | class_switch_prob_hum The probability matrix of class switching for human b cells. The row names of the matrix are the isotypes the cell is switching from, the column names are the isotypes the cell is switching to. All B cells start from IGHM, and switch to one of the other isotypes or remain the same.
class_switch_prob_mus | class_switch_prob_mus The probability matrix of class switching for mouse b cells. The row names of the matrix are the isotypes the cell is switching from, the column names are the isotypes the cell is switching to. All B cells start from IGHM, and switch to one of the other isotypes or remain the same.
clonofreq | Plot clonal frequency barplot of the outout simulated data
clonofreq.isotype.data | Get information about the clonotype counts grouped by isotype.
clonofreq.isotype.plot | Get information about the clonotype counts grouped by isotype.
clonofreq.trans.data | Get information about the clonotype counts grouped by transcriptome state(cell type).
clonofreq.trans.plot | Get information about the clonotype counts grouped by transcriptome state(cell type).
cluster.id.igraph | Get clone network igraphs colored by seurat cluster id.
colors | colors A vector of characters specifying colors used in igraph phylogenetic tree. Default colors: "#66C2A5", "#FC8D62", "#8DA0CB", "#E78AC3" ,"#A6D854"

## -- D --

dot_plot | Function to cutomise the Dot Plot of CellPhoneDB analysis results.

## -- E --

Echidna_simulate_repertoire | Simulate immune repertoire and transcriptome data
Echidna_vae_generate | Simulate B or T cell receptor sequences by variational autoencodes(VAEs) trained with experimental data.

## -- G --

get.avr.mut.data | Get information about somatic hypermutation in the simulation. This function return a barplot showing the average mutation.
get.avr.mut.plot | Get information about somatic hypermutation in the simulation. This function return a barplot showing the average mutation.
get.barplot.errorbar | Return a barplot of mean and standard error bar of certain value of each clone.
get.elbow | Get the seurat object from simulated transciptome output.
get.n.node.data | Get the number of unique variants in each clone in a vector. The output is the vector representing the numbers of unique variants.
get.n.node.plot | Get the number of unique variants in each clone in a vector and the barplot. The first item in the output is the vector representing the numbers of unique variants, the second item is the barplot.
get.seq.distance | Computing sequence distance according to the number of unmatched bases.
get.umap | Further process the seurat object from simulated transciptome output and make UMAP ready for plotting.
get.vgu.matrix | Get paired v gene heavy chain and light chain matrix on clonotype level. A v gene usage pheatmap can be obtain by p<-pheatmap::pheatmap(vgu_matrix,show_colnames= T, main = "V Gene Usage"), where the vgu_matrix is the output of this function.
GEX_clonotype | Platypus V2 GEX and VDJ integration for clonotypes
GEX_cluster_genes | Differentially expressed genes between clusters or data subsets
GEX_cluster_genes_heatmap | Heatmap of cluster defining genes
GEX_cluster_membership | Cluster membership plots by sample
GEX_coexpression_coefficient | Coexpression of selected genes
GEX_DEgenes | Wrapper for differential gene expression analysis and plotting
GEX_DEgenes_persample | Platypus V2 Differentially expressed genes
GEX_dottile_plot | GEX Dottile plots
GEX_gene_visualization | Visualization of marker expression in a data set or of predefined genes (B cells, CD4 T cells and CD8 T cells).
GEX_GOterm | GEX GO-Term analysis and plotting
GEX_GSEA | GEX Gene Set Enrichment Analysis and plotting
GEX_heatmap | Flexible GEX heatmap wrapper
GEX_lineage_trajectories | This is a function to infer single cell trajectories and identifying lineage structures on clustered cells. Using the slingshot library
GEX_pairwise_DEGs | Wrapper for calculating pairwise differentially expressed genes
GEX_phenotype | Assignment of cells to phenotypes based on selected markers
GEX_phenotype_per_clone | Plotting of GEX phenotype by VDJ clone
GEX_projecTILS | ProjectTILs tool utility
GEX_proportions_barplot | Plots proportions of a group of cells within a secondary group of cells. E.g. The proportions of samples in seurat clusters, or the proportions of samples in defined cell subtypes
GEX_pseudobulk | Function that performs pseudo-bulking on the data (VGM input), according to criteria specified by the User, and uses the pseudo-bulked data to perform Differential Gene Expression (DGE) analysis.
GEX_pseudotime_trajectory_plot | This function plots pseudotime along the trajectories which have been constructed with the GEX_trajectories() function.
GEX_scatter_coexpression | Scatter plot for coexpression of two selected genes
GEX_topN_DE_genes_per_cluster | Platypus V2 GEX DE genes helper
GEX_trajectories | This is a function which infers trajectories along ordered cells on dimensionality reduced data. It projects trajectrories on a dim. red. plot such as Umap. This uses Monocle3 or Monocle2.
GEX_visualize_clones | Platypus V2 GEX and VDJ integration for visualizing clone clustering
GEX_volcano | Flexible wrapper for GEX volcano plots

## -- H --

hotspot_df | hotspot_df Hotspot mutations taken from Yaari et al., Frontiers in Immunology, 2013. This contains transition probabilities for all 5mer combinations based on high throughput sequencing data. The transition probabilities are for the middle nucleotide in each 5mer set. This can be customized by changing the genes and sequences. Custom mutation hotspots can be supplied by modifying this dataframe. Repeating particular hotspot entries allows for the hotspot to mutate more than one time per SHM event.
hum_b_h | hum_b_h
hum_b_l | hum_b_l
hum_t_h | hum_t_h
hum_t_l | hum_t_l

## -- I --

iso_SHM_prob | iso_SHM_prob A probability dataframe specifying SHM.nuc.prob for cells of different isotypes. The first column is the names of isotypes, while the second column is the SHM.nuc.prob of cell of that isotype. user can define different SHM.nuc.prob for isotypes.

## -- M --

mus_b_h | mus_b_h
mus_b_l | mus_b_l
mus_b_trans | mus_b_trans A data frame contains mouse B cell average gene expression for multiple cell types, with the rows representing the gene names, column names representing the cell type names. The original single cell sequencing data is retrieved from 10xgenomics and combined with experimental data The expression level for different cell types are obtained by calculating the average expression after sorting the original data by markers as shown below.
mus_t_h | mus_t_h
mus_t_l | mus_t_l

## -- N --

no.empty.node | Get clone network igraphs without empty mode. Empty node represents the 'extincted' sequences, that are not in any living cell but once existed.

## -- O --

one_spot_df | one_spot_df

## -- P --

pheno_SHM_prob | pheno_SHM_prob A probability dataframe specifying SHM.nuc.prob for cells of different phenotypes. The first column is the names of phenotypes, while the second column is the SHM.nuc.prob of cell of that phenotype. user can define different SHM.nuc.prob for phenotypes.
PlatypusDB_AIRR_to_VGM | AIRR to Platypus V3 VGM compatibility function
PlatypusDB_fetch | Loads and saves RData objects from the PlatypusDB
PlatypusDB_find_CDR3s | CDR3 query function for PlatypusDB
PlatypusDB_list_projects | Metadata download by project for PlatypusDB
PlatypusDB_load_from_disk | PlatypusDB utility for import of local datasets
PlatypusDB_VGM_to_AIRR | Platypus V3 VGM to AIRR compatibility function
PlatypusML_balance | Secondary ML for crossvalidation
PlatypusML_classification | Core ML for crossvalidation
PlatypusML_feature_extraction_GEX | Extraction of features from GEX matrix of VGM
PlatypusML_feature_extraction_VDJ | Extraction of features from VDJ table of VGM

## -- S --

select.top.clone | Get the index of top ranking clones.
small_vgm | Small VDJ GEX matrix (VGM) for function testing purposes
Spatial_celltype_plot | Plotting celltype assign to cell according to their phenotype on the spatial image.
Spatial_cluster | Plotting clusters of cells by choosing between 10X Genomics clustering or reclustering the cells.
Spatial_density_plot | Plotting the contour density of selected cells or of all cells.
Spatial_evolution_of_clonotype_plot | Plotting the phylogenetic network of a clonotype based on the somatic hypermutations of the immune repertoire sequences on a spatial image.
Spatial_marker_expression | Plotting a gene of interest in selected cells on the spatial image.
Spatial_module_expression | Plotting the expression of a gene module on the spatial image with or without a threshold.
Spatial_nb_SHM_compare_to_germline_plot | Plotting number of somatic hypermutation of clones compare to the germline sequence of the clonotype.
Spatial_scaling_parameters | Scaling of the spatial parameters to be able to express the gene expression on the spatial image.
Spatial_selection_expanded_clonotypes | Selection of VGM[[1]]/VDJ data of the x more expanded clonotypes.
Spatial_selection_of_cells_on_image | Allows to select an area on the spatial image and to isolate the cells expressed on this part and repeat this process several times.
Spatial_VDJ_assignment | Assign simulated immune repertoire sequences (BCR or TCR) simulated by Echidna to transcriptome and location in a spatial image in function of cell type.
Spatial_VDJ_plot | Plotting immune repertoire data as clonotype or isotype for cells on a spatial image.
Spatial_vgm_formation | Addition of the spatial information to the VGM matrix, output of VDJ_GEX_matrix()
special_v | special_v a dataframe, of heavy and light chain v gene combination and their probability to be selected for expansion.

## -- T --

trans_switch_prob_b | trans_switch_prob_b The probability for B cell transcriptome states switching. The row names of the matrix are the cell states the cell is switching from, the column names are the cells states the cell is switching to.
trans_switch_prob_t | trans_switch_prob_t The probability for T cell transcriptome states switching. The row names of the matrix are the cell states the cell is switching from, the column names are the cells states the cell is switching to.

## -- U --

umap.top.highlight | Set idents for top abundant clones in Seurat object, get ready for highlight the top abundant clones in UMAP.

## -- V --

VDJ_abundances | Calculate abundances/counts of specific features for a VDJ dataframe
VDJ_alpha_beta_Vgene_circos | Produces a Circos plot from the VDJ_analyze output. Connects the V-alpha with the corresponding V-beta gene for each clonotype.
VDJ_analyze | Platypus V2 VDJ processing wrapper.
VDJ_antigen_integrate | Integrates antigen-specific information into the VDJ/VDJ.GEX.matrix[[1]] object
VDJ_assemble_for_PnP | Ab sequence assembly for recombinant PnP expression
VDJ_bulk_to_vgm | Utility function for bulk data to standard Platypus format conversion
VDJ_call_enclone | (Re)clonotype a VDJ object using cellranger's enclone tool
VDJ_call_MIXCR | MiXCR wrapper for Platypus V3 VDJ object
VDJ_call_MIXCR_full | MiXCR wrapper for Platypus V3 VDJ object. In addition to the VDJ_call_MIXCR function, the output also contains the concatenated sequences from FR1 all the way to FR2 for both the VDJ and VJ.
VDJ_call_RECON | Calls the Kaplinsky/RECON tool
VDJ_circos | Plots a Circos diagram from an adjacency matrix. Uses the Circlize chordDiagram function. Is called by VDJ_clonotype_clusters_circos(), VDJ_alpha_beta_Vgene_circos() and VDJ_VJ_usage_circos() functions or works on its own when supplied with an adjacency matrix.
VDJ_clonal_donut | Circular VDJ expansion plots
VDJ_clonal_expansion | Flexible wrapper for clonal expansion barplots by isotype, GEX cluster etc.
VDJ_clonal_expansion_abundances | Wrapper function for VDJ_abundances to obtain ranked clonotype barplots
VDJ_clonal_lineages | Platypus V2 lineage utility
VDJ_clonotype | Platypus V3 clonotyping wrapper
VDJ_contigs_to_vgm | Formats "VDJ_contigs_annotations.csv" files from cell ranger to match the VDJ_GEX_matrix output using only cells with 1VDJ and 1VJ chain
VDJ_db_annotate | Wrapper function of VDJ_antigen_integrate function
VDJ_db_load | Load and preprocess a list of antigen-specific databases
VDJ_diversity | Calculates and plots common diversity and overlap measures for repertoires and alike. Requires the vegan package
VDJ_dublets | Platypus V2 annotation utility
VDJ_dynamics | Tracks a specific VDJ column across multiple samples/timepoints.
VDJ_enclone | Updated clonotyping function based on implications for cells with different chain numbers than 1 VDJ 1 VJ chains.
VDJ_expand_aberrants | Expand the aberrant cells in a VDJ dataframe by converting them into additional rows
VDJ_extract_germline | Platypus V2 utility for full germline sequence via MiXCR
VDJ_get_public | Function to get shared/public elements across multiple repertoires
VDJ_GEX_clonal_lineage_clusters | Platypus V2 lineage - GEX integration utility
VDJ_GEX_clonotyme | Pseudotime analysis for scRNA and repertoire sequencing datasets
VDJ_GEX_clonotype_clusters_circos | Makes a Circos plot from the VDJ_GEX_integrate output. Connects the clonotypes with the corresponding clusters.
VDJ_GEX_expansion | Platypus V2 utility
VDJ_GEX_integrate | only Platypus v2 Integrates VDJ and gene expression libraries by providing cluster membership seq_per_vdj object and the index of the cell in the Seurat RNA-seq object.
VDJ_GEX_matrix | VDJ GEX processing and integration wrapper
VDJ_GEX_overlay_clones | Overlay clones on GEX projection
VDJ_GEX_stats | Standalone VDJ and GEX statistics.
VDJ_isotypes_per_clone | Platypus V2 clonal utility
VDJ_kmers | Calculates and plots kmers distributions and frequencies.
vdj_length_prob | vdj_length_prob A list dataframe specifying lengths and probabilities of bases deleted or inserted at each junction site of VDJ recombination event.
VDJ_logoplot_vector | Flexible logoplot wrapper
VDJ_network | Similarity networks based on CDR3 regions
VDJ_ordination | Performs ordination/dimensionality reduction for a species incidence matrix, depending on the species selected in the feature.columns parameter.
VDJ_overlap_heatmap | Wrapper to determine and plot overlap between VDJ features across groups
VDJ_per_clone | VDJ_per_clone
VDJ_phylogenetic_trees | Creates phylogenetic trees from a VDJ dataframe
VDJ_phylogenetic_trees_plot | Phylogenetic tree plotting
VDJ_plot_SHM | Plotting of somatic hypermutation counts
VDJ_public | Function to get shared/public elements across multiple repertoires
VDJ_rarefaction | Plots rarefaction curves for species denoted in the feature.columns parameter across groups determined by grouping.columns
VDJ_reclonotype_list_arrange | Platypus V2 dataframe utility
VDJ_select_clonotypes | Select clonotypes
VDJ_structure_analysis | Analysis of antibody structures
VDJ_tree | Platypus V2 phylogenetic trees.
VDJ_variants_per_clone | Wrapper for variant analysis by clone
VDJ_Vgene_usage | V(D)J gene usage stacked barplots
VDJ_Vgene_usage_barplot | V(D)J gene usage barplots
VDJ_Vgene_usage_stacked_barplot | V(D)J gene usage stacked barplots
VDJ_VJ_usage_circos | Makes a Circos plot from the VDJ_analyze output. Connects the V gene with the corresponding J gene for each clonotype.
VGM_expanded_clones | VDJ utility for T/F column for clonal expansion
VGM_expand_featurebarcodes | Utility for feature barcode assignment including clonal information
VGM_integrate | Utility for VDJ GEX matrix to integrated VDJ and GEX objects after addition of data to either