{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# V(D)J clustering\n", "\n", "On the topic of finding clones/clonotypes, there are many ways used for clustering BCRs, almost all involving some measure based on sequence similarity. There are also a lot of very well established guidelines and criterias maintained by the BCR community. For example, *immcantation* uses a number of model-based [methods](https://changeo.readthedocs.io/en/stable/methods/clustering.html) [[Gupta2015]](https://academic.oup.com/bioinformatics/article/31/20/3356/195677) to group clones based on the distribution of length-normalised junctional hamming distance while others use the whole BCR V(D)J sequence to define clones as shown in this paper [[Bashford-Rogers2019]](https://www.nature.com/articles/s41586-019-1595-3)." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "scrolled": true }, "outputs": [], "source": [ "import os\n", "import scanpy as sc\n", "import dandelion as ddl\n", "\n", "ddl.set_backend(\"base\")\n", "\n", "os.chdir(\"dandelion_tutorial\")\n", "sc.settings.verbosity = 3" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "Dandelion class object with n_obs = 2493 and n_contigs = 7355\n", " data: 'sequence_id', 'sequence', 'rev_comp', 'productive', 'v_call', 'd_call', 'j_call', 'sequence_alignment', 'germline_alignment', 'junction', 'junction_aa', 'v_cigar', 'd_cigar', 'j_cigar', 'stop_codon', 'vj_in_frame', 'locus', 'c_call', 'junction_length', 'np1_length', 'np2_length', 'v_sequence_start', 'v_sequence_end', 'v_germline_start', 'v_germline_end', 'd_sequence_start', 'd_sequence_end', 'd_germline_start', 'd_germline_end', 'j_sequence_start', 'j_sequence_end', 'j_germline_start', 'j_germline_end', 'v_score', 'v_identity', 'v_support', 'd_score', 'd_identity', 'd_support', 'j_score', 'j_identity', 'j_support', 'fwr1', 'fwr2', 'fwr3', 'fwr4', 'cdr1', 'cdr2', 'cdr3', 'cell_id', 'consensus_count', 'umi_count', 'v_call_10x', 'd_call_10x', 'j_call_10x', 'junction_10x', 'junction_10x_aa', 'j_support_igblastn', 'j_score_igblastn', 'j_call_igblastn', 'j_call_blastn', 'j_identity_blastn', 'j_alignment_length_blastn', 'j_number_of_mismatches_blastn', 'j_number_of_gap_openings_blastn', 'j_sequence_start_blastn', 'j_sequence_end_blastn', 'j_germline_start_blastn', 'j_germline_end_blastn', 'j_support_blastn', 'j_score_blastn', 'j_sequence_alignment_blastn', 'j_germline_alignment_blastn', 'j_source', 'd_support_igblastn', 'd_score_igblastn', 'd_call_igblastn', 'd_call_blastn', 'd_identity_blastn', 'd_alignment_length_blastn', 'd_number_of_mismatches_blastn', 'd_number_of_gap_openings_blastn', 'd_sequence_start_blastn', 'd_sequence_end_blastn', 'd_germline_start_blastn', 'd_germline_end_blastn', 'd_support_blastn', 'd_score_blastn', 'd_sequence_alignment_blastn', 'd_germline_alignment_blastn', 'd_source', 'v_call_genotyped', 'germline_alignment_d_mask', 'sample_id', 'c_sequence_alignment', 'c_germline_alignment', 'c_sequence_start', 'c_sequence_end', 'c_score', 'c_identity', 'c_call_10x', 'junction_aa_length', 'fwr1_aa', 'fwr2_aa', 'fwr3_aa', 'fwr4_aa', 'cdr1_aa', 'cdr2_aa', 'cdr3_aa', 'sequence_alignment_aa', 'v_sequence_alignment_aa', 'd_sequence_alignment_aa', 'j_sequence_alignment_aa', 'complete_vdj', 'j_call_multimappers', 'j_call_multiplicity', 'j_call_sequence_start_multimappers', 'j_call_sequence_end_multimappers', 'j_call_support_multimappers', 'mu_count', 'ambiguous', 'extra', 'rearrangement_status'\n", " metadata: 'sample_id', 'locus_VDJ', 'locus_VJ', 'productive_VDJ', 'productive_VJ', 'v_call_VDJ', 'd_call_VDJ', 'j_call_VDJ', 'v_call_VJ', 'j_call_VJ', 'c_call_VDJ', 'c_call_VJ', 'junction_VDJ', 'junction_VJ', 'junction_aa_VDJ', 'junction_aa_VJ', 'v_call_B_VDJ', 'd_call_B_VDJ', 'j_call_B_VDJ', 'v_call_B_VJ', 'j_call_B_VJ', 'c_call_B_VDJ', 'c_call_B_VJ', 'productive_B_VDJ', 'productive_B_VJ', 'umi_count_B_VDJ', 'umi_count_B_VJ', 'v_call_VDJ_main', 'v_call_VJ_main', 'd_call_VDJ_main', 'j_call_VDJ_main', 'j_call_VJ_main', 'c_call_VDJ_main', 'c_call_VJ_main', 'v_call_B_VDJ_main', 'd_call_B_VDJ_main', 'j_call_B_VDJ_main', 'v_call_B_VJ_main', 'j_call_B_VJ_main', 'isotype', 'isotype_status', 'locus_status', 'chain_status', 'rearrangement_status_VDJ', 'rearrangement_status_VJ'" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# read in the previously saved file\n", "vdj = ddl.read_h5ddl(\"dandelion_results.h5ddl\")\n", "vdj" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "AnnData object with n_obs × n_vars = 25057 × 1308\n", " obs: 'sample_id', 'n_genes', 'n_genes_by_counts', 'total_counts', 'total_counts_mt', 'pct_counts_mt', 'gmm_pct_count_clusters_keep', 'scrublet_score', 'is_doublet', 'filter_rna', 'has_contig', 'locus_VDJ', 'locus_VJ', 'productive_VDJ', 'productive_VJ', 'v_call_VDJ', 'd_call_VDJ', 'j_call_VDJ', 'v_call_VJ', 'j_call_VJ', 'c_call_VDJ', 'c_call_VJ', 'junction_VDJ', 'junction_VJ', 'junction_aa_VDJ', 'junction_aa_VJ', 'v_call_B_VDJ', 'd_call_B_VDJ', 'j_call_B_VDJ', 'v_call_B_VJ', 'j_call_B_VJ', 'c_call_B_VDJ', 'c_call_B_VJ', 'productive_B_VDJ', 'productive_B_VJ', 'umi_count_B_VDJ', 'umi_count_B_VJ', 'v_call_VDJ_main', 'v_call_VJ_main', 'd_call_VDJ_main', 'j_call_VDJ_main', 'j_call_VJ_main', 'c_call_VDJ_main', 'c_call_VJ_main', 'v_call_B_VDJ_main', 'd_call_B_VDJ_main', 'j_call_B_VDJ_main', 'v_call_B_VJ_main', 'j_call_B_VJ_main', 'isotype', 'isotype_status', 'locus_status', 'chain_status', 'rearrangement_status_VDJ', 'rearrangement_status_VJ', 'leiden'\n", " var: 'n_cells', 'highly_variable', 'means', 'dispersions', 'dispersions_norm', 'mean', 'std'\n", " uns: 'chain_status_colors', 'hvg', 'leiden', 'leiden_colors', 'log1p', 'neighbors', 'pca', 'sample_id_colors', 'umap'\n", " obsm: 'X_pca', 'X_umap'\n", " varm: 'PCs'\n", " obsp: 'connectivities', 'distances'" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "adata = sc.read_h5ad(\"adata.h5ad\")\n", "adata" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Finding clones\n", "\n", "The following is *dandelion*'s implementation of a rather conventional method to define clones, `ddl.tl.find_clones`. \n", "\n", "
\n", "\n", "Clone definition criterion\n", " \n", "Clone definition is based on the following criterion:

\n", "\n", "I. Identical V- and J-gene usage in the VDJ chain (IGH/TRB/TRD).

\n", "\n", "II. Identical CDR3 junctional/CDR3 sequence length in the VDJ chain.

\n", "\n", "III. VDJ chain junctional/CDR3 sequences attains a minimum of % sequence similarity, based on hamming distance. The similarity cut-off is tunable (default is 85%; change to 100% if analyzing TCR data).

\n", "\n", "IV. VJ chain (IGK/IGL/TRA/TRG) usage. If cells within clones use different VJ chains, the clone will be split following the same conditions for VDJ chains in (1-3) as above.\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### (Optional) Simplifying annotation calls.\n", "This is an optional step to simplify the annotation calls. The `vdj.simplify()` will reduce the complexity of the gene names and strip the alleles. This impacts on how clones are defined (using simpler v/j calls) and also visualiation." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "application/vnd.microsoft.datawrangler.viewer.v0+json": { "columns": [ { "name": "sequence_id", "rawType": "object", "type": "string" }, { "name": "v_call_genotyped", "rawType": "object", "type": "string" }, { "name": "j_call", "rawType": "object", "type": "string" }, { "name": "c_call", "rawType": "object", "type": "string" } ], "ref": "793e7974-52a1-48ba-b3a8-af110670cda9", "rows": [ [ "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCATATCGG_contig_1", "IGKV1-33*01,IGKV1D-33*01", "IGKJ4*01", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCCGTTGTC_contig_2", "IGHV1-69*01,IGHV1-69D*01", "IGHJ3*02", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCCGTTGTC_contig_1", "IGKV1-8*01", "IGKJ1*01", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCGAGAACG_contig_1", "IGLV5-45*02", "IGLJ3*02", "IGLC3" ], [ "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCGAGAACG_contig_2", "IGHV1-2*02", "IGHJ3*02", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCTTGAGAC_contig_2", "IGHV5-51*03", "IGHJ3*02", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCTTGAGAC_contig_1", "IGKV1D-8*01", "IGKJ2*01", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_b_AAACGGGAGCGACGTA_contig_1", "IGHV4-4*07", "IGHJ3*02", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_b_AAACGGGAGCGACGTA_contig_2", "IGLV3-19*01", "IGLJ2*01,IGLJ3*01", "IGLC" ], [ "sc5p_v2_hs_PBMC_10k_b_AAACGGGAGCGACGTA_contig_3", "IGLV7-46*01", "IGLJ3*02", "IGLC" ], [ "sc5p_v2_hs_PBMC_10k_b_AAACGGGCACTGTTAG_contig_2", "IGHV4-39*01", "IGHJ3*02", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_b_AAACGGGCACTGTTAG_contig_1", "IGLV3-21*04", "IGLJ2*01,IGLJ3*01", "IGLC" ], [ "sc5p_v2_hs_PBMC_10k_b_AAACGGGCACTGTTAG_contig_3", "IGHV3-7*01", "IGHJ3*02", "IGHD" ], [ "sc5p_v2_hs_PBMC_10k_b_AAAGATGAGGATGCGT_contig_2", "IGKV2-28*01,IGKV2D-28*01", "IGKJ2*01", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_b_AAAGATGAGGATGCGT_contig_1", "IGHV3-30*02", "IGHJ4*02", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_b_AAAGATGGTACTTCTT_contig_2", "IGKV1-5*03", "IGKJ3*01", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_b_AAAGATGGTACTTCTT_contig_1", "IGHV2-5*02", "IGHJ3*02", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_b_AAAGATGGTACTTCTT_contig_3", "IGLV2-11*01", "IGLJ2*01,IGLJ3*01", "IGLC" ], [ "sc5p_v2_hs_PBMC_10k_b_AAAGATGGTCGAATCT_contig_1", "IGLV6-57*03", "IGLJ2*01,IGLJ3*01", "IGLC" ], [ "sc5p_v2_hs_PBMC_10k_b_AAAGATGGTCGAATCT_contig_2", "IGHV3-15*01", "IGHJ4*02", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_b_AAAGATGGTGAGGGAG_contig_2", "IGLV2-14*01,IGLV2-14*03", "IGLJ3*02", "IGLC3" ], [ "sc5p_v2_hs_PBMC_10k_b_AAAGATGGTGAGGGAG_contig_1", "IGHV4-61*02", "IGHJ6*02", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_b_AAAGATGGTGAGGGAG_contig_3", "IGHV3-7*01", "IGHJ4*02", "IGHD" ], [ "sc5p_v2_hs_PBMC_10k_b_AAAGTAGCAGATCCAT_contig_1", "IGKV1-27*01", "IGKJ3*01", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_b_AAAGTAGCAGATCCAT_contig_2", "IGHV1-2*02", "IGHJ6*02", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_b_AAAGTAGCAGATCCAT_contig_3", "IGKV1D-8*01", "IGKJ1*01", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_b_AAAGTAGGTACAAGTA_contig_1", "IGKV1-5*03", "IGKJ1*01", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_b_AAAGTAGGTACAAGTA_contig_2", "IGHV2-5*02", "IGHJ3*02", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_b_AACACGTAGACACGAC_contig_2", "IGKV1-39*01,IGKV1D-39*01", "IGKJ2*01", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_b_AACACGTAGACACGAC_contig_1", "IGHV3-7*01", "IGHJ4*02", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_b_AACACGTCACAGACAG_contig_1", "IGHV1-8*01", "IGHJ3*02", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_b_AACACGTCACAGACAG_contig_2", "IGKV3-20*01", "IGKJ1*01", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_b_AACACGTGTACCGTAT_contig_1", "IGHV3-9*01", "IGHJ3*02", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_b_AACACGTGTACCGTAT_contig_2", "IGKV4-1*01", "IGKJ1*01", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_b_AACACGTTCCCTTGTG_contig_2", "IGKV3-20*01", "IGKJ2*01", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_b_AACACGTTCCCTTGTG_contig_1", "IGHV3-9*01", "IGHJ4*02", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_b_AACACGTTCCCTTGTG_contig_3", "IGHV3-49*03,IGHV3-49*04", "IGHJ4*02", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_b_AACCATGCAAGCTGTT_contig_2", "IGLV2-14*01,IGLV2-14*03", "IGLJ1*01", "IGLC1" ], [ "sc5p_v2_hs_PBMC_10k_b_AACCATGCAAGCTGTT_contig_1", "IGHV3-33*01", "IGHJ6*02", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_b_AACCATGTCAGTCCCT_contig_2", "IGLV2-14*01,IGLV2-14*03", "IGLJ2*01,IGLJ3*01", "IGLC" ], [ "sc5p_v2_hs_PBMC_10k_b_AACCATGTCAGTCCCT_contig_1", "IGHV3-49*04", "IGHJ3*02", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_b_AACCATGTCCAAGTAC_contig_2", "IGKV3-20*01", "IGKJ3*01", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_b_AACCATGTCCAAGTAC_contig_1", "IGHV4-4*07", "IGHJ6*02", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_b_AACCATGTCTAGCACA_contig_2", "IGLV1-47*01", "IGLJ3*02", "IGLC3" ], [ "sc5p_v2_hs_PBMC_10k_b_AACCATGTCTAGCACA_contig_1", "IGHV4-30-2*01", "IGHJ6*02", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_b_AACCGCGCAACACCTA_contig_1", "IGKV1-39*01,IGKV1D-39*01", "IGKJ2*01", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_b_AACCGCGCAACACCTA_contig_3", "IGHV3-9*01", "IGHJ3*02", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_b_AACCGCGCAACACCTA_contig_2", "IGKV3-20*01", "IGKJ5*01", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_b_AACCGCGCAAGCTGAG_contig_4", "IGKV2D-29*01", "IGKJ4*01", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_b_AACCGCGCAAGCTGAG_contig_1", "IGLV8-61*01", "IGLJ2*01,IGLJ3*01", "IGLC" ] ], "shape": { "columns": 3, "rows": 7355 } }, "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
v_call_genotypedj_callc_call
sequence_id
sc5p_v2_hs_PBMC_10k_b_AAACCTGTCATATCGG_contig_1IGKV1-33*01,IGKV1D-33*01IGKJ4*01IGKC
sc5p_v2_hs_PBMC_10k_b_AAACCTGTCCGTTGTC_contig_2IGHV1-69*01,IGHV1-69D*01IGHJ3*02IGHM
sc5p_v2_hs_PBMC_10k_b_AAACCTGTCCGTTGTC_contig_1IGKV1-8*01IGKJ1*01IGKC
sc5p_v2_hs_PBMC_10k_b_AAACCTGTCGAGAACG_contig_1IGLV5-45*02IGLJ3*02IGLC3
sc5p_v2_hs_PBMC_10k_b_AAACCTGTCGAGAACG_contig_2IGHV1-2*02IGHJ3*02IGHM
............
vdj_v1_hs_pbmc3_b_TTTCCTCTCGACAGCC_contig_1IGHV1-46*01IGHJ5*02IGHM
vdj_v1_hs_pbmc3_b_TTTGCGCCATACCATG_contig_2IGHV1-69*01,IGHV1-69D*01IGHJ6*02IGHM
vdj_v1_hs_pbmc3_b_TTTGCGCCATACCATG_contig_1IGLV1-47*01IGLJ3*02IGLC3
vdj_v1_hs_pbmc3_b_TTTGGTTGTAGGCATG_contig_2IGLV2-11*01IGLJ2*01,IGLJ3*01,IGLJ3*02IGLC
vdj_v1_hs_pbmc3_b_TTTGGTTGTAGGCATG_contig_1IGHV3-23*01,IGHV3-23D*01IGHJ4*02IGHM
\n", "

7355 rows × 3 columns

\n", "
" ], "text/plain": [ " v_call_genotyped \\\n", "sequence_id \n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCATATCGG_contig_1 IGKV1-33*01,IGKV1D-33*01 \n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCCGTTGTC_contig_2 IGHV1-69*01,IGHV1-69D*01 \n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCCGTTGTC_contig_1 IGKV1-8*01 \n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCGAGAACG_contig_1 IGLV5-45*02 \n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCGAGAACG_contig_2 IGHV1-2*02 \n", "... ... \n", "vdj_v1_hs_pbmc3_b_TTTCCTCTCGACAGCC_contig_1 IGHV1-46*01 \n", "vdj_v1_hs_pbmc3_b_TTTGCGCCATACCATG_contig_2 IGHV1-69*01,IGHV1-69D*01 \n", "vdj_v1_hs_pbmc3_b_TTTGCGCCATACCATG_contig_1 IGLV1-47*01 \n", "vdj_v1_hs_pbmc3_b_TTTGGTTGTAGGCATG_contig_2 IGLV2-11*01 \n", "vdj_v1_hs_pbmc3_b_TTTGGTTGTAGGCATG_contig_1 IGHV3-23*01,IGHV3-23D*01 \n", "\n", " j_call \\\n", "sequence_id \n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCATATCGG_contig_1 IGKJ4*01 \n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCCGTTGTC_contig_2 IGHJ3*02 \n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCCGTTGTC_contig_1 IGKJ1*01 \n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCGAGAACG_contig_1 IGLJ3*02 \n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCGAGAACG_contig_2 IGHJ3*02 \n", "... ... \n", "vdj_v1_hs_pbmc3_b_TTTCCTCTCGACAGCC_contig_1 IGHJ5*02 \n", "vdj_v1_hs_pbmc3_b_TTTGCGCCATACCATG_contig_2 IGHJ6*02 \n", "vdj_v1_hs_pbmc3_b_TTTGCGCCATACCATG_contig_1 IGLJ3*02 \n", "vdj_v1_hs_pbmc3_b_TTTGGTTGTAGGCATG_contig_2 IGLJ2*01,IGLJ3*01,IGLJ3*02 \n", "vdj_v1_hs_pbmc3_b_TTTGGTTGTAGGCATG_contig_1 IGHJ4*02 \n", "\n", " c_call \n", "sequence_id \n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCATATCGG_contig_1 IGKC \n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCCGTTGTC_contig_2 IGHM \n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCCGTTGTC_contig_1 IGKC \n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCGAGAACG_contig_1 IGLC3 \n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCGAGAACG_contig_2 IGHM \n", "... ... \n", "vdj_v1_hs_pbmc3_b_TTTCCTCTCGACAGCC_contig_1 IGHM \n", "vdj_v1_hs_pbmc3_b_TTTGCGCCATACCATG_contig_2 IGHM \n", "vdj_v1_hs_pbmc3_b_TTTGCGCCATACCATG_contig_1 IGLC3 \n", "vdj_v1_hs_pbmc3_b_TTTGGTTGTAGGCATG_contig_2 IGLC \n", "vdj_v1_hs_pbmc3_b_TTTGGTTGTAGGCATG_contig_1 IGHM \n", "\n", "[7355 rows x 3 columns]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# original\n", "vdj.data[[\"v_call_genotyped\", \"j_call\", \"c_call\"]]" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "application/vnd.microsoft.datawrangler.viewer.v0+json": { "columns": [ { "name": "sequence_id", "rawType": "object", "type": "string" }, { "name": "v_call_genotyped", "rawType": "object", "type": "string" }, { "name": "j_call", "rawType": "object", "type": "string" }, { "name": "c_call", "rawType": "object", "type": "string" } ], "ref": "78343f32-6ba2-42f1-8327-ef0160268afb", "rows": [ [ "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCATATCGG_contig_1", "IGKV1-33", "IGKJ4", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCCGTTGTC_contig_2", "IGHV1-69", "IGHJ3", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCCGTTGTC_contig_1", "IGKV1-8", "IGKJ1", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCGAGAACG_contig_1", "IGLV5-45", "IGLJ3", "IGLC3" ], [ "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCGAGAACG_contig_2", "IGHV1-2", "IGHJ3", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCTTGAGAC_contig_2", "IGHV5-51", "IGHJ3", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCTTGAGAC_contig_1", "IGKV1D-8", "IGKJ2", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_b_AAACGGGAGCGACGTA_contig_1", "IGHV4-4", "IGHJ3", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_b_AAACGGGAGCGACGTA_contig_2", "IGLV3-19", "IGLJ2", "IGLC" ], [ "sc5p_v2_hs_PBMC_10k_b_AAACGGGAGCGACGTA_contig_3", "IGLV7-46", "IGLJ3", "IGLC" ], [ "sc5p_v2_hs_PBMC_10k_b_AAACGGGCACTGTTAG_contig_2", "IGHV4-39", "IGHJ3", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_b_AAACGGGCACTGTTAG_contig_1", "IGLV3-21", "IGLJ2", "IGLC" ], [ "sc5p_v2_hs_PBMC_10k_b_AAACGGGCACTGTTAG_contig_3", "IGHV3-7", "IGHJ3", "IGHD" ], [ "sc5p_v2_hs_PBMC_10k_b_AAAGATGAGGATGCGT_contig_2", "IGKV2-28", "IGKJ2", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_b_AAAGATGAGGATGCGT_contig_1", "IGHV3-30", "IGHJ4", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_b_AAAGATGGTACTTCTT_contig_2", "IGKV1-5", "IGKJ3", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_b_AAAGATGGTACTTCTT_contig_1", "IGHV2-5", "IGHJ3", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_b_AAAGATGGTACTTCTT_contig_3", "IGLV2-11", "IGLJ2", "IGLC" ], [ "sc5p_v2_hs_PBMC_10k_b_AAAGATGGTCGAATCT_contig_1", "IGLV6-57", "IGLJ2", "IGLC" ], [ "sc5p_v2_hs_PBMC_10k_b_AAAGATGGTCGAATCT_contig_2", "IGHV3-15", "IGHJ4", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_b_AAAGATGGTGAGGGAG_contig_2", "IGLV2-14", "IGLJ3", "IGLC3" ], [ "sc5p_v2_hs_PBMC_10k_b_AAAGATGGTGAGGGAG_contig_1", "IGHV4-61", "IGHJ6", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_b_AAAGATGGTGAGGGAG_contig_3", "IGHV3-7", "IGHJ4", "IGHD" ], [ "sc5p_v2_hs_PBMC_10k_b_AAAGTAGCAGATCCAT_contig_1", "IGKV1-27", "IGKJ3", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_b_AAAGTAGCAGATCCAT_contig_2", "IGHV1-2", "IGHJ6", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_b_AAAGTAGCAGATCCAT_contig_3", "IGKV1D-8", "IGKJ1", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_b_AAAGTAGGTACAAGTA_contig_1", "IGKV1-5", "IGKJ1", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_b_AAAGTAGGTACAAGTA_contig_2", "IGHV2-5", "IGHJ3", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_b_AACACGTAGACACGAC_contig_2", "IGKV1-39", "IGKJ2", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_b_AACACGTAGACACGAC_contig_1", "IGHV3-7", "IGHJ4", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_b_AACACGTCACAGACAG_contig_1", "IGHV1-8", "IGHJ3", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_b_AACACGTCACAGACAG_contig_2", "IGKV3-20", "IGKJ1", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_b_AACACGTGTACCGTAT_contig_1", "IGHV3-9", "IGHJ3", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_b_AACACGTGTACCGTAT_contig_2", "IGKV4-1", "IGKJ1", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_b_AACACGTTCCCTTGTG_contig_2", "IGKV3-20", "IGKJ2", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_b_AACACGTTCCCTTGTG_contig_1", "IGHV3-9", "IGHJ4", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_b_AACACGTTCCCTTGTG_contig_3", "IGHV3-49", "IGHJ4", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_b_AACCATGCAAGCTGTT_contig_2", "IGLV2-14", "IGLJ1", "IGLC1" ], [ "sc5p_v2_hs_PBMC_10k_b_AACCATGCAAGCTGTT_contig_1", "IGHV3-33", "IGHJ6", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_b_AACCATGTCAGTCCCT_contig_2", "IGLV2-14", "IGLJ2", "IGLC" ], [ "sc5p_v2_hs_PBMC_10k_b_AACCATGTCAGTCCCT_contig_1", "IGHV3-49", "IGHJ3", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_b_AACCATGTCCAAGTAC_contig_2", "IGKV3-20", "IGKJ3", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_b_AACCATGTCCAAGTAC_contig_1", "IGHV4-4", "IGHJ6", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_b_AACCATGTCTAGCACA_contig_2", "IGLV1-47", "IGLJ3", "IGLC3" ], [ "sc5p_v2_hs_PBMC_10k_b_AACCATGTCTAGCACA_contig_1", "IGHV4-30-2", "IGHJ6", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_b_AACCGCGCAACACCTA_contig_1", "IGKV1-39", "IGKJ2", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_b_AACCGCGCAACACCTA_contig_3", "IGHV3-9", "IGHJ3", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_b_AACCGCGCAACACCTA_contig_2", "IGKV3-20", "IGKJ5", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_b_AACCGCGCAAGCTGAG_contig_4", "IGKV2D-29", "IGKJ4", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_b_AACCGCGCAAGCTGAG_contig_1", "IGLV8-61", "IGLJ2", "IGLC" ] ], "shape": { "columns": 3, "rows": 7355 } }, "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
v_call_genotypedj_callc_call
sequence_id
sc5p_v2_hs_PBMC_10k_b_AAACCTGTCATATCGG_contig_1IGKV1-33IGKJ4IGKC
sc5p_v2_hs_PBMC_10k_b_AAACCTGTCCGTTGTC_contig_2IGHV1-69IGHJ3IGHM
sc5p_v2_hs_PBMC_10k_b_AAACCTGTCCGTTGTC_contig_1IGKV1-8IGKJ1IGKC
sc5p_v2_hs_PBMC_10k_b_AAACCTGTCGAGAACG_contig_1IGLV5-45IGLJ3IGLC3
sc5p_v2_hs_PBMC_10k_b_AAACCTGTCGAGAACG_contig_2IGHV1-2IGHJ3IGHM
............
vdj_v1_hs_pbmc3_b_TTTCCTCTCGACAGCC_contig_1IGHV1-46IGHJ5IGHM
vdj_v1_hs_pbmc3_b_TTTGCGCCATACCATG_contig_2IGHV1-69IGHJ6IGHM
vdj_v1_hs_pbmc3_b_TTTGCGCCATACCATG_contig_1IGLV1-47IGLJ3IGLC3
vdj_v1_hs_pbmc3_b_TTTGGTTGTAGGCATG_contig_2IGLV2-11IGLJ2IGLC
vdj_v1_hs_pbmc3_b_TTTGGTTGTAGGCATG_contig_1IGHV3-23IGHJ4IGHM
\n", "

7355 rows × 3 columns

\n", "
" ], "text/plain": [ " v_call_genotyped j_call c_call\n", "sequence_id \n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCATATCGG_contig_1 IGKV1-33 IGKJ4 IGKC\n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCCGTTGTC_contig_2 IGHV1-69 IGHJ3 IGHM\n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCCGTTGTC_contig_1 IGKV1-8 IGKJ1 IGKC\n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCGAGAACG_contig_1 IGLV5-45 IGLJ3 IGLC3\n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCGAGAACG_contig_2 IGHV1-2 IGHJ3 IGHM\n", "... ... ... ...\n", "vdj_v1_hs_pbmc3_b_TTTCCTCTCGACAGCC_contig_1 IGHV1-46 IGHJ5 IGHM\n", "vdj_v1_hs_pbmc3_b_TTTGCGCCATACCATG_contig_2 IGHV1-69 IGHJ6 IGHM\n", "vdj_v1_hs_pbmc3_b_TTTGCGCCATACCATG_contig_1 IGLV1-47 IGLJ3 IGLC3\n", "vdj_v1_hs_pbmc3_b_TTTGGTTGTAGGCATG_contig_2 IGLV2-11 IGLJ2 IGLC\n", "vdj_v1_hs_pbmc3_b_TTTGGTTGTAGGCATG_contig_1 IGHV3-23 IGHJ4 IGHM\n", "\n", "[7355 rows x 3 columns]" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "vdj.simplify()\n", "vdj.data[[\"v_call_genotyped\", \"j_call\", \"c_call\"]]" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "# let's save this as a separate file\n", "vdj.write_h5ddl(\"dandelion_results_simplified.h5ddl\", compression=\"gzip\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Running `ddl.tl.find_clones`\n", "The function will take a file path, a pandas `DataFrame` (for example if you've used pandas to read in the filtered file already), or a `Dandelion` class object. The default mode for calculation of junctional hamming distance is to use the CDR3 junction amino acid sequences, specified via the `key` option (`None` defaults to `junction_aa`). You can switch it to using CDR3 junction nucleotide sequences (`key = 'junction'`), or even the full V(D)J amino acid sequence (`key = 'sequence_alignment_aa'`), as long as the column name exists in the `.data` slot.\n", "\n", "Clustering TCR is possible with the same setup but requires changing of default parameters (covered in the TCR section)." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Finding clonotypes\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Finding clones based on B cell VDJ chains using junction_aa: 100%|██████████| 200/200 [00:00<00:00, 1678.84it/s]\n", "Finding clones based on B cell VJ chains using junction_aa: 100%|██████████| 207/207 [00:00<00:00, 3385.96it/s]\n", "Refining clone assignment based on VJ chain pairing : 100%|██████████| 2493/2493 [00:00<00:00, 374164.46it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Initialising Dandelion object\n", " finished: Updated Dandelion object: \n", " 'data', contig-indexed AIRR table\n", " 'metadata', cell-indexed observations table\n", " (0:00:02)\n" ] }, { "data": { "text/plain": [ "Dandelion class object with n_obs = 2493 and n_contigs = 7355\n", " data: 'sequence_id', 'sequence', 'rev_comp', 'productive', 'v_call', 'd_call', 'j_call', 'sequence_alignment', 'germline_alignment', 'junction', 'junction_aa', 'v_cigar', 'd_cigar', 'j_cigar', 'stop_codon', 'vj_in_frame', 'locus', 'c_call', 'junction_length', 'np1_length', 'np2_length', 'v_sequence_start', 'v_sequence_end', 'v_germline_start', 'v_germline_end', 'd_sequence_start', 'd_sequence_end', 'd_germline_start', 'd_germline_end', 'j_sequence_start', 'j_sequence_end', 'j_germline_start', 'j_germline_end', 'v_score', 'v_identity', 'v_support', 'd_score', 'd_identity', 'd_support', 'j_score', 'j_identity', 'j_support', 'fwr1', 'fwr2', 'fwr3', 'fwr4', 'cdr1', 'cdr2', 'cdr3', 'cell_id', 'consensus_count', 'umi_count', 'v_call_10x', 'd_call_10x', 'j_call_10x', 'junction_10x', 'junction_10x_aa', 'j_support_igblastn', 'j_score_igblastn', 'j_call_igblastn', 'j_call_blastn', 'j_identity_blastn', 'j_alignment_length_blastn', 'j_number_of_mismatches_blastn', 'j_number_of_gap_openings_blastn', 'j_sequence_start_blastn', 'j_sequence_end_blastn', 'j_germline_start_blastn', 'j_germline_end_blastn', 'j_support_blastn', 'j_score_blastn', 'j_sequence_alignment_blastn', 'j_germline_alignment_blastn', 'j_source', 'd_support_igblastn', 'd_score_igblastn', 'd_call_igblastn', 'd_call_blastn', 'd_identity_blastn', 'd_alignment_length_blastn', 'd_number_of_mismatches_blastn', 'd_number_of_gap_openings_blastn', 'd_sequence_start_blastn', 'd_sequence_end_blastn', 'd_germline_start_blastn', 'd_germline_end_blastn', 'd_support_blastn', 'd_score_blastn', 'd_sequence_alignment_blastn', 'd_germline_alignment_blastn', 'd_source', 'v_call_genotyped', 'germline_alignment_d_mask', 'sample_id', 'c_sequence_alignment', 'c_germline_alignment', 'c_sequence_start', 'c_sequence_end', 'c_score', 'c_identity', 'c_call_10x', 'junction_aa_length', 'fwr1_aa', 'fwr2_aa', 'fwr3_aa', 'fwr4_aa', 'cdr1_aa', 'cdr2_aa', 'cdr3_aa', 'sequence_alignment_aa', 'v_sequence_alignment_aa', 'd_sequence_alignment_aa', 'j_sequence_alignment_aa', 'complete_vdj', 'j_call_multimappers', 'j_call_multiplicity', 'j_call_sequence_start_multimappers', 'j_call_sequence_end_multimappers', 'j_call_support_multimappers', 'mu_count', 'ambiguous', 'extra', 'rearrangement_status', 'clone_id'\n", " metadata: 'clone_id', 'clone_id_rank', 'sample_id', 'locus_VDJ', 'locus_VJ', 'productive_VDJ', 'productive_VJ', 'v_call_VDJ', 'd_call_VDJ', 'j_call_VDJ', 'v_call_VJ', 'j_call_VJ', 'c_call_VDJ', 'c_call_VJ', 'junction_VDJ', 'junction_VJ', 'junction_aa_VDJ', 'junction_aa_VJ', 'v_call_B_VDJ', 'd_call_B_VDJ', 'j_call_B_VDJ', 'v_call_B_VJ', 'j_call_B_VJ', 'c_call_B_VDJ', 'c_call_B_VJ', 'productive_B_VDJ', 'productive_B_VJ', 'umi_count_B_VDJ', 'umi_count_B_VJ', 'v_call_VDJ_main', 'v_call_VJ_main', 'd_call_VDJ_main', 'j_call_VDJ_main', 'j_call_VJ_main', 'c_call_VDJ_main', 'c_call_VJ_main', 'v_call_B_VDJ_main', 'd_call_B_VDJ_main', 'j_call_B_VDJ_main', 'v_call_B_VJ_main', 'j_call_B_VJ_main', 'isotype', 'isotype_status', 'locus_status', 'chain_status', 'rearrangement_status_VDJ', 'rearrangement_status_VJ'" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ddl.tl.find_clones(vdj)\n", "vdj" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This will return a new column with the column name `'clone_id'` as per convention. If a file path is provided as input, it will also save the file automatically into the base directory of the file name. Otherwise, a `Dandelion` object will be returned." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "Clonotype definition criterion\n", "\n", "The `clone_id` follows an `VDJ_{A}_{B}_{C}_VJ_{D}_{E}_{F}` format and largely reflects the conditions above where:\n", "\n", " {A} indicates if the contigs use the same V and J genes in the VDJ chain.\n", " \n", " {B} indicates if junctional/CDR3 sequences are equal in length in the VDJ chain.\n", " \n", " {C} indicates if clones are split based on junctional/CDR3 hamming distance threshold (for VDJ chain).\n", " \n", " {D} indicates if the contigs use the same V and J genes in the VJ chain.\n", " \n", " {E} indicates if junctional/CDR3 sequences are equal in length in the VJ chain.\n", " \n", " {F} indicates if clones are split based on junctional/CDR3 hamming distance threshold (for VJ chain).\n", "\n", "
\n", "\n", "Also, to prevent issues with clonotype ids matching between B cells and T cells, there will be a prefix added to the `clone_id` to reflect whether or not it's a `B`, `abT` or `gdT` clone.\n", "\n", "Therefor, a complete B cell clonotype id will look something like:\n", "\n", "`B_VDJ_1_1_2_VJ_2_1_1`\n", "\n", "For an `Orphan VDJ`, it would be `B_VDJ_1_1_2`.\n", "\n", "For an `Orphan VJ`, it would be `B_VJ_2_1_1`.\n", "\n", "The individual numbers in the clonotype id do not have any meaning on their own, other than to indicate whether or not the conditions were met. For example, a `1` in the first position indicates that all contigs in that clone use the same V and J genes in the VDJ chain, while a `2` indicates that there that clone uses a different set of V/J genes.\n", "\n", "There are different defaults depending on the type of receptor data being analysed. For BCR data, the default identity threshold is set to `0.85` (i.e. 85% similarity based on hamming distance) while for TCR data, the default is set to `1.0` (i.e. 100% similarity). BCR uses `junction_aa` (amino acid) as the default key for calculating hamming distance while TCR uses `junction` (nucleotide) as default. These two parameters can be changed via the `identity` and `key` options respectively, which accepts a dictionary for each receptor type like so:\n", "\n", "```python\n", "ddl.tl.find_clones(vdj, \n", " identity = {'ig': 0.85, 'tr-ab': 1.0, 'tr-gd': 1.0}, \n", " key = {'ig': 'junction_aa', 'tr-ab': 'junction', 'tr-gd': 'junction'}\n", ")\n", "```\n", "\n", "This also means that `ddl.tl.find_clones` can be used for data containing both BCR and TCR data in the same object and the appropriate parameters will be applied to each receptor type accordingly.\n", "\n", "\n", "There is also an alternate column called `clone_id_rank` which is a simplified numerical version of the `clone_id` which corresponds to the size of the clonotype - `1` is the largest clonotype, `2` is the second largest, and so on. Numbering is done separately for each receptor type if there are multiple receptor types in the data, i.e. it would look like `B_1`, `B_2`, `abT_1`, etc. There is a separate tutorial on handling multi-receptor data at [here](https://dandelion-tutorials.readthedocs.io/en/latest/multi_receptor_analysis.html) that will go into more details.\n" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "application/vnd.microsoft.datawrangler.viewer.v0+json": { "columns": [ { "name": "index", "rawType": "object", "type": "string" }, { "name": "clone_id", "rawType": "object", "type": "string" }, { "name": "clone_id_rank", "rawType": "category", "type": "unknown" }, { "name": "sample_id", "rawType": "object", "type": "string" }, { "name": "locus_VDJ", "rawType": "object", "type": "unknown" }, { "name": "locus_VJ", "rawType": "object", "type": "unknown" }, { "name": "productive_VDJ", "rawType": "object", "type": "unknown" }, { "name": "productive_VJ", "rawType": "object", "type": "unknown" }, { "name": "v_call_VDJ", "rawType": "object", "type": "unknown" }, { "name": "d_call_VDJ", "rawType": "object", "type": "unknown" }, { "name": "j_call_VDJ", "rawType": "object", "type": "unknown" }, { "name": "v_call_VJ", "rawType": "object", "type": "unknown" }, { "name": "j_call_VJ", "rawType": "object", "type": "unknown" }, { "name": "c_call_VDJ", "rawType": "object", "type": "unknown" }, { "name": "c_call_VJ", "rawType": "object", "type": "unknown" }, { "name": "junction_VDJ", "rawType": "object", "type": "unknown" }, { "name": "junction_VJ", "rawType": "object", "type": "unknown" }, { "name": "junction_aa_VDJ", "rawType": "object", "type": "unknown" }, { "name": "junction_aa_VJ", "rawType": "object", "type": "unknown" }, { "name": "v_call_B_VDJ", "rawType": "object", "type": "unknown" }, { "name": "d_call_B_VDJ", "rawType": "object", "type": "unknown" }, { "name": "j_call_B_VDJ", "rawType": "object", "type": "unknown" }, { "name": "v_call_B_VJ", "rawType": "object", "type": "unknown" }, { "name": "j_call_B_VJ", "rawType": "object", "type": "unknown" }, { "name": "c_call_B_VDJ", "rawType": "object", "type": "unknown" }, { "name": "c_call_B_VJ", "rawType": "object", "type": "unknown" }, { "name": "productive_B_VDJ", "rawType": "object", "type": "unknown" }, { "name": "productive_B_VJ", "rawType": "object", "type": "unknown" }, { "name": "umi_count_B_VDJ", "rawType": "float64", "type": "float" }, { "name": "umi_count_B_VJ", "rawType": "float64", "type": "float" }, { "name": "v_call_VDJ_main", "rawType": "object", "type": "string" }, { "name": "v_call_VJ_main", "rawType": "object", "type": "string" }, { "name": "d_call_VDJ_main", "rawType": "object", "type": "string" }, { "name": "j_call_VDJ_main", "rawType": "object", "type": "string" }, { "name": "j_call_VJ_main", "rawType": "object", "type": "string" }, { "name": "c_call_VDJ_main", "rawType": "object", "type": "string" }, { "name": "c_call_VJ_main", "rawType": "object", "type": "string" }, { "name": "v_call_B_VDJ_main", "rawType": "object", "type": "string" }, { "name": "d_call_B_VDJ_main", "rawType": "object", "type": "string" }, { "name": "j_call_B_VDJ_main", "rawType": "object", "type": "string" }, { "name": "v_call_B_VJ_main", "rawType": "object", "type": "string" }, { "name": "j_call_B_VJ_main", "rawType": "object", "type": "string" }, { "name": "isotype", "rawType": "object", "type": "unknown" }, { "name": "isotype_status", "rawType": "object", "type": "unknown" }, { "name": "locus_status", "rawType": "object", "type": "string" }, { "name": "chain_status", "rawType": "object", "type": "string" }, { "name": "rearrangement_status_VDJ", "rawType": "object", "type": "string" }, { "name": "rearrangement_status_VJ", "rawType": "object", "type": "string" } ], "ref": "22b82e80-1f2a-410e-b877-462e7929e1d0", "rows": [ [ "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCATATCGG", "B_VJ_127_2_2", "135", "sc5p_v2_hs_PBMC_10k_b", null, "IGK", null, "T", null, null, null, "IGKV1-33", "IGKJ4", null, "IGKC", null, "TGTCAACAATATGACGAACTTCCCGTCACTTTC", null, "CQQYDELPVTF", null, null, null, "IGKV1-33", "IGKJ4", null, "IGKC", null, "T", null, "68.0", "None", "IGKV1-33", "None", "None", "IGKJ4", "None", "IGKC", "None", "None", "None", "IGKV1-33", "IGKJ4", null, null, "Orphan IGK", "Orphan VJ", "None", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCCGTTGTC", "B_VDJ_151_4_1_VJ_151_2_1", "2196", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGK", "T", "T", "IGHV1-69", "IGHD3-22", "IGHJ3", "IGKV1-8", "IGKJ1", "IGHM", "IGKC", "TGTGCGACTACGTATTACTATGATAGTAGTGGTTATTACCAGAATGATGCTTTTGATATCTGG", "TGTCAACAGTATTATAGTTACCCTCGGACGTTC", "CATTYYYDSSGYYQNDAFDIW", "CQQYYSYPRTF", "IGHV1-69", "IGHD3-22", "IGHJ3", "IGKV1-8", "IGKJ1", "IGHM", "IGKC", "T", "T", "51.0", "43.0", "IGHV1-69", "IGKV1-8", "IGHD3-22", "IGHJ3", "IGKJ1", "IGHM", "IGKC", "IGHV1-69", "IGHD3-22", "IGHJ3", "IGKV1-8", "IGKJ1", "IgM", "IgM", "IGH + IGK", "Single pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCGAGAACG", "B_VDJ_1_1_1_VJ_33_1_1", "1750", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGL", "T", "T", "IGHV1-2", null, "IGHJ3", "IGLV5-45", "IGLJ3", "IGHM", "IGLC3", "TGTGCGAGAGAGATAGAGGGGGACGGTGTTTTTGAAATCTGG", "TGTATGATTTGGCACAGCAGCGCTTGGGTGGTC", "CAREIEGDGVFEIW", "CMIWHSSAWVV", "IGHV1-2", null, "IGHJ3", "IGLV5-45", "IGLJ3", "IGHM", "IGLC3", "T", "T", "47.0", "90.0", "IGHV1-2", "IGLV5-45", "None", "IGHJ3", "IGLJ3", "IGHM", "IGLC3", "IGHV1-2", "None", "IGHJ3", "IGLV5-45", "IGLJ3", "IgM", "IgM", "IGH + IGL", "Single pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCTTGAGAC", "B_VDJ_152_4_2_VJ_84_1_1", "1751", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGK", "T", "T", "IGHV5-51", null, "IGHJ3", "IGKV1D-8", "IGKJ2", "IGHM", "IGKC", "TGTGCGAGACATATCCGTGGGAACAGATTTGGCAATGATGCTTTTGATATCTGG", "TGTCAACAGTATTATAGTTTCCCGTACACTTTT", "CARHIRGNRFGNDAFDIW", "CQQYYSFPYTF", "IGHV5-51", null, "IGHJ3", "IGKV1D-8", "IGKJ2", "IGHM", "IGKC", "T", "T", "80.0", "22.0", "IGHV5-51", "IGKV1D-8", "None", "IGHJ3", "IGKJ2", "IGHM", "IGKC", "IGHV5-51", "None", "IGHJ3", "IGKV1D-8", "IGKJ2", "IgM", "IgM", "IGH + IGK", "Single pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_AAACGGGAGCGACGTA", "B_VDJ_31_2_1_VJ_4_2_1", "1752", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGL", "T", "T", "IGHV4-4", "IGHD6-13", "IGHJ3", "IGLV3-19", "IGLJ2", "IGHM", "IGLC", "TGTGCGAGAGTAGGCTATAGAGCAGCAGCTGGTACTGATGCTTTTGATATCTGG", "TGTAACTCCCGGGACAGCAGTGGTAACCATGTGGTATTC", "CARVGYRAAAGTDAFDIW", "CNSRDSSGNHVVF", "IGHV4-4", "IGHD6-13", "IGHJ3", "IGLV3-19", "IGLJ2", "IGHM", "IGLC", "T", "T", "18.0", "14.0", "IGHV4-4", "IGLV3-19", "IGHD6-13", "IGHJ3", "IGLJ2", "IGHM", "IGLC", "IGHV4-4", "IGHD6-13", "IGHJ3", "IGLV3-19", "IGLJ2", "IgM", "IgM", "IGH + IGL", "Single pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_AAACGGGCACTGTTAG", "B_VDJ_18_2_1_VJ_59_4_1", "1753", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGL", "T", "T", "IGHV4-39", "IGHD3-22", "IGHJ3", "IGLV3-21", "IGLJ2", "IGHM", "IGLC", "TGTGCGAGACGCCTCATTACTATGATAGAGGGAGGTGCTTTTGATATCTGG", "TGTCAGGTGTGGGATAGTAGTAGTGATCATGTGGTATTC", "CARRLITMIEGGAFDIW", "CQVWDSSSDHVVF", "IGHV4-39", "IGHD3-22", "IGHJ3", "IGLV3-21", "IGLJ2", "IGHM", "IGLC", "T", "T", "26.0", "18.0", "IGHV4-39", "IGLV3-21", "IGHD3-22", "IGHJ3", "IGLJ2", "IGHM", "IGLC", "IGHV4-39", "IGHD3-22", "IGHJ3", "IGLV3-21", "IGLJ2", "IgM", "IgM", "IGH + IGL", "Single pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_AAAGATGAGGATGCGT", "B_VDJ_51_10_5_VJ_77_3_1", "1754", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGK", "T", "T", "IGHV3-30", null, "IGHJ4", "IGKV2-28", "IGKJ2", "IGHM", "IGKC", "TGTGCGAAAGTCATGATAGAACACCCATCGAACAGGGGCCACTTTGACTACTGG", "TGCATGCAAGCTCTACAAACTCCGTACACTTTT", "CAKVMIEHPSNRGHFDYW", "CMQALQTPYTF", "IGHV3-30", null, "IGHJ4", "IGKV2-28", "IGKJ2", "IGHM", "IGKC", "T", "T", "30.0", "59.0", "IGHV3-30", "IGKV2-28", "None", "IGHJ4", "IGKJ2", "IGHM", "IGKC", "IGHV3-30", "None", "IGHJ4", "IGKV2-28", "IGKJ2", "IgM", "IgM", "IGH + IGK", "Single pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_AAAGATGGTCGAATCT", "B_VDJ_171_12_4_VJ_183_1_1", "1755", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGL", "T", "T", "IGHV3-15", "IGHD1-26", "IGHJ4", "IGLV6-57", "IGLJ2", "IGHM", "IGLC", "TGTACCACAGACGACGAAAAACGCCCCTATAGTGGGAGCTACCTCCCATTTGACTACTGG", "TGTCAGTCTTATGATAGCAGCAATGTGGTATTC", "CTTDDEKRPYSGSYLPFDYW", "CQSYDSSNVVF", "IGHV3-15", "IGHD1-26", "IGHJ4", "IGLV6-57", "IGLJ2", "IGHM", "IGLC", "T", "T", "26.0", "40.0", "IGHV3-15", "IGLV6-57", "IGHD1-26", "IGHJ4", "IGLJ2", "IGHM", "IGLC", "IGHV3-15", "IGHD1-26", "IGHJ4", "IGLV6-57", "IGLJ2", "IgM", "IgM", "IGH + IGL", "Single pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_AAAGATGGTGAGGGAG", "B_VDJ_101_10_3_VJ_178_3_1", "1756", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGL", "T", "T", "IGHV4-61", "IGHD2-21", "IGHJ6", "IGLV2-14", "IGLJ3", "IGHM", "IGLC3", "TGTGCGAGAGAGACGACTCCCGTGGTGACTGCTTCCACATACTACTACTACTACGGTATGGACGTCTGG", "TGCAGCTCATATACAAGCAGCAGCACTTGGGTGTTC", "CARETTPVVTASTYYYYYGMDVW", "CSSYTSSSTWVF", "IGHV4-61", "IGHD2-21", "IGHJ6", "IGLV2-14", "IGLJ3", "IGHM", "IGLC3", "T", "T", "15.0", "54.0", "IGHV4-61", "IGLV2-14", "IGHD2-21", "IGHJ6", "IGLJ3", "IGHM", "IGLC3", "IGHV4-61", "IGHD2-21", "IGHJ6", "IGLV2-14", "IGLJ3", "IgM", "IgM", "IGH + IGL", "Single pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_AAAGTAGCAGATCCAT", "B_VDJ_34_11_1_VJ_158_2_1", "1749", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGK", "T", "T", "IGHV1-2", "IGHD6-19", "IGHJ6", "IGKV1-27", "IGKJ3", "IGHM", "IGKC", "TGTGCGAGGGGGGGTCGTGTGTCAGTGGCTGTGTATTGGGACTACTACTACTACGGTATGGACGTCTGG", "TGTCAAAAGTATAACAGTGCCCCATTCACTTTC", "CARGGRVSVAVYWDYYYYGMDVW", "CQKYNSAPFTF", "IGHV1-2", "IGHD6-19", "IGHJ6", "IGKV1-27", "IGKJ3", "IGHM", "IGKC", "T", "T", "42.0", "70.0", "IGHV1-2", "IGKV1-27", "IGHD6-19", "IGHJ6", "IGKJ3", "IGHM", "IGKC", "IGHV1-2", "IGHD6-19", "IGHJ6", "IGKV1-27", "IGKJ3", "IgM", "IgM", "IGH + IGK", "Single pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_AAAGTAGGTACAAGTA", "B_VDJ_135_7_1_VJ_39_3_1", "1757", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGK", "T", "T", "IGHV2-5", "IGHD3-9", "IGHJ3", "IGKV1-5", "IGKJ1", "IGHM", "IGKC", "TGTGCACACAGCGCCCAATATTACGATATTTTGACTGGTTATTATAAGGCGCCGTGGGGGGGTGCTTTTGATATCTGG", "TGCCAACAGTATAATAGTTATTCGTGGACGTTC", "CAHSAQYYDILTGYYKAPWGGAFDIW", "CQQYNSYSWTF", "IGHV2-5", "IGHD3-9", "IGHJ3", "IGKV1-5", "IGKJ1", "IGHM", "IGKC", "T", "T", "34.0", "49.0", "IGHV2-5", "IGKV1-5", "IGHD3-9", "IGHJ3", "IGKJ1", "IGHM", "IGKC", "IGHV2-5", "IGHD3-9", "IGHJ3", "IGKV1-5", "IGKJ1", "IgM", "IgM", "IGH + IGK", "Single pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_AACACGTAGACACGAC", "B_VDJ_70_8_7_VJ_95_2_1", "1759", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGK", "T", "T", "IGHV3-7", "IGHD1-26", "IGHJ4", "IGKV1-39", "IGKJ2", "IGHM", "IGKC", "TGTGCGAGAGATGATTTCGGGGGAGCTACTTTTTATTCCTCTTTTGACTACTGG", "TGTCAACAGAGTTACAGTACCCCGTACACTTTT", "CARDDFGGATFYSSFDYW", "CQQSYSTPYTF", "IGHV3-7", "IGHD1-26", "IGHJ4", "IGKV1-39", "IGKJ2", "IGHM", "IGKC", "T", "T", "33.0", "43.0", "IGHV3-7", "IGKV1-39", "IGHD1-26", "IGHJ4", "IGKJ2", "IGHM", "IGKC", "IGHV3-7", "IGHD1-26", "IGHJ4", "IGKV1-39", "IGKJ2", "IgM", "IgM", "IGH + IGK", "Single pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_AACACGTCACAGACAG", "B_VDJ_148_3_1_VJ_164_5_1", "1760", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGK", "T", "T", "IGHV1-8", "IGHD3-3", "IGHJ3", "IGKV3-20", "IGKJ1", "IGHM", "IGKC", "TGTGCGAGAGCCGCGAAGATTTTTGGAGTGGTTACCGCTTTTGATATCTGG", "TGTCAGCAGTATGGTAGCTCACCGTGGACGTTC", "CARAAKIFGVVTAFDIW", "CQQYGSSPWTF", "IGHV1-8", "IGHD3-3", "IGHJ3", "IGKV3-20", "IGKJ1", "IGHM", "IGKC", "T", "T", "44.0", "29.0", "IGHV1-8", "IGKV3-20", "IGHD3-3", "IGHJ3", "IGKJ1", "IGHM", "IGKC", "IGHV1-8", "IGHD3-3", "IGHJ3", "IGKV3-20", "IGKJ1", "IgM", "IgM", "IGH + IGK", "Single pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_AACACGTTCCCTTGTG", "B_VDJ_55_4_3_VJ_156_3_1", "1761", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGK", "T", "T", "IGHV3-9", "IGHD6-19", "IGHJ4", "IGKV3-20", "IGKJ2", "IGHM", "IGKC", "TGTGTAAAAGACTATTCTACCAGTGGCTGGTACTACTTTGACTTCTGG", "TGTCAGCAATATGGTAGCTCACTTCCGTACACTTTT", "CVKDYSTSGWYYFDFW", "CQQYGSSLPYTF", "IGHV3-9", "IGHD6-19", "IGHJ4", "IGKV3-20", "IGKJ2", "IGHM", "IGKC", "T", "T", "25.0", "80.0", "IGHV3-9", "IGKV3-20", "IGHD6-19", "IGHJ4", "IGKJ2", "IGHM", "IGKC", "IGHV3-9", "IGHD6-19", "IGHJ4", "IGKV3-20", "IGKJ2", "IgM", "IgM", "IGH + IGK", "Single pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_AACCATGCAAGCTGTT", "B_VDJ_133_2_1_VJ_68_2_1", "1762", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGL", "T", "T", "IGHV3-33", "IGHD3-10", "IGHJ6", "IGLV2-14", "IGLJ1", "IGHM", "IGLC1", "TGTGCGAGAGATTGGGTTCGGGGAGTCAACGATATGGACGTCTGG", "TGCAGCTCATATACAAGCAGCAGCACTCGGGTCTTC", "CARDWVRGVNDMDVW", "CSSYTSSSTRVF", "IGHV3-33", "IGHD3-10", "IGHJ6", "IGLV2-14", "IGLJ1", "IGHM", "IGLC1", "T", "T", "24.0", "36.0", "IGHV3-33", "IGLV2-14", "IGHD3-10", "IGHJ6", "IGLJ1", "IGHM", "IGLC1", "IGHV3-33", "IGHD3-10", "IGHJ6", "IGLV2-14", "IGLJ1", "IgM", "IgM", "IGH + IGL", "Single pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_AACCATGTCAGTCCCT", "B_VDJ_48_2_1_VJ_202_1_1", "1763", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGL", "T", "T", "IGHV3-49", "IGHD1-26", "IGHJ3", "IGLV2-14", "IGLJ2", "IGHM", "IGLC", "TGTACTAGACCTCAACGGAAGTGGGAGCTACCCTACCCTGATGCTTTTGATATCTGG", "TGCAGCTCATATACAAGCAGCAGCACTCTATTC", "CTRPQRKWELPYPDAFDIW", "CSSYTSSSTLF", "IGHV3-49", "IGHD1-26", "IGHJ3", "IGLV2-14", "IGLJ2", "IGHM", "IGLC", "T", "T", "23.0", "74.0", "IGHV3-49", "IGLV2-14", "IGHD1-26", "IGHJ3", "IGLJ2", "IGHM", "IGLC", "IGHV3-49", "IGHD1-26", "IGHJ3", "IGLV2-14", "IGLJ2", "IgM", "IgM", "IGH + IGL", "Single pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_AACCATGTCCAAGTAC", "B_VDJ_66_2_1_VJ_159_2_1", "1764", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGK", "T", "T", "IGHV4-4", "IGHD2-2", "IGHJ6", "IGKV3-20", "IGKJ3", "IGHM", "IGKC", "TGTGCGAGAGTAGTACCAGCTGCCTTCTACGGTATGGACGTCTGG", "TGTCAGCAGTATGGTAGCTCACTTTTCACTTTC", "CARVVPAAFYGMDVW", "CQQYGSSLFTF", "IGHV4-4", "IGHD2-2", "IGHJ6", "IGKV3-20", "IGKJ3", "IGHM", "IGKC", "T", "T", "16.0", "55.0", "IGHV4-4", "IGKV3-20", "IGHD2-2", "IGHJ6", "IGKJ3", "IGHM", "IGKC", "IGHV4-4", "IGHD2-2", "IGHJ6", "IGKV3-20", "IGKJ3", "IgM", "IgM", "IGH + IGK", "Single pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_AACCATGTCTAGCACA", "B_VDJ_146_5_1_VJ_149_2_1", "1765", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGL", "T", "T", "IGHV4-30-2", "IGHD2-8", "IGHJ6", "IGLV1-47", "IGLJ3", "IGHM", "IGLC3", "TGTGCCGGGGGTTCGGGATATTGTACTAATGGTGTATGCTATCCCCGCGGGTTTGACTACTACTACGGTATGGACGTCTGG", "TGTGCAGCATGGGATGACAGCCCGCCTTGGGTGTTC", "CAGGSGYCTNGVCYPRGFDYYYGMDVW", "CAAWDDSPPWVF", "IGHV4-30-2", "IGHD2-8", "IGHJ6", "IGLV1-47", "IGLJ3", "IGHM", "IGLC3", "T", "T", "17.0", "35.0", "IGHV4-30-2", "IGLV1-47", "IGHD2-8", "IGHJ6", "IGLJ3", "IGHM", "IGLC3", "IGHV4-30-2", "IGHD2-8", "IGHJ6", "IGLV1-47", "IGLJ3", "IgM", "IgM", "IGH + IGL", "Single pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_AACCGCGCATGAGCGA", "B_VDJ_186_1_1_VJ_195_2_1", "1758", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGK", "T", "T", "IGHV6-1", "IGHD6-6", "IGHJ6", "IGKV4-1", "IGKJ2", "IGHM", "IGKC", "TGTGCAAGAGATGAGGGAATAGCAGCTCGTACGAGAGGGGAGACCCACTACTACTACTACGGTATGGACGTCTGG", "TGTCAGCAATATTATAGTACTCCGTACACTTTT", "CARDEGIAARTRGETHYYYYGMDVW", "CQQYYSTPYTF", "IGHV6-1", "IGHD6-6", "IGHJ6", "IGKV4-1", "IGKJ2", "IGHM", "IGKC", "T", "T", "34.0", "59.0", "IGHV6-1", "IGKV4-1", "IGHD6-6", "IGHJ6", "IGKJ2", "IGHM", "IGKC", "IGHV6-1", "IGHD6-6", "IGHJ6", "IGKV4-1", "IGKJ2", "IgM", "IgM", "IGH + IGK", "Single pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_AACGTTGGTCGTTGTA", "B_VDJ_51_9_13_VJ_207_2_1", "1747", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGL", "T", "T", "IGHV3-30", "IGHD5-18", "IGHJ4", "IGLV4-69", "IGLJ3", "IGHM", "IGLC3", "TGTGCGAAAGATGATACAGCTATGGTTACGGCCGATTTCTTTGACTACTGG", "TGTCAGACCTGGGGCACTGGCATTTGGGTGTTC", "CAKDDTAMVTADFFDYW", "CQTWGTGIWVF", "IGHV3-30", "IGHD5-18", "IGHJ4", "IGLV4-69", "IGLJ3", "IGHM", "IGLC3", "T", "T", "14.0", "11.0", "IGHV3-30", "IGLV4-69", "IGHD5-18", "IGHJ4", "IGLJ3", "IGHM", "IGLC3", "IGHV3-30", "IGHD5-18", "IGHJ4", "IGLV4-69", "IGLJ3", "IgM", "IgM", "IGH + IGL", "Single pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_AACTCCCTCGTACCGG", "B_VDJ_165_2_1_VJ_39_3_1", "1738", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGK", "T", "T", "IGHV2-26", "IGHD5-24", "IGHJ4", "IGKV1-5", "IGKJ1", "IGHM", "IGKC", "TGTGCACGGACGCCGAGATGGCTACAATGTTTTGACTACTGG", "TGCCAACAGTATAATAGTTATTCGTGGACGTTC", "CARTPRWLQCFDYW", "CQQYNSYSWTF", "IGHV2-26", "IGHD5-24", "IGHJ4", "IGKV1-5", "IGKJ1", "IGHM", "IGKC", "T", "T", "35.0", "49.0", "IGHV2-26", "IGKV1-5", "IGHD5-24", "IGHJ4", "IGKJ1", "IGHM", "IGKC", "IGHV2-26", "IGHD5-24", "IGHJ4", "IGKV1-5", "IGKJ1", "IgM", "IgM", "IGH + IGK", "Single pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_AACTCTTAGTAGCCGA", "B_VDJ_51_6_1_VJ_103_2_1", "1746", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGL", "T", "T", "IGHV3-30", "IGHD6-19", "IGHJ4", "IGLV6-57", "IGLJ3", "IGHG1", "IGLC3", "TGTGCGAGGGACCAGTGGCTGGCGTACTACTTTGACTACTGG", "TGTCAGTCTTATGATAGCAGCAATCATTGGGTGTTC", "CARDQWLAYYFDYW", "CQSYDSSNHWVF", "IGHV3-30", "IGHD6-19", "IGHJ4", "IGLV6-57", "IGLJ3", "IGHG1", "IGLC3", "T", "T", "14.0", "44.0", "IGHV3-30", "IGLV6-57", "IGHD6-19", "IGHJ4", "IGLJ3", "IGHG1", "IGLC3", "IGHV3-30", "IGHD6-19", "IGHJ4", "IGLV6-57", "IGLJ3", "IgG", "IgG", "IGH + IGL", "Single pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_AACTCTTTCCGATATG", "B_VDJ_184_2_1_VJ_56_1_1", "1730", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGK", "T", "T", "IGHV2-5", "IGHD4-11", "IGHJ4", "IGKV2-30", "IGKJ1", "IGHM", "IGKC", "TGTGCACACAGATACTACAGTAACATTGACTACTGG", "TGCATGCAAGGTACACACTGGCCGTGGACGTTC", "CAHRYYSNIDYW", "CMQGTHWPWTF", "IGHV2-5", "IGHD4-11", "IGHJ4", "IGKV2-30", "IGKJ1", "IGHM", "IGKC", "T", "T", "39.0", "34.0", "IGHV2-5", "IGKV2-30", "IGHD4-11", "IGHJ4", "IGKJ1", "IGHM", "IGKC", "IGHV2-5", "IGHD4-11", "IGHJ4", "IGKV2-30", "IGKJ1", "IgM", "IgM", "IGH + IGK", "Single pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_AACTGGTTCATTTGGG", "B_VDJ_136_10_1_VJ_121_2_1", "1731", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGK", "T", "T", "IGHV3-74", "IGHD3-22", "IGHJ6", "IGKV1-9", "IGKJ3", "IGHD", "IGKC", "TGTGCAAGAGATTGGGGTTACTATGATAGTAGTGGTTACTCCCCCAGGGGTTACTACTACTACTACGGTATGGACGTCTGG", "TGTCAACAGCTTAATAGTTACTCTTTCACTTTC", "CARDWGYYDSSGYSPRGYYYYYGMDVW", "CQQLNSYSFTF", "IGHV3-74", "IGHD3-22", "IGHJ6", "IGKV1-9", "IGKJ3", "IGHD", "IGKC", "T", "T", "14.0", "54.0", "IGHV3-74", "IGKV1-9", "IGHD3-22", "IGHJ6", "IGKJ3", "IGHD", "IGKC", "IGHV3-74", "IGHD3-22", "IGHJ6", "IGKV1-9", "IGKJ3", "IgD", "IgD", "IGH + IGK", "Single pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_AACTTTCAGCTCAACT", "B_VDJ_51_7_9_VJ_96_3_1", "1732", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGK", "T", "T", "IGHV3-30", null, "IGHJ4", "IGKV3-15", "IGKJ1", "IGHM", "IGKC", "TGTGCGAAAGATCGGGTAGGATACGGTGACTACGTGGACTACTGG", "TGTCAGCAGTATAATAACTGGCCTCCCTGGACGTTC", "CAKDRVGYGDYVDYW", "CQQYNNWPPWTF", "IGHV3-30", null, "IGHJ4", "IGKV3-15", "IGKJ1", "IGHM", "IGKC", "T", "T", "19.0", "61.0", "IGHV3-30", "IGKV3-15", "None", "IGHJ4", "IGKJ1", "IGHM", "IGKC", "IGHV3-30", "None", "IGHJ4", "IGKV3-15", "IGKJ1", "IgM", "IgM", "IGH + IGK", "Single pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_AACTTTCCAATGTTGC", "B_VDJ_131_1_1_VJ_65_3_1", "1733", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGL", "T", "T", "IGHV4-39", null, "IGHJ4", "IGLV1-40", "IGLJ1", "IGHM", "IGLC1", "TGTGCGAGACTAGGCAGCAGCCCGTACTACTGG", "TGCCAGTCCTATGACAGCAGCCTGAGTGGTTATGTCTTC", "CARLGSSPYYW", "CQSYDSSLSGYVF", "IGHV4-39", null, "IGHJ4", "IGLV1-40", "IGLJ1", "IGHM", "IGLC1", "T", "T", "43.0", "29.0", "IGHV4-39", "IGLV1-40", "None", "IGHJ4", "IGLJ1", "IGHM", "IGLC1", "IGHV4-39", "None", "IGHJ4", "IGLV1-40", "IGLJ1", "IgM", "IgM", "IGH + IGL", "Single pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_AAGCCGCGTTTGTGTG", "B_VDJ_86_1_1_VJ_89_1_1", "1734", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGK", "T", "T", "IGHV3-49", null, "IGHJ6", "IGKV1D-8", "IGKJ1", "IGHM", "IGKC", "TGTACTAGATACTATGGGGACGTCTGG", "TGTCAACAGTATTATAGTTTCCCGTGGACGTTC", "CTRYYGDVW", "CQQYYSFPWTF", "IGHV3-49", null, "IGHJ6", "IGKV1D-8", "IGKJ1", "IGHM", "IGKC", "T", "T", "14.0", "59.0", "IGHV3-49", "IGKV1D-8", "None", "IGHJ6", "IGKJ1", "IGHM", "IGKC", "IGHV3-49", "None", "IGHJ6", "IGKV1D-8", "IGKJ1", "IgM", "IgM", "IGH + IGK", "Single pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_AAGGAGCAGCTGCCCA", "B_VDJ_132_11_1_VJ_18_1_1|B_VDJ_132_11_1_VJ_2_3_1", "1735|1736", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGL|IGL", "T", "T|T", "IGHV3-23", "IGHD2-15", "IGHJ3", "IGLV2-23|IGLV3-16", "IGLJ1|IGLJ2", "IGHD", "IGLC1|IGLC", "TGTGCGAAAGATTTCCATCGGCTAACCCTCCTTCGATATTGTAGTGGTGGTAGCTGCTACTCGGCTTTTGATATCTGG", "TGCTGCTCATATGCAGGTAGTAGCACTTATGTCTTC|TGTCTATCAGCAGACAGCAGTGGTACTTATGTATTC", "CAKDFHRLTLLRYCSGGSCYSAFDIW", "CCSYAGSSTYVF|CLSADSSGTYVF", "IGHV3-23", "IGHD2-15", "IGHJ3", "IGLV2-23|IGLV3-16", "IGLJ1|IGLJ2", "IGHD", "IGLC1|IGLC", "T", "T|T", "13.0", "90.0", "IGHV3-23", "IGLV2-23", "IGHD2-15", "IGHJ3", "IGLJ1", "IGHD", "IGLC1", "IGHV3-23", "IGHD2-15", "IGHJ3", "IGLV2-23", "IGLJ1", "IgD", "Multi", "IGH + Extra VJ", "Extra pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_AAGGAGCAGTTTGCGT", "B_VDJ_51_11_2_VJ_86_4_1", "1729", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGL", "T", "T", "IGHV3-30", "IGHD3-22", "IGHJ4", "IGLV3-25", "IGLJ2", "IGHM", "IGLC", "TGTGCGAAAGATCATTACTATGATAGTAGTGGTTATTACAGTGGTCTTGGCTACTGG", "TGTCAATCAGCAGACAGCAGTGGTACTTATAGGGTGGTATTC", "CAKDHYYDSSGYYSGLGYW", "CQSADSSGTYRVVF", "IGHV3-30", "IGHD3-22", "IGHJ4", "IGLV3-25", "IGLJ2", "IGHM", "IGLC", "T", "T", "22.0", "21.0", "IGHV3-30", "IGLV3-25", "IGHD3-22", "IGHJ4", "IGLJ2", "IGHM", "IGLC", "IGHV3-30", "IGHD3-22", "IGHJ4", "IGLV3-25", "IGLJ2", "IgM", "IgM", "IGH + IGL", "Single pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_AAGGAGCCAGCCTTTC", "B_VDJ_119_2_1_VJ_191_3_1", "1737", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGK", "T", "T", "IGHV1-24", "IGHD2-2", "IGHJ6", "IGKV3-20", "IGKJ4", "IGHM", "IGKC", "TGTGCAACAGGCTTAGTAGTACCAGCTGCTATCCTCTATGGTATGGACGTCTGG", "TGTCAGCAGTATGGTAGCTCACGAGGGCTCACTTTC", "CATGLVVPAAILYGMDVW", "CQQYGSSRGLTF", "IGHV1-24", "IGHD2-2", "IGHJ6", "IGKV3-20", "IGKJ4", "IGHM", "IGKC", "T", "T", "41.0", "50.0", "IGHV1-24", "IGKV3-20", "IGHD2-2", "IGHJ6", "IGKJ4", "IGHM", "IGKC", "IGHV1-24", "IGHD2-2", "IGHJ6", "IGKV3-20", "IGKJ4", "IgM", "IgM", "IGH + IGK", "Single pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_AAGGAGCGTAATCACC", "B_VDJ_198_4_1_VJ_151_2_1", "1739", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGK", "T", "T", "IGHV4-34", "IGHD4-17", "IGHJ3", "IGKV1-8", "IGKJ1", "IGHM", "IGKC", "TGTGCGAGTCGGGTGCATGGCTTAGTTACGGTGACTACGGGGGGAGCTTTTGATATCTGG", "TGTCAACAGTATTATAGTTACCCTCCGGCGTTC", "CASRVHGLVTVTTGGAFDIW", "CQQYYSYPPAF", "IGHV4-34", "IGHD4-17", "IGHJ3", "IGKV1-8", "IGKJ1", "IGHM", "IGKC", "T", "T", "38.0", "35.0", "IGHV4-34", "IGKV1-8", "IGHD4-17", "IGHJ3", "IGKJ1", "IGHM", "IGKC", "IGHV4-34", "IGHD4-17", "IGHJ3", "IGKV1-8", "IGKJ1", "IgM", "IgM", "IGH + IGK", "Single pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_AAGGCAGAGTCATCCA", "B_VDJ_187_10_1_VJ_68_3_4", "1740", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGL", "T", "T", "IGHV3-7", null, "IGHJ6", "IGLV2-14", "IGLJ1", "IGHA1", "IGLC1", "TGCGCGAGGGGCGGTGCGGCGGTGACCACTTATTATTATTACTTCTACGGTATGGACGCCTGG", "TGCTGCTCATATTCAAGCACCAATACACTATATGTCTTC", "CARGGAAVTTYYYYFYGMDAW", "CCSYSSTNTLYVF", "IGHV3-7", null, "IGHJ6", "IGLV2-14", "IGLJ1", "IGHA1", "IGLC1", "T", "T", "46.0", "119.0", "IGHV3-7", "IGLV2-14", "None", "IGHJ6", "IGLJ1", "IGHA1", "IGLC1", "IGHV3-7", "None", "IGHJ6", "IGLV2-14", "IGLJ1", "IgA", "IgA", "IGH + IGL", "Single pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_AAGGCAGAGTCGATAA", "B_VDJ_47_8_3_VJ_100_1_1", "1741", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGL", "T", "T", "IGHV3-11", "IGHD3-3", "IGHJ4", "IGLV1-36", "IGLJ1", "IGHM", "IGLC1", "TGTGCGAGAGATGGGAGTGGTTATCTCGAACAATACTACTTTGACTACTGG", "TGTGCAGCATGGGATGACAGCCTGAATGGTTATGTCTTC", "CARDGSGYLEQYYFDYW", "CAAWDDSLNGYVF", "IGHV3-11", "IGHD3-3", "IGHJ4", "IGLV1-36", "IGLJ1", "IGHM", "IGLC1", "T", "T", "11.0", "15.0", "IGHV3-11", "IGLV1-36", "IGHD3-3", "IGHJ4", "IGLJ1", "IGHM", "IGLC1", "IGHV3-11", "IGHD3-3", "IGHJ4", "IGLV1-36", "IGLJ1", "IgM", "IgM", "IGH + IGL", "Single pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_AAGGCAGGTCTCCATC", "B_VDJ_70_8_3_VJ_156_2_1", "95", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGK", "T", "T", "IGHV3-7", "IGHD3-22", "IGHJ4", "IGKV3-20", "IGKJ2", "IGHM", "IGKC", "TGTGCGAGAGATGTACGAGTTTACTATGATAGTAGTGGTTACTCTGACTACTGG", "TGTCAGCAGTATGGTAGCTCACCGTACACTTTT", "CARDVRVYYDSSGYSDYW", "CQQYGSSPYTF", "IGHV3-7", "IGHD3-22", "IGHJ4", "IGKV3-20", "IGKJ2", "IGHM", "IGKC", "T", "T", "15.0", "20.0", "IGHV3-7", "IGKV3-20", "IGHD3-22", "IGHJ4", "IGKJ2", "IGHM", "IGKC", "IGHV3-7", "IGHD3-22", "IGHJ4", "IGKV3-20", "IGKJ2", "IgM", "IgM", "IGH + IGK", "Single pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_AAGGTTCAGCAGATCG", "B_VDJ_131_7_6_VJ_179_3_1", "1742", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGL", "T", "T", "IGHV4-39", "IGHD1-26", "IGHJ4", "IGLV1-44", "IGLJ1", "IGHM", "IGLC1", "TGTGCGAGACTAATCAAGTATAGTGGGAGCTATGAGATGGTGGACTACTGG", "TGTGCAGCATGGGATGACAGCCTGAATGGTTATTATGTCTTC", "CARLIKYSGSYEMVDYW", "CAAWDDSLNGYYVF", "IGHV4-39", "IGHD1-26", "IGHJ4", "IGLV1-44", "IGLJ1", "IGHM", "IGLC1", "T", "T", "30.0", "35.0", "IGHV4-39", "IGLV1-44", "IGHD1-26", "IGHJ4", "IGLJ1", "IGHM", "IGLC1", "IGHV4-39", "IGHD1-26", "IGHJ4", "IGLV1-44", "IGLJ1", "IgM", "IgM", "IGH + IGL", "Single pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_AAGTCTGGTCTAACGT", "B_VDJ_10_5_2_VJ_104_2_1", "1743", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGK", "T", "T", "IGHV3-21", "IGHD3-22", "IGHJ6", "IGKV1-33", "IGKJ3", "IGHM", "IGKC", "TGTGCGAGAGGGGGATTTATTACTATGATAGGCTACGGTATGGACGTCTGG", "TGTCAACAGTATGATAATCTCCCATTCACTTTC", "CARGGFITMIGYGMDVW", "CQQYDNLPFTF", "IGHV3-21", "IGHD3-22", "IGHJ6", "IGKV1-33", "IGKJ3", "IGHM", "IGKC", "T", "T", "13.0", "50.0", "IGHV3-21", "IGKV1-33", "IGHD3-22", "IGHJ6", "IGKJ3", "IGHM", "IGKC", "IGHV3-21", "IGHD3-22", "IGHJ6", "IGKV1-33", "IGKJ3", "IgM", "IgM", "IGH + IGK", "Single pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_AATCCAGAGGCGTACA", "B_VDJ_136_8_2_VJ_179_2_1", "1744", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGL", "T", "T", "IGHV3-74", "IGHD2-15", "IGHJ6", "IGLV1-44", "IGLJ1", "IGHM", "IGLC1", "TGTGCAAGAGACCTGAGATGGTGTAGTGGTGGTAGCTGCTACGGGAACTACTACGGTATGGACGTCTGG", "TGTGCAGCATGGGATGACAGCCTGAATGGTCAAGTCTTC", "CARDLRWCSGGSCYGNYYGMDVW", "CAAWDDSLNGQVF", "IGHV3-74", "IGHD2-15", "IGHJ6", "IGLV1-44", "IGLJ1", "IGHM", "IGLC1", "T", "T", "51.0", "70.0", "IGHV3-74", "IGLV1-44", "IGHD2-15", "IGHJ6", "IGLJ1", "IGHM", "IGLC1", "IGHV3-74", "IGHD2-15", "IGHJ6", "IGLV1-44", "IGLJ1", "IgM", "IgM", "IGH + IGL", "Single pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_AATCCAGAGTTTAGGA", "B_VDJ_51_7_2_VJ_195_3_1|B_VDJ_51_7_2_VJ_19_2_1", "1745|1766", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGL|IGK", "T", "T|T", "IGHV3-30", "IGHD6-13", "IGHJ4", "IGLV1-47|IGKV4-1", "IGLJ2|IGKJ2", "IGHM", "IGLC|IGKC", "TGTGCGAAAGATGATGGGGACGCAGCAGCTGGTTTAATCTACTGG", "TGTGCAGCATGGGATGACAGCCTGAGTGGTGTGGTATTC|TGTCAGCAATATTATAGTACTCCCTTGTACACTTTT", "CAKDDGDAAAGLIYW", "CAAWDDSLSGVVF|CQQYYSTPLYTF", "IGHV3-30", "IGHD6-13", "IGHJ4", "IGLV1-47|IGKV4-1", "IGLJ2|IGKJ2", "IGHM", "IGLC|IGKC", "T", "T|T", "17.0", "35.0", "IGHV3-30", "IGLV1-47", "IGHD6-13", "IGHJ4", "IGLJ2", "IGHM", "IGLC", "IGHV3-30", "IGHD6-13", "IGHJ4", "IGLV1-47", "IGLJ2", "IgM", "Multi", "IGH + Extra VJ", "Extra pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_AATCCAGCATCTATGG", "B_VDJ_167_1_1_VJ_38_2_1", "1767", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGL", "T", "T", "IGHV3-43", null, "IGHJ4", "IGLV1-51", "IGLJ2", "IGHM", "IGLC", "TGTGCAAAAGACGGGGGGGGGGAAGAGGCTTTAGAGCTACCAGACTACTGG", "TGCGGAACATGGGATAGCAGCCTGAGTGCGGTGGTATTC", "CAKDGGGEEALELPDYW", "CGTWDSSLSAVVF", "IGHV3-43", null, "IGHJ4", "IGLV1-51", "IGLJ2", "IGHM", "IGLC", "T", "T", "26.0", "33.0", "IGHV3-43", "IGLV1-51", "None", "IGHJ4", "IGLJ2", "IGHM", "IGLC", "IGHV3-43", "None", "IGHJ4", "IGLV1-51", "IGLJ2", "IgM", "IgM", "IGH + IGL", "Single pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_ACACCAAGTGTAAGTA", "B_VDJ_122_4_1_VJ_95_2_1", "1768", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGK", "T", "T", "IGHV4-30-2", "IGHD6-19", "IGHJ3", "IGKV1-39", "IGKJ2", "IGHG4A", "IGKC", "TGTGCGAGAAAGGATAGCAGTGGTTCTGATGCTTTTGATTTGTGG", "TGTCAACAGAGTTATAGTACCCCGTACACTTTT", "CARKDSSGSDAFDLW", "CQQSYSTPYTF", "IGHV4-30-2", "IGHD6-19", "IGHJ3", "IGKV1-39", "IGKJ2", "IGHG4A", "IGKC", "T", "T", "8.0", "72.0", "IGHV4-30-2", "IGKV1-39", "IGHD6-19", "IGHJ3", "IGKJ2", "IGHG4A", "IGKC", "IGHV4-30-2", "IGHD6-19", "IGHJ3", "IGKV1-39", "IGKJ2", "IgG", "IgG", "IGH + IGK", "Single pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_ACACCAATCATCGATG", "B_VDJ_70_5_2_VJ_95_3_1", "1778", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGK", "T", "T", "IGHV3-7", "IGHD5-18", "IGHJ4", "IGKV1-39", "IGKJ2", "IGHM", "IGKC", "TGTGCGAGAGATGTCGTACAGCTATGGTACCAAATTGACTACTGG", "TGTCAACAGAGTTACAGTACCCCTCCGAACACTTTT", "CARDVVQLWYQIDYW", "CQQSYSTPPNTF", "IGHV3-7", "IGHD5-18", "IGHJ4", "IGKV1-39", "IGKJ2", "IGHM", "IGKC", "T", "T", "21.0", "60.0", "IGHV3-7", "IGKV1-39", "IGHD5-18", "IGHJ4", "IGKJ2", "IGHM", "IGKC", "IGHV3-7", "IGHD5-18", "IGHJ4", "IGKV1-39", "IGKJ2", "IgM", "IgM", "IGH + IGK", "Single pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_ACACCAATCTATCCCG", "B_VDJ_149_3_2_VJ_174_1_1", "1790", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGK", "T", "T", "IGHV4-59", "IGHD5-18", "IGHJ5", "IGKV1D-12", "IGKJ5", "IGHM", "IGKC", "TGTGCGAAATACGTGGATACAGCTATGAATCAGTTCGACCCCTGG", "TGTCAACAGGCTAACAGTTTCCCGATCACCTTC", "CAKYVDTAMNQFDPW", "CQQANSFPITF", "IGHV4-59", "IGHD5-18", "IGHJ5", "IGKV1D-12", "IGKJ5", "IGHM", "IGKC", "T", "T", "20.0", "28.0", "IGHV4-59", "IGKV1D-12", "IGHD5-18", "IGHJ5", "IGKJ5", "IGHM", "IGKC", "IGHV4-59", "IGHD5-18", "IGHJ5", "IGKV1D-12", "IGKJ5", "IgM", "IgM", "IGH + IGK", "Single pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_ACACCCTCATATGAGA", "B_VDJ_63_7_2_VJ_164_7_2", "1791", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGK", "T", "T", "IGHV1-69", "IGHD3-22", "IGHJ4", "IGKV3-20", "IGKJ1", "IGHM", "IGKC", "TGTGCGAGAGGTCTTCATTACTATGATAGTAGTGGTCGTTCACTTTACTACTTTGACTACTGG", "TGTCAGCAGTATGGTAGCTCACCTCCGGGACAGACGTTC", "CARGLHYYDSSGRSLYYFDYW", "CQQYGSSPPGQTF", "IGHV1-69", "IGHD3-22", "IGHJ4", "IGKV3-20", "IGKJ1", "IGHM", "IGKC", "T", "T", "17.0", "44.0", "IGHV1-69", "IGKV3-20", "IGHD3-22", "IGHJ4", "IGKJ1", "IGHM", "IGKC", "IGHV1-69", "IGHD3-22", "IGHJ4", "IGKV3-20", "IGKJ1", "IgM", "IgM", "IGH + IGK", "Single pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_ACACCCTTCAGAAATG", "B_VDJ_51_2_1_VJ_96_2_1", "1792", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGK", "T", "T", "IGHV3-30", null, "IGHJ4", "IGKV3-15", "IGKJ1", "IGHM", "IGKC", "TGTGCCAATCAGCCCCCCAGTCTCTATTGG", "TGTCAGCAATATAATAACTGGCCCGGGACGTTC", "CANQPPSLYW", "CQQYNNWPGTF", "IGHV3-30", null, "IGHJ4", "IGKV3-15", "IGKJ1", "IGHM", "IGKC", "T", "T", "16.0", "79.0", "IGHV3-30", "IGKV3-15", "None", "IGHJ4", "IGKJ1", "IGHM", "IGKC", "IGHV3-30", "None", "IGHJ4", "IGKV3-15", "IGKJ1", "IgM", "IgM", "IGH + IGK", "Single pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_ACACCGGAGATCCGAG", "B_VDJ_154_9_1_VJ_203_1_2", "1793", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGL", "T", "T", "IGHV3-48", "IGHD3-16", "IGHJ6", "IGLV2-8", "IGLJ1", "IGHM", "IGLC1", "TGTGCGAGAGTGGGTTATGATTACGTTTGGGGGAGTTATCGTTATACGGGGGTTATGGACGTCTGG", "TGCAGCTCATATGCAGGCAGCTCTTATGTCTTC", "CARVGYDYVWGSYRYTGVMDVW", "CSSYAGSSYVF", "IGHV3-48", "IGHD3-16", "IGHJ6", "IGLV2-8", "IGLJ1", "IGHM", "IGLC1", "T", "T", "19.0", "44.0", "IGHV3-48", "IGLV2-8", "IGHD3-16", "IGHJ6", "IGLJ1", "IGHM", "IGLC1", "IGHV3-48", "IGHD3-16", "IGHJ6", "IGLV2-8", "IGLJ1", "IgM", "IgM", "IGH + IGL", "Single pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_ACACTGACAGTCAGCC", "B_VDJ_148_5_2_VJ_117_2_1", "1794", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGK", "T", "T", "IGHV1-8", "IGHD3-22", "IGHJ3", "IGKV2-28", "IGKJ4", "IGHM", "IGKC", "TGTGCGAGAGGCCGCCCGTATTACTATGATAGTAGTGGTTACCCATATGATGCTTTTGATATCTGG", "TGCATGCAAGCTCTACAAACCCCACTCACTTTC", "CARGRPYYYDSSGYPYDAFDIW", "CMQALQTPLTF", "IGHV1-8", "IGHD3-22", "IGHJ3", "IGKV2-28", "IGKJ4", "IGHM", "IGKC", "T", "T", "25.0", "41.0", "IGHV1-8", "IGKV2-28", "IGHD3-22", "IGHJ3", "IGKJ4", "IGHM", "IGKC", "IGHV1-8", "IGHD3-22", "IGHJ3", "IGKV2-28", "IGKJ4", "IgM", "IgM", "IGH + IGK", "Single pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_ACACTGAGTCAAAGCG", "B_VDJ_35_11_4_VJ_80_2_1", "1795", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGK", "T", "T", "IGHV3-23", "IGHD6-13", "IGHJ4", "IGKV2-30", "IGKJ4", "IGHM", "IGKC", "TGTGCGAAATTCGACATAGCAGCAGCTGATACGGGTAAAGGAGAGGACTACTGG", "TGCATGCAAGGTACACACTGGCCTCCGCTCACTTTC", "CAKFDIAAADTGKGEDYW", "CMQGTHWPPLTF", "IGHV3-23", "IGHD6-13", "IGHJ4", "IGKV2-30", "IGKJ4", "IGHM", "IGKC", "T", "T", "12.0", "48.0", "IGHV3-23", "IGKV2-30", "IGHD6-13", "IGHJ4", "IGKJ4", "IGHM", "IGKC", "IGHV3-23", "IGHD6-13", "IGHJ4", "IGKV2-30", "IGKJ4", "IgM", "IgM", "IGH + IGK", "Single pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_ACACTGAGTTGTCTTT", "B_VDJ_117_2_1_VJ_186_1_1", "1796", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGL", "T", "T", "IGHV4-34", null, "IGHJ5", "IGLV2-23", "IGLJ2", "IGHM", "IGLC", "TGTGCGAGAGGCGGCGATCCCACCTGGTTCGACCCCTGG", "TGCTGCTCATATGCAGGTAGTAGCATCGTGGTATTC", "CARGGDPTWFDPW", "CCSYAGSSIVVF", "IGHV4-34", null, "IGHJ5", "IGLV2-23", "IGLJ2", "IGHM", "IGLC", "T", "T", "37.0", "31.0", "IGHV4-34", "IGLV2-23", "None", "IGHJ5", "IGLJ2", "IGHM", "IGLC", "IGHV4-34", "None", "IGHJ5", "IGLV2-23", "IGLJ2", "IgM", "IgM", "IGH + IGL", "Single pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_ACAGCCGTCAGCATGT", "B_VDJ_51_10_3_VJ_126_4_1", "1797", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGK", "T", "T", "IGHV3-30", "IGHD2-21", "IGHJ4", "IGKV1-39", "IGKJ4", "IGHM", "IGKC", "TGTGCGAAGGAACGGGTGGTGACTGCTATTCCTGTGGTTATCTTTGACTACTGG", "TGTCAACAGAGTTACAGTACCCCTAGGCTCACTTTC", "CAKERVVTAIPVVIFDYW", "CQQSYSTPRLTF", "IGHV3-30", "IGHD2-21", "IGHJ4", "IGKV1-39", "IGKJ4", "IGHM", "IGKC", "T", "T", "15.0", "19.0", "IGHV3-30", "IGKV1-39", "IGHD2-21", "IGHJ4", "IGKJ4", "IGHM", "IGKC", "IGHV3-30", "IGHD2-21", "IGHJ4", "IGKV1-39", "IGKJ4", "IgM", "IgM", "IGH + IGK", "Single pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_b_ACAGCTACACCACGTG", "B_VDJ_47_5_1_VJ_65_3_1", "1798", "sc5p_v2_hs_PBMC_10k_b", "IGH", "IGL", "T", "T", "IGHV3-11", "IGHD4-17", "IGHJ4", "IGLV1-40", "IGLJ1", "IGHM", "IGLC1", "TGTGCGAGACCTTACGGTGACTACGCCTACTTTGACTACTGG", "TGCCAGTCCTATGACAGCAGCCTGAGTGGTTATGTCTTC", "CARPYGDYAYFDYW", "CQSYDSSLSGYVF", "IGHV3-11", "IGHD4-17", "IGHJ4", "IGLV1-40", "IGLJ1", "IGHM", "IGLC1", "T", "T", "52.0", "68.0", "IGHV3-11", "IGLV1-40", "IGHD4-17", "IGHJ4", "IGLJ1", "IGHM", "IGLC1", "IGHV3-11", "IGHD4-17", "IGHJ4", "IGLV1-40", "IGLJ1", "IgM", "IgM", "IGH + IGL", "Single pair", "standard", "standard" ] ], "shape": { "columns": 47, "rows": 2493 } }, "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
clone_idclone_id_ranksample_idlocus_VDJlocus_VJproductive_VDJproductive_VJv_call_VDJd_call_VDJj_call_VDJ...d_call_B_VDJ_mainj_call_B_VDJ_mainv_call_B_VJ_mainj_call_B_VJ_mainisotypeisotype_statuslocus_statuschain_statusrearrangement_status_VDJrearrangement_status_VJ
sc5p_v2_hs_PBMC_10k_b_AAACCTGTCATATCGGB_VJ_127_2_2135sc5p_v2_hs_PBMC_10k_bNoneIGKNoneTNoneNoneNone...NoneNoneIGKV1-33IGKJ4NoneNoneOrphan IGKOrphan VJNonestandard
sc5p_v2_hs_PBMC_10k_b_AAACCTGTCCGTTGTCB_VDJ_151_4_1_VJ_151_2_12196sc5p_v2_hs_PBMC_10k_bIGHIGKTTIGHV1-69IGHD3-22IGHJ3...IGHD3-22IGHJ3IGKV1-8IGKJ1IgMIgMIGH + IGKSingle pairstandardstandard
sc5p_v2_hs_PBMC_10k_b_AAACCTGTCGAGAACGB_VDJ_1_1_1_VJ_33_1_11750sc5p_v2_hs_PBMC_10k_bIGHIGLTTIGHV1-2NoneIGHJ3...NoneIGHJ3IGLV5-45IGLJ3IgMIgMIGH + IGLSingle pairstandardstandard
sc5p_v2_hs_PBMC_10k_b_AAACCTGTCTTGAGACB_VDJ_152_4_2_VJ_84_1_11751sc5p_v2_hs_PBMC_10k_bIGHIGKTTIGHV5-51NoneIGHJ3...NoneIGHJ3IGKV1D-8IGKJ2IgMIgMIGH + IGKSingle pairstandardstandard
sc5p_v2_hs_PBMC_10k_b_AAACGGGAGCGACGTAB_VDJ_31_2_1_VJ_4_2_11752sc5p_v2_hs_PBMC_10k_bIGHIGLTTIGHV4-4IGHD6-13IGHJ3...IGHD6-13IGHJ3IGLV3-19IGLJ2IgMIgMIGH + IGLSingle pairstandardstandard
..................................................................
vdj_v1_hs_pbmc3_b_TTTCCTCAGCGCTTATB_VDJ_173_5_6_VJ_47_1_1895vdj_v1_hs_pbmc3_bIGHIGKTTIGHV3-30IGHD4-17IGHJ6...IGHD4-17IGHJ6IGKV2-30IGKJ2IgMIgMIGH + IGKSingle pairstandardstandard
vdj_v1_hs_pbmc3_b_TTTCCTCAGGGAAACAB_VDJ_6_2_1_VJ_109_4_1896vdj_v1_hs_pbmc3_bIGHIGKTTIGHV4-61IGHD6-13IGHJ2...IGHD6-13IGHJ2IGKV1-39IGKJ1IgMIgMIGH + IGKSingle pairstandardstandard
vdj_v1_hs_pbmc3_b_TTTCCTCTCGACAGCCB_VDJ_16_5_1_VJ_95_2_1897vdj_v1_hs_pbmc3_bIGHIGKTTIGHV1-46IGHD2-15IGHJ5...IGHD2-15IGHJ5IGKV1-39IGKJ2IgMIgMIGH + IGKSingle pairstandardstandard
vdj_v1_hs_pbmc3_b_TTTGCGCCATACCATGB_VDJ_183_7_2_VJ_149_3_1898vdj_v1_hs_pbmc3_bIGHIGLTTIGHV1-69IGHD2-15IGHJ6...IGHD2-15IGHJ6IGLV1-47IGLJ3IgMIgMIGH + IGLSingle pairstandardstandard
vdj_v1_hs_pbmc3_b_TTTGGTTGTAGGCATGB_VDJ_35_6_7_VJ_45_3_12598vdj_v1_hs_pbmc3_bIGHIGLTTIGHV3-23NoneIGHJ4...NoneIGHJ4IGLV2-11IGLJ2IgMIgMIGH + IGLSingle pairstandardstandard
\n", "

2493 rows × 47 columns

\n", "
" ], "text/plain": [ " clone_id \\\n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCATATCGG B_VJ_127_2_2 \n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCCGTTGTC B_VDJ_151_4_1_VJ_151_2_1 \n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCGAGAACG B_VDJ_1_1_1_VJ_33_1_1 \n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCTTGAGAC B_VDJ_152_4_2_VJ_84_1_1 \n", "sc5p_v2_hs_PBMC_10k_b_AAACGGGAGCGACGTA B_VDJ_31_2_1_VJ_4_2_1 \n", "... ... \n", "vdj_v1_hs_pbmc3_b_TTTCCTCAGCGCTTAT B_VDJ_173_5_6_VJ_47_1_1 \n", "vdj_v1_hs_pbmc3_b_TTTCCTCAGGGAAACA B_VDJ_6_2_1_VJ_109_4_1 \n", "vdj_v1_hs_pbmc3_b_TTTCCTCTCGACAGCC B_VDJ_16_5_1_VJ_95_2_1 \n", "vdj_v1_hs_pbmc3_b_TTTGCGCCATACCATG B_VDJ_183_7_2_VJ_149_3_1 \n", "vdj_v1_hs_pbmc3_b_TTTGGTTGTAGGCATG B_VDJ_35_6_7_VJ_45_3_1 \n", "\n", " clone_id_rank sample_id \\\n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCATATCGG 135 sc5p_v2_hs_PBMC_10k_b \n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCCGTTGTC 2196 sc5p_v2_hs_PBMC_10k_b \n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCGAGAACG 1750 sc5p_v2_hs_PBMC_10k_b \n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCTTGAGAC 1751 sc5p_v2_hs_PBMC_10k_b \n", "sc5p_v2_hs_PBMC_10k_b_AAACGGGAGCGACGTA 1752 sc5p_v2_hs_PBMC_10k_b \n", "... ... ... \n", "vdj_v1_hs_pbmc3_b_TTTCCTCAGCGCTTAT 895 vdj_v1_hs_pbmc3_b \n", "vdj_v1_hs_pbmc3_b_TTTCCTCAGGGAAACA 896 vdj_v1_hs_pbmc3_b \n", "vdj_v1_hs_pbmc3_b_TTTCCTCTCGACAGCC 897 vdj_v1_hs_pbmc3_b \n", "vdj_v1_hs_pbmc3_b_TTTGCGCCATACCATG 898 vdj_v1_hs_pbmc3_b \n", "vdj_v1_hs_pbmc3_b_TTTGGTTGTAGGCATG 2598 vdj_v1_hs_pbmc3_b \n", "\n", " locus_VDJ locus_VJ productive_VDJ \\\n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCATATCGG None IGK None \n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCCGTTGTC IGH IGK T \n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCGAGAACG IGH IGL T \n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCTTGAGAC IGH IGK T \n", "sc5p_v2_hs_PBMC_10k_b_AAACGGGAGCGACGTA IGH IGL T \n", "... ... ... ... \n", "vdj_v1_hs_pbmc3_b_TTTCCTCAGCGCTTAT IGH IGK T \n", "vdj_v1_hs_pbmc3_b_TTTCCTCAGGGAAACA IGH IGK T \n", "vdj_v1_hs_pbmc3_b_TTTCCTCTCGACAGCC IGH IGK T \n", "vdj_v1_hs_pbmc3_b_TTTGCGCCATACCATG IGH IGL T \n", "vdj_v1_hs_pbmc3_b_TTTGGTTGTAGGCATG IGH IGL T \n", "\n", " productive_VJ v_call_VDJ d_call_VDJ \\\n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCATATCGG T None None \n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCCGTTGTC T IGHV1-69 IGHD3-22 \n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCGAGAACG T IGHV1-2 None \n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCTTGAGAC T IGHV5-51 None \n", "sc5p_v2_hs_PBMC_10k_b_AAACGGGAGCGACGTA T IGHV4-4 IGHD6-13 \n", "... ... ... ... \n", "vdj_v1_hs_pbmc3_b_TTTCCTCAGCGCTTAT T IGHV3-30 IGHD4-17 \n", "vdj_v1_hs_pbmc3_b_TTTCCTCAGGGAAACA T IGHV4-61 IGHD6-13 \n", "vdj_v1_hs_pbmc3_b_TTTCCTCTCGACAGCC T IGHV1-46 IGHD2-15 \n", "vdj_v1_hs_pbmc3_b_TTTGCGCCATACCATG T IGHV1-69 IGHD2-15 \n", "vdj_v1_hs_pbmc3_b_TTTGGTTGTAGGCATG T IGHV3-23 None \n", "\n", " j_call_VDJ ... d_call_B_VDJ_main \\\n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCATATCGG None ... None \n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCCGTTGTC IGHJ3 ... IGHD3-22 \n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCGAGAACG IGHJ3 ... None \n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCTTGAGAC IGHJ3 ... None \n", "sc5p_v2_hs_PBMC_10k_b_AAACGGGAGCGACGTA IGHJ3 ... IGHD6-13 \n", "... ... ... ... \n", "vdj_v1_hs_pbmc3_b_TTTCCTCAGCGCTTAT IGHJ6 ... IGHD4-17 \n", "vdj_v1_hs_pbmc3_b_TTTCCTCAGGGAAACA IGHJ2 ... IGHD6-13 \n", "vdj_v1_hs_pbmc3_b_TTTCCTCTCGACAGCC IGHJ5 ... IGHD2-15 \n", "vdj_v1_hs_pbmc3_b_TTTGCGCCATACCATG IGHJ6 ... IGHD2-15 \n", "vdj_v1_hs_pbmc3_b_TTTGGTTGTAGGCATG IGHJ4 ... None \n", "\n", " j_call_B_VDJ_main v_call_B_VJ_main \\\n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCATATCGG None IGKV1-33 \n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCCGTTGTC IGHJ3 IGKV1-8 \n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCGAGAACG IGHJ3 IGLV5-45 \n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCTTGAGAC IGHJ3 IGKV1D-8 \n", "sc5p_v2_hs_PBMC_10k_b_AAACGGGAGCGACGTA IGHJ3 IGLV3-19 \n", "... ... ... \n", "vdj_v1_hs_pbmc3_b_TTTCCTCAGCGCTTAT IGHJ6 IGKV2-30 \n", "vdj_v1_hs_pbmc3_b_TTTCCTCAGGGAAACA IGHJ2 IGKV1-39 \n", "vdj_v1_hs_pbmc3_b_TTTCCTCTCGACAGCC IGHJ5 IGKV1-39 \n", "vdj_v1_hs_pbmc3_b_TTTGCGCCATACCATG IGHJ6 IGLV1-47 \n", "vdj_v1_hs_pbmc3_b_TTTGGTTGTAGGCATG IGHJ4 IGLV2-11 \n", "\n", " j_call_B_VJ_main isotype \\\n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCATATCGG IGKJ4 None \n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCCGTTGTC IGKJ1 IgM \n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCGAGAACG IGLJ3 IgM \n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCTTGAGAC IGKJ2 IgM \n", "sc5p_v2_hs_PBMC_10k_b_AAACGGGAGCGACGTA IGLJ2 IgM \n", "... ... ... \n", "vdj_v1_hs_pbmc3_b_TTTCCTCAGCGCTTAT IGKJ2 IgM \n", "vdj_v1_hs_pbmc3_b_TTTCCTCAGGGAAACA IGKJ1 IgM \n", "vdj_v1_hs_pbmc3_b_TTTCCTCTCGACAGCC IGKJ2 IgM \n", "vdj_v1_hs_pbmc3_b_TTTGCGCCATACCATG IGLJ3 IgM \n", "vdj_v1_hs_pbmc3_b_TTTGGTTGTAGGCATG IGLJ2 IgM \n", "\n", " isotype_status locus_status \\\n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCATATCGG None Orphan IGK \n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCCGTTGTC IgM IGH + IGK \n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCGAGAACG IgM IGH + IGL \n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCTTGAGAC IgM IGH + IGK \n", "sc5p_v2_hs_PBMC_10k_b_AAACGGGAGCGACGTA IgM IGH + IGL \n", "... ... ... \n", "vdj_v1_hs_pbmc3_b_TTTCCTCAGCGCTTAT IgM IGH + IGK \n", "vdj_v1_hs_pbmc3_b_TTTCCTCAGGGAAACA IgM IGH + IGK \n", "vdj_v1_hs_pbmc3_b_TTTCCTCTCGACAGCC IgM IGH + IGK \n", "vdj_v1_hs_pbmc3_b_TTTGCGCCATACCATG IgM IGH + IGL \n", "vdj_v1_hs_pbmc3_b_TTTGGTTGTAGGCATG IgM IGH + IGL \n", "\n", " chain_status rearrangement_status_VDJ \\\n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCATATCGG Orphan VJ None \n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCCGTTGTC Single pair standard \n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCGAGAACG Single pair standard \n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCTTGAGAC Single pair standard \n", "sc5p_v2_hs_PBMC_10k_b_AAACGGGAGCGACGTA Single pair standard \n", "... ... ... \n", "vdj_v1_hs_pbmc3_b_TTTCCTCAGCGCTTAT Single pair standard \n", "vdj_v1_hs_pbmc3_b_TTTCCTCAGGGAAACA Single pair standard \n", "vdj_v1_hs_pbmc3_b_TTTCCTCTCGACAGCC Single pair standard \n", "vdj_v1_hs_pbmc3_b_TTTGCGCCATACCATG Single pair standard \n", "vdj_v1_hs_pbmc3_b_TTTGGTTGTAGGCATG Single pair standard \n", "\n", " rearrangement_status_VJ \n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCATATCGG standard \n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCCGTTGTC standard \n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCGAGAACG standard \n", "sc5p_v2_hs_PBMC_10k_b_AAACCTGTCTTGAGAC standard \n", "sc5p_v2_hs_PBMC_10k_b_AAACGGGAGCGACGTA standard \n", "... ... \n", "vdj_v1_hs_pbmc3_b_TTTCCTCAGCGCTTAT standard \n", "vdj_v1_hs_pbmc3_b_TTTCCTCAGGGAAACA standard \n", "vdj_v1_hs_pbmc3_b_TTTCCTCTCGACAGCC standard \n", "vdj_v1_hs_pbmc3_b_TTTGCGCCATACCATG standard \n", "vdj_v1_hs_pbmc3_b_TTTGGTTGTAGGCATG standard \n", "\n", "[2493 rows x 47 columns]" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "vdj.metadata" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Alternative : Running `ddl.tl.define_clones`" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Alternatively, a wrapper to call *changeo's* `DefineClones.py` [[Gupta2015]](https://academic.oup.com/bioinformatics/article/31/20/3356/195677) is also included. To run it, you need to choose the distance threshold for clonal assignment. To facilitate this, the function `ddl.pp.calculate_threshold` will run [shazam's distToNearest](https://shazam.readthedocs.io/en/stable/topics/distToNearest/) function and return a plot showing the length normalized hamming distance distribution and automated threshold value. \n", "\n", "For more fine control, please use [shazam's distToNearest](https://shazam.readthedocs.io/en/stable/topics/distToNearest/) and [changeo's DefineClones.py](https://immcantation.readthedocs.io/en/stable/tutorials/10x_tutorial.html) functions directly." ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Calculating threshold\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "R[write to console]: Error in (function (db, sequenceColumn = \"junction\", vCallColumn = \"v_call\", : \n", " 361 cell(s) with multiple heavy chains found. One heavy chain per cell is expected.\n", "\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Rerun this after filtering. For now, switching to heavy mode.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "R[write to console]: Running in non-single-cell mode.\n", "\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " Threshold method 'density' did not return with any values. Switching to method = 'gmm'.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/opt/homebrew/Caskroom/miniforge/base/envs/dandelion/lib/python3.12/site-packages/plotnine/layer.py:284: PlotnineWarning: stat_bin : Removed 921 rows containing non-finite values.\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA4QAAAH0CAYAAABl8+PTAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAewgAAHsIBbtB1PgABAABJREFUeJzs3Xd4U+XbwPFvRvegi1IKskGg7CnIlqUgoCKi4EAFRFFBERX4KaKAogwRRRRfUVkqIEMQRKhllVF2oVCgjFJauqAj0JXk/SMmtDQtaZumTXt/rqsXh5z1nCcn5zn3Oc9Q6PV6PUIIIYQQQgghKh1lWSdACCGEEEIIIUTZkIBQCCGEEEIIISopCQiFEEIIIYQQopKSgFAIIYQQQgghKikJCIUQQgghhBCikpKAUAghhBBCCCEqKQkIhRBCCCGEEKKSUpd1AiqyJUuWkJ6eXtbJEEIIUQzu7u6MHTu2rJNRbkiZJoQQ9ule5ZkEhKUoPT2dtLS0sk6GEEIIUWJSpgkhRMUkAaGNODs7l3UShBBCWCAjI6Osk1DuSZkmhBDln6XlmQSENuDs7EyfPn3KOhlCCCEssH37dgkKCyFlmhBC2AdLyzPpVEYIIYQQQgghKikJCIUQQgghhBCikpKAUAghhBBCCCEqKQkIhRBCCCGEEKKSkoBQCCGEEEIIISopCQiFEEIIIYQQopKSgFAIIYQQQgghKikJCIUQQgghhBCikpKB6UWpmTFjBrGxsfdcpmrVqjZKkXWEhISwY8cOLl26RHp6Oq6urtSrV4+HHnqIbt26oVAoSryPBQsWsHPnTvr378+rr75qhVRblzF9BVGr1Xh7e9OyZUueeOIJatSoUaT1XVxc8Pf3p3379jz++OO4u7vnmb9jxw6+/PLLPNurV69eoWm+du0ar7zyiun/b775Jg899JDZZa9evcr27ds5fvw4CQkJ3L59GxcXFwIDA2nZsiX9+vUr9fP2jTfeICYmhrVr1xa63I0bN/jjjz8ICwsjPj4eV1dX6tevzyOPPEL79u3zLf/yyy8THx/PzJkzad68eamk/fr164wePRqAjRs3lso+hCgvpKwrPinrpKy7V1m3cuVKVq9eTa9evZgwYUKppWPKlCmEh4cXml8VmQSEolTo9XpOnDhBVlZWoctlZ2fbKEUlp9fr+fzzz9mzZw8Azs7OeHt7k5SUxLFjx0x/b775Zhmn1HYcHR3zFRZ6vZ60tDQSEhL4559/2L17N1OmTKF169YWrZ+dnc3Nmze5fPkyly9fZs+ePcyePRtfX98C07Fr1657FpK7du265/FotVqWLVvGpk2b0Ol0AHh4eODj48ONGzc4e/YsZ8+eZf369YwZM4a+ffvec5vFERkZyaVLl3BwcCh0uWvXrjFlyhSSk5NRKpX4+Phw+/ZtDh8+zOHDh3nssccYNWpUqaRRCCFlXWUhZV3ZlnWi9ElAKEpFYmIiWVlZBAUFMXv27LJOjlX8+eef7NmzB0dHR1555RV69uyJSqUiKyuLNWvWsHr1anbs2EHTpk3p06dPWSfXJho1asSsWbPMzrt48SJffvklUVFRzJs3j++++w4XFxeL1tdqtRw4cIAFCxYQFxfH8uXLzd58qNVqcnJy2L17N88//3yhT6x3796dZ5276fV6vvjiC/bu3YtSqWTAgAE8+uijBAYGmuZHRUWxevVqDhw4wKJFi1CpVFZ9kpidnc2xY8dYsmTJPZfV6/XMnj2b5ORkGjZsyDvvvENAQAA6nY7g4GC+/vpr/vjjDxo2bEiXLl2slkYhxB1S1klZJ2Vd0RWlrBO2IW0IRakwVp8xXmAqgi1btgAwbNgwevfujUqlAgxP/p555hm6desGwB9//FFmaSxP6taty6RJkwBISUnh6NGjFq+rUqno3LkzAwYMAODIkSNml6tWrRoBAQEkJCQQERFR4PaioqKIjo4mICCAatWqmV1m06ZNpgJy8uTJjB07Ns/5q1AoqF+/PlOmTKFnz54ALFmyhNTUVIuPqyAXL17k9ddf56mnnuLjjz8mPj7+nuvs2bOHy5cv4+joyPvvv09AQAAASqWShx56yPREd+XKlSVOnxDCPCnrhJR1litOWSdsQ94QVmJpaWmsWbOGgwcPEh8fj1KpxN/fn3bt2vHEE0/g6emZZ/n09HTWrVtHaGgoCQkJuLm5Ub16dfr160e3bt1MhQbcKSSrV69ucXqM9cS7d+/OuHHjWLduHbt37yYxMRFPT0/at2/PU089VWh1CkusX7+e//u//0OtVvPLL7/g5uaWb5n9+/cza9YsHB0d+fnnn8nMzCQmJgbAVBjerX379uzatYurV6+Snp6ery1Acd24cYNff/2VQ4cOcePGDTw9PWnbti0jR47E29s73/L//vsvf//9NxcvXiQzMxNPT0/uv/9+Bg8eTNOmTa2SJkvVrFmTKlWqkJKScs82NuYYC7TCqlt169aN3377jV27dhV4fMYqNN26dWPv3r355mdmZvLrr78CMHDgQDp37lzg/hQKBS+99BJ79uwhIyODPXv28Mgjj1h8TOZkZGSQkpJiOmdycnJIT08vdB1jda6OHTvi5+eXb37nzp3ZsmULV69e5fLly9SuXbvQ7WVnZzN79mzCwsLw9/dn1qxZ+Pv7F/OI7tDpdGzbto2///6b6OhoHBwcaNCgAYMGDTLbxlEIa5OyTsq60iZlnWWKU9YVZufOnSxcuBCA8ePH07t37xKlz+j8+fP89ttvnDp1iszMTAICAujSpQtDhgzB2dnZKvsobyQgrKSSk5OZPHky8fHxqFQqfHx80Ol0REdHEx0dzd69e/nss89MBdK1a9f44IMPTIWpj48PGo2G06dPc/r0aUJCQvjggw9QKpWm5aF4T001Gg3vvvsuly9fxsPDAw8PD5KTk9m6dSv79+/n448/vufNbWG6d+/OsmXLyMnJ4dChQ/To0SPfMsab7U6dOuHq6mq6wCsUigIbWOe+STBXTaM4kpOTeeedd4iPj8fNzY0qVaqQlJTE9u3bCQ8PZ8GCBXmqpnz99dds27YNAE9PT/z8/EhOTiY0NJQDBw7w5ptvmp742YpWqwXy5o+lzpw5A0DDhg0LXMZYSO7du5fRo0fn249erzd9nwUVkocOHSItLQ2FQsHgwYPvmS5PT0/mzJnDrVu3zAZjRdWkSRN+/vln0/9PnjzJ1KlTC1xer9cTHh4OUGDHME2aNMHBwYHs7GzOnj1b6G+mtIJBgDlz5rBv3z4cHBxM7VOOHz/O8ePHGTZsGCNHjrTKfoQwR8o6KetsRcq6eytqWVeY0goG9+/fz6JFi9Bqtfj5+aFUKrly5QorV64kNDSUTz75BA8PD6vsqzyRgLCSWrlyJfHx8TRt2pR3333X9PQtKSmJefPmcfLkSVasWMEbb7xBdnY2M2fOJD4+nlatWvHmm2+aCs89e/Ywb948jhw5wq5du0wFjrFQ0Wg0zJo1i4iICDQaDZ6engQFBTFo0CDuv/9+s2kLCwvDw8ODjz76yNQ4++rVq8yZM4dLly7x6aefmuq0F4exR7CjR48SGhqar5DMzMzk0KFDAPTq1QswVAn59ddfUSgUBe533759AFSpUoUqVaoUK213O3jwIAEBAXzyySe0aNECgNOnTzN9+nRiY2PZtWsX/fr1M32+bds2HB0dmTZtGq1atQIMN/t//vknP/74I99//z0dO3bE1dXVKum7l4iICNPTv8IKutyysrKIj49n586dBAcH4+TkxPPPP1/g8rVq1aJOnTpcunSJY8eO0bZt23xpiI+Pp3bt2tSqVcvsNozBVWBgoMU9qtWvX9+i5UrDjRs3SEtLA8jXq52Rg4MDXl5eJCQkFPrEOncwWK1aNWbOnGm1YBAgNDSU4cOH8/jjj+Ps7ExmZia//PILGzdu5LfffiMoKMhsJwxCWIOUdVLW2YKUdbaVOxh8/fXXrdq+8cCBAzRt2pTx48dTs2ZNwFCVd86cOVy8eJElS5aYqghXJNKGsJIy1kHv1q1bnqoYvr6+jB07Fn9/f1O1keDgYKKjo/Hy8uK9997LU42lS5cuPProowB5nkYZC8mvvvqK/fv3o1KpcHV1JTk5md27d/Puu+/y+++/F5i+cePG5blJrFmzJlOmTEGtVhMTE8OBAwdKdPzGJ4dHjhwhMzMzz7zDhw9z+/ZtfHx8aNmyJWBol+Xi4lJgVYENGzaYnsz169fPKt1xG/c7ffp0UwEJ0LRpUzp16gQYCkYj43dap04dUwEJhsDgscceo02bNri6unLlyhWrpK0gWq2WhIQE/vrrLz799FPAUKCYq+ISHh7OoEGD8vwNHTqUV199lTVr1uDq6srMmTPv2auasWqTud7VjJ917dq1wPWTkpKAgoOr8iZ3FZvCbsiM1XI0Go3Z+XcHg9Z8M2g0ZMgQnnnmGdNvx8nJiZdffplGjRoBhmptQpQWKeukrCstUtaVjdIMBgH8/f2ZPn26KRgEaNOmDc899xxgeDhkzMeKRN4QVlLG191btmyhZcuWeS4OtWrVYunSpab/G58Gdu3a1ezTtocffhgvL6887TCuX78OGKqhjBo1ytThxbVr11i6dClhYWH88ssvBAQE5Lt4ubm5ma3XHhAQQPPmzTl69CgnTpwotO77vXTq1AkXFxdTF/25t2XsoatHjx6makEFSUhIYMmSJRw8eBCAoKAgnnrqqWKn626NGjUyWxXJ2N7g5s2bps+M+X/hwgV27txJz5498xTW06dPt1q6jIyFXGF8fHx4++23zd44mOuKW6fTkZ6eTlpaGhqNho8//phx48YV+n137dqVX375hf3795OVlYWjoyNgKLCNN28FtYcBQ7sGIF/PcOVV7oDQeKzmGI/HWJUpt9zBYNWqVZk1a1apjDc1cOBAs58/8sgjREZGEhERgU6nu+dvTYjikLJOyjprkLKufDAGgzqdrtTGC+zdu7fZByIPPfQQy5YtIyMjg9OnTxcaeNsjCQgrqZEjRzJjxgyuXLnCq6++St26dQkKCqJp06Y0b948T4F38eJFwFD325yAgAAee+wx0/+1Wi3jx4/HwcGBBx54IM/FMTAwkGnTpjFlyhROnz7N6tWr8/2o6tevX2DhVKdOHY4ePUpCQkKxjx0MbykeeOABgoODCQ0NNV2AMzIyCAsLA+5UoTEnMzOTP/74g7Vr15KZmYlCoaBfv3689NJLVh1Pp6COCoyFQO4G6N26dWPbtm1ERkayYMECfvrpJ5o1a0aTJk1o0aJFgVVISsJcIQeG7q69vLxo3rw5Dz/8cIH17QvryvvatWssX76cPXv2MGfOHGbPnl3gOVitWjXuv/9+zpw5w6FDh3jwwQcBOHHiBCkpKTRq1Mh0o2aO8U2avYwVplbfuXQbx5Ayx3g8Tk5O+eYtXrzYdDObkZFRaGBZXK6urgUGmca2URkZGaSnp+fr2EMIa5CyTso6a5CyruyFh4fz77//mso8vV5fKvspqN2uk5MT1apV4/LlyyQmJpbKvsuSBISVVLNmzVi0aBF//vknBw4cICoqiqioKDZt2oRSqaRly5a8+OKL1K5d29RWycvLy6Jtq1SqQp9QKZVK+vbty+nTp4mOjkaj0eTp/aywxrrGp7bWaMjes2dPgoODCQsLIzs7GwcHBw4dOkRmZiYNGjQosFA5fPgwixcvNnWXXK9ePUaPHk1QUFCJ03Q3czfyhS07e/ZsduzYwa5duzhz5gy7d+82PQUOCAjgiSeeMLXDsIbCCrmSCgwMZNKkScTExHDx4kU2bNhQYCEJhpuEM2fOsGvXLlMhaUkVGjA82QWIi4uzOH1RUVHEx8fj5eVF48aNLV7PGnL36mf8fZpjfJNoroe+69evExAQQE5ODomJiSxdupS3337bquksLMjMfQz2eHMi7IOUdVLWWYOUdWVT1uVm7OipadOmnD59mh9//JF27dpZ/Hu1VGHllvE3WxHLLAkIKzF/f39efPFFXnzxRZKSkoiIiODYsWPs27ePo0ePMnXqVJYsWWIa3PT27dtW23fudk9ZWVl5CsnCfmjGG1xr9PDUokULfH19SUpK4vjx47Rr185UoBT0xHT16tWmcd28vb157rnn6NmzZ7mp7ubg4ED//v3p378/mZmZnD17lvDwcPbv38+lS5f4+uuvcXJyMtvbXHlkvGG7ePHiPduDdOnShaVLl3L48GFu3bqFg4MD+/fvR6lU3nNg9qCgIDZt2sTly5dJSUmxqKOEBQsWcOnSJR555BGbF5LVqlUz/S5jY2PNdlqh1WpNTzFzt4Uwql27Nh999BFnz55l9uzZhISE0LNnT9q0aWO1dBbWnXhycjJg6M2wIvbYJsoPKeukrCvvpKy7N7VazaRJk2jdujWvvvoqSUlJfP/997zzzjtW3Y8l5VZFrNFSPn7ZwqY0Gg3BwcGm9hJgaGDfpUsXxo8fz9dff42HhwepqamcPHnSVJUjOjra7PaOHz/OlClT+OabbwDYtm0bX331FcHBwQWmwbgtFxeXfBekq1evFrjehQsXAPM3uEWlVCpNT3dDQ0O5desWR44cQa1Wm33qu23bNlMB2b17dxYvXsxDDz1UbgrIw4cPExwczI0bNwDDU9QWLVrwzDPPsHDhQlPBaK4r6vIsKysLuHdX3l5eXrRo0YKsrCxCQ0MJCwtDo9EQFBR0z/G8WrZsiYuLC1qtlj///POeaTpz5gyXLl0CDOMA2ppKpTIFgcZe4+527tw5srOzUSqVZp/ov/zyy/j4+NCpUyfatWsHwDfffGNqY2INOTk5XL582ew8Y/W8GjVqlEp1VSGkrDOQss4+SFlXuK5du9K5c2dcXFx46aWXAEM7WGPVZ2sx/vbulp6ebqrCXbduXavuszwoH79uYVNZWVnMnz+fOXPmkJKSkm++t7e36emHTqcz3Sxu377dbJ3tjRs3Eh4ebrqI3bx5k+3bt7Nq1Sqz1V2ys7PZsmULAB06dMhXyFy7di1Pj2JGFy9eNH1urW7qjT2wHThwwNRIu127dvme/mi1WpYvXw4YLkpvvfWWzbqzttTGjRuZP38+//77r9n5xmpBpVXvvjRkZ2ebOjEorAqNUffu3QFD9RlLq9CAoXMH45hMa9euLTDIArh165bphrBRo0Z5ermzJeNx7dq1K0+HC0abN28GDL2jmXuamft3N2bMGBwdHYmPj2fFihVWTef27dvzfabX69m6dStAiTrMEKIwUtbdIWVd+SZl3b3lbqPbpUsX029j8eLFVn2rv3v37nw98gL8888/ZGdnU7VqVYuHFrEnEhBWQt7e3jRo0ACdTse8efNM7QPAcAFYsWIFMTExODs706xZMwYOHIi7uzsxMTF5fnjZ2dksX76cQ4cOoVQq6d+/P2CoguLk5ERcXByfffZZnkbxSUlJfP7558TFxeHo6FhgL2Xz5s0zDdQKEBkZycyZM9HpdLRo0aLAcZ2Kqk6dOtStW5fU1FRTIWiuCo2xwbazszPjxo2zWlfb1tShQwcA1qxZw+HDh02FoV6v5+jRo2zcuBHAdNNT3sXFxTF79mwSExNxdHS0aBDdBx54AAcHB44fP86hQ4dQq9UWBxxDhw6lefPm5OTkMH36dFavXp2na2mtVsvRo0d59913uXTpEh4eHrz11ltldi707t2b6tWrk5GRYconMNwEr1y5kpCQENRqtamr7MIEBAQwdOhQADZt2sT58+etls4///yTDRs2mKrH3b59myVLlnDp0iXc3d0L7IVUiJKSsu4OKevKLynrimfs2LE4ODiQkJBgOqetISkpidmzZ+f5PR86dIhVq1YB8NRTT5Wbt+XWJG0IK6lx48YxdepUjh49aqo6plarSU5OJicnB6VSybhx40xPDydNmsSsWbPYunUrO3bswNvb27SsQqFg1KhRpp6ZqlatysSJE5k3bx4HDhzg4MGDpmoMSUlJ6PV61Go1EydONFsdpm7dumg0GiZPnkyVKlVQq9Wmi1VAQAATJ060al706NGDixcvkpiYiIeHh9lC5Ny5c4DhKbIl9dUXL15s1TRaom/fvuzatYuIiAg++ugjXF1d8fT0JDU1lVu3bgHQtm1b+vTpY/O0FSQyMpJx48bl+/z27dumuvqOjo68++67Fo2b5ObmRtu2bQt9Al4QR0dHpk6dyqJFi9izZw8rV65k5cqVVKlSBWdnZ27evGl6ali7dm3ef/99s92k24oxXz788EMiIiJ4+eWX8fX1JTU1lczMTJRKJa+88gp16tSxaHtPPPEE//77L9euXeOrr75i3rx5xR4Q28jHx4f777+fH374geXLl+Pl5cWNGzfIyspCrVbz9ttvW71DACFyk7LuDinryo6UddYXGBjI448/zq+//srmzZvp3r27aXzbknj44YfZtm0b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7clz//79/PTTT6aqNtnZ2fz2228cPHgQtVqdpwtwa2vdujWNGzdGp9Px+eef53k7vG/fPlasWAEYeogDePDBB/Hz80On0/HZZ5+Z3s6B4Un6Tz/9xPr16wF48sknrfY7zsjIYObMmXneZEZERJiGbhk8eLDV3kYKUR7ZW9lqDGB37drFyZMn8fT0tOq11la8vb1p0KABOp2OefPm5blG3rp1ixUrVhATE4OzszPNmjWzyj7T0tJMY6yCITj6999/WbZsGQBDhgwx24HMzz//zL///mu6Z0hNTeWLL74gJSXF6mPD3m3gwIG4u7sTExPD4sWL85Rny5cv59ChQyiVStOYusaecK9du8aXX36Zp9ZVbGwss2bNIjIyEpVKxdChQ62WTuO4y8b9abVatm/fzpYtWwCK1Ou7KFyJ2xD++uuvADRu3JhZs2ZZtE7nzp2ZP38+L7zwAufOneP48eNlPuhpZVWlShXatGnDoUOHyMrKokOHDvk6rAgMDGTixIl88cUX7Nixg3///RdfX180Gg0ajYYuXbpw48aNctmN/NChQ4mLi2P79u3MmTMHNzc3PDw8SE5OJisrC7VazSuvvJLnidYPP/xAQkICLi4upnHdwHAz/tBDD7Fjxw5+/PFHWrdubRpL01hl4fLly4waNYqWLVvy1ltv4evry8SJE5k3b56px1JfX19SU1O5ffs2tWrVws3NjYiIiDyNwQMDA5k8eTJz5szhn3/+ITg4GD8/P27fvm26MLZu3do0zlFF8OSTT3Lw4EFiYmKYPHkyHh4euLm5cePGDdPb1b59+1qtU6q6deui0WiYPHkyVapUQa1Wm95qBQQEMHHiRLPrDRgwgLVr17Jx40a8vb1JTU0lIyMDhULBuHHj8g0kbG2TJk1iypQpnDlzhjFjxuDn50daWpqpQO/cubOpEHdwcOCdd97ho48+4vz584wfPx5vb2+USiXJycmmJ68DBgxg0KBBVktj79692b17N6+99prp4Z+xvUerVq146qmnrLYvIcojeytb69WrR+3atbl8+TJgGJKpKJ24lSfjxo1j6tSpHD16lJdffhkfHx/UajXJycnk5OSgVCoZN26c1arDtmnThpMnTzJ69Gh8fHzIzMw0BfcdOnQwGyDVr18fBwcH5s2bx+LFi033JTk5Obi5uTF58mSrjg17N29vbyZNmsSsWbPY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pv4dP17TpRFCCCGqRtozIWoPWfdBCBdKSoJPPlEf33EHtGpVs+URQgghqkLaMyFqj1oXEBqNRtauXcu6detITEzEaDQSFhbGFVdcwa233kpMTEyZfQ4cOMCSJUtISEggJyeH8PBwevTowejRo2nQoEENnIUQtde4/cfKPLcwugYKIoSHSU9P58knnyQ7O5uZM2fSvn37MmmkPRNCCFFZtSogLC4u5rXXXuOPP/4AICgoiKCgIC5cuMD69evZuXMnb775Jk0t5vtfsWIFn332GQC+vr6EhoaSmprK8uXL2bRpEy+//DIdO3askfMRQgghQJ2q/N133yU7O9tuGmnPhBBCVEWtGkP47bff8scffxASEsLUqVOZP38+X331FZ9//jlt27YlLy9PaywBjh49yuzZswF1TcX58+fz5Zdf8vXXX3P11VeTm5vLzJkzyc3NralTEkIIIViyZAl79+61u13aMyGEEFVVawLCtLQ0fvnlF3Q6HS+88AI9evTQtjVo0IBJkyYBsH//ftLS0gCYP38+iqLQs2dPJkyYgI+PD6DeWZw0aRIhISGkp6ezatUql5+PEEIIAWqwN3/+fKveLaVJeyaEEKKqak1AuHXrVkpKSoiNjbXZJaZx48ZMmTKFxx9/HC8vL/Ly8vjrr78AGDlyZJn0vr6+xMbGArB9+/ZqLbsQQghhS35+Pm+//TY6nY5//etfNtNIeyaEEOJy1JqAcP/+/QD07NnTbpprrrmG4cOHExISwv79+zGZTOj1ejp16mQzfZcuXQBISEiguLjY+YUWQgghyjF79mzOnz/PXXfdRYsWLWymkfZMCCHE5ag1k8ocOnQIgKZNm3Lw4EGWLFlCfHw8+fn5REVF0atXL26++WbCwsIASExMBCAyMhJfX1+beUZFRQFgMplITk6mcePGLjgTIYQQAjZt2sSGDRvo1q0bN910k9100p4JIYS4HLUiIDSZTOTk5ACwbds2VqxYgaIohISEEBwczPnz5/n555/ZsGED06ZNo02bNtrA+pCQELv5BgUFaY/z8vJsppk3bx4LFiywua1bt274+PhgMplISkqq9DmZ/63svqLyXFXfPj4GHn/c/5/H+SQlGavtWJVR09dYTR+/LpDPFMeZ66omJScn89lnnxEcHMykSZPQ6XR20zqrPYPqadPk2nM9V9S5tGeXyDXuelLnjnG0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o3nz5pXe99dff0Wn06HT6bjmmmsqtW/z5s21fU+ePFnpY9cld999t1ZXhw4dquniVDvztVH6mrK83p5//vmaKZwQQriAV00XQAghqqqoqIg33niDN998k4sXL5bZfubMGc6cOcPatWt5+eWXefzxx5kxYwZ+fn41UFohhFD99NNP/PXXXwA8/vjjREZG1myBhBB1mgSEQgiPlJuby80338zatWu157p27cqwYcNo1KgRJSUlJCQksH79eo4cOUJJSQnvvfcemzdv5tdffyUoKKgGSy+EqMt++uknvv76awDGjRsnAaEQokZJQCiE8Dgmk4lRo0axYcMGAFq2bMns2bMZOnSozfS//PILDz30EOfOneOPP/7gjjvuYNmyZa4sshAeY+7cucydO7emi1HjrrnmGhRFqeliCCFEtZMxhEIIjzNjxgwtGOzcuTPbt2+3GwwC3HDDDWzfvl37Ff6XX37R9hdCCCGEqMskIBRCeJTk5GSmT58OQL169Vi8eDENGjSocL9mzZrxxhtvaP9/7733qquIQgghhBAeQwJCIYRH+fjjjyksLATgiSeeoG3btg7vO2HCBOrVqwfAxo0bKSkpsdpuOavgr7/+itFo5L333qNDhw54e3szbdq0MnlmZmby+uuvc9VVVxEZGYmfnx9NmzbljjvuYP369XbLUpkZDM3p7r77bqvn586dq23bv38/JpOJH374gSFDhhAdHU29evXo1KkTL730EhkZGRXWj6IofPfdd9xwww00atQIPz8/mjVrxi233MKKFSsq3B9gz5493HXXXTRr1kyri7Fjx7Jt2zaH9q9JRUVFfPHFFwwbNoyoqCi8vb0JCgriiiuu4JFHHmHPnj129zXPzGmesCg3N5eZM2fStWtXAgMDiYmJ4brrrmPz5s3aPtnZ2UydOpXOnTsTEBBAWFgYffv25b///a/NY5w8eVJ7vc0/buzYsYObb76Zxo0bExgYSOfOnZk6dSrZ2dnafuvWrWP06NE0bNhQe00feOABTpw4Ue652Jpl1DxLrHlGzszMTKZNm0a3bt0IDg7W6mvq1Knk5uaWW985OTlMmzaNK664goCAABo2bMjQoUP58ccfURTF6vq+nJlh169fz80336xd0y1atGDixIns27ev3P0ceY8eOHCAhx56iLZt21KvXj0CAgJo2bIlEydOtHnNm+vPPH4QoEOHDjbf3+Cca9I8o29BQQGzZs2id+/ehIWFERAQQLt27ZgyZQrJycnl1gXA8uXLufnmm4mJicHHx4eIiAgGDBjA+++/b3NSL0t5eXm8/fbbXH311URFRVGvXj3atWvHY489xt69eys8thCimilCCOFBWrVqpQAKoBw/frzS+//222/K2rVrlbVr1yoXL1602rZx40Yt75UrVyo33HCD9n9AmTp1qlX69evXK/Xr17dKU/rvlltuUXJzc8uUw/JYzz33XLllNqebOHGi1fNz5szRtu3cuVO57rrr7JajQYMGyu7du+0eIyUlRbn66qvLPZdrr71WOX/+vN083nnnHcVgMNjcV6fTKR988IEycOBABVCaNWtW7jnbYllnAwcOrNS+zZo10/Y9ceJEme1HjhxR2rRpU+75A8qTTz5pM/+JEycqgOLr66ucOHFCadeund08/vvf/ypHjhxRmjZtajfNww8/XOYYJ06c0LbPmDFDee211xSdTmdz/86dOys5OTnKc889Z/cYYWFhysGDB+2eC6DEx8dbbTO/fgMHDlR27typNGzY0G7+HTp0UDIzM23W1759+5QmTZrY3Xf06NHK559/Xu5r5ogpU6bYPYaPj4/yww8/aNdG6WuqovfoZ599pnh7e5d7vTz77LM268/WX+n3t7OuyWbNmilHjx5V2rZtazePhg0b2q3j/Px8ZezYseWWoWXLlsrRo0dt7r9z506lcePGdvfV6/XK5MmTlaKiItsvohCi2smkMkIIj5GUlMTx48cBaNGiBS1btqx0Hr169XIo3bPPPsu+ffto2LAh48aNo0WLFlx55ZXa9m3btjFy5EgKCgoAGDx4MIMHD6ZevXocO3aM77//ngsXLvDDDz+QnJzM+vXr8fb2rnR5HfXAAw+wb98+IiIiuOOOO2jRogVJSUn873//4+TJkyQnJzN06FD27t1Ls2bNrPbNyclh4MCBxMfHA9C9e3duuukmwsLCSExMZMmSJZw8eZLVq1czYsQItmzZUmaW1h9++IEpU6Zo/x82bBhDhgzBYDCwYcMGVq5cyVNPPUVISEi11UFVGY1Gbr75Zo4ePQpAx44dGTNmDA0aNCAtLY3du3ezatUqTCYTH3zwAbGxsUycONFuXsOHD+fo0aNcddVV3HTTTXh7e/Pzzz+zdetWAJ588kmioqJITEykefPm3HHH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" }, "metadata": { "image/png": { "height": 250, "width": 450 } }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "clone distance threshold: 0.2570795622859657\n" ] } ], "source": [ "threshold = ddl.pp.calculate_threshold(vdj)\n", "print(f\"clone distance threshold: {threshold}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can also manually select a value as the threshold if you wish. Note that rerunning this with `manual_threshold` is just for reproducing the plot but with the line at 0.1 in this tutorial." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Calculating threshold\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "R[write to console]: Error in (function (db, sequenceColumn = \"junction\", vCallColumn = \"v_call\", : \n", " 361 cell(s) with multiple heavy chains found. One heavy chain per cell is expected.\n", "\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Rerun this after filtering. For now, switching to heavy mode.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "R[write to console]: Running in non-single-cell mode.\n", "\n", "/opt/homebrew/Caskroom/miniforge/base/envs/dandelion/lib/python3.12/site-packages/plotnine/layer.py:284: PlotnineWarning: stat_bin : Removed 921 rows containing non-finite values.\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA4QAAAH0CAYAAABl8+PTAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAewgAAHsIBbtB1PgAA+2lJREFUeJzs3Xd4U2X7wPFv0nTRQRelFGSDQJllKLyADBUUZCgiCqKggigqKOIr8FNkKsgQURz4igoIKsgQBBm1lFJG2aPsaaF0MdpAR8bvj5hDS9OStGnTtPfnurgackbu8/Q0z7nPeYbKaDQaEUIIIYQQQghR7qgdHYAQQgghhBBCCMeQhFAIIYQQQgghyilJCIUQQgghhBCinJKEUAghhBBCCCHKKUkIhRBCCCGEEKKckoRQCCGEEEIIIcopSQiFEEIIIYQQopzSODqAsuzrr78mPT3d0WEIIYQoBG9vb4YPH+7oMEoNqdOEEMI53as+k4SwGKWnp5OWluboMIQQQogikzpNCCHKJkkIS4iHh4ejQxBCCGGFjIwMR4dQ6kmdJoQQpZ+19ZkkhCXAw8ODRx55xNFhCCGEsMKmTZskKSyA1GlCCOEcrK3PZFAZIYQQQgghhCinJCEUQgghhBBCiHJKEkIhhBBCCCGEKKckIRRCCCGEEEKIckoSQiGEEEIIIYQopyQhFEIIIYQQQohyShJCIYQQQgghhCinJCEUQgghhBBCiHJKJqYXxWbSpElcuXLlnutUqlSphCKyj8jISLZs2cL58+dJT0+nQoUK1K5dm65du9KxY0dUKlWRP2Pu3Lls3bqV7t2789prr9khavsyx5cfjUaDv78/zZo146mnnqJq1ao2be/p6UlwcDCtW7fmySefxNvbO9fyLVu28Nlnn+XaX+3atQuM+fLly7z66qvK/9966y26du1qcd1//vmHTZs2cfDgQZKSkrh9+zaenp6EhobSrFkzunXrVuzn7Ztvvkl8fDwrVqwocL1r167x+++/ExsbS2JiIhUqVKBOnTo8/vjjtG7dOs/6L7/8MomJiUydOpUmTZoUS+xXr17llVdeAWDNmjXF8hlClBZS1xWe1HVS192rrlu6dCnLli2jS5cujBo1qtjiGDduHEeOHCmwvMoySQhFsTAajRw6dIisrKwC18vOzi6hiIrOaDQyc+ZMtm/fDoCHhwf+/v6kpKRw4MAB5d9bb73l4EhLjpubW57Kwmg0kpaWRlJSEps3byYqKopx48bRokULq7bPzs7m+vXrXLhwgQsXLrB9+3amT59OYGBgvnFs27btnpXktm3b7nk8er2eRYsWsXbtWgwGAwA+Pj4EBARw7do1Tpw4wYkTJ1i1ahXDhg3j0Ucfvec+C+PkyZOcP38eV1fXAte7fPky48aNIzU1FbVaTUBAALdv32bv3r3s3buXvn37MmTIkGKJUQghdV15IXWdY+s6UfwkIRTFIjk5maysLMLCwpg+fbqjw7GLP/74g+3bt+Pm5sarr75K586dcXFxISsri99++41ly5axZcsWGjVqxCOPPOLocEtE/fr1mTZtmsVl586d47PPPuPs2bPMnj2bb775Bk9PT6u21+v17Nq1i7lz55KQkMDixYstXnxoNBp0Oh1RUVG88MILBd6xjoqKyrXN3YxGI59++inR0dGo1Wp69OjBE088QWhoqLL87NmzLFu2jF27djF//nxcXFzseicxOzubAwcO8PXXX99zXaPRyPTp00lNTaVevXq8++67hISEYDAYiIiI4IsvvuD333+nXr16tG/f3m4xCiHukLpO6jqp62xnS10nSob0IRTFwtx8xvwFUxasX78egP79+/Pwww/j4uICmO78Pffcc3Ts2BGA33//3WExlia1atVizJgxANy4cYP9+/dbva2Liwvt2rWjR48eAOzbt8/iepUrVyYkJISkpCTi4uLy3d/Zs2e5dOkSISEhVK5c2eI6a9euVSrIsWPHMnz48Fznr0qlok6dOowbN47OnTsD8PXXX3Pz5k2rjys/586d44033uCZZ55h8uTJJCYm3nOb7du3c+HCBdzc3Hj//fcJCQkBQK1W07VrV+WO7tKlS4scnxDCMqnrhNR11itMXSdKhjwhLMfS0tL47bff2L17N4mJiajVaoKDg2nVqhVPPfUUvr6+udZPT09n5cqVxMTEkJSUhJeXF1WqVKFbt2507NhRqTTgTiVZpUoVq+MxtxN/6KGHGDFiBCtXriQqKork5GR8fX1p3bo1zzzzTIHNKayxatUq/ve//6HRaPjpp5/w8vLKs87OnTuZNm0abm5u/Pjjj2RmZhIfHw+gVIZ3a926Ndu2beOff/4hPT09T1+Awrp27RrLly9nz549XLt2DV9fX1q2bMmgQYPw9/fPs/7f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YYMpU6awe/du6tevz6effmpxnW+//Za1a9fSsGFDPvnkEwDOnTvHr7/+yuHDh7l16xZBQUE89NBDPPXUUxb3MXfuXLZu3Ur37t157bXXihTz0qVLWbZsGY888givvvoqv//+O9u2bSMhIQF3d3fq1avHgAEDaNCggcXtT506xapVqzh69Cg3b97Ez8+PJk2a0LNnT+rVq6esl5SUxJtvvolWq6VVq1Z88MEHufZz7do1Xn/9ddLT03niiSd48MEHGT9+vLJ8//799OrVi8aNGzNt2jTl/fT0dJYvX05MTAzXrl0jICCABx98kKeeeopFixaxdetW3nrrLbp27Zrr89LT01m1ahW7du0iISEBV1dXatSoQZcuXejSpUueeTzHjRvHkSNHeOutt2jYsCE///wzBw8eJCMjg2rVqtG3b186dOjAjRs3+Pnnn9m9ezfXr1/H39+fdu3aMXDgQDw8PAr9e7LkypUrLFu2jIMHD5KWloa/vz9t27bl2WefpUKFCrnW1ev1/Pnnn/z9999cunSJ7Oxs/P39ady4MU899RTVq1cvcjzmc+mhhx5ixIgRrFy5kqioKJKTk/H19aV169Y888wzBAYG5ruP7du3s3btWs6fPw9AzZo16datG507d841L+vhw4cZP348wcHBfPvtt2zcuJE///yT+Ph4vL29CQ8P5/nnn8ff358dO3awevVqZZ+1a9fmmWeeoXnz5nk+X6/X89dff7FlyxYuXbqEWq2mcuXKtG3blp49e+Ll5QXA1atXuXXrFoDF/ahUKmrUqMGlS5e4fft24Qo0H5cvX2bZsmUcOHAArVZLUFAQDzzwAP369cPX19eunyVEaeBsdesbb7zBhQsX6NChA++++67FdaZOncquXbt46KGHeOeddwBIS0sjIyNDad2VkZFBRkZGoeOw1qFDh/jtt984c+YMmZmZhIaG8uijj9KjR48882GnpaXx22+/sXv3bhITE1Gr1QQHB9OqVSueeuopu3wHmevbkSNH0qRJE3755Rf2799PWloalStXplOnTvTp0wc3NzeL22dnZ7N69WoiIiJISEjA09OTBg0a8NRTT9GwYcNc65rrrS5dujBs2DB+/fVXtm/fzrVr1wgMDKRz587069cPgNWrV7N161Zln40bN+bFF18kJCQkTwzp6emsXLmSmJgYkpKS8PLyokqVKnTr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hBBCCCGE8FESEAohhBBCCCGEj5JJZZwgOzubpUuXsmvXLjIyMqhevTpNmzbl5ptvplOnThXO79dff2XZsmWkpaVx6dIlYmNj6dy5M7fddhthYWFVcAaex9F1vmnTJtavX09qaip5eXlUr16dJk2a0K9fP3r27IlOp6uCs/Acjq7v0r755hu+++47OnTowH/+8x8HlNjzObrOT548yXfffcfff/9NdnY2wcHB1K9fn759+3LTTTf5/DUurpA2zbmkPXM+adOcS9oz15NJZarYqVOnePnll8nKykKv1xMVFcWlS5fIz88H4LbbbuP++++3O7+5c+eyZMkSAKpVq0ZISAhZWVkYjUZiYmJ4/fXXqVevXpWci6dwZJ0risI777zD1q1bAQgODiY0NJRz585hNBoB6NevH08//XTVnIwHcPQ1XtrevXuZOHEiRqNRGs9/OLrO//jjD958800KCwvx8/MjOjqavLw8Ll68CMBNN93EE088USXnIjyLtGnOJe2Z80mb5lzSnrkHuUNYhRRFYerUqWRlZdG8eXOee+454uLiMBqNbNiwgY8++oilS5fSvHlzunfvXm5+27ZtY8mSJej1eh566CEGDRqEn58f586dY/r06ezbt49p06bx7rvv4ufn54QzdD+OrvOffvqJrVu3EhgYyKOPPkqfPn3w8/OjsLCQRYsWsWDBAtavX0/r1q0ZMGCAE87QvTi6vkvLzc1l5syZ2ocV4fg6P3fuHNOmTaOwsJC+ffvy73//m7CwMAwGA2vWrGHWrFmsXr2anj17cu211zrhDIW7kjbNuaQ9cz5p05xL2jP3IWMIq9DWrVs5duwYgYGBvPTSS8TFxQGg1+vp168fAwcOBGD+/Pnl5qUoipbu5ptvZvDgwVoDGR0dzbPPPou/vz+pqals27atis7I/TmyzgFWrFgBwMiRI+nfv79W54GBgdx999307NkTgKVLlzr6VDyCo+u7tP/+979kZmbSoEEDh5XZ0zm6zr/77jsuXrxIhw4dePrpp7Uuen5+fvzrX/+iW7dugNrNTPg2adOcS9oz55M2zbmkPXMfEhBWIVO3jM6dOxMTE1Nme9euXQE4ceIEx44ds5nXsWPHOH78OKA2nqVFR0fTsmVLALZv335V5fZkjqzz7OxsTp48CaA1lKWZ+rafOHGCvLy8SpfbUzmyvktbuXIlO3bs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N9zAsmXLOHjwIJmZmURERNCtWzeGDx9OgwYNqvBshCeRNs25pD1zPmnTnEvaM/egU0x9NIQQQgghhBBC+BQZQyiEEEIIIYQQPkoCQiGEEEIIIYTwURIQCiGEEEIIIYSPkoBQCCGEEEIIIXyUBIRCCCGEEEII4aMkIBRCCCGEEEIIHyUBoRBCCCGEEEL4KAkIhRBCCCGEEMJHSUAohBBCCCGEED5KAkIhhBBCCCGE8FESEAohhBBCCCGEj5KAUAghhBBCCCF8lASEQgghhBBCCOGjJCAUQni806dP89577zFgwAAaNWpEtWrVqF69OvXr12fgwIG8/fbbnDhxwtXFFEDv3r3R6XQ0atSowvtu3LgRnU6HTqejd+/eFdq3UaNG2r6pqakVPrYvue+++7S6OnDggKuLU+VM10bpa8r8envxxRddUzghhHACf1cXQAghKquwsJC33nqLt99+m4sXL5bZfuLECU6cOMHatWuZOHEiY8eOZerUqQQHB7ugtEIIofr+++/566+/ABg7diwxMTGuLZAQwqdJQCiE8Eh5eXkMHz6ctWvXas9dd911DBgwgLp161JcXExKSgrr16/n0KFDFBcX895777F582Y2btxIaGioC0svhPBl33//PV999RUAo0aNkoBQCOFSEhAKITyO0Whk6NCh/PzzzwA0adKEWbNm0b9/f4vpf/rpJx555BFOnTrFH3/8wd13382yZcucWWQhPMbcuXOZO3euq4vhcr1790ZRFFcXQwghqpyMIRRCeJypU6dqwWDbtm3Zvn271WAQ4JZbbmH79u3at/A//fSTtr8QQgghhC+TgFAI4VHOnDnDlClTAKhevTqLFy+mVq1a5e7XsGFD3nrrLe3v9957r6qKKIQQQgjhMSQgFEJ4lI8++oiCggIAnnzySVq0aGH3vgkJCVSvXh2ADRs2UFxcXGK7+ayCGzduxGAw8N5773HNNdcQEBDA5MmTy+R5/vx53nzzTW688UZiYmIIDg6mQYMG3H333axfv95qWSoyg6Ep3X333Vfi+blz52rb9u7di9FoZNGiRfTr14+4uDiqV69OmzZteOWVV8jOzi63fhRF4dtvv+WWW26hbt26BAcH07BhQ26//XZWrFhR7v4Au3bt4t5776Vhw4ZaXYwYMYJt27bZtb8rFRYW8tlnnzFgwABiY2MJCAggNDSUa6+9lscee4xdu3ZZ3dc0M6dpwqK8vDymTZvGddddR40aNahTpw7/+te/2Lx5s7bPhQsXmDRpEm3btiUkJITIyEi6du3Kl19+afEYqamp2utt+nLjl19+Yfjw4dSrV48aNWrQtm1bJk2axIULF7T91q1bx7Bhw6hdu7b2mj700EMcPXrU5rlYmmXUNEusaUbO8+fPM3nyZNq3b09YWJhWX5MmTSIvL89mfefm5jJ58mSuvfZaQkJCqF27Nv3792fp0qUoilLi+r6amWHXr1/P8OHDtWu6cePGjBkzhj179tjcz57/0X379vHII4/QokULqlevTkhICE2aNGHMmDEWr3lT/ZnGDwJcc801Fv+/wTHXpGlG38uXLzNjxgw6d+5MZGQkISEhtGzZkgkTJnDmzBmbdQGwfPlyhg8fTp06dQgMDCQ6OpqePXvy/vvvW5zUy1x+fj7Tp0+nW7duxMbGUr16dVq2bMkTTzzB7t27yz22EKKKKUII4UGaNm2qAAqgHDlypML7//rrr8ratWuVtWvXKhcvXiyxbcOGDVreK1euVG655Rbtb0CZNGlSifTr169XatasWSJN6Z/bb79dycvLK1MO82O98MILNstsSjdmzJgSz8+ZM0fbtmPHDuVf//qX1XLUqlVL2blzp9VjZGRkKN26dbN5LjfddJNy+vRpq3nMnDlT8fPzs7ivTqdTPvjgA6VXr14KoDRs2NDmOVtiXme9evWq0L4NGzbU9j169GiZ7YcOHVKaN29u8/wB5amnnrKY/5gxYxRACQoKUo4ePaq0bNnSah5ffvmlcujQIaVBgwZW0zz66KNljnH06FFt+9SpU5U33nhD0el0Fvdv27atkpubq7zwwgtWjxEZGans37/f6rkASlJSUoltptevV69eyo4dO5TatWtbzf+aa65Rzp8/b7G+9uzZo9SvX9/qvsOGDVNmz55t8zWzx4QJE6weIzAwUFm0aJF2bZS+psr7H/3000+VgIAAm9fL888/b7H+LP2U/v921DXZsGFDJTk5WWnRooXVPGrXrm21ji9duqSMGDHCZhmaNGmiJCcnW9x/x44dSr169azuq9frlfHjxyuFhYWWX0QhRJWTSWWEEB4jPT2dI0eOANC4cWOaNGlS4TxuuOEGu9I9//zz7Nmzh9q1azNq1CgaN27M9ddfr23ftm0bgwcP5vLlywD07duX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SmRkZInyBQQEKN98843FPI4fP640bty4RB7VqlVTQkJCtL8HDBigPPbYYwqgNGzY0Gb9WmL++vTq1atC+zZs2FDb9+jRoyW2TZs2rUS59Xq9EhYWVuK5Bx54QHnnnXe0v0NCQpSBAwdqeYwZM0bbZs3KlSu1NJMmTbKarlatWhbr6OjRo3bt37lz53LL8sknn1i91s3PJSkpqcS2Xr162fX6TZo0Sctj5cqVZba/8847ip+fn8X/X0D597//rfznP//R/j527JjN41mye/duJTo6ukS+NWrUUKpVq1bidR08eLDFa8r8eiv9XrF3794S17bp/z8iIqLMuUydOrVM2fbs2VMmnfn/t7OuSUUp+T7yySeflNn+8ssvl3mPKv3eEBYWpvzxxx9l9j1z5oxy3XXXldg/JCRECQ0NLfFcrVq1lN27d9sspxCi6sgdQiGER6pRowbz589n+fLldOnSpcS2nJwc7Rt1nU5Hz5492bBhg7asgvm4ucpq2LAh27dvLzHhw+XLl8nJydHS9OnTh19//ZVu3bpZzGPAgAF88803Je5QmLpbmu6kmO5slufhhx/m888/18Ymnj9/XrtbULNmTb744gteeukli/vq9Xq+/vpr3n//fa27WmFhIdnZ2Vo3r06dOrF582YSEhIs5lGvXj22bt3KzTffrD136dIl8vPz8fPz4+GHH+aHH34oMZmOu3juuef4v//7P+3OsdFo1Lr6NmrUiHnz5vH5558zevRorX7y8/O1hbdFxT377LPs3r2b+++/n/r16xMYGEhsbCy9evXim2++4YsvvtBeA6j4sgegLo2ydetW7W4+qHfvLl26RFBQEBMnTmTWrFmVKn+bNm3YvHlziYmiLl++XGKSmbp16zJ37lxefPHFMvu3bduWjz/+mMaNG+Pv7094eDiNGjXStrvTNfnGG28wa9Ys7TjFxcUl3hv69u3Lzp07S3SlNalZsyabN2/miSee0MYG5ufna70Y/P39GT58OH/++ae2lI0Qwvl0iiLzaAshPN/p06fZsmULp06dIi8vjxo1atCoUSM6d+5M7dq1q/zYP//8MydPnkSv11O7dm169OhBgwYN7Nr/0qVLrFmzhpSUFAoKCmjSpAkDBw4sd7H5uXPnal3RNmzYQO/evbl48SKrV68mJSUFRVG45ppr6Nevn92LfBcUFLB+/XoOHTpEcXEx9erVo127drRu3dqu/QH27dvH5s2bycnJoW7duvTv37/KXwNHSE9PZ/Xq1Zw8eZLo6Ghat25N9+7dS8zweOzYMRYtWoTBYKBHjx5lvowQjnPPPfcwb948/Pz8uHz58lVNNvLrr7/y22+/cfnyZerXr89NN91UqcXiLdm/fz+//fYbGRkZFBcXExkZSbt27bjhhhu0CbAqy52uSfP3hkuXLhEXF0f37t1p3ry5XfufO3eOtWvXkpaWRnBwsLa2YlxcXJWUVwhhPwkIhRDCQ1kKCIVwZxcvXtQmLoqKitKWJrCkffv27N69m2bNmpGcnOysIgohhM9xv747QgghhPBKmzdvpn79+tSvX7/MBEfmdu/erU1M1KtXL2cVTwghfJIEhEIIIYRwis6dO2vj4mbNmsXRo0fLpDl9+jRjxowB1DHA5rPkCiGEcDxZ/VMIIYQQThEZGcnDDz/Mf//7X7Kzs2nfvj2jRo2idevWFBYWkpSUxOLFi7UJVB599FEZpymEEFVMAkIhhBBCOM20adNIT0/nu+++48KFC8yePdtiugceeIB3333XyaUTQgjfIwGhEEIIIZwmODiY//3vf6xevZo5c+bwyy+/kJ6eTnBwMLVr16ZLly7cd999MnZQCCGcRGYZFUIIIYQQQggfJZPKCCGEEEIIIYSPkoBQCCGEEEIIIXyUBIRCCCGEEEII4aMkIBRCCCGEEEIIHyUBoRBCCCGEEEL4KAkIhRBCCCGEEMJHSUAohBBCCCGEED5KAkIhhBBCCCGE8FH/D+9GSrmUYLxSAAAAAElFTkSuQmCC" }, "metadata": { "image/png": { "height": 250, "width": 450 } }, "output_type": "display_data" } ], "source": [ "_ = ddl.pp.calculate_threshold(vdj, manual_threshold=0.1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "We can run `ddl.tl.define_clones` to call *changeo's* `DefineClones.py`; see [here](https://changeo.readthedocs.io/en/stable/methods/clustering.html) for more info. The value in dist option (corresponds to threshold value) needs to be manually supplied. Additional options for `ddl.tl.define_clones` to provide to `DefineClones.py` can be supplied as a list to the `additional_args` option." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Finding clones\n", "Running command: DefineClones.py -d /var/folders/_r/j_8_fj3x28n2th3ch0ckn9c40000gt/T/tmpkx18kkga/tmp/dandelion_define_clones_heavy-clone.tsv -o /var/folders/_r/j_8_fj3x28n2th3ch0ckn9c40000gt/T/tmpkx18kkga/dandelion_define_clones_heavy-clone.tsv --act set --model ham --norm len --dist 0.2570795622859657 --nproc 1 --vf v_call_genotyped\n", "\n", " START> DefineClones\n", " FILE> dandelion_define_clones_heavy-clone.tsv\n", " SEQ_FIELD> junction\n", " V_FIELD> v_call_genotyped\n", " J_FIELD> j_call\n", " MAX_MISSING> 0\n", "GROUP_FIELDS> None\n", " ACTION> set\n", " MODE> gene\n", " DISTANCE> 0.2570795622859657\n", " LINKAGE> single\n", " MODEL> ham\n", " NORM> len\n", " SYM> avg\n", " NPROC> 1\n", "\n", "PROGRESS> [Grouping sequences] 15:52:57 (2402) 0.0 min\n", "\n", "PROGRESS> [Assigning clones] 15:52:59 |####################| 100% (2,402) 0.0 min\n", "\n", " OUTPUT> dandelion_define_clones_heavy-clone.tsv\n", " CLONES> 2260\n", "RECORDS> 2402\n", " PASS> 2402\n", " FAIL> 0\n", " END> DefineClones\n", "\n", " finished: Updated Dandelion object: \n", " 'data', contig-indexed AIRR table\n", " 'metadata', cell-indexed observations table\n", " (0:00:10)\n" ] }, { "data": { "text/plain": [ "Dandelion class object with n_obs = 2493 and n_contigs = 7355\n", " data: 'sequence_id', 'sequence', 'rev_comp', 'productive', 'v_call', 'd_call', 'j_call', 'sequence_alignment', 'germline_alignment', 'junction', 'junction_aa', 'v_cigar', 'd_cigar', 'j_cigar', 'stop_codon', 'vj_in_frame', 'locus', 'c_call', 'junction_length', 'np1_length', 'np2_length', 'v_sequence_start', 'v_sequence_end', 'v_germline_start', 'v_germline_end', 'd_sequence_start', 'd_sequence_end', 'd_germline_start', 'd_germline_end', 'j_sequence_start', 'j_sequence_end', 'j_germline_start', 'j_germline_end', 'v_score', 'v_identity', 'v_support', 'd_score', 'd_identity', 'd_support', 'j_score', 'j_identity', 'j_support', 'fwr1', 'fwr2', 'fwr3', 'fwr4', 'cdr1', 'cdr2', 'cdr3', 'cell_id', 'consensus_count', 'umi_count', 'v_call_10x', 'd_call_10x', 'j_call_10x', 'junction_10x', 'junction_10x_aa', 'j_support_igblastn', 'j_score_igblastn', 'j_call_igblastn', 'j_call_blastn', 'j_identity_blastn', 'j_alignment_length_blastn', 'j_number_of_mismatches_blastn', 'j_number_of_gap_openings_blastn', 'j_sequence_start_blastn', 'j_sequence_end_blastn', 'j_germline_start_blastn', 'j_germline_end_blastn', 'j_support_blastn', 'j_score_blastn', 'j_sequence_alignment_blastn', 'j_germline_alignment_blastn', 'j_source', 'd_support_igblastn', 'd_score_igblastn', 'd_call_igblastn', 'd_call_blastn', 'd_identity_blastn', 'd_alignment_length_blastn', 'd_number_of_mismatches_blastn', 'd_number_of_gap_openings_blastn', 'd_sequence_start_blastn', 'd_sequence_end_blastn', 'd_germline_start_blastn', 'd_germline_end_blastn', 'd_support_blastn', 'd_score_blastn', 'd_sequence_alignment_blastn', 'd_germline_alignment_blastn', 'd_source', 'v_call_genotyped', 'germline_alignment_d_mask', 'sample_id', 'c_sequence_alignment', 'c_germline_alignment', 'c_sequence_start', 'c_sequence_end', 'c_score', 'c_identity', 'c_call_10x', 'junction_aa_length', 'fwr1_aa', 'fwr2_aa', 'fwr3_aa', 'fwr4_aa', 'cdr1_aa', 'cdr2_aa', 'cdr3_aa', 'sequence_alignment_aa', 'v_sequence_alignment_aa', 'd_sequence_alignment_aa', 'j_sequence_alignment_aa', 'complete_vdj', 'j_call_multimappers', 'j_call_multiplicity', 'j_call_sequence_start_multimappers', 'j_call_sequence_end_multimappers', 'j_call_support_multimappers', 'mu_count', 'ambiguous', 'extra', 'rearrangement_status', 'clone_id', 'changeo_clone_id'\n", " metadata: 'changeo_clone_id', 'changeo_clone_id_rank', 'clone_id', 'clone_id_rank', 'sample_id', 'locus_VDJ', 'locus_VJ', 'productive_VDJ', 'productive_VJ', 'v_call_VDJ', 'd_call_VDJ', 'j_call_VDJ', 'v_call_VJ', 'j_call_VJ', 'c_call_VDJ', 'c_call_VJ', 'junction_VDJ', 'junction_VJ', 'junction_aa_VDJ', 'junction_aa_VJ', 'v_call_B_VDJ', 'd_call_B_VDJ', 'j_call_B_VDJ', 'v_call_B_VJ', 'j_call_B_VJ', 'c_call_B_VDJ', 'c_call_B_VJ', 'productive_B_VDJ', 'productive_B_VJ', 'umi_count_B_VDJ', 'umi_count_B_VJ', 'v_call_VDJ_main', 'v_call_VJ_main', 'd_call_VDJ_main', 'j_call_VDJ_main', 'j_call_VJ_main', 'c_call_VDJ_main', 'c_call_VJ_main', 'v_call_B_VDJ_main', 'd_call_B_VDJ_main', 'j_call_B_VDJ_main', 'v_call_B_VJ_main', 'j_call_B_VJ_main', 'isotype', 'isotype_status', 'locus_status', 'chain_status', 'rearrangement_status_VDJ', 'rearrangement_status_VJ'" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# make a copy of the original vdj object to compare results\n", "vdj_changeo = vdj.copy()\n", "ddl.tl.define_clones(vdj_changeo, dist=threshold, key_added=\"changeo_clone_id\")\n", "vdj_changeo" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that I specified the parameter `key_added` and this adds the clone id output from `ddl.tl.define_clones` into a separate column. If left as default (`None`), it will write into `clone_id` column. The same `key_added` parameter can be specified in `ddl.tl.find_clones` earlier. You will notice that `vdj_changeo` is initisalised with `changeo_clone_id` as the first column while `vdj` has `clone_id` as the first." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Other clustering methods\n", "*dandelion* also now supports clustering methods from `scoper`. You can access the functions through:\n", "\n", "```python\n", "dandelion.external.immcancation.scoper.identical_clones(vdj, ...)\n", "dandelion.external.immcancation.scoper.hierarchical_clones(vdj, ...)\n", "dandelion.external.immcancation.scoper.spectral_clones(vdj, ...)\n", "```\n", "\n", "see the [dandelion documentation](https://sc-dandelion.readthedocs.io/en/latest/) and original [scoper documentation](https://scoper.readthedocs.io/en/latest/) for more details.\n", "\n", "As more methods arise, we will continue to evaluate which ones to include in *dandelion*. \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Generation of V(D)J network\n", "`dandelion` generates a network to facilitate visualisation of results, inspired from [[Bashford-Rogers2013]](https://genome.cshlp.org/content/23/11/1874). The deafult uses the full V(D)J contig amino acid sequences to chart a tree-like network for each clone, but it can also be used on any sequence columns, e.g. junctional nucleotide sequences. The actual visualization will be achieved through `scanpy` later.\n", "\n", "### `ddl.tl.generate_network`\n", "\n", "First we need to generate the network. `ddl.tl.generate_network` will take a V(D)J table that has clones defined, specifically under the `clone_id` column. The default mode is to use amino acid sequences for constructing Levenshtein distance matrices, but can be toggled using the `key` option, as well as other options for distance calculation, which will be covered in a separate tutorial later.\n", "\n", "If you have a pre-processed table parsed from `immcantation`'s [method](https://changeo.readthedocs.io/en/stable/examples/10x.html), or any other method as long as it's in AIRR format, the table can be used as well.\n", "\n", "You can specify the `clone_key` option for generating the network for the clone id definition of choice as long as it exists as a column in the `.data` slot.\n", "\n", "In version 1.0.0 onwards, the method for distance calculation has been refactored to improve the speed. Prior to this, the distance matrix was always computed on a per chain basis and done sequentially as a loop over each chain. We have now vectorized the distance calculation to compute the distances for all chains at once while accounting for gaps, which should significantly speed up the process. There's also an option to use `n_cpus` to parallelize the computation across multiple cores, as well as the ability to supply a lambda function for custom distance calculation, or calculating BLOSUM-based distances. We will cover these options in more details in a later tutorial.\n", "\n", "
\n", "\n", "Layout Method Updates\n", "\n", "Several new layout algorithm options are available:\n", "\n", "| Method | Description |\n", "|---|---|\n", "| `mod_fr` | Original Python modified Fruchterman-Reingold layout |\n", "| `mod_fr2` | **New default.** Numba-accelerated FR layout (faster on CPU) |\n", "| `mod_fr2_gpu` | PyTorch GPU-accelerated FR (auto-tiles for >100K nodes) |\n", "| `mod_fr_bh` | Barnes-Hut O(N log N) CPU layout (scalable for large graphs) |\n", "| `mod_fr_bh_gpu` | Barnes-Hut GPU layout (requires CUDA) |\n", "| `fa2` | ForceAtlas2 (requires `fa2-modified`) |\n", "\n", "The `singleton_mass` parameter (default 0.5) controls the mass of isolated nodes in Barnes-Hut layouts. Lowering this reduces the repulsive force that singletons exert on connected components.\n", "\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Before proceeding, let's do a bit of subsetting. Here I want to remove the `Orphan VJ` cells (lacking BCR heavy chain i.e. VDJ information). Whether or not you want to do this is up to you. I'm doing this because I want to focus on the BCR heavy chain for now. You may elect to keep everything and that can be your starting point for further analysis." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Dandelion class object with n_obs = 2334 and n_contigs = 5557\n", " data: 'sequence_id', 'sequence', 'rev_comp', 'productive', 'v_call', 'd_call', 'j_call', 'sequence_alignment', 'germline_alignment', 'junction', 'junction_aa', 'v_cigar', 'd_cigar', 'j_cigar', 'stop_codon', 'vj_in_frame', 'locus', 'c_call', 'junction_length', 'np1_length', 'np2_length', 'v_sequence_start', 'v_sequence_end', 'v_germline_start', 'v_germline_end', 'd_sequence_start', 'd_sequence_end', 'd_germline_start', 'd_germline_end', 'j_sequence_start', 'j_sequence_end', 'j_germline_start', 'j_germline_end', 'v_score', 'v_identity', 'v_support', 'd_score', 'd_identity', 'd_support', 'j_score', 'j_identity', 'j_support', 'fwr1', 'fwr2', 'fwr3', 'fwr4', 'cdr1', 'cdr2', 'cdr3', 'cell_id', 'consensus_count', 'umi_count', 'v_call_10x', 'd_call_10x', 'j_call_10x', 'junction_10x', 'junction_10x_aa', 'j_support_igblastn', 'j_score_igblastn', 'j_call_igblastn', 'j_call_blastn', 'j_identity_blastn', 'j_alignment_length_blastn', 'j_number_of_mismatches_blastn', 'j_number_of_gap_openings_blastn', 'j_sequence_start_blastn', 'j_sequence_end_blastn', 'j_germline_start_blastn', 'j_germline_end_blastn', 'j_support_blastn', 'j_score_blastn', 'j_sequence_alignment_blastn', 'j_germline_alignment_blastn', 'j_source', 'd_support_igblastn', 'd_score_igblastn', 'd_call_igblastn', 'd_call_blastn', 'd_identity_blastn', 'd_alignment_length_blastn', 'd_number_of_mismatches_blastn', 'd_number_of_gap_openings_blastn', 'd_sequence_start_blastn', 'd_sequence_end_blastn', 'd_germline_start_blastn', 'd_germline_end_blastn', 'd_support_blastn', 'd_score_blastn', 'd_sequence_alignment_blastn', 'd_germline_alignment_blastn', 'd_source', 'v_call_genotyped', 'germline_alignment_d_mask', 'sample_id', 'c_sequence_alignment', 'c_germline_alignment', 'c_sequence_start', 'c_sequence_end', 'c_score', 'c_identity', 'c_call_10x', 'junction_aa_length', 'fwr1_aa', 'fwr2_aa', 'fwr3_aa', 'fwr4_aa', 'cdr1_aa', 'cdr2_aa', 'cdr3_aa', 'sequence_alignment_aa', 'v_sequence_alignment_aa', 'd_sequence_alignment_aa', 'j_sequence_alignment_aa', 'complete_vdj', 'j_call_multimappers', 'j_call_multiplicity', 'j_call_sequence_start_multimappers', 'j_call_sequence_end_multimappers', 'j_call_support_multimappers', 'mu_count', 'ambiguous', 'extra', 'rearrangement_status', 'clone_id'\n", " metadata: 'clone_id', 'clone_id_rank', 'sample_id', 'locus_VDJ', 'locus_VJ', 'productive_VDJ', 'productive_VJ', 'v_call_VDJ', 'd_call_VDJ', 'j_call_VDJ', 'v_call_VJ', 'j_call_VJ', 'c_call_VDJ', 'c_call_VJ', 'junction_VDJ', 'junction_VJ', 'junction_aa_VDJ', 'junction_aa_VJ', 'v_call_B_VDJ', 'd_call_B_VDJ', 'j_call_B_VDJ', 'v_call_B_VJ', 'j_call_B_VJ', 'c_call_B_VDJ', 'c_call_B_VJ', 'productive_B_VDJ', 'productive_B_VJ', 'umi_count_B_VDJ', 'umi_count_B_VJ', 'v_call_VDJ_main', 'v_call_VJ_main', 'd_call_VDJ_main', 'j_call_VDJ_main', 'j_call_VJ_main', 'c_call_VDJ_main', 'c_call_VJ_main', 'v_call_B_VDJ_main', 'd_call_B_VDJ_main', 'j_call_B_VDJ_main', 'v_call_B_VJ_main', 'j_call_B_VJ_main', 'isotype', 'isotype_status', 'locus_status', 'chain_status', 'rearrangement_status_VDJ', 'rearrangement_status_VJ'" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "vdj = vdj[\n", " vdj.metadata.chain_status.isin(\n", " [\"Single pair\", \"Extra pair\", \"Extra pair-exception\", \"Orphan VDJ\"]\n", " )\n", "].copy()\n", "vdj" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Generating network\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Setting up data: 4877it [00:00, 8253.09it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Calculating distance matrix with distance_mode = 'clone'\n", "\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "100%|██████████| 2515/2515 [00:00<00:00, 11254.80it/s]" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Distances calculated in 0.23 seconds\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "\n", "Sorting into clusters : 100%|██████████| 2515/2515 [00:00<00:00, 5849.10it/s]\n", "Calculating minimum spanning tree : 100%|██████████| 64/64 [00:00<00:00, 1299.81it/s]\n", "Generating edge list : 100%|██████████| 64/64 [00:00<00:00, 3674.13it/s]\n", "Computing overlap : 100%|██████████| 2515/2515 [00:01<00:00, 2383.33it/s]\n", "Adjust overlap : 100%|██████████| 153/153 [00:00<00:00, 3886.23it/s]\n", "Linking edges : 100%|██████████| 2252/2252 [00:01<00:00, 1762.20it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Computing network layout\n", "Computing expanded network layout\n", " finished.\n", " Updated Dandelion object\n", ": 'layout', graph layout\n", " (0:00:18)\n" ] } ], "source": [ "ddl.tl.generate_network(vdj)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "At this point, we can save the dandelion object. We will visualise the network in the next tutorial." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "vdj.write_h5ddl(\"dandelion_results_simplified.h5ddl\", compression=\"gzip\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Full pairwise distance computation\n", "\n", "With version 1.0.0, we are bringing back the option to compute the full pairwise distance matrix for every pair of cells. This is useful if you want to have a more comprehensive view of the relationships between cells, rather than just within clones. However, this can be quite memory intensive, especially for large datasets. For that purpose, we have refactored the distance computation to allow for parallelization, as well as with lazy evaluation using `dask` and `zarr` arrays, which allows for handling larger datasets without running into memory issues. While this can also be used for `distance_mode='clone'`, it's incredibly slow. Its main advantage is for `distance_mode='full'` due to contigous nature of the distance matrix.\n", "\n", "Note that with `distance_mode='full'`, the required memory scales quadratically with the number of cells, so be cautious when using this option with large datasets. Using `dask` and `zarr` arrays can help mitigate this issue by allowing for out-of-core computation and parallel processing. This will create a `zarr` array on disk to store the distance matrix, which can later be read into memory in the `dandelion` object with `vdj.compute()`, or specifying the path to the `zarr` array when reading the `Dandelion` object with `ddl.read_h5ddl`.\n", "\n", "Finally, while pairwise distance computation is now possible, the final graph and layout is still based on within-clone distances only for performance reasons i.e. it will behave as before. In the future, we may explore options to incorporate full pairwise distances into the graph construction and visualization. We will demonstrate alternative ways to visualise the full pairwise distances in a later tutorial where use use `UMAP` and `wnn` on the full distance matrix." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To be able to use `lazy=True`, you need to have `dask`, `zarr` and `distributed` installed in your environment.\n", "\n", "```bash\n", "pip install \"sc-dandelion[dask]\"\n", "```\n", "\n", "### Caveats with lazy distance matrix computation\n", "\n", "With `lazy=True`, the distance matrix computation will be performed lazily on disk, which allows for handling larger datasets without running into memory issues. This is particularly useful when calculating the full pairwise distance matrix for every pair of cells, which can be quite memory-intensive.\n", "\n", "While this can also be used for `distance_mode='clone'`, it's incredibly slow. Its main advantage is for `distance_mode='full'` due to contigous nature of the distance matrix.\n", "\n", "The `.distances` slot will now contain a `dask` array instead of a compressed sparse matrix. You can compute the distance matrix into memory by calling `vdj.compute()`." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Generating network\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Setting up data: 4877it [00:00, 8377.85it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Calculating distance matrix lazily with distance_mode = 'full'\n", "\n", "Auto computation chunk size: 2334 sequences per block\n", "Estimated memory per block: 0.04 GB\n", "Zarr storage chunk size: 2334\n", "Output size: 0.04 GB uncompressed\n", "\n", "Created Zarr array at: distance_matrix.zarr\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/opt/homebrew/Caskroom/miniforge/base/envs/dandelion/lib/python3.12/site-packages/distributed/node.py:188: UserWarning: Port 8787 is already in use.\n", "Perhaps you already have a cluster running?\n", "Hosting the HTTP server on port 53308 instead\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Dask client started: http://127.0.0.1:53308/status\n", "Setting up Dask scheduler and task graph...\n", "Starting computation of 36 chunks...\n", "Merging temporary results into final Zarr array...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "100%|██████████| 36/36 [00:13<00:00, 2.75it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "============================================================\n", "\n", "✓ Distance matrix complete!\n", "\n", "Final array info:\n", " Shape: (2334, 2334)\n", " Dtype: float64\n", " Chunks: (2334, 2334)\n", " Size on disk: 0.04 GB uncompressed\n", " Actual size: 0.01 GB (with compression)\n", " Compression ratio: 5.4x\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Sorting into clusters : 100%|██████████| 2515/2515 [03:18<00:00, 12.66it/s]\n", "Calculating minimum spanning tree : 100%|██████████| 64/64 [00:00<00:00, 1239.04it/s]\n", "Generating edge list : 100%|██████████| 64/64 [00:00<00:00, 662.53it/s]\n", "Computing overlap : 100%|██████████| 2515/2515 [00:00<00:00, 2614.68it/s]\n", "Adjust overlap : 100%|██████████| 153/153 [00:00<00:00, 4197.87it/s]\n", "Linking edges : 100%|██████████| 2252/2252 [00:01<00:00, 1623.86it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Computing network layout\n", "Computing expanded network layout\n", " finished.\n", " Updated Dandelion object\n", ": 'layout', graph layout\n", " (0:05:05)\n" ] } ], "source": [ "# we will demonstrate one example here where we use the lazy method to compute the network\n", "vdj_lazy = vdj.copy()\n", "# unlike the polars version, there's no option to not use existing distances because the base version does not store the precomputed distance during find_clones step.\n", "ddl.tl.generate_network(\n", " vdj_lazy,\n", " use_existing_graph=False,\n", " distance_mode=\"full\",\n", " lazy=True,\n", " n_cpus=8,\n", " zarr_path=\"distance_matrix.zarr\", # this is where the final computed distance matrix will be stored on disk\n", ")" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Dandelion class object with n_obs = 2334 and n_contigs = 5557\n", " data: 'sequence_id', 'sequence', 'rev_comp', 'productive', 'v_call', 'd_call', 'j_call', 'sequence_alignment', 'germline_alignment', 'junction', 'junction_aa', 'v_cigar', 'd_cigar', 'j_cigar', 'stop_codon', 'vj_in_frame', 'locus', 'c_call', 'junction_length', 'np1_length', 'np2_length', 'v_sequence_start', 'v_sequence_end', 'v_germline_start', 'v_germline_end', 'd_sequence_start', 'd_sequence_end', 'd_germline_start', 'd_germline_end', 'j_sequence_start', 'j_sequence_end', 'j_germline_start', 'j_germline_end', 'v_score', 'v_identity', 'v_support', 'd_score', 'd_identity', 'd_support', 'j_score', 'j_identity', 'j_support', 'fwr1', 'fwr2', 'fwr3', 'fwr4', 'cdr1', 'cdr2', 'cdr3', 'cell_id', 'consensus_count', 'umi_count', 'v_call_10x', 'd_call_10x', 'j_call_10x', 'junction_10x', 'junction_10x_aa', 'j_support_igblastn', 'j_score_igblastn', 'j_call_igblastn', 'j_call_blastn', 'j_identity_blastn', 'j_alignment_length_blastn', 'j_number_of_mismatches_blastn', 'j_number_of_gap_openings_blastn', 'j_sequence_start_blastn', 'j_sequence_end_blastn', 'j_germline_start_blastn', 'j_germline_end_blastn', 'j_support_blastn', 'j_score_blastn', 'j_sequence_alignment_blastn', 'j_germline_alignment_blastn', 'j_source', 'd_support_igblastn', 'd_score_igblastn', 'd_call_igblastn', 'd_call_blastn', 'd_identity_blastn', 'd_alignment_length_blastn', 'd_number_of_mismatches_blastn', 'd_number_of_gap_openings_blastn', 'd_sequence_start_blastn', 'd_sequence_end_blastn', 'd_germline_start_blastn', 'd_germline_end_blastn', 'd_support_blastn', 'd_score_blastn', 'd_sequence_alignment_blastn', 'd_germline_alignment_blastn', 'd_source', 'v_call_genotyped', 'germline_alignment_d_mask', 'sample_id', 'c_sequence_alignment', 'c_germline_alignment', 'c_sequence_start', 'c_sequence_end', 'c_score', 'c_identity', 'c_call_10x', 'junction_aa_length', 'fwr1_aa', 'fwr2_aa', 'fwr3_aa', 'fwr4_aa', 'cdr1_aa', 'cdr2_aa', 'cdr3_aa', 'sequence_alignment_aa', 'v_sequence_alignment_aa', 'd_sequence_alignment_aa', 'j_sequence_alignment_aa', 'complete_vdj', 'j_call_multimappers', 'j_call_multiplicity', 'j_call_sequence_start_multimappers', 'j_call_sequence_end_multimappers', 'j_call_support_multimappers', 'mu_count', 'ambiguous', 'extra', 'rearrangement_status', 'clone_id'\n", " metadata: 'clone_id', 'clone_id_rank', 'sample_id', 'locus_VDJ', 'locus_VJ', 'productive_VDJ', 'productive_VJ', 'v_call_VDJ', 'd_call_VDJ', 'j_call_VDJ', 'v_call_VJ', 'j_call_VJ', 'c_call_VDJ', 'c_call_VJ', 'junction_VDJ', 'junction_VJ', 'junction_aa_VDJ', 'junction_aa_VJ', 'v_call_B_VDJ', 'd_call_B_VDJ', 'j_call_B_VDJ', 'v_call_B_VJ', 'j_call_B_VJ', 'c_call_B_VDJ', 'c_call_B_VJ', 'productive_B_VDJ', 'productive_B_VJ', 'umi_count_B_VDJ', 'umi_count_B_VJ', 'v_call_VDJ_main', 'v_call_VJ_main', 'd_call_VDJ_main', 'j_call_VDJ_main', 'j_call_VJ_main', 'c_call_VDJ_main', 'c_call_VJ_main', 'v_call_B_VDJ_main', 'd_call_B_VDJ_main', 'j_call_B_VDJ_main', 'v_call_B_VJ_main', 'j_call_B_VJ_main', 'isotype', 'isotype_status', 'locus_status', 'chain_status', 'rearrangement_status_VDJ', 'rearrangement_status_VJ'\n", " layout: layout for 2334 vertices, layout for 146 vertices\n", " graph: networkx graph of 2334 vertices, networkx graph of 146 vertices \n", " distances: distance matrix of shape (2334, 2334)" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# view the vdj object\n", "vdj_lazy" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/Users/uqztuong/Documents/GitHub/dandelion/src/dandelion/base/core/_core.py:1718: FutureWarning: Passing storage-related arguments via **kwargs is deprecated. Please use the 'zarr_store_kwargs' parameter instead. **kwargs will be removed in a future version.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "WARNING: Distances are a dask array and cannot be stored inline in .h5ddl. Written to dandelion_results_lazy_distance_matrix.zarr. Pass `distance_zarr='dandelion_results_lazy_distance_matrix.zarr'` when reading, or it will be detected automatically.\n" ] } ], "source": [ "# save as well\n", "vdj_lazy.write_h5ddl(\n", " \"dandelion_results_lazy_distance_matrix.h5ddl\", compression=\"gzip\"\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Because the distance matrix is lazy, it is not stored in the `h5ddl` file, but rather as the separate zarr array on disk in `zarr_path` with the same prefix. We will show you how to read this:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Dandelion class object with n_obs = 2334 and n_contigs = 5557\n", " data: 'sequence_id', 'sequence', 'rev_comp', 'productive', 'v_call', 'd_call', 'j_call', 'sequence_alignment', 'germline_alignment', 'junction', 'junction_aa', 'v_cigar', 'd_cigar', 'j_cigar', 'stop_codon', 'vj_in_frame', 'locus', 'c_call', 'junction_length', 'np1_length', 'np2_length', 'v_sequence_start', 'v_sequence_end', 'v_germline_start', 'v_germline_end', 'd_sequence_start', 'd_sequence_end', 'd_germline_start', 'd_germline_end', 'j_sequence_start', 'j_sequence_end', 'j_germline_start', 'j_germline_end', 'v_score', 'v_identity', 'v_support', 'd_score', 'd_identity', 'd_support', 'j_score', 'j_identity', 'j_support', 'fwr1', 'fwr2', 'fwr3', 'fwr4', 'cdr1', 'cdr2', 'cdr3', 'cell_id', 'consensus_count', 'umi_count', 'v_call_10x', 'd_call_10x', 'j_call_10x', 'junction_10x', 'junction_10x_aa', 'j_support_igblastn', 'j_score_igblastn', 'j_call_igblastn', 'j_call_blastn', 'j_identity_blastn', 'j_alignment_length_blastn', 'j_number_of_mismatches_blastn', 'j_number_of_gap_openings_blastn', 'j_sequence_start_blastn', 'j_sequence_end_blastn', 'j_germline_start_blastn', 'j_germline_end_blastn', 'j_support_blastn', 'j_score_blastn', 'j_sequence_alignment_blastn', 'j_germline_alignment_blastn', 'j_source', 'd_support_igblastn', 'd_score_igblastn', 'd_call_igblastn', 'd_call_blastn', 'd_identity_blastn', 'd_alignment_length_blastn', 'd_number_of_mismatches_blastn', 'd_number_of_gap_openings_blastn', 'd_sequence_start_blastn', 'd_sequence_end_blastn', 'd_germline_start_blastn', 'd_germline_end_blastn', 'd_support_blastn', 'd_score_blastn', 'd_sequence_alignment_blastn', 'd_germline_alignment_blastn', 'd_source', 'v_call_genotyped', 'germline_alignment_d_mask', 'sample_id', 'c_sequence_alignment', 'c_germline_alignment', 'c_sequence_start', 'c_sequence_end', 'c_score', 'c_identity', 'c_call_10x', 'junction_aa_length', 'fwr1_aa', 'fwr2_aa', 'fwr3_aa', 'fwr4_aa', 'cdr1_aa', 'cdr2_aa', 'cdr3_aa', 'sequence_alignment_aa', 'v_sequence_alignment_aa', 'd_sequence_alignment_aa', 'j_sequence_alignment_aa', 'complete_vdj', 'j_call_multimappers', 'j_call_multiplicity', 'j_call_sequence_start_multimappers', 'j_call_sequence_end_multimappers', 'j_call_support_multimappers', 'mu_count', 'ambiguous', 'extra', 'rearrangement_status', 'clone_id'\n", " metadata: 'clone_id', 'clone_id_rank', 'sample_id', 'locus_VDJ', 'locus_VJ', 'productive_VDJ', 'productive_VJ', 'v_call_VDJ', 'd_call_VDJ', 'j_call_VDJ', 'v_call_VJ', 'j_call_VJ', 'c_call_VDJ', 'c_call_VJ', 'junction_VDJ', 'junction_VJ', 'junction_aa_VDJ', 'junction_aa_VJ', 'v_call_B_VDJ', 'd_call_B_VDJ', 'j_call_B_VDJ', 'v_call_B_VJ', 'j_call_B_VJ', 'c_call_B_VDJ', 'c_call_B_VJ', 'productive_B_VDJ', 'productive_B_VJ', 'umi_count_B_VDJ', 'umi_count_B_VJ', 'v_call_VDJ_main', 'v_call_VJ_main', 'd_call_VDJ_main', 'j_call_VDJ_main', 'j_call_VJ_main', 'c_call_VDJ_main', 'c_call_VJ_main', 'v_call_B_VDJ_main', 'd_call_B_VDJ_main', 'j_call_B_VDJ_main', 'v_call_B_VJ_main', 'j_call_B_VJ_main', 'isotype', 'isotype_status', 'locus_status', 'chain_status', 'rearrangement_status_VDJ', 'rearrangement_status_VJ'\n", " layout: layout for 2334 vertices, layout for 146 vertices\n", " graph: networkx graph of 2334 vertices, networkx graph of 146 vertices \n", " distances: distance matrix of shape (2334, 2334)" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "vdj_lazy_reload = ddl.read_h5ddl(\n", " \"dandelion_results_lazy_distance_matrix.h5ddl\",\n", " distance_zarr=\"dandelion_results_lazy_distance_matrix.zarr\",\n", ")\n", "vdj_lazy_reload" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Array Chunk
Bytes 41.56 MiB 41.56 MiB
Shape (2334, 2334) (2334, 2334)
Dask graph 1 chunks in 2 graph layers
Data type float64 numpy.ndarray
\n", "
\n", " \n", "\n", " \n", " \n", " \n", "\n", " \n", " \n", " \n", "\n", " \n", " \n", "\n", " \n", " 2334\n", " 2334\n", "\n", "
" ], "text/plain": [ "dask.array" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "vdj_lazy_reload.distances" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The distance matrix is read lazily as a `dask.array.Array`. To materialize the distance matrix into memory as a CSR sparse matrix, you can call `vdj.compute()`. Note that this will load the entire distance matrix into memory, so make sure you have enough RAM available." ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "vdj_lazy_reload.compute()\n", "vdj_lazy_reload.distances" ] } ], "metadata": { "kernelspec": { "display_name": "dandelion", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.9" } }, "nbformat": 4, "nbformat_minor": 4 }