{ "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": "markdown", "metadata": {}, "source": [ "Import modules" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "dandelion==0.5.5.dev16 pandas==2.2.3 numpy==2.1.3 matplotlib==3.10.1 networkx==3.4.2 scipy==1.15.2\n" ] } ], "source": [ "import os\n", "import dandelion as ddl\n", "\n", "ddl.logging.print_header()" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "scanpy==1.10.3 anndata==0.11.3 umap==0.5.7 numpy==2.1.3 scipy==1.15.2 pandas==2.2.3 scikit-learn==1.6.1 statsmodels==0.14.4 igraph==0.11.8 pynndescent==0.5.13\n" ] } ], "source": [ "# change directory to somewhere more workable\n", "os.chdir(os.path.expanduser(\"~/Downloads/dandelion_tutorial/\"))\n", "# I'm importing scanpy here to make use of its logging module.\n", "import scanpy as sc\n", "\n", "sc.settings.verbosity = 3\n", "import warnings\n", "\n", "warnings.filterwarnings(\"ignore\")\n", "sc.logging.print_header()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Read in the previously saved files\n", "\n", "I will work with the same example from the previous section since I have the filtered V(D)J data stored in a `Dandelion` class." ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "Dandelion class object with n_obs = 2238 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_genotyped_VDJ', 'd_call_VDJ', 'j_call_VDJ', 'v_call_genotyped_VJ', 'j_call_VJ', 'c_call_VDJ', 'c_call_VJ', 'junction_VDJ', 'junction_VJ', 'junction_aa_VDJ', 'junction_aa_VJ', 'v_call_genotyped_B_VDJ', 'd_call_B_VDJ', 'j_call_B_VDJ', 'v_call_genotyped_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": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "vdj = ddl.read_h5ddl(\"dandelion_results.h5ddl\")\n", "vdj" ] }, { "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": 25, "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" } ], "conversionMethod": "pd.DataFrame", "ref": "d128093d-3604-4bb3-9bf1-f80cf273b50f", "rows": [ [ "sc5p_v2_hs_PBMC_10k_AAACCTGTCATATCGG_contig_1", "IGKV1-33*01,IGKV1D-33*01", "IGKJ4*01", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_AAACCTGTCCGTTGTC_contig_2", "IGHV1-69*01,IGHV1-69D*01", "IGHJ3*02", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_AAACCTGTCCGTTGTC_contig_1", "IGKV1-8*01", "IGKJ1*01", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_AAACCTGTCGAGAACG_contig_1", "IGLV5-45*02", "IGLJ3*02", "IGLC3" ], [ "sc5p_v2_hs_PBMC_10k_AAACCTGTCGAGAACG_contig_2", "IGHV1-2*02", "IGHJ3*02", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_AAACCTGTCTTGAGAC_contig_2", "IGHV5-51*03", "IGHJ3*02", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_AAACCTGTCTTGAGAC_contig_1", "IGKV1D-8*01", "IGKJ2*01", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_AAACGGGAGCGACGTA_contig_1", "IGHV4-4*07", "IGHJ3*02", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_AAACGGGAGCGACGTA_contig_2", "IGLV3-19*01", "IGLJ2*01,IGLJ3*01", "IGLC" ], [ "sc5p_v2_hs_PBMC_10k_AAACGGGAGCGACGTA_contig_3", "IGLV7-46*01", "IGLJ3*02", "IGLC" ], [ "sc5p_v2_hs_PBMC_10k_AAACGGGCACTGTTAG_contig_2", "IGHV4-39*01", "IGHJ3*02", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_AAACGGGCACTGTTAG_contig_1", "IGLV3-21*04", "IGLJ2*01,IGLJ3*01", "IGLC" ], [ "sc5p_v2_hs_PBMC_10k_AAACGGGCACTGTTAG_contig_3", "IGHV3-7*01", "IGHJ3*02", "IGHD" ], [ "sc5p_v2_hs_PBMC_10k_AAAGATGAGGATGCGT_contig_2", "IGKV2-28*01,IGKV2D-28*01", "IGKJ2*01", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_AAAGATGAGGATGCGT_contig_1", "IGHV3-30*02", "IGHJ4*02", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_AAAGATGGTACTTCTT_contig_2", "IGKV1-5*03", "IGKJ3*01", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_AAAGATGGTACTTCTT_contig_1", "IGHV2-5*02", "IGHJ3*02", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_AAAGATGGTACTTCTT_contig_3", "IGLV2-11*01", "IGLJ2*01,IGLJ3*01", "IGLC" ], [ "sc5p_v2_hs_PBMC_10k_AAAGATGGTCGAATCT_contig_1", "IGLV6-57*03", "IGLJ2*01,IGLJ3*01", "IGLC" ], [ "sc5p_v2_hs_PBMC_10k_AAAGATGGTCGAATCT_contig_2", "IGHV3-15*01", "IGHJ4*02", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_AAAGATGGTGAGGGAG_contig_2", "IGLV2-14*01,IGLV2-14*03", "IGLJ3*02", "IGLC3" ], [ "sc5p_v2_hs_PBMC_10k_AAAGATGGTGAGGGAG_contig_1", "IGHV4-61*02", "IGHJ6*02", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_AAAGATGGTGAGGGAG_contig_3", "IGHV3-7*01", "IGHJ4*02", "IGHD" ], [ "sc5p_v2_hs_PBMC_10k_AAAGTAGCAGATCCAT_contig_1", "IGKV1-27*01", "IGKJ3*01", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_AAAGTAGCAGATCCAT_contig_2", "IGHV1-2*02", "IGHJ6*02", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_AAAGTAGCAGATCCAT_contig_3", "IGKV1D-8*01", "IGKJ1*01", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_AAAGTAGGTACAAGTA_contig_1", "IGKV1-5*03", "IGKJ1*01", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_AAAGTAGGTACAAGTA_contig_2", "IGHV2-5*02", "IGHJ3*02", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_AACACGTAGACACGAC_contig_2", "IGKV1-39*01,IGKV1D-39*01", "IGKJ2*01", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_AACACGTAGACACGAC_contig_1", "IGHV3-7*01", "IGHJ4*02", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_AACACGTCACAGACAG_contig_1", "IGHV1-8*01", "IGHJ3*02", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_AACACGTCACAGACAG_contig_2", "IGKV3-20*01", "IGKJ1*01", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_AACACGTGTACCGTAT_contig_1", "IGHV3-9*01", "IGHJ3*02", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_AACACGTGTACCGTAT_contig_2", "IGKV4-1*01", "IGKJ1*01", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_AACACGTTCCCTTGTG_contig_2", "IGKV3-20*01", "IGKJ2*01", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_AACACGTTCCCTTGTG_contig_1", "IGHV3-9*01", "IGHJ4*02", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_AACACGTTCCCTTGTG_contig_3", "IGHV3-49*03,IGHV3-49*04", "IGHJ4*02", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_AACCATGCAAGCTGTT_contig_2", "IGLV2-14*01,IGLV2-14*03", "IGLJ1*01", "IGLC1" ], [ "sc5p_v2_hs_PBMC_10k_AACCATGCAAGCTGTT_contig_1", "IGHV3-33*01", "IGHJ6*02", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_AACCATGTCAGTCCCT_contig_2", "IGLV2-14*01,IGLV2-14*03", "IGLJ2*01,IGLJ3*01", "IGLC" ], [ "sc5p_v2_hs_PBMC_10k_AACCATGTCAGTCCCT_contig_1", "IGHV3-49*04", "IGHJ3*02", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_AACCATGTCCAAGTAC_contig_2", "IGKV3-20*01", "IGKJ3*01", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_AACCATGTCCAAGTAC_contig_1", "IGHV4-4*07", "IGHJ6*02", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_AACCATGTCTAGCACA_contig_2", "IGLV1-47*01", "IGLJ3*02", "IGLC3" ], [ "sc5p_v2_hs_PBMC_10k_AACCATGTCTAGCACA_contig_1", "IGHV4-30-2*01", "IGHJ6*02", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_AACCGCGCAACACCTA_contig_1", "IGKV1-39*01,IGKV1D-39*01", "IGKJ2*01", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_AACCGCGCAACACCTA_contig_3", "IGHV3-9*01", "IGHJ3*02", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_AACCGCGCAACACCTA_contig_2", "IGKV3-20*01", "IGKJ5*01", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_AACCGCGCAAGCTGAG_contig_4", "IGKV2D-29*01", "IGKJ4*01", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_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_AAACCTGTCATATCGG_contig_1IGKV1-33*01,IGKV1D-33*01IGKJ4*01IGKC
sc5p_v2_hs_PBMC_10k_AAACCTGTCCGTTGTC_contig_2IGHV1-69*01,IGHV1-69D*01IGHJ3*02IGHM
sc5p_v2_hs_PBMC_10k_AAACCTGTCCGTTGTC_contig_1IGKV1-8*01IGKJ1*01IGKC
sc5p_v2_hs_PBMC_10k_AAACCTGTCGAGAACG_contig_1IGLV5-45*02IGLJ3*02IGLC3
sc5p_v2_hs_PBMC_10k_AAACCTGTCGAGAACG_contig_2IGHV1-2*02IGHJ3*02IGHM
............
vdj_v1_hs_pbmc3_TTTCCTCTCGACAGCC_contig_1IGHV1-46*01IGHJ5*02IGHM
vdj_v1_hs_pbmc3_TTTGCGCCATACCATG_contig_2IGHV1-69*01,IGHV1-69D*01IGHJ6*02IGHM
vdj_v1_hs_pbmc3_TTTGCGCCATACCATG_contig_1IGLV1-47*01IGLJ3*02IGLC3
vdj_v1_hs_pbmc3_TTTGGTTGTAGGCATG_contig_2IGLV2-11*01IGLJ2*01,IGLJ3*01,IGLJ3*02IGLC
vdj_v1_hs_pbmc3_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_AAACCTGTCATATCGG_contig_1 IGKV1-33*01,IGKV1D-33*01 \n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCCGTTGTC_contig_2 IGHV1-69*01,IGHV1-69D*01 \n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCCGTTGTC_contig_1 IGKV1-8*01 \n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCGAGAACG_contig_1 IGLV5-45*02 \n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCGAGAACG_contig_2 IGHV1-2*02 \n", "... ... \n", "vdj_v1_hs_pbmc3_TTTCCTCTCGACAGCC_contig_1 IGHV1-46*01 \n", "vdj_v1_hs_pbmc3_TTTGCGCCATACCATG_contig_2 IGHV1-69*01,IGHV1-69D*01 \n", "vdj_v1_hs_pbmc3_TTTGCGCCATACCATG_contig_1 IGLV1-47*01 \n", "vdj_v1_hs_pbmc3_TTTGGTTGTAGGCATG_contig_2 IGLV2-11*01 \n", "vdj_v1_hs_pbmc3_TTTGGTTGTAGGCATG_contig_1 IGHV3-23*01,IGHV3-23D*01 \n", "\n", " j_call \\\n", "sequence_id \n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCATATCGG_contig_1 IGKJ4*01 \n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCCGTTGTC_contig_2 IGHJ3*02 \n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCCGTTGTC_contig_1 IGKJ1*01 \n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCGAGAACG_contig_1 IGLJ3*02 \n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCGAGAACG_contig_2 IGHJ3*02 \n", "... ... \n", "vdj_v1_hs_pbmc3_TTTCCTCTCGACAGCC_contig_1 IGHJ5*02 \n", "vdj_v1_hs_pbmc3_TTTGCGCCATACCATG_contig_2 IGHJ6*02 \n", "vdj_v1_hs_pbmc3_TTTGCGCCATACCATG_contig_1 IGLJ3*02 \n", "vdj_v1_hs_pbmc3_TTTGGTTGTAGGCATG_contig_2 IGLJ2*01,IGLJ3*01,IGLJ3*02 \n", "vdj_v1_hs_pbmc3_TTTGGTTGTAGGCATG_contig_1 IGHJ4*02 \n", "\n", " c_call \n", "sequence_id \n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCATATCGG_contig_1 IGKC \n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCCGTTGTC_contig_2 IGHM \n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCCGTTGTC_contig_1 IGKC \n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCGAGAACG_contig_1 IGLC3 \n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCGAGAACG_contig_2 IGHM \n", "... ... \n", "vdj_v1_hs_pbmc3_TTTCCTCTCGACAGCC_contig_1 IGHM \n", "vdj_v1_hs_pbmc3_TTTGCGCCATACCATG_contig_2 IGHM \n", "vdj_v1_hs_pbmc3_TTTGCGCCATACCATG_contig_1 IGLC3 \n", "vdj_v1_hs_pbmc3_TTTGGTTGTAGGCATG_contig_2 IGLC \n", "vdj_v1_hs_pbmc3_TTTGGTTGTAGGCATG_contig_1 IGHM \n", "\n", "[7355 rows x 3 columns]" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# original\n", "vdj.data[[\"v_call_genotyped\", \"j_call\", \"c_call\"]]" ] }, { "cell_type": "code", "execution_count": 26, "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" } ], "conversionMethod": "pd.DataFrame", "ref": "18fece5a-a23a-4ff4-9f47-ee67cd24d949", "rows": [ [ "sc5p_v2_hs_PBMC_10k_AAACCTGTCATATCGG_contig_1", "IGKV1-33", "IGKJ4", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_AAACCTGTCCGTTGTC_contig_2", "IGHV1-69", "IGHJ3", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_AAACCTGTCCGTTGTC_contig_1", "IGKV1-8", "IGKJ1", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_AAACCTGTCGAGAACG_contig_1", "IGLV5-45", "IGLJ3", "IGLC3" ], [ "sc5p_v2_hs_PBMC_10k_AAACCTGTCGAGAACG_contig_2", "IGHV1-2", "IGHJ3", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_AAACCTGTCTTGAGAC_contig_2", "IGHV5-51", "IGHJ3", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_AAACCTGTCTTGAGAC_contig_1", "IGKV1D-8", "IGKJ2", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_AAACGGGAGCGACGTA_contig_1", "IGHV4-4", "IGHJ3", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_AAACGGGAGCGACGTA_contig_2", "IGLV3-19", "IGLJ2", "IGLC" ], [ "sc5p_v2_hs_PBMC_10k_AAACGGGAGCGACGTA_contig_3", "IGLV7-46", "IGLJ3", "IGLC" ], [ "sc5p_v2_hs_PBMC_10k_AAACGGGCACTGTTAG_contig_2", "IGHV4-39", "IGHJ3", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_AAACGGGCACTGTTAG_contig_1", "IGLV3-21", "IGLJ2", "IGLC" ], [ "sc5p_v2_hs_PBMC_10k_AAACGGGCACTGTTAG_contig_3", "IGHV3-7", "IGHJ3", "IGHD" ], [ "sc5p_v2_hs_PBMC_10k_AAAGATGAGGATGCGT_contig_2", "IGKV2-28", "IGKJ2", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_AAAGATGAGGATGCGT_contig_1", "IGHV3-30", "IGHJ4", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_AAAGATGGTACTTCTT_contig_2", "IGKV1-5", "IGKJ3", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_AAAGATGGTACTTCTT_contig_1", "IGHV2-5", "IGHJ3", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_AAAGATGGTACTTCTT_contig_3", "IGLV2-11", "IGLJ2", "IGLC" ], [ "sc5p_v2_hs_PBMC_10k_AAAGATGGTCGAATCT_contig_1", "IGLV6-57", "IGLJ2", "IGLC" ], [ "sc5p_v2_hs_PBMC_10k_AAAGATGGTCGAATCT_contig_2", "IGHV3-15", "IGHJ4", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_AAAGATGGTGAGGGAG_contig_2", "IGLV2-14", "IGLJ3", "IGLC3" ], [ "sc5p_v2_hs_PBMC_10k_AAAGATGGTGAGGGAG_contig_1", "IGHV4-61", "IGHJ6", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_AAAGATGGTGAGGGAG_contig_3", "IGHV3-7", "IGHJ4", "IGHD" ], [ "sc5p_v2_hs_PBMC_10k_AAAGTAGCAGATCCAT_contig_1", "IGKV1-27", "IGKJ3", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_AAAGTAGCAGATCCAT_contig_2", "IGHV1-2", "IGHJ6", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_AAAGTAGCAGATCCAT_contig_3", "IGKV1D-8", "IGKJ1", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_AAAGTAGGTACAAGTA_contig_1", "IGKV1-5", "IGKJ1", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_AAAGTAGGTACAAGTA_contig_2", "IGHV2-5", "IGHJ3", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_AACACGTAGACACGAC_contig_2", "IGKV1-39", "IGKJ2", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_AACACGTAGACACGAC_contig_1", "IGHV3-7", "IGHJ4", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_AACACGTCACAGACAG_contig_1", "IGHV1-8", "IGHJ3", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_AACACGTCACAGACAG_contig_2", "IGKV3-20", "IGKJ1", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_AACACGTGTACCGTAT_contig_1", "IGHV3-9", "IGHJ3", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_AACACGTGTACCGTAT_contig_2", "IGKV4-1", "IGKJ1", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_AACACGTTCCCTTGTG_contig_2", "IGKV3-20", "IGKJ2", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_AACACGTTCCCTTGTG_contig_1", "IGHV3-9", "IGHJ4", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_AACACGTTCCCTTGTG_contig_3", "IGHV3-49", "IGHJ4", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_AACCATGCAAGCTGTT_contig_2", "IGLV2-14", "IGLJ1", "IGLC1" ], [ "sc5p_v2_hs_PBMC_10k_AACCATGCAAGCTGTT_contig_1", "IGHV3-33", "IGHJ6", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_AACCATGTCAGTCCCT_contig_2", "IGLV2-14", "IGLJ2", "IGLC" ], [ "sc5p_v2_hs_PBMC_10k_AACCATGTCAGTCCCT_contig_1", "IGHV3-49", "IGHJ3", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_AACCATGTCCAAGTAC_contig_2", "IGKV3-20", "IGKJ3", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_AACCATGTCCAAGTAC_contig_1", "IGHV4-4", "IGHJ6", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_AACCATGTCTAGCACA_contig_2", "IGLV1-47", "IGLJ3", "IGLC3" ], [ "sc5p_v2_hs_PBMC_10k_AACCATGTCTAGCACA_contig_1", "IGHV4-30-2", "IGHJ6", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_AACCGCGCAACACCTA_contig_1", "IGKV1-39", "IGKJ2", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_AACCGCGCAACACCTA_contig_3", "IGHV3-9", "IGHJ3", "IGHM" ], [ "sc5p_v2_hs_PBMC_10k_AACCGCGCAACACCTA_contig_2", "IGKV3-20", "IGKJ5", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_AACCGCGCAAGCTGAG_contig_4", "IGKV2D-29", "IGKJ4", "IGKC" ], [ "sc5p_v2_hs_PBMC_10k_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_AAACCTGTCATATCGG_contig_1IGKV1-33IGKJ4IGKC
sc5p_v2_hs_PBMC_10k_AAACCTGTCCGTTGTC_contig_2IGHV1-69IGHJ3IGHM
sc5p_v2_hs_PBMC_10k_AAACCTGTCCGTTGTC_contig_1IGKV1-8IGKJ1IGKC
sc5p_v2_hs_PBMC_10k_AAACCTGTCGAGAACG_contig_1IGLV5-45IGLJ3IGLC3
sc5p_v2_hs_PBMC_10k_AAACCTGTCGAGAACG_contig_2IGHV1-2IGHJ3IGHM
............
vdj_v1_hs_pbmc3_TTTCCTCTCGACAGCC_contig_1IGHV1-46IGHJ5IGHM
vdj_v1_hs_pbmc3_TTTGCGCCATACCATG_contig_2IGHV1-69IGHJ6IGHM
vdj_v1_hs_pbmc3_TTTGCGCCATACCATG_contig_1IGLV1-47IGLJ3IGLC3
vdj_v1_hs_pbmc3_TTTGGTTGTAGGCATG_contig_2IGLV2-11IGLJ2IGLC
vdj_v1_hs_pbmc3_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_AAACCTGTCATATCGG_contig_1 IGKV1-33 IGKJ4 IGKC\n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCCGTTGTC_contig_2 IGHV1-69 IGHJ3 IGHM\n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCCGTTGTC_contig_1 IGKV1-8 IGKJ1 IGKC\n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCGAGAACG_contig_1 IGLV5-45 IGLJ3 IGLC3\n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCGAGAACG_contig_2 IGHV1-2 IGHJ3 IGHM\n", "... ... ... ...\n", "vdj_v1_hs_pbmc3_TTTCCTCTCGACAGCC_contig_1 IGHV1-46 IGHJ5 IGHM\n", "vdj_v1_hs_pbmc3_TTTGCGCCATACCATG_contig_2 IGHV1-69 IGHJ6 IGHM\n", "vdj_v1_hs_pbmc3_TTTGCGCCATACCATG_contig_1 IGLV1-47 IGLJ3 IGLC3\n", "vdj_v1_hs_pbmc3_TTTGGTTGTAGGCATG_contig_2 IGLV2-11 IGLJ2 IGLC\n", "vdj_v1_hs_pbmc3_TTTGGTTGTAGGCATG_contig_1 IGHV3-23 IGHJ4 IGHM\n", "\n", "[7355 rows x 3 columns]" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "vdj.simplify()\n", "vdj.data[[\"v_call_genotyped\", \"j_call\", \"c_call\"]]" ] }, { "cell_type": "code", "execution_count": 27, "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": 28, "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 : 100%|██████████| 194/194 [00:00<00:00, 4210.54it/s]\n", "Finding clones based on B cell VJ chains : 100%|██████████| 203/203 [00:00<00:00, 4665.80it/s]\n", "Refining clone assignment based on VJ chain pairing : 100%|██████████| 2238/2238 [00:00<00:00, 551778.29it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " finished: Updated Dandelion object: \n", " 'data', contig-indexed AIRR table\n", " 'metadata', cell-indexed observations table\n", " (0:00:00)\n" ] }, { "data": { "text/plain": [ "Dandelion class object with n_obs = 2238 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_by_size', 'sample_id', 'locus_VDJ', 'locus_VJ', 'productive_VDJ', 'productive_VJ', 'v_call_genotyped_VDJ', 'd_call_VDJ', 'j_call_VDJ', 'v_call_genotyped_VJ', 'j_call_VJ', 'c_call_VDJ', 'c_call_VJ', 'junction_VDJ', 'junction_VJ', 'junction_aa_VDJ', 'junction_aa_VJ', 'v_call_genotyped_B_VDJ', 'd_call_B_VDJ', 'j_call_B_VDJ', 'v_call_genotyped_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": 28, "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 `A_B_C_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", "Also, to reduce ambiguity, the `A_B_C` segment will have the `VDJ` prefix and the `D_E_F` segment will have the `VJ` suffix.\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", "There is also an alternate column called `clone_id_by_size` which is a simple 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." ] }, { "cell_type": "code", "execution_count": 29, "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_by_size", "rawType": "category", "type": "unknown" }, { "name": "sample_id", "rawType": "object", "type": "string" }, { "name": "locus_VDJ", "rawType": "object", "type": "string" }, { "name": "locus_VJ", "rawType": "object", "type": "string" }, { "name": "productive_VDJ", "rawType": "object", "type": "string" }, { "name": "productive_VJ", "rawType": "object", "type": "string" }, { "name": "v_call_genotyped_VDJ", "rawType": "object", "type": "string" }, { "name": "d_call_VDJ", "rawType": "object", "type": "string" }, { "name": "j_call_VDJ", "rawType": "object", "type": "string" }, { "name": "v_call_genotyped_VJ", "rawType": "object", "type": "string" }, { "name": "j_call_VJ", "rawType": "object", "type": "string" }, { "name": "c_call_VDJ", "rawType": "object", "type": "string" }, { "name": "c_call_VJ", "rawType": "object", "type": "string" }, { "name": "junction_VDJ", "rawType": "object", "type": "string" }, { "name": "junction_VJ", "rawType": "object", "type": "string" }, { "name": "junction_aa_VDJ", "rawType": "object", "type": "string" }, { "name": "junction_aa_VJ", "rawType": "object", "type": "string" }, { "name": "v_call_genotyped_B_VDJ", "rawType": "object", "type": "string" }, { "name": "d_call_B_VDJ", "rawType": "object", "type": "string" }, { "name": "j_call_B_VDJ", "rawType": "object", "type": "string" }, { "name": "v_call_genotyped_B_VJ", "rawType": "object", "type": "string" }, { "name": "j_call_B_VJ", "rawType": "object", "type": "string" }, { "name": "c_call_B_VDJ", "rawType": "object", "type": "string" }, { "name": "c_call_B_VJ", "rawType": "object", "type": "string" }, { "name": "productive_B_VDJ", "rawType": "object", "type": "string" }, { "name": "productive_B_VJ", "rawType": "object", "type": "string" }, { "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": "string" }, { "name": "isotype_status", "rawType": "object", "type": "string" }, { "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" } ], "conversionMethod": "pd.DataFrame", "ref": "a0375566-816c-4345-9cbf-8034eda03b1f", "rows": [ [ "sc5p_v2_hs_PBMC_10k_AAACCTGTCATATCGG", "B_VJ_186_2_8", "169", "sc5p_v2_hs_PBMC_10k", "None", "IGK", "None", "T", "None", "None", "None", "IGKV1-33", "IGKJ4", "None", "IGKC", "None", "TGTCAACAATATGACGAACTTCCCGTCACTTTC", "None", "CQQYDELPVTF", "None", "None", "None", "IGKV1-33", "IGKJ4", "None", "IGKC", "None", "T", null, "68.0", "None", "IGKV1-33", "None", "None", "IGKJ4", "None", "IGKC", "None", "None", "None", "IGKV1-33", "IGKJ4", "", "", "Orphan IGK", "Orphan VJ", "None", "standard" ], [ "sc5p_v2_hs_PBMC_10k_AAACCTGTCCGTTGTC", "B_VDJ_129_4_2_VJ_142_2_3", "1989", "sc5p_v2_hs_PBMC_10k", "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_AAACCTGTCGAGAACG", "B_VDJ_81_1_2_VJ_41_1_1", "1603", "sc5p_v2_hs_PBMC_10k", "IGH", "IGL", "T", "T", "IGHV1-2", "None", "IGHJ3", "IGLV5-45", "IGLJ3", "IGHM", "IGLC3", "TGTGCGAGAGAGATAGAGGGGGACGGTGTTTTTGAAATCTGG", "TGTATGATTTGGCACAGCAGCGCTTGGGTGGTC", "CAREIEGDGVFEIW", "CMIWHSSAWVV", "IGHV1-2", "None", "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_AAACCTGTCTTGAGAC", "B_VDJ_130_4_5_VJ_30_1_1", "1604", "sc5p_v2_hs_PBMC_10k", "IGH", "IGK", "T", "T", "IGHV5-51", "None", "IGHJ3", "IGKV1D-8", "IGKJ2", "IGHM", "IGKC", "TGTGCGAGACATATCCGTGGGAACAGATTTGGCAATGATGCTTTTGATATCTGG", "TGTCAACAGTATTATAGTTTCCCGTACACTTTT", "CARHIRGNRFGNDAFDIW", "CQQYYSFPYTF", "IGHV5-51", "None", "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_AAACGGGAGCGACGTA", "B_VDJ_46_2_1_VJ_101_2_7", "1605", "sc5p_v2_hs_PBMC_10k", "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_AAACGGGCACTGTTAG", "B_VDJ_66_2_3_VJ_89_3_4", "1606", "sc5p_v2_hs_PBMC_10k", "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_AAAGATGAGGATGCGT", "B_VDJ_44_9_6_VJ_37_3_4", "1607", "sc5p_v2_hs_PBMC_10k", "IGH", "IGK", "T", "T", "IGHV3-30", "None", "IGHJ4", "IGKV2-28", "IGKJ2", "IGHM", "IGKC", "TGTGCGAAAGTCATGATAGAACACCCATCGAACAGGGGCCACTTTGACTACTGG", "TGCATGCAAGCTCTACAAACTCCGTACACTTTT", "CAKVMIEHPSNRGHFDYW", "CMQALQTPYTF", "IGHV3-30", "None", "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_AAAGATGGTCGAATCT", "B_VDJ_74_12_3_VJ_29_1_1", "1608", "sc5p_v2_hs_PBMC_10k", "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_AAAGATGGTGAGGGAG", "B_VDJ_98_9_3_VJ_53_3_6", "1602", "sc5p_v2_hs_PBMC_10k", "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_AAAGTAGCAGATCCAT", "B_VDJ_187_10_1_VJ_81_2_1", "1609", "sc5p_v2_hs_PBMC_10k", "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_AAAGTAGGTACAAGTA", "B_VDJ_113_7_1_VJ_146_3_5", "1611", "sc5p_v2_hs_PBMC_10k", "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_AACACGTAGACACGAC", "B_VDJ_92_8_2_VJ_3_2_11", "1612", "sc5p_v2_hs_PBMC_10k", "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_AACACGTCACAGACAG", "B_VDJ_80_3_1_VJ_151_5_12", "1613", "sc5p_v2_hs_PBMC_10k", "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_AACACGTTCCCTTGTG", "B_VDJ_65_4_5_VJ_123_2_10", "1614", "sc5p_v2_hs_PBMC_10k", "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_AACCATGCAAGCTGTT", "B_VDJ_1_2_1_VJ_1_2_3", "1615", "sc5p_v2_hs_PBMC_10k", "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_AACCATGTCAGTCCCT", "B_VDJ_111_2_1_VJ_80_1_1", "1616", "sc5p_v2_hs_PBMC_10k", "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_AACCATGTCCAAGTAC", "B_VDJ_148_1_1_VJ_86_2_6", "1610", "sc5p_v2_hs_PBMC_10k", "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_AACCATGTCTAGCACA", "B_VDJ_123_5_1_VJ_160_2_1", "1601", "sc5p_v2_hs_PBMC_10k", "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_AACCGCGCATGAGCGA", "B_VDJ_69_1_1_VJ_152_2_13", "1600", "sc5p_v2_hs_PBMC_10k", "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_AACGTTGGTCGTTGTA", "B_VDJ_44_8_8_VJ_19_2_1", "1599", "sc5p_v2_hs_PBMC_10k", "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_AACTCCCTCGTACCGG", "B_VDJ_5_2_1_VJ_146_3_5", "1584", "sc5p_v2_hs_PBMC_10k", "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_AACTCTTAGTAGCCGA", "B_VDJ_44_5_7_VJ_10_2_1", "1585", "sc5p_v2_hs_PBMC_10k", "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_AACTCTTTCCGATATG", "B_VDJ_174_2_2_VJ_181_1_3", "1586", "sc5p_v2_hs_PBMC_10k", "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_AACTGGTTCATTTGGG", "B_VDJ_54_10_1_VJ_172_2_2", "1587", "sc5p_v2_hs_PBMC_10k", "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_AACTTTCAGCTCAACT", "B_VDJ_44_6_9_VJ_14_3_3", "1588", "sc5p_v2_hs_PBMC_10k", "IGH", "IGK", "T", "T", "IGHV3-30", "None", "IGHJ4", "IGKV3-15", "IGKJ1", "IGHM", "IGKC", "TGTGCGAAAGATCGGGTAGGATACGGTGACTACGTGGACTACTGG", "TGTCAGCAGTATAATAACTGGCCTCCCTGGACGTTC", "CAKDRVGYGDYVDYW", "CQQYNNWPPWTF", "IGHV3-30", "None", "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_AACTTTCCAATGTTGC", "B_VDJ_125_1_2_VJ_118_3_8", "1589", "sc5p_v2_hs_PBMC_10k", "IGH", "IGL", "T", "T", "IGHV4-39", "None", "IGHJ4", "IGLV1-40", "IGLJ1", "IGHM", "IGLC1", "TGTGCGAGACTAGGCAGCAGCCCGTACTACTGG", "TGCCAGTCCTATGACAGCAGCCTGAGTGGTTATGTCTTC", "CARLGSSPYYW", "CQSYDSSLSGYVF", "IGHV4-39", "None", "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_AAGCCGCGTTTGTGTG", "B_VDJ_24_1_1_VJ_60_1_1", "1590", "sc5p_v2_hs_PBMC_10k", "IGH", "IGK", "T", "T", "IGHV3-49", "None", "IGHJ6", "IGKV1D-8", "IGKJ1", "IGHM", "IGKC", "TGTACTAGATACTATGGGGACGTCTGG", "TGTCAACAGTATTATAGTTTCCCGTGGACGTTC", "CTRYYGDVW", "CQQYYSFPWTF", "IGHV3-49", "None", "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_AAGGAGCAGCTGCCCA", "B_VDJ_90_13_1_VJ_140_1_1|B_VDJ_90_13_1_VJ_59_3_5", "1591|1592", "sc5p_v2_hs_PBMC_10k", "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_AAGGAGCAGTTTGCGT", "B_VDJ_44_10_6_VJ_15_4_1", "1593", "sc5p_v2_hs_PBMC_10k", "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_AAGGAGCCAGCCTTTC", "B_VDJ_182_2_1_VJ_42_3_3", "1594", "sc5p_v2_hs_PBMC_10k", "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_AAGGAGCGTAATCACC", "B_VDJ_64_3_1_VJ_142_2_5", "1595", "sc5p_v2_hs_PBMC_10k", "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_AAGGCAGAGTCATCCA", "B_VDJ_137_9_1_VJ_1_3_10", "1596", "sc5p_v2_hs_PBMC_10k", "IGH", "IGL", "T", "T", "IGHV3-7", "None", "IGHJ6", "IGLV2-14", "IGLJ1", "IGHA1", "IGLC1", "TGCGCGAGGGGCGGTGCGGCGGTGACCACTTATTATTATTACTTCTACGGTATGGACGCCTGG", "TGCTGCTCATATTCAAGCACCAATACACTATATGTCTTC", "CARGGAAVTTYYYYFYGMDAW", "CCSYSSTNTLYVF", "IGHV3-7", "None", "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_AAGGCAGAGTCGATAA", "B_VDJ_37_7_5_VJ_119_1_1", "1597", "sc5p_v2_hs_PBMC_10k", "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_AAGGCAGGTCTCCATC", "B_VDJ_92_8_5_VJ_123_1_6", "1598", "sc5p_v2_hs_PBMC_10k", "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_AAGGTTCAGCAGATCG", "B_VDJ_125_7_7_VJ_62_3_3", "1617", "sc5p_v2_hs_PBMC_10k", "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_AAGTCTGGTCTAACGT", "B_VDJ_43_5_2_VJ_173_2_1", "1618", "sc5p_v2_hs_PBMC_10k", "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_AATCCAGAGGCGTACA", "B_VDJ_54_8_1_VJ_62_2_2", "1619", "sc5p_v2_hs_PBMC_10k", "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_AATCCAGAGTTTAGGA", "B_VDJ_44_6_6_VJ_152_3_3|B_VDJ_44_6_6_VJ_183_2_5", "1637|1639", "sc5p_v2_hs_PBMC_10k", "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_AATCCAGCATCTATGG", "B_VDJ_154_1_2_VJ_164_2_8", "1640", "sc5p_v2_hs_PBMC_10k", "IGH", "IGL", "T", "T", "IGHV3-43", "None", "IGHJ4", "IGLV1-51", "IGLJ2", "IGHM", "IGLC", "TGTGCAAAAGACGGGGGGGGGGAAGAGGCTTTAGAGCTACCAGACTACTGG", "TGCGGAACATGGGATAGCAGCCTGAGTGCGGTGGTATTC", "CAKDGGGEEALELPDYW", "CGTWDSSLSAVVF", "IGHV3-43", "None", "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_ACACCAAGTGTAAGTA", "B_VDJ_19_4_1_VJ_3_2_11", "1641", "sc5p_v2_hs_PBMC_10k", "IGH", "IGK", "T", "T", "IGHV4-30-2", "IGHD6-19", "IGHJ3", "IGKV1-39", "IGKJ2", "IGHG2", "IGKC", "TGTGCGAGAAAGGATAGCAGTGGTTCTGATGCTTTTGATTTGTGG", "TGTCAACAGAGTTATAGTACCCCGTACACTTTT", "CARKDSSGSDAFDLW", "CQQSYSTPYTF", "IGHV4-30-2", "IGHD6-19", "IGHJ3", "IGKV1-39", "IGKJ2", "IGHG2", "IGKC", "T", "T", "8.0", "72.0", "IGHV4-30-2", "IGKV1-39", "IGHD6-19", "IGHJ3", "IGKJ2", "IGHG2", "IGKC", "IGHV4-30-2", "IGHD6-19", "IGHJ3", "IGKV1-39", "IGKJ2", "IgG", "IgG", "IGH + IGK", "Single pair", "standard", "standard" ], [ "sc5p_v2_hs_PBMC_10k_ACACCAATCATCGATG", "B_VDJ_92_5_4_VJ_3_3_6", "1642", "sc5p_v2_hs_PBMC_10k", "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_ACACCAATCTATCCCG", "B_VDJ_95_3_2_VJ_82_1_1", "1643", "sc5p_v2_hs_PBMC_10k", "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_ACACCCTCATATGAGA", "B_VDJ_191_7_1_VJ_151_7_1", "1644", "sc5p_v2_hs_PBMC_10k", "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_ACACCCTTCAGAAATG", "B_VDJ_44_2_1_VJ_14_2_4", "1638", "sc5p_v2_hs_PBMC_10k", "IGH", "IGK", "T", "T", "IGHV3-30", "None", "IGHJ4", "IGKV3-15", "IGKJ1", "IGHM", "IGKC", "TGTGCCAATCAGCCCCCCAGTCTCTATTGG", "TGTCAGCAATATAATAACTGGCCCGGGACGTTC", "CANQPPSLYW", "CQQYNNWPGTF", "IGHV3-30", "None", "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_ACACCGGAGATCCGAG", "B_VDJ_17_8_1_VJ_108_1_2", "1645", "sc5p_v2_hs_PBMC_10k", "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_ACACTGACAGTCAGCC", "B_VDJ_80_5_2_VJ_21_2_5", "1647", "sc5p_v2_hs_PBMC_10k", "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_ACACTGAGTCAAAGCG", "B_VDJ_144_10_2_VJ_132_2_1", "1648", "sc5p_v2_hs_PBMC_10k", "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_ACACTGAGTTGTCTTT", "B_VDJ_161_2_1_VJ_154_1_3", "1649", "sc5p_v2_hs_PBMC_10k", "IGH", "IGL", "T", "T", "IGHV4-34", "None", "IGHJ5", "IGLV2-23", "IGLJ2", "IGHM", "IGLC", "TGTGCGAGAGGCGGCGATCCCACCTGGTTCGACCCCTGG", "TGCTGCTCATATGCAGGTAGTAGCATCGTGGTATTC", "CARGGDPTWFDPW", "CCSYAGSSIVVF", "IGHV4-34", "None", "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_ACAGCCGTCAGCATGT", "B_VDJ_44_9_7_VJ_190_4_4", "1650", "sc5p_v2_hs_PBMC_10k", "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_ACAGCTACACCACGTG", "B_VDJ_37_4_1_VJ_118_3_8", "1651", "sc5p_v2_hs_PBMC_10k", "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": 2238 } }, "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_by_sizesample_idlocus_VDJlocus_VJproductive_VDJproductive_VJv_call_genotyped_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_AAACCTGTCATATCGGB_VJ_186_2_8169sc5p_v2_hs_PBMC_10kNoneIGKNoneTNoneNoneNone...NoneNoneIGKV1-33IGKJ4Orphan IGKOrphan VJNonestandard
sc5p_v2_hs_PBMC_10k_AAACCTGTCCGTTGTCB_VDJ_129_4_2_VJ_142_2_31989sc5p_v2_hs_PBMC_10kIGHIGKTTIGHV1-69IGHD3-22IGHJ3...IGHD3-22IGHJ3IGKV1-8IGKJ1IgMIgMIGH + IGKSingle pairstandardstandard
sc5p_v2_hs_PBMC_10k_AAACCTGTCGAGAACGB_VDJ_81_1_2_VJ_41_1_11603sc5p_v2_hs_PBMC_10kIGHIGLTTIGHV1-2NoneIGHJ3...NoneIGHJ3IGLV5-45IGLJ3IgMIgMIGH + IGLSingle pairstandardstandard
sc5p_v2_hs_PBMC_10k_AAACCTGTCTTGAGACB_VDJ_130_4_5_VJ_30_1_11604sc5p_v2_hs_PBMC_10kIGHIGKTTIGHV5-51NoneIGHJ3...NoneIGHJ3IGKV1D-8IGKJ2IgMIgMIGH + IGKSingle pairstandardstandard
sc5p_v2_hs_PBMC_10k_AAACGGGAGCGACGTAB_VDJ_46_2_1_VJ_101_2_71605sc5p_v2_hs_PBMC_10kIGHIGLTTIGHV4-4IGHD6-13IGHJ3...IGHD6-13IGHJ3IGLV3-19IGLJ2IgMIgMIGH + IGLSingle pairstandardstandard
..................................................................
vdj_v1_hs_pbmc3_TTTCCTCAGCAATATGB_VDJ_174_1_1_VJ_71_2_8813vdj_v1_hs_pbmc3IGHIGKTTIGHV2-5IGHD5/OR15-5aIGHJ4...IGHD5/OR15-5aIGHJ4IGKV4-1IGKJ4IgMIgMIGH + IGKSingle pairstandardstandard
vdj_v1_hs_pbmc3_TTTCCTCAGCGCTTATB_VDJ_93_5_6_VJ_153_1_3814vdj_v1_hs_pbmc3IGHIGKTTIGHV3-30IGHD4-17IGHJ6...IGHD4-17IGHJ6IGKV2-30IGKJ2IgMIgMIGH + IGKSingle pairstandardstandard
vdj_v1_hs_pbmc3_TTTCCTCAGGGAAACAB_VDJ_83_1_1_VJ_83_4_13815vdj_v1_hs_pbmc3IGHIGKTTIGHV4-61IGHD6-13IGHJ2...IGHD6-13IGHJ2IGKV1-39IGKJ1IgMIgMIGH + IGKSingle pairstandardstandard
vdj_v1_hs_pbmc3_TTTGCGCCATACCATGB_VDJ_38_7_2_VJ_160_3_5816vdj_v1_hs_pbmc3IGHIGLTTIGHV1-69IGHD2-15IGHJ6...IGHD2-15IGHJ6IGLV1-47IGLJ3IgMIgMIGH + IGLSingle pairstandardstandard
vdj_v1_hs_pbmc3_TTTGGTTGTAGGCATGB_VDJ_144_5_4_VJ_79_3_22389vdj_v1_hs_pbmc3IGHIGLTTIGHV3-23NoneIGHJ4...NoneIGHJ4IGLV2-11IGLJ2IgMIgMIGH + IGLSingle pairstandardstandard
\n", "

2238 rows × 47 columns

\n", "
" ], "text/plain": [ " clone_id \\\n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCATATCGG B_VJ_186_2_8 \n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCCGTTGTC B_VDJ_129_4_2_VJ_142_2_3 \n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCGAGAACG B_VDJ_81_1_2_VJ_41_1_1 \n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCTTGAGAC B_VDJ_130_4_5_VJ_30_1_1 \n", "sc5p_v2_hs_PBMC_10k_AAACGGGAGCGACGTA B_VDJ_46_2_1_VJ_101_2_7 \n", "... ... \n", "vdj_v1_hs_pbmc3_TTTCCTCAGCAATATG B_VDJ_174_1_1_VJ_71_2_8 \n", "vdj_v1_hs_pbmc3_TTTCCTCAGCGCTTAT B_VDJ_93_5_6_VJ_153_1_3 \n", "vdj_v1_hs_pbmc3_TTTCCTCAGGGAAACA B_VDJ_83_1_1_VJ_83_4_13 \n", "vdj_v1_hs_pbmc3_TTTGCGCCATACCATG B_VDJ_38_7_2_VJ_160_3_5 \n", "vdj_v1_hs_pbmc3_TTTGGTTGTAGGCATG B_VDJ_144_5_4_VJ_79_3_2 \n", "\n", " clone_id_by_size sample_id \\\n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCATATCGG 169 sc5p_v2_hs_PBMC_10k \n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCCGTTGTC 1989 sc5p_v2_hs_PBMC_10k \n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCGAGAACG 1603 sc5p_v2_hs_PBMC_10k \n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCTTGAGAC 1604 sc5p_v2_hs_PBMC_10k \n", "sc5p_v2_hs_PBMC_10k_AAACGGGAGCGACGTA 1605 sc5p_v2_hs_PBMC_10k \n", "... ... ... \n", "vdj_v1_hs_pbmc3_TTTCCTCAGCAATATG 813 vdj_v1_hs_pbmc3 \n", "vdj_v1_hs_pbmc3_TTTCCTCAGCGCTTAT 814 vdj_v1_hs_pbmc3 \n", "vdj_v1_hs_pbmc3_TTTCCTCAGGGAAACA 815 vdj_v1_hs_pbmc3 \n", "vdj_v1_hs_pbmc3_TTTGCGCCATACCATG 816 vdj_v1_hs_pbmc3 \n", "vdj_v1_hs_pbmc3_TTTGGTTGTAGGCATG 2389 vdj_v1_hs_pbmc3 \n", "\n", " locus_VDJ locus_VJ productive_VDJ \\\n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCATATCGG None IGK None \n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCCGTTGTC IGH IGK T \n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCGAGAACG IGH IGL T \n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCTTGAGAC IGH IGK T \n", "sc5p_v2_hs_PBMC_10k_AAACGGGAGCGACGTA IGH IGL T \n", "... ... ... ... \n", "vdj_v1_hs_pbmc3_TTTCCTCAGCAATATG IGH IGK T \n", "vdj_v1_hs_pbmc3_TTTCCTCAGCGCTTAT IGH IGK T \n", "vdj_v1_hs_pbmc3_TTTCCTCAGGGAAACA IGH IGK T \n", "vdj_v1_hs_pbmc3_TTTGCGCCATACCATG IGH IGL T \n", "vdj_v1_hs_pbmc3_TTTGGTTGTAGGCATG IGH IGL T \n", "\n", " productive_VJ v_call_genotyped_VDJ \\\n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCATATCGG T None \n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCCGTTGTC T IGHV1-69 \n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCGAGAACG T IGHV1-2 \n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCTTGAGAC T IGHV5-51 \n", "sc5p_v2_hs_PBMC_10k_AAACGGGAGCGACGTA T IGHV4-4 \n", "... ... ... \n", "vdj_v1_hs_pbmc3_TTTCCTCAGCAATATG T IGHV2-5 \n", "vdj_v1_hs_pbmc3_TTTCCTCAGCGCTTAT T IGHV3-30 \n", "vdj_v1_hs_pbmc3_TTTCCTCAGGGAAACA T IGHV4-61 \n", "vdj_v1_hs_pbmc3_TTTGCGCCATACCATG T IGHV1-69 \n", "vdj_v1_hs_pbmc3_TTTGGTTGTAGGCATG T IGHV3-23 \n", "\n", " d_call_VDJ j_call_VDJ ... \\\n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCATATCGG None None ... \n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCCGTTGTC IGHD3-22 IGHJ3 ... \n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCGAGAACG None IGHJ3 ... \n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCTTGAGAC None IGHJ3 ... \n", "sc5p_v2_hs_PBMC_10k_AAACGGGAGCGACGTA IGHD6-13 IGHJ3 ... \n", "... ... ... ... \n", "vdj_v1_hs_pbmc3_TTTCCTCAGCAATATG IGHD5/OR15-5a IGHJ4 ... \n", "vdj_v1_hs_pbmc3_TTTCCTCAGCGCTTAT IGHD4-17 IGHJ6 ... \n", "vdj_v1_hs_pbmc3_TTTCCTCAGGGAAACA IGHD6-13 IGHJ2 ... \n", "vdj_v1_hs_pbmc3_TTTGCGCCATACCATG IGHD2-15 IGHJ6 ... \n", "vdj_v1_hs_pbmc3_TTTGGTTGTAGGCATG None IGHJ4 ... \n", "\n", " d_call_B_VDJ_main j_call_B_VDJ_main \\\n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCATATCGG None None \n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCCGTTGTC IGHD3-22 IGHJ3 \n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCGAGAACG None IGHJ3 \n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCTTGAGAC None IGHJ3 \n", "sc5p_v2_hs_PBMC_10k_AAACGGGAGCGACGTA IGHD6-13 IGHJ3 \n", "... ... ... \n", "vdj_v1_hs_pbmc3_TTTCCTCAGCAATATG IGHD5/OR15-5a IGHJ4 \n", "vdj_v1_hs_pbmc3_TTTCCTCAGCGCTTAT IGHD4-17 IGHJ6 \n", "vdj_v1_hs_pbmc3_TTTCCTCAGGGAAACA IGHD6-13 IGHJ2 \n", "vdj_v1_hs_pbmc3_TTTGCGCCATACCATG IGHD2-15 IGHJ6 \n", "vdj_v1_hs_pbmc3_TTTGGTTGTAGGCATG None IGHJ4 \n", "\n", " v_call_B_VJ_main j_call_B_VJ_main \\\n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCATATCGG IGKV1-33 IGKJ4 \n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCCGTTGTC IGKV1-8 IGKJ1 \n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCGAGAACG IGLV5-45 IGLJ3 \n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCTTGAGAC IGKV1D-8 IGKJ2 \n", "sc5p_v2_hs_PBMC_10k_AAACGGGAGCGACGTA IGLV3-19 IGLJ2 \n", "... ... ... \n", "vdj_v1_hs_pbmc3_TTTCCTCAGCAATATG IGKV4-1 IGKJ4 \n", "vdj_v1_hs_pbmc3_TTTCCTCAGCGCTTAT IGKV2-30 IGKJ2 \n", "vdj_v1_hs_pbmc3_TTTCCTCAGGGAAACA IGKV1-39 IGKJ1 \n", "vdj_v1_hs_pbmc3_TTTGCGCCATACCATG IGLV1-47 IGLJ3 \n", "vdj_v1_hs_pbmc3_TTTGGTTGTAGGCATG IGLV2-11 IGLJ2 \n", "\n", " isotype isotype_status locus_status \\\n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCATATCGG Orphan IGK \n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCCGTTGTC IgM IgM IGH + IGK \n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCGAGAACG IgM IgM IGH + IGL \n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCTTGAGAC IgM IgM IGH + IGK \n", "sc5p_v2_hs_PBMC_10k_AAACGGGAGCGACGTA IgM IgM IGH + IGL \n", "... ... ... ... \n", "vdj_v1_hs_pbmc3_TTTCCTCAGCAATATG IgM IgM IGH + IGK \n", "vdj_v1_hs_pbmc3_TTTCCTCAGCGCTTAT IgM IgM IGH + IGK \n", "vdj_v1_hs_pbmc3_TTTCCTCAGGGAAACA IgM IgM IGH + IGK \n", "vdj_v1_hs_pbmc3_TTTGCGCCATACCATG IgM IgM IGH + IGL \n", "vdj_v1_hs_pbmc3_TTTGGTTGTAGGCATG IgM IgM IGH + IGL \n", "\n", " chain_status rearrangement_status_VDJ \\\n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCATATCGG Orphan VJ None \n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCCGTTGTC Single pair standard \n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCGAGAACG Single pair standard \n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCTTGAGAC Single pair standard \n", "sc5p_v2_hs_PBMC_10k_AAACGGGAGCGACGTA Single pair standard \n", "... ... ... \n", "vdj_v1_hs_pbmc3_TTTCCTCAGCAATATG Single pair standard \n", "vdj_v1_hs_pbmc3_TTTCCTCAGCGCTTAT Single pair standard \n", "vdj_v1_hs_pbmc3_TTTCCTCAGGGAAACA Single pair standard \n", "vdj_v1_hs_pbmc3_TTTGCGCCATACCATG Single pair standard \n", "vdj_v1_hs_pbmc3_TTTGGTTGTAGGCATG Single pair standard \n", "\n", " rearrangement_status_VJ \n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCATATCGG standard \n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCCGTTGTC standard \n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCGAGAACG standard \n", "sc5p_v2_hs_PBMC_10k_AAACCTGTCTTGAGAC standard \n", "sc5p_v2_hs_PBMC_10k_AAACGGGAGCGACGTA standard \n", "... ... \n", "vdj_v1_hs_pbmc3_TTTCCTCAGCAATATG standard \n", "vdj_v1_hs_pbmc3_TTTCCTCAGCGCTTAT standard \n", "vdj_v1_hs_pbmc3_TTTCCTCAGGGAAACA standard \n", "vdj_v1_hs_pbmc3_TTTGCGCCATACCATG standard \n", "vdj_v1_hs_pbmc3_TTTGGTTGTAGGCATG standard \n", "\n", "[2238 rows x 47 columns]" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "vdj.metadata" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Alternative : Running `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 `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", "Again, `pp.calculate_threshold` will take a file path, pandas `DataFrame` or `Dandelion` object as input. If a `Dandelion` object is provided, the threshold value will be inserted into the `.threshold` slot. 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": 30, "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", " Threshold method 'density' did not return with any values. Switching to method = 'gmm'.\n" ] }, { "data": { "image/png": "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lH79+ilZWVll0l26dElp3ry5dudr/vz5ZdJkZmYqgwcP1vb173//2+6xnHGHEFC6d++uZGRklEhTVFSk3H333Vqam2++ucz+H3roIW3766+/rpjN5hLb8/Pzlfj4eLt3PXJycrQ7RT4+PsqiRYvKHGPhwoWKj4+Ptg9PukP4008/lbiuiouLy+Rfs2aNdvdz0KBBZbZb31UDlDfffLPEdrPZXObu0PDhw5W8vLwS6RYsWKBtf/zxx0tss75DyOU7cKdOnbJ7LoDi7++vbNiwoUSa/Px8pXPnztrdmfPnz9s9F3t3CC1/M2bMKFMX69ev1+5cBgcHK0VFRSW2jxw5Usv/4osvlsmfmJiovb/svWYVOX36tBIQEKAASkhIiLJp06Yyad58880Sx6jMHcKbbrpJu97//PPPMvs+c+aM0qBBAwVQGjVqVOY9VV4dK0r1XJN///vfy+xn//79ir+/v/ZZVroHwAcffKDl79atm5Kenl5ie0FBgTJo0CAtzbx580psa9++vXYdrFu3rkwZz507p1xzzTVa/pUrV5ZJI4SofhIQCiG8xieffGL3y7IzWH8BDA4Otts9cs6cOVq6J554wu7+UlNTlaioKAVQIiMjldzcXJvHckZA6Ovra/dL86VLl7QvpzqdTjl06JC2LTExUdHr9Tb3b62goEBp2rSpVjcFBQXatvfee08rR+lutdaef/55pwWEV/NXup7eeOMNbZt13ZTWvXt3BVBatmxZZpv1l+/bb7/dZn7regoJCbHZnbKoqEjx8/NTAKVPnz4ltpUOCG0FIoqiKDExMVqal19+2WaaV155RUuzfv16u+dSXkD44IMP2ty3oijKddddZ3Mfhw8f1oLF6667zm7+nTt3XlVA+Mwzz2h5v/jiC7vpxowZU6WAMDw8XAG1a649M2fO1PKfOHGixLaKAkJnX5MDBgywuw/rOli1apX2fHFxsdat19fX1245jhw5or2md955p/b83LlzHXoNEhIStPxDhw61m04IUX1kUhkhhNdIT0/XHpfX9fDMmTPaZBDl/ZU3mctdd91FbGyszW1fffUVoE728o9//MPuPqKiorjjjju0slfnxCojRozQJo8oLSAggEcffRQARVFYs2aNtm3u3LmYzWaAEl0+SzMajdqkFzk5OVp3N4BvvvkGAD8/PyZNmmR3H0899VSVuudVtx49ejB9+nRmzJhR7iRFlmVLioqKyt2fpXtgafXq1dMeDx482OY17OPjoz2fmppq9xhxcXFcc801NrdZX7d33nmnzTTWC6GXd5zylHftW3evtp6wZMmSJdrafo8//rjd/D169KBXr15VKhdcuSbr1avH/fffbzddedd8eSwTWyUmJnLu3DmbaR577DH27t3L3r17qVOnTqX27+xrsiqv1c8//8zp06cBuOmmm+yWo2XLllx77bX4+fmVmITIMjlSdHR0ua9B27Zt6d+/PwBbtmzR6lYI4ToyhlAI4TUsgQuoY2yqU7du3Ww+X1hYqM3s17lzZxo1alTufoYMGcLHH38MwK5duxgyZIhzC3rZgAEDyt0+cOBApk6dCqjjeiwss14aDAY6depU7j6svzj+9ddf9OvXj8LCQnbt2gWo4zPDw8Pt5o+NjaV169baWMWr0apVq0p9mX/xxRdL/KBgrX///toXUltMJhNr165l06ZNDh2ra9euNp+3zHAL6pdoe3Q6HQB5eXmVPoajx7Eco6Lj2BMQEEDbtm3tbo+MjNQeW8bZAiXGBfbr16/cY/Tp04dffvml0mU7ceIEZ8+eBdTAW6+3/9t39+7dCQoKIjc3t1LH6NmzJz///DOXLl2iV69e/Otf/2LUqFFERERoaUJCQujYsWOlyw/Ovybj4uLsbrP3Wm3fvl17fNNNN5W7f+sfiED9nPz1118B6NSpU7mvAaivw88//0xeXh5Hjhypcr0JIapGAkIhhNew/uJiPa1+aREREXz44Yc2tyUkJPDuu+9WeKygoCCbz584cUL7BdveHRpr1ndrUlJSKkxfVe3bty93u/XdQ+s7QocOHQLUL5gVfWmzZjmXxMRECgsLAUpMimFPixYtnBIQ1q9fn8cee8zh9K+99prdgNBCURT27NnDzz//rE2UkZiYyKlTpyq8A2PN+u6bPdZBW1U4cgxnHMee8PDwEkFladbbLHcEAU6dOgWok7xU9GNKRdvtsb5LVdE1qdPpaNasGfv27avUMWbPnk3//v3Jzs7m1KlTPPzww4wfP564uDgGDRrE4MGD6dev31VPJOWsa9I6UC3N3mtlXY/t2rWrVLmtPyc3btxY7rVSWnV+TgohbJOAUAjhNay/BB89etRuuqCgILvBwpIlSxwKCO2xXs/PkS/loaGh2uPK3oWAkl/QylPenbnS263vAlQUJNljWXfs4sWL2nOOzCAaHBxcpeNVt40bNzJ+/HhtVsfSmjZtSkFBAUlJSRXuy7IWYXVyxTHKYzQaq5TP8kNOaGhohUFCVc/RFddk165d2bVrF8899xw//vgjJpMJk8nErl272LVrF6+99hoRERE88MADvPzyy+UGZPY485qsyutlXY+O/gBhUdXPFaDCNQ2FEM4nAaEQwmtYd5P7448/UBSlUr88A3bH+zjKOkBzJFizHpNjHRw6yjp4K09FX/isuwVaB4eW+gsPD2fGjBkOl6tz584l8gMUFxdXmK8q3ROr25dfflliUfBGjRrRq1cv2rRpQ+vWrenWrRtt27ZlwIABDn35FvZZ7pg58r6t6thGV12Tbdq04fvvvyclJYWVK1eyYcMGNm3apI27y8jI4K233mL16tXs3LmzUoGnJ1yT1ncgAwICKpXX+jW49tpr7Y6rtUW6iwrhehIQCiG8RrNmzWjUqBGnT58mNTWVrVu32l2nzZ6qjEmyZv1Lv3WwZ49lLBOo3Rwry5FjAKSlpZW73ToQtu56GxkZyblz5zCbzZXqgmlrX9bnao+nBVSXLl1i8uTJgBqsfP3114wePdpmwOLo3Vphn+XHiMzMTPLz88u9C1heL4DyuPqarFOnDg888IAWwB06dIilS5fy1ltvceHCBRISEvjwww/LndjFmqdck9Y/HKWlpZU77rU069cgNja2Sp8tQgjXkVlGhRBe5a677tIel17wuiIXL15k+fLlV3X8Zs2aaV9iLZOplOenn37SHltPVGM9Xq+8uxh//fWXQ+WqaAyUdVmtxz526NABULvyVfTl+cSJEyxcuJCFCxdqAWazZs20cWoV1Ud+fn6lx2pVtx07dmjdgP/2t79x99132717JWObrp5lTJ/ZbOb333+3m05RFFatWlWlY1jfYapocftTp05V+nU9deoUixcvZvHixSW6VVq0adOGF154gY0bN2rPVWaGYU+5Jq3HDe7Zs6fctLfccgtNmzZl4MCBQMnPhQMHDlR4rJ07d2qfLY7c1RVCOJcEhEIIrzJ58mSt29miRYu0WTId8dJLL5GTk3NVxzcajVx33XUAHDlyRJtx1Jb8/Hz+97//Aeov5r1799a2Wf+CXt4diu+++86hcn3//fflbp83b5722Hp2R+vZSSvax8svv8w999zDPffco3Vl9fHxoU+fPgCcPHmyxMyEpS1btszjxgclJydrj8ubgOT48eMcPnzYFUWq0SzXCsBnn31mN92XX35Z5Tt39erV05ZI2LZtm9aF05b58+dXev9//PEHd911F3fddRcbNmywm65Dhw7ExMQAaBMvOcJTrklLcAfq2Gt7Tpw4wapVqzh58qS2vIb158LRo0fZv3+/3fzFxcXcfffd3HPPPTz33HP4+EjnNSFcTQJCIYRXadiwIc888wyg3kUYNWpUuXcaQL0bMW3aNN5//32nlOGRRx7RHk+ZMsXuL9rvvPOONonGAw88UGKcX4MGDbRf/devX28zUNqxYwcLFixwqExr165l9erVNrd9/fXX2vT01157rXZXENQ18yzlKm8mzvXr12tfnocMGULz5s21bdb18dxzz9msj4yMDF588UWHzsWVrLsA2wvuL126xIMPPlhi2RNRNaNHj9bG0s6dO9fmDx5bt27VukxWleWaNJlMdrtqnjhxgpkzZ1Z639ZjmT/55BO76RISErRxkNbvOSg55jc7O7vENk+5Jvv166cF1uUtcWG9/Itl3VWgRDfR5557zm731ldeeYUTJ04AMH78+KstthCiCiQgFEJ4nenTp2t3udLS0ujZsyePP/4427ZtK/FL/IULF5g/fz49evTg3//+N6B2wfLz87uq4999993aXcItW7Zw00038dtvv2nbU1JS+Ne//sU///lPQJ2h76WXXiqxj4iICO2OYUpKCqNHj+bYsWOAGjx9/PHH2tpf9pbAKG3UqFG8//772hfMrKwsXn/9dR566CEtzfTp00vkiY2N5eWXXwbgzJkzDBgwgJ9//ln7opmens7s2bMZPnw4iqLg6+vLm2++WWIfd9xxh/Z6bN26lWHDhpXoYvbrr78yYMAAjh8/XqWJdarT9ddfr9XvggUL+M9//qMF5xkZGXz++edcc801bNq0SZsUJC0tjYKCAgkQqyA4OFi7fsxmM6NHj2bEiBHMmjWL//znP4wYMYL+/ftz8eLFchdkr8jjjz+u5V+0aBHx8fHamERFUVizZg0DBgzg4sWLlb4mGzduzA033ADAmjVruPvuu0t0hc7JyeHrr7/mpptuQlEUDAZDmUlVGjZsqD1+6qmneO+991i/fj3gOdekTqdj1qxZ2v/vuOMOFi5cqE02c/78eSZMmMCyZcsAdYH5kSNHaulHjhyprbu6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" }, "metadata": { "image/png": { "height": 250, "width": 450 } }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ " finished: Updated Dandelion object: \n", " 'threshold', threshold value for tuning clonal assignment\n", " (0:01:24)\n" ] } ], "source": [ "ddl.pp.calculate_threshold(vdj)" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "np.float64(0.26535373487471386)" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# see the actual value in .threshold slot\n", "vdj.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. You can just edit `vdj.threshold` directly if you wish, i.e. `vdj.threshold = 0.1`." ] }, { "cell_type": "code", "execution_count": 32, "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" ] }, { "data": { "image/png": "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z3/+w+2332737pWMbbpy5jF9JpOJP//80246RVFYsWJFuY5heYeptMXtU1NTy/y6pqamsnDhQhYuXGjVrdKsZcuWPP/886xfv157riwzDHvLNWk5bnDXrl0O09544400atSIfv36AdbvC/v27Sv1WL///rv23uLMXV0hhGtJQCiE8Cnjx4/Xup0tWLBAmyXTGS+99BK5ublXdPygoCCuu+46AJKSkrQZR225ePEiP/30E6B+Y96tWzdtm+U36I7uUHz//fdOlevHH390uH3OnDnaY8vZHS1nJy0tj5dffpk77riDO+64Q+vKGhAQQI8ePQA4cuSI1cyExS1evNjrxgelpaVpjx1NQHL48GEOHjzojiJVauZrBeCLL76wm+6rr74q95272rVra0skbN26VevCacvcuXPLnP9ff/3Fbbfdxm233ca6devspmvbti0xMTEA2sRLzvCWa9Ic3IE69tqelJQUVqxYwZEjR7TlNSzfFw4dOsTevXvt7l9UVMTtt9/OHXfcwbPPPktAgHReE8LdJCAUQviUevXq8dRTTwHqXYQRI0Y4vNMA6t2ISZMm8eGHH7qkDPfff7/2eMKECXa/0X7vvfe0STTGjh1rNc6vbt262rf+a9eutRkobd++nXnz5jlVptWrV7Ny5Uqb27755httevprr71WuysI6pp55nI5molz7dq12ofngQMH0qRJE22bZX08++yzNusjKyuLF1980alzcSfLLsD2gvvz589zzz33WC17IsonPj5eG0s7e/Zsm194bNmyResyWV7ma9JoNNrtqpmSksLUqVPLnLflWObPPvvMbrrExERtHKTl/xxYj/nNycmx2uYt12SvXr20wNrREheWy7+Y110FrLqJPvvss3a7t7722mukpKQA8OCDD15psYUQ5SABoRDC50yePFm7y3XmzBm6dOnCo48+ytatW62+iT99+jRz586lc+fOvPrqq4DaBSs4OPiKjn/77bdrdwk3b97M4MGD+eOPP7Tt6enpvPLKK7zwwguAOkPfSy+9ZJVHjRo1tDuG6enpxMfH8++//wJq8PTpp59qa3/ZWwKjuBEjRvDhhx9qHzDPnTvHW2+9xb333qulmTx5stU+sbGxvPzyywAcO3aMvn37smHDBu2DZmZmJjNmzGDo0KEoikJgYCDTpk2zymPkyJHa67FlyxaGDBli1cXs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" }, "metadata": { "image/png": { "height": 250, "width": 450 } }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ " finished: Updated Dandelion object: \n", " 'threshold', threshold value for tuning clonal assignment\n", " (0:00:04)\n" ] } ], "source": [ "ddl.pp.calculate_threshold(vdj, manual_threshold=0.1)" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.1" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# see the updated .threshold slot\n", "vdj.threshold" ] }, { "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. Note, if a `pandas.DataFrame` or file path is provided as the input, the value in dist option (corresponds to threshold value) needs to be manually supplied. If a `Dandelion` object is provided, it will automatically retrieve it from the threshold slot. 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": 34, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Finding clones\n", "Running command: DefineClones.py -d /var/folders/_r/j_8_fj3x28n2th3ch0ckn9c40000gt/T/tmpgr2ignig/tmp/dandelion_define_clones_heavy-clone.tsv -o /var/folders/_r/j_8_fj3x28n2th3ch0ckn9c40000gt/T/tmpgr2ignig/dandelion_define_clones_heavy-clone.tsv --act set --model ham --norm len --dist 0.1 --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.1\n", " LINKAGE> single\n", " MODEL> ham\n", " NORM> len\n", " SYM> avg\n", " NPROC> 1\n", "\n", "PROGRESS> [Grouping sequences] 16:11:14 (2178) 0.0 min\n", "\n", "PROGRESS> [Assigning clones] 16:11:16 |####################| 100% (2,178) 0.0 min\n", "\n", " OUTPUT> dandelion_define_clones_heavy-clone.tsv\n", " CLONES> 2118\n", "RECORDS> 2178\n", " PASS> 2178\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:07)\n" ] }, { "data": { "text/plain": [ "Dandelion class object with n_obs = 2238 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: 'clone_id', 'clone_id_by_size', 'sample_id', 'locus_VDJ', 'locus_VJ', 'productive_VDJ', 'productive_VJ', 'v_call_genotyped_VDJ', 'd_call_VDJ', 'j_call_VDJ', 'v_call_genotyped_VJ', 'j_call_VJ', 'c_call_VDJ', 'c_call_VJ', 'junction_VDJ', 'junction_VJ', 'junction_aa_VDJ', 'junction_aa_VJ', 'v_call_genotyped_B_VDJ', 'd_call_B_VDJ', 'j_call_B_VDJ', 'v_call_genotyped_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', 'changeo_clone_id'" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ddl.tl.define_clones(vdj, key_added=\"changeo_clone_id\")\n", "vdj" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that I specified the option `key_added` and this adds the output from `tl.define_clones` into a separate column. If left as default (`None`), it will write into `clone_id` column. The same option can be specified in `tl.find_clones` earlier." ] }, { "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). This uses the full V(D)J contig sequences instead of just the junctional sequences to chart a tree-like network for each clone. 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.\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 a *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." ] }, { "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": 35, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Dandelion class object with n_obs = 2112 and n_contigs = 5052\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: 'clone_id', 'clone_id_by_size', 'sample_id', 'locus_VDJ', 'locus_VJ', 'productive_VDJ', 'productive_VJ', 'v_call_genotyped_VDJ', 'd_call_VDJ', 'j_call_VDJ', 'v_call_genotyped_VJ', 'j_call_VJ', 'c_call_VDJ', 'c_call_VJ', 'junction_VDJ', 'junction_VJ', 'junction_aa_VDJ', 'junction_aa_VJ', 'v_call_genotyped_B_VDJ', 'd_call_B_VDJ', 'j_call_B_VDJ', 'v_call_genotyped_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', 'changeo_clone_id'" ] }, "execution_count": 35, "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": 36, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Generating network\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Setting up data: 4424it [00:00, 7756.14it/s]\n", "Calculating distances : 100%|██████████| 2313/2313 [00:00<00:00, 9523.15it/s]\n", "Aggregating distances : 100%|██████████| 5/5 [00:00<00:00, 126.71it/s]\n", "Sorting into clusters : 100%|██████████| 2313/2313 [00:00<00:00, 4563.84it/s]\n", "Calculating minimum spanning tree : 100%|██████████| 35/35 [00:00<00:00, 1223.91it/s]\n", "Generating edge list : 100%|██████████| 35/35 [00:00<00:00, 4550.12it/s]\n", "Computing overlap : 100%|██████████| 2313/2313 [00:00<00:00, 2455.89it/s]\n", "Adjust overlap : 100%|██████████| 143/143 [00:00<00:00, 4625.55it/s]\n", "Linking edges : 100%|██████████| 2062/2062 [00:00<00:00, 52032.94it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Computing network layout\n", "Computing expanded network layout\n", " finished: Updated Dandelion object: \n", " 'data', contig-indexed AIRR table\n", " 'metadata', cell-indexed observations table\n", " 'layout', graph layout\n", " 'graph', network constructed from distance matrices of VDJ- and VJ- chains (0:00:04)\n" ] } ], "source": [ "ddl.tl.generate_network(vdj)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In `dandelion` version `>=0.2.2`, the default `layout_method` is changed to `sfdp`, which is implemented through `graph-tool` [package](https://graph-tool.skewed.de/). This is significantly faster than the default modified Fruchterman-Reingold layout which while will work reasonably fast here, it will take quite a while when a lot of contigs are provided (>100k cells may take 1 hour). You can toggle this behaviour with:\n", "\n", "```python\n", "ddl.tl.generate_network(vdj, layout_method = 'mod_fr') # for the original\n", "ddl.tl.generate_network(vdj, layout_method = 'sfdp') # for sfdp\n", "```\n", "\n", "
\n", "\n", "Generating graph without layout\n", "\n", "If you don't care for the layout and simply want access to the network/graph, you can do:\n", "
\n", "```python\n", "ddl.tl.generate_network(vdj, compute_layout = False)\n", "```\n", "
\n", "and use the networkx graphs in the graph slot and compute your own layout as you wish.\n", "\n", "In previous versions of dandelion, it used to be possible to generate the entire distance matrix for every pair of cell but this functionality was removed because it was too time consuming. If you are after this, please reach out to me and we can try and see if we can reimplement it!\n", " \n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### down sampling data/graph\n", "\n", "You can also downsample the number of cells. This will return a new object as a downsampled copy of the original with its own distance matrix. We will add `use_existing_graph=False` for this to work (otherwise it will just reuse the previous graph to recompute a layout; it will throw an error as it doesn't know what to do with downsampling)." ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Generating network\n", "Downsampling to 500 cells.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Setting up data: 1040it [00:00, 8537.89it/s]\n", "Calculating distances : 100%|██████████| 549/549 [00:00<00:00, 15436.98it/s]\n", "Aggregating distances : 100%|██████████| 4/4 [00:00<00:00, 1448.68it/s]\n", "Sorting into clusters : 100%|██████████| 549/549 [00:00<00:00, 7272.88it/s]\n", "Calculating minimum spanning tree : 100%|██████████| 3/3 [00:00<00:00, 987.51it/s]\n", "Generating edge list : 100%|██████████| 3/3 [00:00<00:00, 3541.49it/s]\n", "Computing overlap : 100%|██████████| 549/549 [00:00<00:00, 4610.85it/s]\n", "Adjust overlap : 100%|██████████| 33/33 [00:00<00:00, 4357.65it/s]\n", "Linking edges : 100%|██████████| 494/494 [00:00<00:00, 126117.61it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Computing network layout\n", "Computing expanded network layout\n", " finished: Updated Dandelion object: \n", " 'data', contig-indexed AIRR table\n", " 'metadata', cell-indexed observations table\n", " 'layout', graph layout\n", " 'graph', network constructed from distance matrices of VDJ- and VJ- chains (0:00:01)\n" ] }, { "data": { "text/plain": [ "Dandelion class object with n_obs = 500 and n_contigs = 1040\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: 'clone_id', 'clone_id_by_size', 'sample_id', 'locus_VDJ', 'locus_VJ', 'productive_VDJ', 'productive_VJ', 'v_call_genotyped_VDJ', 'd_call_VDJ', 'j_call_VDJ', 'v_call_genotyped_VJ', 'j_call_VJ', 'c_call_VDJ', 'c_call_VJ', 'junction_VDJ', 'junction_VJ', 'junction_aa_VDJ', 'junction_aa_VJ', 'v_call_genotyped_B_VDJ', 'd_call_B_VDJ', 'j_call_B_VDJ', 'v_call_genotyped_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', 'changeo_clone_id'\n", " layout: layout for 500 vertices, layout for 9 vertices\n", " graph: networkx graph of 500 vertices, networkx graph of 9 vertices " ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "vdj_downsample = ddl.tl.generate_network(\n", " vdj, downsample=500, use_existing_graph=False\n", ")\n", "vdj_downsample" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "check the newly re-initialized Dandelion object" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Dandelion class object with n_obs = 2112 and n_contigs = 5052\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: 'clone_id', 'clone_id_by_size', 'sample_id', 'locus_VDJ', 'locus_VJ', 'productive_VDJ', 'productive_VJ', 'v_call_genotyped_VDJ', 'd_call_VDJ', 'j_call_VDJ', 'v_call_genotyped_VJ', 'j_call_VJ', 'c_call_VDJ', 'c_call_VJ', 'junction_VDJ', 'junction_VJ', 'junction_aa_VDJ', 'junction_aa_VJ', 'v_call_genotyped_B_VDJ', 'd_call_B_VDJ', 'j_call_B_VDJ', 'v_call_genotyped_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', 'changeo_clone_id'\n", " layout: layout for 2112 vertices, layout for 71 vertices\n", " graph: networkx graph of 2112 vertices, networkx graph of 71 vertices " ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "vdj" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The graph/networks can be accessed through the `.graph` slot as an [networkx](https://networkx.org/) graph object if you want to extract the data for network statistics or make any changes to the network." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "At this point, we can save the dandelion object." ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [], "source": [ "vdj.write_h5ddl(\"dandelion_results_simplified.h5ddl\", compression=\"gzip\")" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Dandelion class object with n_obs = 2238 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_genotyped_VDJ', 'd_call_VDJ', 'j_call_VDJ', 'v_call_genotyped_VJ', 'j_call_VJ', 'c_call_VDJ', 'c_call_VJ', 'junction_VDJ', 'junction_VJ', 'junction_aa_VDJ', 'junction_aa_VJ', 'v_call_genotyped_B_VDJ', 'd_call_B_VDJ', 'j_call_B_VDJ', 'v_call_genotyped_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": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# let's also transfer the new slots to the original files\n", "vdj_original = ddl.read_h5ddl(\"dandelion_results.h5ddl\")\n", "vdj_original" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Dandelion class object with n_obs = 2238 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: 'clone_id', 'clone_id_by_size', 'sample_id', 'locus_VDJ', 'locus_VJ', 'productive_VDJ', 'productive_VJ', 'v_call_genotyped_VDJ', 'd_call_VDJ', 'j_call_VDJ', 'v_call_genotyped_VJ', 'j_call_VJ', 'c_call_VDJ', 'c_call_VJ', 'junction_VDJ', 'junction_VJ', 'junction_aa_VDJ', 'junction_aa_VJ', 'v_call_genotyped_B_VDJ', 'd_call_B_VDJ', 'j_call_B_VDJ', 'v_call_genotyped_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', 'changeo_clone_id'\n", " layout: layout for 2112 vertices, layout for 71 vertices\n", " graph: networkx graph of 2112 vertices, networkx graph of 71 vertices " ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "vdj_original.metadata = vdj.metadata.copy()\n", "vdj_original.layout = vdj.layout\n", "vdj_original.graph = vdj.graph\n", "vdj_original" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [], "source": [ "# save\n", "vdj_original.write_h5ddl(\"dandelion_results.h5ddl\", compression=\"gzip\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "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.11.11" } }, "nbformat": 4, "nbformat_minor": 4 }