# HG changeset patch # User davidvanzessen # Date 1614260175 0 # Node ID 124b7fd92a3e7a9d9520acd1df970e7c43e8e730 # Parent e35b82f31ec723d43d0b1dc809787a2b3aadd938 Uploaded diff -r e35b82f31ec7 -r 124b7fd92a3e .gitattributes --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/.gitattributes Thu Feb 25 13:36:15 2021 +0000 @@ -0,0 +1,2 @@ +# Auto detect text files and perform LF normalization +* text=auto diff -r e35b82f31ec7 -r 124b7fd92a3e .gitignore --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/.gitignore Thu Feb 25 13:36:15 2021 +0000 @@ -0,0 +1,2 @@ + +argalaxy\.tar\.gz diff -r e35b82f31ec7 -r 124b7fd92a3e LICENSE --- a/LICENSE Thu Aug 08 07:40:36 2019 -0400 +++ b/LICENSE Thu Feb 25 13:36:15 2021 +0000 @@ -1,21 +1,21 @@ -MIT License - -Copyright (c) 2018 David van Zessen - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +MIT License + +Copyright (c) 2018 David van Zessen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff -r e35b82f31ec7 -r 124b7fd92a3e README.md --- a/README.md Thu Aug 08 07:40:36 2019 -0400 +++ b/README.md Thu Feb 25 13:36:15 2021 +0000 @@ -1,123 +1,123 @@ -# ARGalaxy Immune Repertoire -This is the GitHub repository for the ARGalaxy Immune repertoire pipeline. -The Galaxy tool version can be found [here](https://toolshed.g2.bx.psu.edu/repository/browse_repositories_i_own?sort=name&operation=view_or_manage_repository&id=2e457d63170a4b1c). -The docker version can be found [here](https://github.com/ErasmusMC-Bioinformatics/ARGalaxy-docker). - -## Overview - -In execution order: - -#### imgt_loader or igblast - -###### imgt_loader (Recommended) -Start the analysis with [IMGT HighV Quest](https://www.imgt.org/HighV-QUEST/) archives. -An IMGT archive file holds [multiple tabular files](http://www.imgt.org/IMGT_vquest/share/textes/imgtvquest.html#output3), this script extracts the specific columns relevant to the analysis from several of these files. - -`Rscript imgt_loader.r 1_Summary.txt 3_Nt-sequences.txt 5_AA-sequences.txt 6_Junction.txt 4_IMGT-gapped-AA-sequences.txt /path/to/output.txt` - - -###### igblast -Start the analysis with FASTA files that are aligned with [igblast](https://www.ncbi.nlm.nih.gov/igblast/). -Note that this method will provide less information than the IMGT archive. - -`sh igblast.sh /path/to/sequences.fasta species locus /path/to/output.txt` - -#### experimental_design -This script will merge multiple result files (from the last step) into a single file with an additional ID and Replicate column to differentiate the individual samples during the analysis and to allow for analysis across samples. - -`Rscript experimental_design.r /path/to/input_1 id_1 [/path/to/input_2 id_2] [/path/to/input_n id_n] /path/to/output` - -#### report_clonality -The R script that creates the analysis result. - -`sh r_wrapper.sh /path/to/experimental_design/output.txt /path/to/output_dir/output.html /path/to/output_dir "clonaltype" "species" "locus" "filter_productive" "clonality_method"` - -###### parameters -Clonaltype: -- none -- Top.V.Gene,CDR3.Seq -- Top.V.Gene,CDR3.Seq.DNA -- Top.V.Gene,Top.J.Gene,CDR3.Seq -- Top.V.Gene,Top.J.Gene,CDR3.Seq.DNA -- Top.V.Gene,Top.D.Gene,Top.J.Gene,CDR3.Seq.DNA - -Species: -- Homo sapiens functional -- Homo sapiens -- Homo sapiens non-functional -- Bos taurus -- Bos taurus functional -- Bos taurus non-functional -- Camelus dromedarius -- Camelus dromedarius functional -- Camelus dromedarius non-functional -- Canis lupus familiaris -- Canis lupus familiaris functional -- Canis lupus familiaris non-functional -- Danio rerio -- Danio rerio functional -- Danio rerio non-functional -- Macaca mulatta -- Macaca mulatta functional -- Macaca mulatta non-functional -- Mus musculus -- Mus musculus functional -- Mus musculus non-functional -- Mus spretus -- Mus spretus functional -- Mus spretus non-functional -- Oncorhynchus mykiss -- Oncorhynchus mykiss functional -- Oncorhynchus mykiss non-functional -- Ornithorhynchus anatinus -- Ornithorhynchus anatinus functional -- Ornithorhynchus anatinus non-functional -- Oryctolagus cuniculus -- Oryctolagus cuniculus functional -- Oryctolagus cuniculus non-functional -- Rattus norvegicus -- Rattus norvegicus functional -- Rattus norvegicus non-functional -- Sus scrofa -- Sus scrofa functional -- Sus scrofa non-functional - -Locus: -- TRA -- TRD -- TRG -- TRB -- IGH -- IGI -- IGK -- IGL - -Filter productive: -- yes -- no - -Clonality Method: -- none -- old -- boyd - -## complete.sh -This script will run all of the above for you, it will detect if you are using FASTA files or IMGT archives and use the appropriate tools. - -`sh complete.sh /path/to/input_1 id_1 [/path/to/input_n id_n] /path/to/out_dir/out.html /path/to/out_dir clonaltype species locus filter_productive clonality_method` -See "report_clonality" for the parameter options. - -## Dependencies -- Linux -- R - - gridExtra - - ggplot2 - - plyr - - data.table - - reshape2 - - lymphclon - -#### optional -- Circos -- IgBlast -- igblastwrp +# ARGalaxy Immune Repertoire +This is the GitHub repository for the ARGalaxy Immune repertoire pipeline. +The Galaxy tool version can be found [here](https://toolshed.g2.bx.psu.edu/repository/browse_repositories_i_own?sort=name&operation=view_or_manage_repository&id=2e457d63170a4b1c). +The docker version can be found [here](https://github.com/ErasmusMC-Bioinformatics/ARGalaxy-docker). + +## Overview + +In execution order: + +#### imgt_loader or igblast + +###### imgt_loader (Recommended) +Start the analysis with [IMGT HighV Quest](https://www.imgt.org/HighV-QUEST/) archives. +An IMGT archive file holds [multiple tabular files](http://www.imgt.org/IMGT_vquest/share/textes/imgtvquest.html#output3), this script extracts the specific columns relevant to the analysis from several of these files. + +`Rscript imgt_loader.r 1_Summary.txt 3_Nt-sequences.txt 5_AA-sequences.txt 6_Junction.txt 4_IMGT-gapped-AA-sequences.txt /path/to/output.txt` + + +###### igblast +Start the analysis with FASTA files that are aligned with [igblast](https://www.ncbi.nlm.nih.gov/igblast/). +Note that this method will provide less information than the IMGT archive. + +`sh igblast.sh /path/to/sequences.fasta species locus /path/to/output.txt` + +#### experimental_design +This script will merge multiple result files (from the last step) into a single file with an additional ID and Replicate column to differentiate the individual samples during the analysis and to allow for analysis across samples. + +`Rscript experimental_design.r /path/to/input_1 id_1 [/path/to/input_2 id_2] [/path/to/input_n id_n] /path/to/output` + +#### report_clonality +The R script that creates the analysis result. + +`sh r_wrapper.sh /path/to/experimental_design/output.txt /path/to/output_dir/output.html /path/to/output_dir "clonaltype" "species" "locus" "filter_productive" "clonality_method"` + +###### parameters +Clonaltype: +- none +- Top.V.Gene,CDR3.Seq +- Top.V.Gene,CDR3.Seq.DNA +- Top.V.Gene,Top.J.Gene,CDR3.Seq +- Top.V.Gene,Top.J.Gene,CDR3.Seq.DNA +- Top.V.Gene,Top.D.Gene,Top.J.Gene,CDR3.Seq.DNA + +Species: +- Homo sapiens functional +- Homo sapiens +- Homo sapiens non-functional +- Bos taurus +- Bos taurus functional +- Bos taurus non-functional +- Camelus dromedarius +- Camelus dromedarius functional +- Camelus dromedarius non-functional +- Canis lupus familiaris +- Canis lupus familiaris functional +- Canis lupus familiaris non-functional +- Danio rerio +- Danio rerio functional +- Danio rerio non-functional +- Macaca mulatta +- Macaca mulatta functional +- Macaca mulatta non-functional +- Mus musculus +- Mus musculus functional +- Mus musculus non-functional +- Mus spretus +- Mus spretus functional +- Mus spretus non-functional +- Oncorhynchus mykiss +- Oncorhynchus mykiss functional +- Oncorhynchus mykiss non-functional +- Ornithorhynchus anatinus +- Ornithorhynchus anatinus functional +- Ornithorhynchus anatinus non-functional +- Oryctolagus cuniculus +- Oryctolagus cuniculus functional +- Oryctolagus cuniculus non-functional +- Rattus norvegicus +- Rattus norvegicus functional +- Rattus norvegicus non-functional +- Sus scrofa +- Sus scrofa functional +- Sus scrofa non-functional + +Locus: +- TRA +- TRD +- TRG +- TRB +- IGH +- IGI +- IGK +- IGL + +Filter productive: +- yes +- no + +Clonality Method: +- none +- old +- boyd + +## complete.sh +This script will run all of the above for you, it will detect if you are using FASTA files or IMGT archives and use the appropriate tools. + +`sh complete.sh /path/to/input_1 id_1 [/path/to/input_n id_n] /path/to/out_dir/out.html /path/to/out_dir clonaltype species locus filter_productive clonality_method` +See "report_clonality" for the parameter options. + +## Dependencies +- Linux +- R + - gridExtra + - ggplot2 + - plyr + - data.table + - reshape2 + - lymphclon + +#### optional +- Circos +- IgBlast +- igblastwrp diff -r e35b82f31ec7 -r 124b7fd92a3e complete.sh --- a/complete.sh Thu Aug 08 07:40:36 2019 -0400 +++ b/complete.sh Thu Feb 25 13:36:15 2021 +0000 @@ -1,72 +1,72 @@ -#!/bin/bash -set -e -inputFiles=($1) -outputDir=$3 -outputFile=$3/index.html #$1 -clonalType=$4 -species=$5 -locus=$6 -filterproductive=$7 -clonality_method=$8 - -html=$2 -dir="$(cd "$(dirname "$0")" && pwd)" -array=("$@") -echo "

Progress

" > $html -echo "" >> $html - -#mkdir $PWD/igblastdatabase -#unzip $dir/database.zip -d $PWD/igblastdatabase/ -#export IGDATA=$PWD/igblastdatabase/ - -echo "python: `which python`" -echo "R: `which R`" -echo "Rscript: `which Rscript`" - -id="" -forwardSlash="/" -mergerInput=() -echo "Before loop" -count=1 -for current in "${inputFiles[@]}" -do - if [[ "$current" != *"$forwardSlash"* ]]; then - id="$current" - mergerInput+=($id) - count=1 - continue - fi - echo "working on $current" - fileName=$(basename $current) - fileName="${fileName%.*}" - parsedFileName="$PWD/$fileName.parsed" - f=$(file $current) - zipType="Zip archive" - zxType="XZ compressed data" - echo "filetype of ${id}: $f" - if [[ "$f" == *"$zipType"* ]] || [[ "$f" == *"$zxType"* ]] - then - echo "" >> $html - fileName=$(basename $current) - bash ${dir}/imgt_loader/imgt_loader.sh $current $parsedFileName "${fileName}" - else - echo "" >> $html - bash ${dir}/igblast/igblast.sh $current "$species" $locus $parsedFileName - fi - mergerInput+=($parsedFileName) - count=$((count+1)) -done - -echo "" >> $html -echo "" >> $html - -bash $dir/experimental_design/experimental_design.sh ${mergerInput[*]} $PWD/merged.txt - -echo "" >> $html -echo "" >> $html -echo "" >> $html - -echo "after ED" - -bash $dir/report_clonality/r_wrapper.sh $PWD/merged.txt $2 $outputDir $clonalType "$species" "$locus" $filterproductive $clonality_method - +#!/bin/bash +set -e +inputFiles=($1) +outputDir=$3 +outputFile=$3/index.html #$1 +clonalType=$4 +species=$5 +locus=$6 +filterproductive=$7 +clonality_method=$8 + +html=$2 +dir="$(cd "$(dirname "$0")" && pwd)" +array=("$@") +echo "

Progress

info
-----------------------------------
Sample $count of patient $id is an archive file, using IMGT Loader
Sample $count of patient $id is not a zip file so assuming fasta/fastq, using igBLASTn
-----------------------------------
merging
done
-----------------------------------
plotting
" > $html +echo "" >> $html + +#mkdir $PWD/igblastdatabase +#unzip $dir/database.zip -d $PWD/igblastdatabase/ +#export IGDATA=$PWD/igblastdatabase/ + +echo "python: `which python`" +echo "R: `which R`" +echo "Rscript: `which Rscript`" + +id="" +forwardSlash="/" +mergerInput=() +echo "Before loop" +count=1 +for current in "${inputFiles[@]}" +do + if [[ "$current" != *"$forwardSlash"* ]]; then + id="$current" + mergerInput+=($id) + count=1 + continue + fi + echo "working on $current" + fileName=$(basename $current) + fileName="${fileName%.*}" + parsedFileName="$PWD/$fileName.parsed" + f=$(file $current) + zipType="Zip archive" + zxType="XZ compressed data" + echo "filetype of ${id}: $f" + if [[ "$f" == *"$zipType"* ]] || [[ "$f" == *"$zxType"* ]] + then + echo "" >> $html + fileName=$(basename $current) + bash ${dir}/imgt_loader/imgt_loader.sh $current $parsedFileName "${fileName}" + else + echo "" >> $html + bash ${dir}/igblast/igblast.sh $current "$species" $locus $parsedFileName + fi + mergerInput+=($parsedFileName) + count=$((count+1)) +done + +echo "" >> $html +echo "" >> $html + +bash $dir/experimental_design/experimental_design.sh ${mergerInput[*]} $PWD/merged.txt + +echo "" >> $html +echo "" >> $html +echo "" >> $html + +echo "after ED" + +bash $dir/report_clonality/r_wrapper.sh $PWD/merged.txt $2 $outputDir $clonalType "$species" "$locus" $filterproductive $clonality_method + diff -r e35b82f31ec7 -r 124b7fd92a3e complete_immunerepertoire.xml --- a/complete_immunerepertoire.xml Thu Aug 08 07:40:36 2019 -0400 +++ b/complete_immunerepertoire.xml Thu Feb 25 13:36:15 2021 +0000 @@ -1,199 +1,199 @@ - - - r-gridextra - r-ggplot2 - r-plyr - r-data.table - r-reshape2 - r-lymphclon - r-stringi - r-stringr - circos - circos-tools - - - -complete.sh " -#for $i, $f in enumerate($patients) - "${f.id}" - #for $j, $g in enumerate($f.samples) - ${g.sample} - #end for -#end for -" $out_file $out_file.files_path "$clonaltype" -#if $gene_selection.source == "imgtdb" - "${gene_selection.species}" "${gene_selection.locus}" $filterproductive ${clonality_method} -#else - "custom" "${gene_selection.vgenes};${gene_selection.dgenes};${gene_selection.jgenes}" $filterproductive $clonality_method -#end if - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - igblastwrp - weblogo - - - - - - - + + + r-gridextra + r-ggplot2 + r-plyr + r-data.table + r-reshape2 + r-lymphclon + r-stringi + r-stringr + circos + circos-tools + + + +complete.sh " +#for $i, $f in enumerate($patients) + "${f.id}" + #for $j, $g in enumerate($f.samples) + ${g.sample} + #end for +#end for +" $out_file $out_file.files_path "$clonaltype" +#if $gene_selection.source == "imgtdb" + "${gene_selection.species}" "${gene_selection.locus}" $filterproductive ${clonality_method} +#else + "custom" "${gene_selection.vgenes};${gene_selection.dgenes};${gene_selection.jgenes}" $filterproductive $clonality_method +#end if + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + igblastwrp + weblogo + + + + + + + diff -r e35b82f31ec7 -r 124b7fd92a3e experimental_design/experimental_design.r --- a/experimental_design/experimental_design.r Thu Aug 08 07:40:36 2019 -0400 +++ b/experimental_design/experimental_design.r Thu Feb 25 13:36:15 2021 +0000 @@ -1,43 +1,43 @@ -args <- commandArgs(trailingOnly = TRUE) - -print(args) - -inputs = args[1:(length(args) - 1)] -output = args[length(args)] - -current.id = "" -counter = 1 - -result = NULL - -for(current in inputs){ - if(grepl("/", current)){ #its a path to a file - print(paste("Adding file", counter, "to", current.id)) - dat = read.table(current, sep="\t", header=T, quote="", fill=T) - - if(nrow(dat) == 0){ - print(paste(counter, "of", current.id, "has no sequences, skipping")) - next - } - - #IMGT check - - dat$Sample = current.id - dat$Replicate = counter - - if(is.null(result)){ - result = dat[NULL,] - } - - result = rbind(result, dat) - - counter = counter + 1 - - } else { #its an ID of a patient - print(paste("New patient", current)) - current.id = current - counter = 1 - } -} - -write.table(result, output, sep="\t", quote=F, row.names=F, col.names=T) +args <- commandArgs(trailingOnly = TRUE) + +print(args) + +inputs = args[1:(length(args) - 1)] +output = args[length(args)] + +current.id = "" +counter = 1 + +result = NULL + +for(current in inputs){ + if(grepl("/", current)){ #its a path to a file + print(paste("Adding file", counter, "to", current.id)) + dat = read.table(current, sep="\t", header=T, quote="", fill=T) + + if(nrow(dat) == 0){ + print(paste(counter, "of", current.id, "has no sequences, skipping")) + next + } + + #IMGT check + + dat$Sample = current.id + dat$Replicate = counter + + if(is.null(result)){ + result = dat[NULL,] + } + + result = rbind(result, dat) + + counter = counter + 1 + + } else { #its an ID of a patient + print(paste("New patient", current)) + current.id = current + counter = 1 + } +} + +write.table(result, output, sep="\t", quote=F, row.names=F, col.names=T) diff -r e35b82f31ec7 -r 124b7fd92a3e experimental_design/experimental_design.sh --- a/experimental_design/experimental_design.sh Thu Aug 08 07:40:36 2019 -0400 +++ b/experimental_design/experimental_design.sh Thu Feb 25 13:36:15 2021 +0000 @@ -1,4 +1,4 @@ - -dir="$(cd "$(dirname "$0")" && pwd)" - -Rscript --verbose $dir/experimental_design.r $@ 2>&1 + +dir="$(cd "$(dirname "$0")" && pwd)" + +Rscript --verbose $dir/experimental_design.r $@ 2>&1 diff -r e35b82f31ec7 -r 124b7fd92a3e igblast/igblast.r --- a/igblast/igblast.r Thu Aug 08 07:40:36 2019 -0400 +++ b/igblast/igblast.r Thu Feb 25 13:36:15 2021 +0000 @@ -1,56 +1,56 @@ -args <- commandArgs(trailingOnly = TRUE) - -infile=args[1] -outfile=args[2] - -blasted = read.table(infile, header=T, sep="\t", fill=T, stringsAsFactors=F, comment.char="") - -blasted$ID = 1:nrow(blasted) -blasted$VDJ.Frame = "Out-of-frame" - -search = blasted$inFrame == "true" & blasted$noStop == "false" -if(sum(search) > 0){ - blasted[search ,]$VDJ.Frame = "In-frame with stop codon" -} - -search = blasted$inFrame == "true" & blasted$noStop == "true" -if(sum(search) > 0){ - blasted[search ,]$VDJ.Frame = "In-frame" -} - -blasted$Top.V.Gene = blasted$vSegment -blasted$Top.D.Gene = blasted$dSegment -blasted$Top.J.Gene = blasted$jSegment -blasted$CDR1.Seq = blasted$cdr1aa -blasted$CDR1.Length = nchar(blasted$CDR1.Seq) -blasted$CDR2.Seq = blasted$cdr2aa -blasted$CDR2.Length = nchar(blasted$CDR2.Seq) -blasted$CDR3.Seq = blasted$cdr3aa -blasted$CDR3.Length = nchar(blasted$CDR3.Seq) -blasted$CDR3.Seq.DNA = blasted$cdr3nt -blasted$CDR3.Length.DNA = nchar(blasted$CDR3.Seq.DNA) -blasted$Strand = "+/-" -blasted$CDR3.Found.How = "found" - -search = blasted$cdr3nt == "" -if(sum(search) > 0){ - blasted[search,]$CDR3.Found.How = "NOT_FOUND" -} - -blasted$AA.JUNCTION = blasted$CDR3.Seq - -n = c("X.reads_count", "ID", "VDJ.Frame", "Top.V.Gene", "Top.D.Gene", "Top.J.Gene", "CDR1.Seq", "CDR1.Length", "CDR2.Seq", "CDR2.Length", "CDR3.Seq", "CDR3.Length", "CDR3.Seq.DNA", "CDR3.Length.DNA", "Strand", "CDR3.Found.How", "Functionality", "AA.JUNCTION") - -n[!(n %in% names(blasted))] - -blasted = blasted[,c("X.reads_count", "ID", "VDJ.Frame", "Top.V.Gene", "Top.D.Gene", "Top.J.Gene", "CDR1.Seq", "CDR1.Length", "CDR2.Seq", "CDR2.Length", "CDR3.Seq", "CDR3.Length", "CDR3.Seq.DNA", "CDR3.Length.DNA", "Strand", "CDR3.Found.How", "AA.JUNCTION")] - -names(blasted) = c("frequency.count", "ID", "VDJ Frame", "Top V Gene", "Top D Gene", "Top J Gene", "CDR1 Seq", "CDR1 Length", "CDR2 Seq", "CDR2 Length", "CDR3 Seq", "CDR3 Length", "CDR3 Seq DNA", "CDR3 Length DNA", "Strand", "CDR3 Found How", "AA JUNCTION") - -#duplicate rows based on frequency.count -blasted = blasted[rep(seq_len(nrow(blasted)), blasted$frequency.count),] -blasted$ID = 1:nrow(blasted) - -blasted = blasted[,c("ID", "VDJ Frame", "Top V Gene", "Top D Gene", "Top J Gene", "CDR1 Seq", "CDR1 Length", "CDR2 Seq", "CDR2 Length", "CDR3 Seq", "CDR3 Length", "CDR3 Seq DNA", "CDR3 Length DNA", "Strand", "CDR3 Found How", "AA JUNCTION")] - -write.table(blasted, outfile, quote=F, sep="\t", row.names=F, col.names=T) +args <- commandArgs(trailingOnly = TRUE) + +infile=args[1] +outfile=args[2] + +blasted = read.table(infile, header=T, sep="\t", fill=T, stringsAsFactors=F, comment.char="") + +blasted$ID = 1:nrow(blasted) +blasted$VDJ.Frame = "Out-of-frame" + +search = blasted$inFrame == "true" & blasted$noStop == "false" +if(sum(search) > 0){ + blasted[search ,]$VDJ.Frame = "In-frame with stop codon" +} + +search = blasted$inFrame == "true" & blasted$noStop == "true" +if(sum(search) > 0){ + blasted[search ,]$VDJ.Frame = "In-frame" +} + +blasted$Top.V.Gene = blasted$vSegment +blasted$Top.D.Gene = blasted$dSegment +blasted$Top.J.Gene = blasted$jSegment +blasted$CDR1.Seq = blasted$cdr1aa +blasted$CDR1.Length = nchar(blasted$CDR1.Seq) +blasted$CDR2.Seq = blasted$cdr2aa +blasted$CDR2.Length = nchar(blasted$CDR2.Seq) +blasted$CDR3.Seq = blasted$cdr3aa +blasted$CDR3.Length = nchar(blasted$CDR3.Seq) +blasted$CDR3.Seq.DNA = blasted$cdr3nt +blasted$CDR3.Length.DNA = nchar(blasted$CDR3.Seq.DNA) +blasted$Strand = "+/-" +blasted$CDR3.Found.How = "found" + +search = blasted$cdr3nt == "" +if(sum(search) > 0){ + blasted[search,]$CDR3.Found.How = "NOT_FOUND" +} + +blasted$AA.JUNCTION = blasted$CDR3.Seq + +n = c("X.reads_count", "ID", "VDJ.Frame", "Top.V.Gene", "Top.D.Gene", "Top.J.Gene", "CDR1.Seq", "CDR1.Length", "CDR2.Seq", "CDR2.Length", "CDR3.Seq", "CDR3.Length", "CDR3.Seq.DNA", "CDR3.Length.DNA", "Strand", "CDR3.Found.How", "Functionality", "AA.JUNCTION") + +n[!(n %in% names(blasted))] + +blasted = blasted[,c("X.reads_count", "ID", "VDJ.Frame", "Top.V.Gene", "Top.D.Gene", "Top.J.Gene", "CDR1.Seq", "CDR1.Length", "CDR2.Seq", "CDR2.Length", "CDR3.Seq", "CDR3.Length", "CDR3.Seq.DNA", "CDR3.Length.DNA", "Strand", "CDR3.Found.How", "AA.JUNCTION")] + +names(blasted) = c("frequency.count", "ID", "VDJ Frame", "Top V Gene", "Top D Gene", "Top J Gene", "CDR1 Seq", "CDR1 Length", "CDR2 Seq", "CDR2 Length", "CDR3 Seq", "CDR3 Length", "CDR3 Seq DNA", "CDR3 Length DNA", "Strand", "CDR3 Found How", "AA JUNCTION") + +#duplicate rows based on frequency.count +blasted = blasted[rep(seq_len(nrow(blasted)), blasted$frequency.count),] +blasted$ID = 1:nrow(blasted) + +blasted = blasted[,c("ID", "VDJ Frame", "Top V Gene", "Top D Gene", "Top J Gene", "CDR1 Seq", "CDR1 Length", "CDR2 Seq", "CDR2 Length", "CDR3 Seq", "CDR3 Length", "CDR3 Seq DNA", "CDR3 Length DNA", "Strand", "CDR3 Found How", "AA JUNCTION")] + +write.table(blasted, outfile, quote=F, sep="\t", row.names=F, col.names=T) diff -r e35b82f31ec7 -r 124b7fd92a3e igblast/igblast.sh --- a/igblast/igblast.sh Thu Aug 08 07:40:36 2019 -0400 +++ b/igblast/igblast.sh Thu Feb 25 13:36:15 2021 +0000 @@ -1,28 +1,28 @@ -set -e - -dir="$(cd "$(dirname "$0")" && pwd)" - -input=$1 -species=$2 -locus=$3 -output=$4 - -declare -A speciesdict - -speciesdict=(["Rattus norvegicus functional"]="rat" ["Rattus norvegicus non-functional"]="rat" ["Oryctolagus cuniculus functional"]="rabbit" ["Oryctolagus cuniculus non-functional"]="rabbit" ["Mus musculus functional"]="mouse" ["Mus musculus non-functional"]="mouse" ["Homo sapiens functional"]="human" ["Homo sapiens non-functional"]="human" ["Macaca mulatta non-functional"]="rhesus_monkey" ["Macaca mulatta functional"]="rhesus_monkey") - -echo "Species: $species ${speciesdict[$species]}" - -species="${speciesdict[$species]}" - -if [ "$species" == "" ] -then - >&2 echo "Species not possible with igBLASTn, use IMGT" - exit 1 -fi - -echo "$input $species $locus $output" - -java -Xmx16G -jar $dir/igblastwrp.jar -p 4 -S $species -R $locus ${input} $PWD/blasted_output 2>&1 - -Rscript --verbose $dir/igblast.r "$PWD/blasted_output.L2.txt" "$output" 2>&1 +set -e + +dir="$(cd "$(dirname "$0")" && pwd)" + +input=$1 +species=$2 +locus=$3 +output=$4 + +declare -A speciesdict + +speciesdict=(["Rattus norvegicus functional"]="rat" ["Rattus norvegicus non-functional"]="rat" ["Oryctolagus cuniculus functional"]="rabbit" ["Oryctolagus cuniculus non-functional"]="rabbit" ["Mus musculus functional"]="mouse" ["Mus musculus non-functional"]="mouse" ["Homo sapiens functional"]="human" ["Homo sapiens non-functional"]="human" ["Macaca mulatta non-functional"]="rhesus_monkey" ["Macaca mulatta functional"]="rhesus_monkey") + +echo "Species: $species ${speciesdict[$species]}" + +species="${speciesdict[$species]}" + +if [ "$species" == "" ] +then + >&2 echo "Species not possible with igBLASTn, use IMGT" + exit 1 +fi + +echo "$input $species $locus $output" + +java -Xmx16G -jar $IGBLASTWRP/igblastwrp.jar -p 4 -S $species -R $locus ${input} $PWD/blasted_output 2>&1 + +Rscript --verbose $dir/igblast.r "$PWD/blasted_output.L2.txt" "$output" 2>&1 diff -r e35b82f31ec7 -r 124b7fd92a3e imgt_loader/imgt_loader.r --- a/imgt_loader/imgt_loader.r Thu Aug 08 07:40:36 2019 -0400 +++ b/imgt_loader/imgt_loader.r Thu Feb 25 13:36:15 2021 +0000 @@ -1,132 +1,132 @@ -args <- commandArgs(trailingOnly = TRUE) -options(show.error.locations = TRUE) - -summ.file = args[1] -sequences.file = args[2] -aa.file = args[3] -junction.file = args[4] -gapped.aa.file = args[5] -out.file = args[6] - -print(summ.file) -print(out.file) - -summ = read.table(summ.file, sep="\t", header=T, quote="", fill=T) -sequences = read.table(sequences.file, sep="\t", header=T, quote="", fill=T) -aa = read.table(aa.file, sep="\t", header=T, quote="", fill=T) -gapped.aa = read.table(gapped.aa.file, sep="\t", header=T, quote="", fill=T) -junction = read.table(junction.file, sep="\t", header=T, quote="", fill=T) - -print(paste("nrow(summ)", nrow(summ))) - -write.table(summ, out.file, sep="\t", quote=F, row.names=F, col.names=T) - -fix_column_names = function(df){ - if("V.DOMAIN.Functionality" %in% names(df)){ - names(df)[names(df) == "V.DOMAIN.Functionality"] = "Functionality" - print("found V.DOMAIN.Functionality, changed") - } - if("V.DOMAIN.Functionality.comment" %in% names(df)){ - names(df)[names(df) == "V.DOMAIN.Functionality.comment"] = "Functionality.comment" - print("found V.DOMAIN.Functionality.comment, changed") - } - return(df) -} - -print_missing_columns = function(df, cols, label=""){ - cols_in_df = cols %in% names(df) - if(sum(!cols_in_df) > 0){ - print("Columns are missing from summary file, don't have:") - print(cols[!cols_in_df]) - } else { - print(paste("No missing columns for", label)) - } -} - -summ = fix_column_names(summ) -sequences = fix_column_names(sequences) -aa = fix_column_names(aa) -gapped.aa = fix_column_names(gapped.aa) -junction = fix_column_names(junction) - -print(paste("nrow(summ)", nrow(summ))) - -old_summary_columns=c('Sequence.ID','JUNCTION.frame','V.GENE.and.allele','D.GENE.and.allele','J.GENE.and.allele','CDR1.IMGT.length','CDR2.IMGT.length','CDR3.IMGT.length','Orientation') -old_sequence_columns=c('CDR1.IMGT','CDR2.IMGT','CDR3.IMGT') -old_junction_columns=c('JUNCTION') - -added_summary_columns=c('Functionality','V.REGION.identity..','V.REGION.identity.nt','D.REGION.reading.frame','AA.JUNCTION','Functionality.comment','Sequence') -added_sequence_columns=c('FR1.IMGT','FR2.IMGT','FR3.IMGT','CDR3.IMGT','JUNCTION','J.REGION','FR4.IMGT') - -added_junction_columns=c('P3.V.nt.nb','N.REGION.nt.nb','N1.REGION.nt.nb','P5.D.nt.nb','P3.D.nt.nb','N2.REGION.nt.nb','P5.J.nt.nb','X3.V.REGION.trimmed.nt.nb','X5.D.REGION.trimmed.nt.nb','X3.D.REGION.trimmed.nt.nb','X5.J.REGION.trimmed.nt.nb','N.REGION','N1.REGION','N2.REGION') -added_junction_columns=c(added_junction_columns, 'P5.D1.nt.nb', 'P3.D1.nt.nb', 'N2.REGION.nt.nb', 'P5.D2.nt.nb', 'P3.D2.nt.nb', 'N3.REGION.nt.nb', 'P5.D3.nt.nb', 'P3.D2.nt.nb', 'N4.REGION.nt.nb', 'X5.D1.REGION.trimmed.nt.nb', 'X3.D1.REGION.trimmed.nt.nb', 'X5.D2.REGION.trimmed.nt.nb', 'X3.D2.REGION.trimmed.nt.nb', 'X5.D3.REGION.trimmed.nt.nb', 'X3.D3.REGION.trimmed.nt.nb', 'D.REGION.nt.nb', 'D1.REGION.nt.nb', 'D2.REGION.nt.nb', 'D3.REGION.nt.nb') - -minimum_columns=c("Sequence.ID","JUNCTION.frame","V.GENE.and.allele","D.GENE.and.allele","J.GENE.and.allele") -print_missing_columns(summ, minimum_columns) -out=summ[,minimum_columns] - -print(paste("nrow(summ)", nrow(summ))) -print(paste("nrow(aa)", nrow(aa))) - -out[,"CDR1.Seq"] = aa[,"CDR1.IMGT"] -out[,"CDR1.Length"] = summ[,"CDR1.IMGT.length"] - -out[,"CDR2.Seq"] = aa[,"CDR2.IMGT"] -out[,"CDR2.Length"] = summ[,"CDR2.IMGT.length"] - -out[,"CDR3.Seq"] = gapped.aa[,"CDR3.IMGT"] -out[,"CDR3.Length"] = summ[,"CDR3.IMGT.length"] - -out[,"CDR3.IMGT"] = out[,"CDR3.Seq"] - -out[,"CDR3.Seq.DNA"] = sequences[,"CDR3.IMGT"] -out[,"CDR3.Length.DNA"] = nchar(as.character(out[,"CDR3.Seq.DNA"])) -out[,"Strand"] = summ[,"Orientation"] -out[,"CDR3.Found.How"] = "a" - -out[,added_summary_columns] = summ[,added_summary_columns] - -out[,added_sequence_columns] = aa[,added_sequence_columns] - -out[,added_junction_columns] = junction[,added_junction_columns] - -out[,"Top V Gene"] = gsub(".* ", "", gsub("\\*.*", "", summ[,"V.GENE.and.allele"])) -out[,"Top D Gene"] = gsub(".* ", "", gsub("\\*.*", "", summ[,"D.GENE.and.allele"])) -out[,"Top J Gene"] = gsub(".* ", "", gsub("\\*.*", "", summ[,"J.GENE.and.allele"])) - -out = out[!grepl("Less than", summ[,"V.GENE.and.allele"]),] -out = out[!grepl("Less than", summ[,"D.GENE.and.allele"]),] -out = out[!grepl("Less than", summ[,"J.GENE.and.allele"]),] - -out = out[,c('Sequence.ID','JUNCTION.frame','Top V Gene','Top D Gene','Top J Gene','CDR1.Seq','CDR1.Length','CDR2.Seq','CDR2.Length','CDR3.Seq','CDR3.Length','CDR3.Seq.DNA','CDR3.Length.DNA','Strand','CDR3.Found.How','Functionality','V.REGION.identity..','V.REGION.identity.nt','D.REGION.reading.frame','AA.JUNCTION','Functionality.comment','Sequence','FR1.IMGT','FR2.IMGT','FR3.IMGT','CDR3.IMGT','JUNCTION','J.REGION','FR4.IMGT','P3.V.nt.nb','N.REGION.nt.nb','N1.REGION.nt.nb','P5.D.nt.nb','P3.D.nt.nb','N2.REGION.nt.nb','P5.J.nt.nb','X3.V.REGION.trimmed.nt.nb','X5.D.REGION.trimmed.nt.nb','X3.D.REGION.trimmed.nt.nb','X5.J.REGION.trimmed.nt.nb','N.REGION','N1.REGION','N2.REGION', 'P5.D1.nt.nb', 'P3.D1.nt.nb', 'N2.REGION.nt.nb', 'P5.D2.nt.nb', 'P3.D2.nt.nb', 'N3.REGION.nt.nb', 'P5.D3.nt.nb', 'P3.D2.nt.nb', 'N4.REGION.nt.nb', 'X5.D1.REGION.trimmed.nt.nb', 'X3.D1.REGION.trimmed.nt.nb', 'X5.D2.REGION.trimmed.nt.nb', 'X3.D2.REGION.trimmed.nt.nb', 'X5.D3.REGION.trimmed.nt.nb', 'X3.D3.REGION.trimmed.nt.nb', 'D.REGION.nt.nb', 'D1.REGION.nt.nb', 'D2.REGION.nt.nb', 'D3.REGION.nt.nb')] - -names(out) = c('ID','VDJ Frame','Top V Gene','Top D Gene','Top J Gene','CDR1 Seq','CDR1 Length','CDR2 Seq','CDR2 Length','CDR3 Seq','CDR3 Length','CDR3 Seq DNA','CDR3 Length DNA','Strand','CDR3 Found How','Functionality','V-REGION identity %','V-REGION identity nt','D-REGION reading frame','AA JUNCTION','Functionality comment','Sequence','FR1-IMGT','FR2-IMGT','FR3-IMGT','CDR3-IMGT','JUNCTION','J-REGION','FR4-IMGT','P3V-nt nb','N-REGION-nt nb','N1-REGION-nt nb','P5D-nt nb','P3D-nt nb','N2-REGION-nt nb','P5J-nt nb','3V-REGION trimmed-nt nb','5D-REGION trimmed-nt nb','3D-REGION trimmed-nt nb','5J-REGION trimmed-nt nb','N-REGION','N1-REGION','N2-REGION', 'P5.D1.nt.nb', 'P3.D1.nt.nb', 'N2.REGION.nt.nb', 'P5.D2.nt.nb', 'P3.D2.nt.nb', 'N3.REGION.nt.nb', 'P5.D3.nt.nb', 'P3.D2.nt.nb', 'N4.REGION.nt.nb', 'X5.D1.REGION.trimmed.nt.nb', 'X3.D1.REGION.trimmed.nt.nb', 'X5.D2.REGION.trimmed.nt.nb', 'X3.D2.REGION.trimmed.nt.nb', 'X5.D3.REGION.trimmed.nt.nb', 'X3.D3.REGION.trimmed.nt.nb', 'D.REGION.nt.nb', 'D1.REGION.nt.nb', 'D2.REGION.nt.nb', 'D3.REGION.nt.nb') - -out[,"VDJ Frame"] = as.character(out[,"VDJ Frame"]) -fltr = out[,"VDJ Frame"] == "in-frame" -if(any(fltr, na.rm=T)){ - out[fltr, "VDJ Frame"] = "In-frame" -} -fltr = out[,"VDJ Frame"] == "null" -if(any(fltr, na.rm = T)){ - out[fltr, "VDJ Frame"] = "Out-of-frame" -} -fltr = out[,"VDJ Frame"] == "out-of-frame" -if(any(fltr, na.rm = T)){ - out[fltr, "VDJ Frame"] = "Out-of-frame" -} -fltr = out[,"VDJ Frame"] == "" -if(any(fltr, na.rm = T)){ - out[fltr, "VDJ Frame"] = "Out-of-frame" -} - -for(col in c('Top V Gene','Top D Gene','Top J Gene')){ - out[,col] = as.character(out[,col]) - fltr = out[,col] == "" - fltr[is.na(fltr)] = T - if(any(fltr, na.rm = T)){ - out[fltr,col] = "NA" - } -} - -write.table(out, out.file, sep="\t", quote=F, row.names=F, col.names=T) +args <- commandArgs(trailingOnly = TRUE) +options(show.error.locations = TRUE) + +summ.file = args[1] +sequences.file = args[2] +aa.file = args[3] +junction.file = args[4] +gapped.aa.file = args[5] +out.file = args[6] + +print(summ.file) +print(out.file) + +summ = read.table(summ.file, sep="\t", header=T, quote="", fill=T) +sequences = read.table(sequences.file, sep="\t", header=T, quote="", fill=T) +aa = read.table(aa.file, sep="\t", header=T, quote="", fill=T) +gapped.aa = read.table(gapped.aa.file, sep="\t", header=T, quote="", fill=T) +junction = read.table(junction.file, sep="\t", header=T, quote="", fill=T) + +print(paste("nrow(summ)", nrow(summ))) + +write.table(summ, out.file, sep="\t", quote=F, row.names=F, col.names=T) + +fix_column_names = function(df){ + if("V.DOMAIN.Functionality" %in% names(df)){ + names(df)[names(df) == "V.DOMAIN.Functionality"] = "Functionality" + print("found V.DOMAIN.Functionality, changed") + } + if("V.DOMAIN.Functionality.comment" %in% names(df)){ + names(df)[names(df) == "V.DOMAIN.Functionality.comment"] = "Functionality.comment" + print("found V.DOMAIN.Functionality.comment, changed") + } + return(df) +} + +print_missing_columns = function(df, cols, label=""){ + cols_in_df = cols %in% names(df) + if(sum(!cols_in_df) > 0){ + print("Columns are missing from summary file, don't have:") + print(cols[!cols_in_df]) + } else { + print(paste("No missing columns for", label)) + } +} + +summ = fix_column_names(summ) +sequences = fix_column_names(sequences) +aa = fix_column_names(aa) +gapped.aa = fix_column_names(gapped.aa) +junction = fix_column_names(junction) + +print(paste("nrow(summ)", nrow(summ))) + +old_summary_columns=c('Sequence.ID','JUNCTION.frame','V.GENE.and.allele','D.GENE.and.allele','J.GENE.and.allele','CDR1.IMGT.length','CDR2.IMGT.length','CDR3.IMGT.length','Orientation') +old_sequence_columns=c('CDR1.IMGT','CDR2.IMGT','CDR3.IMGT') +old_junction_columns=c('JUNCTION') + +added_summary_columns=c('Functionality','V.REGION.identity..','V.REGION.identity.nt','D.REGION.reading.frame','AA.JUNCTION','Functionality.comment','Sequence') +added_sequence_columns=c('FR1.IMGT','FR2.IMGT','FR3.IMGT','CDR3.IMGT','JUNCTION','J.REGION','FR4.IMGT') + +added_junction_columns=c('P3.V.nt.nb','N.REGION.nt.nb','N1.REGION.nt.nb','P5.D.nt.nb','P3.D.nt.nb','N2.REGION.nt.nb','P5.J.nt.nb','X3.V.REGION.trimmed.nt.nb','X5.D.REGION.trimmed.nt.nb','X3.D.REGION.trimmed.nt.nb','X5.J.REGION.trimmed.nt.nb','N.REGION','N1.REGION','N2.REGION') +added_junction_columns=c(added_junction_columns, 'P5.D1.nt.nb', 'P3.D1.nt.nb', 'N2.REGION.nt.nb', 'P5.D2.nt.nb', 'P3.D2.nt.nb', 'N3.REGION.nt.nb', 'P5.D3.nt.nb', 'P3.D2.nt.nb', 'N4.REGION.nt.nb', 'X5.D1.REGION.trimmed.nt.nb', 'X3.D1.REGION.trimmed.nt.nb', 'X5.D2.REGION.trimmed.nt.nb', 'X3.D2.REGION.trimmed.nt.nb', 'X5.D3.REGION.trimmed.nt.nb', 'X3.D3.REGION.trimmed.nt.nb', 'D.REGION.nt.nb', 'D1.REGION.nt.nb', 'D2.REGION.nt.nb', 'D3.REGION.nt.nb') + +minimum_columns=c("Sequence.ID","JUNCTION.frame","V.GENE.and.allele","D.GENE.and.allele","J.GENE.and.allele") +print_missing_columns(summ, minimum_columns) +out=summ[,minimum_columns] + +print(paste("nrow(summ)", nrow(summ))) +print(paste("nrow(aa)", nrow(aa))) + +out[,"CDR1.Seq"] = aa[,"CDR1.IMGT"] +out[,"CDR1.Length"] = summ[,"CDR1.IMGT.length"] + +out[,"CDR2.Seq"] = aa[,"CDR2.IMGT"] +out[,"CDR2.Length"] = summ[,"CDR2.IMGT.length"] + +out[,"CDR3.Seq"] = gapped.aa[,"CDR3.IMGT"] +out[,"CDR3.Length"] = summ[,"CDR3.IMGT.length"] + +out[,"CDR3.IMGT"] = out[,"CDR3.Seq"] + +out[,"CDR3.Seq.DNA"] = sequences[,"CDR3.IMGT"] +out[,"CDR3.Length.DNA"] = nchar(as.character(out[,"CDR3.Seq.DNA"])) +out[,"Strand"] = summ[,"Orientation"] +out[,"CDR3.Found.How"] = "a" + +out[,added_summary_columns] = summ[,added_summary_columns] + +out[,added_sequence_columns] = aa[,added_sequence_columns] + +out[,added_junction_columns] = junction[,added_junction_columns] + +out[,"Top V Gene"] = gsub(".* ", "", gsub("\\*.*", "", summ[,"V.GENE.and.allele"])) +out[,"Top D Gene"] = gsub(".* ", "", gsub("\\*.*", "", summ[,"D.GENE.and.allele"])) +out[,"Top J Gene"] = gsub(".* ", "", gsub("\\*.*", "", summ[,"J.GENE.and.allele"])) + +out = out[!grepl("Less than", summ[,"V.GENE.and.allele"]),] +out = out[!grepl("Less than", summ[,"D.GENE.and.allele"]),] +out = out[!grepl("Less than", summ[,"J.GENE.and.allele"]),] + +out = out[,c('Sequence.ID','JUNCTION.frame','Top V Gene','Top D Gene','Top J Gene','CDR1.Seq','CDR1.Length','CDR2.Seq','CDR2.Length','CDR3.Seq','CDR3.Length','CDR3.Seq.DNA','CDR3.Length.DNA','Strand','CDR3.Found.How','Functionality','V.REGION.identity..','V.REGION.identity.nt','D.REGION.reading.frame','AA.JUNCTION','Functionality.comment','Sequence','FR1.IMGT','FR2.IMGT','FR3.IMGT','CDR3.IMGT','JUNCTION','J.REGION','FR4.IMGT','P3.V.nt.nb','N.REGION.nt.nb','N1.REGION.nt.nb','P5.D.nt.nb','P3.D.nt.nb','N2.REGION.nt.nb','P5.J.nt.nb','X3.V.REGION.trimmed.nt.nb','X5.D.REGION.trimmed.nt.nb','X3.D.REGION.trimmed.nt.nb','X5.J.REGION.trimmed.nt.nb','N.REGION','N1.REGION','N2.REGION', 'P5.D1.nt.nb', 'P3.D1.nt.nb', 'N2.REGION.nt.nb', 'P5.D2.nt.nb', 'P3.D2.nt.nb', 'N3.REGION.nt.nb', 'P5.D3.nt.nb', 'P3.D2.nt.nb', 'N4.REGION.nt.nb', 'X5.D1.REGION.trimmed.nt.nb', 'X3.D1.REGION.trimmed.nt.nb', 'X5.D2.REGION.trimmed.nt.nb', 'X3.D2.REGION.trimmed.nt.nb', 'X5.D3.REGION.trimmed.nt.nb', 'X3.D3.REGION.trimmed.nt.nb', 'D.REGION.nt.nb', 'D1.REGION.nt.nb', 'D2.REGION.nt.nb', 'D3.REGION.nt.nb')] + +names(out) = c('ID','VDJ Frame','Top V Gene','Top D Gene','Top J Gene','CDR1 Seq','CDR1 Length','CDR2 Seq','CDR2 Length','CDR3 Seq','CDR3 Length','CDR3 Seq DNA','CDR3 Length DNA','Strand','CDR3 Found How','Functionality','V-REGION identity %','V-REGION identity nt','D-REGION reading frame','AA JUNCTION','Functionality comment','Sequence','FR1-IMGT','FR2-IMGT','FR3-IMGT','CDR3-IMGT','JUNCTION','J-REGION','FR4-IMGT','P3V-nt nb','N-REGION-nt nb','N1-REGION-nt nb','P5D-nt nb','P3D-nt nb','N2-REGION-nt nb','P5J-nt nb','3V-REGION trimmed-nt nb','5D-REGION trimmed-nt nb','3D-REGION trimmed-nt nb','5J-REGION trimmed-nt nb','N-REGION','N1-REGION','N2-REGION', 'P5.D1.nt.nb', 'P3.D1.nt.nb', 'N2.REGION.nt.nb', 'P5.D2.nt.nb', 'P3.D2.nt.nb', 'N3.REGION.nt.nb', 'P5.D3.nt.nb', 'P3.D2.nt.nb', 'N4.REGION.nt.nb', 'X5.D1.REGION.trimmed.nt.nb', 'X3.D1.REGION.trimmed.nt.nb', 'X5.D2.REGION.trimmed.nt.nb', 'X3.D2.REGION.trimmed.nt.nb', 'X5.D3.REGION.trimmed.nt.nb', 'X3.D3.REGION.trimmed.nt.nb', 'D.REGION.nt.nb', 'D1.REGION.nt.nb', 'D2.REGION.nt.nb', 'D3.REGION.nt.nb') + +out[,"VDJ Frame"] = as.character(out[,"VDJ Frame"]) +fltr = out[,"VDJ Frame"] == "in-frame" +if(any(fltr, na.rm=T)){ + out[fltr, "VDJ Frame"] = "In-frame" +} +fltr = out[,"VDJ Frame"] == "null" +if(any(fltr, na.rm = T)){ + out[fltr, "VDJ Frame"] = "Out-of-frame" +} +fltr = out[,"VDJ Frame"] == "out-of-frame" +if(any(fltr, na.rm = T)){ + out[fltr, "VDJ Frame"] = "Out-of-frame" +} +fltr = out[,"VDJ Frame"] == "" +if(any(fltr, na.rm = T)){ + out[fltr, "VDJ Frame"] = "Out-of-frame" +} + +for(col in c('Top V Gene','Top D Gene','Top J Gene')){ + out[,col] = as.character(out[,col]) + fltr = out[,col] == "" + fltr[is.na(fltr)] = T + if(any(fltr, na.rm = T)){ + out[fltr,col] = "NA" + } +} + +write.table(out, out.file, sep="\t", quote=F, row.names=F, col.names=T) diff -r e35b82f31ec7 -r 124b7fd92a3e imgt_loader/imgt_loader.sh --- a/imgt_loader/imgt_loader.sh Thu Aug 08 07:40:36 2019 -0400 +++ b/imgt_loader/imgt_loader.sh Thu Feb 25 13:36:15 2021 +0000 @@ -1,74 +1,74 @@ -#!/bin/bash -input=$1 -output=$2 -name=$3 -dir="$(cd "$(dirname "$0")" && pwd)" -mkdir -p $PWD/$name/files -f=$(file $input) -zip7Type="7-zip archive" -tarType="tar archive" -bzip2Type="bzip2 compressed" -gzipType="gzip compressed" -zipType="Zip archive" -rarType="RAR archive" -zxType="XZ compressed data" - -if [[ "$f" == *"$zip7Type"* ]]; then - echo "7-zip" - echo "Trying: 7za e $input -o$PWD/files/" - 7za e $input -o$PWD/$name/files -fi - -if [[ "$f" == *"$tarType"* ]] -then - echo "tar archive" - echo "Trying: tar xvf $input -C $PWD/files/" - tar -xvf $input -C $PWD/$name/files -fi - -if [[ "$f" == *"$bzip2Type"* ]] -then - echo "bzip2 compressed data" - echo "Trying: tar jxf $input -C $PWD/files/" - tar -jxf $input -C $PWD/$name/files -fi - -if [[ "$f" == *"$gzipType"* ]] -then - echo "gzip compressed data" - echo "Trying: tar xvzf $input -C $PWD/files/" - tar -xvzf $input -C $PWD/$name/files -fi - -if [[ "$f" == *"$zipType"* ]] -then - echo "Zip archive" - echo "Trying: unzip $input -d $PWD/files/" - unzip $input -d $PWD/$name/files > $PWD/unziplog.log -fi - -if [[ "$f" == *"$rarType"* ]] -then - echo "RAR archive" - echo "Trying: unrar e $input $PWD/files/" - unrar e $input $PWD/$name/files -fi - -if [[ "$f" == *"$zxType"* ]] -then - echo "xz compressed data" - echo "Trying: tar -xJf $input -C $PWD/files/" - tar xJf $input -C $PWD/$name/files -fi -find $PWD/$name/files -iname "1_*" -exec cat {} + > $PWD/$name/summ.txt -find $PWD/$name/files -iname "3_*" -exec cat {} + > $PWD/$name/sequences.txt -find $PWD/$name/files -iname "4_*" -exec cat {} + > $PWD/$name/gapped_aa.txt -find $PWD/$name/files -iname "5_*" -exec cat {} + > $PWD/$name/aa.txt -find $PWD/$name/files -iname "6_*" -exec cat {} + > $PWD/$name/junction.txt - -echo "summ.txt `cat $PWD/$name/summ.txt | wc -l`" -echo "aa.txt `cat $PWD/$name/aa.txt | wc -l`" - -#python $dir/imgt_loader.py --summ $PWD/$name/summ.txt --aa $PWD/$name/aa.txt --junction $PWD/$name/junction.txt --output $output - -Rscript --verbose $dir/imgt_loader.r $PWD/$name/summ.txt $PWD/$name/sequences.txt $PWD/$name/aa.txt $PWD/$name/junction.txt $PWD/$name/gapped_aa.txt $output 2>&1 +#!/bin/bash +input=$1 +output=$2 +name=$3 +dir="$(cd "$(dirname "$0")" && pwd)" +mkdir -p $PWD/$name/files +f=$(file $input) +zip7Type="7-zip archive" +tarType="tar archive" +bzip2Type="bzip2 compressed" +gzipType="gzip compressed" +zipType="Zip archive" +rarType="RAR archive" +zxType="XZ compressed data" + +if [[ "$f" == *"$zip7Type"* ]]; then + echo "7-zip" + echo "Trying: 7za e $input -o$PWD/files/" + 7za e $input -o$PWD/$name/files +fi + +if [[ "$f" == *"$tarType"* ]] +then + echo "tar archive" + echo "Trying: tar xvf $input -C $PWD/files/" + tar -xvf $input -C $PWD/$name/files +fi + +if [[ "$f" == *"$bzip2Type"* ]] +then + echo "bzip2 compressed data" + echo "Trying: tar jxf $input -C $PWD/files/" + tar -jxf $input -C $PWD/$name/files +fi + +if [[ "$f" == *"$gzipType"* ]] +then + echo "gzip compressed data" + echo "Trying: tar xvzf $input -C $PWD/files/" + tar -xvzf $input -C $PWD/$name/files +fi + +if [[ "$f" == *"$zipType"* ]] +then + echo "Zip archive" + echo "Trying: unzip $input -d $PWD/files/" + unzip $input -d $PWD/$name/files > $PWD/unziplog.log +fi + +if [[ "$f" == *"$rarType"* ]] +then + echo "RAR archive" + echo "Trying: unrar e $input $PWD/files/" + unrar e $input $PWD/$name/files +fi + +if [[ "$f" == *"$zxType"* ]] +then + echo "xz compressed data" + echo "Trying: tar -xJf $input -C $PWD/files/" + tar xJf $input -C $PWD/$name/files +fi +find $PWD/$name/files -iname "1_*" -exec cat {} + > $PWD/$name/summ.txt +find $PWD/$name/files -iname "3_*" -exec cat {} + > $PWD/$name/sequences.txt +find $PWD/$name/files -iname "4_*" -exec cat {} + > $PWD/$name/gapped_aa.txt +find $PWD/$name/files -iname "5_*" -exec cat {} + > $PWD/$name/aa.txt +find $PWD/$name/files -iname "6_*" -exec cat {} + > $PWD/$name/junction.txt + +echo "summ.txt `cat $PWD/$name/summ.txt | wc -l`" +echo "aa.txt `cat $PWD/$name/aa.txt | wc -l`" + +#python $dir/imgt_loader.py --summ $PWD/$name/summ.txt --aa $PWD/$name/aa.txt --junction $PWD/$name/junction.txt --output $output + +Rscript --verbose $dir/imgt_loader.r $PWD/$name/summ.txt $PWD/$name/sequences.txt $PWD/$name/aa.txt $PWD/$name/junction.txt $PWD/$name/gapped_aa.txt $output 2>&1 diff -r e35b82f31ec7 -r 124b7fd92a3e report_clonality/IGH_junctie_analyse.png diff -r e35b82f31ec7 -r 124b7fd92a3e report_clonality/RScript.r --- a/report_clonality/RScript.r Thu Aug 08 07:40:36 2019 -0400 +++ b/report_clonality/RScript.r Thu Feb 25 13:36:15 2021 +0000 @@ -1,1044 +1,1044 @@ -# ---------------------- load/install packages ---------------------- - -if (!("gridExtra" %in% rownames(installed.packages()))) { - install.packages("gridExtra", repos="http://cran.xl-mirror.nl/") -} -library(gridExtra) -if (!("ggplot2" %in% rownames(installed.packages()))) { - install.packages("ggplot2", repos="http://cran.xl-mirror.nl/") -} -library(ggplot2) -if (!("plyr" %in% rownames(installed.packages()))) { - install.packages("plyr", repos="http://cran.xl-mirror.nl/") -} -library(plyr) - -if (!("data.table" %in% rownames(installed.packages()))) { - install.packages("data.table", repos="http://cran.xl-mirror.nl/") -} -library(data.table) - -if (!("reshape2" %in% rownames(installed.packages()))) { - install.packages("reshape2", repos="http://cran.xl-mirror.nl/") -} -library(reshape2) - -if (!("lymphclon" %in% rownames(installed.packages()))) { - install.packages("lymphclon", repos="http://cran.xl-mirror.nl/") -} -library(lymphclon) - -# ---------------------- parameters ---------------------- - -args <- commandArgs(trailingOnly = TRUE) - -infile = args[1] #path to input file -outfile = args[2] #path to output file -outdir = args[3] #path to output folder (html/images/data) -clonaltype = args[4] #clonaltype definition, or 'none' for no unique filtering -ct = unlist(strsplit(clonaltype, ",")) -species = args[5] #human or mouse -locus = args[6] # IGH, IGK, IGL, TRB, TRA, TRG or TRD -filterproductive = ifelse(args[7] == "yes", T, F) #should unproductive sequences be filtered out? (yes/no) -clonality_method = args[8] - - -# ---------------------- Data preperation ---------------------- - -print("Report Clonality - Data preperation") - -inputdata = read.table(infile, sep="\t", header=TRUE, fill=T, comment.char="", stringsAsFactors=F) - -inputdata$Sample = as.character(inputdata$Sample) - - -print(paste("nrows: ", nrow(inputdata))) - -setwd(outdir) - -# remove weird rows -inputdata = inputdata[inputdata$Sample != "",] - -print(paste("nrows: ", nrow(inputdata))) - -#remove the allele from the V,D and J genes -inputdata$Top.V.Gene = gsub("[*]([0-9]+)", "", inputdata$Top.V.Gene) -inputdata$Top.D.Gene = gsub("[*]([0-9]+)", "", inputdata$Top.D.Gene) -inputdata$Top.J.Gene = gsub("[*]([0-9]+)", "", inputdata$Top.J.Gene) - -print(paste("nrows: ", nrow(inputdata))) - -#filter uniques -inputdata.removed = inputdata[NULL,] - -print(paste("nrows: ", nrow(inputdata))) - -inputdata$clonaltype = 1:nrow(inputdata) - -#keep track of the count of sequences in samples or samples/replicates for the front page overview -input.sample.count = data.frame(data.table(inputdata)[, list(All=.N), by=c("Sample")]) -input.rep.count = data.frame(data.table(inputdata)[, list(All=.N), by=c("Sample", "Replicate")]) - -PRODF = inputdata -UNPROD = inputdata -if(filterproductive){ - if("Functionality" %in% colnames(inputdata)) { # "Functionality" is an IMGT column - #PRODF = inputdata[inputdata$Functionality == "productive" | inputdata$Functionality == "productive (see comment)", ] - PRODF = inputdata[inputdata$Functionality %in% c("productive (see comment)","productive"),] - - PRODF.count = data.frame(data.table(PRODF)[, list(count=.N), by=c("Sample")]) - - UNPROD = inputdata[inputdata$Functionality %in% c("unproductive (see comment)","unproductive"), ] - } else { - PRODF = inputdata[inputdata$VDJ.Frame != "In-frame with stop codon" & inputdata$VDJ.Frame != "Out-of-frame" & inputdata$CDR3.Found.How != "NOT_FOUND" , ] - UNPROD = inputdata[!(inputdata$VDJ.Frame != "In-frame with stop codon" & inputdata$VDJ.Frame != "Out-of-frame" & inputdata$CDR3.Found.How != "NOT_FOUND" ), ] - } -} - -for(i in 1:nrow(UNPROD)){ - if(!is.numeric(UNPROD[i,"CDR3.Length"])){ - UNPROD[i,"CDR3.Length"] = 0 - } -} - -prod.sample.count = data.frame(data.table(PRODF)[, list(Productive=.N), by=c("Sample")]) -prod.rep.count = data.frame(data.table(PRODF)[, list(Productive=.N), by=c("Sample", "Replicate")]) - -unprod.sample.count = data.frame(data.table(UNPROD)[, list(Unproductive=.N), by=c("Sample")]) -unprod.rep.count = data.frame(data.table(UNPROD)[, list(Unproductive=.N), by=c("Sample", "Replicate")]) - -clonalityFrame = PRODF - -#remove duplicates based on the clonaltype -if(clonaltype != "none"){ - clonaltype = paste(clonaltype, ",Sample", sep="") #add sample column to clonaltype, unique within samples - PRODF$clonaltype = do.call(paste, c(PRODF[unlist(strsplit(clonaltype, ","))], sep = ":")) - PRODF = PRODF[!duplicated(PRODF$clonaltype), ] - - UNPROD$clonaltype = do.call(paste, c(UNPROD[unlist(strsplit(clonaltype, ","))], sep = ":")) - UNPROD = UNPROD[!duplicated(UNPROD$clonaltype), ] - - #again for clonalityFrame but with sample+replicate - clonalityFrame$clonaltype = do.call(paste, c(clonalityFrame[unlist(strsplit(clonaltype, ","))], sep = ":")) - clonalityFrame$clonality_clonaltype = do.call(paste, c(clonalityFrame[unlist(strsplit(paste(clonaltype, ",Replicate", sep=""), ","))], sep = ":")) - clonalityFrame = clonalityFrame[!duplicated(clonalityFrame$clonality_clonaltype), ] -} - -if(nrow(PRODF) == 0){ - stop("No sequences left after filtering") -} - -prod.unique.sample.count = data.frame(data.table(PRODF)[, list(Productive_unique=.N), by=c("Sample")]) -prod.unique.rep.count = data.frame(data.table(PRODF)[, list(Productive_unique=.N), by=c("Sample", "Replicate")]) - -unprod.unique.sample.count = data.frame(data.table(UNPROD)[, list(Unproductive_unique=.N), by=c("Sample")]) -unprod.unique.rep.count = data.frame(data.table(UNPROD)[, list(Unproductive_unique=.N), by=c("Sample", "Replicate")]) - - -PRODF$freq = 1 - -if(any(grepl(pattern="_", x=PRODF$ID))){ #the frequency can be stored in the ID with the pattern ".*_freq_.*" - PRODF$freq = gsub("^[0-9]+_", "", PRODF$ID) - PRODF$freq = gsub("_.*", "", PRODF$freq) - PRODF$freq = as.numeric(PRODF$freq) - if(any(is.na(PRODF$freq))){ #if there was an "_" in the ID, but not the frequency, go back to frequency of 1 for every sequence - PRODF$freq = 1 - } -} - -#make a names list with sample -> color -naive.colors = c('blue4', 'darkred', 'olivedrab3', 'red', 'gray74', 'darkviolet', 'lightblue1', 'gold', 'chartreuse2', 'pink', 'Paleturquoise3', 'Chocolate1', 'Yellow', 'Deeppink3', 'Mediumorchid1', 'Darkgreen', 'Blue', 'Gray36', 'Hotpink', 'Yellow4') -unique.samples = unique(PRODF$Sample) - -if(length(unique.samples) <= length(naive.colors)){ - sample.colors = naive.colors[1:length(unique.samples)] -} else { - sample.colors = rainbow(length(unique.samples)) -} - -names(sample.colors) = unique.samples - -print("Sample.colors") -print(sample.colors) - - -#write the complete dataset that is left over, will be the input if 'none' for clonaltype and 'no' for filterproductive -write.table(PRODF, "allUnique.txt", sep="\t",quote=F,row.names=F,col.names=T) -#write.table(PRODF, "allUnique.csv", sep=",",quote=F,row.names=F,col.names=T) -write.table(UNPROD, "allUnproductive.txt", sep="\t",quote=F,row.names=F,col.names=T) - -print("SAMPLE TABLE:") -print(table(PRODF$Sample)) - -#write the samples to a file -sampleFile <- file("samples.txt") -un = unique(inputdata$Sample) -un = paste(un, sep="\n") -writeLines(un, sampleFile) -close(sampleFile) - -# ---------------------- Counting the productive/unproductive and unique sequences ---------------------- - -print("Report Clonality - counting productive/unproductive/unique") - -#create the table on the overview page with the productive/unique counts per sample/replicate -#first for sample - -sample.count = merge(input.sample.count, prod.sample.count, by="Sample", all.x=T) -sample.count$perc_prod = round(sample.count$Productive / sample.count$All * 100) -sample.count = merge(sample.count, prod.unique.sample.count, by="Sample", all.x=T) -sample.count$perc_prod_un = round(sample.count$Productive_unique / sample.count$All * 100) - -sample.count = merge(sample.count , unprod.sample.count, by="Sample", all.x=T) -sample.count$perc_unprod = round(sample.count$Unproductive / sample.count$All * 100) -sample.count = merge(sample.count, unprod.unique.sample.count, by="Sample", all.x=T) -sample.count$perc_unprod_un = round(sample.count$Unproductive_unique / sample.count$All * 100) - -#then sample/replicate -rep.count = merge(input.rep.count, prod.rep.count, by=c("Sample", "Replicate"), all.x=T) - -print(rep.count) - -fltr = is.na(rep.count$Productive) -if(any(fltr)){ - rep.count[fltr,"Productive"] = 0 -} - -print(rep.count) - -rep.count$perc_prod = round(rep.count$Productive / rep.count$All * 100) -rep.count = merge(rep.count, prod.unique.rep.count, by=c("Sample", "Replicate"), all.x=T) -rep.count$perc_prod_un = round(rep.count$Productive_unique / rep.count$All * 100) - -rep.count = merge(rep.count, unprod.rep.count, by=c("Sample", "Replicate"), all.x=T) -rep.count$perc_unprod = round(rep.count$Unproductive / rep.count$All * 100) -rep.count = merge(rep.count, unprod.unique.rep.count, by=c("Sample", "Replicate"), all.x=T) -rep.count$perc_unprod_un = round(rep.count$Unproductive_unique / rep.count$All * 100) - -rep.count$Sample = paste(rep.count$Sample, rep.count$Replicate, sep="_") -rep.count = rep.count[,names(rep.count) != "Replicate"] - -count = rbind(sample.count, rep.count) - - - -write.table(x=count, file="productive_counting.txt", sep=",",quote=F,row.names=F,col.names=F) - -# ---------------------- V+J+CDR3 sequence count ---------------------- - -VJCDR3.count = data.frame(table(clonalityFrame$Top.V.Gene, clonalityFrame$Top.J.Gene, clonalityFrame$CDR3.Seq.DNA)) -names(VJCDR3.count) = c("Top.V.Gene", "Top.J.Gene", "CDR3.Seq.DNA", "Count") - -VJCDR3.count = VJCDR3.count[VJCDR3.count$Count > 0,] -VJCDR3.count = VJCDR3.count[order(-VJCDR3.count$Count),] - -write.table(x=VJCDR3.count, file="VJCDR3_count.txt", sep="\t",quote=F,row.names=F,col.names=T) - -# ---------------------- Frequency calculation for V, D and J ---------------------- - -print("Report Clonality - frequency calculation V, D and J") - -PRODFV = data.frame(data.table(PRODF)[, list(Length=sum(freq)), by=c("Sample", "Top.V.Gene")]) -Total = ddply(PRODFV, .(Sample), function(x) data.frame(Total = sum(x$Length))) -PRODFV = merge(PRODFV, Total, by.x='Sample', by.y='Sample', all.x=TRUE) -PRODFV = ddply(PRODFV, c("Sample", "Top.V.Gene"), summarise, relFreq= (Length*100 / Total)) - -PRODFD = data.frame(data.table(PRODF)[, list(Length=sum(freq)), by=c("Sample", "Top.D.Gene")]) -Total = ddply(PRODFD, .(Sample), function(x) data.frame(Total = sum(x$Length))) -PRODFD = merge(PRODFD, Total, by.x='Sample', by.y='Sample', all.x=TRUE) -PRODFD = ddply(PRODFD, c("Sample", "Top.D.Gene"), summarise, relFreq= (Length*100 / Total)) - -PRODFJ = data.frame(data.table(PRODF)[, list(Length=sum(freq)), by=c("Sample", "Top.J.Gene")]) -Total = ddply(PRODFJ, .(Sample), function(x) data.frame(Total = sum(x$Length))) -PRODFJ = merge(PRODFJ, Total, by.x='Sample', by.y='Sample', all.x=TRUE) -PRODFJ = ddply(PRODFJ, c("Sample", "Top.J.Gene"), summarise, relFreq= (Length*100 / Total)) - -# ---------------------- Setting up the gene names for the different species/loci ---------------------- - -print("Report Clonality - getting genes for species/loci") - -Vchain = "" -Dchain = "" -Jchain = "" - -if(species == "custom"){ - print("Custom genes: ") - splt = unlist(strsplit(locus, ";")) - print(paste("V:", splt[1])) - print(paste("D:", splt[2])) - print(paste("J:", splt[3])) - - Vchain = unlist(strsplit(splt[1], ",")) - Vchain = data.frame(v.name = Vchain, chr.orderV = 1:length(Vchain)) - - Dchain = unlist(strsplit(splt[2], ",")) - if(length(Dchain) > 0){ - Dchain = data.frame(v.name = Dchain, chr.orderD = 1:length(Dchain)) - } else { - Dchain = data.frame(v.name = character(0), chr.orderD = numeric(0)) - } - - Jchain = unlist(strsplit(splt[3], ",")) - Jchain = data.frame(v.name = Jchain, chr.orderJ = 1:length(Jchain)) - -} else { - genes = read.table("genes.txt", sep="\t", header=TRUE, fill=T, comment.char="") - - Vchain = genes[grepl(species, genes$Species) & genes$locus == locus & genes$region == "V",c("IMGT.GENE.DB", "chr.order")] - colnames(Vchain) = c("v.name", "chr.orderV") - Dchain = genes[grepl(species, genes$Species) & genes$locus == locus & genes$region == "D",c("IMGT.GENE.DB", "chr.order")] - colnames(Dchain) = c("v.name", "chr.orderD") - Jchain = genes[grepl(species, genes$Species) & genes$locus == locus & genes$region == "J",c("IMGT.GENE.DB", "chr.order")] - colnames(Jchain) = c("v.name", "chr.orderJ") -} -useD = TRUE -if(nrow(Dchain) == 0){ - useD = FALSE - cat("No D Genes in this species/locus") -} -print(paste(nrow(Vchain), "genes in V")) -print(paste(nrow(Dchain), "genes in D")) -print(paste(nrow(Jchain), "genes in J")) - -# ---------------------- merge with the frequency count ---------------------- - -PRODFV = merge(PRODFV, Vchain, by.x='Top.V.Gene', by.y='v.name', all.x=TRUE) - -PRODFD = merge(PRODFD, Dchain, by.x='Top.D.Gene', by.y='v.name', all.x=TRUE) - -PRODFJ = merge(PRODFJ, Jchain, by.x='Top.J.Gene', by.y='v.name', all.x=TRUE) - -# ---------------------- Create the V, D and J frequency plots and write the data.frame for every plot to a file ---------------------- - -print("Report Clonality - V, D and J frequency plots") - -pV = ggplot(PRODFV) -pV = pV + geom_bar( aes( x=factor(reorder(Top.V.Gene, chr.orderV)), y=relFreq, fill=Sample), stat='identity', position="dodge") + theme(axis.text.x = element_text(angle = 90, hjust = 1)) -pV = pV + xlab("Summary of V gene") + ylab("Frequency") + ggtitle("Relative frequency of V gene usage") + scale_fill_manual(values=sample.colors) -pV = pV + theme(panel.background = element_rect(fill = "white", colour="black"),text = element_text(size=15, colour="black"), axis.text.x = element_text(angle = 45, hjust = 1), panel.grid.major.y = element_line(colour = "black"), panel.grid.major.x = element_blank()) -write.table(x=PRODFV, file="VFrequency.txt", sep="\t",quote=F,row.names=F,col.names=T) - -png("VPlot.png",width = 1280, height = 720) -pV -dev.off() - -ggsave("VPlot.pdf", pV, width=13, height=7) - -if(useD){ - pD = ggplot(PRODFD) - pD = pD + geom_bar( aes( x=factor(reorder(Top.D.Gene, chr.orderD)), y=relFreq, fill=Sample), stat='identity', position="dodge") + theme(axis.text.x = element_text(angle = 90, hjust = 1)) - pD = pD + xlab("Summary of D gene") + ylab("Frequency") + ggtitle("Relative frequency of D gene usage") + scale_fill_manual(values=sample.colors) - pD = pD + theme(panel.background = element_rect(fill = "white", colour="black"),text = element_text(size=15, colour="black"), axis.text.x = element_text(angle = 45, hjust = 1), panel.grid.major.y = element_line(colour = "black"), panel.grid.major.x = element_blank()) - write.table(x=PRODFD, file="DFrequency.txt", sep="\t",quote=F,row.names=F,col.names=T) - - png("DPlot.png",width = 800, height = 600) - print(pD) - dev.off() - - ggsave("DPlot.pdf", pD, width=10, height=7) -} - -pJ = ggplot(PRODFJ) -pJ = pJ + geom_bar( aes( x=factor(reorder(Top.J.Gene, chr.orderJ)), y=relFreq, fill=Sample), stat='identity', position="dodge") + theme(axis.text.x = element_text(angle = 90, hjust = 1)) -pJ = pJ + xlab("Summary of J gene") + ylab("Frequency") + ggtitle("Relative frequency of J gene usage") + scale_fill_manual(values=sample.colors) -pJ = pJ + theme(panel.background = element_rect(fill = "white", colour="black"),text = element_text(size=15, colour="black"), axis.text.x = element_text(angle = 45, hjust = 1), panel.grid.major.y = element_line(colour = "black"), panel.grid.major.x = element_blank()) -write.table(x=PRODFJ, file="JFrequency.txt", sep="\t",quote=F,row.names=F,col.names=T) - -png("JPlot.png",width = 800, height = 600) -pJ -dev.off() - -ggsave("JPlot.pdf", pJ) - -# ---------------------- Now the frequency plots of the V, D and J families ---------------------- - -print("Report Clonality - V, D and J family plots") - -VGenes = PRODF[,c("Sample", "Top.V.Gene")] -VGenes$Top.V.Gene = gsub("-.*", "", VGenes$Top.V.Gene) -VGenes = data.frame(data.table(VGenes)[, list(Count=.N), by=c("Sample", "Top.V.Gene")]) -TotalPerSample = data.frame(data.table(VGenes)[, list(total=sum(.SD$Count)), by=Sample]) -VGenes = merge(VGenes, TotalPerSample, by="Sample") -VGenes$Frequency = VGenes$Count * 100 / VGenes$total -VPlot = ggplot(VGenes) -VPlot = VPlot + geom_bar(aes( x = Top.V.Gene, y = Frequency, fill = Sample), stat='identity', position='dodge' ) + theme(axis.text.x = element_text(angle = 90, hjust = 1)) + - ggtitle("Distribution of V gene families") + - ylab("Percentage of sequences") + - scale_fill_manual(values=sample.colors) + - theme(panel.background = element_rect(fill = "white", colour="black"),text = element_text(size=15, colour="black"), axis.text.x = element_text(angle = 45, hjust = 1), panel.grid.major.y = element_line(colour = "black"), panel.grid.major.x = element_blank()) -png("VFPlot.png") -VPlot -dev.off() -ggsave("VFPlot.pdf", VPlot) - -write.table(x=VGenes, file="VFFrequency.txt", sep="\t",quote=F,row.names=F,col.names=T) - -if(useD){ - DGenes = PRODF[,c("Sample", "Top.D.Gene")] - DGenes$Top.D.Gene = gsub("-.*", "", DGenes$Top.D.Gene) - DGenes = data.frame(data.table(DGenes)[, list(Count=.N), by=c("Sample", "Top.D.Gene")]) - TotalPerSample = data.frame(data.table(DGenes)[, list(total=sum(.SD$Count)), by=Sample]) - DGenes = merge(DGenes, TotalPerSample, by="Sample") - DGenes$Frequency = DGenes$Count * 100 / DGenes$total - DPlot = ggplot(DGenes) - DPlot = DPlot + geom_bar(aes( x = Top.D.Gene, y = Frequency, fill = Sample), stat='identity', position='dodge' ) + theme(axis.text.x = element_text(angle = 90, hjust = 1)) + - ggtitle("Distribution of D gene families") + - ylab("Percentage of sequences") + - scale_fill_manual(values=sample.colors) + - theme(panel.background = element_rect(fill = "white", colour="black"),text = element_text(size=15, colour="black"), axis.text.x = element_text(angle = 45, hjust = 1), panel.grid.major.y = element_line(colour = "black"), panel.grid.major.x = element_blank()) - png("DFPlot.png") - print(DPlot) - dev.off() - - ggsave("DFPlot.pdf", DPlot) - write.table(x=DGenes, file="DFFrequency.txt", sep="\t",quote=F,row.names=F,col.names=T) -} - -# ---------------------- Plotting the cdr3 length ---------------------- - -print("Report Clonality - CDR3 length plot") - -CDR3Length = data.frame(data.table(PRODF)[, list(Count=.N), by=c("Sample", "CDR3.Length")]) -TotalPerSample = data.frame(data.table(CDR3Length)[, list(total=sum(.SD$Count)), by=Sample]) -CDR3Length = merge(CDR3Length, TotalPerSample, by="Sample") -CDR3Length$Frequency = CDR3Length$Count * 100 / CDR3Length$total -CDR3LengthPlot = ggplot(CDR3Length) -CDR3LengthPlot = CDR3LengthPlot + geom_bar(aes( x = factor(reorder(CDR3.Length, as.numeric(CDR3.Length))), y = Frequency, fill = Sample), stat='identity', position='dodge' ) + theme(axis.text.x = element_text(angle = 90, hjust = 1)) + - ggtitle("Length distribution of CDR3") + - xlab("CDR3 Length") + - ylab("Percentage of sequences") + - scale_fill_manual(values=sample.colors) + - theme(panel.background = element_rect(fill = "white", colour="black"),text = element_text(size=15, colour="black"), axis.text.x = element_text(angle = 45, hjust = 1), panel.grid.major.y = element_line(colour = "black"), panel.grid.major.x = element_blank()) -png("CDR3LengthPlot.png",width = 1280, height = 720) -CDR3LengthPlot -dev.off() - -ggsave("CDR3LengthPlot.pdf", CDR3LengthPlot, width=12, height=7) - -write.table(x=CDR3Length, file="CDR3LengthPlot.txt", sep="\t",quote=F,row.names=F,col.names=T) - -# ---------------------- Plot the heatmaps ---------------------- - -#get the reverse order for the V and D genes -revVchain = Vchain -revDchain = Dchain -revVchain$chr.orderV = rev(revVchain$chr.orderV) -revDchain$chr.orderD = rev(revDchain$chr.orderD) - -if(useD){ - print("Report Clonality - Heatmaps VD") - plotVD <- function(dat){ - if(length(dat[,1]) == 0){ - return() - } - - img = ggplot() + - geom_tile(data=dat, aes(x=factor(reorder(Top.D.Gene, chr.orderD)), y=factor(reorder(Top.V.Gene, chr.orderV)), fill=relLength)) + - theme(axis.text.x = element_text(angle = 90, hjust = 1)) + - scale_fill_gradient(low="gold", high="blue", na.value="white") + - ggtitle(paste(unique(dat$Sample), " (N=" , sum(dat$Length, na.rm=T) ,")", sep="")) + - xlab("D genes") + - ylab("V Genes") + - theme(panel.background = element_rect(fill = "white", colour="black"),text = element_text(size=15, colour="black"), panel.grid.major = element_line(colour = "gainsboro")) - - png(paste("HeatmapVD_", unique(dat[3])[1,1] , ".png", sep=""), width=200+(15*length(Dchain$v.name)), height=100+(15*length(Vchain$v.name))) - print(img) - dev.off() - - ggsave(paste("HeatmapVD_", unique(dat[3])[1,1] , ".pdf", sep=""), img, height=13, width=8) - - write.table(x=acast(dat, Top.V.Gene~Top.D.Gene, value.var="Length"), file=paste("HeatmapVD_", unique(dat[3])[1,1], ".txt", sep=""), sep="\t",quote=F,row.names=T,col.names=NA) - } - - VandDCount = data.frame(data.table(PRODF)[, list(Length=.N), by=c("Top.V.Gene", "Top.D.Gene", "Sample")]) - - VandDCount$l = log(VandDCount$Length) - maxVD = data.frame(data.table(VandDCount)[, list(max=max(l)), by=c("Sample")]) - VandDCount = merge(VandDCount, maxVD, by.x="Sample", by.y="Sample", all.x=T) - VandDCount$relLength = VandDCount$l / VandDCount$max - check = is.nan(VandDCount$relLength) - if(any(check)){ - VandDCount[check,"relLength"] = 0 - } - - completeVD = merge(VandDCount, revVchain, by.x="Top.V.Gene", by.y="v.name", all=TRUE) - completeVD = merge(completeVD, Dchain, by.x="Top.D.Gene", by.y="v.name", all=TRUE) - - fltr = is.nan(completeVD$relLength) - if(all(fltr)){ - completeVD[fltr,"relLength"] = 0 - } - - VDList = split(completeVD, f=completeVD[,"Sample"]) - lapply(VDList, FUN=plotVD) -} - -print("Report Clonality - Heatmaps VJ") - -plotVJ <- function(dat){ - if(length(dat[,1]) == 0){ - return() - } - cat(paste(unique(dat[3])[1,1])) - img = ggplot() + - geom_tile(data=dat, aes(x=factor(reorder(Top.J.Gene, chr.orderJ)), y=factor(reorder(Top.V.Gene, chr.orderV)), fill=relLength)) + - theme(axis.text.x = element_text(angle = 90, hjust = 1)) + - scale_fill_gradient(low="gold", high="blue", na.value="white") + - ggtitle(paste(unique(dat$Sample), " (N=" , sum(dat$Length, na.rm=T) ,")", sep="")) + - xlab("J genes") + - ylab("V Genes") + - theme(panel.background = element_rect(fill = "white", colour="black"),text = element_text(size=15, colour="black"), panel.grid.major = element_line(colour = "gainsboro")) - - png(paste("HeatmapVJ_", unique(dat[3])[1,1] , ".png", sep=""), width=200+(15*length(Jchain$v.name)), height=100+(15*length(Vchain$v.name))) - print(img) - dev.off() - - ggsave(paste("HeatmapVJ_", unique(dat[3])[1,1] , ".pdf", sep=""), img, height=11, width=4) - - write.table(x=acast(dat, Top.V.Gene~Top.J.Gene, value.var="Length"), file=paste("HeatmapVJ_", unique(dat[3])[1,1], ".txt", sep=""), sep="\t",quote=F,row.names=T,col.names=NA) -} - - - -VandJCount = data.frame(data.table(PRODF)[, list(Length=.N), by=c("Top.V.Gene", "Top.J.Gene", "Sample")]) - -VandJCount$l = log(VandJCount$Length) -maxVJ = data.frame(data.table(VandJCount)[, list(max=max(l)), by=c("Sample")]) -VandJCount = merge(VandJCount, maxVJ, by.x="Sample", by.y="Sample", all.x=T) -VandJCount$relLength = VandJCount$l / VandJCount$max - -check = is.nan(VandJCount$relLength) -if(any(check)){ - VandJCount[check,"relLength"] = 0 -} - -completeVJ = merge(VandJCount, revVchain, by.x="Top.V.Gene", by.y="v.name", all=TRUE) -completeVJ = merge(completeVJ, Jchain, by.x="Top.J.Gene", by.y="v.name", all=TRUE) - -fltr = is.nan(completeVJ$relLength) -if(any(fltr)){ - completeVJ[fltr,"relLength"] = 1 -} - -VJList = split(completeVJ, f=completeVJ[,"Sample"]) -lapply(VJList, FUN=plotVJ) - - - -if(useD){ - print("Report Clonality - Heatmaps DJ") - plotDJ <- function(dat){ - if(length(dat[,1]) == 0){ - return() - } - img = ggplot() + - geom_tile(data=dat, aes(x=factor(reorder(Top.J.Gene, chr.orderJ)), y=factor(reorder(Top.D.Gene, chr.orderD)), fill=relLength)) + - theme(axis.text.x = element_text(angle = 90, hjust = 1)) + - scale_fill_gradient(low="gold", high="blue", na.value="white") + - ggtitle(paste(unique(dat$Sample), " (N=" , sum(dat$Length, na.rm=T) ,")", sep="")) + - xlab("J genes") + - ylab("D Genes") + - theme(panel.background = element_rect(fill = "white", colour="black"),text = element_text(size=15, colour="black"), panel.grid.major = element_line(colour = "gainsboro")) - - png(paste("HeatmapDJ_", unique(dat[3])[1,1] , ".png", sep=""), width=200+(15*length(Jchain$v.name)), height=100+(15*length(Dchain$v.name))) - print(img) - dev.off() - - ggsave(paste("HeatmapDJ_", unique(dat[3])[1,1] , ".pdf", sep=""), img, width=4, height=7) - - write.table(x=acast(dat, Top.D.Gene~Top.J.Gene, value.var="Length"), file=paste("HeatmapDJ_", unique(dat[3])[1,1], ".txt", sep=""), sep="\t",quote=F,row.names=T,col.names=NA) - } - - - DandJCount = data.frame(data.table(PRODF)[, list(Length=.N), by=c("Top.D.Gene", "Top.J.Gene", "Sample")]) - - DandJCount$l = log(DandJCount$Length) - maxDJ = data.frame(data.table(DandJCount)[, list(max=max(l)), by=c("Sample")]) - DandJCount = merge(DandJCount, maxDJ, by.x="Sample", by.y="Sample", all.x=T) - DandJCount$relLength = DandJCount$l / DandJCount$max - - check = is.nan(DandJCount$relLength) - if(any(check)){ - DandJCount[check,"relLength"] = 0 - } - - cartegianProductDJ = expand.grid(Top.D.Gene = Dchain$v.name, Top.J.Gene = Jchain$v.name) - - completeDJ = merge(DandJCount, revDchain, by.x="Top.D.Gene", by.y="v.name", all=TRUE) - completeDJ = merge(completeDJ, Jchain, by.x="Top.J.Gene", by.y="v.name", all=TRUE) - - fltr = is.nan(completeDJ$relLength) - if(any(fltr)){ - completeDJ[fltr, "relLength"] = 1 - } - - DJList = split(completeDJ, f=completeDJ[,"Sample"]) - lapply(DJList, FUN=plotDJ) -} - - -# ---------------------- output tables for the circos plots ---------------------- - -print("Report Clonality - Circos data") - -for(smpl in unique(PRODF$Sample)){ - PRODF.sample = PRODF[PRODF$Sample == smpl,] - - fltr = PRODF.sample$Top.V.Gene == "" - if(any(fltr, na.rm=T)){ - PRODF.sample[fltr, "Top.V.Gene"] = "NA" - } - - fltr = PRODF.sample$Top.D.Gene == "" - if(any(fltr, na.rm=T)){ - PRODF.sample[fltr, "Top.D.Gene"] = "NA" - } - - fltr = PRODF.sample$Top.J.Gene == "" - if(any(fltr, na.rm=T)){ - PRODF.sample[fltr, "Top.J.Gene"] = "NA" - } - - v.d = table(PRODF.sample$Top.V.Gene, PRODF.sample$Top.D.Gene) - v.j = table(PRODF.sample$Top.V.Gene, PRODF.sample$Top.J.Gene) - d.j = table(PRODF.sample$Top.D.Gene, PRODF.sample$Top.J.Gene) - - write.table(v.d, file=paste(smpl, "_VD_circos.txt", sep=""), sep="\t", quote=F, row.names=T, col.names=NA) - write.table(v.j, file=paste(smpl, "_VJ_circos.txt", sep=""), sep="\t", quote=F, row.names=T, col.names=NA) - write.table(d.j, file=paste(smpl, "_DJ_circos.txt", sep=""), sep="\t", quote=F, row.names=T, col.names=NA) -} - -# ---------------------- calculating the clonality score ---------------------- - -if("Replicate" %in% colnames(inputdata)) #can only calculate clonality score when replicate information is available -{ - print("Report Clonality - Clonality") - write.table(clonalityFrame, "clonalityComplete.txt", sep="\t",quote=F,row.names=F,col.names=T) - if(clonality_method == "boyd"){ - samples = split(clonalityFrame, clonalityFrame$Sample, drop=T) - - for (sample in samples){ - res = data.frame(paste=character(0)) - sample_id = unique(sample$Sample)[[1]] - for(replicate in unique(sample$Replicate)){ - tmp = sample[sample$Replicate == replicate,] - clone_table = data.frame(table(tmp$clonaltype)) - clone_col_name = paste("V", replicate, sep="") - colnames(clone_table) = c("paste", clone_col_name) - res = merge(res, clone_table, by="paste", all=T) - } - - res[is.na(res)] = 0 - - write.table(res, file=paste("raw_clonality_", sample_id, ".txt", sep=""), sep="\t",quote=F,row.names=F,col.names=F) - write.table(as.matrix(res[,2:ncol(res)]), file=paste("raw_clonality2_", sample_id, ".txt", sep=""), sep="\t",quote=F,row.names=F,col.names=F) - - res = read.table(paste("raw_clonality_", sample_id, ".txt", sep=""), header=F, sep="\t", quote="", stringsAsFactors=F, fill=T, comment.char="") - - infer.result = infer.clonality(as.matrix(res[,2:ncol(res)])) - - #print(infer.result) - - write.table(data.table(infer.result[[12]]), file=paste("lymphclon_clonality_", sample_id, ".txt", sep=""), sep="\t",quote=F,row.names=F,col.names=F) - - res$type = rowSums(res[,2:ncol(res)]) - - coincidence.table = data.frame(table(res$type)) - colnames(coincidence.table) = c("Coincidence Type", "Raw Coincidence Freq") - write.table(coincidence.table, file=paste("lymphclon_coincidences_", sample_id, ".txt", sep=""), sep="\t",quote=F,row.names=F,col.names=T) - } - } - clonalFreq = data.frame(data.table(clonalityFrame)[, list(Type=.N), by=c("Sample", "clonaltype")]) - - #write files for every coincidence group of >1 - samples = unique(clonalFreq$Sample) - for(sample in samples){ - clonalFreqSample = clonalFreq[clonalFreq$Sample == sample,] - if(max(clonalFreqSample$Type) > 1){ - for(i in 2:max(clonalFreqSample$Type)){ - clonalFreqSampleType = clonalFreqSample[clonalFreqSample$Type == i,] - clonalityFrame.sub = clonalityFrame[clonalityFrame$clonaltype %in% clonalFreqSampleType$clonaltype,] - clonalityFrame.sub = clonalityFrame.sub[order(clonalityFrame.sub$clonaltype),] - write.table(clonalityFrame.sub, file=paste("coincidences_", sample, "_", i, ".txt", sep=""), sep="\t",quote=F,row.names=F,col.names=T) - } - } - } - - clonalFreqCount = data.frame(data.table(clonalFreq)[, list(Count=.N), by=c("Sample", "Type")]) - clonalFreqCount$realCount = clonalFreqCount$Type * clonalFreqCount$Count - clonalSum = data.frame(data.table(clonalFreqCount)[, list(Reads=sum(realCount)), by=c("Sample")]) - clonalFreqCount = merge(clonalFreqCount, clonalSum, by.x="Sample", by.y="Sample") - - ct = c('Type\tWeight\n2\t1\n3\t3\n4\t6\n5\t10\n6\t15') - tcct = textConnection(ct) - CT = read.table(tcct, sep="\t", header=TRUE) - close(tcct) - clonalFreqCount = merge(clonalFreqCount, CT, by.x="Type", by.y="Type", all.x=T) - clonalFreqCount$WeightedCount = clonalFreqCount$Count * clonalFreqCount$Weight - - ReplicateReads = data.frame(data.table(clonalityFrame)[, list(Type=.N), by=c("Sample", "Replicate", "clonaltype")]) - ReplicateReads = data.frame(data.table(ReplicateReads)[, list(Reads=.N), by=c("Sample", "Replicate")]) - clonalFreqCount$Reads = as.numeric(clonalFreqCount$Reads) - ReplicateReads$Reads = as.numeric(ReplicateReads$Reads) - ReplicateReads$squared = as.numeric(ReplicateReads$Reads * ReplicateReads$Reads) - - ReplicatePrint <- function(dat){ - write.table(dat[-1], paste("ReplicateReads_", unique(dat[1])[1,1] , ".txt", sep=""), sep="\t",quote=F,na="-",row.names=F,col.names=F) - } - - ReplicateSplit = split(ReplicateReads, f=ReplicateReads[,"Sample"]) - lapply(ReplicateSplit, FUN=ReplicatePrint) - - ReplicateReads = data.frame(data.table(ReplicateReads)[, list(ReadsSum=sum(as.numeric(Reads)), ReadsSquaredSum=sum(as.numeric(squared))), by=c("Sample")]) - clonalFreqCount = merge(clonalFreqCount, ReplicateReads, by.x="Sample", by.y="Sample", all.x=T) - - ReplicateSumPrint <- function(dat){ - write.table(dat[-1], paste("ReplicateSumReads_", unique(dat[1])[1,1] , ".txt", sep=""), sep="\t",quote=F,na="-",row.names=F,col.names=F) - } - - ReplicateSumSplit = split(ReplicateReads, f=ReplicateReads[,"Sample"]) - lapply(ReplicateSumSplit, FUN=ReplicateSumPrint) - - clonalFreqCountSum = data.frame(data.table(clonalFreqCount)[, list(Numerator=sum(WeightedCount, na.rm=T)), by=c("Sample")]) - clonalFreqCount = merge(clonalFreqCount, clonalFreqCountSum, by.x="Sample", by.y="Sample", all.x=T) - clonalFreqCount$ReadsSum = as.numeric(clonalFreqCount$ReadsSum) #prevent integer overflow - clonalFreqCount$Denominator = (((clonalFreqCount$ReadsSum * clonalFreqCount$ReadsSum) - clonalFreqCount$ReadsSquaredSum) / 2) - clonalFreqCount$Result = (clonalFreqCount$Numerator + 1) / (clonalFreqCount$Denominator + 1) - - ClonalityScorePrint <- function(dat){ - write.table(dat$Result, paste("ClonalityScore_", unique(dat[1])[1,1] , ".txt", sep=""), sep="\t",quote=F,na="-",row.names=F,col.names=F) - } - - clonalityScore = clonalFreqCount[c("Sample", "Result")] - clonalityScore = unique(clonalityScore) - - clonalityScoreSplit = split(clonalityScore, f=clonalityScore[,"Sample"]) - lapply(clonalityScoreSplit, FUN=ClonalityScorePrint) - - clonalityOverview = clonalFreqCount[c("Sample", "Type", "Count", "Weight", "WeightedCount")] - - - - ClonalityOverviewPrint <- function(dat){ - dat = dat[order(dat[,2]),] - write.table(dat[-1], paste("ClonalityOverView_", unique(dat[1])[1,1] , ".txt", sep=""), sep="\t",quote=F,na="-",row.names=F,col.names=F) - } - - clonalityOverviewSplit = split(clonalityOverview, f=clonalityOverview$Sample) - lapply(clonalityOverviewSplit, FUN=ClonalityOverviewPrint) - -} - -bak = PRODF -bakun = UNPROD - -imgtcolumns = c("X3V.REGION.trimmed.nt.nb","P3V.nt.nb", "N1.REGION.nt.nb", "P5D.nt.nb", "X5D.REGION.trimmed.nt.nb", "X3D.REGION.trimmed.nt.nb", "P3D.nt.nb", "N2.REGION.nt.nb", "P5J.nt.nb", "X5J.REGION.trimmed.nt.nb", "X3V.REGION.trimmed.nt.nb", "X5D.REGION.trimmed.nt.nb", "X3D.REGION.trimmed.nt.nb", "X5J.REGION.trimmed.nt.nb", "N1.REGION.nt.nb", "N2.REGION.nt.nb", "P3V.nt.nb", "P5D.nt.nb", "P3D.nt.nb", "P5J.nt.nb") -if(all(imgtcolumns %in% colnames(inputdata))) -{ - print("found IMGT columns, running junction analysis") - - #ensure certain columns are in the data (files generated with older versions of IMGT Loader) - col.checks = c("N.REGION.nt.nb", "N1.REGION.nt.nb", "N2.REGION.nt.nb", "N3.REGION.nt.nb", "N4.REGION.nt.nb") - for(col.check in col.checks){ - if(!(col.check %in% names(PRODF))){ - print(paste(col.check, "not found adding new column")) - if(nrow(PRODF) > 0){ #because R is anoying... - PRODF[,col.check] = 0 - } else { - PRODF = cbind(PRODF, data.frame(N3.REGION.nt.nb=numeric(0), N4.REGION.nt.nb=numeric(0))) - } - if(nrow(UNPROD) > 0){ - UNPROD[,col.check] = 0 - } else { - UNPROD = cbind(UNPROD, data.frame(N3.REGION.nt.nb=numeric(0), N4.REGION.nt.nb=numeric(0))) - } - } - } - - PRODF.with.D = PRODF[nchar(PRODF$Top.D.Gene, keepNA=F) > 2,] - PRODF.no.D = PRODF[nchar(PRODF$Top.D.Gene, keepNA=F) < 4,] - write.table(PRODF.no.D, "productive_no_D.txt" , sep="\t",quote=F,na="-",row.names=F,col.names=T) - - UNPROD.with.D = UNPROD[nchar(UNPROD$Top.D.Gene, keepNA=F) > 2,] - UNPROD.no.D = UNPROD[nchar(UNPROD$Top.D.Gene, keepNA=F) < 4,] - write.table(UNPROD.no.D, "unproductive_no_D.txt" , sep="\t",quote=F,na="-",row.names=F,col.names=T) - - num_median = function(x, na.rm=T) { as.numeric(median(x, na.rm=na.rm)) } - - newData = data.frame(data.table(PRODF.with.D)[,list(unique=.N, - VH.DEL=mean(.SD$X3V.REGION.trimmed.nt.nb, na.rm=T), - P1=mean(.SD$P3V.nt.nb, na.rm=T), - N1=mean(rowSums(.SD[,c("N.REGION.nt.nb", "N1.REGION.nt.nb"), with=F], na.rm=T)), - P2=mean(.SD$P5D.nt.nb, na.rm=T), - DEL.DH=mean(.SD$X5D.REGION.trimmed.nt.nb, na.rm=T), - DH.DEL=mean(.SD$X3D.REGION.trimmed.nt.nb, na.rm=T), - P3=mean(.SD$P3D.nt.nb, na.rm=T), - N2=mean(rowSums(.SD[,c("N2.REGION.nt.nb", "N3.REGION.nt.nb", "N4.REGION.nt.nb"), with=F], na.rm=T)), - P4=mean(.SD$P5J.nt.nb, na.rm=T), - DEL.JH=mean(.SD$X5J.REGION.trimmed.nt.nb, na.rm=T), - Total.Del=mean(rowSums(.SD[,c("X3V.REGION.trimmed.nt.nb", "X5D.REGION.trimmed.nt.nb", "X3D.REGION.trimmed.nt.nb", "X5J.REGION.trimmed.nt.nb"), with=F], na.rm=T)), - Total.N=mean(rowSums(.SD[,c("N.REGION.nt.nb", "N1.REGION.nt.nb", "N2.REGION.nt.nb", "N3.REGION.nt.nb", "N4.REGION.nt.nb"), with=F], na.rm=T)), - Total.P=mean(rowSums(.SD[,c("P3V.nt.nb", "P5D.nt.nb", "P3D.nt.nb", "P5J.nt.nb"), with=F], na.rm=T)), - Median.CDR3.l=as.double(median(as.numeric(.SD$CDR3.Length), na.rm=T))), - by=c("Sample")]) - newData[,sapply(newData, is.numeric)] = round(newData[,sapply(newData, is.numeric)],1) - write.table(newData, "junctionAnalysisProd_mean_wD.txt" , sep="\t",quote=F,na="-",row.names=F,col.names=F) - - newData = data.frame(data.table(PRODF.with.D)[,list(unique=.N, - VH.DEL=num_median(.SD$X3V.REGION.trimmed.nt.nb, na.rm=T), - P1=num_median(.SD$P3V.nt.nb, na.rm=T), - N1=num_median(rowSums(.SD[,c("N.REGION.nt.nb", "N1.REGION.nt.nb"), with=F], na.rm=T)), - P2=num_median(.SD$P5D.nt.nb, na.rm=T), - DEL.DH=num_median(.SD$X5D.REGION.trimmed.nt.nb, na.rm=T), - DH.DEL=num_median(.SD$X3D.REGION.trimmed.nt.nb, na.rm=T), - P3=num_median(.SD$P3D.nt.nb, na.rm=T), - N2=num_median(rowSums(.SD[,c("N2.REGION.nt.nb", "N3.REGION.nt.nb", "N4.REGION.nt.nb"), with=F], na.rm=T)), - P4=num_median(.SD$P5J.nt.nb, na.rm=T), - DEL.JH=num_median(.SD$X5J.REGION.trimmed.nt.nb, na.rm=T), - Total.Del=num_median(rowSums(.SD[,c("X3V.REGION.trimmed.nt.nb", "X5D.REGION.trimmed.nt.nb", "X3D.REGION.trimmed.nt.nb", "X5J.REGION.trimmed.nt.nb"), with=F], na.rm=T)), - Total.N=num_median(rowSums(.SD[,c("N.REGION.nt.nb", "N1.REGION.nt.nb", "N2.REGION.nt.nb", "N3.REGION.nt.nb", "N4.REGION.nt.nb"), with=F], na.rm=T)), - Total.P=num_median(rowSums(.SD[,c("P3V.nt.nb", "P5D.nt.nb", "P3D.nt.nb", "P5J.nt.nb"), with=F], na.rm=T)), - Median.CDR3.l=as.double(median(as.numeric(.SD$CDR3.Length), na.rm=T))), - by=c("Sample")]) - newData[,sapply(newData, is.numeric)] = round(newData[,sapply(newData, is.numeric)],1) - write.table(newData, "junctionAnalysisProd_median_wD.txt" , sep="\t",quote=F,na="-",row.names=F,col.names=F) - - newData = data.frame(data.table(UNPROD.with.D)[,list(unique=.N, - VH.DEL=mean(.SD$X3V.REGION.trimmed.nt.nb, na.rm=T), - P1=mean(.SD$P3V.nt.nb, na.rm=T), - N1=mean(rowSums(.SD[,c("N.REGION.nt.nb", "N1.REGION.nt.nb"), with=F], na.rm=T)), - P2=mean(.SD$P5D.nt.nb, na.rm=T), - DEL.DH=mean(.SD$X5D.REGION.trimmed.nt.nb, na.rm=T), - DH.DEL=mean(.SD$X3D.REGION.trimmed.nt.nb, na.rm=T), - P3=mean(.SD$P3D.nt.nb, na.rm=T), - N2=mean(rowSums(.SD[,c("N2.REGION.nt.nb", "N3.REGION.nt.nb", "N4.REGION.nt.nb"), with=F], na.rm=T)), - P4=mean(.SD$P5J.nt.nb, na.rm=T), - DEL.JH=mean(.SD$X5J.REGION.trimmed.nt.nb, na.rm=T), - Total.Del=mean(rowSums(.SD[,c("X3V.REGION.trimmed.nt.nb", "X5D.REGION.trimmed.nt.nb", "X3D.REGION.trimmed.nt.nb", "X5J.REGION.trimmed.nt.nb"), with=F], na.rm=T)), - Total.N=mean(rowSums(.SD[,c("N.REGION.nt.nb", "N1.REGION.nt.nb", "N2.REGION.nt.nb", "N3.REGION.nt.nb", "N4.REGION.nt.nb"), with=F], na.rm=T)), - Total.P=mean(rowSums(.SD[,c("P3V.nt.nb", "P5D.nt.nb", "P3D.nt.nb", "P5J.nt.nb"), with=F], na.rm=T)), - Median.CDR3.l=as.double(median(as.numeric(.SD$CDR3.Length), na.rm=T))), - by=c("Sample")]) - newData[,sapply(newData, is.numeric)] = round(newData[,sapply(newData, is.numeric)],1) - write.table(newData, "junctionAnalysisUnProd_mean_wD.txt" , sep="\t",quote=F,na="-",row.names=F,col.names=F) - - newData = data.frame(data.table(UNPROD.with.D)[,list(unique=.N, - VH.DEL=num_median(.SD$X3V.REGION.trimmed.nt.nb, na.rm=T), - P1=num_median(.SD$P3V.nt.nb, na.rm=T), - N1=num_median(rowSums(.SD[,c("N.REGION.nt.nb", "N1.REGION.nt.nb"), with=F], na.rm=T)), - P2=num_median(.SD$P5D.nt.nb, na.rm=T), - DEL.DH=num_median(.SD$X5D.REGION.trimmed.nt.nb, na.rm=T), - DH.DEL=num_median(.SD$X3D.REGION.trimmed.nt.nb, na.rm=T), - P3=num_median(.SD$P3D.nt.nb, na.rm=T), - N2=num_median(rowSums(.SD[,c("N2.REGION.nt.nb", "N3.REGION.nt.nb", "N4.REGION.nt.nb"), with=F], na.rm=T)), - P4=num_median(.SD$P5J.nt.nb, na.rm=T), - DEL.JH=num_median(.SD$X5J.REGION.trimmed.nt.nb, na.rm=T), - Total.Del=num_median(rowSums(.SD[,c("X3V.REGION.trimmed.nt.nb", "X5D.REGION.trimmed.nt.nb", "X3D.REGION.trimmed.nt.nb", "X5J.REGION.trimmed.nt.nb"), with=F], na.rm=T)), - Total.N=num_median(rowSums(.SD[,c("N.REGION.nt.nb", "N1.REGION.nt.nb", "N2.REGION.nt.nb", "N3.REGION.nt.nb", "N4.REGION.nt.nb"), with=F], na.rm=T)), - Total.P=num_median(rowSums(.SD[,c("P3V.nt.nb", "P5D.nt.nb", "P3D.nt.nb", "P5J.nt.nb"), with=F], na.rm=T)), - Median.CDR3.l=as.double(median(as.numeric(.SD$CDR3.Length), na.rm=T))), - by=c("Sample")]) - newData[,sapply(newData, is.numeric)] = round(newData[,sapply(newData, is.numeric)],1) - write.table(newData, "junctionAnalysisUnProd_median_wD.txt" , sep="\t",quote=F,na="-",row.names=F,col.names=F) - - #---------------- again for no-D - - newData = data.frame(data.table(PRODF.no.D)[,list(unique=.N, - VH.DEL=mean(.SD$X3V.REGION.trimmed.nt.nb, na.rm=T), - P1=mean(.SD$P3V.nt.nb, na.rm=T), - N1=mean(.SD$N.REGION.nt.nb, na.rm=T), - P2=mean(.SD$P5J.nt.nb, na.rm=T), - DEL.JH=mean(.SD$X5J.REGION.trimmed.nt.nb, na.rm=T), - Total.Del=mean(rowSums(.SD[,c("X3V.REGION.trimmed.nt.nb", "X5J.REGION.trimmed.nt.nb"), with=F], na.rm=T)), - Total.N=mean(.SD$N.REGION.nt.nb, na.rm=T), - Total.P=mean(rowSums(.SD[,c("P3V.nt.nb", "P5J.nt.nb"), with=F], na.rm=T)), - Median.CDR3.l=as.double(median(as.numeric(.SD$CDR3.Length), na.rm=T))), - by=c("Sample")]) - newData[,sapply(newData, is.numeric)] = round(newData[,sapply(newData, is.numeric)],1) - write.table(newData, "junctionAnalysisProd_mean_nD.txt" , sep="\t",quote=F,na="-",row.names=F,col.names=F) - - newData = data.frame(data.table(PRODF.no.D)[,list(unique=.N, - VH.DEL=num_median(.SD$X3V.REGION.trimmed.nt.nb, na.rm=T), - P1=num_median(.SD$P3V.nt.nb, na.rm=T), - N1=num_median(.SD$N.REGION.nt.nb, na.rm=T), - P2=num_median(.SD$P5J.nt.nb, na.rm=T), - DEL.JH=num_median(.SD$X5J.REGION.trimmed.nt.nb, na.rm=T), - Total.Del=num_median(rowSums(.SD[,c("X3V.REGION.trimmed.nt.nb", "X5J.REGION.trimmed.nt.nb"), with=F], na.rm=T)), - Total.N=num_median(.SD$N.REGION.nt.nb, na.rm=T), - Total.P=num_median(rowSums(.SD[,c("P3V.nt.nb", "P5J.nt.nb"), with=F], na.rm=T)), - Median.CDR3.l=as.double(median(as.numeric(.SD$CDR3.Length), na.rm=T))), - by=c("Sample")]) - newData[,sapply(newData, is.numeric)] = round(newData[,sapply(newData, is.numeric)],1) - write.table(newData, "junctionAnalysisProd_median_nD.txt" , sep="\t",quote=F,na="-",row.names=F,col.names=F) - - newData = data.frame(data.table(UNPROD.no.D)[,list(unique=.N, - VH.DEL=mean(.SD$X3V.REGION.trimmed.nt.nb, na.rm=T), - P1=mean(.SD$P3V.nt.nb, na.rm=T), - N1=mean(.SD$N.REGION.nt.nb, na.rm=T), - P2=mean(.SD$P5J.nt.nb, na.rm=T), - DEL.JH=mean(.SD$X5J.REGION.trimmed.nt.nb, na.rm=T), - Total.Del=mean(rowSums(.SD[,c("X3V.REGION.trimmed.nt.nb", "X5J.REGION.trimmed.nt.nb"), with=F], na.rm=T)), - Total.N=mean(.SD$N.REGION.nt.nb, na.rm=T), - Total.P=mean(rowSums(.SD[,c("P3V.nt.nb", "P5J.nt.nb"), with=F], na.rm=T)), - Median.CDR3.l=as.double(median(as.numeric(.SD$CDR3.Length), na.rm=T))), - by=c("Sample")]) - newData[,sapply(newData, is.numeric)] = round(newData[,sapply(newData, is.numeric)],1) - write.table(newData, "junctionAnalysisUnProd_mean_nD.txt" , sep="\t",quote=F,na="-",row.names=F,col.names=F) - - - newData = data.frame(data.table(UNPROD.no.D)[,list(unique=.N, - VH.DEL=num_median(.SD$X3V.REGION.trimmed.nt.nb, na.rm=T), - P1=num_median(.SD$P3V.nt.nb, na.rm=T), - N1=num_median(.SD$N.REGION.nt.nb, na.rm=T), - P2=num_median(.SD$P5J.nt.nb, na.rm=T), - DEL.JH=num_median(.SD$X5J.REGION.trimmed.nt.nb, na.rm=T), - Total.Del=num_median(rowSums(.SD[,c("X3V.REGION.trimmed.nt.nb", "X5J.REGION.trimmed.nt.nb"), with=F], na.rm=T)), - Total.N=num_median(.SD$N.REGION.nt.nb, na.rm=T), - Total.P=num_median(rowSums(.SD[,c("P3V.nt.nb", "P5J.nt.nb"), with=F], na.rm=T)), - Median.CDR3.l=as.double(median(as.numeric(.SD$CDR3.Length), na.rm=T))), - by=c("Sample")]) - newData[,sapply(newData, is.numeric)] = round(newData[,sapply(newData, is.numeric)],1) - write.table(newData, "junctionAnalysisUnProd_median_nD.txt" , sep="\t",quote=F,na="-",row.names=F,col.names=F) -} - -PRODF = bak -UNPROD = bakun - - -# ---------------------- D reading frame ---------------------- - -D.REGION.reading.frame = PRODF[,c("Sample", "D.REGION.reading.frame")] - -chck = is.na(D.REGION.reading.frame$D.REGION.reading.frame) -if(any(chck)){ - D.REGION.reading.frame[chck,"D.REGION.reading.frame"] = "No D" -} - -D.REGION.reading.frame.1 = data.frame(data.table(D.REGION.reading.frame)[, list(Freq=.N), by=c("Sample", "D.REGION.reading.frame")]) - -D.REGION.reading.frame.2 = data.frame(data.table(D.REGION.reading.frame)[, list(sample.sum=sum(as.numeric(.SD$D.REGION.reading.frame), na.rm=T)), by=c("Sample")]) - -D.REGION.reading.frame = merge(D.REGION.reading.frame.1, D.REGION.reading.frame.2, by="Sample") - -D.REGION.reading.frame$percentage = round(D.REGION.reading.frame$Freq / D.REGION.reading.frame$sample.sum * 100, 1) - -write.table(D.REGION.reading.frame, "DReadingFrame.txt" , sep="\t",quote=F,row.names=F,col.names=T) - -D.REGION.reading.frame = ggplot(D.REGION.reading.frame) -D.REGION.reading.frame = D.REGION.reading.frame + geom_bar(aes( x = D.REGION.reading.frame, y = percentage, fill=Sample), stat='identity', position='dodge' ) + ggtitle("D reading frame") + xlab("Frame") + ylab("Frequency") -D.REGION.reading.frame = D.REGION.reading.frame + scale_fill_manual(values=sample.colors) -D.REGION.reading.frame = D.REGION.reading.frame + theme(panel.background = element_rect(fill = "white", colour="black"),text = element_text(size=15, colour="black"), axis.text.x = element_text(angle = 45, hjust = 1), panel.grid.major.y = element_line(colour = "black"), panel.grid.major.x = element_blank()) - -png("DReadingFrame.png") -D.REGION.reading.frame -dev.off() - -ggsave("DReadingFrame.pdf", D.REGION.reading.frame) - -# ---------------------- AA composition in CDR3 ---------------------- - -AACDR3 = PRODF[,c("Sample", "CDR3.Seq")] - -TotalPerSample = data.frame(data.table(AACDR3)[, list(total=sum(nchar(as.character(.SD$CDR3.Seq)))), by=Sample]) - -AAfreq = list() - -for(i in 1:nrow(TotalPerSample)){ - sample = TotalPerSample$Sample[i] - AAfreq[[i]] = data.frame(table(unlist(strsplit(as.character(AACDR3[AACDR3$Sample == sample,c("CDR3.Seq")]), "")))) - AAfreq[[i]]$Sample = sample -} - -AAfreq = ldply(AAfreq, data.frame) -AAfreq = merge(AAfreq, TotalPerSample, by="Sample", all.x = T) -AAfreq$freq_perc = as.numeric(AAfreq$Freq / AAfreq$total * 100) - - -AAorder = read.table(sep="\t", header=TRUE, text="order.aa\tAA\n1\tR\n2\tK\n3\tN\n4\tD\n5\tQ\n6\tE\n7\tH\n8\tP\n9\tY\n10\tW\n11\tS\n12\tT\n13\tG\n14\tA\n15\tM\n16\tC\n17\tF\n18\tL\n19\tV\n20\tI") -AAfreq = merge(AAfreq, AAorder, by.x='Var1', by.y='AA', all.x=TRUE) - -AAfreq = AAfreq[!is.na(AAfreq$order.aa),] - -AAfreqplot = ggplot(AAfreq) -AAfreqplot = AAfreqplot + geom_bar(aes( x=factor(reorder(Var1, order.aa)), y = freq_perc, fill = Sample), stat='identity', position='dodge' ) -AAfreqplot = AAfreqplot + annotate("rect", xmin = 0.5, xmax = 2.5, ymin = 0, ymax = Inf, fill = "red", alpha = 0.2) -AAfreqplot = AAfreqplot + annotate("rect", xmin = 3.5, xmax = 4.5, ymin = 0, ymax = Inf, fill = "blue", alpha = 0.2) -AAfreqplot = AAfreqplot + annotate("rect", xmin = 5.5, xmax = 6.5, ymin = 0, ymax = Inf, fill = "blue", alpha = 0.2) -AAfreqplot = AAfreqplot + annotate("rect", xmin = 6.5, xmax = 7.5, ymin = 0, ymax = Inf, fill = "red", alpha = 0.2) -AAfreqplot = AAfreqplot + ggtitle("Amino Acid Composition in the CDR3") + xlab("Amino Acid, from Hydrophilic (left) to Hydrophobic (right)") + ylab("Percentage") + scale_fill_manual(values=sample.colors) -AAfreqplot = AAfreqplot + theme(panel.background = element_rect(fill = "white", colour="black"),text = element_text(size=15, colour="black"), panel.grid.major.y = element_line(colour = "black"), panel.grid.major.x = element_blank()) - -png("AAComposition.png",width = 1280, height = 720) -AAfreqplot -dev.off() - -ggsave("AAComposition.pdf", AAfreqplot, width=12, height=7) - -write.table(AAfreq, "AAComposition.txt" , sep="\t",quote=F,na="-",row.names=F,col.names=T) - -# ---------------------- AA median CDR3 length ---------------------- - -median.aa.l = data.frame(data.table(PRODF)[, list(median=as.double(median(as.numeric(.SD$CDR3.Length, na.rm=T), na.rm=T))), by=c("Sample")]) -write.table(median.aa.l, "AAMedianBySample.txt" , sep="\t",quote=F,na="-",row.names=F,col.names=F) - -if(clonaltype != "none"){ - #generate the "Sequences that are present in more than one replicate" dataset - clonaltype.in.replicates = inputdata - clonaltype.in.replicates = clonaltype.in.replicates[clonaltype.in.replicates$Functionality %in% c("productive (see comment)","productive"),] - clonaltype.in.replicates = clonaltype.in.replicates[!(is.na(clonaltype.in.replicates$ID) | is.na(clonaltype.in.replicates$Top.V.Gene) | is.na(clonaltype.in.replicates$Top.J.Gene)),] - clonaltype = unlist(strsplit(clonaltype, ",")) - - clonaltype.in.replicates$clonaltype = do.call(paste, c(clonaltype.in.replicates[clonaltype], sep = ":")) - - clonaltype.in.replicates = clonaltype.in.replicates[!duplicated(clonaltype.in.replicates$clonaltype),] - - clonaltype = clonaltype[-which(clonaltype == "Sample")] - - clonaltype.in.replicates$clonaltype = do.call(paste, c(clonaltype.in.replicates[clonaltype], sep = ":")) - clonaltype.in.replicates = clonaltype.in.replicates[,c("clonaltype","Replicate", "ID", "Sequence", "Sample")] - - - write.table(clonaltype.in.replicates, "clonaltypes_replicates_before_table.txt" , sep="\t",quote=F,na="-",row.names=F,col.names=T) - - clonaltype.counts = data.frame(table(clonaltype.in.replicates$clonaltype)) - - write.table(clonaltype.counts, "clonaltypes_counts.txt" , sep="\t",quote=F,na="-",row.names=F,col.names=T) - - names(clonaltype.counts) = c("clonaltype", "coincidence") - - clonaltype.counts = clonaltype.counts[clonaltype.counts$coincidence > 1,] - - clonaltype.in.replicates = clonaltype.in.replicates[clonaltype.in.replicates$clonaltype %in% clonaltype.counts$clonaltype,] - clonaltype.in.replicates = merge(clonaltype.in.replicates, clonaltype.counts, by="clonaltype") - clonaltype.in.replicates = clonaltype.in.replicates[order(-clonaltype.in.replicates$coincidence, clonaltype.in.replicates$clonaltype, clonaltype.in.replicates$Replicate),c("coincidence","clonaltype", "Sample", "Replicate", "ID", "Sequence")] - - - write.table(clonaltype.in.replicates, "clonaltypes_replicates.txt" , sep="\t",quote=F,na="-",row.names=F,col.names=T) -} else { - cat("No clonaltype", file="clonaltypes_replicates_before_table.txt") - cat("No clonaltype", file="clonaltypes_counts.txt") - cat("No clonaltype", file="clonaltypes_replicates.txt") -} - - - - - - - - - - - - - - - - - - - - - - - +# ---------------------- load/install packages ---------------------- + +if (!("gridExtra" %in% rownames(installed.packages()))) { + install.packages("gridExtra", repos="http://cran.xl-mirror.nl/") +} +library(gridExtra) +if (!("ggplot2" %in% rownames(installed.packages()))) { + install.packages("ggplot2", repos="http://cran.xl-mirror.nl/") +} +library(ggplot2) +if (!("plyr" %in% rownames(installed.packages()))) { + install.packages("plyr", repos="http://cran.xl-mirror.nl/") +} +library(plyr) + +if (!("data.table" %in% rownames(installed.packages()))) { + install.packages("data.table", repos="http://cran.xl-mirror.nl/") +} +library(data.table) + +if (!("reshape2" %in% rownames(installed.packages()))) { + install.packages("reshape2", repos="http://cran.xl-mirror.nl/") +} +library(reshape2) + +if (!("lymphclon" %in% rownames(installed.packages()))) { + install.packages("lymphclon", repos="http://cran.xl-mirror.nl/") +} +library(lymphclon) + +# ---------------------- parameters ---------------------- + +args <- commandArgs(trailingOnly = TRUE) + +infile = args[1] #path to input file +outfile = args[2] #path to output file +outdir = args[3] #path to output folder (html/images/data) +clonaltype = args[4] #clonaltype definition, or 'none' for no unique filtering +ct = unlist(strsplit(clonaltype, ",")) +species = args[5] #human or mouse +locus = args[6] # IGH, IGK, IGL, TRB, TRA, TRG or TRD +filterproductive = ifelse(args[7] == "yes", T, F) #should unproductive sequences be filtered out? (yes/no) +clonality_method = args[8] + + +# ---------------------- Data preperation ---------------------- + +print("Report Clonality - Data preperation") + +inputdata = read.table(infile, sep="\t", header=TRUE, fill=T, comment.char="", stringsAsFactors=F) + +inputdata$Sample = as.character(inputdata$Sample) + + +print(paste("nrows: ", nrow(inputdata))) + +setwd(outdir) + +# remove weird rows +inputdata = inputdata[inputdata$Sample != "",] + +print(paste("nrows: ", nrow(inputdata))) + +#remove the allele from the V,D and J genes +inputdata$Top.V.Gene = gsub("[*]([0-9]+)", "", inputdata$Top.V.Gene) +inputdata$Top.D.Gene = gsub("[*]([0-9]+)", "", inputdata$Top.D.Gene) +inputdata$Top.J.Gene = gsub("[*]([0-9]+)", "", inputdata$Top.J.Gene) + +print(paste("nrows: ", nrow(inputdata))) + +#filter uniques +inputdata.removed = inputdata[NULL,] + +print(paste("nrows: ", nrow(inputdata))) + +inputdata$clonaltype = 1:nrow(inputdata) + +#keep track of the count of sequences in samples or samples/replicates for the front page overview +input.sample.count = data.frame(data.table(inputdata)[, list(All=.N), by=c("Sample")]) +input.rep.count = data.frame(data.table(inputdata)[, list(All=.N), by=c("Sample", "Replicate")]) + +PRODF = inputdata +UNPROD = inputdata +if(filterproductive){ + if("Functionality" %in% colnames(inputdata)) { # "Functionality" is an IMGT column + #PRODF = inputdata[inputdata$Functionality == "productive" | inputdata$Functionality == "productive (see comment)", ] + PRODF = inputdata[inputdata$Functionality %in% c("productive (see comment)","productive"),] + + PRODF.count = data.frame(data.table(PRODF)[, list(count=.N), by=c("Sample")]) + + UNPROD = inputdata[inputdata$Functionality %in% c("unproductive (see comment)","unproductive"), ] + } else { + PRODF = inputdata[inputdata$VDJ.Frame != "In-frame with stop codon" & inputdata$VDJ.Frame != "Out-of-frame" & inputdata$CDR3.Found.How != "NOT_FOUND" , ] + UNPROD = inputdata[!(inputdata$VDJ.Frame != "In-frame with stop codon" & inputdata$VDJ.Frame != "Out-of-frame" & inputdata$CDR3.Found.How != "NOT_FOUND" ), ] + } +} + +for(i in 1:nrow(UNPROD)){ + if(!is.numeric(UNPROD[i,"CDR3.Length"])){ + UNPROD[i,"CDR3.Length"] = 0 + } +} + +prod.sample.count = data.frame(data.table(PRODF)[, list(Productive=.N), by=c("Sample")]) +prod.rep.count = data.frame(data.table(PRODF)[, list(Productive=.N), by=c("Sample", "Replicate")]) + +unprod.sample.count = data.frame(data.table(UNPROD)[, list(Unproductive=.N), by=c("Sample")]) +unprod.rep.count = data.frame(data.table(UNPROD)[, list(Unproductive=.N), by=c("Sample", "Replicate")]) + +clonalityFrame = PRODF + +#remove duplicates based on the clonaltype +if(clonaltype != "none"){ + clonaltype = paste(clonaltype, ",Sample", sep="") #add sample column to clonaltype, unique within samples + PRODF$clonaltype = do.call(paste, c(PRODF[unlist(strsplit(clonaltype, ","))], sep = ":")) + PRODF = PRODF[!duplicated(PRODF$clonaltype), ] + + UNPROD$clonaltype = do.call(paste, c(UNPROD[unlist(strsplit(clonaltype, ","))], sep = ":")) + UNPROD = UNPROD[!duplicated(UNPROD$clonaltype), ] + + #again for clonalityFrame but with sample+replicate + clonalityFrame$clonaltype = do.call(paste, c(clonalityFrame[unlist(strsplit(clonaltype, ","))], sep = ":")) + clonalityFrame$clonality_clonaltype = do.call(paste, c(clonalityFrame[unlist(strsplit(paste(clonaltype, ",Replicate", sep=""), ","))], sep = ":")) + clonalityFrame = clonalityFrame[!duplicated(clonalityFrame$clonality_clonaltype), ] +} + +if(nrow(PRODF) == 0){ + stop("No sequences left after filtering") +} + +prod.unique.sample.count = data.frame(data.table(PRODF)[, list(Productive_unique=.N), by=c("Sample")]) +prod.unique.rep.count = data.frame(data.table(PRODF)[, list(Productive_unique=.N), by=c("Sample", "Replicate")]) + +unprod.unique.sample.count = data.frame(data.table(UNPROD)[, list(Unproductive_unique=.N), by=c("Sample")]) +unprod.unique.rep.count = data.frame(data.table(UNPROD)[, list(Unproductive_unique=.N), by=c("Sample", "Replicate")]) + + +PRODF$freq = 1 + +if(any(grepl(pattern="_", x=PRODF$ID))){ #the frequency can be stored in the ID with the pattern ".*_freq_.*" + PRODF$freq = gsub("^[0-9]+_", "", PRODF$ID) + PRODF$freq = gsub("_.*", "", PRODF$freq) + PRODF$freq = as.numeric(PRODF$freq) + if(any(is.na(PRODF$freq))){ #if there was an "_" in the ID, but not the frequency, go back to frequency of 1 for every sequence + PRODF$freq = 1 + } +} + +#make a names list with sample -> color +naive.colors = c('blue4', 'darkred', 'olivedrab3', 'red', 'gray74', 'darkviolet', 'lightblue1', 'gold', 'chartreuse2', 'pink', 'Paleturquoise3', 'Chocolate1', 'Yellow', 'Deeppink3', 'Mediumorchid1', 'Darkgreen', 'Blue', 'Gray36', 'Hotpink', 'Yellow4') +unique.samples = unique(PRODF$Sample) + +if(length(unique.samples) <= length(naive.colors)){ + sample.colors = naive.colors[1:length(unique.samples)] +} else { + sample.colors = rainbow(length(unique.samples)) +} + +names(sample.colors) = unique.samples + +print("Sample.colors") +print(sample.colors) + + +#write the complete dataset that is left over, will be the input if 'none' for clonaltype and 'no' for filterproductive +write.table(PRODF, "allUnique.txt", sep="\t",quote=F,row.names=F,col.names=T) +#write.table(PRODF, "allUnique.csv", sep=",",quote=F,row.names=F,col.names=T) +write.table(UNPROD, "allUnproductive.txt", sep="\t",quote=F,row.names=F,col.names=T) + +print("SAMPLE TABLE:") +print(table(PRODF$Sample)) + +#write the samples to a file +sampleFile <- file("samples.txt") +un = unique(inputdata$Sample) +un = paste(un, sep="\n") +writeLines(un, sampleFile) +close(sampleFile) + +# ---------------------- Counting the productive/unproductive and unique sequences ---------------------- + +print("Report Clonality - counting productive/unproductive/unique") + +#create the table on the overview page with the productive/unique counts per sample/replicate +#first for sample + +sample.count = merge(input.sample.count, prod.sample.count, by="Sample", all.x=T) +sample.count$perc_prod = round(sample.count$Productive / sample.count$All * 100) +sample.count = merge(sample.count, prod.unique.sample.count, by="Sample", all.x=T) +sample.count$perc_prod_un = round(sample.count$Productive_unique / sample.count$All * 100) + +sample.count = merge(sample.count , unprod.sample.count, by="Sample", all.x=T) +sample.count$perc_unprod = round(sample.count$Unproductive / sample.count$All * 100) +sample.count = merge(sample.count, unprod.unique.sample.count, by="Sample", all.x=T) +sample.count$perc_unprod_un = round(sample.count$Unproductive_unique / sample.count$All * 100) + +#then sample/replicate +rep.count = merge(input.rep.count, prod.rep.count, by=c("Sample", "Replicate"), all.x=T) + +print(rep.count) + +fltr = is.na(rep.count$Productive) +if(any(fltr)){ + rep.count[fltr,"Productive"] = 0 +} + +print(rep.count) + +rep.count$perc_prod = round(rep.count$Productive / rep.count$All * 100) +rep.count = merge(rep.count, prod.unique.rep.count, by=c("Sample", "Replicate"), all.x=T) +rep.count$perc_prod_un = round(rep.count$Productive_unique / rep.count$All * 100) + +rep.count = merge(rep.count, unprod.rep.count, by=c("Sample", "Replicate"), all.x=T) +rep.count$perc_unprod = round(rep.count$Unproductive / rep.count$All * 100) +rep.count = merge(rep.count, unprod.unique.rep.count, by=c("Sample", "Replicate"), all.x=T) +rep.count$perc_unprod_un = round(rep.count$Unproductive_unique / rep.count$All * 100) + +rep.count$Sample = paste(rep.count$Sample, rep.count$Replicate, sep="_") +rep.count = rep.count[,names(rep.count) != "Replicate"] + +count = rbind(sample.count, rep.count) + + + +write.table(x=count, file="productive_counting.txt", sep=",",quote=F,row.names=F,col.names=F) + +# ---------------------- V+J+CDR3 sequence count ---------------------- + +VJCDR3.count = data.frame(table(clonalityFrame$Top.V.Gene, clonalityFrame$Top.J.Gene, clonalityFrame$CDR3.Seq.DNA)) +names(VJCDR3.count) = c("Top.V.Gene", "Top.J.Gene", "CDR3.Seq.DNA", "Count") + +VJCDR3.count = VJCDR3.count[VJCDR3.count$Count > 0,] +VJCDR3.count = VJCDR3.count[order(-VJCDR3.count$Count),] + +write.table(x=VJCDR3.count, file="VJCDR3_count.txt", sep="\t",quote=F,row.names=F,col.names=T) + +# ---------------------- Frequency calculation for V, D and J ---------------------- + +print("Report Clonality - frequency calculation V, D and J") + +PRODFV = data.frame(data.table(PRODF)[, list(Length=sum(freq)), by=c("Sample", "Top.V.Gene")]) +Total = ddply(PRODFV, .(Sample), function(x) data.frame(Total = sum(x$Length))) +PRODFV = merge(PRODFV, Total, by.x='Sample', by.y='Sample', all.x=TRUE) +PRODFV = ddply(PRODFV, c("Sample", "Top.V.Gene"), summarise, relFreq= (Length*100 / Total)) + +PRODFD = data.frame(data.table(PRODF)[, list(Length=sum(freq)), by=c("Sample", "Top.D.Gene")]) +Total = ddply(PRODFD, .(Sample), function(x) data.frame(Total = sum(x$Length))) +PRODFD = merge(PRODFD, Total, by.x='Sample', by.y='Sample', all.x=TRUE) +PRODFD = ddply(PRODFD, c("Sample", "Top.D.Gene"), summarise, relFreq= (Length*100 / Total)) + +PRODFJ = data.frame(data.table(PRODF)[, list(Length=sum(freq)), by=c("Sample", "Top.J.Gene")]) +Total = ddply(PRODFJ, .(Sample), function(x) data.frame(Total = sum(x$Length))) +PRODFJ = merge(PRODFJ, Total, by.x='Sample', by.y='Sample', all.x=TRUE) +PRODFJ = ddply(PRODFJ, c("Sample", "Top.J.Gene"), summarise, relFreq= (Length*100 / Total)) + +# ---------------------- Setting up the gene names for the different species/loci ---------------------- + +print("Report Clonality - getting genes for species/loci") + +Vchain = "" +Dchain = "" +Jchain = "" + +if(species == "custom"){ + print("Custom genes: ") + splt = unlist(strsplit(locus, ";")) + print(paste("V:", splt[1])) + print(paste("D:", splt[2])) + print(paste("J:", splt[3])) + + Vchain = unlist(strsplit(splt[1], ",")) + Vchain = data.frame(v.name = Vchain, chr.orderV = 1:length(Vchain)) + + Dchain = unlist(strsplit(splt[2], ",")) + if(length(Dchain) > 0){ + Dchain = data.frame(v.name = Dchain, chr.orderD = 1:length(Dchain)) + } else { + Dchain = data.frame(v.name = character(0), chr.orderD = numeric(0)) + } + + Jchain = unlist(strsplit(splt[3], ",")) + Jchain = data.frame(v.name = Jchain, chr.orderJ = 1:length(Jchain)) + +} else { + genes = read.table("genes.txt", sep="\t", header=TRUE, fill=T, comment.char="") + + Vchain = genes[grepl(species, genes$Species) & genes$locus == locus & genes$region == "V",c("IMGT.GENE.DB", "chr.order")] + colnames(Vchain) = c("v.name", "chr.orderV") + Dchain = genes[grepl(species, genes$Species) & genes$locus == locus & genes$region == "D",c("IMGT.GENE.DB", "chr.order")] + colnames(Dchain) = c("v.name", "chr.orderD") + Jchain = genes[grepl(species, genes$Species) & genes$locus == locus & genes$region == "J",c("IMGT.GENE.DB", "chr.order")] + colnames(Jchain) = c("v.name", "chr.orderJ") +} +useD = TRUE +if(nrow(Dchain) == 0){ + useD = FALSE + cat("No D Genes in this species/locus") +} +print(paste(nrow(Vchain), "genes in V")) +print(paste(nrow(Dchain), "genes in D")) +print(paste(nrow(Jchain), "genes in J")) + +# ---------------------- merge with the frequency count ---------------------- + +PRODFV = merge(PRODFV, Vchain, by.x='Top.V.Gene', by.y='v.name', all.x=TRUE) + +PRODFD = merge(PRODFD, Dchain, by.x='Top.D.Gene', by.y='v.name', all.x=TRUE) + +PRODFJ = merge(PRODFJ, Jchain, by.x='Top.J.Gene', by.y='v.name', all.x=TRUE) + +# ---------------------- Create the V, D and J frequency plots and write the data.frame for every plot to a file ---------------------- + +print("Report Clonality - V, D and J frequency plots") + +pV = ggplot(PRODFV) +pV = pV + geom_bar( aes( x=factor(reorder(Top.V.Gene, chr.orderV)), y=relFreq, fill=Sample), stat='identity', position="dodge") + theme(axis.text.x = element_text(angle = 90, hjust = 1)) +pV = pV + xlab("Summary of V gene") + ylab("Frequency") + ggtitle("Relative frequency of V gene usage") + scale_fill_manual(values=sample.colors) +pV = pV + theme(panel.background = element_rect(fill = "white", colour="black"),text = element_text(size=15, colour="black"), axis.text.x = element_text(angle = 45, hjust = 1), panel.grid.major.y = element_line(colour = "black"), panel.grid.major.x = element_blank()) +write.table(x=PRODFV, file="VFrequency.txt", sep="\t",quote=F,row.names=F,col.names=T) + +png("VPlot.png",width = 1280, height = 720) +pV +dev.off() + +ggsave("VPlot.pdf", pV, width=13, height=7) + +if(useD){ + pD = ggplot(PRODFD) + pD = pD + geom_bar( aes( x=factor(reorder(Top.D.Gene, chr.orderD)), y=relFreq, fill=Sample), stat='identity', position="dodge") + theme(axis.text.x = element_text(angle = 90, hjust = 1)) + pD = pD + xlab("Summary of D gene") + ylab("Frequency") + ggtitle("Relative frequency of D gene usage") + scale_fill_manual(values=sample.colors) + pD = pD + theme(panel.background = element_rect(fill = "white", colour="black"),text = element_text(size=15, colour="black"), axis.text.x = element_text(angle = 45, hjust = 1), panel.grid.major.y = element_line(colour = "black"), panel.grid.major.x = element_blank()) + write.table(x=PRODFD, file="DFrequency.txt", sep="\t",quote=F,row.names=F,col.names=T) + + png("DPlot.png",width = 800, height = 600) + print(pD) + dev.off() + + ggsave("DPlot.pdf", pD, width=10, height=7) +} + +pJ = ggplot(PRODFJ) +pJ = pJ + geom_bar( aes( x=factor(reorder(Top.J.Gene, chr.orderJ)), y=relFreq, fill=Sample), stat='identity', position="dodge") + theme(axis.text.x = element_text(angle = 90, hjust = 1)) +pJ = pJ + xlab("Summary of J gene") + ylab("Frequency") + ggtitle("Relative frequency of J gene usage") + scale_fill_manual(values=sample.colors) +pJ = pJ + theme(panel.background = element_rect(fill = "white", colour="black"),text = element_text(size=15, colour="black"), axis.text.x = element_text(angle = 45, hjust = 1), panel.grid.major.y = element_line(colour = "black"), panel.grid.major.x = element_blank()) +write.table(x=PRODFJ, file="JFrequency.txt", sep="\t",quote=F,row.names=F,col.names=T) + +png("JPlot.png",width = 800, height = 600) +pJ +dev.off() + +ggsave("JPlot.pdf", pJ) + +# ---------------------- Now the frequency plots of the V, D and J families ---------------------- + +print("Report Clonality - V, D and J family plots") + +VGenes = PRODF[,c("Sample", "Top.V.Gene")] +VGenes$Top.V.Gene = gsub("-.*", "", VGenes$Top.V.Gene) +VGenes = data.frame(data.table(VGenes)[, list(Count=.N), by=c("Sample", "Top.V.Gene")]) +TotalPerSample = data.frame(data.table(VGenes)[, list(total=sum(.SD$Count)), by=Sample]) +VGenes = merge(VGenes, TotalPerSample, by="Sample") +VGenes$Frequency = VGenes$Count * 100 / VGenes$total +VPlot = ggplot(VGenes) +VPlot = VPlot + geom_bar(aes( x = Top.V.Gene, y = Frequency, fill = Sample), stat='identity', position='dodge' ) + theme(axis.text.x = element_text(angle = 90, hjust = 1)) + + ggtitle("Distribution of V gene families") + + ylab("Percentage of sequences") + + scale_fill_manual(values=sample.colors) + + theme(panel.background = element_rect(fill = "white", colour="black"),text = element_text(size=15, colour="black"), axis.text.x = element_text(angle = 45, hjust = 1), panel.grid.major.y = element_line(colour = "black"), panel.grid.major.x = element_blank()) +png("VFPlot.png") +VPlot +dev.off() +ggsave("VFPlot.pdf", VPlot) + +write.table(x=VGenes, file="VFFrequency.txt", sep="\t",quote=F,row.names=F,col.names=T) + +if(useD){ + DGenes = PRODF[,c("Sample", "Top.D.Gene")] + DGenes$Top.D.Gene = gsub("-.*", "", DGenes$Top.D.Gene) + DGenes = data.frame(data.table(DGenes)[, list(Count=.N), by=c("Sample", "Top.D.Gene")]) + TotalPerSample = data.frame(data.table(DGenes)[, list(total=sum(.SD$Count)), by=Sample]) + DGenes = merge(DGenes, TotalPerSample, by="Sample") + DGenes$Frequency = DGenes$Count * 100 / DGenes$total + DPlot = ggplot(DGenes) + DPlot = DPlot + geom_bar(aes( x = Top.D.Gene, y = Frequency, fill = Sample), stat='identity', position='dodge' ) + theme(axis.text.x = element_text(angle = 90, hjust = 1)) + + ggtitle("Distribution of D gene families") + + ylab("Percentage of sequences") + + scale_fill_manual(values=sample.colors) + + theme(panel.background = element_rect(fill = "white", colour="black"),text = element_text(size=15, colour="black"), axis.text.x = element_text(angle = 45, hjust = 1), panel.grid.major.y = element_line(colour = "black"), panel.grid.major.x = element_blank()) + png("DFPlot.png") + print(DPlot) + dev.off() + + ggsave("DFPlot.pdf", DPlot) + write.table(x=DGenes, file="DFFrequency.txt", sep="\t",quote=F,row.names=F,col.names=T) +} + +# ---------------------- Plotting the cdr3 length ---------------------- + +print("Report Clonality - CDR3 length plot") + +CDR3Length = data.frame(data.table(PRODF)[, list(Count=.N), by=c("Sample", "CDR3.Length")]) +TotalPerSample = data.frame(data.table(CDR3Length)[, list(total=sum(.SD$Count)), by=Sample]) +CDR3Length = merge(CDR3Length, TotalPerSample, by="Sample") +CDR3Length$Frequency = CDR3Length$Count * 100 / CDR3Length$total +CDR3LengthPlot = ggplot(CDR3Length) +CDR3LengthPlot = CDR3LengthPlot + geom_bar(aes( x = factor(reorder(CDR3.Length, as.numeric(CDR3.Length))), y = Frequency, fill = Sample), stat='identity', position='dodge' ) + theme(axis.text.x = element_text(angle = 90, hjust = 1)) + + ggtitle("Length distribution of CDR3") + + xlab("CDR3 Length") + + ylab("Percentage of sequences") + + scale_fill_manual(values=sample.colors) + + theme(panel.background = element_rect(fill = "white", colour="black"),text = element_text(size=15, colour="black"), axis.text.x = element_text(angle = 45, hjust = 1), panel.grid.major.y = element_line(colour = "black"), panel.grid.major.x = element_blank()) +png("CDR3LengthPlot.png",width = 1280, height = 720) +CDR3LengthPlot +dev.off() + +ggsave("CDR3LengthPlot.pdf", CDR3LengthPlot, width=12, height=7) + +write.table(x=CDR3Length, file="CDR3LengthPlot.txt", sep="\t",quote=F,row.names=F,col.names=T) + +# ---------------------- Plot the heatmaps ---------------------- + +#get the reverse order for the V and D genes +revVchain = Vchain +revDchain = Dchain +revVchain$chr.orderV = rev(revVchain$chr.orderV) +revDchain$chr.orderD = rev(revDchain$chr.orderD) + +if(useD){ + print("Report Clonality - Heatmaps VD") + plotVD <- function(dat){ + if(length(dat[,1]) == 0){ + return() + } + + img = ggplot() + + geom_tile(data=dat, aes(x=factor(reorder(Top.D.Gene, chr.orderD)), y=factor(reorder(Top.V.Gene, chr.orderV)), fill=relLength)) + + theme(axis.text.x = element_text(angle = 90, hjust = 1)) + + scale_fill_gradient(low="gold", high="blue", na.value="white") + + ggtitle(paste(unique(dat$Sample), " (N=" , sum(dat$Length, na.rm=T) ,")", sep="")) + + xlab("D genes") + + ylab("V Genes") + + theme(panel.background = element_rect(fill = "white", colour="black"),text = element_text(size=15, colour="black"), panel.grid.major = element_line(colour = "gainsboro")) + + png(paste("HeatmapVD_", unique(dat[3])[1,1] , ".png", sep=""), width=200+(15*length(Dchain$v.name)), height=100+(15*length(Vchain$v.name))) + print(img) + dev.off() + + ggsave(paste("HeatmapVD_", unique(dat[3])[1,1] , ".pdf", sep=""), img, height=13, width=8) + + write.table(x=acast(dat, Top.V.Gene~Top.D.Gene, value.var="Length"), file=paste("HeatmapVD_", unique(dat[3])[1,1], ".txt", sep=""), sep="\t",quote=F,row.names=T,col.names=NA) + } + + VandDCount = data.frame(data.table(PRODF)[, list(Length=.N), by=c("Top.V.Gene", "Top.D.Gene", "Sample")]) + + VandDCount$l = log(VandDCount$Length) + maxVD = data.frame(data.table(VandDCount)[, list(max=max(l)), by=c("Sample")]) + VandDCount = merge(VandDCount, maxVD, by.x="Sample", by.y="Sample", all.x=T) + VandDCount$relLength = VandDCount$l / VandDCount$max + check = is.nan(VandDCount$relLength) + if(any(check)){ + VandDCount[check,"relLength"] = 0 + } + + completeVD = merge(VandDCount, revVchain, by.x="Top.V.Gene", by.y="v.name", all=TRUE) + completeVD = merge(completeVD, Dchain, by.x="Top.D.Gene", by.y="v.name", all=TRUE) + + fltr = is.nan(completeVD$relLength) + if(all(fltr)){ + completeVD[fltr,"relLength"] = 0 + } + + VDList = split(completeVD, f=completeVD[,"Sample"]) + lapply(VDList, FUN=plotVD) +} + +print("Report Clonality - Heatmaps VJ") + +plotVJ <- function(dat){ + if(length(dat[,1]) == 0){ + return() + } + cat(paste(unique(dat[3])[1,1])) + img = ggplot() + + geom_tile(data=dat, aes(x=factor(reorder(Top.J.Gene, chr.orderJ)), y=factor(reorder(Top.V.Gene, chr.orderV)), fill=relLength)) + + theme(axis.text.x = element_text(angle = 90, hjust = 1)) + + scale_fill_gradient(low="gold", high="blue", na.value="white") + + ggtitle(paste(unique(dat$Sample), " (N=" , sum(dat$Length, na.rm=T) ,")", sep="")) + + xlab("J genes") + + ylab("V Genes") + + theme(panel.background = element_rect(fill = "white", colour="black"),text = element_text(size=15, colour="black"), panel.grid.major = element_line(colour = "gainsboro")) + + png(paste("HeatmapVJ_", unique(dat[3])[1,1] , ".png", sep=""), width=200+(15*length(Jchain$v.name)), height=100+(15*length(Vchain$v.name))) + print(img) + dev.off() + + ggsave(paste("HeatmapVJ_", unique(dat[3])[1,1] , ".pdf", sep=""), img, height=11, width=4) + + write.table(x=acast(dat, Top.V.Gene~Top.J.Gene, value.var="Length"), file=paste("HeatmapVJ_", unique(dat[3])[1,1], ".txt", sep=""), sep="\t",quote=F,row.names=T,col.names=NA) +} + + + +VandJCount = data.frame(data.table(PRODF)[, list(Length=.N), by=c("Top.V.Gene", "Top.J.Gene", "Sample")]) + +VandJCount$l = log(VandJCount$Length) +maxVJ = data.frame(data.table(VandJCount)[, list(max=max(l)), by=c("Sample")]) +VandJCount = merge(VandJCount, maxVJ, by.x="Sample", by.y="Sample", all.x=T) +VandJCount$relLength = VandJCount$l / VandJCount$max + +check = is.nan(VandJCount$relLength) +if(any(check)){ + VandJCount[check,"relLength"] = 0 +} + +completeVJ = merge(VandJCount, revVchain, by.x="Top.V.Gene", by.y="v.name", all=TRUE) +completeVJ = merge(completeVJ, Jchain, by.x="Top.J.Gene", by.y="v.name", all=TRUE) + +fltr = is.nan(completeVJ$relLength) +if(any(fltr)){ + completeVJ[fltr,"relLength"] = 1 +} + +VJList = split(completeVJ, f=completeVJ[,"Sample"]) +lapply(VJList, FUN=plotVJ) + + + +if(useD){ + print("Report Clonality - Heatmaps DJ") + plotDJ <- function(dat){ + if(length(dat[,1]) == 0){ + return() + } + img = ggplot() + + geom_tile(data=dat, aes(x=factor(reorder(Top.J.Gene, chr.orderJ)), y=factor(reorder(Top.D.Gene, chr.orderD)), fill=relLength)) + + theme(axis.text.x = element_text(angle = 90, hjust = 1)) + + scale_fill_gradient(low="gold", high="blue", na.value="white") + + ggtitle(paste(unique(dat$Sample), " (N=" , sum(dat$Length, na.rm=T) ,")", sep="")) + + xlab("J genes") + + ylab("D Genes") + + theme(panel.background = element_rect(fill = "white", colour="black"),text = element_text(size=15, colour="black"), panel.grid.major = element_line(colour = "gainsboro")) + + png(paste("HeatmapDJ_", unique(dat[3])[1,1] , ".png", sep=""), width=200+(15*length(Jchain$v.name)), height=100+(15*length(Dchain$v.name))) + print(img) + dev.off() + + ggsave(paste("HeatmapDJ_", unique(dat[3])[1,1] , ".pdf", sep=""), img, width=4, height=7) + + write.table(x=acast(dat, Top.D.Gene~Top.J.Gene, value.var="Length"), file=paste("HeatmapDJ_", unique(dat[3])[1,1], ".txt", sep=""), sep="\t",quote=F,row.names=T,col.names=NA) + } + + + DandJCount = data.frame(data.table(PRODF)[, list(Length=.N), by=c("Top.D.Gene", "Top.J.Gene", "Sample")]) + + DandJCount$l = log(DandJCount$Length) + maxDJ = data.frame(data.table(DandJCount)[, list(max=max(l)), by=c("Sample")]) + DandJCount = merge(DandJCount, maxDJ, by.x="Sample", by.y="Sample", all.x=T) + DandJCount$relLength = DandJCount$l / DandJCount$max + + check = is.nan(DandJCount$relLength) + if(any(check)){ + DandJCount[check,"relLength"] = 0 + } + + cartegianProductDJ = expand.grid(Top.D.Gene = Dchain$v.name, Top.J.Gene = Jchain$v.name) + + completeDJ = merge(DandJCount, revDchain, by.x="Top.D.Gene", by.y="v.name", all=TRUE) + completeDJ = merge(completeDJ, Jchain, by.x="Top.J.Gene", by.y="v.name", all=TRUE) + + fltr = is.nan(completeDJ$relLength) + if(any(fltr)){ + completeDJ[fltr, "relLength"] = 1 + } + + DJList = split(completeDJ, f=completeDJ[,"Sample"]) + lapply(DJList, FUN=plotDJ) +} + + +# ---------------------- output tables for the circos plots ---------------------- + +print("Report Clonality - Circos data") + +for(smpl in unique(PRODF$Sample)){ + PRODF.sample = PRODF[PRODF$Sample == smpl,] + + fltr = PRODF.sample$Top.V.Gene == "" + if(any(fltr, na.rm=T)){ + PRODF.sample[fltr, "Top.V.Gene"] = "NA" + } + + fltr = PRODF.sample$Top.D.Gene == "" + if(any(fltr, na.rm=T)){ + PRODF.sample[fltr, "Top.D.Gene"] = "NA" + } + + fltr = PRODF.sample$Top.J.Gene == "" + if(any(fltr, na.rm=T)){ + PRODF.sample[fltr, "Top.J.Gene"] = "NA" + } + + v.d = table(PRODF.sample$Top.V.Gene, PRODF.sample$Top.D.Gene) + v.j = table(PRODF.sample$Top.V.Gene, PRODF.sample$Top.J.Gene) + d.j = table(PRODF.sample$Top.D.Gene, PRODF.sample$Top.J.Gene) + + write.table(v.d, file=paste(smpl, "_VD_circos.txt", sep=""), sep="\t", quote=F, row.names=T, col.names=NA) + write.table(v.j, file=paste(smpl, "_VJ_circos.txt", sep=""), sep="\t", quote=F, row.names=T, col.names=NA) + write.table(d.j, file=paste(smpl, "_DJ_circos.txt", sep=""), sep="\t", quote=F, row.names=T, col.names=NA) +} + +# ---------------------- calculating the clonality score ---------------------- + +if("Replicate" %in% colnames(inputdata)) #can only calculate clonality score when replicate information is available +{ + print("Report Clonality - Clonality") + write.table(clonalityFrame, "clonalityComplete.txt", sep="\t",quote=F,row.names=F,col.names=T) + if(clonality_method == "boyd"){ + samples = split(clonalityFrame, clonalityFrame$Sample, drop=T) + + for (sample in samples){ + res = data.frame(paste=character(0)) + sample_id = unique(sample$Sample)[[1]] + for(replicate in unique(sample$Replicate)){ + tmp = sample[sample$Replicate == replicate,] + clone_table = data.frame(table(tmp$clonaltype)) + clone_col_name = paste("V", replicate, sep="") + colnames(clone_table) = c("paste", clone_col_name) + res = merge(res, clone_table, by="paste", all=T) + } + + res[is.na(res)] = 0 + + write.table(res, file=paste("raw_clonality_", sample_id, ".txt", sep=""), sep="\t",quote=F,row.names=F,col.names=F) + write.table(as.matrix(res[,2:ncol(res)]), file=paste("raw_clonality2_", sample_id, ".txt", sep=""), sep="\t",quote=F,row.names=F,col.names=F) + + res = read.table(paste("raw_clonality_", sample_id, ".txt", sep=""), header=F, sep="\t", quote="", stringsAsFactors=F, fill=T, comment.char="") + + infer.result = infer.clonality(as.matrix(res[,2:ncol(res)])) + + #print(infer.result) + + write.table(data.table(infer.result[[12]]), file=paste("lymphclon_clonality_", sample_id, ".txt", sep=""), sep="\t",quote=F,row.names=F,col.names=F) + + res$type = rowSums(res[,2:ncol(res)]) + + coincidence.table = data.frame(table(res$type)) + colnames(coincidence.table) = c("Coincidence Type", "Raw Coincidence Freq") + write.table(coincidence.table, file=paste("lymphclon_coincidences_", sample_id, ".txt", sep=""), sep="\t",quote=F,row.names=F,col.names=T) + } + } + clonalFreq = data.frame(data.table(clonalityFrame)[, list(Type=.N), by=c("Sample", "clonaltype")]) + + #write files for every coincidence group of >1 + samples = unique(clonalFreq$Sample) + for(sample in samples){ + clonalFreqSample = clonalFreq[clonalFreq$Sample == sample,] + if(max(clonalFreqSample$Type) > 1){ + for(i in 2:max(clonalFreqSample$Type)){ + clonalFreqSampleType = clonalFreqSample[clonalFreqSample$Type == i,] + clonalityFrame.sub = clonalityFrame[clonalityFrame$clonaltype %in% clonalFreqSampleType$clonaltype,] + clonalityFrame.sub = clonalityFrame.sub[order(clonalityFrame.sub$clonaltype),] + write.table(clonalityFrame.sub, file=paste("coincidences_", sample, "_", i, ".txt", sep=""), sep="\t",quote=F,row.names=F,col.names=T) + } + } + } + + clonalFreqCount = data.frame(data.table(clonalFreq)[, list(Count=.N), by=c("Sample", "Type")]) + clonalFreqCount$realCount = clonalFreqCount$Type * clonalFreqCount$Count + clonalSum = data.frame(data.table(clonalFreqCount)[, list(Reads=sum(realCount)), by=c("Sample")]) + clonalFreqCount = merge(clonalFreqCount, clonalSum, by.x="Sample", by.y="Sample") + + ct = c('Type\tWeight\n2\t1\n3\t3\n4\t6\n5\t10\n6\t15') + tcct = textConnection(ct) + CT = read.table(tcct, sep="\t", header=TRUE) + close(tcct) + clonalFreqCount = merge(clonalFreqCount, CT, by.x="Type", by.y="Type", all.x=T) + clonalFreqCount$WeightedCount = clonalFreqCount$Count * clonalFreqCount$Weight + + ReplicateReads = data.frame(data.table(clonalityFrame)[, list(Type=.N), by=c("Sample", "Replicate", "clonaltype")]) + ReplicateReads = data.frame(data.table(ReplicateReads)[, list(Reads=.N), by=c("Sample", "Replicate")]) + clonalFreqCount$Reads = as.numeric(clonalFreqCount$Reads) + ReplicateReads$Reads = as.numeric(ReplicateReads$Reads) + ReplicateReads$squared = as.numeric(ReplicateReads$Reads * ReplicateReads$Reads) + + ReplicatePrint <- function(dat){ + write.table(dat[-1], paste("ReplicateReads_", unique(dat[1])[1,1] , ".txt", sep=""), sep="\t",quote=F,na="-",row.names=F,col.names=F) + } + + ReplicateSplit = split(ReplicateReads, f=ReplicateReads[,"Sample"]) + lapply(ReplicateSplit, FUN=ReplicatePrint) + + ReplicateReads = data.frame(data.table(ReplicateReads)[, list(ReadsSum=sum(as.numeric(Reads)), ReadsSquaredSum=sum(as.numeric(squared))), by=c("Sample")]) + clonalFreqCount = merge(clonalFreqCount, ReplicateReads, by.x="Sample", by.y="Sample", all.x=T) + + ReplicateSumPrint <- function(dat){ + write.table(dat[-1], paste("ReplicateSumReads_", unique(dat[1])[1,1] , ".txt", sep=""), sep="\t",quote=F,na="-",row.names=F,col.names=F) + } + + ReplicateSumSplit = split(ReplicateReads, f=ReplicateReads[,"Sample"]) + lapply(ReplicateSumSplit, FUN=ReplicateSumPrint) + + clonalFreqCountSum = data.frame(data.table(clonalFreqCount)[, list(Numerator=sum(WeightedCount, na.rm=T)), by=c("Sample")]) + clonalFreqCount = merge(clonalFreqCount, clonalFreqCountSum, by.x="Sample", by.y="Sample", all.x=T) + clonalFreqCount$ReadsSum = as.numeric(clonalFreqCount$ReadsSum) #prevent integer overflow + clonalFreqCount$Denominator = (((clonalFreqCount$ReadsSum * clonalFreqCount$ReadsSum) - clonalFreqCount$ReadsSquaredSum) / 2) + clonalFreqCount$Result = (clonalFreqCount$Numerator + 1) / (clonalFreqCount$Denominator + 1) + + ClonalityScorePrint <- function(dat){ + write.table(dat$Result, paste("ClonalityScore_", unique(dat[1])[1,1] , ".txt", sep=""), sep="\t",quote=F,na="-",row.names=F,col.names=F) + } + + clonalityScore = clonalFreqCount[c("Sample", "Result")] + clonalityScore = unique(clonalityScore) + + clonalityScoreSplit = split(clonalityScore, f=clonalityScore[,"Sample"]) + lapply(clonalityScoreSplit, FUN=ClonalityScorePrint) + + clonalityOverview = clonalFreqCount[c("Sample", "Type", "Count", "Weight", "WeightedCount")] + + + + ClonalityOverviewPrint <- function(dat){ + dat = dat[order(dat[,2]),] + write.table(dat[-1], paste("ClonalityOverView_", unique(dat[1])[1,1] , ".txt", sep=""), sep="\t",quote=F,na="-",row.names=F,col.names=F) + } + + clonalityOverviewSplit = split(clonalityOverview, f=clonalityOverview$Sample) + lapply(clonalityOverviewSplit, FUN=ClonalityOverviewPrint) + +} + +bak = PRODF +bakun = UNPROD + +imgtcolumns = c("X3V.REGION.trimmed.nt.nb","P3V.nt.nb", "N1.REGION.nt.nb", "P5D.nt.nb", "X5D.REGION.trimmed.nt.nb", "X3D.REGION.trimmed.nt.nb", "P3D.nt.nb", "N2.REGION.nt.nb", "P5J.nt.nb", "X5J.REGION.trimmed.nt.nb", "X3V.REGION.trimmed.nt.nb", "X5D.REGION.trimmed.nt.nb", "X3D.REGION.trimmed.nt.nb", "X5J.REGION.trimmed.nt.nb", "N1.REGION.nt.nb", "N2.REGION.nt.nb", "P3V.nt.nb", "P5D.nt.nb", "P3D.nt.nb", "P5J.nt.nb") +if(all(imgtcolumns %in% colnames(inputdata))) +{ + print("found IMGT columns, running junction analysis") + + #ensure certain columns are in the data (files generated with older versions of IMGT Loader) + col.checks = c("N.REGION.nt.nb", "N1.REGION.nt.nb", "N2.REGION.nt.nb", "N3.REGION.nt.nb", "N4.REGION.nt.nb") + for(col.check in col.checks){ + if(!(col.check %in% names(PRODF))){ + print(paste(col.check, "not found adding new column")) + if(nrow(PRODF) > 0){ #because R is anoying... + PRODF[,col.check] = 0 + } else { + PRODF = cbind(PRODF, data.frame(N3.REGION.nt.nb=numeric(0), N4.REGION.nt.nb=numeric(0))) + } + if(nrow(UNPROD) > 0){ + UNPROD[,col.check] = 0 + } else { + UNPROD = cbind(UNPROD, data.frame(N3.REGION.nt.nb=numeric(0), N4.REGION.nt.nb=numeric(0))) + } + } + } + + PRODF.with.D = PRODF[nchar(PRODF$Top.D.Gene, keepNA=F) > 2,] + PRODF.no.D = PRODF[nchar(PRODF$Top.D.Gene, keepNA=F) < 4,] + write.table(PRODF.no.D, "productive_no_D.txt" , sep="\t",quote=F,na="-",row.names=F,col.names=T) + + UNPROD.with.D = UNPROD[nchar(UNPROD$Top.D.Gene, keepNA=F) > 2,] + UNPROD.no.D = UNPROD[nchar(UNPROD$Top.D.Gene, keepNA=F) < 4,] + write.table(UNPROD.no.D, "unproductive_no_D.txt" , sep="\t",quote=F,na="-",row.names=F,col.names=T) + + num_median = function(x, na.rm=T) { as.numeric(median(x, na.rm=na.rm)) } + + newData = data.frame(data.table(PRODF.with.D)[,list(unique=.N, + VH.DEL=mean(.SD$X3V.REGION.trimmed.nt.nb, na.rm=T), + P1=mean(.SD$P3V.nt.nb, na.rm=T), + N1=mean(rowSums(.SD[,c("N.REGION.nt.nb", "N1.REGION.nt.nb"), with=F], na.rm=T)), + P2=mean(.SD$P5D.nt.nb, na.rm=T), + DEL.DH=mean(.SD$X5D.REGION.trimmed.nt.nb, na.rm=T), + DH.DEL=mean(.SD$X3D.REGION.trimmed.nt.nb, na.rm=T), + P3=mean(.SD$P3D.nt.nb, na.rm=T), + N2=mean(rowSums(.SD[,c("N2.REGION.nt.nb", "N3.REGION.nt.nb", "N4.REGION.nt.nb"), with=F], na.rm=T)), + P4=mean(.SD$P5J.nt.nb, na.rm=T), + DEL.JH=mean(.SD$X5J.REGION.trimmed.nt.nb, na.rm=T), + Total.Del=mean(rowSums(.SD[,c("X3V.REGION.trimmed.nt.nb", "X5D.REGION.trimmed.nt.nb", "X3D.REGION.trimmed.nt.nb", "X5J.REGION.trimmed.nt.nb"), with=F], na.rm=T)), + Total.N=mean(rowSums(.SD[,c("N.REGION.nt.nb", "N1.REGION.nt.nb", "N2.REGION.nt.nb", "N3.REGION.nt.nb", "N4.REGION.nt.nb"), with=F], na.rm=T)), + Total.P=mean(rowSums(.SD[,c("P3V.nt.nb", "P5D.nt.nb", "P3D.nt.nb", "P5J.nt.nb"), with=F], na.rm=T)), + Median.CDR3.l=as.double(median(as.numeric(.SD$CDR3.Length), na.rm=T))), + by=c("Sample")]) + newData[,sapply(newData, is.numeric)] = round(newData[,sapply(newData, is.numeric)],1) + write.table(newData, "junctionAnalysisProd_mean_wD.txt" , sep="\t",quote=F,na="-",row.names=F,col.names=F) + + newData = data.frame(data.table(PRODF.with.D)[,list(unique=.N, + VH.DEL=num_median(.SD$X3V.REGION.trimmed.nt.nb, na.rm=T), + P1=num_median(.SD$P3V.nt.nb, na.rm=T), + N1=num_median(rowSums(.SD[,c("N.REGION.nt.nb", "N1.REGION.nt.nb"), with=F], na.rm=T)), + P2=num_median(.SD$P5D.nt.nb, na.rm=T), + DEL.DH=num_median(.SD$X5D.REGION.trimmed.nt.nb, na.rm=T), + DH.DEL=num_median(.SD$X3D.REGION.trimmed.nt.nb, na.rm=T), + P3=num_median(.SD$P3D.nt.nb, na.rm=T), + N2=num_median(rowSums(.SD[,c("N2.REGION.nt.nb", "N3.REGION.nt.nb", "N4.REGION.nt.nb"), with=F], na.rm=T)), + P4=num_median(.SD$P5J.nt.nb, na.rm=T), + DEL.JH=num_median(.SD$X5J.REGION.trimmed.nt.nb, na.rm=T), + Total.Del=num_median(rowSums(.SD[,c("X3V.REGION.trimmed.nt.nb", "X5D.REGION.trimmed.nt.nb", "X3D.REGION.trimmed.nt.nb", "X5J.REGION.trimmed.nt.nb"), with=F], na.rm=T)), + Total.N=num_median(rowSums(.SD[,c("N.REGION.nt.nb", "N1.REGION.nt.nb", "N2.REGION.nt.nb", "N3.REGION.nt.nb", "N4.REGION.nt.nb"), with=F], na.rm=T)), + Total.P=num_median(rowSums(.SD[,c("P3V.nt.nb", "P5D.nt.nb", "P3D.nt.nb", "P5J.nt.nb"), with=F], na.rm=T)), + Median.CDR3.l=as.double(median(as.numeric(.SD$CDR3.Length), na.rm=T))), + by=c("Sample")]) + newData[,sapply(newData, is.numeric)] = round(newData[,sapply(newData, is.numeric)],1) + write.table(newData, "junctionAnalysisProd_median_wD.txt" , sep="\t",quote=F,na="-",row.names=F,col.names=F) + + newData = data.frame(data.table(UNPROD.with.D)[,list(unique=.N, + VH.DEL=mean(.SD$X3V.REGION.trimmed.nt.nb, na.rm=T), + P1=mean(.SD$P3V.nt.nb, na.rm=T), + N1=mean(rowSums(.SD[,c("N.REGION.nt.nb", "N1.REGION.nt.nb"), with=F], na.rm=T)), + P2=mean(.SD$P5D.nt.nb, na.rm=T), + DEL.DH=mean(.SD$X5D.REGION.trimmed.nt.nb, na.rm=T), + DH.DEL=mean(.SD$X3D.REGION.trimmed.nt.nb, na.rm=T), + P3=mean(.SD$P3D.nt.nb, na.rm=T), + N2=mean(rowSums(.SD[,c("N2.REGION.nt.nb", "N3.REGION.nt.nb", "N4.REGION.nt.nb"), with=F], na.rm=T)), + P4=mean(.SD$P5J.nt.nb, na.rm=T), + DEL.JH=mean(.SD$X5J.REGION.trimmed.nt.nb, na.rm=T), + Total.Del=mean(rowSums(.SD[,c("X3V.REGION.trimmed.nt.nb", "X5D.REGION.trimmed.nt.nb", "X3D.REGION.trimmed.nt.nb", "X5J.REGION.trimmed.nt.nb"), with=F], na.rm=T)), + Total.N=mean(rowSums(.SD[,c("N.REGION.nt.nb", "N1.REGION.nt.nb", "N2.REGION.nt.nb", "N3.REGION.nt.nb", "N4.REGION.nt.nb"), with=F], na.rm=T)), + Total.P=mean(rowSums(.SD[,c("P3V.nt.nb", "P5D.nt.nb", "P3D.nt.nb", "P5J.nt.nb"), with=F], na.rm=T)), + Median.CDR3.l=as.double(median(as.numeric(.SD$CDR3.Length), na.rm=T))), + by=c("Sample")]) + newData[,sapply(newData, is.numeric)] = round(newData[,sapply(newData, is.numeric)],1) + write.table(newData, "junctionAnalysisUnProd_mean_wD.txt" , sep="\t",quote=F,na="-",row.names=F,col.names=F) + + newData = data.frame(data.table(UNPROD.with.D)[,list(unique=.N, + VH.DEL=num_median(.SD$X3V.REGION.trimmed.nt.nb, na.rm=T), + P1=num_median(.SD$P3V.nt.nb, na.rm=T), + N1=num_median(rowSums(.SD[,c("N.REGION.nt.nb", "N1.REGION.nt.nb"), with=F], na.rm=T)), + P2=num_median(.SD$P5D.nt.nb, na.rm=T), + DEL.DH=num_median(.SD$X5D.REGION.trimmed.nt.nb, na.rm=T), + DH.DEL=num_median(.SD$X3D.REGION.trimmed.nt.nb, na.rm=T), + P3=num_median(.SD$P3D.nt.nb, na.rm=T), + N2=num_median(rowSums(.SD[,c("N2.REGION.nt.nb", "N3.REGION.nt.nb", "N4.REGION.nt.nb"), with=F], na.rm=T)), + P4=num_median(.SD$P5J.nt.nb, na.rm=T), + DEL.JH=num_median(.SD$X5J.REGION.trimmed.nt.nb, na.rm=T), + Total.Del=num_median(rowSums(.SD[,c("X3V.REGION.trimmed.nt.nb", "X5D.REGION.trimmed.nt.nb", "X3D.REGION.trimmed.nt.nb", "X5J.REGION.trimmed.nt.nb"), with=F], na.rm=T)), + Total.N=num_median(rowSums(.SD[,c("N.REGION.nt.nb", "N1.REGION.nt.nb", "N2.REGION.nt.nb", "N3.REGION.nt.nb", "N4.REGION.nt.nb"), with=F], na.rm=T)), + Total.P=num_median(rowSums(.SD[,c("P3V.nt.nb", "P5D.nt.nb", "P3D.nt.nb", "P5J.nt.nb"), with=F], na.rm=T)), + Median.CDR3.l=as.double(median(as.numeric(.SD$CDR3.Length), na.rm=T))), + by=c("Sample")]) + newData[,sapply(newData, is.numeric)] = round(newData[,sapply(newData, is.numeric)],1) + write.table(newData, "junctionAnalysisUnProd_median_wD.txt" , sep="\t",quote=F,na="-",row.names=F,col.names=F) + + #---------------- again for no-D + + newData = data.frame(data.table(PRODF.no.D)[,list(unique=.N, + VH.DEL=mean(.SD$X3V.REGION.trimmed.nt.nb, na.rm=T), + P1=mean(.SD$P3V.nt.nb, na.rm=T), + N1=mean(.SD$N.REGION.nt.nb, na.rm=T), + P2=mean(.SD$P5J.nt.nb, na.rm=T), + DEL.JH=mean(.SD$X5J.REGION.trimmed.nt.nb, na.rm=T), + Total.Del=mean(rowSums(.SD[,c("X3V.REGION.trimmed.nt.nb", "X5J.REGION.trimmed.nt.nb"), with=F], na.rm=T)), + Total.N=mean(.SD$N.REGION.nt.nb, na.rm=T), + Total.P=mean(rowSums(.SD[,c("P3V.nt.nb", "P5J.nt.nb"), with=F], na.rm=T)), + Median.CDR3.l=as.double(median(as.numeric(.SD$CDR3.Length), na.rm=T))), + by=c("Sample")]) + newData[,sapply(newData, is.numeric)] = round(newData[,sapply(newData, is.numeric)],1) + write.table(newData, "junctionAnalysisProd_mean_nD.txt" , sep="\t",quote=F,na="-",row.names=F,col.names=F) + + newData = data.frame(data.table(PRODF.no.D)[,list(unique=.N, + VH.DEL=num_median(.SD$X3V.REGION.trimmed.nt.nb, na.rm=T), + P1=num_median(.SD$P3V.nt.nb, na.rm=T), + N1=num_median(.SD$N.REGION.nt.nb, na.rm=T), + P2=num_median(.SD$P5J.nt.nb, na.rm=T), + DEL.JH=num_median(.SD$X5J.REGION.trimmed.nt.nb, na.rm=T), + Total.Del=num_median(rowSums(.SD[,c("X3V.REGION.trimmed.nt.nb", "X5J.REGION.trimmed.nt.nb"), with=F], na.rm=T)), + Total.N=num_median(.SD$N.REGION.nt.nb, na.rm=T), + Total.P=num_median(rowSums(.SD[,c("P3V.nt.nb", "P5J.nt.nb"), with=F], na.rm=T)), + Median.CDR3.l=as.double(median(as.numeric(.SD$CDR3.Length), na.rm=T))), + by=c("Sample")]) + newData[,sapply(newData, is.numeric)] = round(newData[,sapply(newData, is.numeric)],1) + write.table(newData, "junctionAnalysisProd_median_nD.txt" , sep="\t",quote=F,na="-",row.names=F,col.names=F) + + newData = data.frame(data.table(UNPROD.no.D)[,list(unique=.N, + VH.DEL=mean(.SD$X3V.REGION.trimmed.nt.nb, na.rm=T), + P1=mean(.SD$P3V.nt.nb, na.rm=T), + N1=mean(.SD$N.REGION.nt.nb, na.rm=T), + P2=mean(.SD$P5J.nt.nb, na.rm=T), + DEL.JH=mean(.SD$X5J.REGION.trimmed.nt.nb, na.rm=T), + Total.Del=mean(rowSums(.SD[,c("X3V.REGION.trimmed.nt.nb", "X5J.REGION.trimmed.nt.nb"), with=F], na.rm=T)), + Total.N=mean(.SD$N.REGION.nt.nb, na.rm=T), + Total.P=mean(rowSums(.SD[,c("P3V.nt.nb", "P5J.nt.nb"), with=F], na.rm=T)), + Median.CDR3.l=as.double(median(as.numeric(.SD$CDR3.Length), na.rm=T))), + by=c("Sample")]) + newData[,sapply(newData, is.numeric)] = round(newData[,sapply(newData, is.numeric)],1) + write.table(newData, "junctionAnalysisUnProd_mean_nD.txt" , sep="\t",quote=F,na="-",row.names=F,col.names=F) + + + newData = data.frame(data.table(UNPROD.no.D)[,list(unique=.N, + VH.DEL=num_median(.SD$X3V.REGION.trimmed.nt.nb, na.rm=T), + P1=num_median(.SD$P3V.nt.nb, na.rm=T), + N1=num_median(.SD$N.REGION.nt.nb, na.rm=T), + P2=num_median(.SD$P5J.nt.nb, na.rm=T), + DEL.JH=num_median(.SD$X5J.REGION.trimmed.nt.nb, na.rm=T), + Total.Del=num_median(rowSums(.SD[,c("X3V.REGION.trimmed.nt.nb", "X5J.REGION.trimmed.nt.nb"), with=F], na.rm=T)), + Total.N=num_median(.SD$N.REGION.nt.nb, na.rm=T), + Total.P=num_median(rowSums(.SD[,c("P3V.nt.nb", "P5J.nt.nb"), with=F], na.rm=T)), + Median.CDR3.l=as.double(median(as.numeric(.SD$CDR3.Length), na.rm=T))), + by=c("Sample")]) + newData[,sapply(newData, is.numeric)] = round(newData[,sapply(newData, is.numeric)],1) + write.table(newData, "junctionAnalysisUnProd_median_nD.txt" , sep="\t",quote=F,na="-",row.names=F,col.names=F) +} + +PRODF = bak +UNPROD = bakun + + +# ---------------------- D reading frame ---------------------- + +D.REGION.reading.frame = PRODF[,c("Sample", "D.REGION.reading.frame")] + +chck = is.na(D.REGION.reading.frame$D.REGION.reading.frame) +if(any(chck)){ + D.REGION.reading.frame[chck,"D.REGION.reading.frame"] = "No D" +} + +D.REGION.reading.frame.1 = data.frame(data.table(D.REGION.reading.frame)[, list(Freq=.N), by=c("Sample", "D.REGION.reading.frame")]) + +D.REGION.reading.frame.2 = data.frame(data.table(D.REGION.reading.frame)[, list(sample.sum=sum(as.numeric(.SD$D.REGION.reading.frame), na.rm=T)), by=c("Sample")]) + +D.REGION.reading.frame = merge(D.REGION.reading.frame.1, D.REGION.reading.frame.2, by="Sample") + +D.REGION.reading.frame$percentage = round(D.REGION.reading.frame$Freq / D.REGION.reading.frame$sample.sum * 100, 1) + +write.table(D.REGION.reading.frame, "DReadingFrame.txt" , sep="\t",quote=F,row.names=F,col.names=T) + +D.REGION.reading.frame = ggplot(D.REGION.reading.frame) +D.REGION.reading.frame = D.REGION.reading.frame + geom_bar(aes( x = D.REGION.reading.frame, y = percentage, fill=Sample), stat='identity', position='dodge' ) + ggtitle("D reading frame") + xlab("Frame") + ylab("Frequency") +D.REGION.reading.frame = D.REGION.reading.frame + scale_fill_manual(values=sample.colors) +D.REGION.reading.frame = D.REGION.reading.frame + theme(panel.background = element_rect(fill = "white", colour="black"),text = element_text(size=15, colour="black"), axis.text.x = element_text(angle = 45, hjust = 1), panel.grid.major.y = element_line(colour = "black"), panel.grid.major.x = element_blank()) + +png("DReadingFrame.png") +D.REGION.reading.frame +dev.off() + +ggsave("DReadingFrame.pdf", D.REGION.reading.frame) + +# ---------------------- AA composition in CDR3 ---------------------- + +AACDR3 = PRODF[,c("Sample", "CDR3.Seq")] + +TotalPerSample = data.frame(data.table(AACDR3)[, list(total=sum(nchar(as.character(.SD$CDR3.Seq)))), by=Sample]) + +AAfreq = list() + +for(i in 1:nrow(TotalPerSample)){ + sample = TotalPerSample$Sample[i] + AAfreq[[i]] = data.frame(table(unlist(strsplit(as.character(AACDR3[AACDR3$Sample == sample,c("CDR3.Seq")]), "")))) + AAfreq[[i]]$Sample = sample +} + +AAfreq = ldply(AAfreq, data.frame) +AAfreq = merge(AAfreq, TotalPerSample, by="Sample", all.x = T) +AAfreq$freq_perc = as.numeric(AAfreq$Freq / AAfreq$total * 100) + + +AAorder = read.table(sep="\t", header=TRUE, text="order.aa\tAA\n1\tR\n2\tK\n3\tN\n4\tD\n5\tQ\n6\tE\n7\tH\n8\tP\n9\tY\n10\tW\n11\tS\n12\tT\n13\tG\n14\tA\n15\tM\n16\tC\n17\tF\n18\tL\n19\tV\n20\tI") +AAfreq = merge(AAfreq, AAorder, by.x='Var1', by.y='AA', all.x=TRUE) + +AAfreq = AAfreq[!is.na(AAfreq$order.aa),] + +AAfreqplot = ggplot(AAfreq) +AAfreqplot = AAfreqplot + geom_bar(aes( x=factor(reorder(Var1, order.aa)), y = freq_perc, fill = Sample), stat='identity', position='dodge' ) +AAfreqplot = AAfreqplot + annotate("rect", xmin = 0.5, xmax = 2.5, ymin = 0, ymax = Inf, fill = "red", alpha = 0.2) +AAfreqplot = AAfreqplot + annotate("rect", xmin = 3.5, xmax = 4.5, ymin = 0, ymax = Inf, fill = "blue", alpha = 0.2) +AAfreqplot = AAfreqplot + annotate("rect", xmin = 5.5, xmax = 6.5, ymin = 0, ymax = Inf, fill = "blue", alpha = 0.2) +AAfreqplot = AAfreqplot + annotate("rect", xmin = 6.5, xmax = 7.5, ymin = 0, ymax = Inf, fill = "red", alpha = 0.2) +AAfreqplot = AAfreqplot + ggtitle("Amino Acid Composition in the CDR3") + xlab("Amino Acid, from Hydrophilic (left) to Hydrophobic (right)") + ylab("Percentage") + scale_fill_manual(values=sample.colors) +AAfreqplot = AAfreqplot + theme(panel.background = element_rect(fill = "white", colour="black"),text = element_text(size=15, colour="black"), panel.grid.major.y = element_line(colour = "black"), panel.grid.major.x = element_blank()) + +png("AAComposition.png",width = 1280, height = 720) +AAfreqplot +dev.off() + +ggsave("AAComposition.pdf", AAfreqplot, width=12, height=7) + +write.table(AAfreq, "AAComposition.txt" , sep="\t",quote=F,na="-",row.names=F,col.names=T) + +# ---------------------- AA median CDR3 length ---------------------- + +median.aa.l = data.frame(data.table(PRODF)[, list(median=as.double(median(as.numeric(.SD$CDR3.Length, na.rm=T), na.rm=T))), by=c("Sample")]) +write.table(median.aa.l, "AAMedianBySample.txt" , sep="\t",quote=F,na="-",row.names=F,col.names=F) + +if(clonaltype != "none"){ + #generate the "Sequences that are present in more than one replicate" dataset + clonaltype.in.replicates = inputdata + clonaltype.in.replicates = clonaltype.in.replicates[clonaltype.in.replicates$Functionality %in% c("productive (see comment)","productive"),] + clonaltype.in.replicates = clonaltype.in.replicates[!(is.na(clonaltype.in.replicates$ID) | is.na(clonaltype.in.replicates$Top.V.Gene) | is.na(clonaltype.in.replicates$Top.J.Gene)),] + clonaltype = unlist(strsplit(clonaltype, ",")) + + clonaltype.in.replicates$clonaltype = do.call(paste, c(clonaltype.in.replicates[clonaltype], sep = ":")) + + clonaltype.in.replicates = clonaltype.in.replicates[!duplicated(clonaltype.in.replicates$clonaltype),] + + clonaltype = clonaltype[-which(clonaltype == "Sample")] + + clonaltype.in.replicates$clonaltype = do.call(paste, c(clonaltype.in.replicates[clonaltype], sep = ":")) + clonaltype.in.replicates = clonaltype.in.replicates[,c("clonaltype","Replicate", "ID", "Sequence", "Sample")] + + + write.table(clonaltype.in.replicates, "clonaltypes_replicates_before_table.txt" , sep="\t",quote=F,na="-",row.names=F,col.names=T) + + clonaltype.counts = data.frame(table(clonaltype.in.replicates$clonaltype)) + + write.table(clonaltype.counts, "clonaltypes_counts.txt" , sep="\t",quote=F,na="-",row.names=F,col.names=T) + + names(clonaltype.counts) = c("clonaltype", "coincidence") + + clonaltype.counts = clonaltype.counts[clonaltype.counts$coincidence > 1,] + + clonaltype.in.replicates = clonaltype.in.replicates[clonaltype.in.replicates$clonaltype %in% clonaltype.counts$clonaltype,] + clonaltype.in.replicates = merge(clonaltype.in.replicates, clonaltype.counts, by="clonaltype") + clonaltype.in.replicates = clonaltype.in.replicates[order(-clonaltype.in.replicates$coincidence, clonaltype.in.replicates$clonaltype, clonaltype.in.replicates$Replicate),c("coincidence","clonaltype", "Sample", "Replicate", "ID", "Sequence")] + + + write.table(clonaltype.in.replicates, "clonaltypes_replicates.txt" , sep="\t",quote=F,na="-",row.names=F,col.names=T) +} else { + cat("No clonaltype", file="clonaltypes_replicates_before_table.txt") + cat("No clonaltype", file="clonaltypes_counts.txt") + cat("No clonaltype", file="clonaltypes_replicates.txt") +} + + + + + + + + + + + + + + + + + + + + + + + diff -r e35b82f31ec7 -r 124b7fd92a3e report_clonality/circos/circos.conf --- a/report_clonality/circos/circos.conf Thu Aug 08 07:40:36 2019 -0400 +++ b/report_clonality/circos/circos.conf Thu Feb 25 13:36:15 2021 +0000 @@ -1,147 +1,147 @@ - -# This is the main configuration file for the Circos tableviewer. This file also -# depends on colors.conf (definition on basic colors), ideogram.conf (size and spacing of -# row/cell segments), and ticks.conf (tick spacing and label definitions - these are turned -# off by default). -# -# In addition to these configuration files, the bin/make-conf script creates -# colors.conf (colors of row/col segments) and colors_percentile.conf (colors based on -# cell percentile values). These configuration files are also included via the <> directive. -# -# Some elements of the output image are toggled off by default (e.g. row and column highlights, -# anchor links to segment labels, tick marks). - - -<> -<> -<> - - - -<> - - -<> -<> - -karyotype = DATA_DIR/karyotype.txt - - -dir = DATA_DIR -file = circos.png -24bit = yes -svg = yes -png = yes -# radius of inscribed circle in image -radius = 1500p -background = white -# by default angle=0 is at 3 o'clock position -angle_offset = -180 -auto_alpha_colors = yes -auto_alpha_steps = 5 - - -chromosomes_units = 10 -chromosomes_display_default = yes -chromosomes_order_by_karyotype = yes - - - -show = yes - - -show = no -file = DATA_DIR/row.txt -r0 = 1r+200p -r1 = 1r+220p -stroke_color = black -stroke_thickness = 2 - - - -show = no -file = DATA_DIR/col.txt -r0 = 1r+230p -r1 = 1r+250p -stroke_color = black -stroke_thickness = 2 - - - -show = no -file = DATA_DIR/all.txt -r0 = 1r+10p -r1 = 1r+35p -stroke_color = black -stroke_thickness = 2 - - - - - - - -type = text -file = DATA_DIR/segmentlabel.txt -label_font = condensedbold -color = black -label_size = 30p -r0 = 1r+50p -r1 = 1r+500p -rpadding = 0p -padding = 0p - -show_links = no -link_dims = 0p,10p,32p,10p,5p -link_thickness = 3p -link_color = black - -label_snuggle = no -# shift label up to its height in pixels in the angular direction -max_snuggle_distance = 2r -snuggle_sampling = 2 -snuggle_tolerance = 0.25r - - - - - - - - -ribbon = yes -flat = yes -file = DATA_DIR/cells.txt -bezier_radius = 0.0r -radius = 0.999r-15p -thickness = 1 -color = grey -stroke_color = black -stroke_thickness = 1 - - - -importance = 95 -condition = 1 -radius1 = 0.999r+2p -flow = continue - - - - - - - - -#anglestep = 0.5 -#minslicestep = 10 -#beziersamples = 40 -#debug = no -#warnings = no -#imagemap = no - -#units_ok = bupr -#units_nounit = n - -<> - + +# This is the main configuration file for the Circos tableviewer. This file also +# depends on colors.conf (definition on basic colors), ideogram.conf (size and spacing of +# row/cell segments), and ticks.conf (tick spacing and label definitions - these are turned +# off by default). +# +# In addition to these configuration files, the bin/make-conf script creates +# colors.conf (colors of row/col segments) and colors_percentile.conf (colors based on +# cell percentile values). These configuration files are also included via the <> directive. +# +# Some elements of the output image are toggled off by default (e.g. row and column highlights, +# anchor links to segment labels, tick marks). + + +<> +<> +<> + + + +<> + + +<> +<> + +karyotype = DATA_DIR/karyotype.txt + + +dir = DATA_DIR +file = circos.png +24bit = yes +svg = yes +png = yes +# radius of inscribed circle in image +radius = 1500p +background = white +# by default angle=0 is at 3 o'clock position +angle_offset = -180 +auto_alpha_colors = yes +auto_alpha_steps = 5 + + +chromosomes_units = 10 +chromosomes_display_default = yes +chromosomes_order_by_karyotype = yes + + + +show = yes + + +show = no +file = DATA_DIR/row.txt +r0 = 1r+200p +r1 = 1r+220p +stroke_color = black +stroke_thickness = 2 + + + +show = no +file = DATA_DIR/col.txt +r0 = 1r+230p +r1 = 1r+250p +stroke_color = black +stroke_thickness = 2 + + + +show = no +file = DATA_DIR/all.txt +r0 = 1r+10p +r1 = 1r+35p +stroke_color = black +stroke_thickness = 2 + + + + + + + +type = text +file = DATA_DIR/segmentlabel.txt +label_font = condensedbold +color = black +label_size = 30p +r0 = 1r+50p +r1 = 1r+500p +rpadding = 0p +padding = 0p + +show_links = no +link_dims = 0p,10p,32p,10p,5p +link_thickness = 3p +link_color = black + +label_snuggle = no +# shift label up to its height in pixels in the angular direction +max_snuggle_distance = 2r +snuggle_sampling = 2 +snuggle_tolerance = 0.25r + + + + + + + + +ribbon = yes +flat = yes +file = DATA_DIR/cells.txt +bezier_radius = 0.0r +radius = 0.999r-15p +thickness = 1 +color = grey +stroke_color = black +stroke_thickness = 1 + + + +importance = 95 +condition = 1 +radius1 = 0.999r+2p +flow = continue + + + + + + + + +#anglestep = 0.5 +#minslicestep = 10 +#beziersamples = 40 +#debug = no +#warnings = no +#imagemap = no + +#units_ok = bupr +#units_nounit = n + +<> + diff -r e35b82f31ec7 -r 124b7fd92a3e report_clonality/circos/etc/LTe50046.ttf diff -r e35b82f31ec7 -r 124b7fd92a3e report_clonality/circos/etc/LTe50048.ttf diff -r e35b82f31ec7 -r 124b7fd92a3e report_clonality/circos/etc/LTe50050.ttf diff -r e35b82f31ec7 -r 124b7fd92a3e report_clonality/circos/etc/LTe50054.ttf diff -r e35b82f31ec7 -r 124b7fd92a3e report_clonality/circos/etc/pragmata.ttf diff -r e35b82f31ec7 -r 124b7fd92a3e report_clonality/circos/etc/wingding.ttf diff -r e35b82f31ec7 -r 124b7fd92a3e report_clonality/circos/etc_colors.conf --- a/report_clonality/circos/etc_colors.conf Thu Aug 08 07:40:36 2019 -0400 +++ b/report_clonality/circos/etc_colors.conf Thu Feb 25 13:36:15 2021 +0000 @@ -1,142 +1,142 @@ -# RGB color definition. Colors are refered to within configuration files -# by their name. In order to use a color, you must define it here. -# -# e.g. if you really must use 'bisque', then add -# -# bisque = 255,228,196 -# -# Many useful colors are already defined. In general, given a HUE, these -# colors are defined -# -# vlHUE (very light HUE, e.g. vlred) -# lHUE (light HUE, e.g. red) -# HUE (e.g. red) -# dHUE (dark HUE, e.g. dred) -# -# In addition to hues, two other color groups are defined. -# -# - cytogenetic band colors (e.g. gposNNN, acen, stalk, etc.) which -# correspond to colors on ideogram bands -# - UCSC chromosome color palette (e.g. chrNN, chrUn, chrNA) - -optblue = 55,133,221 -optgreen = 55,221,125 -optyellow = 221,215,55 -optorange = 221,164,55 -optred = 221,55,55 -optviolet = 145,55,221 -optpurple = 219,55,221 - -white = 255,255,255 -vvvvlgrey = 250,250,250 -vvvlgrey = 240,240,240 -vvlgrey = 230,230,230 -vlgrey = 220,220,220 -lgrey = 210,210,210 -grey = 200,200,200 -dgrey = 170,170,170 -vdgrey = 140,140,140 -vvdgrey = 100,100,100 -vvvdgrey = 70,70,70 -vvvvdgrey = 40,40,40 -black = 0,0,0 - -vlred = 255,193,200 -lred = 255,122,137 -red = 247,42,66 -dred = 205,51,69 - -vlgreen = 204,255,218 -lgreen = 128,255,164 -green = 51,204,94 -dgreen = 38,153,71 - -vlblue = 128,176,255 -lblue = 64,137,255 -blue = 54,116,217 -dblue = 38,82,153 - -vlpurple= 242,128,255 -lpurple = 236,64,255 -purple = 189,51,204 -dpurple = 118,32,128 - -vlyellow = 255,253,202 -lyellow = 255,252,150 -yellow = 255,255,0 -dyellow = 191,186,48 - -lime = 186,255,0 - -vlorange = 255,228,193 -lorange = 255,187,110 -orange = 255,136,0 -dorange = 221,143,55 - -# karyotype colors - -gpos100 = 0,0,0 -gpos = 0,0,0 -gpos75 = 130,130,130 -gpos66 = 160,160,160 -gpos50 = 200,200,200 -gpos33 = 210,210,210 -gpos25 = 200,200,200 -gvar = 220,220,220 -gneg = 255,255,255 -acen = 217,47,39 -stalk = 100,127,164 - -# others - -select = 135,177,255 - -# new york times cmyk-safe - -# roygbiv - normal -nyt_blue = 104,152,178 -nyt_green = 137,129,96 -nyt_yellow = 241,221,117 -nyt_orange = 230,146,57 -nyt_red = 217,47,39 - -# chromosome color map (UCSC) - -chr1 = 153,102,0 -chr2 = 102,102,0 -chr3 = 153,153,30 -chr4 = 204,0,0 -chr5 = 255,0,0 -chr6 = 255,0,204 -chr7 = 255,204,204 -chr8 = 255,153,0 -chr9 = 255,204,0 -chr10 = 255,255,0 -chr11 = 204,255,0 -chr12 = 0,255,0 -chr13 = 53,128,0 -chr14 = 0,0,204 -chr15 = 102,153,255 -chr16 = 153,204,255 -chr17 = 0,255,255 -chr18 = 204,255,255 -chr19 = 153,0,204 -chr20 = 204,51,255 -chr21 = 204,153,255 -chr22 = 102,102,102 -chr23 = 153,153,153 -chrX = 153,153,153 -chr24 = 204,204,204 -chrY = 204,204,204 -chrM = 204,204,153 -chr0 = 204,204,153 -chrUn = 121,204,61 -chrNA = 255,255,255 - - - - - - - - +# RGB color definition. Colors are refered to within configuration files +# by their name. In order to use a color, you must define it here. +# +# e.g. if you really must use 'bisque', then add +# +# bisque = 255,228,196 +# +# Many useful colors are already defined. In general, given a HUE, these +# colors are defined +# +# vlHUE (very light HUE, e.g. vlred) +# lHUE (light HUE, e.g. red) +# HUE (e.g. red) +# dHUE (dark HUE, e.g. dred) +# +# In addition to hues, two other color groups are defined. +# +# - cytogenetic band colors (e.g. gposNNN, acen, stalk, etc.) which +# correspond to colors on ideogram bands +# - UCSC chromosome color palette (e.g. chrNN, chrUn, chrNA) + +optblue = 55,133,221 +optgreen = 55,221,125 +optyellow = 221,215,55 +optorange = 221,164,55 +optred = 221,55,55 +optviolet = 145,55,221 +optpurple = 219,55,221 + +white = 255,255,255 +vvvvlgrey = 250,250,250 +vvvlgrey = 240,240,240 +vvlgrey = 230,230,230 +vlgrey = 220,220,220 +lgrey = 210,210,210 +grey = 200,200,200 +dgrey = 170,170,170 +vdgrey = 140,140,140 +vvdgrey = 100,100,100 +vvvdgrey = 70,70,70 +vvvvdgrey = 40,40,40 +black = 0,0,0 + +vlred = 255,193,200 +lred = 255,122,137 +red = 247,42,66 +dred = 205,51,69 + +vlgreen = 204,255,218 +lgreen = 128,255,164 +green = 51,204,94 +dgreen = 38,153,71 + +vlblue = 128,176,255 +lblue = 64,137,255 +blue = 54,116,217 +dblue = 38,82,153 + +vlpurple= 242,128,255 +lpurple = 236,64,255 +purple = 189,51,204 +dpurple = 118,32,128 + +vlyellow = 255,253,202 +lyellow = 255,252,150 +yellow = 255,255,0 +dyellow = 191,186,48 + +lime = 186,255,0 + +vlorange = 255,228,193 +lorange = 255,187,110 +orange = 255,136,0 +dorange = 221,143,55 + +# karyotype colors + +gpos100 = 0,0,0 +gpos = 0,0,0 +gpos75 = 130,130,130 +gpos66 = 160,160,160 +gpos50 = 200,200,200 +gpos33 = 210,210,210 +gpos25 = 200,200,200 +gvar = 220,220,220 +gneg = 255,255,255 +acen = 217,47,39 +stalk = 100,127,164 + +# others + +select = 135,177,255 + +# new york times cmyk-safe + +# roygbiv - normal +nyt_blue = 104,152,178 +nyt_green = 137,129,96 +nyt_yellow = 241,221,117 +nyt_orange = 230,146,57 +nyt_red = 217,47,39 + +# chromosome color map (UCSC) + +chr1 = 153,102,0 +chr2 = 102,102,0 +chr3 = 153,153,30 +chr4 = 204,0,0 +chr5 = 255,0,0 +chr6 = 255,0,204 +chr7 = 255,204,204 +chr8 = 255,153,0 +chr9 = 255,204,0 +chr10 = 255,255,0 +chr11 = 204,255,0 +chr12 = 0,255,0 +chr13 = 53,128,0 +chr14 = 0,0,204 +chr15 = 102,153,255 +chr16 = 153,204,255 +chr17 = 0,255,255 +chr18 = 204,255,255 +chr19 = 153,0,204 +chr20 = 204,51,255 +chr21 = 204,153,255 +chr22 = 102,102,102 +chr23 = 153,153,153 +chrX = 153,153,153 +chr24 = 204,204,204 +chrY = 204,204,204 +chrM = 204,204,153 +chr0 = 204,204,153 +chrUn = 121,204,61 +chrNA = 255,255,255 + + + + + + + + diff -r e35b82f31ec7 -r 124b7fd92a3e report_clonality/circos/fonts.conf --- a/report_clonality/circos/fonts.conf Thu Aug 08 07:40:36 2019 -0400 +++ b/report_clonality/circos/fonts.conf Thu Feb 25 13:36:15 2021 +0000 @@ -1,8 +1,8 @@ - -default = LTe50046.ttf -normal = LTe50046.ttf -bold = LTe50048.ttf -condensed = LTe50050.ttf -condensedbold = LTe50054.ttf -mono = pragmata.ttf -glyph = wingding.ttf + +default = LTe50046.ttf +normal = LTe50046.ttf +bold = LTe50048.ttf +condensed = LTe50050.ttf +condensedbold = LTe50054.ttf +mono = pragmata.ttf +glyph = wingding.ttf diff -r e35b82f31ec7 -r 124b7fd92a3e report_clonality/circos/housekeeping.conf --- a/report_clonality/circos/housekeeping.conf Thu Aug 08 07:40:36 2019 -0400 +++ b/report_clonality/circos/housekeeping.conf Thu Feb 25 13:36:15 2021 +0000 @@ -1,230 +1,230 @@ -# Housekeeping parameters, which must be included -# at the top level of the configuration. -# -# Don't adjust these, unless you know what you are doing, or -# feel like experimenting - -anglestep = 0.5 -minslicestep = 10 -beziersamples = 40 # bezier curves are drawn piece-wise - # linear, with this many samples -debug = no -warnings = no -imagemap = no -paranoid = yes - -units_ok = bupr -units_nounit = n - -# \t tab -# \s any whitespace -file_delim = \s -# collapse adjacent whitespace -# e.g. two spaces are treated as one, not as a missing field -file_delim_collapse = yes - -# Record delimiter for parameter values that are lists, such as -# hs1:0.25;hs2:0.10. By default, both ; and , are accepted -# -# e.g. hs1:0.25,hs2:0.10 -# hs1:0.25;hs2:0.10 -list_record_delim = \s*[;,]\s* -# Field delimiter specifies the assignment operator, e.g. -list_field_delim = \s*[:=]\s*] - -# Rule fields and other parameters accept var(VARIABLE) syntax -# to reference parameters of data points. By default, if -# VARIABLE does not exist, Circos quits with an error, unless -# the skip parameter below is set. -# -# This feature is useful when you have data that don't always -# have the same options. For example, -# -# chr1 10 20 a=10 -# chr1 50 60 b=10 -skip_missing_expression_vars = no - -# In old versions, data point parameters were referenced using _NAME_ -# syntax. This has been replaced with var(NAME). The _NAME_ syntax is -# deprecated (for example, it will break when dealing with fields like -# gene_a_1). If you must use it, set the parameter below. - -legacy_underline_expression_syntax = no - -# Magnification factor for text in SVG files. -svg_font_scale = 1.3 - -# default font - pick one of the keys from block -default_font = default -# default font name is used for SVG files for cases where -# the font definition does not include a name -# see etc/fonts.conf for details -default_font_name = Arial -default_font_color = black - -# default color for cases when color is not specified -default_color = black - - -thickness = 1 -size = 5 -type = outline - -all = no -ideogram = no -ideogram_label = no - - -default = lblue -text = red - - - -# Receive debug messages about actions -# -# Comma-separated list of one or more of the following -# -# summary - top level indications of what's happening -# chrfilter - ideogram filtering (parsing 'chromosomes' parameter) -# conf - configuration file -# counter - plot counters -# spacing - ideogram spacing -# scale - ideogram scaling -# ideogram - ideogram reporting -# anglepos - report angle positions for base pair coordinates -# zoom - zoom regions -# layers - specific plot z-layers -# rules - dynamic rules -# text - text tracks -# heatmap - detailed heatmap reports -# brush - brushes -# color - color allocation and definition -# ticks - tick marks and labels -# timers - some benchmark timings -# cache - caches -# _all - turn on all groups -debug_group = summary - -# run length duration after which timing report is automatically -# generated at the end of the run -debug_auto_timer_report = 30 - -debug_word_separator = " " -debug_undef_text = _undef_ -debug_empty_text = _emptylist_ - -# parameters passed to functions can be -# validated to check consistency. turn this -# off to speed things up -debug_validate = yes - -# Reformat numbers in debug output for consistency. -# If you have a lot of debug output (e.g. -debug_group _all) -# this will slow things considerably. -debug_output_tidy = no - -# pixel sub-sampling for text tracks -text_pixel_subsampling = 1 -# array or span - use 'span' if applying snuggle refinement -text_snuggle_method = array - -# restrict names of parameters? -# if 'yes' then only certain named parameters are allowed within -# blocks and option fields for data -# -# if 'no' then you can define parameters with any name what-so-ever, -# useful if you wish to define states or labels for your data -# -# e.g. hs1 10 20 0.5 paired=yes,special=no,myvar=0.5 -# -# ordinarily, 'paired', 'special' and 'myvar' would not be allowed -restrict_parameter_names = no - -# Unless set to 'yes', parameter names will be converted to lowercase -case_sensitive_parameter_names = no - -# The location of configuration and data files will be guessed if -# (a) configuration file is not specified -# (b) data file paths are relative -# Circos will look in the following locations, where -# SCRIPTPATH is the location of the 'circos' script (e.g. /usr/local/bin) and -# CWD is the current directory (where the 'circos' command was executed). -# All paths under CWD will be scanned first, then under SCRIPTPATH. -# -# {CWD,SCRIPTPATH}/. -# {CWD,SCRIPTPATH}/.. -# {CWD,SCRIPTPATH}/etc/ -# {CWD,SCRIPTPATH}/../etc -# {CWD,SCRIPTPATH}/../../etc -# {CWD,SCRIPTPATH}/data -# {CWD,SCRIPTPATH}/../data -# {CWD,SCRIPTPATH}/../../data -# -# If you would like to prepend this list with custom directories for -# data files, enter them as a CSV list here -# data_path = /home/martink/circos-tutorials -# If the cache is static, it will always be used and will not be updated -# unless it is deleted (use -color_cache_rebuild on the command line). -# Otherwise, the cache will be updated if -# - config file is newer than cache file -# - list of colors in config file is different than in cache file -color_cache_static = yes -color_cache_file = circos.colorlist -color_lists_use = yes -# if the directory is not defined, then the system will guess a temporary -# directory compatible with your operating system (using File::Temp) -# color_cache_dir = /tmp - -# Make some functions faster. This should always be 'yes' unless you -# want things to run slowly or suspect deep issues. -memoize = yes - -# This is a debugging flag and should be set to 'no' for regular use -quit_on_dump = yes - -offsets = 0,0 - -# Maximum number of image and data elements. If these are exceeded, -# Circos will quit with an error. These values are arbitrary, but in -# my experience images with significantly more data points than this -# are uninterpretable. - -max_ticks = 5000 -max_ideograms = 200 -max_links = 25000 -max_points_per_track = 25000 - -# What to do when data is found for an ideogram that does not appear in the karyotype file. - -# Set to 'skip' or 'exit' -undefined_ideogram = skip - -# Number of iterations for determining ideogram sizes when -# relative scale is used. -relative_scale_iterations = 10 - -# min, max, average, mode - based on scale statistics of ALL ideograms -# minadj, maxadj, averageadj, modeadj - based on scale statistics of adjacent ideograms -# -# You can specify a fixed scale for spacing using a floating value -# -# e.g. relative_scale_spacing = 1.5 -relative_scale_spacing = mode - -# What to do with out-of-range data. Either 'clip' or 'hide' -data_out_of_range = clip - -# Track default directory -track_defaults = etc/tracks - -# Use round brushes for elements with thickness greater than round_brush_min_thickness? -round_brush_use = yes -round_brush_min_thickness = 5 - -# Use anti aliasing, where possible? I've seen bugs in some gd libraries -# that cause artefacts to appear when lines are anti-aliased. If your -# image contains unexpected elements, turn aa off. -anti_aliasing = yes - -# A parameter that must be set. Checks whether this file was imported. -housekeeping = yes +# Housekeeping parameters, which must be included +# at the top level of the configuration. +# +# Don't adjust these, unless you know what you are doing, or +# feel like experimenting + +anglestep = 0.5 +minslicestep = 10 +beziersamples = 40 # bezier curves are drawn piece-wise + # linear, with this many samples +debug = no +warnings = no +imagemap = no +paranoid = yes + +units_ok = bupr +units_nounit = n + +# \t tab +# \s any whitespace +file_delim = \s +# collapse adjacent whitespace +# e.g. two spaces are treated as one, not as a missing field +file_delim_collapse = yes + +# Record delimiter for parameter values that are lists, such as +# hs1:0.25;hs2:0.10. By default, both ; and , are accepted +# +# e.g. hs1:0.25,hs2:0.10 +# hs1:0.25;hs2:0.10 +list_record_delim = \s*[;,]\s* +# Field delimiter specifies the assignment operator, e.g. +list_field_delim = \s*[:=]\s*] + +# Rule fields and other parameters accept var(VARIABLE) syntax +# to reference parameters of data points. By default, if +# VARIABLE does not exist, Circos quits with an error, unless +# the skip parameter below is set. +# +# This feature is useful when you have data that don't always +# have the same options. For example, +# +# chr1 10 20 a=10 +# chr1 50 60 b=10 +skip_missing_expression_vars = no + +# In old versions, data point parameters were referenced using _NAME_ +# syntax. This has been replaced with var(NAME). The _NAME_ syntax is +# deprecated (for example, it will break when dealing with fields like +# gene_a_1). If you must use it, set the parameter below. + +legacy_underline_expression_syntax = no + +# Magnification factor for text in SVG files. +svg_font_scale = 1.3 + +# default font - pick one of the keys from block +default_font = default +# default font name is used for SVG files for cases where +# the font definition does not include a name +# see etc/fonts.conf for details +default_font_name = Arial +default_font_color = black + +# default color for cases when color is not specified +default_color = black + + +thickness = 1 +size = 5 +type = outline + +all = no +ideogram = no +ideogram_label = no + + +default = lblue +text = red + + + +# Receive debug messages about actions +# +# Comma-separated list of one or more of the following +# +# summary - top level indications of what's happening +# chrfilter - ideogram filtering (parsing 'chromosomes' parameter) +# conf - configuration file +# counter - plot counters +# spacing - ideogram spacing +# scale - ideogram scaling +# ideogram - ideogram reporting +# anglepos - report angle positions for base pair coordinates +# zoom - zoom regions +# layers - specific plot z-layers +# rules - dynamic rules +# text - text tracks +# heatmap - detailed heatmap reports +# brush - brushes +# color - color allocation and definition +# ticks - tick marks and labels +# timers - some benchmark timings +# cache - caches +# _all - turn on all groups +debug_group = summary + +# run length duration after which timing report is automatically +# generated at the end of the run +debug_auto_timer_report = 30 + +debug_word_separator = " " +debug_undef_text = _undef_ +debug_empty_text = _emptylist_ + +# parameters passed to functions can be +# validated to check consistency. turn this +# off to speed things up +debug_validate = yes + +# Reformat numbers in debug output for consistency. +# If you have a lot of debug output (e.g. -debug_group _all) +# this will slow things considerably. +debug_output_tidy = no + +# pixel sub-sampling for text tracks +text_pixel_subsampling = 1 +# array or span - use 'span' if applying snuggle refinement +text_snuggle_method = array + +# restrict names of parameters? +# if 'yes' then only certain named parameters are allowed within +# blocks and option fields for data +# +# if 'no' then you can define parameters with any name what-so-ever, +# useful if you wish to define states or labels for your data +# +# e.g. hs1 10 20 0.5 paired=yes,special=no,myvar=0.5 +# +# ordinarily, 'paired', 'special' and 'myvar' would not be allowed +restrict_parameter_names = no + +# Unless set to 'yes', parameter names will be converted to lowercase +case_sensitive_parameter_names = no + +# The location of configuration and data files will be guessed if +# (a) configuration file is not specified +# (b) data file paths are relative +# Circos will look in the following locations, where +# SCRIPTPATH is the location of the 'circos' script (e.g. /usr/local/bin) and +# CWD is the current directory (where the 'circos' command was executed). +# All paths under CWD will be scanned first, then under SCRIPTPATH. +# +# {CWD,SCRIPTPATH}/. +# {CWD,SCRIPTPATH}/.. +# {CWD,SCRIPTPATH}/etc/ +# {CWD,SCRIPTPATH}/../etc +# {CWD,SCRIPTPATH}/../../etc +# {CWD,SCRIPTPATH}/data +# {CWD,SCRIPTPATH}/../data +# {CWD,SCRIPTPATH}/../../data +# +# If you would like to prepend this list with custom directories for +# data files, enter them as a CSV list here +# data_path = /home/martink/circos-tutorials +# If the cache is static, it will always be used and will not be updated +# unless it is deleted (use -color_cache_rebuild on the command line). +# Otherwise, the cache will be updated if +# - config file is newer than cache file +# - list of colors in config file is different than in cache file +color_cache_static = yes +color_cache_file = circos.colorlist +color_lists_use = yes +# if the directory is not defined, then the system will guess a temporary +# directory compatible with your operating system (using File::Temp) +# color_cache_dir = /tmp + +# Make some functions faster. This should always be 'yes' unless you +# want things to run slowly or suspect deep issues. +memoize = yes + +# This is a debugging flag and should be set to 'no' for regular use +quit_on_dump = yes + +offsets = 0,0 + +# Maximum number of image and data elements. If these are exceeded, +# Circos will quit with an error. These values are arbitrary, but in +# my experience images with significantly more data points than this +# are uninterpretable. + +max_ticks = 5000 +max_ideograms = 200 +max_links = 25000 +max_points_per_track = 25000 + +# What to do when data is found for an ideogram that does not appear in the karyotype file. + +# Set to 'skip' or 'exit' +undefined_ideogram = skip + +# Number of iterations for determining ideogram sizes when +# relative scale is used. +relative_scale_iterations = 10 + +# min, max, average, mode - based on scale statistics of ALL ideograms +# minadj, maxadj, averageadj, modeadj - based on scale statistics of adjacent ideograms +# +# You can specify a fixed scale for spacing using a floating value +# +# e.g. relative_scale_spacing = 1.5 +relative_scale_spacing = mode + +# What to do with out-of-range data. Either 'clip' or 'hide' +data_out_of_range = clip + +# Track default directory +track_defaults = etc/tracks + +# Use round brushes for elements with thickness greater than round_brush_min_thickness? +round_brush_use = yes +round_brush_min_thickness = 5 + +# Use anti aliasing, where possible? I've seen bugs in some gd libraries +# that cause artefacts to appear when lines are anti-aliased. If your +# image contains unexpected elements, turn aa off. +anti_aliasing = yes + +# A parameter that must be set. Checks whether this file was imported. +housekeeping = yes diff -r e35b82f31ec7 -r 124b7fd92a3e report_clonality/circos/ideogram.conf --- a/report_clonality/circos/ideogram.conf Thu Aug 08 07:40:36 2019 -0400 +++ b/report_clonality/circos/ideogram.conf Thu Feb 25 13:36:15 2021 +0000 @@ -1,37 +1,37 @@ - - - - - -default = 0.0025r - - - -thickness = 50p -stroke_thickness = 0 -# ideogram border color -stroke_color = black -fill = yes -# the default chromosome color is set here and any value -# defined in the karyotype file overrides it -fill_color = black - -# fractional radius position of chromosome ideogram within image -radius = 0.85r -show_label = no -label_font = condensedbold -label_radius = 0.99r -label_size = 36 - -# cytogenetic bands -band_stroke_thickness = 2 - -# show_bands determines whether the outline of cytogenetic bands -# will be seen -show_bands = no -# in order to fill the bands with the color defined in the karyotype -# file you must set fill_bands -fill_bands = yes - - - + + + + + +default = 0.0025r + + + +thickness = 50p +stroke_thickness = 0 +# ideogram border color +stroke_color = black +fill = yes +# the default chromosome color is set here and any value +# defined in the karyotype file overrides it +fill_color = black + +# fractional radius position of chromosome ideogram within image +radius = 0.85r +show_label = no +label_font = condensedbold +label_radius = 0.99r +label_size = 36 + +# cytogenetic bands +band_stroke_thickness = 2 + +# show_bands determines whether the outline of cytogenetic bands +# will be seen +show_bands = no +# in order to fill the bands with the color defined in the karyotype +# file you must set fill_bands +fill_bands = yes + + + diff -r e35b82f31ec7 -r 124b7fd92a3e report_clonality/circos/parse-table.conf --- a/report_clonality/circos/parse-table.conf Thu Aug 08 07:40:36 2019 -0400 +++ b/report_clonality/circos/parse-table.conf Thu Feb 25 13:36:15 2021 +0000 @@ -1,391 +1,391 @@ - -################################################################ -# -# This is a fairly complicated configuration file. Take your time in -# experimenting and adjust one thing at a time :) -# -################################################################ - -max_col_num = 200 -max_row_num = 200 - -# skip this many rows before reading in header and data -skip_rows = 0 - -# is there a header line that identifies the columns? -header = yes - -# is there a row that specifies the order of columns in the image? -# - if so, this must be the first line of the header -# - if the line exists (col_order_row=yes), employ the use_col_order_row to toggle whether it is used -col_order_row = no -use_col_order_row = no - -# is there a row that specifies the size of columns in the image? -# - if so, this must be the next line of the header -# - if the line exists (col_size_row=yes), employ the use_col_size_row to toggle whether it is used -col_size_row = no -use_col_size_row = no - -# is there a row that specifies the color of each column segment in the image? -# - if so, this must be the next line of the header -# - if the line exists (col_color_row=yes), employ the use_col_color_row to toggle whether it is used -col_color_row = no -use_col_color_row = no - -# is there a column that specifies the order of rows in the image? -# - if so, this must be the first column -# - if the line exists (row_order_col=yes), employ the use_row_order_col to toggle whether it is used -row_order_col = no -use_row_order_col = no - -# is there a column that specifies the color of each row segment in the image? -# - if so, this must be the second column -# - if the line exists (row_color_col=yes), employ the use_row_color_col to toggle whether it is used -row_color_col = no -use_row_color_col = no - -# if you do not have a column/row that explicitly defines order -# of segments in the image, you can set this here. Use one (or more) of -# these values to specify how segments should be ordered. -# - row_major (row segments first, then column) -# - col_major (col segments first, then row) -# - ascii (asciibetic order) -# - row_size (total of rows for the segment - useful if the segment has both row and column contributions) -# - col_size (total of colums for the segment - useful if the segment has both row and column contributions) -# - row_to_col_ratio (ratio of total of rows to columns for the segment) -# - col_to_row_ratio (ratio of total of rows to columns for the segment) -# - size_asc (size, in ascending order) -# - size_desc (size, in descending order) - -#segment_order = row_to_col_ratio,size_desc # col_major,size_desc -#segment_order = size_desc -segment_order = row_major,size_desc -#segment_order = ascii -#segment_order = file:etc/order-by-table-remapped.txt -#segment_order = size_desc,row_to_col_ratio -segment_color_order = row_major,size_desc - -# values for segments can be normalized if the use_segment_normalization is set to yes -use_segment_normalization = no - -# the normalization function can be one of the following, and is applied to -# all values that correspond to the segment's label -# total - sum of cell values for the segment label (row and col) -# average - average of cell values for the segment label (row and col) -# row_total, row_average - sum or average for cell values for the segment row -# col_total, col_average - sum or average for cell values for the segment col -# row_size, col_size, total_size - based on the optional size column (see col_size_row and row_size_col above) -# VALUE - segments are scaled to a constant VALUE (e.g. 1000) -segment_normalization_function = 1000 - -# normalization can be performed by either altering the actual data values or -# by applying a visual scaling of the segments. When 'value' is used, the data -# is changed. When 'visual' is used, then a chromosomes_scale line is reported -# by this script which you must include in circos.conf for the scaling to be applied -segment_normalization_scheme = value - -################################################################ -# placement of cell ribbons on row/column segments -# -# for segments that share both column and row ribbons, the -# order of ribbon position can be adjusted with placement_order - -placement_order = row,col # col,row or row,col - -# within the row/column ribbon bundle for each segment, -# ribbon_bundle_order determines how the ribbons will be -# ordered -# - size - by value of the cell -# - ascii - sorted by destination label -# - native - sorted by order of destination segment - -ribbon_bundle_order = native # size, ascii, native - -# reverse the position of links in table/row segments? - -reverse_rows = no -reverse_columns = no - -# values for cells with the same row/column name can be treated -# independently. You can -# show - show these cells and not filter them at all -# hide - hide these cells from the image, but not resize the row/columns -# remove - entirely remove these cells from the data set (equivalent to setting cells to missing value) -intra_cell_handling = show - -# ribbon layering - order in which the ribbons are drawn on the image -# size_asc - ascending by ribbon size (small ribbons drawn first, therefore large ribbons will be at front) -# size_desc - descending by ribbon size (large ribbons drawn first, therefore small ribbons will be at front) - -ribbon_layer_order = size_asc - -# if both (A,B)=x and (B,A)=y cells exist, you can choose to have the ribbon -# ends sized variably so that ribbon at A has width x and at B has width y - -ribbon_variable = no -ribbon_variable_intra_collapse = yes - -################################################################ -# cell value mapping allows you to remap the cell values using -# any Perl expression that uses X as the cell value. For example, -# -# cell_remap_formula = log(X) -# = sqrt(X) -# = X/10 -# = X ? log(X) : 0 -# -# This remapping takes place before any filters or scaling is applied. Its effect -# is the same as remapping the cell values in the input file. - -use_cell_remap = no -cell_remap_formula = round(10*X) - -################################################################ -# scale your values with a power rule (useful if the range of values -# is very large) to -# - atten_large: attenuate large values and maintain visibility -# of ribbons corresponding to small values, or -# - atten_small: attenuate small values to increase visibility -# of ribbons corresponding to large values -# -# given a value, v, and a maximum, m -# -# atten_small: -# -# v_new = m * ( exp(scale_factor * v / m) - 1 ) / ( exp(scale_factor) - 1 ) -# -# atten_large: -# -# v_new = m * ( log(scale_factor * v ) ) / ( log(scale_factor * m ) ) -# -# essentially the values are remapped to a log-type scale -# with the range 0..m - -use_scaling = no -scaling_type = atten_large -scale_factor = 1 - -blank_means_missing = no -missing_cell_value = - - -################################################################ -# Value cutoffs for cell values and ribbon formatting. -# -# You can toggle the visibility of ribbons for cells outside -# a min/max range. You can define one or more of these cutoffs. -# The cutoffs are applied to unscaled cell values. - -#cell_min_value = 10 -#cell_min_percentile = 10 -#cell_max_value = 100 -#cell_max_percentile = 100 - -# For cell values that do not pass the min/max filters above, -# you can specify whether they are hidden or removed. If the -# parameter is not defined, "hide" will be assumed. -# hide - cell values won't be shown, but row/col will not be resized -# remove - entirely remove these cells from the data set (equivalent to setting cells to missing value) - -cutoff_cell_handling = hide - -# The color of ribbons is by default the color of the row segment from -# which they originate. The block below allows you to remap the color -# of the ribbons based on cell percentile values. There are two ways -# to remap colors -# -# - color_remap=yes, color_autoremap=no -# Uses blocks to define the percentile values and associated -# color/stroke_color characteristics for ribbons. Percentile value defined -# in the block (e.g. ) is the max percentile value for -# cells associated with this block. -# - color_remap=yes, color_autoremap=yes -# Uses colors associated with each percentile window of size -# percentile_sampling for each cell - - -color_source = row -percentile_source = larger -color_transparency = 1 -color_remap = yes -color_autoremap = no - - -color = dgrey -transparency = 5 - - - -color = dgrey -transparency = 5 - - - -transparency = 1 - - - -transparency = 1 - - - -transparency = 1 -stroke_color = black -stroke_thickness = 1p - - - -transparency = 1 -stroke_color = black -stroke_thickness = 3p - - - - - -color = vdgrey -#stroke_color = black -#stroke_thickness = 1p - - -# If you are using color_autoremap=yes above, then -# define the percentile sampling window and -# the start/end HSV color values. Percentile window -# colors are interpolated between this HSV pair. -# -# HSV = (hue saturation value) -# hue=(0..360) saturation=(0..1) value=(0..1) - -percentile_sampling = 5 - -# count - percentile based on counts -# value - percentile based on value - -percentile_method = count - -# use all values or only unique values when -# calculating percentiles -percentile_unique_only = yes - -# use a function, f(X), to remap cell values when calculating percentiles -# for the purpose of color mapping. This allows you to apply a remapping to how -# colors are calculated, without actually changing the values. The remap -# applies only if percentile_method=value - -# percentile_remap = sqrt(X) - -# Which cell value set to use for percentile color mapping -# raw - original values -# filtered - values that pass min/max filters -# scaled - filtered values that have been scaled if use_scaling is set -percentile_data_domain = raw - - -h0 = 0 -s0 = 1 -v0 = 1 -h1 = 300 -s1 = 1 -v1 = 1 - - -# You can control the color and stroke of ribbons for each -# quartile (q1, q2, q3, q4). Any values defined here will -# overwrite colors determined by remapping. -# -# For example, if you have a lot of cells and wish to attenuate -# the visibility of ribbons associated with small values, you can -# set cell_q1_color=vvlgrey,cell_q1_nostroke=yes to fade the -# ribbons into the background. - -#cell_q1_color = vvlgrey -#cell_q2_color = vlgrey -#cell_q3_color = lgrey -#cell_q4_color = red -#cell_q1_nostroke = yes -#cell_q2_nostroke = yes -#cell_q3_nostroke = yes -#cell_q4_nostroke = yes - -# cell value multiplier, required when all data is small (e.g. <1), in which -# case set the multiplier to something like 1000 because Circos -# works only with integer scales - -data_mult = 1 - -################################################################ -# Segment labels can be optionally set to a size that is -# proportional to the size of the segment. Set min/max size -# values here. If this line is commented out, then the label -# size is determined by the circos.conf file used to draw the image - -#segment_label_size_range = 60,60 - -# progression controls how fast the label size changes from -# min to max (larger value of progression means values close to max -# are achieved for smaller segments) - -segment_label_size_progression = 4 - -segment_label_uppercase = no - -################################################################ -# Segment colors can be specified in the data file (in this -# case use row_color_col and col_color_row), otherwise colors -# are interpolated within an HSV range. Color interpolation can be -# done in two ways: based on segment index (interpolation steps through -# colors uniformly for each segment) and total size (interpolation -# steps through colors in proportion to segment size). - - -interpolate_type = size # size or count -h0 = 0 -s0 = 0.8 -v0 = 0.9 -h1 = 300 -s1 = 0.8 -v1 = 0.9 - - -################################################################ -# Shorten the labels of segments. Specify whether to do this -# with shorten_text=yes|no parameter and provide regular -# expressions in string_replace which define the text to -# replace. - -shorten_text = yes - - -IGH = - - -# exit on any error -strict_sanity = yes - -################################################################ -# if the segment_prefix is set, then rows and columns will be -# renamed to internal fields segment_prefix + DIGIT - -#segment_prefix = id -color_prefix = color - -################################################################ -# Delimiters - -# field delimiter regular expression -# if this is not defined, any whitespace will be considered a delimiter -field_delim = \s - -# collapse adjacent delimiters? -field_delim_collapse = yes - -# remove any leading space in the input file -# by default, this is on - if you set this to "no", make sure that you don't have any leading spaces in your table! -strip_leading_space = yes - -# remove quotes and thousand separators - concatenate characters to remove -# -# e.g. to remove characters a b c set remove_cell_rx=abc -# e.g. to remove characters " ' , set remove_cell_rx="', -remove_cell_rx = "', - + +################################################################ +# +# This is a fairly complicated configuration file. Take your time in +# experimenting and adjust one thing at a time :) +# +################################################################ + +max_col_num = 200 +max_row_num = 200 + +# skip this many rows before reading in header and data +skip_rows = 0 + +# is there a header line that identifies the columns? +header = yes + +# is there a row that specifies the order of columns in the image? +# - if so, this must be the first line of the header +# - if the line exists (col_order_row=yes), employ the use_col_order_row to toggle whether it is used +col_order_row = no +use_col_order_row = no + +# is there a row that specifies the size of columns in the image? +# - if so, this must be the next line of the header +# - if the line exists (col_size_row=yes), employ the use_col_size_row to toggle whether it is used +col_size_row = no +use_col_size_row = no + +# is there a row that specifies the color of each column segment in the image? +# - if so, this must be the next line of the header +# - if the line exists (col_color_row=yes), employ the use_col_color_row to toggle whether it is used +col_color_row = no +use_col_color_row = no + +# is there a column that specifies the order of rows in the image? +# - if so, this must be the first column +# - if the line exists (row_order_col=yes), employ the use_row_order_col to toggle whether it is used +row_order_col = no +use_row_order_col = no + +# is there a column that specifies the color of each row segment in the image? +# - if so, this must be the second column +# - if the line exists (row_color_col=yes), employ the use_row_color_col to toggle whether it is used +row_color_col = no +use_row_color_col = no + +# if you do not have a column/row that explicitly defines order +# of segments in the image, you can set this here. Use one (or more) of +# these values to specify how segments should be ordered. +# - row_major (row segments first, then column) +# - col_major (col segments first, then row) +# - ascii (asciibetic order) +# - row_size (total of rows for the segment - useful if the segment has both row and column contributions) +# - col_size (total of colums for the segment - useful if the segment has both row and column contributions) +# - row_to_col_ratio (ratio of total of rows to columns for the segment) +# - col_to_row_ratio (ratio of total of rows to columns for the segment) +# - size_asc (size, in ascending order) +# - size_desc (size, in descending order) + +#segment_order = row_to_col_ratio,size_desc # col_major,size_desc +#segment_order = size_desc +segment_order = row_major,size_desc +#segment_order = ascii +#segment_order = file:etc/order-by-table-remapped.txt +#segment_order = size_desc,row_to_col_ratio +segment_color_order = row_major,size_desc + +# values for segments can be normalized if the use_segment_normalization is set to yes +use_segment_normalization = no + +# the normalization function can be one of the following, and is applied to +# all values that correspond to the segment's label +# total - sum of cell values for the segment label (row and col) +# average - average of cell values for the segment label (row and col) +# row_total, row_average - sum or average for cell values for the segment row +# col_total, col_average - sum or average for cell values for the segment col +# row_size, col_size, total_size - based on the optional size column (see col_size_row and row_size_col above) +# VALUE - segments are scaled to a constant VALUE (e.g. 1000) +segment_normalization_function = 1000 + +# normalization can be performed by either altering the actual data values or +# by applying a visual scaling of the segments. When 'value' is used, the data +# is changed. When 'visual' is used, then a chromosomes_scale line is reported +# by this script which you must include in circos.conf for the scaling to be applied +segment_normalization_scheme = value + +################################################################ +# placement of cell ribbons on row/column segments +# +# for segments that share both column and row ribbons, the +# order of ribbon position can be adjusted with placement_order + +placement_order = row,col # col,row or row,col + +# within the row/column ribbon bundle for each segment, +# ribbon_bundle_order determines how the ribbons will be +# ordered +# - size - by value of the cell +# - ascii - sorted by destination label +# - native - sorted by order of destination segment + +ribbon_bundle_order = native # size, ascii, native + +# reverse the position of links in table/row segments? + +reverse_rows = no +reverse_columns = no + +# values for cells with the same row/column name can be treated +# independently. You can +# show - show these cells and not filter them at all +# hide - hide these cells from the image, but not resize the row/columns +# remove - entirely remove these cells from the data set (equivalent to setting cells to missing value) +intra_cell_handling = show + +# ribbon layering - order in which the ribbons are drawn on the image +# size_asc - ascending by ribbon size (small ribbons drawn first, therefore large ribbons will be at front) +# size_desc - descending by ribbon size (large ribbons drawn first, therefore small ribbons will be at front) + +ribbon_layer_order = size_asc + +# if both (A,B)=x and (B,A)=y cells exist, you can choose to have the ribbon +# ends sized variably so that ribbon at A has width x and at B has width y + +ribbon_variable = no +ribbon_variable_intra_collapse = yes + +################################################################ +# cell value mapping allows you to remap the cell values using +# any Perl expression that uses X as the cell value. For example, +# +# cell_remap_formula = log(X) +# = sqrt(X) +# = X/10 +# = X ? log(X) : 0 +# +# This remapping takes place before any filters or scaling is applied. Its effect +# is the same as remapping the cell values in the input file. + +use_cell_remap = no +cell_remap_formula = round(10*X) + +################################################################ +# scale your values with a power rule (useful if the range of values +# is very large) to +# - atten_large: attenuate large values and maintain visibility +# of ribbons corresponding to small values, or +# - atten_small: attenuate small values to increase visibility +# of ribbons corresponding to large values +# +# given a value, v, and a maximum, m +# +# atten_small: +# +# v_new = m * ( exp(scale_factor * v / m) - 1 ) / ( exp(scale_factor) - 1 ) +# +# atten_large: +# +# v_new = m * ( log(scale_factor * v ) ) / ( log(scale_factor * m ) ) +# +# essentially the values are remapped to a log-type scale +# with the range 0..m + +use_scaling = no +scaling_type = atten_large +scale_factor = 1 + +blank_means_missing = no +missing_cell_value = - + +################################################################ +# Value cutoffs for cell values and ribbon formatting. +# +# You can toggle the visibility of ribbons for cells outside +# a min/max range. You can define one or more of these cutoffs. +# The cutoffs are applied to unscaled cell values. + +#cell_min_value = 10 +#cell_min_percentile = 10 +#cell_max_value = 100 +#cell_max_percentile = 100 + +# For cell values that do not pass the min/max filters above, +# you can specify whether they are hidden or removed. If the +# parameter is not defined, "hide" will be assumed. +# hide - cell values won't be shown, but row/col will not be resized +# remove - entirely remove these cells from the data set (equivalent to setting cells to missing value) + +cutoff_cell_handling = hide + +# The color of ribbons is by default the color of the row segment from +# which they originate. The block below allows you to remap the color +# of the ribbons based on cell percentile values. There are two ways +# to remap colors +# +# - color_remap=yes, color_autoremap=no +# Uses blocks to define the percentile values and associated +# color/stroke_color characteristics for ribbons. Percentile value defined +# in the block (e.g. ) is the max percentile value for +# cells associated with this block. +# - color_remap=yes, color_autoremap=yes +# Uses colors associated with each percentile window of size +# percentile_sampling for each cell + + +color_source = row +percentile_source = larger +color_transparency = 1 +color_remap = yes +color_autoremap = no + + +color = dgrey +transparency = 5 + + + +color = dgrey +transparency = 5 + + + +transparency = 1 + + + +transparency = 1 + + + +transparency = 1 +stroke_color = black +stroke_thickness = 1p + + + +transparency = 1 +stroke_color = black +stroke_thickness = 3p + + + + + +color = vdgrey +#stroke_color = black +#stroke_thickness = 1p + + +# If you are using color_autoremap=yes above, then +# define the percentile sampling window and +# the start/end HSV color values. Percentile window +# colors are interpolated between this HSV pair. +# +# HSV = (hue saturation value) +# hue=(0..360) saturation=(0..1) value=(0..1) + +percentile_sampling = 5 + +# count - percentile based on counts +# value - percentile based on value + +percentile_method = count + +# use all values or only unique values when +# calculating percentiles +percentile_unique_only = yes + +# use a function, f(X), to remap cell values when calculating percentiles +# for the purpose of color mapping. This allows you to apply a remapping to how +# colors are calculated, without actually changing the values. The remap +# applies only if percentile_method=value + +# percentile_remap = sqrt(X) + +# Which cell value set to use for percentile color mapping +# raw - original values +# filtered - values that pass min/max filters +# scaled - filtered values that have been scaled if use_scaling is set +percentile_data_domain = raw + + +h0 = 0 +s0 = 1 +v0 = 1 +h1 = 300 +s1 = 1 +v1 = 1 + + +# You can control the color and stroke of ribbons for each +# quartile (q1, q2, q3, q4). Any values defined here will +# overwrite colors determined by remapping. +# +# For example, if you have a lot of cells and wish to attenuate +# the visibility of ribbons associated with small values, you can +# set cell_q1_color=vvlgrey,cell_q1_nostroke=yes to fade the +# ribbons into the background. + +#cell_q1_color = vvlgrey +#cell_q2_color = vlgrey +#cell_q3_color = lgrey +#cell_q4_color = red +#cell_q1_nostroke = yes +#cell_q2_nostroke = yes +#cell_q3_nostroke = yes +#cell_q4_nostroke = yes + +# cell value multiplier, required when all data is small (e.g. <1), in which +# case set the multiplier to something like 1000 because Circos +# works only with integer scales + +data_mult = 1 + +################################################################ +# Segment labels can be optionally set to a size that is +# proportional to the size of the segment. Set min/max size +# values here. If this line is commented out, then the label +# size is determined by the circos.conf file used to draw the image + +#segment_label_size_range = 60,60 + +# progression controls how fast the label size changes from +# min to max (larger value of progression means values close to max +# are achieved for smaller segments) + +segment_label_size_progression = 4 + +segment_label_uppercase = no + +################################################################ +# Segment colors can be specified in the data file (in this +# case use row_color_col and col_color_row), otherwise colors +# are interpolated within an HSV range. Color interpolation can be +# done in two ways: based on segment index (interpolation steps through +# colors uniformly for each segment) and total size (interpolation +# steps through colors in proportion to segment size). + + +interpolate_type = size # size or count +h0 = 0 +s0 = 0.8 +v0 = 0.9 +h1 = 300 +s1 = 0.8 +v1 = 0.9 + + +################################################################ +# Shorten the labels of segments. Specify whether to do this +# with shorten_text=yes|no parameter and provide regular +# expressions in string_replace which define the text to +# replace. + +shorten_text = yes + + +IGH = + + +# exit on any error +strict_sanity = yes + +################################################################ +# if the segment_prefix is set, then rows and columns will be +# renamed to internal fields segment_prefix + DIGIT + +#segment_prefix = id +color_prefix = color + +################################################################ +# Delimiters + +# field delimiter regular expression +# if this is not defined, any whitespace will be considered a delimiter +field_delim = \s + +# collapse adjacent delimiters? +field_delim_collapse = yes + +# remove any leading space in the input file +# by default, this is on - if you set this to "no", make sure that you don't have any leading spaces in your table! +strip_leading_space = yes + +# remove quotes and thousand separators - concatenate characters to remove +# +# e.g. to remove characters a b c set remove_cell_rx=abc +# e.g. to remove characters " ' , set remove_cell_rx="', +remove_cell_rx = "', + diff -r e35b82f31ec7 -r 124b7fd92a3e report_clonality/circos/ticks.conf --- a/report_clonality/circos/ticks.conf Thu Aug 08 07:40:36 2019 -0400 +++ b/report_clonality/circos/ticks.conf Thu Feb 25 13:36:15 2021 +0000 @@ -1,65 +1,65 @@ - -show_ticks = no -show_tick_labels = no -chrticklabels = yes -chrticklabelfont = default - -grid_start = dims(ideogram,radius_inner)-0.5r -grid_end = dims(ideogram,radius_outer)+100 - - -skip_first_label = no -skip_last_label = no -radius = dims(ideogram,radius_outer) -label_offset = 0p -color = black - - -spacing = 5u -spacing_type = relative -rspacing = 0.1 -size = 3p -thickness = 2p -color = dgrey -show_label = yes -label_size = 16p -label_offset = 3p -label_relative = yes -format = %d -grid = yes -grid_color = dgrey -grid_thickness = 1p -suffix = % -rmultiplier = 100 -offset = 40p - - - -spacing = 50u -size = 3p -thickness = 2p -color = black -show_label = yes -label_size = 12p -label_offset = 3p -format = %d -grid = yes -grid_color = dgrey -grid_thickness = 1p - - - -spacing = 10u -size = 2p -thickness = 1p -color = black -show_label = no -label_size = 12p -label_offset = 3p -format = %d -grid = yes -grid_color = dgrey -grid_thickness = 1p - - - + +show_ticks = no +show_tick_labels = no +chrticklabels = yes +chrticklabelfont = default + +grid_start = dims(ideogram,radius_inner)-0.5r +grid_end = dims(ideogram,radius_outer)+100 + + +skip_first_label = no +skip_last_label = no +radius = dims(ideogram,radius_outer) +label_offset = 0p +color = black + + +spacing = 5u +spacing_type = relative +rspacing = 0.1 +size = 3p +thickness = 2p +color = dgrey +show_label = yes +label_size = 16p +label_offset = 3p +label_relative = yes +format = %d +grid = yes +grid_color = dgrey +grid_thickness = 1p +suffix = % +rmultiplier = 100 +offset = 40p + + + +spacing = 50u +size = 3p +thickness = 2p +color = black +show_label = yes +label_size = 12p +label_offset = 3p +format = %d +grid = yes +grid_color = dgrey +grid_thickness = 1p + + + +spacing = 10u +size = 2p +thickness = 1p +color = black +show_label = no +label_size = 12p +label_offset = 3p +format = %d +grid = yes +grid_color = dgrey +grid_thickness = 1p + + + diff -r e35b82f31ec7 -r 124b7fd92a3e report_clonality/genes.txt --- a/report_clonality/genes.txt Thu Aug 08 07:40:36 2019 -0400 +++ b/report_clonality/genes.txt Thu Feb 25 13:36:15 2021 +0000 @@ -1,3306 +1,3306 @@ -Species IMGT.GENE.DB locus region functional chr.order -Bos taurus functional TRAJ1 TRA J TRUE 1 -Bos taurus functional TRAJ10 TRA J TRUE 2 -Bos taurus functional TRAJ11 TRA J TRUE 3 -Bos taurus non-functional TRAJ12 TRA J FALSE 4 -Bos taurus functional TRAJ13 TRA J TRUE 5 -Bos taurus functional TRAJ14 TRA J TRUE 6 -Bos taurus functional TRAJ15 TRA J TRUE 7 -Bos taurus functional TRAJ16 TRA J TRUE 8 -Bos taurus functional TRAJ17 TRA J TRUE 9 -Bos taurus functional TRAJ18 TRA J TRUE 10 -Bos taurus functional TRAJ19 TRA J TRUE 11 -Bos taurus functional TRAJ2 TRA J TRUE 12 -Bos taurus functional TRAJ20 TRA J TRUE 13 -Bos taurus functional TRAJ21 TRA J TRUE 14 -Bos taurus functional TRAJ22 TRA J TRUE 15 -Bos taurus functional TRAJ23 TRA J TRUE 16 -Bos taurus functional TRAJ24 TRA J TRUE 17 -Bos taurus functional TRAJ25 TRA J TRUE 18 -Bos taurus functional TRAJ26 TRA J TRUE 19 -Bos taurus non-functional TRAJ27 TRA J FALSE 20 -Bos taurus functional TRAJ28 TRA J TRUE 21 -Bos taurus functional TRAJ29 TRA J TRUE 22 -Bos taurus functional TRAJ3 TRA J TRUE 23 -Bos taurus non-functional TRAJ30 TRA J FALSE 24 -Bos taurus functional TRAJ31 TRA J TRUE 25 -Bos taurus functional TRAJ32 TRA J TRUE 26 -Bos taurus functional TRAJ33 TRA J TRUE 27 -Bos taurus functional TRAJ34 TRA J TRUE 28 -Bos taurus functional TRAJ35 TRA J TRUE 29 -Bos taurus functional TRAJ36 TRA J TRUE 30 -Bos taurus functional TRAJ37 TRA J TRUE 31 -Bos taurus functional TRAJ38 TRA J TRUE 32 -Bos taurus functional TRAJ39 TRA J TRUE 33 -Bos taurus non-functional TRAJ4 TRA J FALSE 34 -Bos taurus functional TRAJ40 TRA J TRUE 35 -Bos taurus functional TRAJ41 TRA J TRUE 36 -Bos taurus functional TRAJ42 TRA J TRUE 37 -Bos taurus functional TRAJ43 TRA J TRUE 38 -Bos taurus functional TRAJ44 TRA J TRUE 39 -Bos taurus functional TRAJ45 TRA J TRUE 40 -Bos taurus functional TRAJ46 TRA J TRUE 41 -Bos taurus non-functional TRAJ47 TRA J FALSE 42 -Bos taurus functional TRAJ48 TRA J TRUE 43 -Bos taurus functional TRAJ49 TRA J TRUE 44 -Bos taurus functional TRAJ5 TRA J TRUE 45 -Bos taurus functional TRAJ50 TRA J TRUE 46 -Bos taurus functional TRAJ51 TRA J TRUE 47 -Bos taurus non-functional TRAJ52 TRA J FALSE 48 -Bos taurus functional TRAJ6 TRA J TRUE 49 -Bos taurus functional TRAJ7 TRA J TRUE 50 -Bos taurus functional TRAJ8 TRA J TRUE 51 -Bos taurus functional TRAJ9 TRA J TRUE 52 -Bos taurus functional TRDD1 TRD D TRUE 53 -Bos taurus functional TRDD2 TRD D TRUE 54 -Bos taurus functional TRDD3 TRD D TRUE 55 -Bos taurus functional TRDD4 TRD D TRUE 56 -Bos taurus functional TRDD5 TRD D TRUE 57 -Bos taurus functional TRDJ1 TRD J TRUE 58 -Bos taurus functional TRDJ2 TRD J TRUE 59 -Bos taurus functional TRDJ3 TRD J TRUE 60 -Bos taurus functional TRDV1S1 TRD V TRUE 61 -Bos taurus functional TRDV1S10 TRD V TRUE 62 -Bos taurus functional TRDV1S11 TRD V TRUE 63 -Bos taurus functional TRDV1S12 TRD V TRUE 64 -Bos taurus functional TRDV1S13-1 TRD V TRUE 65 -Bos taurus functional TRDV1S13-2 TRD V TRUE 66 -Bos taurus functional TRDV1S14 TRD V TRUE 67 -Bos taurus functional TRDV1S15-1 TRD V TRUE 68 -Bos taurus functional TRDV1S15-2 TRD V TRUE 69 -Bos taurus functional TRDV1S16 TRD V TRUE 70 -Bos taurus functional TRDV1S17 TRD V TRUE 71 -Bos taurus functional TRDV1S18-1 TRD V TRUE 72 -Bos taurus functional TRDV1S18-2 TRD V TRUE 73 -Bos taurus functional TRDV1S19 TRD V TRUE 74 -Bos taurus non-functional TRDV1S2-1 TRD V FALSE 75 -Bos taurus non-functional TRDV1S2-2 TRD V FALSE 76 -Bos taurus functional TRDV1S20 TRD V TRUE 77 -Bos taurus functional TRDV1S21-1 TRD V TRUE 78 -Bos taurus functional TRDV1S21-2 TRD V TRUE 79 -Bos taurus non-functional TRDV1S22 TRD V FALSE 80 -Bos taurus functional TRDV1S23 TRD V TRUE 81 -Bos taurus functional TRDV1S24 TRD V TRUE 82 -Bos taurus non-functional TRDV1S25-1 TRD V FALSE 83 -Bos taurus non-functional TRDV1S25-2 TRD V FALSE 84 -Bos taurus functional TRDV1S26 TRD V TRUE 85 -Bos taurus functional TRDV1S27-1 TRD V TRUE 86 -Bos taurus functional TRDV1S27-2 TRD V TRUE 87 -Bos taurus functional TRDV1S28 TRD V TRUE 88 -Bos taurus functional TRDV1S29 TRD V TRUE 89 -Bos taurus functional TRDV1S3 TRD V TRUE 90 -Bos taurus functional TRDV1S30 TRD V TRUE 91 -Bos taurus functional TRDV1S31 TRD V TRUE 92 -Bos taurus functional TRDV1S32 TRD V TRUE 93 -Bos taurus functional TRDV1S33 TRD V TRUE 94 -Bos taurus non-functional TRDV1S34 TRD V FALSE 95 -Bos taurus functional TRDV1S35 TRD V TRUE 96 -Bos taurus functional TRDV1S36 TRD V TRUE 97 -Bos taurus functional TRDV1S37 TRD V TRUE 98 -Bos taurus functional TRDV1S38 TRD V TRUE 99 -Bos taurus functional TRDV1S39 TRD V TRUE 100 -Bos taurus functional TRDV1S4-1 TRD V TRUE 101 -Bos taurus functional TRDV1S4-2 TRD V TRUE 102 -Bos taurus functional TRDV1S4-3 TRD V TRUE 103 -Bos taurus functional TRDV1S40 TRD V TRUE 104 -Bos taurus functional TRDV1S41 TRD V TRUE 105 -Bos taurus functional TRDV1S42 TRD V TRUE 106 -Bos taurus functional TRDV1S43 TRD V TRUE 107 -Bos taurus non-functional TRDV1S44 TRD V FALSE 108 -Bos taurus functional TRDV1S45 TRD V TRUE 109 -Bos taurus functional TRDV1S46 TRD V TRUE 110 -Bos taurus functional TRDV1S47-1 TRD V TRUE 111 -Bos taurus functional TRDV1S47-2 TRD V TRUE 112 -Bos taurus functional TRDV1S48 TRD V TRUE 113 -Bos taurus functional TRDV1S49 TRD V TRUE 114 -Bos taurus functional TRDV1S5-1 TRD V TRUE 115 -Bos taurus functional TRDV1S5-2 TRD V TRUE 116 -Bos taurus functional TRDV1S50 TRD V TRUE 117 -Bos taurus functional TRDV1S51-1 TRD V TRUE 118 -Bos taurus functional TRDV1S51-2 TRD V TRUE 119 -Bos taurus functional TRDV1S52-1 TRD V TRUE 120 -Bos taurus functional TRDV1S52-2 TRD V TRUE 121 -Bos taurus non-functional TRDV1S53 TRD V FALSE 122 -Bos taurus non-functional TRDV1S54 TRD V FALSE 123 -Bos taurus non-functional TRDV1S55 TRD V FALSE 124 -Bos taurus non-functional TRDV1S56 TRD V FALSE 125 -Bos taurus functional TRDV1S6-1 TRD V TRUE 126 -Bos taurus functional TRDV1S6-2 TRD V TRUE 127 -Bos taurus functional TRDV1S7-1 TRD V TRUE 128 -Bos taurus functional TRDV1S7-2 TRD V TRUE 129 -Bos taurus functional TRDV1S8 TRD V TRUE 130 -Bos taurus non-functional TRDV1S9 TRD V FALSE 131 -Bos taurus functional TRDV2S1 TRD V TRUE 132 -Bos taurus functional TRDV2S2 TRD V TRUE 133 -Bos taurus functional TRDV2S3 TRD V TRUE 134 -Bos taurus non-functional TRDV2S4 TRD V FALSE 135 -Bos taurus functional TRDV3S1 TRD V TRUE 136 -Bos taurus functional TRDV3S2 TRD V TRUE 137 -Bos taurus non-functional TRDV3S3 TRD V FALSE 138 -Bos taurus functional TRDV4 TRD V TRUE 139 -Bos taurus non-functional TRDV5 TRD V FALSE 140 -Bos taurus functional TRGJ1-1 TRG J TRUE 141 -Bos taurus functional TRGJ1-2 TRG J TRUE 142 -Bos taurus functional TRGJ2-1 TRG J TRUE 143 -Bos taurus functional TRGJ2-2 TRG J TRUE 144 -Bos taurus functional TRGJ3-1 TRG J TRUE 145 -Bos taurus functional TRGJ4-1 TRG J TRUE 146 -Bos taurus functional TRGJ4-2 TRG J TRUE 147 -Bos taurus functional TRGJ5-1 TRG J TRUE 148 -Bos taurus functional TRGJ6-1 TRG J TRUE 149 -Bos taurus functional TRGV1-1 TRG V TRUE 150 -Bos taurus functional TRGV10-1 TRG V TRUE 151 -Bos taurus functional TRGV2-1 TRG V TRUE 152 -Bos taurus functional TRGV3-1 TRG V TRUE 153 -Bos taurus functional TRGV3-2 TRG V TRUE 154 -Bos taurus non-functional TRGV4-1 TRG V FALSE 155 -Bos taurus non-functional TRGV5-1 TRG V FALSE 156 -Bos taurus non-functional TRGV5-2 TRG V FALSE 157 -Bos taurus functional TRGV6-1 TRG V TRUE 158 -Bos taurus functional TRGV6-2 TRG V TRUE 159 -Bos taurus functional TRGV7-1 TRG V TRUE 160 -Bos taurus functional TRGV8-1 TRG V TRUE 161 -Bos taurus functional TRGV8-2 TRG V TRUE 162 -Bos taurus functional TRGV8-3 TRG V TRUE 163 -Bos taurus functional TRGV8-4 TRG V TRUE 164 -Bos taurus functional TRGV9-1 TRG V TRUE 165 -Bos taurus functional TRGV9-2 TRG V TRUE 166 -Camelus dromedarius functional TRDV1S1 TRD V TRUE 167 -Camelus dromedarius functional TRDV1S2 TRD V TRUE 168 -Camelus dromedarius functional TRDV1S3 TRD V TRUE 169 -Camelus dromedarius functional TRDV1S4 TRD V TRUE 170 -Camelus dromedarius functional TRDV1S5 TRD V TRUE 171 -Camelus dromedarius functional TRDV1S6 TRD V TRUE 172 -Camelus dromedarius functional TRDV2S1 TRD V TRUE 173 -Camelus dromedarius functional TRDV2S2 TRD V TRUE 174 -Camelus dromedarius functional TRDV2S3 TRD V TRUE 175 -Camelus dromedarius functional TRDV4S1 TRD V TRUE 176 -Camelus dromedarius functional TRGJ1-1 TRG J TRUE 177 -Camelus dromedarius non-functional TRGJ2-1 TRG J FALSE 178 -Camelus dromedarius functional TRGJ2-2 TRG J TRUE 179 -Camelus dromedarius functional TRGV1 TRG V TRUE 180 -Camelus dromedarius functional TRGV2 TRG V TRUE 181 -Canis lupus familiaris functional TRBD1 TRB D TRUE 182 -Canis lupus familiaris functional TRBD2 TRB D TRUE 183 -Canis lupus familiaris functional TRBJ1-1 TRB J TRUE 184 -Canis lupus familiaris functional TRBJ1-2 TRB J TRUE 185 -Canis lupus familiaris non-functional TRBJ1-3 TRB J FALSE 186 -Canis lupus familiaris functional TRBJ1-4 TRB J TRUE 187 -Canis lupus familiaris functional TRBJ1-5 TRB J TRUE 188 -Canis lupus familiaris functional TRBJ1-6 TRB J TRUE 189 -Canis lupus familiaris non-functional TRBJ2-1 TRB J FALSE 190 -Canis lupus familiaris functional TRBJ2-2 TRB J TRUE 191 -Canis lupus familiaris functional TRBJ2-3 TRB J TRUE 192 -Canis lupus familiaris non-functional TRBJ2-4 TRB J FALSE 193 -Canis lupus familiaris functional TRBJ2-5 TRB J TRUE 194 -Canis lupus familiaris functional TRBJ2-6 TRB J TRUE 195 -Canis lupus familiaris functional TRBV1 TRB V TRUE 196 -Canis lupus familiaris functional TRBV10 TRB V TRUE 197 -Canis lupus familiaris non-functional TRBV11 TRB V FALSE 198 -Canis lupus familiaris non-functional TRBV12-1 TRB V FALSE 199 -Canis lupus familiaris functional TRBV12-2 TRB V TRUE 200 -Canis lupus familiaris non-functional TRBV15 TRB V FALSE 201 -Canis lupus familiaris functional TRBV16 TRB V TRUE 202 -Canis lupus familiaris functional TRBV18 TRB V TRUE 203 -Canis lupus familiaris non-functional TRBV19 TRB V FALSE 204 -Canis lupus familiaris non-functional TRBV2-1 TRB V FALSE 205 -Canis lupus familiaris non-functional TRBV2-2 TRB V FALSE 206 -Canis lupus familiaris non-functional TRBV2-3 TRB V FALSE 207 -Canis lupus familiaris functional TRBV20 TRB V TRUE 208 -Canis lupus familiaris non-functional TRBV21 TRB V FALSE 209 -Canis lupus familiaris functional TRBV22 TRB V TRUE 210 -Canis lupus familiaris functional TRBV24 TRB V TRUE 211 -Canis lupus familiaris functional TRBV25 TRB V TRUE 212 -Canis lupus familiaris non-functional TRBV26 TRB V FALSE 213 -Canis lupus familiaris non-functional TRBV27 TRB V FALSE 214 -Canis lupus familiaris non-functional TRBV28 TRB V FALSE 215 -Canis lupus familiaris functional TRBV29 TRB V TRUE 216 -Canis lupus familiaris functional TRBV3-1 TRB V TRUE 217 -Canis lupus familiaris functional TRBV3-2 TRB V TRUE 218 -Canis lupus familiaris non-functional TRBV3-3 TRB V FALSE 219 -Canis lupus familiaris functional TRBV30 TRB V TRUE 220 -Canis lupus familiaris functional TRBV4-1 TRB V TRUE 221 -Canis lupus familiaris functional TRBV4-2 TRB V TRUE 222 -Canis lupus familiaris functional TRBV4-3 TRB V TRUE 223 -Canis lupus familiaris non-functional TRBV5-1 TRB V FALSE 224 -Canis lupus familiaris functional TRBV5-2 TRB V TRUE 225 -Canis lupus familiaris non-functional TRBV5-3 TRB V FALSE 226 -Canis lupus familiaris functional TRBV5-4 TRB V TRUE 227 -Canis lupus familiaris non-functional TRBV6 TRB V FALSE 228 -Canis lupus familiaris functional TRBV7 TRB V TRUE 229 -Canis lupus familiaris non-functional TRBV8 TRB V FALSE 230 -Canis lupus familiaris non-functional TRGJ1-1 TRG J FALSE 231 -Canis lupus familiaris functional TRGJ1-2 TRG J TRUE 232 -Canis lupus familiaris non-functional TRGJ2-1 TRG J FALSE 233 -Canis lupus familiaris functional TRGJ2-2 TRG J TRUE 234 -Canis lupus familiaris non-functional TRGJ3-1 TRG J FALSE 235 -Canis lupus familiaris non-functional TRGJ3-2 TRG J FALSE 236 -Canis lupus familiaris non-functional TRGJ4-1 TRG J FALSE 237 -Canis lupus familiaris functional TRGJ4-2 TRG J TRUE 238 -Canis lupus familiaris non-functional TRGJ5-1 TRG J FALSE 239 -Canis lupus familiaris functional TRGJ5-2 TRG J TRUE 240 -Canis lupus familiaris functional TRGJ6-1 TRG J TRUE 241 -Canis lupus familiaris non-functional TRGJ6-2 TRG J FALSE 242 -Canis lupus familiaris non-functional TRGJ7-1 TRG J FALSE 243 -Canis lupus familiaris functional TRGJ7-2 TRG J TRUE 244 -Canis lupus familiaris functional TRGJ8-1 TRG J TRUE 245 -Canis lupus familiaris non-functional TRGJ8-2 TRG J FALSE 246 -Canis lupus familiaris non-functional TRGV1-1 TRG V FALSE 247 -Canis lupus familiaris functional TRGV2-1 TRG V TRUE 248 -Canis lupus familiaris functional TRGV2-2 TRG V TRUE 249 -Canis lupus familiaris functional TRGV2-3 TRG V TRUE 250 -Canis lupus familiaris functional TRGV2-4 TRG V TRUE 251 -Canis lupus familiaris non-functional TRGV3-1 TRG V FALSE 252 -Canis lupus familiaris non-functional TRGV3-2 TRG V FALSE 253 -Canis lupus familiaris non-functional TRGV3-3 TRG V FALSE 254 -Canis lupus familiaris functional TRGV4-1 TRG V TRUE 255 -Canis lupus familiaris non-functional TRGV5-1 TRG V FALSE 256 -Canis lupus familiaris functional TRGV5-2 TRG V TRUE 257 -Canis lupus familiaris non-functional TRGV6-1 TRG V FALSE 258 -Canis lupus familiaris non-functional TRGV7-1 TRG V FALSE 259 -Canis lupus familiaris functional TRGV7-2 TRG V TRUE 260 -Canis lupus familiaris functional TRGV7-3 TRG V TRUE 261 -Canis lupus familiaris non-functional TRGV8-1 TRG V FALSE 262 -Danio rerio non-functional IGHD IGH D FALSE 263 -Danio rerio functional IGHD1-1 IGH D TRUE 264 -Danio rerio functional IGHD1-2 IGH D TRUE 265 -Danio rerio functional IGHD2-1 IGH D TRUE 266 -Danio rerio functional IGHD2-2 IGH D TRUE 267 -Danio rerio functional IGHD2-3 IGH D TRUE 268 -Danio rerio functional IGHD2-4 IGH D TRUE 269 -Danio rerio functional IGHD2-5 IGH D TRUE 270 -Danio rerio functional IGHJ1-1 IGH J TRUE 271 -Danio rerio functional IGHJ1-2 IGH J TRUE 272 -Danio rerio functional IGHJ2-1 IGH J TRUE 273 -Danio rerio functional IGHJ2-2 IGH J TRUE 274 -Danio rerio functional IGHJ2-3 IGH J TRUE 275 -Danio rerio functional IGHJ2-4 IGH J TRUE 276 -Danio rerio functional IGHJ2-5 IGH J TRUE 277 -Danio rerio functional IGHV1-1 IGH V TRUE 278 -Danio rerio functional IGHV1-2 IGH V TRUE 279 -Danio rerio functional IGHV1-3 IGH V TRUE 280 -Danio rerio functional IGHV1-4 IGH V TRUE 281 -Danio rerio functional IGHV1-5 IGH V TRUE 282 -Danio rerio functional IGHV10-1 IGH V TRUE 283 -Danio rerio functional IGHV11-1 IGH V TRUE 284 -Danio rerio functional IGHV11-2 IGH V TRUE 285 -Danio rerio non-functional IGHV12-1 IGH V FALSE 286 -Danio rerio functional IGHV13-2 IGH V TRUE 287 -Danio rerio functional IGHV14-1 IGH V TRUE 288 -Danio rerio functional IGHV2-1 IGH V TRUE 289 -Danio rerio functional IGHV2-2 IGH V TRUE 290 -Danio rerio functional IGHV2-3 IGH V TRUE 291 -Danio rerio functional IGHV3-2 IGH V TRUE 292 -Danio rerio functional IGHV4-1 IGH V TRUE 293 -Danio rerio functional IGHV4-2 IGH V TRUE 294 -Danio rerio functional IGHV4-3 IGH V TRUE 295 -Danio rerio functional IGHV4-5 IGH V TRUE 296 -Danio rerio functional IGHV4-6 IGH V TRUE 297 -Danio rerio functional IGHV4-7 IGH V TRUE 298 -Danio rerio functional IGHV4-8 IGH V TRUE 299 -Danio rerio functional IGHV4-9 IGH V TRUE 300 -Danio rerio functional IGHV5-1 IGH V TRUE 301 -Danio rerio non-functional IGHV5-2 IGH V FALSE 302 -Danio rerio functional IGHV5-3 IGH V TRUE 303 -Danio rerio non-functional IGHV5-4 IGH V FALSE 304 -Danio rerio non-functional IGHV5-5 IGH V FALSE 305 -Danio rerio functional IGHV5-7 IGH V TRUE 306 -Danio rerio non-functional IGHV5-8 IGH V FALSE 307 -Danio rerio functional IGHV6-1 IGH V TRUE 308 -Danio rerio non-functional IGHV6-2 IGH V FALSE 309 -Danio rerio functional IGHV7-1 IGH V TRUE 310 -Danio rerio functional IGHV8-1 IGH V TRUE 311 -Danio rerio functional IGHV8-2 IGH V TRUE 312 -Danio rerio functional IGHV8-3 IGH V TRUE 313 -Danio rerio functional IGHV8-4 IGH V TRUE 314 -Danio rerio functional IGHV9-1 IGH V TRUE 315 -Danio rerio functional IGHV9-2 IGH V TRUE 316 -Danio rerio functional IGHV9-3 IGH V TRUE 317 -Danio rerio functional IGHV9-4 IGH V TRUE 318 -Danio rerio functional IGIJ1 IGI J TRUE 319 -Danio rerio non-functional IGIJ2 IGI J FALSE 320 -Danio rerio functional IGIJ3 IGI J TRUE 321 -Danio rerio non-functional IGIJ4 IGI J FALSE 322 -Danio rerio functional IGIJ5 IGI J TRUE 323 -Danio rerio non-functional IGIJ6S1 IGI J FALSE 324 -Danio rerio non-functional IGIJ7S1 IGI J FALSE 325 -Danio rerio non-functional IGIJ8S1 IGI J FALSE 326 -Danio rerio non-functional IGIV1-1 IGI V FALSE 327 -Danio rerio functional IGIV1-2 IGI V TRUE 328 -Danio rerio non-functional IGIV2 IGI V FALSE 329 -Danio rerio functional IGIV3-1 IGI V TRUE 330 -Danio rerio non-functional IGIV3-2 IGI V FALSE 331 -Danio rerio functional IGIV3-3 IGI V TRUE 332 -Danio rerio non-functional IGIV4-1 IGI V FALSE 333 -Danio rerio non-functional IGIV4-2 IGI V FALSE 334 -Danio rerio non-functional IGIV6S1 IGI V FALSE 335 -Danio rerio non-functional IGIV6S2 IGI V FALSE 336 -Danio rerio non-functional IGIV7S1 IGI V FALSE 337 -Danio rerio non-functional IGIV7S2 IGI V FALSE 338 -Danio rerio non-functional IGIV8S1 IGI V FALSE 339 -Homo sapiens functional CD1D CD1 D TRUE 340 -Homo sapiens functional IGHD IGH D TRUE 341 -Homo sapiens functional IGHD1-1 IGH D TRUE 342 -Homo sapiens non-functional IGHD1-14 IGH D FALSE 343 -Homo sapiens functional IGHD1-20 IGH D TRUE 344 -Homo sapiens functional IGHD1-26 IGH D TRUE 345 -Homo sapiens functional IGHD1-7 IGH D TRUE 346 -Homo sapiens non-functional IGHD1/OR15-1a IGH D FALSE 347 -Homo sapiens non-functional IGHD1/OR15-1b IGH D FALSE 348 -Homo sapiens functional IGHD2-15 IGH D TRUE 349 -Homo sapiens functional IGHD2-2 IGH D TRUE 350 -Homo sapiens functional IGHD2-21 IGH D TRUE 351 -Homo sapiens functional IGHD2-8 IGH D TRUE 352 -Homo sapiens non-functional IGHD2/OR15-2a IGH D FALSE 353 -Homo sapiens non-functional IGHD2/OR15-2b IGH D FALSE 354 -Homo sapiens functional IGHD3-10 IGH D TRUE 355 -Homo sapiens functional IGHD3-16 IGH D TRUE 356 -Homo sapiens functional IGHD3-22 IGH D TRUE 357 -Homo sapiens functional IGHD3-3 IGH D TRUE 358 -Homo sapiens functional IGHD3-9 IGH D TRUE 359 -Homo sapiens non-functional IGHD3/OR15-3a IGH D FALSE 360 -Homo sapiens non-functional IGHD3/OR15-3b IGH D FALSE 361 -Homo sapiens non-functional IGHD4-11 IGH D FALSE 362 -Homo sapiens functional IGHD4-17 IGH D TRUE 363 -Homo sapiens non-functional IGHD4-23 IGH D FALSE 364 -Homo sapiens functional IGHD4-4 IGH D TRUE 365 -Homo sapiens non-functional IGHD4/OR15-4a IGH D FALSE 366 -Homo sapiens non-functional IGHD4/OR15-4b IGH D FALSE 367 -Homo sapiens functional IGHD5-12 IGH D TRUE 368 -Homo sapiens functional IGHD5-18 IGH D TRUE 369 -Homo sapiens non-functional IGHD5-24 IGH D FALSE 370 -Homo sapiens functional IGHD5-5 IGH D TRUE 371 -Homo sapiens non-functional IGHD5/OR15-5a IGH D FALSE 372 -Homo sapiens non-functional IGHD5/OR15-5b IGH D FALSE 373 -Homo sapiens functional IGHD6-13 IGH D TRUE 374 -Homo sapiens functional IGHD6-19 IGH D TRUE 375 -Homo sapiens functional IGHD6-25 IGH D TRUE 376 -Homo sapiens functional IGHD6-6 IGH D TRUE 377 -Homo sapiens functional IGHD7-27 IGH D TRUE 378 -Homo sapiens functional IGHJ1 IGH J TRUE 379 -Homo sapiens non-functional IGHJ1P IGH J FALSE 380 -Homo sapiens functional IGHJ2 IGH J TRUE 381 -Homo sapiens non-functional IGHJ2P IGH J FALSE 382 -Homo sapiens functional IGHJ3 IGH J TRUE 383 -Homo sapiens non-functional IGHJ3P IGH J FALSE 384 -Homo sapiens functional IGHJ4 IGH J TRUE 385 -Homo sapiens functional IGHJ5 IGH J TRUE 386 -Homo sapiens functional IGHJ6 IGH J TRUE 387 -Homo sapiens non-functional IGHV(II)-1-1 IGH V FALSE 388 -Homo sapiens non-functional IGHV(II)-15-1 IGH V FALSE 389 -Homo sapiens non-functional IGHV(II)-20-1 IGH V FALSE 390 -Homo sapiens non-functional IGHV(II)-22-1 IGH V FALSE 391 -Homo sapiens non-functional IGHV(II)-23-1 IGH V FALSE 392 -Homo sapiens non-functional IGHV(II)-23-2 IGH V FALSE 393 -Homo sapiens non-functional IGHV(II)-26-2 IGH V FALSE 394 -Homo sapiens non-functional IGHV(II)-28-1 IGH V FALSE 395 -Homo sapiens non-functional IGHV(II)-30-1 IGH V FALSE 396 -Homo sapiens non-functional IGHV(II)-31-1 IGH V FALSE 397 -Homo sapiens non-functional IGHV(II)-33-1 IGH V FALSE 398 -Homo sapiens non-functional IGHV(II)-40-1 IGH V FALSE 399 -Homo sapiens non-functional IGHV(II)-43-1 IGH V FALSE 400 -Homo sapiens non-functional IGHV(II)-43-1D IGH V FALSE 401 -Homo sapiens non-functional IGHV(II)-44-1D IGH V FALSE 402 -Homo sapiens non-functional IGHV(II)-44-2 IGH V FALSE 403 -Homo sapiens non-functional IGHV(II)-44-2D IGH V FALSE 404 -Homo sapiens non-functional IGHV(II)-44-3 IGH V FALSE 405 -Homo sapiens non-functional IGHV(II)-46-1 IGH V FALSE 406 -Homo sapiens non-functional IGHV(II)-49-1 IGH V FALSE 407 -Homo sapiens non-functional IGHV(II)-51-2 IGH V FALSE 408 -Homo sapiens non-functional IGHV(II)-53-1 IGH V FALSE 409 -Homo sapiens non-functional IGHV(II)-60-1 IGH V FALSE 410 -Homo sapiens non-functional IGHV(II)-62-1 IGH V FALSE 411 -Homo sapiens non-functional IGHV(II)-65-1 IGH V FALSE 412 -Homo sapiens non-functional IGHV(II)-67-1 IGH V FALSE 413 -Homo sapiens non-functional IGHV(II)-74-1 IGH V FALSE 414 -Homo sapiens non-functional IGHV(II)-78-1 IGH V FALSE 415 -Homo sapiens non-functional IGHV(III)-11-1 IGH V FALSE 416 -Homo sapiens non-functional IGHV(III)-13-1 IGH V FALSE 417 -Homo sapiens non-functional IGHV(III)-16-1 IGH V FALSE 418 -Homo sapiens non-functional IGHV(III)-2-1 IGH V FALSE 419 -Homo sapiens non-functional IGHV(III)-22-2 IGH V FALSE 420 -Homo sapiens non-functional IGHV(III)-25-1 IGH V FALSE 421 -Homo sapiens non-functional IGHV(III)-26-1 IGH V FALSE 422 -Homo sapiens non-functional IGHV(III)-38-1 IGH V FALSE 423 -Homo sapiens non-functional IGHV(III)-38-1D IGH V FALSE 424 -Homo sapiens non-functional IGHV(III)-44 IGH V FALSE 425 -Homo sapiens non-functional IGHV(III)-44D IGH V FALSE 426 -Homo sapiens non-functional IGHV(III)-47-1 IGH V FALSE 427 -Homo sapiens non-functional IGHV(III)-5-1 IGH V FALSE 428 -Homo sapiens non-functional IGHV(III)-5-2 IGH V FALSE 429 -Homo sapiens non-functional IGHV(III)-51-1 IGH V FALSE 430 -Homo sapiens non-functional IGHV(III)-67-2 IGH V FALSE 431 -Homo sapiens non-functional IGHV(III)-67-3 IGH V FALSE 432 -Homo sapiens non-functional IGHV(III)-67-4 IGH V FALSE 433 -Homo sapiens non-functional IGHV(III)-76-1 IGH V FALSE 434 -Homo sapiens non-functional IGHV(III)-82 IGH V FALSE 435 -Homo sapiens non-functional IGHV(IV)-44-1 IGH V FALSE 436 -Homo sapiens non-functional IGHV1-12 IGH V FALSE 437 -Homo sapiens non-functional IGHV1-14 IGH V FALSE 438 -Homo sapiens non-functional IGHV1-17 IGH V FALSE 439 -Homo sapiens functional IGHV1-18 IGH V TRUE 440 -Homo sapiens functional IGHV1-2 IGH V TRUE 441 -Homo sapiens functional IGHV1-24 IGH V TRUE 442 -Homo sapiens functional IGHV1-3 IGH V TRUE 443 -Homo sapiens non-functional IGHV1-38-4 IGH V FALSE 444 -Homo sapiens functional IGHV1-45 IGH V TRUE 445 -Homo sapiens functional IGHV1-46 IGH V TRUE 446 -Homo sapiens functional IGHV1-58 IGH V TRUE 447 -Homo sapiens non-functional IGHV1-67 IGH V FALSE 448 -Homo sapiens non-functional IGHV1-68 IGH V FALSE 449 -Homo sapiens functional IGHV1-69 IGH V TRUE 450 -Homo sapiens functional IGHV1-69-2 IGH V TRUE 451 -Homo sapiens functional IGHV1-69D IGH V TRUE 452 -Homo sapiens functional IGHV1-8 IGH V TRUE 453 -Homo sapiens non-functional IGHV1-NL1 IGH V FALSE 454 -Homo sapiens non-functional IGHV1/OR15-1 IGH V FALSE 455 -Homo sapiens non-functional IGHV1/OR15-2 IGH V FALSE 456 -Homo sapiens non-functional IGHV1/OR15-3 IGH V FALSE 457 -Homo sapiens non-functional IGHV1/OR15-4 IGH V FALSE 458 -Homo sapiens non-functional IGHV1/OR15-5 IGH V FALSE 459 -Homo sapiens non-functional IGHV1/OR15-6 IGH V FALSE 460 -Homo sapiens non-functional IGHV1/OR15-9 IGH V FALSE 461 -Homo sapiens non-functional IGHV1/OR16-1 IGH V FALSE 462 -Homo sapiens non-functional IGHV1/OR16-2 IGH V FALSE 463 -Homo sapiens non-functional IGHV1/OR16-3 IGH V FALSE 464 -Homo sapiens non-functional IGHV1/OR16-4 IGH V FALSE 465 -Homo sapiens non-functional IGHV1/OR21-1 IGH V FALSE 466 -Homo sapiens non-functional IGHV2-10 IGH V FALSE 467 -Homo sapiens functional IGHV2-26 IGH V TRUE 468 -Homo sapiens functional IGHV2-5 IGH V TRUE 469 -Homo sapiens functional IGHV2-70 IGH V TRUE 470 -Homo sapiens functional IGHV2-70D IGH V TRUE 471 -Homo sapiens non-functional IGHV2/OR16-5 IGH V FALSE 472 -Homo sapiens functional IGHV3-11 IGH V TRUE 473 -Homo sapiens functional IGHV3-13 IGH V TRUE 474 -Homo sapiens functional IGHV3-15 IGH V TRUE 475 -Homo sapiens non-functional IGHV3-16 IGH V FALSE 476 -Homo sapiens non-functional IGHV3-19 IGH V FALSE 477 -Homo sapiens functional IGHV3-20 IGH V TRUE 478 -Homo sapiens functional IGHV3-21 IGH V TRUE 479 -Homo sapiens non-functional IGHV3-22 IGH V FALSE 480 -Homo sapiens functional IGHV3-23 IGH V TRUE 481 -Homo sapiens functional IGHV3-23D IGH V TRUE 482 -Homo sapiens non-functional IGHV3-25 IGH V FALSE 483 -Homo sapiens non-functional IGHV3-29 IGH V FALSE 484 -Homo sapiens functional IGHV3-30 IGH V TRUE 485 -Homo sapiens non-functional IGHV3-30-2 IGH V FALSE 486 -Homo sapiens functional IGHV3-30-3 IGH V TRUE 487 -Homo sapiens functional IGHV3-30-5 IGH V TRUE 488 -Homo sapiens non-functional IGHV3-32 IGH V FALSE 489 -Homo sapiens functional IGHV3-33 IGH V TRUE 490 -Homo sapiens non-functional IGHV3-33-2 IGH V FALSE 491 -Homo sapiens non-functional IGHV3-35 IGH V FALSE 492 -Homo sapiens non-functional IGHV3-36 IGH V FALSE 493 -Homo sapiens non-functional IGHV3-37 IGH V FALSE 494 -Homo sapiens non-functional IGHV3-38 IGH V FALSE 495 -Homo sapiens non-functional IGHV3-38-3 IGH V FALSE 496 -Homo sapiens non-functional IGHV3-41 IGH V FALSE 497 -Homo sapiens non-functional IGHV3-42 IGH V FALSE 498 -Homo sapiens non-functional IGHV3-42D IGH V FALSE 499 -Homo sapiens functional IGHV3-43 IGH V TRUE 500 -Homo sapiens functional IGHV3-43D IGH V TRUE 501 -Homo sapiens non-functional IGHV3-47 IGH V FALSE 502 -Homo sapiens functional IGHV3-48 IGH V TRUE 503 -Homo sapiens functional IGHV3-49 IGH V TRUE 504 -Homo sapiens non-functional IGHV3-50 IGH V FALSE 505 -Homo sapiens non-functional IGHV3-52 IGH V FALSE 506 -Homo sapiens functional IGHV3-53 IGH V TRUE 507 -Homo sapiens non-functional IGHV3-54 IGH V FALSE 508 -Homo sapiens non-functional IGHV3-57 IGH V FALSE 509 -Homo sapiens non-functional IGHV3-6 IGH V FALSE 510 -Homo sapiens non-functional IGHV3-60 IGH V FALSE 511 -Homo sapiens non-functional IGHV3-62 IGH V FALSE 512 -Homo sapiens non-functional IGHV3-63 IGH V FALSE 513 -Homo sapiens functional IGHV3-64 IGH V TRUE 514 -Homo sapiens functional IGHV3-64D IGH V TRUE 515 -Homo sapiens non-functional IGHV3-65 IGH V FALSE 516 -Homo sapiens functional IGHV3-66 IGH V TRUE 517 -Homo sapiens non-functional IGHV3-69-1 IGH V FALSE 518 -Homo sapiens functional IGHV3-7 IGH V TRUE 519 -Homo sapiens non-functional IGHV3-71 IGH V FALSE 520 -Homo sapiens functional IGHV3-72 IGH V TRUE 521 -Homo sapiens functional IGHV3-73 IGH V TRUE 522 -Homo sapiens functional IGHV3-74 IGH V TRUE 523 -Homo sapiens non-functional IGHV3-75 IGH V FALSE 524 -Homo sapiens non-functional IGHV3-76 IGH V FALSE 525 -Homo sapiens non-functional IGHV3-79 IGH V FALSE 526 -Homo sapiens functional IGHV3-9 IGH V TRUE 527 -Homo sapiens functional IGHV3-NL1 IGH V TRUE 528 -Homo sapiens non-functional IGHV3/OR15-7 IGH V FALSE 529 -Homo sapiens non-functional IGHV3/OR16-10 IGH V FALSE 530 -Homo sapiens non-functional IGHV3/OR16-11 IGH V FALSE 531 -Homo sapiens non-functional IGHV3/OR16-12 IGH V FALSE 532 -Homo sapiens non-functional IGHV3/OR16-13 IGH V FALSE 533 -Homo sapiens non-functional IGHV3/OR16-14 IGH V FALSE 534 -Homo sapiens non-functional IGHV3/OR16-15 IGH V FALSE 535 -Homo sapiens non-functional IGHV3/OR16-16 IGH V FALSE 536 -Homo sapiens non-functional IGHV3/OR16-6 IGH V FALSE 537 -Homo sapiens non-functional IGHV3/OR16-7 IGH V FALSE 538 -Homo sapiens non-functional IGHV3/OR16-8 IGH V FALSE 539 -Homo sapiens non-functional IGHV3/OR16-9 IGH V FALSE 540 -Homo sapiens functional IGHV4-28 IGH V TRUE 541 -Homo sapiens functional IGHV4-30-1 IGH V TRUE 542 -Homo sapiens functional IGHV4-30-2 IGH V TRUE 543 -Homo sapiens functional IGHV4-30-4 IGH V TRUE 544 -Homo sapiens functional IGHV4-31 IGH V TRUE 545 -Homo sapiens functional IGHV4-34 IGH V TRUE 546 -Homo sapiens functional IGHV4-38-2 IGH V TRUE 547 -Homo sapiens functional IGHV4-39 IGH V TRUE 548 -Homo sapiens functional IGHV4-4 IGH V TRUE 549 -Homo sapiens non-functional IGHV4-55 IGH V FALSE 550 -Homo sapiens functional IGHV4-59 IGH V TRUE 551 -Homo sapiens functional IGHV4-61 IGH V TRUE 552 -Homo sapiens non-functional IGHV4-80 IGH V FALSE 553 -Homo sapiens non-functional IGHV4/OR15-8 IGH V FALSE 554 -Homo sapiens functional IGHV5-10-1 IGH V TRUE 555 -Homo sapiens functional IGHV5-51 IGH V TRUE 556 -Homo sapiens non-functional IGHV5-78 IGH V FALSE 557 -Homo sapiens functional IGHV6-1 IGH V TRUE 558 -Homo sapiens non-functional IGHV7-27 IGH V FALSE 559 -Homo sapiens non-functional IGHV7-34-1 IGH V FALSE 560 -Homo sapiens functional IGHV7-4-1 IGH V TRUE 561 -Homo sapiens non-functional IGHV7-40 IGH V FALSE 562 -Homo sapiens non-functional IGHV7-40D IGH V FALSE 563 -Homo sapiens non-functional IGHV7-56 IGH V FALSE 564 -Homo sapiens non-functional IGHV7-77 IGH V FALSE 565 -Homo sapiens non-functional IGHV7-81 IGH V FALSE 566 -Homo sapiens non-functional IGHV7-NL1 IGH V FALSE 567 -Homo sapiens functional IGKJ1 IGK J TRUE 568 -Homo sapiens functional IGKJ2 IGK J TRUE 569 -Homo sapiens functional IGKJ3 IGK J TRUE 570 -Homo sapiens functional IGKJ4 IGK J TRUE 571 -Homo sapiens functional IGKJ5 IGK J TRUE 572 -Homo sapiens functional IGKV1-12 IGK V TRUE 573 -Homo sapiens functional IGKV1-13 IGK V TRUE 574 -Homo sapiens functional IGKV1-16 IGK V TRUE 575 -Homo sapiens functional IGKV1-17 IGK V TRUE 576 -Homo sapiens non-functional IGKV1-22 IGK V FALSE 577 -Homo sapiens functional IGKV1-27 IGK V TRUE 578 -Homo sapiens non-functional IGKV1-32 IGK V FALSE 579 -Homo sapiens functional IGKV1-33 IGK V TRUE 580 -Homo sapiens non-functional IGKV1-35 IGK V FALSE 581 -Homo sapiens non-functional IGKV1-37 IGK V FALSE 582 -Homo sapiens functional IGKV1-39 IGK V TRUE 583 -Homo sapiens functional IGKV1-5 IGK V TRUE 584 -Homo sapiens functional IGKV1-6 IGK V TRUE 585 -Homo sapiens functional IGKV1-8 IGK V TRUE 586 -Homo sapiens functional IGKV1-9 IGK V TRUE 587 -Homo sapiens functional IGKV1-NL1 IGK V TRUE 588 -Homo sapiens non-functional IGKV1/OR-2 IGK V FALSE 589 -Homo sapiens non-functional IGKV1/OR-3 IGK V FALSE 590 -Homo sapiens non-functional IGKV1/OR-4 IGK V FALSE 591 -Homo sapiens non-functional IGKV1/OR1-1 IGK V FALSE 592 -Homo sapiens non-functional IGKV1/OR10-1 IGK V FALSE 593 -Homo sapiens non-functional IGKV1/OR15-118 IGK V FALSE 594 -Homo sapiens non-functional IGKV1/OR2-0 IGK V FALSE 595 -Homo sapiens non-functional IGKV1/OR2-1 IGK V FALSE 596 -Homo sapiens non-functional IGKV1/OR2-108 IGK V FALSE 597 -Homo sapiens non-functional IGKV1/OR2-11 IGK V FALSE 598 -Homo sapiens non-functional IGKV1/OR2-118 IGK V FALSE 599 -Homo sapiens non-functional IGKV1/OR2-2 IGK V FALSE 600 -Homo sapiens non-functional IGKV1/OR2-3 IGK V FALSE 601 -Homo sapiens non-functional IGKV1/OR2-6 IGK V FALSE 602 -Homo sapiens non-functional IGKV1/OR2-9 IGK V FALSE 603 -Homo sapiens non-functional IGKV1/OR22-1 IGK V FALSE 604 -Homo sapiens non-functional IGKV1/OR22-5 IGK V FALSE 605 -Homo sapiens non-functional IGKV1/OR9-1 IGK V FALSE 606 -Homo sapiens non-functional IGKV1/OR9-2 IGK V FALSE 607 -Homo sapiens non-functional IGKV1/ORY-1 IGK V FALSE 608 -Homo sapiens functional IGKV1D-12 IGK V TRUE 609 -Homo sapiens functional IGKV1D-13 IGK V TRUE 610 -Homo sapiens functional IGKV1D-16 IGK V TRUE 611 -Homo sapiens functional IGKV1D-17 IGK V TRUE 612 -Homo sapiens non-functional IGKV1D-22 IGK V FALSE 613 -Homo sapiens non-functional IGKV1D-27 IGK V FALSE 614 -Homo sapiens non-functional IGKV1D-32 IGK V FALSE 615 -Homo sapiens functional IGKV1D-33 IGK V TRUE 616 -Homo sapiens non-functional IGKV1D-35 IGK V FALSE 617 -Homo sapiens non-functional IGKV1D-37 IGK V FALSE 618 -Homo sapiens functional IGKV1D-39 IGK V TRUE 619 -Homo sapiens non-functional IGKV1D-42 IGK V FALSE 620 -Homo sapiens functional IGKV1D-43 IGK V TRUE 621 -Homo sapiens functional IGKV1D-8 IGK V TRUE 622 -Homo sapiens non-functional IGKV2-10 IGK V FALSE 623 -Homo sapiens non-functional IGKV2-14 IGK V FALSE 624 -Homo sapiens non-functional IGKV2-18 IGK V FALSE 625 -Homo sapiens non-functional IGKV2-19 IGK V FALSE 626 -Homo sapiens non-functional IGKV2-23 IGK V FALSE 627 -Homo sapiens functional IGKV2-24 IGK V TRUE 628 -Homo sapiens non-functional IGKV2-26 IGK V FALSE 629 -Homo sapiens functional IGKV2-28 IGK V TRUE 630 -Homo sapiens functional IGKV2-29 IGK V TRUE 631 -Homo sapiens functional IGKV2-30 IGK V TRUE 632 -Homo sapiens non-functional IGKV2-36 IGK V FALSE 633 -Homo sapiens non-functional IGKV2-38 IGK V FALSE 634 -Homo sapiens non-functional IGKV2-4 IGK V FALSE 635 -Homo sapiens functional IGKV2-40 IGK V TRUE 636 -Homo sapiens non-functional IGKV2/OR2-1 IGK V FALSE 637 -Homo sapiens non-functional IGKV2/OR2-10 IGK V FALSE 638 -Homo sapiens non-functional IGKV2/OR2-2 IGK V FALSE 639 -Homo sapiens non-functional IGKV2/OR2-4 IGK V FALSE 640 -Homo sapiens non-functional IGKV2/OR2-7 IGK V FALSE 641 -Homo sapiens non-functional IGKV2/OR2-7D IGK V FALSE 642 -Homo sapiens non-functional IGKV2/OR2-8 IGK V FALSE 643 -Homo sapiens non-functional IGKV2/OR22-3 IGK V FALSE 644 -Homo sapiens non-functional IGKV2/OR22-4 IGK V FALSE 645 -Homo sapiens non-functional IGKV2D-10 IGK V FALSE 646 -Homo sapiens non-functional IGKV2D-14 IGK V FALSE 647 -Homo sapiens non-functional IGKV2D-18 IGK V FALSE 648 -Homo sapiens non-functional IGKV2D-19 IGK V FALSE 649 -Homo sapiens non-functional IGKV2D-23 IGK V FALSE 650 -Homo sapiens non-functional IGKV2D-24 IGK V FALSE 651 -Homo sapiens functional IGKV2D-26 IGK V TRUE 652 -Homo sapiens functional IGKV2D-28 IGK V TRUE 653 -Homo sapiens functional IGKV2D-29 IGK V TRUE 654 -Homo sapiens functional IGKV2D-30 IGK V TRUE 655 -Homo sapiens non-functional IGKV2D-36 IGK V FALSE 656 -Homo sapiens non-functional IGKV2D-38 IGK V FALSE 657 -Homo sapiens functional IGKV2D-40 IGK V TRUE 658 -Homo sapiens functional IGKV3-11 IGK V TRUE 659 -Homo sapiens functional IGKV3-15 IGK V TRUE 660 -Homo sapiens functional IGKV3-20 IGK V TRUE 661 -Homo sapiens non-functional IGKV3-25 IGK V FALSE 662 -Homo sapiens non-functional IGKV3-31 IGK V FALSE 663 -Homo sapiens non-functional IGKV3-34 IGK V FALSE 664 -Homo sapiens non-functional IGKV3-7 IGK V FALSE 665 -Homo sapiens functional IGKV3-NL1 IGK V TRUE 666 -Homo sapiens functional IGKV3-NL2 IGK V TRUE 667 -Homo sapiens functional IGKV3-NL3 IGK V TRUE 668 -Homo sapiens functional IGKV3-NL4 IGK V TRUE 669 -Homo sapiens functional IGKV3-NL5 IGK V TRUE 670 -Homo sapiens non-functional IGKV3/OR2-268 IGK V FALSE 671 -Homo sapiens non-functional IGKV3/OR2-5 IGK V FALSE 672 -Homo sapiens non-functional IGKV3/OR22-2 IGK V FALSE 673 -Homo sapiens functional IGKV3D-11 IGK V TRUE 674 -Homo sapiens functional IGKV3D-15 IGK V TRUE 675 -Homo sapiens functional IGKV3D-20 IGK V TRUE 676 -Homo sapiens non-functional IGKV3D-25 IGK V FALSE 677 -Homo sapiens non-functional IGKV3D-31 IGK V FALSE 678 -Homo sapiens non-functional IGKV3D-34 IGK V FALSE 679 -Homo sapiens functional IGKV3D-7 IGK V TRUE 680 -Homo sapiens functional IGKV4-1 IGK V TRUE 681 -Homo sapiens functional IGKV5-2 IGK V TRUE 682 -Homo sapiens non-functional IGKV6-21 IGK V FALSE 683 -Homo sapiens non-functional IGKV6D-21 IGK V FALSE 684 -Homo sapiens non-functional IGKV6D-41 IGK V FALSE 685 -Homo sapiens non-functional IGKV7-3 IGK V FALSE 686 -Homo sapiens non-functional IGLJ-C/OR18 IGL J FALSE 687 -Homo sapiens functional IGLJ1 IGL J TRUE 688 -Homo sapiens functional IGLJ2 IGL J TRUE 689 -Homo sapiens non-functional IGLJ2A IGL J FALSE 690 -Homo sapiens non-functional IGLJ2B IGL J FALSE 691 -Homo sapiens non-functional IGLJ2C IGL J FALSE 692 -Homo sapiens non-functional IGLJ2D IGL J FALSE 693 -Homo sapiens functional IGLJ3 IGL J TRUE 694 -Homo sapiens non-functional IGLJ4 IGL J FALSE 695 -Homo sapiens non-functional IGLJ5 IGL J FALSE 696 -Homo sapiens functional IGLJ6 IGL J TRUE 697 -Homo sapiens functional IGLJ7 IGL J TRUE 698 -Homo sapiens non-functional IGLV(I)-20 IGL V FALSE 699 -Homo sapiens non-functional IGLV(I)-38 IGL V FALSE 700 -Homo sapiens non-functional IGLV(I)-42 IGL V FALSE 701 -Homo sapiens non-functional IGLV(I)-56 IGL V FALSE 702 -Homo sapiens non-functional IGLV(I)-63 IGL V FALSE 703 -Homo sapiens non-functional IGLV(I)-68 IGL V FALSE 704 -Homo sapiens non-functional IGLV(I)-70 IGL V FALSE 705 -Homo sapiens non-functional IGLV(IV)-53 IGL V FALSE 706 -Homo sapiens non-functional IGLV(IV)-59 IGL V FALSE 707 -Homo sapiens non-functional IGLV(IV)-64 IGL V FALSE 708 -Homo sapiens non-functional IGLV(IV)-65 IGL V FALSE 709 -Homo sapiens non-functional IGLV(IV)-66-1 IGL V FALSE 710 -Homo sapiens non-functional IGLV(IV)/OR22-1 IGL V FALSE 711 -Homo sapiens non-functional IGLV(IV)/OR22-2 IGL V FALSE 712 -Homo sapiens non-functional IGLV(V)-58 IGL V FALSE 713 -Homo sapiens non-functional IGLV(V)-66 IGL V FALSE 714 -Homo sapiens non-functional IGLV(VI)-22-1 IGL V FALSE 715 -Homo sapiens non-functional IGLV(VI)-25-1 IGL V FALSE 716 -Homo sapiens non-functional IGLV(VII)-41-1 IGL V FALSE 717 -Homo sapiens non-functional IGLV/OR8-2 IGL V FALSE 718 -Homo sapiens functional IGLV1-36 IGL V TRUE 719 -Homo sapiens functional IGLV1-40 IGL V TRUE 720 -Homo sapiens non-functional IGLV1-41 IGL V FALSE 721 -Homo sapiens functional IGLV1-44 IGL V TRUE 722 -Homo sapiens functional IGLV1-47 IGL V TRUE 723 -Homo sapiens non-functional IGLV1-50 IGL V FALSE 724 -Homo sapiens functional IGLV1-51 IGL V TRUE 725 -Homo sapiens non-functional IGLV1-62 IGL V FALSE 726 -Homo sapiens functional IGLV10-54 IGL V TRUE 727 -Homo sapiens non-functional IGLV10-67 IGL V FALSE 728 -Homo sapiens non-functional IGLV11-55 IGL V FALSE 729 -Homo sapiens functional IGLV2-11 IGL V TRUE 730 -Homo sapiens functional IGLV2-14 IGL V TRUE 731 -Homo sapiens functional IGLV2-18 IGL V TRUE 732 -Homo sapiens functional IGLV2-23 IGL V TRUE 733 -Homo sapiens non-functional IGLV2-28 IGL V FALSE 734 -Homo sapiens non-functional IGLV2-33 IGL V FALSE 735 -Homo sapiens non-functional IGLV2-34 IGL V FALSE 736 -Homo sapiens non-functional IGLV2-5 IGL V FALSE 737 -Homo sapiens functional IGLV2-8 IGL V TRUE 738 -Homo sapiens non-functional IGLV2-NL1 IGL V FALSE 739 -Homo sapiens functional IGLV3-1 IGL V TRUE 740 -Homo sapiens functional IGLV3-10 IGL V TRUE 741 -Homo sapiens functional IGLV3-12 IGL V TRUE 742 -Homo sapiens non-functional IGLV3-13 IGL V FALSE 743 -Homo sapiens non-functional IGLV3-15 IGL V FALSE 744 -Homo sapiens functional IGLV3-16 IGL V TRUE 745 -Homo sapiens non-functional IGLV3-17 IGL V FALSE 746 -Homo sapiens functional IGLV3-19 IGL V TRUE 747 -Homo sapiens non-functional IGLV3-2 IGL V FALSE 748 -Homo sapiens functional IGLV3-21 IGL V TRUE 749 -Homo sapiens functional IGLV3-22 IGL V TRUE 750 -Homo sapiens non-functional IGLV3-24 IGL V FALSE 751 -Homo sapiens functional IGLV3-25 IGL V TRUE 752 -Homo sapiens non-functional IGLV3-26 IGL V FALSE 753 -Homo sapiens functional IGLV3-27 IGL V TRUE 754 -Homo sapiens non-functional IGLV3-29 IGL V FALSE 755 -Homo sapiens non-functional IGLV3-30 IGL V FALSE 756 -Homo sapiens non-functional IGLV3-31 IGL V FALSE 757 -Homo sapiens non-functional IGLV3-32 IGL V FALSE 758 -Homo sapiens non-functional IGLV3-4 IGL V FALSE 759 -Homo sapiens non-functional IGLV3-6 IGL V FALSE 760 -Homo sapiens non-functional IGLV3-7 IGL V FALSE 761 -Homo sapiens functional IGLV3-9 IGL V TRUE 762 -Homo sapiens functional IGLV4-3 IGL V TRUE 763 -Homo sapiens functional IGLV4-60 IGL V TRUE 764 -Homo sapiens functional IGLV4-69 IGL V TRUE 765 -Homo sapiens functional IGLV5-37 IGL V TRUE 766 -Homo sapiens functional IGLV5-39 IGL V TRUE 767 -Homo sapiens functional IGLV5-45 IGL V TRUE 768 -Homo sapiens non-functional IGLV5-48 IGL V FALSE 769 -Homo sapiens functional IGLV5-52 IGL V TRUE 770 -Homo sapiens functional IGLV6-57 IGL V TRUE 771 -Homo sapiens non-functional IGLV7-35 IGL V FALSE 772 -Homo sapiens functional IGLV7-43 IGL V TRUE 773 -Homo sapiens functional IGLV7-46 IGL V TRUE 774 -Homo sapiens functional IGLV8-61 IGL V TRUE 775 -Homo sapiens non-functional IGLV8/OR8-1 IGL V FALSE 776 -Homo sapiens functional IGLV9-49 IGL V TRUE 777 -Homo sapiens non-functional TRAJ1 TRA J FALSE 778 -Homo sapiens functional TRAJ10 TRA J TRUE 779 -Homo sapiens functional TRAJ11 TRA J TRUE 780 -Homo sapiens functional TRAJ12 TRA J TRUE 781 -Homo sapiens functional TRAJ13 TRA J TRUE 782 -Homo sapiens functional TRAJ14 TRA J TRUE 783 -Homo sapiens functional TRAJ15 TRA J TRUE 784 -Homo sapiens functional TRAJ16 TRA J TRUE 785 -Homo sapiens functional TRAJ17 TRA J TRUE 786 -Homo sapiens functional TRAJ18 TRA J TRUE 787 -Homo sapiens non-functional TRAJ19 TRA J FALSE 788 -Homo sapiens non-functional TRAJ2 TRA J FALSE 789 -Homo sapiens functional TRAJ20 TRA J TRUE 790 -Homo sapiens functional TRAJ21 TRA J TRUE 791 -Homo sapiens functional TRAJ22 TRA J TRUE 792 -Homo sapiens functional TRAJ23 TRA J TRUE 793 -Homo sapiens functional TRAJ24 TRA J TRUE 794 -Homo sapiens non-functional TRAJ25 TRA J FALSE 795 -Homo sapiens functional TRAJ26 TRA J TRUE 796 -Homo sapiens functional TRAJ27 TRA J TRUE 797 -Homo sapiens functional TRAJ28 TRA J TRUE 798 -Homo sapiens functional TRAJ29 TRA J TRUE 799 -Homo sapiens functional TRAJ3 TRA J TRUE 800 -Homo sapiens functional TRAJ30 TRA J TRUE 801 -Homo sapiens functional TRAJ31 TRA J TRUE 802 -Homo sapiens functional TRAJ32 TRA J TRUE 803 -Homo sapiens functional TRAJ33 TRA J TRUE 804 -Homo sapiens functional TRAJ34 TRA J TRUE 805 -Homo sapiens non-functional TRAJ35 TRA J FALSE 806 -Homo sapiens functional TRAJ36 TRA J TRUE 807 -Homo sapiens functional TRAJ37 TRA J TRUE 808 -Homo sapiens functional TRAJ38 TRA J TRUE 809 -Homo sapiens functional TRAJ39 TRA J TRUE 810 -Homo sapiens functional TRAJ4 TRA J TRUE 811 -Homo sapiens functional TRAJ40 TRA J TRUE 812 -Homo sapiens functional TRAJ41 TRA J TRUE 813 -Homo sapiens functional TRAJ42 TRA J TRUE 814 -Homo sapiens functional TRAJ43 TRA J TRUE 815 -Homo sapiens functional TRAJ44 TRA J TRUE 816 -Homo sapiens functional TRAJ45 TRA J TRUE 817 -Homo sapiens functional TRAJ46 TRA J TRUE 818 -Homo sapiens functional TRAJ47 TRA J TRUE 819 -Homo sapiens functional TRAJ48 TRA J TRUE 820 -Homo sapiens functional TRAJ49 TRA J TRUE 821 -Homo sapiens functional TRAJ5 TRA J TRUE 822 -Homo sapiens functional TRAJ50 TRA J TRUE 823 -Homo sapiens non-functional TRAJ51 TRA J FALSE 824 -Homo sapiens functional TRAJ52 TRA J TRUE 825 -Homo sapiens functional TRAJ53 TRA J TRUE 826 -Homo sapiens functional TRAJ54 TRA J TRUE 827 -Homo sapiens non-functional TRAJ55 TRA J FALSE 828 -Homo sapiens functional TRAJ56 TRA J TRUE 829 -Homo sapiens functional TRAJ57 TRA J TRUE 830 -Homo sapiens non-functional TRAJ58 TRA J FALSE 831 -Homo sapiens non-functional TRAJ59 TRA J FALSE 832 -Homo sapiens functional TRAJ6 TRA J TRUE 833 -Homo sapiens non-functional TRAJ60 TRA J FALSE 834 -Homo sapiens non-functional TRAJ61 TRA J FALSE 835 -Homo sapiens functional TRAJ7 TRA J TRUE 836 -Homo sapiens functional TRAJ8 TRA J TRUE 837 -Homo sapiens functional TRAJ9 TRA J TRUE 838 -Homo sapiens functional TRAV1-1 TRA V TRUE 839 -Homo sapiens functional TRAV1-2 TRA V TRUE 840 -Homo sapiens functional TRAV10 TRA V TRUE 841 -Homo sapiens non-functional TRAV11 TRA V FALSE 842 -Homo sapiens functional TRAV12-1 TRA V TRUE 843 -Homo sapiens functional TRAV12-2 TRA V TRUE 844 -Homo sapiens functional TRAV12-3 TRA V TRUE 845 -Homo sapiens functional TRAV13-1 TRA V TRUE 846 -Homo sapiens functional TRAV13-2 TRA V TRUE 847 -Homo sapiens functional TRAV14/DV4 TRA V TRUE 848 -Homo sapiens non-functional TRAV15 TRA V FALSE 849 -Homo sapiens functional TRAV16 TRA V TRUE 850 -Homo sapiens functional TRAV17 TRA V TRUE 851 -Homo sapiens functional TRAV18 TRA V TRUE 852 -Homo sapiens functional TRAV19 TRA V TRUE 853 -Homo sapiens functional TRAV2 TRA V TRUE 854 -Homo sapiens functional TRAV20 TRA V TRUE 855 -Homo sapiens functional TRAV21 TRA V TRUE 856 -Homo sapiens functional TRAV22 TRA V TRUE 857 -Homo sapiens functional TRAV23/DV6 TRA V TRUE 858 -Homo sapiens functional TRAV24 TRA V TRUE 859 -Homo sapiens functional TRAV25 TRA V TRUE 860 -Homo sapiens functional TRAV26-1 TRA V TRUE 861 -Homo sapiens functional TRAV26-2 TRA V TRUE 862 -Homo sapiens functional TRAV27 TRA V TRUE 863 -Homo sapiens non-functional TRAV28 TRA V FALSE 864 -Homo sapiens functional TRAV29/DV5 TRA V TRUE 865 -Homo sapiens functional TRAV3 TRA V TRUE 866 -Homo sapiens functional TRAV30 TRA V TRUE 867 -Homo sapiens non-functional TRAV31 TRA V FALSE 868 -Homo sapiens non-functional TRAV32 TRA V FALSE 869 -Homo sapiens non-functional TRAV33 TRA V FALSE 870 -Homo sapiens functional TRAV34 TRA V TRUE 871 -Homo sapiens functional TRAV35 TRA V TRUE 872 -Homo sapiens functional TRAV36/DV7 TRA V TRUE 873 -Homo sapiens non-functional TRAV37 TRA V FALSE 874 -Homo sapiens functional TRAV38-1 TRA V TRUE 875 -Homo sapiens functional TRAV38-2/DV8 TRA V TRUE 876 -Homo sapiens functional TRAV39 TRA V TRUE 877 -Homo sapiens functional TRAV4 TRA V TRUE 878 -Homo sapiens functional TRAV40 TRA V TRUE 879 -Homo sapiens functional TRAV41 TRA V TRUE 880 -Homo sapiens functional TRAV5 TRA V TRUE 881 -Homo sapiens functional TRAV6 TRA V TRUE 882 -Homo sapiens functional TRAV7 TRA V TRUE 883 -Homo sapiens functional TRAV8-1 TRA V TRUE 884 -Homo sapiens functional TRAV8-2 TRA V TRUE 885 -Homo sapiens functional TRAV8-3 TRA V TRUE 886 -Homo sapiens functional TRAV8-4 TRA V TRUE 887 -Homo sapiens non-functional TRAV8-5 TRA V FALSE 888 -Homo sapiens functional TRAV8-6 TRA V TRUE 889 -Homo sapiens non-functional TRAV8-7 TRA V FALSE 890 -Homo sapiens functional TRAV9-1 TRA V TRUE 891 -Homo sapiens functional TRAV9-2 TRA V TRUE 892 -Homo sapiens functional TRBD1 TRB D TRUE 893 -Homo sapiens functional TRBD2 TRB D TRUE 894 -Homo sapiens functional TRBJ1-1 TRB J TRUE 895 -Homo sapiens functional TRBJ1-2 TRB J TRUE 896 -Homo sapiens functional TRBJ1-3 TRB J TRUE 897 -Homo sapiens functional TRBJ1-4 TRB J TRUE 898 -Homo sapiens functional TRBJ1-5 TRB J TRUE 899 -Homo sapiens functional TRBJ1-6 TRB J TRUE 900 -Homo sapiens functional TRBJ2-1 TRB J TRUE 901 -Homo sapiens functional TRBJ2-2 TRB J TRUE 902 -Homo sapiens non-functional TRBJ2-2P TRB J FALSE 903 -Homo sapiens functional TRBJ2-3 TRB J TRUE 904 -Homo sapiens functional TRBJ2-4 TRB J TRUE 905 -Homo sapiens functional TRBJ2-5 TRB J TRUE 906 -Homo sapiens functional TRBJ2-6 TRB J TRUE 907 -Homo sapiens functional TRBJ2-7 TRB J TRUE 908 -Homo sapiens non-functional TRBV1 TRB V FALSE 909 -Homo sapiens functional TRBV10-1 TRB V TRUE 910 -Homo sapiens functional TRBV10-2 TRB V TRUE 911 -Homo sapiens functional TRBV10-3 TRB V TRUE 912 -Homo sapiens functional TRBV11-1 TRB V TRUE 913 -Homo sapiens functional TRBV11-2 TRB V TRUE 914 -Homo sapiens functional TRBV11-3 TRB V TRUE 915 -Homo sapiens non-functional TRBV12-1 TRB V FALSE 916 -Homo sapiens non-functional TRBV12-2 TRB V FALSE 917 -Homo sapiens functional TRBV12-3 TRB V TRUE 918 -Homo sapiens functional TRBV12-4 TRB V TRUE 919 -Homo sapiens functional TRBV12-5 TRB V TRUE 920 -Homo sapiens functional TRBV13 TRB V TRUE 921 -Homo sapiens functional TRBV14 TRB V TRUE 922 -Homo sapiens functional TRBV15 TRB V TRUE 923 -Homo sapiens functional TRBV16 TRB V TRUE 924 -Homo sapiens non-functional TRBV17 TRB V FALSE 925 -Homo sapiens functional TRBV18 TRB V TRUE 926 -Homo sapiens functional TRBV19 TRB V TRUE 927 -Homo sapiens functional TRBV2 TRB V TRUE 928 -Homo sapiens functional TRBV20-1 TRB V TRUE 929 -Homo sapiens non-functional TRBV20/OR9-2 TRB V FALSE 930 -Homo sapiens non-functional TRBV21-1 TRB V FALSE 931 -Homo sapiens non-functional TRBV21/OR9-2 TRB V FALSE 932 -Homo sapiens non-functional TRBV22-1 TRB V FALSE 933 -Homo sapiens non-functional TRBV22/OR9-2 TRB V FALSE 934 -Homo sapiens non-functional TRBV23-1 TRB V FALSE 935 -Homo sapiens non-functional TRBV23/OR9-2 TRB V FALSE 936 -Homo sapiens functional TRBV24-1 TRB V TRUE 937 -Homo sapiens non-functional TRBV24/OR9-2 TRB V FALSE 938 -Homo sapiens functional TRBV25-1 TRB V TRUE 939 -Homo sapiens non-functional TRBV25/OR9-2 TRB V FALSE 940 -Homo sapiens non-functional TRBV26 TRB V FALSE 941 -Homo sapiens non-functional TRBV26/OR9-2 TRB V FALSE 942 -Homo sapiens functional TRBV27 TRB V TRUE 943 -Homo sapiens functional TRBV28 TRB V TRUE 944 -Homo sapiens functional TRBV29-1 TRB V TRUE 945 -Homo sapiens non-functional TRBV29/OR9-2 TRB V FALSE 946 -Homo sapiens functional TRBV3-1 TRB V TRUE 947 -Homo sapiens non-functional TRBV3-2 TRB V FALSE 948 -Homo sapiens functional TRBV30 TRB V TRUE 949 -Homo sapiens functional TRBV4-1 TRB V TRUE 950 -Homo sapiens functional TRBV4-2 TRB V TRUE 951 -Homo sapiens functional TRBV4-3 TRB V TRUE 952 -Homo sapiens functional TRBV5-1 TRB V TRUE 953 -Homo sapiens non-functional TRBV5-2 TRB V FALSE 954 -Homo sapiens non-functional TRBV5-3 TRB V FALSE 955 -Homo sapiens functional TRBV5-4 TRB V TRUE 956 -Homo sapiens functional TRBV5-5 TRB V TRUE 957 -Homo sapiens functional TRBV5-6 TRB V TRUE 958 -Homo sapiens non-functional TRBV5-7 TRB V FALSE 959 -Homo sapiens functional TRBV5-8 TRB V TRUE 960 -Homo sapiens functional TRBV6-1 TRB V TRUE 961 -Homo sapiens functional TRBV6-2 TRB V TRUE 962 -Homo sapiens functional TRBV6-3 TRB V TRUE 963 -Homo sapiens functional TRBV6-4 TRB V TRUE 964 -Homo sapiens functional TRBV6-5 TRB V TRUE 965 -Homo sapiens functional TRBV6-6 TRB V TRUE 966 -Homo sapiens non-functional TRBV6-7 TRB V FALSE 967 -Homo sapiens functional TRBV6-8 TRB V TRUE 968 -Homo sapiens functional TRBV6-9 TRB V TRUE 969 -Homo sapiens non-functional TRBV7-1 TRB V FALSE 970 -Homo sapiens functional TRBV7-2 TRB V TRUE 971 -Homo sapiens functional TRBV7-3 TRB V TRUE 972 -Homo sapiens functional TRBV7-4 TRB V TRUE 973 -Homo sapiens non-functional TRBV7-5 TRB V FALSE 974 -Homo sapiens functional TRBV7-6 TRB V TRUE 975 -Homo sapiens functional TRBV7-7 TRB V TRUE 976 -Homo sapiens functional TRBV7-8 TRB V TRUE 977 -Homo sapiens functional TRBV7-9 TRB V TRUE 978 -Homo sapiens non-functional TRBV8-1 TRB V FALSE 979 -Homo sapiens non-functional TRBV8-2 TRB V FALSE 980 -Homo sapiens functional TRBV9 TRB V TRUE 981 -Homo sapiens non-functional TRBVA TRB V FALSE 982 -Homo sapiens non-functional TRBVA/OR9-2 TRB V FALSE 983 -Homo sapiens non-functional TRBVB TRB V FALSE 984 -Homo sapiens non-functional TRBVC TRB V FALSE 985 -Homo sapiens functional TRDD1 TRD D TRUE 986 -Homo sapiens functional TRDD2 TRD D TRUE 987 -Homo sapiens functional TRDD3 TRD D TRUE 988 -Homo sapiens functional TRDJ1 TRD J TRUE 989 -Homo sapiens functional TRDJ2 TRD J TRUE 990 -Homo sapiens functional TRDJ3 TRD J TRUE 991 -Homo sapiens functional TRDJ4 TRD J TRUE 992 -Homo sapiens functional TRDV1 TRD V TRUE 993 -Homo sapiens functional TRDV2 TRD V TRUE 994 -Homo sapiens functional TRDV3 TRD V TRUE 995 -Homo sapiens functional TRGJ1 TRG J TRUE 996 -Homo sapiens functional TRGJ2 TRG J TRUE 997 -Homo sapiens functional TRGJP TRG J TRUE 998 -Homo sapiens functional TRGJP1 TRG J TRUE 999 -Homo sapiens functional TRGJP2 TRG J TRUE 1000 -Homo sapiens non-functional TRGV1 TRG V FALSE 1001 -Homo sapiens non-functional TRGV10 TRG V FALSE 1002 -Homo sapiens non-functional TRGV11 TRG V FALSE 1003 -Homo sapiens functional TRGV2 TRG V TRUE 1004 -Homo sapiens functional TRGV3 TRG V TRUE 1005 -Homo sapiens non-functional TRGV3P TRG V FALSE 1006 -Homo sapiens functional TRGV4 TRG V TRUE 1007 -Homo sapiens functional TRGV5 TRG V TRUE 1008 -Homo sapiens non-functional TRGV5P TRG V FALSE 1009 -Homo sapiens non-functional TRGV6 TRG V FALSE 1010 -Homo sapiens non-functional TRGV7 TRG V FALSE 1011 -Homo sapiens functional TRGV8 TRG V TRUE 1012 -Homo sapiens functional TRGV9 TRG V TRUE 1013 -Homo sapiens non-functional TRGVA TRG V FALSE 1014 -Homo sapiens non-functional TRGVB TRG V FALSE 1015 -Macaca mulatta non-functional IGHD IGH D FALSE 1016 -Macaca mulatta functional IGHD1-1 IGH D TRUE 1017 -Macaca mulatta functional IGHD1-2 IGH D TRUE 1018 -Macaca mulatta functional IGHD1-3 IGH D TRUE 1019 -Macaca mulatta functional IGHD1-4 IGH D TRUE 1020 -Macaca mulatta non-functional IGHD1-5 IGH D FALSE 1021 -Macaca mulatta non-functional IGHD1-6 IGH D FALSE 1022 -Macaca mulatta non-functional IGHD1-7 IGH D FALSE 1023 -Macaca mulatta functional IGHD1-8 IGH D TRUE 1024 -Macaca mulatta functional IGHD2-1 IGH D TRUE 1025 -Macaca mulatta functional IGHD2-2 IGH D TRUE 1026 -Macaca mulatta functional IGHD2-3 IGH D TRUE 1027 -Macaca mulatta functional IGHD2-4 IGH D TRUE 1028 -Macaca mulatta functional IGHD2-5 IGH D TRUE 1029 -Macaca mulatta functional IGHD2-6 IGH D TRUE 1030 -Macaca mulatta non-functional IGHD3-1 IGH D FALSE 1031 -Macaca mulatta non-functional IGHD3-2 IGH D FALSE 1032 -Macaca mulatta functional IGHD3-3 IGH D TRUE 1033 -Macaca mulatta functional IGHD3-4 IGH D TRUE 1034 -Macaca mulatta non-functional IGHD4-1 IGH D FALSE 1035 -Macaca mulatta functional IGHD4-2 IGH D TRUE 1036 -Macaca mulatta functional IGHD4-3 IGH D TRUE 1037 -Macaca mulatta functional IGHD4-4 IGH D TRUE 1038 -Macaca mulatta non-functional IGHD5-1 IGH D FALSE 1039 -Macaca mulatta functional IGHD5-2 IGH D TRUE 1040 -Macaca mulatta non-functional IGHD5-3 IGH D FALSE 1041 -Macaca mulatta functional IGHD6-1 IGH D TRUE 1042 -Macaca mulatta functional IGHD6-2 IGH D TRUE 1043 -Macaca mulatta functional IGHD6-3 IGH D TRUE 1044 -Macaca mulatta functional IGHD6-4 IGH D TRUE 1045 -Macaca mulatta functional IGHD6-5 IGH D TRUE 1046 -Macaca mulatta functional IGHD6-6 IGH D TRUE 1047 -Macaca mulatta functional IGHD7-1 IGH D TRUE 1048 -Macaca mulatta functional IGHJ1 IGH J TRUE 1049 -Macaca mulatta non-functional IGHJ2 IGH J FALSE 1050 -Macaca mulatta functional IGHJ3 IGH J TRUE 1051 -Macaca mulatta functional IGHJ4 IGH J TRUE 1052 -Macaca mulatta functional IGHJ5-1 IGH J TRUE 1053 -Macaca mulatta functional IGHJ5-2 IGH J TRUE 1054 -Macaca mulatta functional IGHJ6 IGH J TRUE 1055 -Macaca mulatta non-functional IGHV(II)-1 IGH V FALSE 1056 -Macaca mulatta non-functional IGHV(II)-10 IGH V FALSE 1057 -Macaca mulatta non-functional IGHV(II)-11 IGH V FALSE 1058 -Macaca mulatta non-functional IGHV(II)-12 IGH V FALSE 1059 -Macaca mulatta non-functional IGHV(II)-2 IGH V FALSE 1060 -Macaca mulatta non-functional IGHV(II)-3 IGH V FALSE 1061 -Macaca mulatta non-functional IGHV(II)-4 IGH V FALSE 1062 -Macaca mulatta non-functional IGHV(II)-5 IGH V FALSE 1063 -Macaca mulatta non-functional IGHV(II)-6 IGH V FALSE 1064 -Macaca mulatta non-functional IGHV(II)-7 IGH V FALSE 1065 -Macaca mulatta non-functional IGHV(II)-8 IGH V FALSE 1066 -Macaca mulatta non-functional IGHV(II)-9 IGH V FALSE 1067 -Macaca mulatta non-functional IGHV(III)-1 IGH V FALSE 1068 -Macaca mulatta non-functional IGHV(III)-2 IGH V FALSE 1069 -Macaca mulatta non-functional IGHV(III)-3 IGH V FALSE 1070 -Macaca mulatta non-functional IGHV(III)-4 IGH V FALSE 1071 -Macaca mulatta functional IGHV1-1 IGH V TRUE 1072 -Macaca mulatta non-functional IGHV1-2 IGH V FALSE 1073 -Macaca mulatta functional IGHV2-1 IGH V TRUE 1074 -Macaca mulatta non-functional IGHV2-2 IGH V FALSE 1075 -Macaca mulatta non-functional IGHV3-1 IGH V FALSE 1076 -Macaca mulatta functional IGHV3-10 IGH V TRUE 1077 -Macaca mulatta functional IGHV3-11 IGH V TRUE 1078 -Macaca mulatta functional IGHV3-12 IGH V TRUE 1079 -Macaca mulatta functional IGHV3-13 IGH V TRUE 1080 -Macaca mulatta functional IGHV3-14 IGH V TRUE 1081 -Macaca mulatta non-functional IGHV3-15 IGH V FALSE 1082 -Macaca mulatta non-functional IGHV3-16 IGH V FALSE 1083 -Macaca mulatta non-functional IGHV3-17 IGH V FALSE 1084 -Macaca mulatta functional IGHV3-18 IGH V TRUE 1085 -Macaca mulatta non-functional IGHV3-19 IGH V FALSE 1086 -Macaca mulatta non-functional IGHV3-2 IGH V FALSE 1087 -Macaca mulatta functional IGHV3-20 IGH V TRUE 1088 -Macaca mulatta functional IGHV3-21 IGH V TRUE 1089 -Macaca mulatta functional IGHV3-22 IGH V TRUE 1090 -Macaca mulatta non-functional IGHV3-23 IGH V FALSE 1091 -Macaca mulatta non-functional IGHV3-24 IGH V FALSE 1092 -Macaca mulatta non-functional IGHV3-3 IGH V FALSE 1093 -Macaca mulatta non-functional IGHV3-4 IGH V FALSE 1094 -Macaca mulatta functional IGHV3-5 IGH V TRUE 1095 -Macaca mulatta functional IGHV3-6 IGH V TRUE 1096 -Macaca mulatta functional IGHV3-7 IGH V TRUE 1097 -Macaca mulatta non-functional IGHV3-8 IGH V FALSE 1098 -Macaca mulatta functional IGHV3-9 IGH V TRUE 1099 -Macaca mulatta non-functional IGHV4-1 IGH V FALSE 1100 -Macaca mulatta functional IGHV4-2 IGH V TRUE 1101 -Macaca mulatta non-functional IGHV4-3 IGH V FALSE 1102 -Macaca mulatta non-functional IGHV4-4 IGH V FALSE 1103 -Macaca mulatta non-functional IGHV5-1 IGH V FALSE 1104 -Macaca mulatta functional IGHV5-2 IGH V TRUE 1105 -Macaca mulatta functional IGHV6-1 IGH V TRUE 1106 -Macaca mulatta functional IGHV7-1 IGH V TRUE 1107 -Macaca mulatta functional IGKJ1 IGK J TRUE 1108 -Macaca mulatta functional IGKJ2 IGK J TRUE 1109 -Macaca mulatta functional IGKJ3 IGK J TRUE 1110 -Macaca mulatta functional IGKJ4 IGK J TRUE 1111 -Macaca mulatta non-functional IGKJ5 IGK J FALSE 1112 -Macaca mulatta non-functional IGKV1-1 IGK V FALSE 1113 -Macaca mulatta functional IGKV1-10 IGK V TRUE 1114 -Macaca mulatta functional IGKV1-11 IGK V TRUE 1115 -Macaca mulatta non-functional IGKV1-12 IGK V FALSE 1116 -Macaca mulatta functional IGKV1-13 IGK V TRUE 1117 -Macaca mulatta functional IGKV1-14 IGK V TRUE 1118 -Macaca mulatta functional IGKV1-15 IGK V TRUE 1119 -Macaca mulatta non-functional IGKV1-16 IGK V FALSE 1120 -Macaca mulatta functional IGKV1-17 IGK V TRUE 1121 -Macaca mulatta functional IGKV1-18 IGK V TRUE 1122 -Macaca mulatta non-functional IGKV1-19 IGK V FALSE 1123 -Macaca mulatta functional IGKV1-2 IGK V TRUE 1124 -Macaca mulatta functional IGKV1-20 IGK V TRUE 1125 -Macaca mulatta functional IGKV1-21 IGK V TRUE 1126 -Macaca mulatta functional IGKV1-22 IGK V TRUE 1127 -Macaca mulatta functional IGKV1-23 IGK V TRUE 1128 -Macaca mulatta non-functional IGKV1-3 IGK V FALSE 1129 -Macaca mulatta non-functional IGKV1-4 IGK V FALSE 1130 -Macaca mulatta functional IGKV1-5 IGK V TRUE 1131 -Macaca mulatta non-functional IGKV1-6 IGK V FALSE 1132 -Macaca mulatta non-functional IGKV1-7 IGK V FALSE 1133 -Macaca mulatta functional IGKV1-8 IGK V TRUE 1134 -Macaca mulatta functional IGKV1-9 IGK V TRUE 1135 -Macaca mulatta functional IGKV1S1 IGK V TRUE 1136 -Macaca mulatta functional IGKV1S10 IGK V TRUE 1137 -Macaca mulatta functional IGKV1S11 IGK V TRUE 1138 -Macaca mulatta functional IGKV1S12 IGK V TRUE 1139 -Macaca mulatta functional IGKV1S13 IGK V TRUE 1140 -Macaca mulatta functional IGKV1S14 IGK V TRUE 1141 -Macaca mulatta functional IGKV1S15 IGK V TRUE 1142 -Macaca mulatta functional IGKV1S16 IGK V TRUE 1143 -Macaca mulatta functional IGKV1S17 IGK V TRUE 1144 -Macaca mulatta non-functional IGKV1S18 IGK V FALSE 1145 -Macaca mulatta functional IGKV1S19 IGK V TRUE 1146 -Macaca mulatta functional IGKV1S2 IGK V TRUE 1147 -Macaca mulatta functional IGKV1S20 IGK V TRUE 1148 -Macaca mulatta functional IGKV1S21 IGK V TRUE 1149 -Macaca mulatta functional IGKV1S22 IGK V TRUE 1150 -Macaca mulatta functional IGKV1S23 IGK V TRUE 1151 -Macaca mulatta functional IGKV1S24 IGK V TRUE 1152 -Macaca mulatta functional IGKV1S25 IGK V TRUE 1153 -Macaca mulatta functional IGKV1S26 IGK V TRUE 1154 -Macaca mulatta functional IGKV1S27 IGK V TRUE 1155 -Macaca mulatta functional IGKV1S28 IGK V TRUE 1156 -Macaca mulatta functional IGKV1S3 IGK V TRUE 1157 -Macaca mulatta functional IGKV1S4 IGK V TRUE 1158 -Macaca mulatta functional IGKV1S5 IGK V TRUE 1159 -Macaca mulatta functional IGKV1S6 IGK V TRUE 1160 -Macaca mulatta functional IGKV1S7 IGK V TRUE 1161 -Macaca mulatta functional IGKV1S8 IGK V TRUE 1162 -Macaca mulatta functional IGKV1S9 IGK V TRUE 1163 -Macaca mulatta functional IGKV2-1 IGK V TRUE 1164 -Macaca mulatta non-functional IGKV2-10 IGK V FALSE 1165 -Macaca mulatta non-functional IGKV2-11 IGK V FALSE 1166 -Macaca mulatta non-functional IGKV2-12 IGK V FALSE 1167 -Macaca mulatta non-functional IGKV2-13 IGK V FALSE 1168 -Macaca mulatta functional IGKV2-14 IGK V TRUE 1169 -Macaca mulatta non-functional IGKV2-15 IGK V FALSE 1170 -Macaca mulatta non-functional IGKV2-16 IGK V FALSE 1171 -Macaca mulatta non-functional IGKV2-2 IGK V FALSE 1172 -Macaca mulatta functional IGKV2-3 IGK V TRUE 1173 -Macaca mulatta non-functional IGKV2-4 IGK V FALSE 1174 -Macaca mulatta non-functional IGKV2-5 IGK V FALSE 1175 -Macaca mulatta non-functional IGKV2-6 IGK V FALSE 1176 -Macaca mulatta non-functional IGKV2-7 IGK V FALSE 1177 -Macaca mulatta non-functional IGKV2-8 IGK V FALSE 1178 -Macaca mulatta non-functional IGKV2-9 IGK V FALSE 1179 -Macaca mulatta functional IGKV2S1 IGK V TRUE 1180 -Macaca mulatta functional IGKV2S10 IGK V TRUE 1181 -Macaca mulatta functional IGKV2S11 IGK V TRUE 1182 -Macaca mulatta functional IGKV2S12 IGK V TRUE 1183 -Macaca mulatta functional IGKV2S13 IGK V TRUE 1184 -Macaca mulatta non-functional IGKV2S14 IGK V FALSE 1185 -Macaca mulatta functional IGKV2S15 IGK V TRUE 1186 -Macaca mulatta non-functional IGKV2S16 IGK V FALSE 1187 -Macaca mulatta functional IGKV2S17 IGK V TRUE 1188 -Macaca mulatta functional IGKV2S18 IGK V TRUE 1189 -Macaca mulatta functional IGKV2S19 IGK V TRUE 1190 -Macaca mulatta functional IGKV2S2 IGK V TRUE 1191 -Macaca mulatta functional IGKV2S20 IGK V TRUE 1192 -Macaca mulatta functional IGKV2S3 IGK V TRUE 1193 -Macaca mulatta functional IGKV2S4 IGK V TRUE 1194 -Macaca mulatta functional IGKV2S5 IGK V TRUE 1195 -Macaca mulatta non-functional IGKV2S6 IGK V FALSE 1196 -Macaca mulatta non-functional IGKV2S7 IGK V FALSE 1197 -Macaca mulatta functional IGKV2S8 IGK V TRUE 1198 -Macaca mulatta functional IGKV2S9 IGK V TRUE 1199 -Macaca mulatta functional IGKV3-1 IGK V TRUE 1200 -Macaca mulatta non-functional IGKV3-10 IGK V FALSE 1201 -Macaca mulatta non-functional IGKV3-11 IGK V FALSE 1202 -Macaca mulatta functional IGKV3-2 IGK V TRUE 1203 -Macaca mulatta functional IGKV3-3 IGK V TRUE 1204 -Macaca mulatta non-functional IGKV3-4 IGK V FALSE 1205 -Macaca mulatta functional IGKV3-5 IGK V TRUE 1206 -Macaca mulatta non-functional IGKV3-6 IGK V FALSE 1207 -Macaca mulatta non-functional IGKV3-7 IGK V FALSE 1208 -Macaca mulatta non-functional IGKV3-8 IGK V FALSE 1209 -Macaca mulatta functional IGKV3-9 IGK V TRUE 1210 -Macaca mulatta functional IGKV3S1 IGK V TRUE 1211 -Macaca mulatta functional IGKV3S10 IGK V TRUE 1212 -Macaca mulatta functional IGKV3S11 IGK V TRUE 1213 -Macaca mulatta functional IGKV3S2 IGK V TRUE 1214 -Macaca mulatta functional IGKV3S3 IGK V TRUE 1215 -Macaca mulatta functional IGKV3S4 IGK V TRUE 1216 -Macaca mulatta functional IGKV3S5 IGK V TRUE 1217 -Macaca mulatta functional IGKV3S6 IGK V TRUE 1218 -Macaca mulatta functional IGKV3S7 IGK V TRUE 1219 -Macaca mulatta functional IGKV3S8 IGK V TRUE 1220 -Macaca mulatta functional IGKV3S9 IGK V TRUE 1221 -Macaca mulatta non-functional IGKV4-1 IGK V FALSE 1222 -Macaca mulatta non-functional IGKV4-2 IGK V FALSE 1223 -Macaca mulatta functional IGKV4-3 IGK V TRUE 1224 -Macaca mulatta functional IGKV5-1 IGK V TRUE 1225 -Macaca mulatta functional IGKV5-2 IGK V TRUE 1226 -Macaca mulatta functional IGKV6-1 IGK V TRUE 1227 -Macaca mulatta functional IGKV6-2 IGK V TRUE 1228 -Macaca mulatta non-functional IGKV6-3 IGK V FALSE 1229 -Macaca mulatta functional IGKV7-1 IGK V TRUE 1230 -Macaca mulatta functional IGLJ1 IGL J TRUE 1231 -Macaca mulatta functional IGLJ2 IGL J TRUE 1232 -Macaca mulatta functional IGLJ3 IGL J TRUE 1233 -Macaca mulatta non-functional IGLJ4 IGL J FALSE 1234 -Macaca mulatta functional IGLJ5 IGL J TRUE 1235 -Macaca mulatta functional IGLJ6 IGL J TRUE 1236 -Macaca mulatta non-functional IGLV(I)-1 IGL V FALSE 1237 -Macaca mulatta non-functional IGLV(I)-10 IGL V FALSE 1238 -Macaca mulatta non-functional IGLV(I)-11 IGL V FALSE 1239 -Macaca mulatta non-functional IGLV(I)-12 IGL V FALSE 1240 -Macaca mulatta non-functional IGLV(I)-2 IGL V FALSE 1241 -Macaca mulatta non-functional IGLV(I)-3 IGL V FALSE 1242 -Macaca mulatta non-functional IGLV(I)-4 IGL V FALSE 1243 -Macaca mulatta non-functional IGLV(I)-5 IGL V FALSE 1244 -Macaca mulatta non-functional IGLV(I)-6 IGL V FALSE 1245 -Macaca mulatta non-functional IGLV(I)-7 IGL V FALSE 1246 -Macaca mulatta non-functional IGLV(I)-8 IGL V FALSE 1247 -Macaca mulatta non-functional IGLV(I)-9 IGL V FALSE 1248 -Macaca mulatta non-functional IGLV(II)-1 IGL V FALSE 1249 -Macaca mulatta non-functional IGLV(II)-2 IGL V FALSE 1250 -Macaca mulatta non-functional IGLV(III)-1 IGL V FALSE 1251 -Macaca mulatta non-functional IGLV(III)-2 IGL V FALSE 1252 -Macaca mulatta non-functional IGLV(III)-3 IGL V FALSE 1253 -Macaca mulatta non-functional IGLV(III)-4 IGL V FALSE 1254 -Macaca mulatta non-functional IGLV(IV)-1 IGL V FALSE 1255 -Macaca mulatta non-functional IGLV(IV)-2 IGL V FALSE 1256 -Macaca mulatta non-functional IGLV(IV)-3 IGL V FALSE 1257 -Macaca mulatta non-functional IGLV(V)-1 IGL V FALSE 1258 -Macaca mulatta non-functional IGLV(V)-2 IGL V FALSE 1259 -Macaca mulatta non-functional IGLV1-1 IGL V FALSE 1260 -Macaca mulatta functional IGLV1-10 IGL V TRUE 1261 -Macaca mulatta functional IGLV1-11 IGL V TRUE 1262 -Macaca mulatta functional IGLV1-12 IGL V TRUE 1263 -Macaca mulatta functional IGLV1-13 IGL V TRUE 1264 -Macaca mulatta functional IGLV1-14 IGL V TRUE 1265 -Macaca mulatta functional IGLV1-15 IGL V TRUE 1266 -Macaca mulatta non-functional IGLV1-2 IGL V FALSE 1267 -Macaca mulatta non-functional IGLV1-3 IGL V FALSE 1268 -Macaca mulatta non-functional IGLV1-4 IGL V FALSE 1269 -Macaca mulatta non-functional IGLV1-5 IGL V FALSE 1270 -Macaca mulatta functional IGLV1-6 IGL V TRUE 1271 -Macaca mulatta functional IGLV1-7 IGL V TRUE 1272 -Macaca mulatta functional IGLV1-8 IGL V TRUE 1273 -Macaca mulatta functional IGLV1-9 IGL V TRUE 1274 -Macaca mulatta functional IGLV10-1 IGL V TRUE 1275 -Macaca mulatta non-functional IGLV10-2 IGL V FALSE 1276 -Macaca mulatta functional IGLV11-1 IGL V TRUE 1277 -Macaca mulatta functional IGLV1S1 IGL V TRUE 1278 -Macaca mulatta functional IGLV1S2 IGL V TRUE 1279 -Macaca mulatta functional IGLV1S3 IGL V TRUE 1280 -Macaca mulatta functional IGLV1S4 IGL V TRUE 1281 -Macaca mulatta non-functional IGLV1S5 IGL V FALSE 1282 -Macaca mulatta functional IGLV1S6 IGL V TRUE 1283 -Macaca mulatta functional IGLV1S7 IGL V TRUE 1284 -Macaca mulatta non-functional IGLV2-1 IGL V FALSE 1285 -Macaca mulatta functional IGLV2-10 IGL V TRUE 1286 -Macaca mulatta non-functional IGLV2-11 IGL V FALSE 1287 -Macaca mulatta non-functional IGLV2-2 IGL V FALSE 1288 -Macaca mulatta functional IGLV2-3 IGL V TRUE 1289 -Macaca mulatta non-functional IGLV2-4 IGL V FALSE 1290 -Macaca mulatta non-functional IGLV2-5 IGL V FALSE 1291 -Macaca mulatta non-functional IGLV2-6 IGL V FALSE 1292 -Macaca mulatta functional IGLV2-7 IGL V TRUE 1293 -Macaca mulatta functional IGLV2-8 IGL V TRUE 1294 -Macaca mulatta functional IGLV2-9 IGL V TRUE 1295 -Macaca mulatta functional IGLV2S1 IGL V TRUE 1296 -Macaca mulatta functional IGLV2S10 IGL V TRUE 1297 -Macaca mulatta functional IGLV2S11 IGL V TRUE 1298 -Macaca mulatta functional IGLV2S2 IGL V TRUE 1299 -Macaca mulatta functional IGLV2S3 IGL V TRUE 1300 -Macaca mulatta functional IGLV2S4 IGL V TRUE 1301 -Macaca mulatta functional IGLV2S5 IGL V TRUE 1302 -Macaca mulatta functional IGLV2S6 IGL V TRUE 1303 -Macaca mulatta functional IGLV2S7 IGL V TRUE 1304 -Macaca mulatta non-functional IGLV2S8 IGL V FALSE 1305 -Macaca mulatta functional IGLV2S9 IGL V TRUE 1306 -Macaca mulatta functional IGLV3-1 IGL V TRUE 1307 -Macaca mulatta functional IGLV3-10 IGL V TRUE 1308 -Macaca mulatta non-functional IGLV3-11 IGL V FALSE 1309 -Macaca mulatta functional IGLV3-12 IGL V TRUE 1310 -Macaca mulatta non-functional IGLV3-13 IGL V FALSE 1311 -Macaca mulatta non-functional IGLV3-14 IGL V FALSE 1312 -Macaca mulatta non-functional IGLV3-15 IGL V FALSE 1313 -Macaca mulatta non-functional IGLV3-16 IGL V FALSE 1314 -Macaca mulatta non-functional IGLV3-17 IGL V FALSE 1315 -Macaca mulatta non-functional IGLV3-18 IGL V FALSE 1316 -Macaca mulatta functional IGLV3-19 IGL V TRUE 1317 -Macaca mulatta functional IGLV3-2 IGL V TRUE 1318 -Macaca mulatta non-functional IGLV3-20 IGL V FALSE 1319 -Macaca mulatta functional IGLV3-3 IGL V TRUE 1320 -Macaca mulatta functional IGLV3-4 IGL V TRUE 1321 -Macaca mulatta functional IGLV3-5 IGL V TRUE 1322 -Macaca mulatta functional IGLV3-6 IGL V TRUE 1323 -Macaca mulatta non-functional IGLV3-7 IGL V FALSE 1324 -Macaca mulatta non-functional IGLV3-8 IGL V FALSE 1325 -Macaca mulatta non-functional IGLV3-9 IGL V FALSE 1326 -Macaca mulatta functional IGLV3S1 IGL V TRUE 1327 -Macaca mulatta functional IGLV3S10 IGL V TRUE 1328 -Macaca mulatta functional IGLV3S11 IGL V TRUE 1329 -Macaca mulatta functional IGLV3S12 IGL V TRUE 1330 -Macaca mulatta functional IGLV3S13 IGL V TRUE 1331 -Macaca mulatta functional IGLV3S14 IGL V TRUE 1332 -Macaca mulatta functional IGLV3S15 IGL V TRUE 1333 -Macaca mulatta functional IGLV3S16 IGL V TRUE 1334 -Macaca mulatta non-functional IGLV3S18 IGL V FALSE 1335 -Macaca mulatta non-functional IGLV3S19 IGL V FALSE 1336 -Macaca mulatta functional IGLV3S2 IGL V TRUE 1337 -Macaca mulatta non-functional IGLV3S20 IGL V FALSE 1338 -Macaca mulatta functional IGLV3S3 IGL V TRUE 1339 -Macaca mulatta functional IGLV3S4 IGL V TRUE 1340 -Macaca mulatta functional IGLV3S5 IGL V TRUE 1341 -Macaca mulatta functional IGLV3S6 IGL V TRUE 1342 -Macaca mulatta functional IGLV3S7 IGL V TRUE 1343 -Macaca mulatta functional IGLV3S8 IGL V TRUE 1344 -Macaca mulatta functional IGLV3S9 IGL V TRUE 1345 -Macaca mulatta non-functional IGLV4-1 IGL V FALSE 1346 -Macaca mulatta functional IGLV4-2 IGL V TRUE 1347 -Macaca mulatta non-functional IGLV4-3 IGL V FALSE 1348 -Macaca mulatta functional IGLV4-4 IGL V TRUE 1349 -Macaca mulatta functional IGLV4S1 IGL V TRUE 1350 -Macaca mulatta functional IGLV4S2 IGL V TRUE 1351 -Macaca mulatta functional IGLV4S3 IGL V TRUE 1352 -Macaca mulatta functional IGLV4S4 IGL V TRUE 1353 -Macaca mulatta non-functional IGLV5-1 IGL V FALSE 1354 -Macaca mulatta functional IGLV5-10 IGL V TRUE 1355 -Macaca mulatta functional IGLV5-11 IGL V TRUE 1356 -Macaca mulatta non-functional IGLV5-12 IGL V FALSE 1357 -Macaca mulatta functional IGLV5-13 IGL V TRUE 1358 -Macaca mulatta functional IGLV5-14 IGL V TRUE 1359 -Macaca mulatta non-functional IGLV5-15 IGL V FALSE 1360 -Macaca mulatta non-functional IGLV5-2 IGL V FALSE 1361 -Macaca mulatta non-functional IGLV5-3 IGL V FALSE 1362 -Macaca mulatta non-functional IGLV5-4 IGL V FALSE 1363 -Macaca mulatta functional IGLV5-5 IGL V TRUE 1364 -Macaca mulatta functional IGLV5-6 IGL V TRUE 1365 -Macaca mulatta functional IGLV5-7 IGL V TRUE 1366 -Macaca mulatta non-functional IGLV5-8 IGL V FALSE 1367 -Macaca mulatta non-functional IGLV5-9 IGL V FALSE 1368 -Macaca mulatta non-functional IGLV5S1 IGL V FALSE 1369 -Macaca mulatta functional IGLV5S2 IGL V TRUE 1370 -Macaca mulatta functional IGLV5S3 IGL V TRUE 1371 -Macaca mulatta functional IGLV5S4 IGL V TRUE 1372 -Macaca mulatta functional IGLV6-1 IGL V TRUE 1373 -Macaca mulatta functional IGLV6-2 IGL V TRUE 1374 -Macaca mulatta non-functional IGLV6-3 IGL V FALSE 1375 -Macaca mulatta non-functional IGLV6-4 IGL V FALSE 1376 -Macaca mulatta functional IGLV6-5 IGL V TRUE 1377 -Macaca mulatta functional IGLV7-1 IGL V TRUE 1378 -Macaca mulatta functional IGLV7-2 IGL V TRUE 1379 -Macaca mulatta functional IGLV7-3 IGL V TRUE 1380 -Macaca mulatta functional IGLV7-4 IGL V TRUE 1381 -Macaca mulatta non-functional IGLV7-5 IGL V FALSE 1382 -Macaca mulatta non-functional IGLV7-6 IGL V FALSE 1383 -Macaca mulatta non-functional IGLV7-7 IGL V FALSE 1384 -Macaca mulatta functional IGLV8-1 IGL V TRUE 1385 -Macaca mulatta non-functional IGLV8S1 IGL V FALSE 1386 -Macaca mulatta functional IGLV9-1 IGL V TRUE 1387 -Macaca mulatta functional TRBD1 TRB D TRUE 1388 -Macaca mulatta functional TRBD2 TRB D TRUE 1389 -Macaca mulatta functional TRBJ1-1 TRB J TRUE 1390 -Macaca mulatta functional TRBJ1-2 TRB J TRUE 1391 -Macaca mulatta functional TRBJ1-3 TRB J TRUE 1392 -Macaca mulatta functional TRBJ1-4 TRB J TRUE 1393 -Macaca mulatta functional TRBJ1-5 TRB J TRUE 1394 -Macaca mulatta functional TRBJ1-6 TRB J TRUE 1395 -Macaca mulatta functional TRBJ2-1 TRB J TRUE 1396 -Macaca mulatta functional TRBJ2-2 TRB J TRUE 1397 -Macaca mulatta non-functional TRBJ2-2P TRB J FALSE 1398 -Macaca mulatta functional TRBJ2-3 TRB J TRUE 1399 -Macaca mulatta functional TRBJ2-4 TRB J TRUE 1400 -Macaca mulatta functional TRBJ2-5 TRB J TRUE 1401 -Macaca mulatta functional TRBJ2-6 TRB J TRUE 1402 -Macaca mulatta functional TRBJ2-7 TRB J TRUE 1403 -Macaca mulatta non-functional TRBV1-1 TRB V FALSE 1404 -Macaca mulatta non-functional TRBV1-2 TRB V FALSE 1405 -Macaca mulatta non-functional TRBV1-3 TRB V FALSE 1406 -Macaca mulatta functional TRBV10-1 TRB V TRUE 1407 -Macaca mulatta functional TRBV10-2 TRB V TRUE 1408 -Macaca mulatta functional TRBV10-3 TRB V TRUE 1409 -Macaca mulatta functional TRBV11-1 TRB V TRUE 1410 -Macaca mulatta functional TRBV11-2 TRB V TRUE 1411 -Macaca mulatta functional TRBV11-3 TRB V TRUE 1412 -Macaca mulatta functional TRBV12-1 TRB V TRUE 1413 -Macaca mulatta functional TRBV12-2 TRB V TRUE 1414 -Macaca mulatta functional TRBV12-3 TRB V TRUE 1415 -Macaca mulatta functional TRBV12-4 TRB V TRUE 1416 -Macaca mulatta functional TRBV13 TRB V TRUE 1417 -Macaca mulatta functional TRBV14 TRB V TRUE 1418 -Macaca mulatta functional TRBV15 TRB V TRUE 1419 -Macaca mulatta functional TRBV16 TRB V TRUE 1420 -Macaca mulatta functional TRBV18 TRB V TRUE 1421 -Macaca mulatta functional TRBV19 TRB V TRUE 1422 -Macaca mulatta functional TRBV2-1 TRB V TRUE 1423 -Macaca mulatta functional TRBV2-2 TRB V TRUE 1424 -Macaca mulatta functional TRBV2-3 TRB V TRUE 1425 -Macaca mulatta functional TRBV20-1 TRB V TRUE 1426 -Macaca mulatta functional TRBV21-1 TRB V TRUE 1427 -Macaca mulatta non-functional TRBV22-1 TRB V FALSE 1428 -Macaca mulatta functional TRBV23-1 TRB V TRUE 1429 -Macaca mulatta functional TRBV24-1 TRB V TRUE 1430 -Macaca mulatta functional TRBV25-1 TRB V TRUE 1431 -Macaca mulatta non-functional TRBV26 TRB V FALSE 1432 -Macaca mulatta functional TRBV27 TRB V TRUE 1433 -Macaca mulatta functional TRBV28 TRB V TRUE 1434 -Macaca mulatta functional TRBV29-1 TRB V TRUE 1435 -Macaca mulatta functional TRBV3-1 TRB V TRUE 1436 -Macaca mulatta functional TRBV3-2 TRB V TRUE 1437 -Macaca mulatta functional TRBV3-3 TRB V TRUE 1438 -Macaca mulatta functional TRBV3-4 TRB V TRUE 1439 -Macaca mulatta functional TRBV30 TRB V TRUE 1440 -Macaca mulatta functional TRBV4-1 TRB V TRUE 1441 -Macaca mulatta functional TRBV4-2 TRB V TRUE 1442 -Macaca mulatta functional TRBV4-3 TRB V TRUE 1443 -Macaca mulatta non-functional TRBV5-1 TRB V FALSE 1444 -Macaca mulatta functional TRBV5-10 TRB V TRUE 1445 -Macaca mulatta non-functional TRBV5-2 TRB V FALSE 1446 -Macaca mulatta non-functional TRBV5-3 TRB V FALSE 1447 -Macaca mulatta functional TRBV5-4 TRB V TRUE 1448 -Macaca mulatta functional TRBV5-5 TRB V TRUE 1449 -Macaca mulatta functional TRBV5-6 TRB V TRUE 1450 -Macaca mulatta functional TRBV5-7 TRB V TRUE 1451 -Macaca mulatta functional TRBV5-8 TRB V TRUE 1452 -Macaca mulatta functional TRBV5-9 TRB V TRUE 1453 -Macaca mulatta functional TRBV6-1 TRB V TRUE 1454 -Macaca mulatta functional TRBV6-2 TRB V TRUE 1455 -Macaca mulatta functional TRBV6-3 TRB V TRUE 1456 -Macaca mulatta functional TRBV6-4 TRB V TRUE 1457 -Macaca mulatta functional TRBV6-5 TRB V TRUE 1458 -Macaca mulatta functional TRBV6-6 TRB V TRUE 1459 -Macaca mulatta functional TRBV6-7 TRB V TRUE 1460 -Macaca mulatta functional TRBV6-8 TRB V TRUE 1461 -Macaca mulatta non-functional TRBV7-1 TRB V FALSE 1462 -Macaca mulatta functional TRBV7-10 TRB V TRUE 1463 -Macaca mulatta functional TRBV7-2 TRB V TRUE 1464 -Macaca mulatta functional TRBV7-3 TRB V TRUE 1465 -Macaca mulatta functional TRBV7-4 TRB V TRUE 1466 -Macaca mulatta functional TRBV7-5 TRB V TRUE 1467 -Macaca mulatta functional TRBV7-6 TRB V TRUE 1468 -Macaca mulatta functional TRBV7-7 TRB V TRUE 1469 -Macaca mulatta non-functional TRBV7-8 TRB V FALSE 1470 -Macaca mulatta functional TRBV7-9 TRB V TRUE 1471 -Macaca mulatta non-functional TRBV8-1 TRB V FALSE 1472 -Macaca mulatta functional TRBV9 TRB V TRUE 1473 -Macaca mulatta non-functional TRBVA TRB V FALSE 1474 -Macaca mulatta non-functional TRBVB TRB V FALSE 1475 -Mus musculus functional IGHD IGH D TRUE 1476 -Mus musculus functional IGHD1-1 IGH D TRUE 1477 -Mus musculus functional IGHD1-2 IGH D TRUE 1478 -Mus musculus functional IGHD1-3 IGH D TRUE 1479 -Mus musculus functional IGHD2-1 IGH D TRUE 1480 -Mus musculus functional IGHD2-10 IGH D TRUE 1481 -Mus musculus functional IGHD2-11 IGH D TRUE 1482 -Mus musculus functional IGHD2-12 IGH D TRUE 1483 -Mus musculus functional IGHD2-13 IGH D TRUE 1484 -Mus musculus functional IGHD2-14 IGH D TRUE 1485 -Mus musculus functional IGHD2-2 IGH D TRUE 1486 -Mus musculus functional IGHD2-3 IGH D TRUE 1487 -Mus musculus functional IGHD2-4 IGH D TRUE 1488 -Mus musculus functional IGHD2-5 IGH D TRUE 1489 -Mus musculus functional IGHD2-6 IGH D TRUE 1490 -Mus musculus functional IGHD2-7 IGH D TRUE 1491 -Mus musculus functional IGHD2-8 IGH D TRUE 1492 -Mus musculus functional IGHD2-9 IGH D TRUE 1493 -Mus musculus functional IGHD3-1 IGH D TRUE 1494 -Mus musculus functional IGHD3-2 IGH D TRUE 1495 -Mus musculus functional IGHD3-3 IGH D TRUE 1496 -Mus musculus functional IGHD4-1 IGH D TRUE 1497 -Mus musculus non-functional IGHD5-1 IGH D FALSE 1498 -Mus musculus non-functional IGHD5-2 IGH D FALSE 1499 -Mus musculus non-functional IGHD5-3 IGH D FALSE 1500 -Mus musculus non-functional IGHD5-4 IGH D FALSE 1501 -Mus musculus non-functional IGHD5-5 IGH D FALSE 1502 -Mus musculus non-functional IGHD5-6 IGH D FALSE 1503 -Mus musculus non-functional IGHD5-7 IGH D FALSE 1504 -Mus musculus non-functional IGHD5-8 IGH D FALSE 1505 -Mus musculus non-functional IGHD6-1 IGH D FALSE 1506 -Mus musculus non-functional IGHD6-2 IGH D FALSE 1507 -Mus musculus non-functional IGHD6-3 IGH D FALSE 1508 -Mus musculus functional IGHJ1 IGH J TRUE 1509 -Mus musculus functional IGHJ2 IGH J TRUE 1510 -Mus musculus functional IGHJ3 IGH J TRUE 1511 -Mus musculus functional IGHJ4 IGH J TRUE 1512 -Mus musculus non-functional IGHV(I)-1 IGH V FALSE 1513 -Mus musculus non-functional IGHV(II)-1 IGH V FALSE 1514 -Mus musculus non-functional IGHV(II)-2 IGH V FALSE 1515 -Mus musculus non-functional IGHV(II)-3 IGH V FALSE 1516 -Mus musculus non-functional IGHV(II)-4 IGH V FALSE 1517 -Mus musculus non-functional IGHV(II)-5 IGH V FALSE 1518 -Mus musculus non-functional IGHV(III)-1 IGH V FALSE 1519 -Mus musculus non-functional IGHV(III)-10 IGH V FALSE 1520 -Mus musculus non-functional IGHV(III)-11 IGH V FALSE 1521 -Mus musculus non-functional IGHV(III)-12 IGH V FALSE 1522 -Mus musculus non-functional IGHV(III)-13 IGH V FALSE 1523 -Mus musculus non-functional IGHV(III)-2 IGH V FALSE 1524 -Mus musculus non-functional IGHV(III)-3 IGH V FALSE 1525 -Mus musculus non-functional IGHV(III)-4 IGH V FALSE 1526 -Mus musculus non-functional IGHV(III)-5 IGH V FALSE 1527 -Mus musculus non-functional IGHV(III)-6 IGH V FALSE 1528 -Mus musculus non-functional IGHV(III)-7 IGH V FALSE 1529 -Mus musculus non-functional IGHV(III)-8 IGH V FALSE 1530 -Mus musculus non-functional IGHV(III)-9 IGH V FALSE 1531 -Mus musculus non-functional IGHV1-1 IGH V FALSE 1532 -Mus musculus non-functional IGHV1-10 IGH V FALSE 1533 -Mus musculus functional IGHV1-11 IGH V TRUE 1534 -Mus musculus functional IGHV1-12 IGH V TRUE 1535 -Mus musculus non-functional IGHV1-13 IGH V FALSE 1536 -Mus musculus functional IGHV1-14 IGH V TRUE 1537 -Mus musculus functional IGHV1-15 IGH V TRUE 1538 -Mus musculus non-functional IGHV1-16 IGH V FALSE 1539 -Mus musculus non-functional IGHV1-17 IGH V FALSE 1540 -Mus musculus functional IGHV1-17-1 IGH V TRUE 1541 -Mus musculus functional IGHV1-18 IGH V TRUE 1542 -Mus musculus functional IGHV1-19 IGH V TRUE 1543 -Mus musculus non-functional IGHV1-19-1 IGH V FALSE 1544 -Mus musculus non-functional IGHV1-2 IGH V FALSE 1545 -Mus musculus functional IGHV1-20 IGH V TRUE 1546 -Mus musculus non-functional IGHV1-21 IGH V FALSE 1547 -Mus musculus non-functional IGHV1-21-1 IGH V FALSE 1548 -Mus musculus functional IGHV1-22 IGH V TRUE 1549 -Mus musculus non-functional IGHV1-23 IGH V FALSE 1550 -Mus musculus non-functional IGHV1-24 IGH V FALSE 1551 -Mus musculus non-functional IGHV1-25 IGH V FALSE 1552 -Mus musculus functional IGHV1-26 IGH V TRUE 1553 -Mus musculus non-functional IGHV1-27 IGH V FALSE 1554 -Mus musculus non-functional IGHV1-28 IGH V FALSE 1555 -Mus musculus non-functional IGHV1-29 IGH V FALSE 1556 -Mus musculus non-functional IGHV1-3 IGH V FALSE 1557 -Mus musculus non-functional IGHV1-30 IGH V FALSE 1558 -Mus musculus functional IGHV1-31 IGH V TRUE 1559 -Mus musculus non-functional IGHV1-32 IGH V FALSE 1560 -Mus musculus non-functional IGHV1-33 IGH V FALSE 1561 -Mus musculus functional IGHV1-34 IGH V TRUE 1562 -Mus musculus non-functional IGHV1-35 IGH V FALSE 1563 -Mus musculus functional IGHV1-36 IGH V TRUE 1564 -Mus musculus functional IGHV1-37 IGH V TRUE 1565 -Mus musculus non-functional IGHV1-38 IGH V FALSE 1566 -Mus musculus functional IGHV1-39 IGH V TRUE 1567 -Mus musculus functional IGHV1-4 IGH V TRUE 1568 -Mus musculus non-functional IGHV1-40 IGH V FALSE 1569 -Mus musculus non-functional IGHV1-41 IGH V FALSE 1570 -Mus musculus functional IGHV1-42 IGH V TRUE 1571 -Mus musculus functional IGHV1-43 IGH V TRUE 1572 -Mus musculus non-functional IGHV1-44 IGH V FALSE 1573 -Mus musculus non-functional IGHV1-45 IGH V FALSE 1574 -Mus musculus non-functional IGHV1-46 IGH V FALSE 1575 -Mus musculus functional IGHV1-47 IGH V TRUE 1576 -Mus musculus non-functional IGHV1-48 IGH V FALSE 1577 -Mus musculus functional IGHV1-49 IGH V TRUE 1578 -Mus musculus functional IGHV1-5 IGH V TRUE 1579 -Mus musculus functional IGHV1-50 IGH V TRUE 1580 -Mus musculus non-functional IGHV1-51 IGH V FALSE 1581 -Mus musculus functional IGHV1-52 IGH V TRUE 1582 -Mus musculus functional IGHV1-53 IGH V TRUE 1583 -Mus musculus functional IGHV1-54 IGH V TRUE 1584 -Mus musculus functional IGHV1-55 IGH V TRUE 1585 -Mus musculus functional IGHV1-56 IGH V TRUE 1586 -Mus musculus non-functional IGHV1-57 IGH V FALSE 1587 -Mus musculus functional IGHV1-58 IGH V TRUE 1588 -Mus musculus functional IGHV1-59 IGH V TRUE 1589 -Mus musculus non-functional IGHV1-6 IGH V FALSE 1590 -Mus musculus non-functional IGHV1-60 IGH V FALSE 1591 -Mus musculus functional IGHV1-61 IGH V TRUE 1592 -Mus musculus non-functional IGHV1-62 IGH V FALSE 1593 -Mus musculus functional IGHV1-62-1 IGH V TRUE 1594 -Mus musculus functional IGHV1-62-2 IGH V TRUE 1595 -Mus musculus non-functional IGHV1-62-3 IGH V FALSE 1596 -Mus musculus functional IGHV1-63 IGH V TRUE 1597 -Mus musculus functional IGHV1-64 IGH V TRUE 1598 -Mus musculus non-functional IGHV1-65 IGH V FALSE 1599 -Mus musculus functional IGHV1-66 IGH V TRUE 1600 -Mus musculus functional IGHV1-67 IGH V TRUE 1601 -Mus musculus non-functional IGHV1-68 IGH V FALSE 1602 -Mus musculus functional IGHV1-69 IGH V TRUE 1603 -Mus musculus functional IGHV1-7 IGH V TRUE 1604 -Mus musculus non-functional IGHV1-70 IGH V FALSE 1605 -Mus musculus functional IGHV1-71 IGH V TRUE 1606 -Mus musculus functional IGHV1-72 IGH V TRUE 1607 -Mus musculus non-functional IGHV1-73 IGH V FALSE 1608 -Mus musculus functional IGHV1-74 IGH V TRUE 1609 -Mus musculus functional IGHV1-75 IGH V TRUE 1610 -Mus musculus functional IGHV1-76 IGH V TRUE 1611 -Mus musculus functional IGHV1-77 IGH V TRUE 1612 -Mus musculus functional IGHV1-78 IGH V TRUE 1613 -Mus musculus non-functional IGHV1-79 IGH V FALSE 1614 -Mus musculus non-functional IGHV1-8 IGH V FALSE 1615 -Mus musculus functional IGHV1-80 IGH V TRUE 1616 -Mus musculus functional IGHV1-81 IGH V TRUE 1617 -Mus musculus functional IGHV1-82 IGH V TRUE 1618 -Mus musculus non-functional IGHV1-83 IGH V FALSE 1619 -Mus musculus functional IGHV1-84 IGH V TRUE 1620 -Mus musculus functional IGHV1-85 IGH V TRUE 1621 -Mus musculus non-functional IGHV1-86 IGH V FALSE 1622 -Mus musculus functional IGHV1-9 IGH V TRUE 1623 -Mus musculus functional IGHV10-1 IGH V TRUE 1624 -Mus musculus non-functional IGHV10-2 IGH V FALSE 1625 -Mus musculus functional IGHV10-3 IGH V TRUE 1626 -Mus musculus non-functional IGHV10-4 IGH V FALSE 1627 -Mus musculus functional IGHV10S3 IGH V TRUE 1628 -Mus musculus non-functional IGHV10S4 IGH V FALSE 1629 -Mus musculus non-functional IGHV10S5 IGH V FALSE 1630 -Mus musculus functional IGHV11-1 IGH V TRUE 1631 -Mus musculus functional IGHV11-2 IGH V TRUE 1632 -Mus musculus non-functional IGHV12-1 IGH V FALSE 1633 -Mus musculus functional IGHV12-1-1 IGH V TRUE 1634 -Mus musculus non-functional IGHV12-1-2 IGH V FALSE 1635 -Mus musculus non-functional IGHV12-2 IGH V FALSE 1636 -Mus musculus non-functional IGHV12-2-1 IGH V FALSE 1637 -Mus musculus functional IGHV12-3 IGH V TRUE 1638 -Mus musculus non-functional IGHV12S2 IGH V FALSE 1639 -Mus musculus non-functional IGHV13-1 IGH V FALSE 1640 -Mus musculus functional IGHV13-2 IGH V TRUE 1641 -Mus musculus functional IGHV14-1 IGH V TRUE 1642 -Mus musculus functional IGHV14-2 IGH V TRUE 1643 -Mus musculus functional IGHV14-3 IGH V TRUE 1644 -Mus musculus functional IGHV14-4 IGH V TRUE 1645 -Mus musculus non-functional IGHV14S4 IGH V FALSE 1646 -Mus musculus non-functional IGHV15-1 IGH V FALSE 1647 -Mus musculus functional IGHV15-2 IGH V TRUE 1648 -Mus musculus functional IGHV16-1 IGH V TRUE 1649 -Mus musculus non-functional IGHV1S10 IGH V FALSE 1650 -Mus musculus non-functional IGHV1S100 IGH V FALSE 1651 -Mus musculus non-functional IGHV1S101 IGH V FALSE 1652 -Mus musculus non-functional IGHV1S103 IGH V FALSE 1653 -Mus musculus non-functional IGHV1S107 IGH V FALSE 1654 -Mus musculus non-functional IGHV1S108 IGH V FALSE 1655 -Mus musculus non-functional IGHV1S11 IGH V FALSE 1656 -Mus musculus non-functional IGHV1S110 IGH V FALSE 1657 -Mus musculus non-functional IGHV1S111 IGH V FALSE 1658 -Mus musculus non-functional IGHV1S112 IGH V FALSE 1659 -Mus musculus non-functional IGHV1S113 IGH V FALSE 1660 -Mus musculus non-functional IGHV1S118 IGH V FALSE 1661 -Mus musculus functional IGHV1S12 IGH V TRUE 1662 -Mus musculus non-functional IGHV1S120 IGH V FALSE 1663 -Mus musculus non-functional IGHV1S121 IGH V FALSE 1664 -Mus musculus non-functional IGHV1S122 IGH V FALSE 1665 -Mus musculus non-functional IGHV1S124 IGH V FALSE 1666 -Mus musculus non-functional IGHV1S126 IGH V FALSE 1667 -Mus musculus non-functional IGHV1S127 IGH V FALSE 1668 -Mus musculus non-functional IGHV1S130 IGH V FALSE 1669 -Mus musculus non-functional IGHV1S132 IGH V FALSE 1670 -Mus musculus non-functional IGHV1S134 IGH V FALSE 1671 -Mus musculus non-functional IGHV1S135 IGH V FALSE 1672 -Mus musculus non-functional IGHV1S136 IGH V FALSE 1673 -Mus musculus non-functional IGHV1S137 IGH V FALSE 1674 -Mus musculus functional IGHV1S14 IGH V TRUE 1675 -Mus musculus non-functional IGHV1S15 IGH V FALSE 1676 -Mus musculus non-functional IGHV1S16 IGH V FALSE 1677 -Mus musculus non-functional IGHV1S17 IGH V FALSE 1678 -Mus musculus non-functional IGHV1S18 IGH V FALSE 1679 -Mus musculus non-functional IGHV1S19 IGH V FALSE 1680 -Mus musculus functional IGHV1S20 IGH V TRUE 1681 -Mus musculus functional IGHV1S21 IGH V TRUE 1682 -Mus musculus functional IGHV1S22 IGH V TRUE 1683 -Mus musculus functional IGHV1S26 IGH V TRUE 1684 -Mus musculus non-functional IGHV1S28 IGH V FALSE 1685 -Mus musculus functional IGHV1S29 IGH V TRUE 1686 -Mus musculus functional IGHV1S30 IGH V TRUE 1687 -Mus musculus functional IGHV1S31 IGH V TRUE 1688 -Mus musculus functional IGHV1S32 IGH V TRUE 1689 -Mus musculus functional IGHV1S33 IGH V TRUE 1690 -Mus musculus functional IGHV1S34 IGH V TRUE 1691 -Mus musculus functional IGHV1S35 IGH V TRUE 1692 -Mus musculus functional IGHV1S36 IGH V TRUE 1693 -Mus musculus functional IGHV1S37 IGH V TRUE 1694 -Mus musculus functional IGHV1S40 IGH V TRUE 1695 -Mus musculus functional IGHV1S41 IGH V TRUE 1696 -Mus musculus non-functional IGHV1S44 IGH V FALSE 1697 -Mus musculus functional IGHV1S45 IGH V TRUE 1698 -Mus musculus non-functional IGHV1S46 IGH V FALSE 1699 -Mus musculus non-functional IGHV1S47 IGH V FALSE 1700 -Mus musculus functional IGHV1S49 IGH V TRUE 1701 -Mus musculus functional IGHV1S5 IGH V TRUE 1702 -Mus musculus functional IGHV1S50 IGH V TRUE 1703 -Mus musculus non-functional IGHV1S51 IGH V FALSE 1704 -Mus musculus functional IGHV1S52 IGH V TRUE 1705 -Mus musculus functional IGHV1S53 IGH V TRUE 1706 -Mus musculus functional IGHV1S55 IGH V TRUE 1707 -Mus musculus functional IGHV1S56 IGH V TRUE 1708 -Mus musculus non-functional IGHV1S57 IGH V FALSE 1709 -Mus musculus functional IGHV1S61 IGH V TRUE 1710 -Mus musculus non-functional IGHV1S65 IGH V FALSE 1711 -Mus musculus non-functional IGHV1S67 IGH V FALSE 1712 -Mus musculus non-functional IGHV1S68 IGH V FALSE 1713 -Mus musculus non-functional IGHV1S70 IGH V FALSE 1714 -Mus musculus non-functional IGHV1S72 IGH V FALSE 1715 -Mus musculus non-functional IGHV1S73 IGH V FALSE 1716 -Mus musculus non-functional IGHV1S74 IGH V FALSE 1717 -Mus musculus non-functional IGHV1S75 IGH V FALSE 1718 -Mus musculus non-functional IGHV1S78 IGH V FALSE 1719 -Mus musculus non-functional IGHV1S81 IGH V FALSE 1720 -Mus musculus non-functional IGHV1S82 IGH V FALSE 1721 -Mus musculus non-functional IGHV1S83 IGH V FALSE 1722 -Mus musculus non-functional IGHV1S84 IGH V FALSE 1723 -Mus musculus non-functional IGHV1S87 IGH V FALSE 1724 -Mus musculus non-functional IGHV1S88 IGH V FALSE 1725 -Mus musculus non-functional IGHV1S9 IGH V FALSE 1726 -Mus musculus non-functional IGHV1S92 IGH V FALSE 1727 -Mus musculus non-functional IGHV1S95 IGH V FALSE 1728 -Mus musculus non-functional IGHV1S96 IGH V FALSE 1729 -Mus musculus non-functional IGHV2-1 IGH V FALSE 1730 -Mus musculus functional IGHV2-2 IGH V TRUE 1731 -Mus musculus non-functional IGHV2-2-1 IGH V FALSE 1732 -Mus musculus functional IGHV2-2-2 IGH V TRUE 1733 -Mus musculus functional IGHV2-3 IGH V TRUE 1734 -Mus musculus functional IGHV2-3-1 IGH V TRUE 1735 -Mus musculus functional IGHV2-4 IGH V TRUE 1736 -Mus musculus functional IGHV2-4-1 IGH V TRUE 1737 -Mus musculus functional IGHV2-5 IGH V TRUE 1738 -Mus musculus functional IGHV2-5-1 IGH V TRUE 1739 -Mus musculus functional IGHV2-6 IGH V TRUE 1740 -Mus musculus functional IGHV2-6-1 IGH V TRUE 1741 -Mus musculus functional IGHV2-6-2 IGH V TRUE 1742 -Mus musculus functional IGHV2-6-3 IGH V TRUE 1743 -Mus musculus functional IGHV2-6-4 IGH V TRUE 1744 -Mus musculus functional IGHV2-6-5 IGH V TRUE 1745 -Mus musculus functional IGHV2-6-6 IGH V TRUE 1746 -Mus musculus functional IGHV2-6-7 IGH V TRUE 1747 -Mus musculus functional IGHV2-6-8 IGH V TRUE 1748 -Mus musculus functional IGHV2-7 IGH V TRUE 1749 -Mus musculus non-functional IGHV2-8 IGH V FALSE 1750 -Mus musculus functional IGHV2-9 IGH V TRUE 1751 -Mus musculus functional IGHV2-9-1 IGH V TRUE 1752 -Mus musculus functional IGHV2S3 IGH V TRUE 1753 -Mus musculus functional IGHV3-1 IGH V TRUE 1754 -Mus musculus functional IGHV3-2 IGH V TRUE 1755 -Mus musculus functional IGHV3-3 IGH V TRUE 1756 -Mus musculus functional IGHV3-4 IGH V TRUE 1757 -Mus musculus functional IGHV3-5 IGH V TRUE 1758 -Mus musculus functional IGHV3-6 IGH V TRUE 1759 -Mus musculus non-functional IGHV3-7 IGH V FALSE 1760 -Mus musculus functional IGHV3-8 IGH V TRUE 1761 -Mus musculus functional IGHV3S1 IGH V TRUE 1762 -Mus musculus non-functional IGHV3S7 IGH V FALSE 1763 -Mus musculus functional IGHV4-1 IGH V TRUE 1764 -Mus musculus functional IGHV4-2 IGH V TRUE 1765 -Mus musculus non-functional IGHV5-1 IGH V FALSE 1766 -Mus musculus non-functional IGHV5-10 IGH V FALSE 1767 -Mus musculus non-functional IGHV5-10-1 IGH V FALSE 1768 -Mus musculus non-functional IGHV5-10-2 IGH V FALSE 1769 -Mus musculus non-functional IGHV5-11 IGH V FALSE 1770 -Mus musculus non-functional IGHV5-11-1 IGH V FALSE 1771 -Mus musculus non-functional IGHV5-11-2 IGH V FALSE 1772 -Mus musculus functional IGHV5-12 IGH V TRUE 1773 -Mus musculus functional IGHV5-12-1 IGH V TRUE 1774 -Mus musculus functional IGHV5-12-2 IGH V TRUE 1775 -Mus musculus non-functional IGHV5-12-3 IGH V FALSE 1776 -Mus musculus functional IGHV5-12-4 IGH V TRUE 1777 -Mus musculus non-functional IGHV5-13 IGH V FALSE 1778 -Mus musculus non-functional IGHV5-13-1 IGH V FALSE 1779 -Mus musculus functional IGHV5-15 IGH V TRUE 1780 -Mus musculus functional IGHV5-16 IGH V TRUE 1781 -Mus musculus functional IGHV5-17 IGH V TRUE 1782 -Mus musculus non-functional IGHV5-18 IGH V FALSE 1783 -Mus musculus non-functional IGHV5-19 IGH V FALSE 1784 -Mus musculus functional IGHV5-2 IGH V TRUE 1785 -Mus musculus non-functional IGHV5-21 IGH V FALSE 1786 -Mus musculus non-functional IGHV5-3 IGH V FALSE 1787 -Mus musculus functional IGHV5-4 IGH V TRUE 1788 -Mus musculus non-functional IGHV5-5 IGH V FALSE 1789 -Mus musculus non-functional IGHV5-5-1 IGH V FALSE 1790 -Mus musculus functional IGHV5-6 IGH V TRUE 1791 -Mus musculus functional IGHV5-6-1 IGH V TRUE 1792 -Mus musculus functional IGHV5-6-2 IGH V TRUE 1793 -Mus musculus functional IGHV5-6-3 IGH V TRUE 1794 -Mus musculus functional IGHV5-6-4 IGH V TRUE 1795 -Mus musculus functional IGHV5-6-5 IGH V TRUE 1796 -Mus musculus functional IGHV5-6-6 IGH V TRUE 1797 -Mus musculus non-functional IGHV5-7 IGH V FALSE 1798 -Mus musculus non-functional IGHV5-7-1 IGH V FALSE 1799 -Mus musculus non-functional IGHV5-7-2 IGH V FALSE 1800 -Mus musculus non-functional IGHV5-7-3 IGH V FALSE 1801 -Mus musculus non-functional IGHV5-7-4 IGH V FALSE 1802 -Mus musculus non-functional IGHV5-7-5 IGH V FALSE 1803 -Mus musculus non-functional IGHV5-7-6 IGH V FALSE 1804 -Mus musculus non-functional IGHV5-8 IGH V FALSE 1805 -Mus musculus non-functional IGHV5-8-1 IGH V FALSE 1806 -Mus musculus non-functional IGHV5-8-2 IGH V FALSE 1807 -Mus musculus non-functional IGHV5-8-3 IGH V FALSE 1808 -Mus musculus functional IGHV5-9 IGH V TRUE 1809 -Mus musculus functional IGHV5-9-1 IGH V TRUE 1810 -Mus musculus functional IGHV5-9-2 IGH V TRUE 1811 -Mus musculus functional IGHV5-9-3 IGH V TRUE 1812 -Mus musculus functional IGHV5-9-4 IGH V TRUE 1813 -Mus musculus functional IGHV5-9-5 IGH V TRUE 1814 -Mus musculus non-functional IGHV5S12 IGH V FALSE 1815 -Mus musculus non-functional IGHV5S21 IGH V FALSE 1816 -Mus musculus non-functional IGHV5S24 IGH V FALSE 1817 -Mus musculus functional IGHV5S4 IGH V TRUE 1818 -Mus musculus functional IGHV5S9 IGH V TRUE 1819 -Mus musculus non-functional IGHV6-1 IGH V FALSE 1820 -Mus musculus non-functional IGHV6-1-1 IGH V FALSE 1821 -Mus musculus non-functional IGHV6-2 IGH V FALSE 1822 -Mus musculus functional IGHV6-3 IGH V TRUE 1823 -Mus musculus functional IGHV6-4 IGH V TRUE 1824 -Mus musculus functional IGHV6-5 IGH V TRUE 1825 -Mus musculus functional IGHV6-6 IGH V TRUE 1826 -Mus musculus functional IGHV6-7 IGH V TRUE 1827 -Mus musculus non-functional IGHV6S2 IGH V FALSE 1828 -Mus musculus non-functional IGHV6S3 IGH V FALSE 1829 -Mus musculus non-functional IGHV6S4 IGH V FALSE 1830 -Mus musculus functional IGHV7-1 IGH V TRUE 1831 -Mus musculus functional IGHV7-2 IGH V TRUE 1832 -Mus musculus functional IGHV7-3 IGH V TRUE 1833 -Mus musculus functional IGHV7-4 IGH V TRUE 1834 -Mus musculus non-functional IGHV8-1 IGH V FALSE 1835 -Mus musculus non-functional IGHV8-10 IGH V FALSE 1836 -Mus musculus functional IGHV8-11 IGH V TRUE 1837 -Mus musculus functional IGHV8-12 IGH V TRUE 1838 -Mus musculus non-functional IGHV8-13 IGH V FALSE 1839 -Mus musculus non-functional IGHV8-14 IGH V FALSE 1840 -Mus musculus non-functional IGHV8-15 IGH V FALSE 1841 -Mus musculus non-functional IGHV8-16 IGH V FALSE 1842 -Mus musculus non-functional IGHV8-2 IGH V FALSE 1843 -Mus musculus non-functional IGHV8-3 IGH V FALSE 1844 -Mus musculus functional IGHV8-4 IGH V TRUE 1845 -Mus musculus functional IGHV8-5 IGH V TRUE 1846 -Mus musculus functional IGHV8-6 IGH V TRUE 1847 -Mus musculus non-functional IGHV8-7 IGH V FALSE 1848 -Mus musculus functional IGHV8-8 IGH V TRUE 1849 -Mus musculus non-functional IGHV8-8-1 IGH V FALSE 1850 -Mus musculus non-functional IGHV8-9 IGH V FALSE 1851 -Mus musculus non-functional IGHV8S1 IGH V FALSE 1852 -Mus musculus non-functional IGHV8S2 IGH V FALSE 1853 -Mus musculus non-functional IGHV8S6 IGH V FALSE 1854 -Mus musculus non-functional IGHV8S9 IGH V FALSE 1855 -Mus musculus functional IGHV9-1 IGH V TRUE 1856 -Mus musculus functional IGHV9-2 IGH V TRUE 1857 -Mus musculus functional IGHV9-2-1 IGH V TRUE 1858 -Mus musculus functional IGHV9-3 IGH V TRUE 1859 -Mus musculus functional IGHV9-3-1 IGH V TRUE 1860 -Mus musculus functional IGHV9-4 IGH V TRUE 1861 -Mus musculus functional IGHV9S7 IGH V TRUE 1862 -Mus musculus functional IGHV9S8 IGH V TRUE 1863 -Mus musculus functional IGKJ1 IGK J TRUE 1864 -Mus musculus functional IGKJ2 IGK J TRUE 1865 -Mus musculus non-functional IGKJ3 IGK J FALSE 1866 -Mus musculus functional IGKJ4 IGK J TRUE 1867 -Mus musculus functional IGKJ5 IGK J TRUE 1868 -Mus musculus non-functional IGKV1-108 IGK V FALSE 1869 -Mus musculus functional IGKV1-110 IGK V TRUE 1870 -Mus musculus non-functional IGKV1-115 IGK V FALSE 1871 -Mus musculus functional IGKV1-117 IGK V TRUE 1872 -Mus musculus functional IGKV1-122 IGK V TRUE 1873 -Mus musculus non-functional IGKV1-131 IGK V FALSE 1874 -Mus musculus functional IGKV1-132 IGK V TRUE 1875 -Mus musculus functional IGKV1-133 IGK V TRUE 1876 -Mus musculus functional IGKV1-135 IGK V TRUE 1877 -Mus musculus non-functional IGKV1-136 IGK V FALSE 1878 -Mus musculus non-functional IGKV1-35 IGK V FALSE 1879 -Mus musculus functional IGKV1-88 IGK V TRUE 1880 -Mus musculus functional IGKV1-99 IGK V TRUE 1881 -Mus musculus non-functional IGKV1/OR16-1 IGK V FALSE 1882 -Mus musculus non-functional IGKV1/OR19-1 IGK V FALSE 1883 -Mus musculus non-functional IGKV1/OR6-1 IGK V FALSE 1884 -Mus musculus functional IGKV10-94 IGK V TRUE 1885 -Mus musculus functional IGKV10-95 IGK V TRUE 1886 -Mus musculus functional IGKV10-96 IGK V TRUE 1887 -Mus musculus non-functional IGKV11-106 IGK V FALSE 1888 -Mus musculus non-functional IGKV11-114 IGK V FALSE 1889 -Mus musculus non-functional IGKV11-118 IGK V FALSE 1890 -Mus musculus functional IGKV11-125 IGK V TRUE 1891 -Mus musculus functional IGKV12-38 IGK V TRUE 1892 -Mus musculus non-functional IGKV12-40 IGK V FALSE 1893 -Mus musculus functional IGKV12-41 IGK V TRUE 1894 -Mus musculus non-functional IGKV12-42 IGK V FALSE 1895 -Mus musculus functional IGKV12-44 IGK V TRUE 1896 -Mus musculus functional IGKV12-46 IGK V TRUE 1897 -Mus musculus non-functional IGKV12-47 IGK V FALSE 1898 -Mus musculus non-functional IGKV12-49 IGK V FALSE 1899 -Mus musculus non-functional IGKV12-66 IGK V FALSE 1900 -Mus musculus non-functional IGKV12-67 IGK V FALSE 1901 -Mus musculus functional IGKV12-89 IGK V TRUE 1902 -Mus musculus functional IGKV12-98 IGK V TRUE 1903 -Mus musculus functional IGKV12-e IGK V TRUE 1904 -Mus musculus non-functional IGKV13-54-1 IGK V FALSE 1905 -Mus musculus non-functional IGKV13-55-1 IGK V FALSE 1906 -Mus musculus non-functional IGKV13-56-1 IGK V FALSE 1907 -Mus musculus non-functional IGKV13-57-1 IGK V FALSE 1908 -Mus musculus non-functional IGKV13-57-2 IGK V FALSE 1909 -Mus musculus non-functional IGKV13-61-1 IGK V FALSE 1910 -Mus musculus non-functional IGKV13-62-1 IGK V FALSE 1911 -Mus musculus non-functional IGKV13-64 IGK V FALSE 1912 -Mus musculus non-functional IGKV13-71-1 IGK V FALSE 1913 -Mus musculus non-functional IGKV13-73-1 IGK V FALSE 1914 -Mus musculus non-functional IGKV13-74-1 IGK V FALSE 1915 -Mus musculus non-functional IGKV13-76 IGK V FALSE 1916 -Mus musculus non-functional IGKV13-78-1 IGK V FALSE 1917 -Mus musculus non-functional IGKV13-80-1 IGK V FALSE 1918 -Mus musculus non-functional IGKV13-82 IGK V FALSE 1919 -Mus musculus functional IGKV13-84 IGK V TRUE 1920 -Mus musculus functional IGKV13-85 IGK V TRUE 1921 -Mus musculus non-functional IGKV13-87 IGK V FALSE 1922 -Mus musculus non-functional IGKV13-89-1 IGK V FALSE 1923 -Mus musculus functional IGKV14-100 IGK V TRUE 1924 -Mus musculus functional IGKV14-111 IGK V TRUE 1925 -Mus musculus non-functional IGKV14-118-1 IGK V FALSE 1926 -Mus musculus non-functional IGKV14-118-2 IGK V FALSE 1927 -Mus musculus functional IGKV14-126 IGK V TRUE 1928 -Mus musculus non-functional IGKV14-126-1 IGK V FALSE 1929 -Mus musculus functional IGKV14-130 IGK V TRUE 1930 -Mus musculus non-functional IGKV14-134-1 IGK V FALSE 1931 -Mus musculus non-functional IGKV14/OR16-2 IGK V FALSE 1932 -Mus musculus non-functional IGKV14/OR6-2 IGK V FALSE 1933 -Mus musculus non-functional IGKV14/OR6-3 IGK V FALSE 1934 -Mus musculus non-functional IGKV15-101 IGK V FALSE 1935 -Mus musculus non-functional IGKV15-101-1 IGK V FALSE 1936 -Mus musculus non-functional IGKV15-102 IGK V FALSE 1937 -Mus musculus non-functional IGKV15-103 IGK V FALSE 1938 -Mus musculus non-functional IGKV15-97 IGK V FALSE 1939 -Mus musculus functional IGKV16-104 IGK V TRUE 1940 -Mus musculus functional IGKV17-121 IGK V TRUE 1941 -Mus musculus functional IGKV17-127 IGK V TRUE 1942 -Mus musculus non-functional IGKV17-134 IGK V FALSE 1943 -Mus musculus non-functional IGKV17/OR16-3 IGK V FALSE 1944 -Mus musculus non-functional IGKV17/OR19-2 IGK V FALSE 1945 -Mus musculus functional IGKV18-36 IGK V TRUE 1946 -Mus musculus functional IGKV19-93 IGK V TRUE 1947 -Mus musculus non-functional IGKV2-105 IGK V FALSE 1948 -Mus musculus non-functional IGKV2-107 IGK V FALSE 1949 -Mus musculus functional IGKV2-109 IGK V TRUE 1950 -Mus musculus functional IGKV2-112 IGK V TRUE 1951 -Mus musculus non-functional IGKV2-113 IGK V FALSE 1952 -Mus musculus non-functional IGKV2-116 IGK V FALSE 1953 -Mus musculus functional IGKV2-137 IGK V TRUE 1954 -Mus musculus non-functional IGKV2-93-1 IGK V FALSE 1955 -Mus musculus non-functional IGKV2-95-1 IGK V FALSE 1956 -Mus musculus non-functional IGKV2-95-2 IGK V FALSE 1957 -Mus musculus functional IGKV2-a IGK V TRUE 1958 -Mus musculus non-functional IGKV2-f IGK V FALSE 1959 -Mus musculus functional IGKV20-101-2 IGK V TRUE 1960 -Mus musculus functional IGKV3-1 IGK V TRUE 1961 -Mus musculus functional IGKV3-10 IGK V TRUE 1962 -Mus musculus non-functional IGKV3-11 IGK V FALSE 1963 -Mus musculus functional IGKV3-12 IGK V TRUE 1964 -Mus musculus non-functional IGKV3-12-1 IGK V FALSE 1965 -Mus musculus functional IGKV3-2 IGK V TRUE 1966 -Mus musculus functional IGKV3-3 IGK V TRUE 1967 -Mus musculus functional IGKV3-4 IGK V TRUE 1968 -Mus musculus functional IGKV3-5 IGK V TRUE 1969 -Mus musculus non-functional IGKV3-6 IGK V FALSE 1970 -Mus musculus functional IGKV3-7 IGK V TRUE 1971 -Mus musculus non-functional IGKV3-8 IGK V FALSE 1972 -Mus musculus functional IGKV3-9 IGK V TRUE 1973 -Mus musculus functional IGKV4-50 IGK V TRUE 1974 -Mus musculus functional IGKV4-51 IGK V TRUE 1975 -Mus musculus non-functional IGKV4-52 IGK V FALSE 1976 -Mus musculus functional IGKV4-53 IGK V TRUE 1977 -Mus musculus non-functional IGKV4-54 IGK V FALSE 1978 -Mus musculus functional IGKV4-55 IGK V TRUE 1979 -Mus musculus non-functional IGKV4-56 IGK V FALSE 1980 -Mus musculus functional IGKV4-57 IGK V TRUE 1981 -Mus musculus functional IGKV4-57-1 IGK V TRUE 1982 -Mus musculus functional IGKV4-58 IGK V TRUE 1983 -Mus musculus functional IGKV4-59 IGK V TRUE 1984 -Mus musculus non-functional IGKV4-60 IGK V FALSE 1985 -Mus musculus functional IGKV4-61 IGK V TRUE 1986 -Mus musculus non-functional IGKV4-62 IGK V FALSE 1987 -Mus musculus functional IGKV4-63 IGK V TRUE 1988 -Mus musculus non-functional IGKV4-65 IGK V FALSE 1989 -Mus musculus functional IGKV4-68 IGK V TRUE 1990 -Mus musculus functional IGKV4-69 IGK V TRUE 1991 -Mus musculus functional IGKV4-70 IGK V TRUE 1992 -Mus musculus functional IGKV4-71 IGK V TRUE 1993 -Mus musculus functional IGKV4-72 IGK V TRUE 1994 -Mus musculus functional IGKV4-73 IGK V TRUE 1995 -Mus musculus functional IGKV4-74 IGK V TRUE 1996 -Mus musculus non-functional IGKV4-75 IGK V FALSE 1997 -Mus musculus non-functional IGKV4-77 IGK V FALSE 1998 -Mus musculus functional IGKV4-78 IGK V TRUE 1999 -Mus musculus functional IGKV4-79 IGK V TRUE 2000 -Mus musculus functional IGKV4-80 IGK V TRUE 2001 -Mus musculus functional IGKV4-81 IGK V TRUE 2002 -Mus musculus non-functional IGKV4-83 IGK V FALSE 2003 -Mus musculus functional IGKV4-86 IGK V TRUE 2004 -Mus musculus functional IGKV4-90 IGK V TRUE 2005 -Mus musculus functional IGKV4-91 IGK V TRUE 2006 -Mus musculus functional IGKV4-92 IGK V TRUE 2007 -Mus musculus functional IGKV5-37 IGK V TRUE 2008 -Mus musculus functional IGKV5-39 IGK V TRUE 2009 -Mus musculus non-functional IGKV5-40-1 IGK V FALSE 2010 -Mus musculus functional IGKV5-43 IGK V TRUE 2011 -Mus musculus functional IGKV5-45 IGK V TRUE 2012 -Mus musculus functional IGKV5-48 IGK V TRUE 2013 -Mus musculus non-functional IGKV6-13 IGK V FALSE 2014 -Mus musculus functional IGKV6-14 IGK V TRUE 2015 -Mus musculus functional IGKV6-15 IGK V TRUE 2016 -Mus musculus functional IGKV6-17 IGK V TRUE 2017 -Mus musculus functional IGKV6-20 IGK V TRUE 2018 -Mus musculus functional IGKV6-23 IGK V TRUE 2019 -Mus musculus functional IGKV6-25 IGK V TRUE 2020 -Mus musculus functional IGKV6-29 IGK V TRUE 2021 -Mus musculus functional IGKV6-32 IGK V TRUE 2022 -Mus musculus functional IGKV6-b IGK V TRUE 2023 -Mus musculus functional IGKV6-c IGK V TRUE 2024 -Mus musculus functional IGKV6-d IGK V TRUE 2025 -Mus musculus functional IGKV7-33 IGK V TRUE 2026 -Mus musculus functional IGKV8-16 IGK V TRUE 2027 -Mus musculus non-functional IGKV8-18 IGK V FALSE 2028 -Mus musculus functional IGKV8-19 IGK V TRUE 2029 -Mus musculus functional IGKV8-21 IGK V TRUE 2030 -Mus musculus non-functional IGKV8-22 IGK V FALSE 2031 -Mus musculus non-functional IGKV8-23-1 IGK V FALSE 2032 -Mus musculus functional IGKV8-24 IGK V TRUE 2033 -Mus musculus non-functional IGKV8-26 IGK V FALSE 2034 -Mus musculus functional IGKV8-27 IGK V TRUE 2035 -Mus musculus functional IGKV8-28 IGK V TRUE 2036 -Mus musculus functional IGKV8-30 IGK V TRUE 2037 -Mus musculus non-functional IGKV8-31 IGK V FALSE 2038 -Mus musculus functional IGKV8-34 IGK V TRUE 2039 -Mus musculus non-functional IGKV9-119 IGK V FALSE 2040 -Mus musculus functional IGKV9-120 IGK V TRUE 2041 -Mus musculus functional IGKV9-123 IGK V TRUE 2042 -Mus musculus functional IGKV9-124 IGK V TRUE 2043 -Mus musculus non-functional IGKV9-128 IGK V FALSE 2044 -Mus musculus non-functional IGKV9-129 IGK V FALSE 2045 -Mus musculus functional IGLJ1 IGL J TRUE 2046 -Mus musculus functional IGLJ2 IGL J TRUE 2047 -Mus musculus functional IGLJ3 IGL J TRUE 2048 -Mus musculus non-functional IGLJ3P IGL J FALSE 2049 -Mus musculus non-functional IGLJ4 IGL J FALSE 2050 -Mus musculus functional IGLV1 IGL V TRUE 2051 -Mus musculus functional IGLV2 IGL V TRUE 2052 -Mus musculus functional IGLV3 IGL V TRUE 2053 -Mus musculus non-functional IGLV4 IGL V FALSE 2054 -Mus musculus non-functional IGLV5 IGL V FALSE 2055 -Mus musculus non-functional IGLV6 IGL V FALSE 2056 -Mus musculus non-functional IGLV7 IGL V FALSE 2057 -Mus musculus non-functional IGLV8 IGL V FALSE 2058 -Mus musculus non-functional TRAJ1 TRA J FALSE 2059 -Mus musculus functional TRAJ11 TRA J TRUE 2060 -Mus musculus functional TRAJ12 TRA J TRUE 2061 -Mus musculus functional TRAJ13 TRA J TRUE 2062 -Mus musculus non-functional TRAJ14 TRA J FALSE 2063 -Mus musculus functional TRAJ15 TRA J TRUE 2064 -Mus musculus functional TRAJ16 TRA J TRUE 2065 -Mus musculus functional TRAJ17 TRA J TRUE 2066 -Mus musculus functional TRAJ18 TRA J TRUE 2067 -Mus musculus non-functional TRAJ19 TRA J FALSE 2068 -Mus musculus functional TRAJ2 TRA J TRUE 2069 -Mus musculus non-functional TRAJ20 TRA J FALSE 2070 -Mus musculus functional TRAJ21 TRA J TRUE 2071 -Mus musculus functional TRAJ22 TRA J TRUE 2072 -Mus musculus functional TRAJ23 TRA J TRUE 2073 -Mus musculus functional TRAJ24 TRA J TRUE 2074 -Mus musculus non-functional TRAJ25 TRA J FALSE 2075 -Mus musculus functional TRAJ26 TRA J TRUE 2076 -Mus musculus functional TRAJ27 TRA J TRUE 2077 -Mus musculus functional TRAJ28 TRA J TRUE 2078 -Mus musculus non-functional TRAJ29 TRA J FALSE 2079 -Mus musculus non-functional TRAJ3 TRA J FALSE 2080 -Mus musculus functional TRAJ30 TRA J TRUE 2081 -Mus musculus functional TRAJ31 TRA J TRUE 2082 -Mus musculus functional TRAJ32 TRA J TRUE 2083 -Mus musculus functional TRAJ33 TRA J TRUE 2084 -Mus musculus functional TRAJ34 TRA J TRUE 2085 -Mus musculus functional TRAJ35 TRA J TRUE 2086 -Mus musculus non-functional TRAJ36 TRA J FALSE 2087 -Mus musculus functional TRAJ37 TRA J TRUE 2088 -Mus musculus functional TRAJ38 TRA J TRUE 2089 -Mus musculus functional TRAJ39 TRA J TRUE 2090 -Mus musculus non-functional TRAJ4 TRA J FALSE 2091 -Mus musculus functional TRAJ40 TRA J TRUE 2092 -Mus musculus non-functional TRAJ41 TRA J FALSE 2093 -Mus musculus functional TRAJ42 TRA J TRUE 2094 -Mus musculus functional TRAJ43 TRA J TRUE 2095 -Mus musculus non-functional TRAJ44 TRA J FALSE 2096 -Mus musculus functional TRAJ45 TRA J TRUE 2097 -Mus musculus non-functional TRAJ46 TRA J FALSE 2098 -Mus musculus non-functional TRAJ47 TRA J FALSE 2099 -Mus musculus functional TRAJ48 TRA J TRUE 2100 -Mus musculus functional TRAJ49 TRA J TRUE 2101 -Mus musculus functional TRAJ5 TRA J TRUE 2102 -Mus musculus functional TRAJ50 TRA J TRUE 2103 -Mus musculus non-functional TRAJ51 TRA J FALSE 2104 -Mus musculus functional TRAJ52 TRA J TRUE 2105 -Mus musculus functional TRAJ53 TRA J TRUE 2106 -Mus musculus non-functional TRAJ54 TRA J FALSE 2107 -Mus musculus non-functional TRAJ55 TRA J FALSE 2108 -Mus musculus functional TRAJ56 TRA J TRUE 2109 -Mus musculus functional TRAJ57 TRA J TRUE 2110 -Mus musculus functional TRAJ58 TRA J TRUE 2111 -Mus musculus non-functional TRAJ59 TRA J FALSE 2112 -Mus musculus functional TRAJ6 TRA J TRUE 2113 -Mus musculus non-functional TRAJ60 TRA J FALSE 2114 -Mus musculus non-functional TRAJ61 TRA J FALSE 2115 -Mus musculus non-functional TRAJ7 TRA J FALSE 2116 -Mus musculus non-functional TRAJ8 TRA J FALSE 2117 -Mus musculus functional TRAJ9 TRA J TRUE 2118 -Mus musculus functional TRAV1 TRA V TRUE 2119 -Mus musculus functional TRAV10 TRA V TRUE 2120 -Mus musculus functional TRAV10D TRA V TRUE 2121 -Mus musculus functional TRAV10N TRA V TRUE 2122 -Mus musculus functional TRAV11 TRA V TRUE 2123 -Mus musculus functional TRAV11D TRA V TRUE 2124 -Mus musculus non-functional TRAV11N TRA V FALSE 2125 -Mus musculus functional TRAV12-1 TRA V TRUE 2126 -Mus musculus functional TRAV12-2 TRA V TRUE 2127 -Mus musculus functional TRAV12-3 TRA V TRUE 2128 -Mus musculus non-functional TRAV12-4 TRA V FALSE 2129 -Mus musculus functional TRAV12D-1 TRA V TRUE 2130 -Mus musculus functional TRAV12D-2 TRA V TRUE 2131 -Mus musculus functional TRAV12D-3 TRA V TRUE 2132 -Mus musculus functional TRAV12N-1 TRA V TRUE 2133 -Mus musculus functional TRAV12N-2 TRA V TRUE 2134 -Mus musculus functional TRAV12N-3 TRA V TRUE 2135 -Mus musculus functional TRAV13-1 TRA V TRUE 2136 -Mus musculus functional TRAV13-2 TRA V TRUE 2137 -Mus musculus functional TRAV13-3 TRA V TRUE 2138 -Mus musculus functional TRAV13-4/DV7 TRA V TRUE 2139 -Mus musculus functional TRAV13-5 TRA V TRUE 2140 -Mus musculus functional TRAV13D-1 TRA V TRUE 2141 -Mus musculus functional TRAV13D-2 TRA V TRUE 2142 -Mus musculus functional TRAV13D-3 TRA V TRUE 2143 -Mus musculus functional TRAV13D-4 TRA V TRUE 2144 -Mus musculus functional TRAV13N-1 TRA V TRUE 2145 -Mus musculus functional TRAV13N-2 TRA V TRUE 2146 -Mus musculus functional TRAV13N-3 TRA V TRUE 2147 -Mus musculus functional TRAV13N-4 TRA V TRUE 2148 -Mus musculus functional TRAV14-1 TRA V TRUE 2149 -Mus musculus functional TRAV14-2 TRA V TRUE 2150 -Mus musculus functional TRAV14-3 TRA V TRUE 2151 -Mus musculus functional TRAV14D-1 TRA V TRUE 2152 -Mus musculus functional TRAV14D-2 TRA V TRUE 2153 -Mus musculus functional TRAV14D-3/DV8 TRA V TRUE 2154 -Mus musculus functional TRAV14N-1 TRA V TRUE 2155 -Mus musculus functional TRAV14N-2 TRA V TRUE 2156 -Mus musculus functional TRAV14N-3 TRA V TRUE 2157 -Mus musculus functional TRAV15-1/DV6-1 TRA V TRUE 2158 -Mus musculus functional TRAV15-2/DV6-2 TRA V TRUE 2159 -Mus musculus non-functional TRAV15-3 TRA V FALSE 2160 -Mus musculus functional TRAV15D-1/DV6D-1 TRA V TRUE 2161 -Mus musculus functional TRAV15D-2/DV6D-2 TRA V TRUE 2162 -Mus musculus non-functional TRAV15D-3 TRA V FALSE 2163 -Mus musculus functional TRAV15N-1 TRA V TRUE 2164 -Mus musculus functional TRAV15N-2 TRA V TRUE 2165 -Mus musculus non-functional TRAV15N-3 TRA V FALSE 2166 -Mus musculus functional TRAV16 TRA V TRUE 2167 -Mus musculus functional TRAV16D/DV11 TRA V TRUE 2168 -Mus musculus functional TRAV16N TRA V TRUE 2169 -Mus musculus functional TRAV17 TRA V TRUE 2170 -Mus musculus non-functional TRAV18 TRA V FALSE 2171 -Mus musculus functional TRAV19 TRA V TRUE 2172 -Mus musculus functional TRAV2 TRA V TRUE 2173 -Mus musculus non-functional TRAV20 TRA V FALSE 2174 -Mus musculus functional TRAV21/DV12 TRA V TRUE 2175 -Mus musculus non-functional TRAV22 TRA V FALSE 2176 -Mus musculus non-functional TRAV23 TRA V FALSE 2177 -Mus musculus functional TRAV3-1 TRA V TRUE 2178 -Mus musculus non-functional TRAV3-2 TRA V FALSE 2179 -Mus musculus functional TRAV3-3 TRA V TRUE 2180 -Mus musculus functional TRAV3-4 TRA V TRUE 2181 -Mus musculus non-functional TRAV3D-2 TRA V FALSE 2182 -Mus musculus functional TRAV3D-3 TRA V TRUE 2183 -Mus musculus non-functional TRAV3N-2 TRA V FALSE 2184 -Mus musculus functional TRAV3N-3 TRA V TRUE 2185 -Mus musculus non-functional TRAV4-1 TRA V FALSE 2186 -Mus musculus functional TRAV4-2 TRA V TRUE 2187 -Mus musculus functional TRAV4-3 TRA V TRUE 2188 -Mus musculus functional TRAV4-4/DV10 TRA V TRUE 2189 -Mus musculus non-functional TRAV4D-2 TRA V FALSE 2190 -Mus musculus functional TRAV4D-3 TRA V TRUE 2191 -Mus musculus functional TRAV4D-4 TRA V TRUE 2192 -Mus musculus functional TRAV4N-3 TRA V TRUE 2193 -Mus musculus functional TRAV4N-4 TRA V TRUE 2194 -Mus musculus functional TRAV5-1 TRA V TRUE 2195 -Mus musculus non-functional TRAV5-2 TRA V FALSE 2196 -Mus musculus non-functional TRAV5-3 TRA V FALSE 2197 -Mus musculus non-functional TRAV5-4 TRA V FALSE 2198 -Mus musculus non-functional TRAV5D-2 TRA V FALSE 2199 -Mus musculus non-functional TRAV5D-3 TRA V FALSE 2200 -Mus musculus functional TRAV5D-4 TRA V TRUE 2201 -Mus musculus non-functional TRAV5N-2 TRA V FALSE 2202 -Mus musculus non-functional TRAV5N-3 TRA V FALSE 2203 -Mus musculus functional TRAV5N-4 TRA V TRUE 2204 -Mus musculus functional TRAV6-1 TRA V TRUE 2205 -Mus musculus functional TRAV6-2 TRA V TRUE 2206 -Mus musculus functional TRAV6-3 TRA V TRUE 2207 -Mus musculus functional TRAV6-4 TRA V TRUE 2208 -Mus musculus functional TRAV6-5 TRA V TRUE 2209 -Mus musculus functional TRAV6-6 TRA V TRUE 2210 -Mus musculus functional TRAV6-7/DV9 TRA V TRUE 2211 -Mus musculus functional TRAV6D-3 TRA V TRUE 2212 -Mus musculus functional TRAV6D-4 TRA V TRUE 2213 -Mus musculus functional TRAV6D-5 TRA V TRUE 2214 -Mus musculus functional TRAV6D-6 TRA V TRUE 2215 -Mus musculus functional TRAV6D-7 TRA V TRUE 2216 -Mus musculus functional TRAV6N-5 TRA V TRUE 2217 -Mus musculus functional TRAV6N-6 TRA V TRUE 2218 -Mus musculus functional TRAV6N-7 TRA V TRUE 2219 -Mus musculus functional TRAV7-1 TRA V TRUE 2220 -Mus musculus functional TRAV7-2 TRA V TRUE 2221 -Mus musculus functional TRAV7-3 TRA V TRUE 2222 -Mus musculus functional TRAV7-4 TRA V TRUE 2223 -Mus musculus functional TRAV7-5 TRA V TRUE 2224 -Mus musculus functional TRAV7-6 TRA V TRUE 2225 -Mus musculus functional TRAV7D-2 TRA V TRUE 2226 -Mus musculus functional TRAV7D-3 TRA V TRUE 2227 -Mus musculus functional TRAV7D-4 TRA V TRUE 2228 -Mus musculus functional TRAV7D-5 TRA V TRUE 2229 -Mus musculus functional TRAV7D-6 TRA V TRUE 2230 -Mus musculus functional TRAV7N-4 TRA V TRUE 2231 -Mus musculus functional TRAV7N-5 TRA V TRUE 2232 -Mus musculus functional TRAV7N-6 TRA V TRUE 2233 -Mus musculus functional TRAV8-1 TRA V TRUE 2234 -Mus musculus functional TRAV8-2 TRA V TRUE 2235 -Mus musculus functional TRAV8D-1 TRA V TRUE 2236 -Mus musculus functional TRAV8D-2 TRA V TRUE 2237 -Mus musculus functional TRAV8N-2 TRA V TRUE 2238 -Mus musculus functional TRAV9-1 TRA V TRUE 2239 -Mus musculus functional TRAV9-2 TRA V TRUE 2240 -Mus musculus functional TRAV9-3 TRA V TRUE 2241 -Mus musculus functional TRAV9-4 TRA V TRUE 2242 -Mus musculus functional TRAV9D-1 TRA V TRUE 2243 -Mus musculus functional TRAV9D-2 TRA V TRUE 2244 -Mus musculus functional TRAV9D-3 TRA V TRUE 2245 -Mus musculus functional TRAV9D-4 TRA V TRUE 2246 -Mus musculus non-functional TRAV9N-1 TRA V FALSE 2247 -Mus musculus functional TRAV9N-2 TRA V TRUE 2248 -Mus musculus functional TRAV9N-3 TRA V TRUE 2249 -Mus musculus functional TRAV9N-4 TRA V TRUE 2250 -Mus musculus functional TRBD1 TRB D TRUE 2251 -Mus musculus functional TRBD2 TRB D TRUE 2252 -Mus musculus functional TRBJ1-1 TRB J TRUE 2253 -Mus musculus functional TRBJ1-2 TRB J TRUE 2254 -Mus musculus functional TRBJ1-3 TRB J TRUE 2255 -Mus musculus functional TRBJ1-4 TRB J TRUE 2256 -Mus musculus functional TRBJ1-5 TRB J TRUE 2257 -Mus musculus non-functional TRBJ1-6 TRB J FALSE 2258 -Mus musculus non-functional TRBJ1-7 TRB J FALSE 2259 -Mus musculus functional TRBJ2-1 TRB J TRUE 2260 -Mus musculus functional TRBJ2-2 TRB J TRUE 2261 -Mus musculus functional TRBJ2-3 TRB J TRUE 2262 -Mus musculus functional TRBJ2-4 TRB J TRUE 2263 -Mus musculus functional TRBJ2-5 TRB J TRUE 2264 -Mus musculus non-functional TRBJ2-6 TRB J FALSE 2265 -Mus musculus functional TRBJ2-7 TRB J TRUE 2266 -Mus musculus functional TRBV1 TRB V TRUE 2267 -Mus musculus non-functional TRBV10 TRB V FALSE 2268 -Mus musculus non-functional TRBV11 TRB V FALSE 2269 -Mus musculus functional TRBV12-1 TRB V TRUE 2270 -Mus musculus functional TRBV12-2 TRB V TRUE 2271 -Mus musculus non-functional TRBV12-3 TRB V FALSE 2272 -Mus musculus functional TRBV13-1 TRB V TRUE 2273 -Mus musculus functional TRBV13-2 TRB V TRUE 2274 -Mus musculus functional TRBV13-3 TRB V TRUE 2275 -Mus musculus functional TRBV14 TRB V TRUE 2276 -Mus musculus functional TRBV15 TRB V TRUE 2277 -Mus musculus functional TRBV16 TRB V TRUE 2278 -Mus musculus functional TRBV17 TRB V TRUE 2279 -Mus musculus non-functional TRBV18 TRB V FALSE 2280 -Mus musculus functional TRBV19 TRB V TRUE 2281 -Mus musculus functional TRBV2 TRB V TRUE 2282 -Mus musculus functional TRBV20 TRB V TRUE 2283 -Mus musculus non-functional TRBV21 TRB V FALSE 2284 -Mus musculus non-functional TRBV22 TRB V FALSE 2285 -Mus musculus functional TRBV23 TRB V TRUE 2286 -Mus musculus functional TRBV24 TRB V TRUE 2287 -Mus musculus non-functional TRBV25 TRB V FALSE 2288 -Mus musculus functional TRBV26 TRB V TRUE 2289 -Mus musculus non-functional TRBV27 TRB V FALSE 2290 -Mus musculus non-functional TRBV28 TRB V FALSE 2291 -Mus musculus functional TRBV29 TRB V TRUE 2292 -Mus musculus functional TRBV3 TRB V TRUE 2293 -Mus musculus functional TRBV30 TRB V TRUE 2294 -Mus musculus functional TRBV31 TRB V TRUE 2295 -Mus musculus functional TRBV4 TRB V TRUE 2296 -Mus musculus functional TRBV5 TRB V TRUE 2297 -Mus musculus non-functional TRBV6 TRB V FALSE 2298 -Mus musculus non-functional TRBV7 TRB V FALSE 2299 -Mus musculus non-functional TRBV8 TRB V FALSE 2300 -Mus musculus non-functional TRBV9 TRB V FALSE 2301 -Mus musculus functional TRDD1 TRD D TRUE 2302 -Mus musculus functional TRDD2 TRD D TRUE 2303 -Mus musculus functional TRDJ1 TRD J TRUE 2304 -Mus musculus functional TRDJ2 TRD J TRUE 2305 -Mus musculus functional TRDV1 TRD V TRUE 2306 -Mus musculus functional TRDV2-1 TRD V TRUE 2307 -Mus musculus functional TRDV2-2 TRD V TRUE 2308 -Mus musculus non-functional TRDV3 TRD V FALSE 2309 -Mus musculus functional TRDV4 TRD V TRUE 2310 -Mus musculus functional TRDV5 TRD V TRUE 2311 -Mus musculus functional TRGJ1 TRG J TRUE 2312 -Mus musculus functional TRGJ2 TRG J TRUE 2313 -Mus musculus functional TRGJ3 TRG J TRUE 2314 -Mus musculus functional TRGJ4 TRG J TRUE 2315 -Mus musculus functional TRGV1 TRG V TRUE 2316 -Mus musculus functional TRGV2 TRG V TRUE 2317 -Mus musculus functional TRGV3 TRG V TRUE 2318 -Mus musculus functional TRGV4 TRG V TRUE 2319 -Mus musculus functional TRGV5 TRG V TRUE 2320 -Mus musculus functional TRGV6 TRG V TRUE 2321 -Mus musculus functional TRGV7 TRG V TRUE 2322 -Mus spretus functional IGKV10-94 IGK V TRUE 2323 -Mus spretus functional IGKV10-96 IGK V TRUE 2324 -Mus spretus non-functional IGLJ4 IGL J FALSE 2325 -Mus spretus non-functional IGLJ5 IGL J FALSE 2326 -Mus spretus functional IGLV2 IGL V TRUE 2327 -Mus spretus functional IGLV3 IGL V TRUE 2328 -Mus spretus non-functional IGLV4 IGL V FALSE 2329 -Mus spretus non-functional IGLV8 IGL V FALSE 2330 -Oncorhynchus mykiss functional IGHD IGH D TRUE 2331 -Oncorhynchus mykiss functional IGHD1 IGH D TRUE 2332 -Oncorhynchus mykiss functional IGHD2 IGH D TRUE 2333 -Oncorhynchus mykiss functional IGHD3 IGH D TRUE 2334 -Oncorhynchus mykiss functional IGHD4 IGH D TRUE 2335 -Oncorhynchus mykiss functional IGHD5 IGH D TRUE 2336 -Oncorhynchus mykiss functional IGHD6 IGH D TRUE 2337 -Oncorhynchus mykiss functional IGHD7 IGH D TRUE 2338 -Oncorhynchus mykiss functional IGHD8 IGH D TRUE 2339 -Oncorhynchus mykiss functional IGHD9 IGH D TRUE 2340 -Oncorhynchus mykiss functional IGHJ1 IGH J TRUE 2341 -Oncorhynchus mykiss functional IGHJ2 IGH J TRUE 2342 -Oncorhynchus mykiss functional IGHJ3 IGH J TRUE 2343 -Oncorhynchus mykiss functional IGHJ4 IGH J TRUE 2344 -Oncorhynchus mykiss functional IGHJ5 IGH J TRUE 2345 -Oncorhynchus mykiss functional IGHJ6 IGH J TRUE 2346 -Oncorhynchus mykiss functional IGHJ7 IGH J TRUE 2347 -Oncorhynchus mykiss non-functional IGHV10S1 IGH V FALSE 2348 -Oncorhynchus mykiss non-functional IGHV11S1 IGH V FALSE 2349 -Oncorhynchus mykiss non-functional IGHV12S1 IGH V FALSE 2350 -Oncorhynchus mykiss non-functional IGHV13S1 IGH V FALSE 2351 -Oncorhynchus mykiss functional IGHV1S1 IGH V TRUE 2352 -Oncorhynchus mykiss functional IGHV1S2 IGH V TRUE 2353 -Oncorhynchus mykiss non-functional IGHV1S3 IGH V FALSE 2354 -Oncorhynchus mykiss non-functional IGHV1S4 IGH V FALSE 2355 -Oncorhynchus mykiss non-functional IGHV1S5 IGH V FALSE 2356 -Oncorhynchus mykiss non-functional IGHV1S6 IGH V FALSE 2357 -Oncorhynchus mykiss non-functional IGHV1S7 IGH V FALSE 2358 -Oncorhynchus mykiss non-functional IGHV2S1 IGH V FALSE 2359 -Oncorhynchus mykiss functional IGHV2S2 IGH V TRUE 2360 -Oncorhynchus mykiss non-functional IGHV2S3 IGH V FALSE 2361 -Oncorhynchus mykiss non-functional IGHV3S1 IGH V FALSE 2362 -Oncorhynchus mykiss non-functional IGHV3S2 IGH V FALSE 2363 -Oncorhynchus mykiss non-functional IGHV3S3 IGH V FALSE 2364 -Oncorhynchus mykiss non-functional IGHV3S4 IGH V FALSE 2365 -Oncorhynchus mykiss non-functional IGHV4S1 IGH V FALSE 2366 -Oncorhynchus mykiss non-functional IGHV5S1 IGH V FALSE 2367 -Oncorhynchus mykiss functional IGHV5S10 IGH V TRUE 2368 -Oncorhynchus mykiss non-functional IGHV5S2 IGH V FALSE 2369 -Oncorhynchus mykiss non-functional IGHV5S3 IGH V FALSE 2370 -Oncorhynchus mykiss non-functional IGHV5S4 IGH V FALSE 2371 -Oncorhynchus mykiss non-functional IGHV5S5 IGH V FALSE 2372 -Oncorhynchus mykiss non-functional IGHV5S6 IGH V FALSE 2373 -Oncorhynchus mykiss non-functional IGHV5S7 IGH V FALSE 2374 -Oncorhynchus mykiss non-functional IGHV5S8 IGH V FALSE 2375 -Oncorhynchus mykiss non-functional IGHV5S9 IGH V FALSE 2376 -Oncorhynchus mykiss functional IGHV6S1 IGH V TRUE 2377 -Oncorhynchus mykiss non-functional IGHV6S2 IGH V FALSE 2378 -Oncorhynchus mykiss non-functional IGHV6S3 IGH V FALSE 2379 -Oncorhynchus mykiss non-functional IGHV6S4 IGH V FALSE 2380 -Oncorhynchus mykiss non-functional IGHV6S5 IGH V FALSE 2381 -Oncorhynchus mykiss non-functional IGHV6S6 IGH V FALSE 2382 -Oncorhynchus mykiss non-functional IGHV6S7 IGH V FALSE 2383 -Oncorhynchus mykiss non-functional IGHV6S8 IGH V FALSE 2384 -Oncorhynchus mykiss non-functional IGHV6S9 IGH V FALSE 2385 -Oncorhynchus mykiss non-functional IGHV7S1 IGH V FALSE 2386 -Oncorhynchus mykiss non-functional IGHV8S1 IGH V FALSE 2387 -Oncorhynchus mykiss non-functional IGHV8S10 IGH V FALSE 2388 -Oncorhynchus mykiss non-functional IGHV8S11 IGH V FALSE 2389 -Oncorhynchus mykiss non-functional IGHV8S2 IGH V FALSE 2390 -Oncorhynchus mykiss non-functional IGHV8S3 IGH V FALSE 2391 -Oncorhynchus mykiss non-functional IGHV8S4 IGH V FALSE 2392 -Oncorhynchus mykiss non-functional IGHV8S5 IGH V FALSE 2393 -Oncorhynchus mykiss non-functional IGHV8S6 IGH V FALSE 2394 -Oncorhynchus mykiss functional IGHV8S7 IGH V TRUE 2395 -Oncorhynchus mykiss non-functional IGHV8S8 IGH V FALSE 2396 -Oncorhynchus mykiss non-functional IGHV8S9 IGH V FALSE 2397 -Oncorhynchus mykiss non-functional IGHV9S1 IGH V FALSE 2398 -Oncorhynchus mykiss non-functional IGHV9S2 IGH V FALSE 2399 -Oncorhynchus mykiss non-functional IGHV9S3 IGH V FALSE 2400 -Oncorhynchus mykiss non-functional IGHV9S4 IGH V FALSE 2401 -Oncorhynchus mykiss non-functional IGHV9S5 IGH V FALSE 2402 -Oncorhynchus mykiss non-functional IGHV9S6 IGH V FALSE 2403 -Oncorhynchus mykiss non-functional IGHV9S7 IGH V FALSE 2404 -Oncorhynchus mykiss functional TRBD1 TRB D TRUE 2405 -Oncorhynchus mykiss functional TRBJ1 TRB J TRUE 2406 -Oncorhynchus mykiss functional TRBJ10 TRB J TRUE 2407 -Oncorhynchus mykiss functional TRBJ2 TRB J TRUE 2408 -Oncorhynchus mykiss functional TRBJ3 TRB J TRUE 2409 -Oncorhynchus mykiss functional TRBJ4 TRB J TRUE 2410 -Oncorhynchus mykiss functional TRBJ5 TRB J TRUE 2411 -Oncorhynchus mykiss functional TRBJ6 TRB J TRUE 2412 -Oncorhynchus mykiss functional TRBJ7 TRB J TRUE 2413 -Oncorhynchus mykiss functional TRBJ8 TRB J TRUE 2414 -Oncorhynchus mykiss functional TRBJ9 TRB J TRUE 2415 -Oncorhynchus mykiss non-functional TRBV10S1 TRB V FALSE 2416 -Oncorhynchus mykiss non-functional TRBV1S1 TRB V FALSE 2417 -Oncorhynchus mykiss non-functional TRBV1S2 TRB V FALSE 2418 -Oncorhynchus mykiss non-functional TRBV1S3 TRB V FALSE 2419 -Oncorhynchus mykiss non-functional TRBV1S4 TRB V FALSE 2420 -Oncorhynchus mykiss non-functional TRBV1S5 TRB V FALSE 2421 -Oncorhynchus mykiss non-functional TRBV2S1 TRB V FALSE 2422 -Oncorhynchus mykiss non-functional TRBV2S10 TRB V FALSE 2423 -Oncorhynchus mykiss non-functional TRBV2S11 TRB V FALSE 2424 -Oncorhynchus mykiss non-functional TRBV2S12 TRB V FALSE 2425 -Oncorhynchus mykiss non-functional TRBV2S13 TRB V FALSE 2426 -Oncorhynchus mykiss non-functional TRBV2S14 TRB V FALSE 2427 -Oncorhynchus mykiss non-functional TRBV2S15 TRB V FALSE 2428 -Oncorhynchus mykiss non-functional TRBV2S16 TRB V FALSE 2429 -Oncorhynchus mykiss non-functional TRBV2S17 TRB V FALSE 2430 -Oncorhynchus mykiss non-functional TRBV2S18 TRB V FALSE 2431 -Oncorhynchus mykiss non-functional TRBV2S19 TRB V FALSE 2432 -Oncorhynchus mykiss non-functional TRBV2S2 TRB V FALSE 2433 -Oncorhynchus mykiss non-functional TRBV2S20 TRB V FALSE 2434 -Oncorhynchus mykiss non-functional TRBV2S21 TRB V FALSE 2435 -Oncorhynchus mykiss non-functional TRBV2S23 TRB V FALSE 2436 -Oncorhynchus mykiss non-functional TRBV2S24 TRB V FALSE 2437 -Oncorhynchus mykiss non-functional TRBV2S25 TRB V FALSE 2438 -Oncorhynchus mykiss non-functional TRBV2S26 TRB V FALSE 2439 -Oncorhynchus mykiss non-functional TRBV2S27 TRB V FALSE 2440 -Oncorhynchus mykiss non-functional TRBV2S3 TRB V FALSE 2441 -Oncorhynchus mykiss non-functional TRBV2S4 TRB V FALSE 2442 -Oncorhynchus mykiss non-functional TRBV2S5 TRB V FALSE 2443 -Oncorhynchus mykiss non-functional TRBV2S6 TRB V FALSE 2444 -Oncorhynchus mykiss non-functional TRBV2S7 TRB V FALSE 2445 -Oncorhynchus mykiss non-functional TRBV2S8 TRB V FALSE 2446 -Oncorhynchus mykiss non-functional TRBV2S9 TRB V FALSE 2447 -Oncorhynchus mykiss non-functional TRBV3S1 TRB V FALSE 2448 -Oncorhynchus mykiss non-functional TRBV3S2 TRB V FALSE 2449 -Oncorhynchus mykiss non-functional TRBV4S1 TRB V FALSE 2450 -Oncorhynchus mykiss non-functional TRBV5S1 TRB V FALSE 2451 -Oncorhynchus mykiss non-functional TRBV6S1 TRB V FALSE 2452 -Oncorhynchus mykiss non-functional TRBV7S1 TRB V FALSE 2453 -Oncorhynchus mykiss non-functional TRBV7S2 TRB V FALSE 2454 -Oncorhynchus mykiss non-functional TRBV7S3 TRB V FALSE 2455 -Oncorhynchus mykiss non-functional TRBV7S4 TRB V FALSE 2456 -Oncorhynchus mykiss non-functional TRBV8S1 TRB V FALSE 2457 -Oncorhynchus mykiss non-functional TRBV8S2 TRB V FALSE 2458 -Oncorhynchus mykiss non-functional TRBV8S3 TRB V FALSE 2459 -Oncorhynchus mykiss non-functional TRBV9S1 TRB V FALSE 2460 -Ornithorhynchus anatinus functional IGHD IGH D TRUE 2461 -Ornithorhynchus anatinus non-functional IGHD1 IGH D FALSE 2462 -Ornithorhynchus anatinus non-functional IGHD2 IGH D FALSE 2463 -Ornithorhynchus anatinus non-functional IGHD3 IGH D FALSE 2464 -Ornithorhynchus anatinus non-functional IGHJ1 IGH J FALSE 2465 -Ornithorhynchus anatinus functional IGHJ10 IGH J TRUE 2466 -Ornithorhynchus anatinus non-functional IGHJ11 IGH J FALSE 2467 -Ornithorhynchus anatinus non-functional IGHJ2 IGH J FALSE 2468 -Ornithorhynchus anatinus non-functional IGHJ3 IGH J FALSE 2469 -Ornithorhynchus anatinus non-functional IGHJ4 IGH J FALSE 2470 -Ornithorhynchus anatinus non-functional IGHJ5 IGH J FALSE 2471 -Ornithorhynchus anatinus non-functional IGHJ6 IGH J FALSE 2472 -Ornithorhynchus anatinus non-functional IGHJ7 IGH J FALSE 2473 -Ornithorhynchus anatinus non-functional IGHJ8 IGH J FALSE 2474 -Ornithorhynchus anatinus non-functional IGHJ9 IGH J FALSE 2475 -Oryctolagus cuniculus functional IGHD1-1 IGH D TRUE 2476 -Oryctolagus cuniculus functional IGHD2-1 IGH D TRUE 2477 -Oryctolagus cuniculus non-functional IGHD3-1 IGH D FALSE 2478 -Oryctolagus cuniculus functional IGHD3-2 IGH D TRUE 2479 -Oryctolagus cuniculus functional IGHD3-3 IGH D TRUE 2480 -Oryctolagus cuniculus functional IGHD4-1 IGH D TRUE 2481 -Oryctolagus cuniculus functional IGHD4-2 IGH D TRUE 2482 -Oryctolagus cuniculus functional IGHD5-1 IGH D TRUE 2483 -Oryctolagus cuniculus functional IGHD6-1 IGH D TRUE 2484 -Oryctolagus cuniculus functional IGHD7-1 IGH D TRUE 2485 -Oryctolagus cuniculus functional IGHD8-1 IGH D TRUE 2486 -Oryctolagus cuniculus functional IGHJ1 IGH J TRUE 2487 -Oryctolagus cuniculus functional IGHJ2 IGH J TRUE 2488 -Oryctolagus cuniculus functional IGHJ3 IGH J TRUE 2489 -Oryctolagus cuniculus functional IGHJ4 IGH J TRUE 2490 -Oryctolagus cuniculus functional IGHJ5 IGH J TRUE 2491 -Oryctolagus cuniculus functional IGHJ6 IGH J TRUE 2492 -Oryctolagus cuniculus functional IGHV1S1 IGH V TRUE 2493 -Oryctolagus cuniculus non-functional IGHV1S10 IGH V FALSE 2494 -Oryctolagus cuniculus non-functional IGHV1S11 IGH V FALSE 2495 -Oryctolagus cuniculus non-functional IGHV1S12 IGH V FALSE 2496 -Oryctolagus cuniculus functional IGHV1S13 IGH V TRUE 2497 -Oryctolagus cuniculus non-functional IGHV1S14 IGH V FALSE 2498 -Oryctolagus cuniculus non-functional IGHV1S15 IGH V FALSE 2499 -Oryctolagus cuniculus non-functional IGHV1S16 IGH V FALSE 2500 -Oryctolagus cuniculus functional IGHV1S17 IGH V TRUE 2501 -Oryctolagus cuniculus non-functional IGHV1S18 IGH V FALSE 2502 -Oryctolagus cuniculus non-functional IGHV1S19 IGH V FALSE 2503 -Oryctolagus cuniculus non-functional IGHV1S2 IGH V FALSE 2504 -Oryctolagus cuniculus non-functional IGHV1S20 IGH V FALSE 2505 -Oryctolagus cuniculus non-functional IGHV1S21 IGH V FALSE 2506 -Oryctolagus cuniculus non-functional IGHV1S22 IGH V FALSE 2507 -Oryctolagus cuniculus non-functional IGHV1S23 IGH V FALSE 2508 -Oryctolagus cuniculus functional IGHV1S24 IGH V TRUE 2509 -Oryctolagus cuniculus functional IGHV1S25 IGH V TRUE 2510 -Oryctolagus cuniculus functional IGHV1S26 IGH V TRUE 2511 -Oryctolagus cuniculus non-functional IGHV1S27 IGH V FALSE 2512 -Oryctolagus cuniculus functional IGHV1S28 IGH V TRUE 2513 -Oryctolagus cuniculus non-functional IGHV1S29 IGH V FALSE 2514 -Oryctolagus cuniculus non-functional IGHV1S3 IGH V FALSE 2515 -Oryctolagus cuniculus non-functional IGHV1S30 IGH V FALSE 2516 -Oryctolagus cuniculus functional IGHV1S31 IGH V TRUE 2517 -Oryctolagus cuniculus non-functional IGHV1S32 IGH V FALSE 2518 -Oryctolagus cuniculus functional IGHV1S33 IGH V TRUE 2519 -Oryctolagus cuniculus functional IGHV1S34 IGH V TRUE 2520 -Oryctolagus cuniculus non-functional IGHV1S35 IGH V FALSE 2521 -Oryctolagus cuniculus functional IGHV1S36 IGH V TRUE 2522 -Oryctolagus cuniculus non-functional IGHV1S37 IGH V FALSE 2523 -Oryctolagus cuniculus non-functional IGHV1S39 IGH V FALSE 2524 -Oryctolagus cuniculus non-functional IGHV1S4 IGH V FALSE 2525 -Oryctolagus cuniculus functional IGHV1S40 IGH V TRUE 2526 -Oryctolagus cuniculus non-functional IGHV1S42 IGH V FALSE 2527 -Oryctolagus cuniculus functional IGHV1S43 IGH V TRUE 2528 -Oryctolagus cuniculus functional IGHV1S44 IGH V TRUE 2529 -Oryctolagus cuniculus functional IGHV1S45 IGH V TRUE 2530 -Oryctolagus cuniculus non-functional IGHV1S46 IGH V FALSE 2531 -Oryctolagus cuniculus functional IGHV1S47 IGH V TRUE 2532 -Oryctolagus cuniculus non-functional IGHV1S48 IGH V FALSE 2533 -Oryctolagus cuniculus functional IGHV1S49 IGH V TRUE 2534 -Oryctolagus cuniculus non-functional IGHV1S5 IGH V FALSE 2535 -Oryctolagus cuniculus functional IGHV1S50 IGH V TRUE 2536 -Oryctolagus cuniculus functional IGHV1S51 IGH V TRUE 2537 -Oryctolagus cuniculus functional IGHV1S52 IGH V TRUE 2538 -Oryctolagus cuniculus functional IGHV1S53 IGH V TRUE 2539 -Oryctolagus cuniculus functional IGHV1S54 IGH V TRUE 2540 -Oryctolagus cuniculus functional IGHV1S55 IGH V TRUE 2541 -Oryctolagus cuniculus functional IGHV1S56 IGH V TRUE 2542 -Oryctolagus cuniculus functional IGHV1S57 IGH V TRUE 2543 -Oryctolagus cuniculus functional IGHV1S58 IGH V TRUE 2544 -Oryctolagus cuniculus functional IGHV1S59 IGH V TRUE 2545 -Oryctolagus cuniculus non-functional IGHV1S6 IGH V FALSE 2546 -Oryctolagus cuniculus functional IGHV1S60 IGH V TRUE 2547 -Oryctolagus cuniculus functional IGHV1S61 IGH V TRUE 2548 -Oryctolagus cuniculus functional IGHV1S62 IGH V TRUE 2549 -Oryctolagus cuniculus functional IGHV1S63 IGH V TRUE 2550 -Oryctolagus cuniculus functional IGHV1S64 IGH V TRUE 2551 -Oryctolagus cuniculus functional IGHV1S65 IGH V TRUE 2552 -Oryctolagus cuniculus functional IGHV1S66 IGH V TRUE 2553 -Oryctolagus cuniculus functional IGHV1S67 IGH V TRUE 2554 -Oryctolagus cuniculus functional IGHV1S68 IGH V TRUE 2555 -Oryctolagus cuniculus functional IGHV1S69 IGH V TRUE 2556 -Oryctolagus cuniculus functional IGHV1S7 IGH V TRUE 2557 -Oryctolagus cuniculus functional IGHV1S8 IGH V TRUE 2558 -Oryctolagus cuniculus non-functional IGHV1S9 IGH V FALSE 2559 -Oryctolagus cuniculus functional IGKJ1-1 IGK J TRUE 2560 -Oryctolagus cuniculus functional IGKJ1-2 IGK J TRUE 2561 -Oryctolagus cuniculus non-functional IGKJ1-3 IGK J FALSE 2562 -Oryctolagus cuniculus non-functional IGKJ1-4 IGK J FALSE 2563 -Oryctolagus cuniculus non-functional IGKJ1-5 IGK J FALSE 2564 -Oryctolagus cuniculus functional IGKJ2-1 IGK J TRUE 2565 -Oryctolagus cuniculus functional IGKJ2-2 IGK J TRUE 2566 -Oryctolagus cuniculus functional IGKJ2-3 IGK J TRUE 2567 -Oryctolagus cuniculus functional IGKV1S1 IGK V TRUE 2568 -Oryctolagus cuniculus functional IGKV1S10 IGK V TRUE 2569 -Oryctolagus cuniculus functional IGKV1S11 IGK V TRUE 2570 -Oryctolagus cuniculus functional IGKV1S12 IGK V TRUE 2571 -Oryctolagus cuniculus non-functional IGKV1S13 IGK V FALSE 2572 -Oryctolagus cuniculus functional IGKV1S14 IGK V TRUE 2573 -Oryctolagus cuniculus functional IGKV1S15 IGK V TRUE 2574 -Oryctolagus cuniculus functional IGKV1S16 IGK V TRUE 2575 -Oryctolagus cuniculus functional IGKV1S17 IGK V TRUE 2576 -Oryctolagus cuniculus functional IGKV1S18 IGK V TRUE 2577 -Oryctolagus cuniculus functional IGKV1S19 IGK V TRUE 2578 -Oryctolagus cuniculus functional IGKV1S2 IGK V TRUE 2579 -Oryctolagus cuniculus functional IGKV1S20 IGK V TRUE 2580 -Oryctolagus cuniculus functional IGKV1S21 IGK V TRUE 2581 -Oryctolagus cuniculus functional IGKV1S22 IGK V TRUE 2582 -Oryctolagus cuniculus functional IGKV1S23 IGK V TRUE 2583 -Oryctolagus cuniculus functional IGKV1S24 IGK V TRUE 2584 -Oryctolagus cuniculus functional IGKV1S25 IGK V TRUE 2585 -Oryctolagus cuniculus functional IGKV1S26 IGK V TRUE 2586 -Oryctolagus cuniculus non-functional IGKV1S27 IGK V FALSE 2587 -Oryctolagus cuniculus non-functional IGKV1S28 IGK V FALSE 2588 -Oryctolagus cuniculus non-functional IGKV1S29 IGK V FALSE 2589 -Oryctolagus cuniculus functional IGKV1S3 IGK V TRUE 2590 -Oryctolagus cuniculus non-functional IGKV1S30 IGK V FALSE 2591 -Oryctolagus cuniculus non-functional IGKV1S31 IGK V FALSE 2592 -Oryctolagus cuniculus non-functional IGKV1S32 IGK V FALSE 2593 -Oryctolagus cuniculus non-functional IGKV1S33 IGK V FALSE 2594 -Oryctolagus cuniculus non-functional IGKV1S34 IGK V FALSE 2595 -Oryctolagus cuniculus non-functional IGKV1S35 IGK V FALSE 2596 -Oryctolagus cuniculus non-functional IGKV1S36 IGK V FALSE 2597 -Oryctolagus cuniculus non-functional IGKV1S37 IGK V FALSE 2598 -Oryctolagus cuniculus non-functional IGKV1S38 IGK V FALSE 2599 -Oryctolagus cuniculus non-functional IGKV1S39 IGK V FALSE 2600 -Oryctolagus cuniculus non-functional IGKV1S4 IGK V FALSE 2601 -Oryctolagus cuniculus non-functional IGKV1S40 IGK V FALSE 2602 -Oryctolagus cuniculus non-functional IGKV1S41 IGK V FALSE 2603 -Oryctolagus cuniculus non-functional IGKV1S42 IGK V FALSE 2604 -Oryctolagus cuniculus non-functional IGKV1S43 IGK V FALSE 2605 -Oryctolagus cuniculus non-functional IGKV1S44 IGK V FALSE 2606 -Oryctolagus cuniculus non-functional IGKV1S45 IGK V FALSE 2607 -Oryctolagus cuniculus non-functional IGKV1S46 IGK V FALSE 2608 -Oryctolagus cuniculus non-functional IGKV1S47 IGK V FALSE 2609 -Oryctolagus cuniculus non-functional IGKV1S48 IGK V FALSE 2610 -Oryctolagus cuniculus non-functional IGKV1S49 IGK V FALSE 2611 -Oryctolagus cuniculus functional IGKV1S5 IGK V TRUE 2612 -Oryctolagus cuniculus non-functional IGKV1S50 IGK V FALSE 2613 -Oryctolagus cuniculus non-functional IGKV1S51 IGK V FALSE 2614 -Oryctolagus cuniculus non-functional IGKV1S52 IGK V FALSE 2615 -Oryctolagus cuniculus non-functional IGKV1S53 IGK V FALSE 2616 -Oryctolagus cuniculus non-functional IGKV1S54 IGK V FALSE 2617 -Oryctolagus cuniculus non-functional IGKV1S55 IGK V FALSE 2618 -Oryctolagus cuniculus non-functional IGKV1S56 IGK V FALSE 2619 -Oryctolagus cuniculus non-functional IGKV1S57 IGK V FALSE 2620 -Oryctolagus cuniculus non-functional IGKV1S58 IGK V FALSE 2621 -Oryctolagus cuniculus non-functional IGKV1S59 IGK V FALSE 2622 -Oryctolagus cuniculus functional IGKV1S6 IGK V TRUE 2623 -Oryctolagus cuniculus non-functional IGKV1S60 IGK V FALSE 2624 -Oryctolagus cuniculus non-functional IGKV1S61 IGK V FALSE 2625 -Oryctolagus cuniculus non-functional IGKV1S62 IGK V FALSE 2626 -Oryctolagus cuniculus non-functional IGKV1S63 IGK V FALSE 2627 -Oryctolagus cuniculus non-functional IGKV1S64 IGK V FALSE 2628 -Oryctolagus cuniculus non-functional IGKV1S65 IGK V FALSE 2629 -Oryctolagus cuniculus non-functional IGKV1S66 IGK V FALSE 2630 -Oryctolagus cuniculus non-functional IGKV1S67 IGK V FALSE 2631 -Oryctolagus cuniculus non-functional IGKV1S68 IGK V FALSE 2632 -Oryctolagus cuniculus functional IGKV1S7 IGK V TRUE 2633 -Oryctolagus cuniculus functional IGKV1S8 IGK V TRUE 2634 -Oryctolagus cuniculus functional IGKV1S9 IGK V TRUE 2635 -Oryctolagus cuniculus non-functional IGLJ1 IGL J FALSE 2636 -Oryctolagus cuniculus non-functional IGLJ3 IGL J FALSE 2637 -Oryctolagus cuniculus functional IGLJ5 IGL J TRUE 2638 -Oryctolagus cuniculus functional IGLJ6 IGL J TRUE 2639 -Oryctolagus cuniculus non-functional IGLV1S1 IGL V FALSE 2640 -Oryctolagus cuniculus non-functional IGLV1S2 IGL V FALSE 2641 -Oryctolagus cuniculus non-functional IGLV1S3 IGL V FALSE 2642 -Oryctolagus cuniculus functional IGLV2S1 IGL V TRUE 2643 -Oryctolagus cuniculus functional IGLV2S2 IGL V TRUE 2644 -Oryctolagus cuniculus non-functional IGLV2S3 IGL V FALSE 2645 -Oryctolagus cuniculus non-functional IGLV2S4 IGL V FALSE 2646 -Oryctolagus cuniculus non-functional IGLV2S5 IGL V FALSE 2647 -Oryctolagus cuniculus non-functional IGLV3S1 IGL V FALSE 2648 -Oryctolagus cuniculus non-functional IGLV3S10 IGL V FALSE 2649 -Oryctolagus cuniculus functional IGLV3S2 IGL V TRUE 2650 -Oryctolagus cuniculus non-functional IGLV3S3 IGL V FALSE 2651 -Oryctolagus cuniculus non-functional IGLV3S4 IGL V FALSE 2652 -Oryctolagus cuniculus non-functional IGLV3S5 IGL V FALSE 2653 -Oryctolagus cuniculus functional IGLV3S6 IGL V TRUE 2654 -Oryctolagus cuniculus functional IGLV3S7 IGL V TRUE 2655 -Oryctolagus cuniculus non-functional IGLV3S8 IGL V FALSE 2656 -Oryctolagus cuniculus functional IGLV3S9 IGL V TRUE 2657 -Oryctolagus cuniculus non-functional IGLV4S1 IGL V FALSE 2658 -Oryctolagus cuniculus non-functional IGLV4S2 IGL V FALSE 2659 -Oryctolagus cuniculus functional IGLV4S3 IGL V TRUE 2660 -Oryctolagus cuniculus functional IGLV4S4 IGL V TRUE 2661 -Oryctolagus cuniculus non-functional IGLV4S5 IGL V FALSE 2662 -Oryctolagus cuniculus non-functional IGLV4S6 IGL V FALSE 2663 -Oryctolagus cuniculus non-functional IGLV4S7 IGL V FALSE 2664 -Oryctolagus cuniculus functional IGLV5S1 IGL V TRUE 2665 -Oryctolagus cuniculus functional IGLV5S10 IGL V TRUE 2666 -Oryctolagus cuniculus functional IGLV5S2 IGL V TRUE 2667 -Oryctolagus cuniculus functional IGLV5S3 IGL V TRUE 2668 -Oryctolagus cuniculus non-functional IGLV5S4 IGL V FALSE 2669 -Oryctolagus cuniculus functional IGLV5S5 IGL V TRUE 2670 -Oryctolagus cuniculus functional IGLV5S6 IGL V TRUE 2671 -Oryctolagus cuniculus non-functional IGLV5S7 IGL V FALSE 2672 -Oryctolagus cuniculus non-functional IGLV5S8 IGL V FALSE 2673 -Oryctolagus cuniculus functional IGLV5S9 IGL V TRUE 2674 -Oryctolagus cuniculus functional IGLV6S1 IGL V TRUE 2675 -Oryctolagus cuniculus non-functional IGLV6S2 IGL V FALSE 2676 -Oryctolagus cuniculus functional IGLV6S3 IGL V TRUE 2677 -Oryctolagus cuniculus non-functional IGLV6S4 IGL V FALSE 2678 -Oryctolagus cuniculus functional IGLV6S5 IGL V TRUE 2679 -Oryctolagus cuniculus functional IGLV6S6 IGL V TRUE 2680 -Oryctolagus cuniculus functional IGLV6S7 IGL V TRUE 2681 -Oryctolagus cuniculus non-functional IGLV7S1 IGL V FALSE 2682 -Rattus norvegicus functional IGHD IGH D TRUE 2683 -Rattus norvegicus functional IGHD1-1 IGH D TRUE 2684 -Rattus norvegicus functional IGHD1-2 IGH D TRUE 2685 -Rattus norvegicus functional IGHD1-3 IGH D TRUE 2686 -Rattus norvegicus functional IGHD1-4 IGH D TRUE 2687 -Rattus norvegicus functional IGHD1-5 IGH D TRUE 2688 -Rattus norvegicus functional IGHD1-6 IGH D TRUE 2689 -Rattus norvegicus functional IGHD1-7 IGH D TRUE 2690 -Rattus norvegicus functional IGHD1-8 IGH D TRUE 2691 -Rattus norvegicus non-functional IGHD2-1 IGH D FALSE 2692 -Rattus norvegicus non-functional IGHD2-2 IGH D FALSE 2693 -Rattus norvegicus non-functional IGHD2-3 IGH D FALSE 2694 -Rattus norvegicus non-functional IGHD3-1 IGH D FALSE 2695 -Rattus norvegicus non-functional IGHD3-2 IGH D FALSE 2696 -Rattus norvegicus non-functional IGHD3-3 IGH D FALSE 2697 -Rattus norvegicus non-functional IGHD3-4 IGH D FALSE 2698 -Rattus norvegicus functional IGHD4-1 IGH D TRUE 2699 -Rattus norvegicus functional IGHD4-2 IGH D TRUE 2700 -Rattus norvegicus functional IGHD4-3 IGH D TRUE 2701 -Rattus norvegicus functional IGHD4-4 IGH D TRUE 2702 -Rattus norvegicus functional IGHD5-1 IGH D TRUE 2703 -Rattus norvegicus functional IGHJ1 IGH J TRUE 2704 -Rattus norvegicus functional IGHJ2 IGH J TRUE 2705 -Rattus norvegicus functional IGHJ3 IGH J TRUE 2706 -Rattus norvegicus functional IGHJ4 IGH J TRUE 2707 -Rattus norvegicus non-functional IGHV10S1 IGH V FALSE 2708 -Rattus norvegicus non-functional IGHV10S10 IGH V FALSE 2709 -Rattus norvegicus non-functional IGHV10S11 IGH V FALSE 2710 -Rattus norvegicus non-functional IGHV10S12 IGH V FALSE 2711 -Rattus norvegicus functional IGHV10S13 IGH V TRUE 2712 -Rattus norvegicus non-functional IGHV10S14 IGH V FALSE 2713 -Rattus norvegicus non-functional IGHV10S15 IGH V FALSE 2714 -Rattus norvegicus non-functional IGHV10S16 IGH V FALSE 2715 -Rattus norvegicus non-functional IGHV10S17 IGH V FALSE 2716 -Rattus norvegicus non-functional IGHV10S18 IGH V FALSE 2717 -Rattus norvegicus non-functional IGHV10S19 IGH V FALSE 2718 -Rattus norvegicus non-functional IGHV10S2 IGH V FALSE 2719 -Rattus norvegicus non-functional IGHV10S3 IGH V FALSE 2720 -Rattus norvegicus non-functional IGHV10S4 IGH V FALSE 2721 -Rattus norvegicus non-functional IGHV10S5 IGH V FALSE 2722 -Rattus norvegicus non-functional IGHV10S6 IGH V FALSE 2723 -Rattus norvegicus non-functional IGHV10S7 IGH V FALSE 2724 -Rattus norvegicus functional IGHV10S8 IGH V TRUE 2725 -Rattus norvegicus non-functional IGHV10S9 IGH V FALSE 2726 -Rattus norvegicus functional IGHV11S1 IGH V TRUE 2727 -Rattus norvegicus functional IGHV11S10 IGH V TRUE 2728 -Rattus norvegicus non-functional IGHV11S11 IGH V FALSE 2729 -Rattus norvegicus non-functional IGHV11S12 IGH V FALSE 2730 -Rattus norvegicus functional IGHV11S2 IGH V TRUE 2731 -Rattus norvegicus functional IGHV11S3 IGH V TRUE 2732 -Rattus norvegicus non-functional IGHV11S4 IGH V FALSE 2733 -Rattus norvegicus non-functional IGHV11S5 IGH V FALSE 2734 -Rattus norvegicus non-functional IGHV11S6 IGH V FALSE 2735 -Rattus norvegicus functional IGHV11S7 IGH V TRUE 2736 -Rattus norvegicus non-functional IGHV11S8 IGH V FALSE 2737 -Rattus norvegicus non-functional IGHV11S9 IGH V FALSE 2738 -Rattus norvegicus non-functional IGHV12S1 IGH V FALSE 2739 -Rattus norvegicus functional IGHV12S2 IGH V TRUE 2740 -Rattus norvegicus non-functional IGHV12S3 IGH V FALSE 2741 -Rattus norvegicus non-functional IGHV15S1 IGH V FALSE 2742 -Rattus norvegicus non-functional IGHV1S1 IGH V FALSE 2743 -Rattus norvegicus non-functional IGHV1S10 IGH V FALSE 2744 -Rattus norvegicus non-functional IGHV1S11 IGH V FALSE 2745 -Rattus norvegicus non-functional IGHV1S12 IGH V FALSE 2746 -Rattus norvegicus functional IGHV1S13 IGH V TRUE 2747 -Rattus norvegicus non-functional IGHV1S14 IGH V FALSE 2748 -Rattus norvegicus functional IGHV1S15 IGH V TRUE 2749 -Rattus norvegicus functional IGHV1S16 IGH V TRUE 2750 -Rattus norvegicus functional IGHV1S17 IGH V TRUE 2751 -Rattus norvegicus non-functional IGHV1S18 IGH V FALSE 2752 -Rattus norvegicus non-functional IGHV1S19 IGH V FALSE 2753 -Rattus norvegicus non-functional IGHV1S2 IGH V FALSE 2754 -Rattus norvegicus functional IGHV1S20 IGH V TRUE 2755 -Rattus norvegicus non-functional IGHV1S21 IGH V FALSE 2756 -Rattus norvegicus functional IGHV1S22 IGH V TRUE 2757 -Rattus norvegicus functional IGHV1S23 IGH V TRUE 2758 -Rattus norvegicus non-functional IGHV1S24 IGH V FALSE 2759 -Rattus norvegicus non-functional IGHV1S25 IGH V FALSE 2760 -Rattus norvegicus non-functional IGHV1S26 IGH V FALSE 2761 -Rattus norvegicus functional IGHV1S27 IGH V TRUE 2762 -Rattus norvegicus functional IGHV1S28 IGH V TRUE 2763 -Rattus norvegicus functional IGHV1S29 IGH V TRUE 2764 -Rattus norvegicus non-functional IGHV1S3 IGH V FALSE 2765 -Rattus norvegicus non-functional IGHV1S30 IGH V FALSE 2766 -Rattus norvegicus functional IGHV1S31 IGH V TRUE 2767 -Rattus norvegicus non-functional IGHV1S32 IGH V FALSE 2768 -Rattus norvegicus non-functional IGHV1S33 IGH V FALSE 2769 -Rattus norvegicus non-functional IGHV1S34 IGH V FALSE 2770 -Rattus norvegicus non-functional IGHV1S35 IGH V FALSE 2771 -Rattus norvegicus non-functional IGHV1S36 IGH V FALSE 2772 -Rattus norvegicus non-functional IGHV1S37 IGH V FALSE 2773 -Rattus norvegicus functional IGHV1S38 IGH V TRUE 2774 -Rattus norvegicus functional IGHV1S39 IGH V TRUE 2775 -Rattus norvegicus non-functional IGHV1S4 IGH V FALSE 2776 -Rattus norvegicus non-functional IGHV1S40 IGH V FALSE 2777 -Rattus norvegicus functional IGHV1S41 IGH V TRUE 2778 -Rattus norvegicus non-functional IGHV1S42 IGH V FALSE 2779 -Rattus norvegicus non-functional IGHV1S43 IGH V FALSE 2780 -Rattus norvegicus non-functional IGHV1S44 IGH V FALSE 2781 -Rattus norvegicus functional IGHV1S45 IGH V TRUE 2782 -Rattus norvegicus non-functional IGHV1S46 IGH V FALSE 2783 -Rattus norvegicus functional IGHV1S47 IGH V TRUE 2784 -Rattus norvegicus functional IGHV1S48 IGH V TRUE 2785 -Rattus norvegicus non-functional IGHV1S49 IGH V FALSE 2786 -Rattus norvegicus non-functional IGHV1S5 IGH V FALSE 2787 -Rattus norvegicus non-functional IGHV1S50 IGH V FALSE 2788 -Rattus norvegicus functional IGHV1S51 IGH V TRUE 2789 -Rattus norvegicus non-functional IGHV1S52 IGH V FALSE 2790 -Rattus norvegicus non-functional IGHV1S53 IGH V FALSE 2791 -Rattus norvegicus non-functional IGHV1S54 IGH V FALSE 2792 -Rattus norvegicus non-functional IGHV1S55 IGH V FALSE 2793 -Rattus norvegicus non-functional IGHV1S56 IGH V FALSE 2794 -Rattus norvegicus functional IGHV1S57 IGH V TRUE 2795 -Rattus norvegicus non-functional IGHV1S58 IGH V FALSE 2796 -Rattus norvegicus non-functional IGHV1S59 IGH V FALSE 2797 -Rattus norvegicus functional IGHV1S6 IGH V TRUE 2798 -Rattus norvegicus non-functional IGHV1S60 IGH V FALSE 2799 -Rattus norvegicus non-functional IGHV1S61 IGH V FALSE 2800 -Rattus norvegicus functional IGHV1S62 IGH V TRUE 2801 -Rattus norvegicus non-functional IGHV1S63 IGH V FALSE 2802 -Rattus norvegicus non-functional IGHV1S64 IGH V FALSE 2803 -Rattus norvegicus non-functional IGHV1S65 IGH V FALSE 2804 -Rattus norvegicus functional IGHV1S66 IGH V TRUE 2805 -Rattus norvegicus functional IGHV1S67 IGH V TRUE 2806 -Rattus norvegicus non-functional IGHV1S7 IGH V FALSE 2807 -Rattus norvegicus non-functional IGHV1S8 IGH V FALSE 2808 -Rattus norvegicus functional IGHV1S9 IGH V TRUE 2809 -Rattus norvegicus functional IGHV2S1 IGH V TRUE 2810 -Rattus norvegicus functional IGHV2S10 IGH V TRUE 2811 -Rattus norvegicus non-functional IGHV2S11 IGH V FALSE 2812 -Rattus norvegicus functional IGHV2S12 IGH V TRUE 2813 -Rattus norvegicus functional IGHV2S13 IGH V TRUE 2814 -Rattus norvegicus functional IGHV2S14 IGH V TRUE 2815 -Rattus norvegicus non-functional IGHV2S15 IGH V FALSE 2816 -Rattus norvegicus non-functional IGHV2S16 IGH V FALSE 2817 -Rattus norvegicus non-functional IGHV2S17 IGH V FALSE 2818 -Rattus norvegicus functional IGHV2S18 IGH V TRUE 2819 -Rattus norvegicus non-functional IGHV2S19 IGH V FALSE 2820 -Rattus norvegicus non-functional IGHV2S2 IGH V FALSE 2821 -Rattus norvegicus functional IGHV2S20 IGH V TRUE 2822 -Rattus norvegicus non-functional IGHV2S21 IGH V FALSE 2823 -Rattus norvegicus non-functional IGHV2S22 IGH V FALSE 2824 -Rattus norvegicus non-functional IGHV2S23 IGH V FALSE 2825 -Rattus norvegicus non-functional IGHV2S24 IGH V FALSE 2826 -Rattus norvegicus non-functional IGHV2S25 IGH V FALSE 2827 -Rattus norvegicus non-functional IGHV2S26 IGH V FALSE 2828 -Rattus norvegicus non-functional IGHV2S27 IGH V FALSE 2829 -Rattus norvegicus non-functional IGHV2S28 IGH V FALSE 2830 -Rattus norvegicus non-functional IGHV2S29 IGH V FALSE 2831 -Rattus norvegicus functional IGHV2S30 IGH V TRUE 2832 -Rattus norvegicus functional IGHV2S31 IGH V TRUE 2833 -Rattus norvegicus non-functional IGHV2S32 IGH V FALSE 2834 -Rattus norvegicus functional IGHV2S33 IGH V TRUE 2835 -Rattus norvegicus non-functional IGHV2S34 IGH V FALSE 2836 -Rattus norvegicus non-functional IGHV2S35 IGH V FALSE 2837 -Rattus norvegicus non-functional IGHV2S36 IGH V FALSE 2838 -Rattus norvegicus non-functional IGHV2S37 IGH V FALSE 2839 -Rattus norvegicus non-functional IGHV2S38 IGH V FALSE 2840 -Rattus norvegicus non-functional IGHV2S39 IGH V FALSE 2841 -Rattus norvegicus functional IGHV2S40 IGH V TRUE 2842 -Rattus norvegicus functional IGHV2S41 IGH V TRUE 2843 -Rattus norvegicus non-functional IGHV2S42 IGH V FALSE 2844 -Rattus norvegicus non-functional IGHV2S43 IGH V FALSE 2845 -Rattus norvegicus non-functional IGHV2S44 IGH V FALSE 2846 -Rattus norvegicus non-functional IGHV2S45 IGH V FALSE 2847 -Rattus norvegicus non-functional IGHV2S46 IGH V FALSE 2848 -Rattus norvegicus non-functional IGHV2S47 IGH V FALSE 2849 -Rattus norvegicus functional IGHV2S48 IGH V TRUE 2850 -Rattus norvegicus non-functional IGHV2S49 IGH V FALSE 2851 -Rattus norvegicus functional IGHV2S5 IGH V TRUE 2852 -Rattus norvegicus non-functional IGHV2S50 IGH V FALSE 2853 -Rattus norvegicus non-functional IGHV2S51 IGH V FALSE 2854 -Rattus norvegicus non-functional IGHV2S52 IGH V FALSE 2855 -Rattus norvegicus non-functional IGHV2S53 IGH V FALSE 2856 -Rattus norvegicus functional IGHV2S54 IGH V TRUE 2857 -Rattus norvegicus non-functional IGHV2S55 IGH V FALSE 2858 -Rattus norvegicus functional IGHV2S56 IGH V TRUE 2859 -Rattus norvegicus non-functional IGHV2S57 IGH V FALSE 2860 -Rattus norvegicus non-functional IGHV2S58 IGH V FALSE 2861 -Rattus norvegicus non-functional IGHV2S59 IGH V FALSE 2862 -Rattus norvegicus non-functional IGHV2S6 IGH V FALSE 2863 -Rattus norvegicus non-functional IGHV2S60 IGH V FALSE 2864 -Rattus norvegicus functional IGHV2S61 IGH V TRUE 2865 -Rattus norvegicus non-functional IGHV2S62 IGH V FALSE 2866 -Rattus norvegicus functional IGHV2S63 IGH V TRUE 2867 -Rattus norvegicus functional IGHV2S64 IGH V TRUE 2868 -Rattus norvegicus non-functional IGHV2S69 IGH V FALSE 2869 -Rattus norvegicus non-functional IGHV2S7 IGH V FALSE 2870 -Rattus norvegicus functional IGHV2S70 IGH V TRUE 2871 -Rattus norvegicus non-functional IGHV2S71 IGH V FALSE 2872 -Rattus norvegicus functional IGHV2S72 IGH V TRUE 2873 -Rattus norvegicus non-functional IGHV2S73 IGH V FALSE 2874 -Rattus norvegicus non-functional IGHV2S74 IGH V FALSE 2875 -Rattus norvegicus functional IGHV2S75 IGH V TRUE 2876 -Rattus norvegicus non-functional IGHV2S76 IGH V FALSE 2877 -Rattus norvegicus non-functional IGHV2S77 IGH V FALSE 2878 -Rattus norvegicus functional IGHV2S78 IGH V TRUE 2879 -Rattus norvegicus non-functional IGHV2S79 IGH V FALSE 2880 -Rattus norvegicus functional IGHV2S8 IGH V TRUE 2881 -Rattus norvegicus non-functional IGHV2S80 IGH V FALSE 2882 -Rattus norvegicus non-functional IGHV2S81 IGH V FALSE 2883 -Rattus norvegicus functional IGHV2S82 IGH V TRUE 2884 -Rattus norvegicus non-functional IGHV2S83 IGH V FALSE 2885 -Rattus norvegicus functional IGHV2S84 IGH V TRUE 2886 -Rattus norvegicus functional IGHV2S85 IGH V TRUE 2887 -Rattus norvegicus non-functional IGHV2S86 IGH V FALSE 2888 -Rattus norvegicus non-functional IGHV2S87 IGH V FALSE 2889 -Rattus norvegicus functional IGHV2S88 IGH V TRUE 2890 -Rattus norvegicus functional IGHV2S89 IGH V TRUE 2891 -Rattus norvegicus non-functional IGHV2S9 IGH V FALSE 2892 -Rattus norvegicus non-functional IGHV2S90 IGH V FALSE 2893 -Rattus norvegicus non-functional IGHV2S91 IGH V FALSE 2894 -Rattus norvegicus functional IGHV2S92 IGH V TRUE 2895 -Rattus norvegicus non-functional IGHV2S93 IGH V FALSE 2896 -Rattus norvegicus functional IGHV2S94 IGH V TRUE 2897 -Rattus norvegicus non-functional IGHV2S95 IGH V FALSE 2898 -Rattus norvegicus non-functional IGHV2S96 IGH V FALSE 2899 -Rattus norvegicus functional IGHV2S97 IGH V TRUE 2900 -Rattus norvegicus functional IGHV2S98 IGH V TRUE 2901 -Rattus norvegicus non-functional IGHV2S99 IGH V FALSE 2902 -Rattus norvegicus functional IGHV3S1 IGH V TRUE 2903 -Rattus norvegicus non-functional IGHV3S2 IGH V FALSE 2904 -Rattus norvegicus functional IGHV3S3 IGH V TRUE 2905 -Rattus norvegicus non-functional IGHV3S4 IGH V FALSE 2906 -Rattus norvegicus functional IGHV3S5 IGH V TRUE 2907 -Rattus norvegicus non-functional IGHV3S6 IGH V FALSE 2908 -Rattus norvegicus functional IGHV3S7 IGH V TRUE 2909 -Rattus norvegicus non-functional IGHV3S8 IGH V FALSE 2910 -Rattus norvegicus functional IGHV4S1 IGH V TRUE 2911 -Rattus norvegicus functional IGHV4S2 IGH V TRUE 2912 -Rattus norvegicus non-functional IGHV4S3 IGH V FALSE 2913 -Rattus norvegicus non-functional IGHV4S4 IGH V FALSE 2914 -Rattus norvegicus non-functional IGHV5S1 IGH V FALSE 2915 -Rattus norvegicus functional IGHV5S10 IGH V TRUE 2916 -Rattus norvegicus functional IGHV5S11 IGH V TRUE 2917 -Rattus norvegicus non-functional IGHV5S12 IGH V FALSE 2918 -Rattus norvegicus functional IGHV5S13 IGH V TRUE 2919 -Rattus norvegicus functional IGHV5S14 IGH V TRUE 2920 -Rattus norvegicus non-functional IGHV5S15 IGH V FALSE 2921 -Rattus norvegicus functional IGHV5S16 IGH V TRUE 2922 -Rattus norvegicus non-functional IGHV5S17 IGH V FALSE 2923 -Rattus norvegicus non-functional IGHV5S18 IGH V FALSE 2924 -Rattus norvegicus non-functional IGHV5S19 IGH V FALSE 2925 -Rattus norvegicus non-functional IGHV5S2 IGH V FALSE 2926 -Rattus norvegicus non-functional IGHV5S20 IGH V FALSE 2927 -Rattus norvegicus non-functional IGHV5S21 IGH V FALSE 2928 -Rattus norvegicus non-functional IGHV5S22 IGH V FALSE 2929 -Rattus norvegicus functional IGHV5S23 IGH V TRUE 2930 -Rattus norvegicus non-functional IGHV5S24 IGH V FALSE 2931 -Rattus norvegicus non-functional IGHV5S25 IGH V FALSE 2932 -Rattus norvegicus non-functional IGHV5S26 IGH V FALSE 2933 -Rattus norvegicus functional IGHV5S27 IGH V TRUE 2934 -Rattus norvegicus non-functional IGHV5S28 IGH V FALSE 2935 -Rattus norvegicus functional IGHV5S29 IGH V TRUE 2936 -Rattus norvegicus non-functional IGHV5S3 IGH V FALSE 2937 -Rattus norvegicus functional IGHV5S30 IGH V TRUE 2938 -Rattus norvegicus non-functional IGHV5S31 IGH V FALSE 2939 -Rattus norvegicus functional IGHV5S32 IGH V TRUE 2940 -Rattus norvegicus non-functional IGHV5S33 IGH V FALSE 2941 -Rattus norvegicus non-functional IGHV5S34 IGH V FALSE 2942 -Rattus norvegicus non-functional IGHV5S35 IGH V FALSE 2943 -Rattus norvegicus functional IGHV5S36 IGH V TRUE 2944 -Rattus norvegicus non-functional IGHV5S37 IGH V FALSE 2945 -Rattus norvegicus non-functional IGHV5S39 IGH V FALSE 2946 -Rattus norvegicus non-functional IGHV5S4 IGH V FALSE 2947 -Rattus norvegicus non-functional IGHV5S40 IGH V FALSE 2948 -Rattus norvegicus non-functional IGHV5S41 IGH V FALSE 2949 -Rattus norvegicus non-functional IGHV5S42 IGH V FALSE 2950 -Rattus norvegicus functional IGHV5S43 IGH V TRUE 2951 -Rattus norvegicus non-functional IGHV5S44 IGH V FALSE 2952 -Rattus norvegicus functional IGHV5S45 IGH V TRUE 2953 -Rattus norvegicus non-functional IGHV5S46 IGH V FALSE 2954 -Rattus norvegicus functional IGHV5S47 IGH V TRUE 2955 -Rattus norvegicus non-functional IGHV5S48 IGH V FALSE 2956 -Rattus norvegicus non-functional IGHV5S49 IGH V FALSE 2957 -Rattus norvegicus non-functional IGHV5S5 IGH V FALSE 2958 -Rattus norvegicus non-functional IGHV5S50 IGH V FALSE 2959 -Rattus norvegicus non-functional IGHV5S51 IGH V FALSE 2960 -Rattus norvegicus non-functional IGHV5S52 IGH V FALSE 2961 -Rattus norvegicus non-functional IGHV5S53 IGH V FALSE 2962 -Rattus norvegicus functional IGHV5S54 IGH V TRUE 2963 -Rattus norvegicus non-functional IGHV5S55 IGH V FALSE 2964 -Rattus norvegicus non-functional IGHV5S56 IGH V FALSE 2965 -Rattus norvegicus functional IGHV5S57 IGH V TRUE 2966 -Rattus norvegicus functional IGHV5S58 IGH V TRUE 2967 -Rattus norvegicus non-functional IGHV5S59 IGH V FALSE 2968 -Rattus norvegicus non-functional IGHV5S6 IGH V FALSE 2969 -Rattus norvegicus non-functional IGHV5S60 IGH V FALSE 2970 -Rattus norvegicus non-functional IGHV5S61 IGH V FALSE 2971 -Rattus norvegicus non-functional IGHV5S62 IGH V FALSE 2972 -Rattus norvegicus non-functional IGHV5S63 IGH V FALSE 2973 -Rattus norvegicus functional IGHV5S64 IGH V TRUE 2974 -Rattus norvegicus functional IGHV5S65 IGH V TRUE 2975 -Rattus norvegicus non-functional IGHV5S66 IGH V FALSE 2976 -Rattus norvegicus non-functional IGHV5S67 IGH V FALSE 2977 -Rattus norvegicus non-functional IGHV5S68 IGH V FALSE 2978 -Rattus norvegicus non-functional IGHV5S69 IGH V FALSE 2979 -Rattus norvegicus non-functional IGHV5S7 IGH V FALSE 2980 -Rattus norvegicus non-functional IGHV5S70 IGH V FALSE 2981 -Rattus norvegicus non-functional IGHV5S71 IGH V FALSE 2982 -Rattus norvegicus non-functional IGHV5S72 IGH V FALSE 2983 -Rattus norvegicus non-functional IGHV5S73 IGH V FALSE 2984 -Rattus norvegicus functional IGHV5S74 IGH V TRUE 2985 -Rattus norvegicus non-functional IGHV5S75 IGH V FALSE 2986 -Rattus norvegicus functional IGHV5S8 IGH V TRUE 2987 -Rattus norvegicus non-functional IGHV5S9 IGH V FALSE 2988 -Rattus norvegicus non-functional IGHV6S1 IGH V FALSE 2989 -Rattus norvegicus functional IGHV6S10 IGH V TRUE 2990 -Rattus norvegicus functional IGHV6S11 IGH V TRUE 2991 -Rattus norvegicus non-functional IGHV6S12 IGH V FALSE 2992 -Rattus norvegicus non-functional IGHV6S13 IGH V FALSE 2993 -Rattus norvegicus functional IGHV6S14 IGH V TRUE 2994 -Rattus norvegicus non-functional IGHV6S15 IGH V FALSE 2995 -Rattus norvegicus non-functional IGHV6S16 IGH V FALSE 2996 -Rattus norvegicus functional IGHV6S17 IGH V TRUE 2997 -Rattus norvegicus functional IGHV6S18 IGH V TRUE 2998 -Rattus norvegicus functional IGHV6S19 IGH V TRUE 2999 -Rattus norvegicus non-functional IGHV6S20 IGH V FALSE 3000 -Rattus norvegicus functional IGHV6S3 IGH V TRUE 3001 -Rattus norvegicus non-functional IGHV6S4 IGH V FALSE 3002 -Rattus norvegicus non-functional IGHV6S5 IGH V FALSE 3003 -Rattus norvegicus functional IGHV6S6 IGH V TRUE 3004 -Rattus norvegicus non-functional IGHV6S7 IGH V FALSE 3005 -Rattus norvegicus non-functional IGHV6S8 IGH V FALSE 3006 -Rattus norvegicus non-functional IGHV6S9 IGH V FALSE 3007 -Rattus norvegicus functional IGHV7S1 IGH V TRUE 3008 -Rattus norvegicus non-functional IGHV7S10 IGH V FALSE 3009 -Rattus norvegicus non-functional IGHV7S11 IGH V FALSE 3010 -Rattus norvegicus non-functional IGHV7S12 IGH V FALSE 3011 -Rattus norvegicus functional IGHV7S13 IGH V TRUE 3012 -Rattus norvegicus non-functional IGHV7S14 IGH V FALSE 3013 -Rattus norvegicus non-functional IGHV7S15 IGH V FALSE 3014 -Rattus norvegicus functional IGHV7S16 IGH V TRUE 3015 -Rattus norvegicus non-functional IGHV7S2 IGH V FALSE 3016 -Rattus norvegicus non-functional IGHV7S3 IGH V FALSE 3017 -Rattus norvegicus functional IGHV7S4 IGH V TRUE 3018 -Rattus norvegicus functional IGHV7S5 IGH V TRUE 3019 -Rattus norvegicus functional IGHV7S6 IGH V TRUE 3020 -Rattus norvegicus non-functional IGHV7S8 IGH V FALSE 3021 -Rattus norvegicus non-functional IGHV7S9 IGH V FALSE 3022 -Rattus norvegicus non-functional IGHV8S1 IGH V FALSE 3023 -Rattus norvegicus functional IGHV8S10 IGH V TRUE 3024 -Rattus norvegicus functional IGHV8S11 IGH V TRUE 3025 -Rattus norvegicus non-functional IGHV8S12 IGH V FALSE 3026 -Rattus norvegicus functional IGHV8S13 IGH V TRUE 3027 -Rattus norvegicus non-functional IGHV8S14 IGH V FALSE 3028 -Rattus norvegicus functional IGHV8S15 IGH V TRUE 3029 -Rattus norvegicus functional IGHV8S16 IGH V TRUE 3030 -Rattus norvegicus non-functional IGHV8S17 IGH V FALSE 3031 -Rattus norvegicus functional IGHV8S18 IGH V TRUE 3032 -Rattus norvegicus non-functional IGHV8S19 IGH V FALSE 3033 -Rattus norvegicus functional IGHV8S2 IGH V TRUE 3034 -Rattus norvegicus non-functional IGHV8S3 IGH V FALSE 3035 -Rattus norvegicus non-functional IGHV8S4 IGH V FALSE 3036 -Rattus norvegicus non-functional IGHV8S5 IGH V FALSE 3037 -Rattus norvegicus non-functional IGHV8S6 IGH V FALSE 3038 -Rattus norvegicus functional IGHV8S7 IGH V TRUE 3039 -Rattus norvegicus non-functional IGHV8S8 IGH V FALSE 3040 -Rattus norvegicus non-functional IGHV8S9 IGH V FALSE 3041 -Rattus norvegicus non-functional IGHV9S1 IGH V FALSE 3042 -Rattus norvegicus non-functional IGHV9S2 IGH V FALSE 3043 -Rattus norvegicus functional IGHV9S3 IGH V TRUE 3044 -Rattus norvegicus functional IGHV9S4 IGH V TRUE 3045 -Rattus norvegicus non-functional IGHV9S5 IGH V FALSE 3046 -Rattus norvegicus functional IGHV9S6 IGH V TRUE 3047 -Rattus norvegicus non-functional IGHV9S7 IGH V FALSE 3048 -Rattus norvegicus functional IGHV9S8 IGH V TRUE 3049 -Rattus norvegicus functional IGKJ1 IGK J TRUE 3050 -Rattus norvegicus functional IGKJ2-1 IGK J TRUE 3051 -Rattus norvegicus functional IGKJ2-2 IGK J TRUE 3052 -Rattus norvegicus functional IGKJ2-3 IGK J TRUE 3053 -Rattus norvegicus non-functional IGKJ3 IGK J FALSE 3054 -Rattus norvegicus functional IGKJ4 IGK J TRUE 3055 -Rattus norvegicus functional IGKJ5 IGK J TRUE 3056 -Rattus norvegicus functional IGKV10S11 IGK V TRUE 3057 -Rattus norvegicus functional IGKV10S12 IGK V TRUE 3058 -Rattus norvegicus functional IGKV10S5 IGK V TRUE 3059 -Rattus norvegicus functional IGKV10S6 IGK V TRUE 3060 -Rattus norvegicus functional IGKV10S9 IGK V TRUE 3061 -Rattus norvegicus functional IGKV12S1 IGK V TRUE 3062 -Rattus norvegicus functional IGKV12S11 IGK V TRUE 3063 -Rattus norvegicus non-functional IGKV12S12 IGK V FALSE 3064 -Rattus norvegicus functional IGKV12S14 IGK V TRUE 3065 -Rattus norvegicus functional IGKV12S16 IGK V TRUE 3066 -Rattus norvegicus functional IGKV12S17 IGK V TRUE 3067 -Rattus norvegicus functional IGKV12S20 IGK V TRUE 3068 -Rattus norvegicus functional IGKV12S22 IGK V TRUE 3069 -Rattus norvegicus functional IGKV12S24 IGK V TRUE 3070 -Rattus norvegicus functional IGKV12S25 IGK V TRUE 3071 -Rattus norvegicus functional IGKV12S26 IGK V TRUE 3072 -Rattus norvegicus non-functional IGKV12S27 IGK V FALSE 3073 -Rattus norvegicus non-functional IGKV12S28 IGK V FALSE 3074 -Rattus norvegicus functional IGKV12S29 IGK V TRUE 3075 -Rattus norvegicus functional IGKV12S30 IGK V TRUE 3076 -Rattus norvegicus functional IGKV12S31 IGK V TRUE 3077 -Rattus norvegicus functional IGKV12S32 IGK V TRUE 3078 -Rattus norvegicus functional IGKV12S34 IGK V TRUE 3079 -Rattus norvegicus functional IGKV12S36 IGK V TRUE 3080 -Rattus norvegicus functional IGKV12S38 IGK V TRUE 3081 -Rattus norvegicus functional IGKV12S39 IGK V TRUE 3082 -Rattus norvegicus non-functional IGKV12S5 IGK V FALSE 3083 -Rattus norvegicus functional IGKV12S7 IGK V TRUE 3084 -Rattus norvegicus functional IGKV12S8 IGK V TRUE 3085 -Rattus norvegicus functional IGKV12S9 IGK V TRUE 3086 -Rattus norvegicus non-functional IGKV13S7 IGK V FALSE 3087 -Rattus norvegicus functional IGKV14S1 IGK V TRUE 3088 -Rattus norvegicus functional IGKV14S13 IGK V TRUE 3089 -Rattus norvegicus functional IGKV14S14 IGK V TRUE 3090 -Rattus norvegicus functional IGKV14S15 IGK V TRUE 3091 -Rattus norvegicus functional IGKV14S16 IGK V TRUE 3092 -Rattus norvegicus functional IGKV14S18 IGK V TRUE 3093 -Rattus norvegicus functional IGKV14S19 IGK V TRUE 3094 -Rattus norvegicus functional IGKV14S2 IGK V TRUE 3095 -Rattus norvegicus functional IGKV14S22 IGK V TRUE 3096 -Rattus norvegicus non-functional IGKV14S4 IGK V FALSE 3097 -Rattus norvegicus functional IGKV14S8 IGK V TRUE 3098 -Rattus norvegicus functional IGKV14S9 IGK V TRUE 3099 -Rattus norvegicus non-functional IGKV15S2 IGK V FALSE 3100 -Rattus norvegicus non-functional IGKV15S3 IGK V FALSE 3101 -Rattus norvegicus functional IGKV15S4 IGK V TRUE 3102 -Rattus norvegicus functional IGKV16S1 IGK V TRUE 3103 -Rattus norvegicus non-functional IGKV16S2 IGK V FALSE 3104 -Rattus norvegicus functional IGKV17S1 IGK V TRUE 3105 -Rattus norvegicus functional IGKV18S1 IGK V TRUE 3106 -Rattus norvegicus functional IGKV19S1 IGK V TRUE 3107 -Rattus norvegicus functional IGKV19S2 IGK V TRUE 3108 -Rattus norvegicus functional IGKV1S1 IGK V TRUE 3109 -Rattus norvegicus functional IGKV1S12 IGK V TRUE 3110 -Rattus norvegicus functional IGKV1S14 IGK V TRUE 3111 -Rattus norvegicus non-functional IGKV1S15 IGK V FALSE 3112 -Rattus norvegicus functional IGKV1S18 IGK V TRUE 3113 -Rattus norvegicus functional IGKV1S19 IGK V TRUE 3114 -Rattus norvegicus functional IGKV1S21 IGK V TRUE 3115 -Rattus norvegicus functional IGKV1S22 IGK V TRUE 3116 -Rattus norvegicus functional IGKV1S23 IGK V TRUE 3117 -Rattus norvegicus functional IGKV1S24 IGK V TRUE 3118 -Rattus norvegicus functional IGKV1S25 IGK V TRUE 3119 -Rattus norvegicus functional IGKV1S26 IGK V TRUE 3120 -Rattus norvegicus functional IGKV1S27 IGK V TRUE 3121 -Rattus norvegicus functional IGKV1S28 IGK V TRUE 3122 -Rattus norvegicus functional IGKV1S29 IGK V TRUE 3123 -Rattus norvegicus functional IGKV1S30 IGK V TRUE 3124 -Rattus norvegicus functional IGKV1S31 IGK V TRUE 3125 -Rattus norvegicus non-functional IGKV1S32 IGK V FALSE 3126 -Rattus norvegicus functional IGKV1S34 IGK V TRUE 3127 -Rattus norvegicus functional IGKV1S42 IGK V TRUE 3128 -Rattus norvegicus functional IGKV1S5 IGK V TRUE 3129 -Rattus norvegicus functional IGKV1S7 IGK V TRUE 3130 -Rattus norvegicus functional IGKV1S8 IGK V TRUE 3131 -Rattus norvegicus functional IGKV20S1 IGK V TRUE 3132 -Rattus norvegicus functional IGKV21S2 IGK V TRUE 3133 -Rattus norvegicus functional IGKV21S3 IGK V TRUE 3134 -Rattus norvegicus functional IGKV22S1 IGK V TRUE 3135 -Rattus norvegicus functional IGKV22S2 IGK V TRUE 3136 -Rattus norvegicus functional IGKV22S4 IGK V TRUE 3137 -Rattus norvegicus functional IGKV22S5 IGK V TRUE 3138 -Rattus norvegicus non-functional IGKV22S6 IGK V FALSE 3139 -Rattus norvegicus functional IGKV22S7 IGK V TRUE 3140 -Rattus norvegicus non-functional IGKV22S8 IGK V FALSE 3141 -Rattus norvegicus functional IGKV22S9 IGK V TRUE 3142 -Rattus norvegicus functional IGKV2S11 IGK V TRUE 3143 -Rattus norvegicus functional IGKV2S16 IGK V TRUE 3144 -Rattus norvegicus functional IGKV2S17 IGK V TRUE 3145 -Rattus norvegicus non-functional IGKV2S20 IGK V FALSE 3146 -Rattus norvegicus non-functional IGKV2S21 IGK V FALSE 3147 -Rattus norvegicus non-functional IGKV2S22 IGK V FALSE 3148 -Rattus norvegicus non-functional IGKV2S23 IGK V FALSE 3149 -Rattus norvegicus non-functional IGKV2S24 IGK V FALSE 3150 -Rattus norvegicus functional IGKV2S25 IGK V TRUE 3151 -Rattus norvegicus functional IGKV2S26 IGK V TRUE 3152 -Rattus norvegicus functional IGKV2S27 IGK V TRUE 3153 -Rattus norvegicus functional IGKV2S3 IGK V TRUE 3154 -Rattus norvegicus functional IGKV2S6 IGK V TRUE 3155 -Rattus norvegicus functional IGKV2S9 IGK V TRUE 3156 -Rattus norvegicus functional IGKV3S1 IGK V TRUE 3157 -Rattus norvegicus functional IGKV3S10 IGK V TRUE 3158 -Rattus norvegicus functional IGKV3S11 IGK V TRUE 3159 -Rattus norvegicus non-functional IGKV3S12 IGK V FALSE 3160 -Rattus norvegicus functional IGKV3S13 IGK V TRUE 3161 -Rattus norvegicus non-functional IGKV3S14 IGK V FALSE 3162 -Rattus norvegicus non-functional IGKV3S15 IGK V FALSE 3163 -Rattus norvegicus functional IGKV3S17 IGK V TRUE 3164 -Rattus norvegicus functional IGKV3S18 IGK V TRUE 3165 -Rattus norvegicus functional IGKV3S19 IGK V TRUE 3166 -Rattus norvegicus functional IGKV3S5 IGK V TRUE 3167 -Rattus norvegicus functional IGKV3S6 IGK V TRUE 3168 -Rattus norvegicus non-functional IGKV3S7 IGK V FALSE 3169 -Rattus norvegicus functional IGKV3S8 IGK V TRUE 3170 -Rattus norvegicus functional IGKV3S9 IGK V TRUE 3171 -Rattus norvegicus functional IGKV4S10 IGK V TRUE 3172 -Rattus norvegicus functional IGKV4S11 IGK V TRUE 3173 -Rattus norvegicus functional IGKV4S12 IGK V TRUE 3174 -Rattus norvegicus functional IGKV4S13 IGK V TRUE 3175 -Rattus norvegicus functional IGKV4S14 IGK V TRUE 3176 -Rattus norvegicus functional IGKV4S15 IGK V TRUE 3177 -Rattus norvegicus functional IGKV4S16 IGK V TRUE 3178 -Rattus norvegicus functional IGKV4S18 IGK V TRUE 3179 -Rattus norvegicus functional IGKV4S19 IGK V TRUE 3180 -Rattus norvegicus functional IGKV4S2 IGK V TRUE 3181 -Rattus norvegicus functional IGKV4S20 IGK V TRUE 3182 -Rattus norvegicus functional IGKV4S21 IGK V TRUE 3183 -Rattus norvegicus functional IGKV4S3 IGK V TRUE 3184 -Rattus norvegicus functional IGKV4S4 IGK V TRUE 3185 -Rattus norvegicus functional IGKV4S5 IGK V TRUE 3186 -Rattus norvegicus functional IGKV4S6 IGK V TRUE 3187 -Rattus norvegicus functional IGKV4S7 IGK V TRUE 3188 -Rattus norvegicus functional IGKV4S8 IGK V TRUE 3189 -Rattus norvegicus functional IGKV4S9 IGK V TRUE 3190 -Rattus norvegicus non-functional IGKV5S1 IGK V FALSE 3191 -Rattus norvegicus functional IGKV5S10 IGK V TRUE 3192 -Rattus norvegicus functional IGKV5S12 IGK V TRUE 3193 -Rattus norvegicus functional IGKV5S2 IGK V TRUE 3194 -Rattus norvegicus non-functional IGKV5S4 IGK V FALSE 3195 -Rattus norvegicus functional IGKV5S5 IGK V TRUE 3196 -Rattus norvegicus functional IGKV5S6 IGK V TRUE 3197 -Rattus norvegicus functional IGKV6S10 IGK V TRUE 3198 -Rattus norvegicus functional IGKV6S11 IGK V TRUE 3199 -Rattus norvegicus non-functional IGKV6S2 IGK V FALSE 3200 -Rattus norvegicus non-functional IGKV6S3 IGK V FALSE 3201 -Rattus norvegicus functional IGKV6S4 IGK V TRUE 3202 -Rattus norvegicus functional IGKV6S5 IGK V TRUE 3203 -Rattus norvegicus non-functional IGKV6S6 IGK V FALSE 3204 -Rattus norvegicus functional IGKV6S7 IGK V TRUE 3205 -Rattus norvegicus functional IGKV6S8 IGK V TRUE 3206 -Rattus norvegicus functional IGKV6S9 IGK V TRUE 3207 -Rattus norvegicus functional IGKV7S1 IGK V TRUE 3208 -Rattus norvegicus functional IGKV8S10 IGK V TRUE 3209 -Rattus norvegicus non-functional IGKV8S11 IGK V FALSE 3210 -Rattus norvegicus non-functional IGKV8S2 IGK V FALSE 3211 -Rattus norvegicus functional IGKV8S4 IGK V TRUE 3212 -Rattus norvegicus functional IGKV8S5 IGK V TRUE 3213 -Rattus norvegicus functional IGKV8S6 IGK V TRUE 3214 -Rattus norvegicus functional IGKV8S7 IGK V TRUE 3215 -Rattus norvegicus functional IGKV8S8 IGK V TRUE 3216 -Rattus norvegicus functional IGKV8S9 IGK V TRUE 3217 -Rattus norvegicus functional IGKV9S1 IGK V TRUE 3218 -Rattus norvegicus functional IGKV9S2 IGK V TRUE 3219 -Rattus norvegicus functional IGLJ1 IGL J TRUE 3220 -Rattus norvegicus non-functional IGLJ2 IGL J FALSE 3221 -Rattus norvegicus functional IGLJ3 IGL J TRUE 3222 -Rattus norvegicus non-functional IGLJ4 IGL J FALSE 3223 -Rattus norvegicus functional IGLV1S1 IGL V TRUE 3224 -Rattus norvegicus functional IGLV2S1 IGL V TRUE 3225 -Rattus norvegicus functional IGLV3S1 IGL V TRUE 3226 -Rattus norvegicus functional IGLV3S2 IGL V TRUE 3227 -Rattus norvegicus functional IGLV3S3 IGL V TRUE 3228 -Rattus norvegicus functional IGLV3S4 IGL V TRUE 3229 -Rattus norvegicus functional IGLV3S5 IGL V TRUE 3230 -Sus scrofa functional IGHD IGH D TRUE 3231 -Sus scrofa functional IGHD1 IGH D TRUE 3232 -Sus scrofa functional IGHD2 IGH D TRUE 3233 -Sus scrofa functional IGHD3 IGH D TRUE 3234 -Sus scrofa functional IGHD4 IGH D TRUE 3235 -Sus scrofa functional IGHJ1 IGH J TRUE 3236 -Sus scrofa functional IGHJ2 IGH J TRUE 3237 -Sus scrofa functional IGHJ3 IGH J TRUE 3238 -Sus scrofa functional IGHJ4 IGH J TRUE 3239 -Sus scrofa functional IGHJ5 IGH J TRUE 3240 -Sus scrofa non-functional IGHV1-1 IGH V FALSE 3241 -Sus scrofa functional IGHV1-10 IGH V TRUE 3242 -Sus scrofa functional IGHV1-11 IGH V TRUE 3243 -Sus scrofa functional IGHV1-12 IGH V TRUE 3244 -Sus scrofa non-functional IGHV1-13 IGH V FALSE 3245 -Sus scrofa functional IGHV1-14 IGH V TRUE 3246 -Sus scrofa functional IGHV1-15 IGH V TRUE 3247 -Sus scrofa functional IGHV1-2 IGH V TRUE 3248 -Sus scrofa non-functional IGHV1-3 IGH V FALSE 3249 -Sus scrofa functional IGHV1-4 IGH V TRUE 3250 -Sus scrofa functional IGHV1-5 IGH V TRUE 3251 -Sus scrofa functional IGHV1-6 IGH V TRUE 3252 -Sus scrofa non-functional IGHV1-7 IGH V FALSE 3253 -Sus scrofa functional IGHV1-8 IGH V TRUE 3254 -Sus scrofa non-functional IGHV1-9 IGH V FALSE 3255 -Sus scrofa functional IGHV1S2 IGH V TRUE 3256 -Sus scrofa non-functional IGHV1S3 IGH V FALSE 3257 -Sus scrofa functional IGHV1S5 IGH V TRUE 3258 -Sus scrofa functional IGHV1S6 IGH V TRUE 3259 -Sus scrofa non-functional IGHV1S7 IGH V FALSE 3260 -Sus scrofa non-functional IGHV1S8 IGH V FALSE 3261 -Sus scrofa functional IGKJ1 IGK J TRUE 3262 -Sus scrofa functional IGKJ2 IGK J TRUE 3263 -Sus scrofa functional IGKJ3 IGK J TRUE 3264 -Sus scrofa functional IGKJ4 IGK J TRUE 3265 -Sus scrofa functional IGKJ5 IGK J TRUE 3266 -Sus scrofa functional IGKV1-11 IGK V TRUE 3267 -Sus scrofa functional IGKV1-14 IGK V TRUE 3268 -Sus scrofa functional IGKV1-7 IGK V TRUE 3269 -Sus scrofa functional IGKV1-9 IGK V TRUE 3270 -Sus scrofa functional IGKV1D-11 IGK V TRUE 3271 -Sus scrofa functional IGKV2-10 IGK V TRUE 3272 -Sus scrofa functional IGKV2-12 IGK V TRUE 3273 -Sus scrofa functional IGKV2-13 IGK V TRUE 3274 -Sus scrofa non-functional IGKV2-5 IGK V FALSE 3275 -Sus scrofa functional IGKV2-6 IGK V TRUE 3276 -Sus scrofa functional IGKV2-8 IGK V TRUE 3277 -Sus scrofa non-functional IGKV2/OR3-1 IGK V FALSE 3278 -Sus scrofa functional IGKV2D-12 IGK V TRUE 3279 -Sus scrofa non-functional IGKV3-3 IGK V FALSE 3280 -Sus scrofa non-functional IGKV5-4 IGK V FALSE 3281 -Sus scrofa functional IGLJ2 IGL J TRUE 3282 -Sus scrofa functional IGLJ3 IGL J TRUE 3283 -Sus scrofa functional IGLJ4 IGL J TRUE 3284 -Sus scrofa non-functional IGLV(III)-8 IGL V FALSE 3285 -Sus scrofa non-functional IGLV1-15 IGL V FALSE 3286 -Sus scrofa non-functional IGLV1-20 IGL V FALSE 3287 -Sus scrofa functional IGLV2-6 IGL V TRUE 3288 -Sus scrofa non-functional IGLV3-1 IGL V FALSE 3289 -Sus scrofa functional IGLV3-2 IGL V TRUE 3290 -Sus scrofa functional IGLV3-3 IGL V TRUE 3291 -Sus scrofa functional IGLV3-4 IGL V TRUE 3292 -Sus scrofa functional IGLV3-5 IGL V TRUE 3293 -Sus scrofa non-functional IGLV5-11 IGL V FALSE 3294 -Sus scrofa functional IGLV5-14 IGL V TRUE 3295 -Sus scrofa non-functional IGLV5-17 IGL V FALSE 3296 -Sus scrofa non-functional IGLV5-22 IGL V FALSE 3297 -Sus scrofa non-functional IGLV7-7 IGL V FALSE 3298 -Sus scrofa non-functional IGLV7-9 IGL V FALSE 3299 -Sus scrofa functional IGLV8-10 IGL V TRUE 3300 -Sus scrofa functional IGLV8-13 IGL V TRUE 3301 -Sus scrofa non-functional IGLV8-16 IGL V FALSE 3302 -Sus scrofa functional IGLV8-18 IGL V TRUE 3303 -Sus scrofa functional IGLV8-19 IGL V TRUE 3304 -Sus scrofa non-functional IGLV8-21 IGL V FALSE 3305 +Species IMGT.GENE.DB locus region functional chr.order +Bos taurus functional TRAJ1 TRA J TRUE 1 +Bos taurus functional TRAJ10 TRA J TRUE 2 +Bos taurus functional TRAJ11 TRA J TRUE 3 +Bos taurus non-functional TRAJ12 TRA J FALSE 4 +Bos taurus functional TRAJ13 TRA J TRUE 5 +Bos taurus functional TRAJ14 TRA J TRUE 6 +Bos taurus functional TRAJ15 TRA J TRUE 7 +Bos taurus functional TRAJ16 TRA J TRUE 8 +Bos taurus functional TRAJ17 TRA J TRUE 9 +Bos taurus functional TRAJ18 TRA J TRUE 10 +Bos taurus functional TRAJ19 TRA J TRUE 11 +Bos taurus functional TRAJ2 TRA J TRUE 12 +Bos taurus functional TRAJ20 TRA J TRUE 13 +Bos taurus functional TRAJ21 TRA J TRUE 14 +Bos taurus functional TRAJ22 TRA J TRUE 15 +Bos taurus functional TRAJ23 TRA J TRUE 16 +Bos taurus functional TRAJ24 TRA J TRUE 17 +Bos taurus functional TRAJ25 TRA J TRUE 18 +Bos taurus functional TRAJ26 TRA J TRUE 19 +Bos taurus non-functional TRAJ27 TRA J FALSE 20 +Bos taurus functional TRAJ28 TRA J TRUE 21 +Bos taurus functional TRAJ29 TRA J TRUE 22 +Bos taurus functional TRAJ3 TRA J TRUE 23 +Bos taurus non-functional TRAJ30 TRA J FALSE 24 +Bos taurus functional TRAJ31 TRA J TRUE 25 +Bos taurus functional TRAJ32 TRA J TRUE 26 +Bos taurus functional TRAJ33 TRA J TRUE 27 +Bos taurus functional TRAJ34 TRA J TRUE 28 +Bos taurus functional TRAJ35 TRA J TRUE 29 +Bos taurus functional TRAJ36 TRA J TRUE 30 +Bos taurus functional TRAJ37 TRA J TRUE 31 +Bos taurus functional TRAJ38 TRA J TRUE 32 +Bos taurus functional TRAJ39 TRA J TRUE 33 +Bos taurus non-functional TRAJ4 TRA J FALSE 34 +Bos taurus functional TRAJ40 TRA J TRUE 35 +Bos taurus functional TRAJ41 TRA J TRUE 36 +Bos taurus functional TRAJ42 TRA J TRUE 37 +Bos taurus functional TRAJ43 TRA J TRUE 38 +Bos taurus functional TRAJ44 TRA J TRUE 39 +Bos taurus functional TRAJ45 TRA J TRUE 40 +Bos taurus functional TRAJ46 TRA J TRUE 41 +Bos taurus non-functional TRAJ47 TRA J FALSE 42 +Bos taurus functional TRAJ48 TRA J TRUE 43 +Bos taurus functional TRAJ49 TRA J TRUE 44 +Bos taurus functional TRAJ5 TRA J TRUE 45 +Bos taurus functional TRAJ50 TRA J TRUE 46 +Bos taurus functional TRAJ51 TRA J TRUE 47 +Bos taurus non-functional TRAJ52 TRA J FALSE 48 +Bos taurus functional TRAJ6 TRA J TRUE 49 +Bos taurus functional TRAJ7 TRA J TRUE 50 +Bos taurus functional TRAJ8 TRA J TRUE 51 +Bos taurus functional TRAJ9 TRA J TRUE 52 +Bos taurus functional TRDD1 TRD D TRUE 53 +Bos taurus functional TRDD2 TRD D TRUE 54 +Bos taurus functional TRDD3 TRD D TRUE 55 +Bos taurus functional TRDD4 TRD D TRUE 56 +Bos taurus functional TRDD5 TRD D TRUE 57 +Bos taurus functional TRDJ1 TRD J TRUE 58 +Bos taurus functional TRDJ2 TRD J TRUE 59 +Bos taurus functional TRDJ3 TRD J TRUE 60 +Bos taurus functional TRDV1S1 TRD V TRUE 61 +Bos taurus functional TRDV1S10 TRD V TRUE 62 +Bos taurus functional TRDV1S11 TRD V TRUE 63 +Bos taurus functional TRDV1S12 TRD V TRUE 64 +Bos taurus functional TRDV1S13-1 TRD V TRUE 65 +Bos taurus functional TRDV1S13-2 TRD V TRUE 66 +Bos taurus functional TRDV1S14 TRD V TRUE 67 +Bos taurus functional TRDV1S15-1 TRD V TRUE 68 +Bos taurus functional TRDV1S15-2 TRD V TRUE 69 +Bos taurus functional TRDV1S16 TRD V TRUE 70 +Bos taurus functional TRDV1S17 TRD V TRUE 71 +Bos taurus functional TRDV1S18-1 TRD V TRUE 72 +Bos taurus functional TRDV1S18-2 TRD V TRUE 73 +Bos taurus functional TRDV1S19 TRD V TRUE 74 +Bos taurus non-functional TRDV1S2-1 TRD V FALSE 75 +Bos taurus non-functional TRDV1S2-2 TRD V FALSE 76 +Bos taurus functional TRDV1S20 TRD V TRUE 77 +Bos taurus functional TRDV1S21-1 TRD V TRUE 78 +Bos taurus functional TRDV1S21-2 TRD V TRUE 79 +Bos taurus non-functional TRDV1S22 TRD V FALSE 80 +Bos taurus functional TRDV1S23 TRD V TRUE 81 +Bos taurus functional TRDV1S24 TRD V TRUE 82 +Bos taurus non-functional TRDV1S25-1 TRD V FALSE 83 +Bos taurus non-functional TRDV1S25-2 TRD V FALSE 84 +Bos taurus functional TRDV1S26 TRD V TRUE 85 +Bos taurus functional TRDV1S27-1 TRD V TRUE 86 +Bos taurus functional TRDV1S27-2 TRD V TRUE 87 +Bos taurus functional TRDV1S28 TRD V TRUE 88 +Bos taurus functional TRDV1S29 TRD V TRUE 89 +Bos taurus functional TRDV1S3 TRD V TRUE 90 +Bos taurus functional TRDV1S30 TRD V TRUE 91 +Bos taurus functional TRDV1S31 TRD V TRUE 92 +Bos taurus functional TRDV1S32 TRD V TRUE 93 +Bos taurus functional TRDV1S33 TRD V TRUE 94 +Bos taurus non-functional TRDV1S34 TRD V FALSE 95 +Bos taurus functional TRDV1S35 TRD V TRUE 96 +Bos taurus functional TRDV1S36 TRD V TRUE 97 +Bos taurus functional TRDV1S37 TRD V TRUE 98 +Bos taurus functional TRDV1S38 TRD V TRUE 99 +Bos taurus functional TRDV1S39 TRD V TRUE 100 +Bos taurus functional TRDV1S4-1 TRD V TRUE 101 +Bos taurus functional TRDV1S4-2 TRD V TRUE 102 +Bos taurus functional TRDV1S4-3 TRD V TRUE 103 +Bos taurus functional TRDV1S40 TRD V TRUE 104 +Bos taurus functional TRDV1S41 TRD V TRUE 105 +Bos taurus functional TRDV1S42 TRD V TRUE 106 +Bos taurus functional TRDV1S43 TRD V TRUE 107 +Bos taurus non-functional TRDV1S44 TRD V FALSE 108 +Bos taurus functional TRDV1S45 TRD V TRUE 109 +Bos taurus functional TRDV1S46 TRD V TRUE 110 +Bos taurus functional TRDV1S47-1 TRD V TRUE 111 +Bos taurus functional TRDV1S47-2 TRD V TRUE 112 +Bos taurus functional TRDV1S48 TRD V TRUE 113 +Bos taurus functional TRDV1S49 TRD V TRUE 114 +Bos taurus functional TRDV1S5-1 TRD V TRUE 115 +Bos taurus functional TRDV1S5-2 TRD V TRUE 116 +Bos taurus functional TRDV1S50 TRD V TRUE 117 +Bos taurus functional TRDV1S51-1 TRD V TRUE 118 +Bos taurus functional TRDV1S51-2 TRD V TRUE 119 +Bos taurus functional TRDV1S52-1 TRD V TRUE 120 +Bos taurus functional TRDV1S52-2 TRD V TRUE 121 +Bos taurus non-functional TRDV1S53 TRD V FALSE 122 +Bos taurus non-functional TRDV1S54 TRD V FALSE 123 +Bos taurus non-functional TRDV1S55 TRD V FALSE 124 +Bos taurus non-functional TRDV1S56 TRD V FALSE 125 +Bos taurus functional TRDV1S6-1 TRD V TRUE 126 +Bos taurus functional TRDV1S6-2 TRD V TRUE 127 +Bos taurus functional TRDV1S7-1 TRD V TRUE 128 +Bos taurus functional TRDV1S7-2 TRD V TRUE 129 +Bos taurus functional TRDV1S8 TRD V TRUE 130 +Bos taurus non-functional TRDV1S9 TRD V FALSE 131 +Bos taurus functional TRDV2S1 TRD V TRUE 132 +Bos taurus functional TRDV2S2 TRD V TRUE 133 +Bos taurus functional TRDV2S3 TRD V TRUE 134 +Bos taurus non-functional TRDV2S4 TRD V FALSE 135 +Bos taurus functional TRDV3S1 TRD V TRUE 136 +Bos taurus functional TRDV3S2 TRD V TRUE 137 +Bos taurus non-functional TRDV3S3 TRD V FALSE 138 +Bos taurus functional TRDV4 TRD V TRUE 139 +Bos taurus non-functional TRDV5 TRD V FALSE 140 +Bos taurus functional TRGJ1-1 TRG J TRUE 141 +Bos taurus functional TRGJ1-2 TRG J TRUE 142 +Bos taurus functional TRGJ2-1 TRG J TRUE 143 +Bos taurus functional TRGJ2-2 TRG J TRUE 144 +Bos taurus functional TRGJ3-1 TRG J TRUE 145 +Bos taurus functional TRGJ4-1 TRG J TRUE 146 +Bos taurus functional TRGJ4-2 TRG J TRUE 147 +Bos taurus functional TRGJ5-1 TRG J TRUE 148 +Bos taurus functional TRGJ6-1 TRG J TRUE 149 +Bos taurus functional TRGV1-1 TRG V TRUE 150 +Bos taurus functional TRGV10-1 TRG V TRUE 151 +Bos taurus functional TRGV2-1 TRG V TRUE 152 +Bos taurus functional TRGV3-1 TRG V TRUE 153 +Bos taurus functional TRGV3-2 TRG V TRUE 154 +Bos taurus non-functional TRGV4-1 TRG V FALSE 155 +Bos taurus non-functional TRGV5-1 TRG V FALSE 156 +Bos taurus non-functional TRGV5-2 TRG V FALSE 157 +Bos taurus functional TRGV6-1 TRG V TRUE 158 +Bos taurus functional TRGV6-2 TRG V TRUE 159 +Bos taurus functional TRGV7-1 TRG V TRUE 160 +Bos taurus functional TRGV8-1 TRG V TRUE 161 +Bos taurus functional TRGV8-2 TRG V TRUE 162 +Bos taurus functional TRGV8-3 TRG V TRUE 163 +Bos taurus functional TRGV8-4 TRG V TRUE 164 +Bos taurus functional TRGV9-1 TRG V TRUE 165 +Bos taurus functional TRGV9-2 TRG V TRUE 166 +Camelus dromedarius functional TRDV1S1 TRD V TRUE 167 +Camelus dromedarius functional TRDV1S2 TRD V TRUE 168 +Camelus dromedarius functional TRDV1S3 TRD V TRUE 169 +Camelus dromedarius functional TRDV1S4 TRD V TRUE 170 +Camelus dromedarius functional TRDV1S5 TRD V TRUE 171 +Camelus dromedarius functional TRDV1S6 TRD V TRUE 172 +Camelus dromedarius functional TRDV2S1 TRD V TRUE 173 +Camelus dromedarius functional TRDV2S2 TRD V TRUE 174 +Camelus dromedarius functional TRDV2S3 TRD V TRUE 175 +Camelus dromedarius functional TRDV4S1 TRD V TRUE 176 +Camelus dromedarius functional TRGJ1-1 TRG J TRUE 177 +Camelus dromedarius non-functional TRGJ2-1 TRG J FALSE 178 +Camelus dromedarius functional TRGJ2-2 TRG J TRUE 179 +Camelus dromedarius functional TRGV1 TRG V TRUE 180 +Camelus dromedarius functional TRGV2 TRG V TRUE 181 +Canis lupus familiaris functional TRBD1 TRB D TRUE 182 +Canis lupus familiaris functional TRBD2 TRB D TRUE 183 +Canis lupus familiaris functional TRBJ1-1 TRB J TRUE 184 +Canis lupus familiaris functional TRBJ1-2 TRB J TRUE 185 +Canis lupus familiaris non-functional TRBJ1-3 TRB J FALSE 186 +Canis lupus familiaris functional TRBJ1-4 TRB J TRUE 187 +Canis lupus familiaris functional TRBJ1-5 TRB J TRUE 188 +Canis lupus familiaris functional TRBJ1-6 TRB J TRUE 189 +Canis lupus familiaris non-functional TRBJ2-1 TRB J FALSE 190 +Canis lupus familiaris functional TRBJ2-2 TRB J TRUE 191 +Canis lupus familiaris functional TRBJ2-3 TRB J TRUE 192 +Canis lupus familiaris non-functional TRBJ2-4 TRB J FALSE 193 +Canis lupus familiaris functional TRBJ2-5 TRB J TRUE 194 +Canis lupus familiaris functional TRBJ2-6 TRB J TRUE 195 +Canis lupus familiaris functional TRBV1 TRB V TRUE 196 +Canis lupus familiaris functional TRBV10 TRB V TRUE 197 +Canis lupus familiaris non-functional TRBV11 TRB V FALSE 198 +Canis lupus familiaris non-functional TRBV12-1 TRB V FALSE 199 +Canis lupus familiaris functional TRBV12-2 TRB V TRUE 200 +Canis lupus familiaris non-functional TRBV15 TRB V FALSE 201 +Canis lupus familiaris functional TRBV16 TRB V TRUE 202 +Canis lupus familiaris functional TRBV18 TRB V TRUE 203 +Canis lupus familiaris non-functional TRBV19 TRB V FALSE 204 +Canis lupus familiaris non-functional TRBV2-1 TRB V FALSE 205 +Canis lupus familiaris non-functional TRBV2-2 TRB V FALSE 206 +Canis lupus familiaris non-functional TRBV2-3 TRB V FALSE 207 +Canis lupus familiaris functional TRBV20 TRB V TRUE 208 +Canis lupus familiaris non-functional TRBV21 TRB V FALSE 209 +Canis lupus familiaris functional TRBV22 TRB V TRUE 210 +Canis lupus familiaris functional TRBV24 TRB V TRUE 211 +Canis lupus familiaris functional TRBV25 TRB V TRUE 212 +Canis lupus familiaris non-functional TRBV26 TRB V FALSE 213 +Canis lupus familiaris non-functional TRBV27 TRB V FALSE 214 +Canis lupus familiaris non-functional TRBV28 TRB V FALSE 215 +Canis lupus familiaris functional TRBV29 TRB V TRUE 216 +Canis lupus familiaris functional TRBV3-1 TRB V TRUE 217 +Canis lupus familiaris functional TRBV3-2 TRB V TRUE 218 +Canis lupus familiaris non-functional TRBV3-3 TRB V FALSE 219 +Canis lupus familiaris functional TRBV30 TRB V TRUE 220 +Canis lupus familiaris functional TRBV4-1 TRB V TRUE 221 +Canis lupus familiaris functional TRBV4-2 TRB V TRUE 222 +Canis lupus familiaris functional TRBV4-3 TRB V TRUE 223 +Canis lupus familiaris non-functional TRBV5-1 TRB V FALSE 224 +Canis lupus familiaris functional TRBV5-2 TRB V TRUE 225 +Canis lupus familiaris non-functional TRBV5-3 TRB V FALSE 226 +Canis lupus familiaris functional TRBV5-4 TRB V TRUE 227 +Canis lupus familiaris non-functional TRBV6 TRB V FALSE 228 +Canis lupus familiaris functional TRBV7 TRB V TRUE 229 +Canis lupus familiaris non-functional TRBV8 TRB V FALSE 230 +Canis lupus familiaris non-functional TRGJ1-1 TRG J FALSE 231 +Canis lupus familiaris functional TRGJ1-2 TRG J TRUE 232 +Canis lupus familiaris non-functional TRGJ2-1 TRG J FALSE 233 +Canis lupus familiaris functional TRGJ2-2 TRG J TRUE 234 +Canis lupus familiaris non-functional TRGJ3-1 TRG J FALSE 235 +Canis lupus familiaris non-functional TRGJ3-2 TRG J FALSE 236 +Canis lupus familiaris non-functional TRGJ4-1 TRG J FALSE 237 +Canis lupus familiaris functional TRGJ4-2 TRG J TRUE 238 +Canis lupus familiaris non-functional TRGJ5-1 TRG J FALSE 239 +Canis lupus familiaris functional TRGJ5-2 TRG J TRUE 240 +Canis lupus familiaris functional TRGJ6-1 TRG J TRUE 241 +Canis lupus familiaris non-functional TRGJ6-2 TRG J FALSE 242 +Canis lupus familiaris non-functional TRGJ7-1 TRG J FALSE 243 +Canis lupus familiaris functional TRGJ7-2 TRG J TRUE 244 +Canis lupus familiaris functional TRGJ8-1 TRG J TRUE 245 +Canis lupus familiaris non-functional TRGJ8-2 TRG J FALSE 246 +Canis lupus familiaris non-functional TRGV1-1 TRG V FALSE 247 +Canis lupus familiaris functional TRGV2-1 TRG V TRUE 248 +Canis lupus familiaris functional TRGV2-2 TRG V TRUE 249 +Canis lupus familiaris functional TRGV2-3 TRG V TRUE 250 +Canis lupus familiaris functional TRGV2-4 TRG V TRUE 251 +Canis lupus familiaris non-functional TRGV3-1 TRG V FALSE 252 +Canis lupus familiaris non-functional TRGV3-2 TRG V FALSE 253 +Canis lupus familiaris non-functional TRGV3-3 TRG V FALSE 254 +Canis lupus familiaris functional TRGV4-1 TRG V TRUE 255 +Canis lupus familiaris non-functional TRGV5-1 TRG V FALSE 256 +Canis lupus familiaris functional TRGV5-2 TRG V TRUE 257 +Canis lupus familiaris non-functional TRGV6-1 TRG V FALSE 258 +Canis lupus familiaris non-functional TRGV7-1 TRG V FALSE 259 +Canis lupus familiaris functional TRGV7-2 TRG V TRUE 260 +Canis lupus familiaris functional TRGV7-3 TRG V TRUE 261 +Canis lupus familiaris non-functional TRGV8-1 TRG V FALSE 262 +Danio rerio non-functional IGHD IGH D FALSE 263 +Danio rerio functional IGHD1-1 IGH D TRUE 264 +Danio rerio functional IGHD1-2 IGH D TRUE 265 +Danio rerio functional IGHD2-1 IGH D TRUE 266 +Danio rerio functional IGHD2-2 IGH D TRUE 267 +Danio rerio functional IGHD2-3 IGH D TRUE 268 +Danio rerio functional IGHD2-4 IGH D TRUE 269 +Danio rerio functional IGHD2-5 IGH D TRUE 270 +Danio rerio functional IGHJ1-1 IGH J TRUE 271 +Danio rerio functional IGHJ1-2 IGH J TRUE 272 +Danio rerio functional IGHJ2-1 IGH J TRUE 273 +Danio rerio functional IGHJ2-2 IGH J TRUE 274 +Danio rerio functional IGHJ2-3 IGH J TRUE 275 +Danio rerio functional IGHJ2-4 IGH J TRUE 276 +Danio rerio functional IGHJ2-5 IGH J TRUE 277 +Danio rerio functional IGHV1-1 IGH V TRUE 278 +Danio rerio functional IGHV1-2 IGH V TRUE 279 +Danio rerio functional IGHV1-3 IGH V TRUE 280 +Danio rerio functional IGHV1-4 IGH V TRUE 281 +Danio rerio functional IGHV1-5 IGH V TRUE 282 +Danio rerio functional IGHV10-1 IGH V TRUE 283 +Danio rerio functional IGHV11-1 IGH V TRUE 284 +Danio rerio functional IGHV11-2 IGH V TRUE 285 +Danio rerio non-functional IGHV12-1 IGH V FALSE 286 +Danio rerio functional IGHV13-2 IGH V TRUE 287 +Danio rerio functional IGHV14-1 IGH V TRUE 288 +Danio rerio functional IGHV2-1 IGH V TRUE 289 +Danio rerio functional IGHV2-2 IGH V TRUE 290 +Danio rerio functional IGHV2-3 IGH V TRUE 291 +Danio rerio functional IGHV3-2 IGH V TRUE 292 +Danio rerio functional IGHV4-1 IGH V TRUE 293 +Danio rerio functional IGHV4-2 IGH V TRUE 294 +Danio rerio functional IGHV4-3 IGH V TRUE 295 +Danio rerio functional IGHV4-5 IGH V TRUE 296 +Danio rerio functional IGHV4-6 IGH V TRUE 297 +Danio rerio functional IGHV4-7 IGH V TRUE 298 +Danio rerio functional IGHV4-8 IGH V TRUE 299 +Danio rerio functional IGHV4-9 IGH V TRUE 300 +Danio rerio functional IGHV5-1 IGH V TRUE 301 +Danio rerio non-functional IGHV5-2 IGH V FALSE 302 +Danio rerio functional IGHV5-3 IGH V TRUE 303 +Danio rerio non-functional IGHV5-4 IGH V FALSE 304 +Danio rerio non-functional IGHV5-5 IGH V FALSE 305 +Danio rerio functional IGHV5-7 IGH V TRUE 306 +Danio rerio non-functional IGHV5-8 IGH V FALSE 307 +Danio rerio functional IGHV6-1 IGH V TRUE 308 +Danio rerio non-functional IGHV6-2 IGH V FALSE 309 +Danio rerio functional IGHV7-1 IGH V TRUE 310 +Danio rerio functional IGHV8-1 IGH V TRUE 311 +Danio rerio functional IGHV8-2 IGH V TRUE 312 +Danio rerio functional IGHV8-3 IGH V TRUE 313 +Danio rerio functional IGHV8-4 IGH V TRUE 314 +Danio rerio functional IGHV9-1 IGH V TRUE 315 +Danio rerio functional IGHV9-2 IGH V TRUE 316 +Danio rerio functional IGHV9-3 IGH V TRUE 317 +Danio rerio functional IGHV9-4 IGH V TRUE 318 +Danio rerio functional IGIJ1 IGI J TRUE 319 +Danio rerio non-functional IGIJ2 IGI J FALSE 320 +Danio rerio functional IGIJ3 IGI J TRUE 321 +Danio rerio non-functional IGIJ4 IGI J FALSE 322 +Danio rerio functional IGIJ5 IGI J TRUE 323 +Danio rerio non-functional IGIJ6S1 IGI J FALSE 324 +Danio rerio non-functional IGIJ7S1 IGI J FALSE 325 +Danio rerio non-functional IGIJ8S1 IGI J FALSE 326 +Danio rerio non-functional IGIV1-1 IGI V FALSE 327 +Danio rerio functional IGIV1-2 IGI V TRUE 328 +Danio rerio non-functional IGIV2 IGI V FALSE 329 +Danio rerio functional IGIV3-1 IGI V TRUE 330 +Danio rerio non-functional IGIV3-2 IGI V FALSE 331 +Danio rerio functional IGIV3-3 IGI V TRUE 332 +Danio rerio non-functional IGIV4-1 IGI V FALSE 333 +Danio rerio non-functional IGIV4-2 IGI V FALSE 334 +Danio rerio non-functional IGIV6S1 IGI V FALSE 335 +Danio rerio non-functional IGIV6S2 IGI V FALSE 336 +Danio rerio non-functional IGIV7S1 IGI V FALSE 337 +Danio rerio non-functional IGIV7S2 IGI V FALSE 338 +Danio rerio non-functional IGIV8S1 IGI V FALSE 339 +Homo sapiens functional CD1D CD1 D TRUE 340 +Homo sapiens functional IGHD IGH D TRUE 341 +Homo sapiens functional IGHD1-1 IGH D TRUE 342 +Homo sapiens non-functional IGHD1-14 IGH D FALSE 343 +Homo sapiens functional IGHD1-20 IGH D TRUE 344 +Homo sapiens functional IGHD1-26 IGH D TRUE 345 +Homo sapiens functional IGHD1-7 IGH D TRUE 346 +Homo sapiens non-functional IGHD1/OR15-1a IGH D FALSE 347 +Homo sapiens non-functional IGHD1/OR15-1b IGH D FALSE 348 +Homo sapiens functional IGHD2-15 IGH D TRUE 349 +Homo sapiens functional IGHD2-2 IGH D TRUE 350 +Homo sapiens functional IGHD2-21 IGH D TRUE 351 +Homo sapiens functional IGHD2-8 IGH D TRUE 352 +Homo sapiens non-functional IGHD2/OR15-2a IGH D FALSE 353 +Homo sapiens non-functional IGHD2/OR15-2b IGH D FALSE 354 +Homo sapiens functional IGHD3-10 IGH D TRUE 355 +Homo sapiens functional IGHD3-16 IGH D TRUE 356 +Homo sapiens functional IGHD3-22 IGH D TRUE 357 +Homo sapiens functional IGHD3-3 IGH D TRUE 358 +Homo sapiens functional IGHD3-9 IGH D TRUE 359 +Homo sapiens non-functional IGHD3/OR15-3a IGH D FALSE 360 +Homo sapiens non-functional IGHD3/OR15-3b IGH D FALSE 361 +Homo sapiens non-functional IGHD4-11 IGH D FALSE 362 +Homo sapiens functional IGHD4-17 IGH D TRUE 363 +Homo sapiens non-functional IGHD4-23 IGH D FALSE 364 +Homo sapiens functional IGHD4-4 IGH D TRUE 365 +Homo sapiens non-functional IGHD4/OR15-4a IGH D FALSE 366 +Homo sapiens non-functional IGHD4/OR15-4b IGH D FALSE 367 +Homo sapiens functional IGHD5-12 IGH D TRUE 368 +Homo sapiens functional IGHD5-18 IGH D TRUE 369 +Homo sapiens non-functional IGHD5-24 IGH D FALSE 370 +Homo sapiens functional IGHD5-5 IGH D TRUE 371 +Homo sapiens non-functional IGHD5/OR15-5a IGH D FALSE 372 +Homo sapiens non-functional IGHD5/OR15-5b IGH D FALSE 373 +Homo sapiens functional IGHD6-13 IGH D TRUE 374 +Homo sapiens functional IGHD6-19 IGH D TRUE 375 +Homo sapiens functional IGHD6-25 IGH D TRUE 376 +Homo sapiens functional IGHD6-6 IGH D TRUE 377 +Homo sapiens functional IGHD7-27 IGH D TRUE 378 +Homo sapiens functional IGHJ1 IGH J TRUE 379 +Homo sapiens non-functional IGHJ1P IGH J FALSE 380 +Homo sapiens functional IGHJ2 IGH J TRUE 381 +Homo sapiens non-functional IGHJ2P IGH J FALSE 382 +Homo sapiens functional IGHJ3 IGH J TRUE 383 +Homo sapiens non-functional IGHJ3P IGH J FALSE 384 +Homo sapiens functional IGHJ4 IGH J TRUE 385 +Homo sapiens functional IGHJ5 IGH J TRUE 386 +Homo sapiens functional IGHJ6 IGH J TRUE 387 +Homo sapiens non-functional IGHV(II)-1-1 IGH V FALSE 388 +Homo sapiens non-functional IGHV(II)-15-1 IGH V FALSE 389 +Homo sapiens non-functional IGHV(II)-20-1 IGH V FALSE 390 +Homo sapiens non-functional IGHV(II)-22-1 IGH V FALSE 391 +Homo sapiens non-functional IGHV(II)-23-1 IGH V FALSE 392 +Homo sapiens non-functional IGHV(II)-23-2 IGH V FALSE 393 +Homo sapiens non-functional IGHV(II)-26-2 IGH V FALSE 394 +Homo sapiens non-functional IGHV(II)-28-1 IGH V FALSE 395 +Homo sapiens non-functional IGHV(II)-30-1 IGH V FALSE 396 +Homo sapiens non-functional IGHV(II)-31-1 IGH V FALSE 397 +Homo sapiens non-functional IGHV(II)-33-1 IGH V FALSE 398 +Homo sapiens non-functional IGHV(II)-40-1 IGH V FALSE 399 +Homo sapiens non-functional IGHV(II)-43-1 IGH V FALSE 400 +Homo sapiens non-functional IGHV(II)-43-1D IGH V FALSE 401 +Homo sapiens non-functional IGHV(II)-44-1D IGH V FALSE 402 +Homo sapiens non-functional IGHV(II)-44-2 IGH V FALSE 403 +Homo sapiens non-functional IGHV(II)-44-2D IGH V FALSE 404 +Homo sapiens non-functional IGHV(II)-44-3 IGH V FALSE 405 +Homo sapiens non-functional IGHV(II)-46-1 IGH V FALSE 406 +Homo sapiens non-functional IGHV(II)-49-1 IGH V FALSE 407 +Homo sapiens non-functional IGHV(II)-51-2 IGH V FALSE 408 +Homo sapiens non-functional IGHV(II)-53-1 IGH V FALSE 409 +Homo sapiens non-functional IGHV(II)-60-1 IGH V FALSE 410 +Homo sapiens non-functional IGHV(II)-62-1 IGH V FALSE 411 +Homo sapiens non-functional IGHV(II)-65-1 IGH V FALSE 412 +Homo sapiens non-functional IGHV(II)-67-1 IGH V FALSE 413 +Homo sapiens non-functional IGHV(II)-74-1 IGH V FALSE 414 +Homo sapiens non-functional IGHV(II)-78-1 IGH V FALSE 415 +Homo sapiens non-functional IGHV(III)-11-1 IGH V FALSE 416 +Homo sapiens non-functional IGHV(III)-13-1 IGH V FALSE 417 +Homo sapiens non-functional IGHV(III)-16-1 IGH V FALSE 418 +Homo sapiens non-functional IGHV(III)-2-1 IGH V FALSE 419 +Homo sapiens non-functional IGHV(III)-22-2 IGH V FALSE 420 +Homo sapiens non-functional IGHV(III)-25-1 IGH V FALSE 421 +Homo sapiens non-functional IGHV(III)-26-1 IGH V FALSE 422 +Homo sapiens non-functional IGHV(III)-38-1 IGH V FALSE 423 +Homo sapiens non-functional IGHV(III)-38-1D IGH V FALSE 424 +Homo sapiens non-functional IGHV(III)-44 IGH V FALSE 425 +Homo sapiens non-functional IGHV(III)-44D IGH V FALSE 426 +Homo sapiens non-functional IGHV(III)-47-1 IGH V FALSE 427 +Homo sapiens non-functional IGHV(III)-5-1 IGH V FALSE 428 +Homo sapiens non-functional IGHV(III)-5-2 IGH V FALSE 429 +Homo sapiens non-functional IGHV(III)-51-1 IGH V FALSE 430 +Homo sapiens non-functional IGHV(III)-67-2 IGH V FALSE 431 +Homo sapiens non-functional IGHV(III)-67-3 IGH V FALSE 432 +Homo sapiens non-functional IGHV(III)-67-4 IGH V FALSE 433 +Homo sapiens non-functional IGHV(III)-76-1 IGH V FALSE 434 +Homo sapiens non-functional IGHV(III)-82 IGH V FALSE 435 +Homo sapiens non-functional IGHV(IV)-44-1 IGH V FALSE 436 +Homo sapiens non-functional IGHV1-12 IGH V FALSE 437 +Homo sapiens non-functional IGHV1-14 IGH V FALSE 438 +Homo sapiens non-functional IGHV1-17 IGH V FALSE 439 +Homo sapiens functional IGHV1-18 IGH V TRUE 440 +Homo sapiens functional IGHV1-2 IGH V TRUE 441 +Homo sapiens functional IGHV1-24 IGH V TRUE 442 +Homo sapiens functional IGHV1-3 IGH V TRUE 443 +Homo sapiens non-functional IGHV1-38-4 IGH V FALSE 444 +Homo sapiens functional IGHV1-45 IGH V TRUE 445 +Homo sapiens functional IGHV1-46 IGH V TRUE 446 +Homo sapiens functional IGHV1-58 IGH V TRUE 447 +Homo sapiens non-functional IGHV1-67 IGH V FALSE 448 +Homo sapiens non-functional IGHV1-68 IGH V FALSE 449 +Homo sapiens functional IGHV1-69 IGH V TRUE 450 +Homo sapiens functional IGHV1-69-2 IGH V TRUE 451 +Homo sapiens functional IGHV1-69D IGH V TRUE 452 +Homo sapiens functional IGHV1-8 IGH V TRUE 453 +Homo sapiens non-functional IGHV1-NL1 IGH V FALSE 454 +Homo sapiens non-functional IGHV1/OR15-1 IGH V FALSE 455 +Homo sapiens non-functional IGHV1/OR15-2 IGH V FALSE 456 +Homo sapiens non-functional IGHV1/OR15-3 IGH V FALSE 457 +Homo sapiens non-functional IGHV1/OR15-4 IGH V FALSE 458 +Homo sapiens non-functional IGHV1/OR15-5 IGH V FALSE 459 +Homo sapiens non-functional IGHV1/OR15-6 IGH V FALSE 460 +Homo sapiens non-functional IGHV1/OR15-9 IGH V FALSE 461 +Homo sapiens non-functional IGHV1/OR16-1 IGH V FALSE 462 +Homo sapiens non-functional IGHV1/OR16-2 IGH V FALSE 463 +Homo sapiens non-functional IGHV1/OR16-3 IGH V FALSE 464 +Homo sapiens non-functional IGHV1/OR16-4 IGH V FALSE 465 +Homo sapiens non-functional IGHV1/OR21-1 IGH V FALSE 466 +Homo sapiens non-functional IGHV2-10 IGH V FALSE 467 +Homo sapiens functional IGHV2-26 IGH V TRUE 468 +Homo sapiens functional IGHV2-5 IGH V TRUE 469 +Homo sapiens functional IGHV2-70 IGH V TRUE 470 +Homo sapiens functional IGHV2-70D IGH V TRUE 471 +Homo sapiens non-functional IGHV2/OR16-5 IGH V FALSE 472 +Homo sapiens functional IGHV3-11 IGH V TRUE 473 +Homo sapiens functional IGHV3-13 IGH V TRUE 474 +Homo sapiens functional IGHV3-15 IGH V TRUE 475 +Homo sapiens non-functional IGHV3-16 IGH V FALSE 476 +Homo sapiens non-functional IGHV3-19 IGH V FALSE 477 +Homo sapiens functional IGHV3-20 IGH V TRUE 478 +Homo sapiens functional IGHV3-21 IGH V TRUE 479 +Homo sapiens non-functional IGHV3-22 IGH V FALSE 480 +Homo sapiens functional IGHV3-23 IGH V TRUE 481 +Homo sapiens functional IGHV3-23D IGH V TRUE 482 +Homo sapiens non-functional IGHV3-25 IGH V FALSE 483 +Homo sapiens non-functional IGHV3-29 IGH V FALSE 484 +Homo sapiens functional IGHV3-30 IGH V TRUE 485 +Homo sapiens non-functional IGHV3-30-2 IGH V FALSE 486 +Homo sapiens functional IGHV3-30-3 IGH V TRUE 487 +Homo sapiens functional IGHV3-30-5 IGH V TRUE 488 +Homo sapiens non-functional IGHV3-32 IGH V FALSE 489 +Homo sapiens functional IGHV3-33 IGH V TRUE 490 +Homo sapiens non-functional IGHV3-33-2 IGH V FALSE 491 +Homo sapiens non-functional IGHV3-35 IGH V FALSE 492 +Homo sapiens non-functional IGHV3-36 IGH V FALSE 493 +Homo sapiens non-functional IGHV3-37 IGH V FALSE 494 +Homo sapiens non-functional IGHV3-38 IGH V FALSE 495 +Homo sapiens non-functional IGHV3-38-3 IGH V FALSE 496 +Homo sapiens non-functional IGHV3-41 IGH V FALSE 497 +Homo sapiens non-functional IGHV3-42 IGH V FALSE 498 +Homo sapiens non-functional IGHV3-42D IGH V FALSE 499 +Homo sapiens functional IGHV3-43 IGH V TRUE 500 +Homo sapiens functional IGHV3-43D IGH V TRUE 501 +Homo sapiens non-functional IGHV3-47 IGH V FALSE 502 +Homo sapiens functional IGHV3-48 IGH V TRUE 503 +Homo sapiens functional IGHV3-49 IGH V TRUE 504 +Homo sapiens non-functional IGHV3-50 IGH V FALSE 505 +Homo sapiens non-functional IGHV3-52 IGH V FALSE 506 +Homo sapiens functional IGHV3-53 IGH V TRUE 507 +Homo sapiens non-functional IGHV3-54 IGH V FALSE 508 +Homo sapiens non-functional IGHV3-57 IGH V FALSE 509 +Homo sapiens non-functional IGHV3-6 IGH V FALSE 510 +Homo sapiens non-functional IGHV3-60 IGH V FALSE 511 +Homo sapiens non-functional IGHV3-62 IGH V FALSE 512 +Homo sapiens non-functional IGHV3-63 IGH V FALSE 513 +Homo sapiens functional IGHV3-64 IGH V TRUE 514 +Homo sapiens functional IGHV3-64D IGH V TRUE 515 +Homo sapiens non-functional IGHV3-65 IGH V FALSE 516 +Homo sapiens functional IGHV3-66 IGH V TRUE 517 +Homo sapiens non-functional IGHV3-69-1 IGH V FALSE 518 +Homo sapiens functional IGHV3-7 IGH V TRUE 519 +Homo sapiens non-functional IGHV3-71 IGH V FALSE 520 +Homo sapiens functional IGHV3-72 IGH V TRUE 521 +Homo sapiens functional IGHV3-73 IGH V TRUE 522 +Homo sapiens functional IGHV3-74 IGH V TRUE 523 +Homo sapiens non-functional IGHV3-75 IGH V FALSE 524 +Homo sapiens non-functional IGHV3-76 IGH V FALSE 525 +Homo sapiens non-functional IGHV3-79 IGH V FALSE 526 +Homo sapiens functional IGHV3-9 IGH V TRUE 527 +Homo sapiens functional IGHV3-NL1 IGH V TRUE 528 +Homo sapiens non-functional IGHV3/OR15-7 IGH V FALSE 529 +Homo sapiens non-functional IGHV3/OR16-10 IGH V FALSE 530 +Homo sapiens non-functional IGHV3/OR16-11 IGH V FALSE 531 +Homo sapiens non-functional IGHV3/OR16-12 IGH V FALSE 532 +Homo sapiens non-functional IGHV3/OR16-13 IGH V FALSE 533 +Homo sapiens non-functional IGHV3/OR16-14 IGH V FALSE 534 +Homo sapiens non-functional IGHV3/OR16-15 IGH V FALSE 535 +Homo sapiens non-functional IGHV3/OR16-16 IGH V FALSE 536 +Homo sapiens non-functional IGHV3/OR16-6 IGH V FALSE 537 +Homo sapiens non-functional IGHV3/OR16-7 IGH V FALSE 538 +Homo sapiens non-functional IGHV3/OR16-8 IGH V FALSE 539 +Homo sapiens non-functional IGHV3/OR16-9 IGH V FALSE 540 +Homo sapiens functional IGHV4-28 IGH V TRUE 541 +Homo sapiens functional IGHV4-30-1 IGH V TRUE 542 +Homo sapiens functional IGHV4-30-2 IGH V TRUE 543 +Homo sapiens functional IGHV4-30-4 IGH V TRUE 544 +Homo sapiens functional IGHV4-31 IGH V TRUE 545 +Homo sapiens functional IGHV4-34 IGH V TRUE 546 +Homo sapiens functional IGHV4-38-2 IGH V TRUE 547 +Homo sapiens functional IGHV4-39 IGH V TRUE 548 +Homo sapiens functional IGHV4-4 IGH V TRUE 549 +Homo sapiens non-functional IGHV4-55 IGH V FALSE 550 +Homo sapiens functional IGHV4-59 IGH V TRUE 551 +Homo sapiens functional IGHV4-61 IGH V TRUE 552 +Homo sapiens non-functional IGHV4-80 IGH V FALSE 553 +Homo sapiens non-functional IGHV4/OR15-8 IGH V FALSE 554 +Homo sapiens functional IGHV5-10-1 IGH V TRUE 555 +Homo sapiens functional IGHV5-51 IGH V TRUE 556 +Homo sapiens non-functional IGHV5-78 IGH V FALSE 557 +Homo sapiens functional IGHV6-1 IGH V TRUE 558 +Homo sapiens non-functional IGHV7-27 IGH V FALSE 559 +Homo sapiens non-functional IGHV7-34-1 IGH V FALSE 560 +Homo sapiens functional IGHV7-4-1 IGH V TRUE 561 +Homo sapiens non-functional IGHV7-40 IGH V FALSE 562 +Homo sapiens non-functional IGHV7-40D IGH V FALSE 563 +Homo sapiens non-functional IGHV7-56 IGH V FALSE 564 +Homo sapiens non-functional IGHV7-77 IGH V FALSE 565 +Homo sapiens non-functional IGHV7-81 IGH V FALSE 566 +Homo sapiens non-functional IGHV7-NL1 IGH V FALSE 567 +Homo sapiens functional IGKJ1 IGK J TRUE 568 +Homo sapiens functional IGKJ2 IGK J TRUE 569 +Homo sapiens functional IGKJ3 IGK J TRUE 570 +Homo sapiens functional IGKJ4 IGK J TRUE 571 +Homo sapiens functional IGKJ5 IGK J TRUE 572 +Homo sapiens functional IGKV1-12 IGK V TRUE 573 +Homo sapiens functional IGKV1-13 IGK V TRUE 574 +Homo sapiens functional IGKV1-16 IGK V TRUE 575 +Homo sapiens functional IGKV1-17 IGK V TRUE 576 +Homo sapiens non-functional IGKV1-22 IGK V FALSE 577 +Homo sapiens functional IGKV1-27 IGK V TRUE 578 +Homo sapiens non-functional IGKV1-32 IGK V FALSE 579 +Homo sapiens functional IGKV1-33 IGK V TRUE 580 +Homo sapiens non-functional IGKV1-35 IGK V FALSE 581 +Homo sapiens non-functional IGKV1-37 IGK V FALSE 582 +Homo sapiens functional IGKV1-39 IGK V TRUE 583 +Homo sapiens functional IGKV1-5 IGK V TRUE 584 +Homo sapiens functional IGKV1-6 IGK V TRUE 585 +Homo sapiens functional IGKV1-8 IGK V TRUE 586 +Homo sapiens functional IGKV1-9 IGK V TRUE 587 +Homo sapiens functional IGKV1-NL1 IGK V TRUE 588 +Homo sapiens non-functional IGKV1/OR-2 IGK V FALSE 589 +Homo sapiens non-functional IGKV1/OR-3 IGK V FALSE 590 +Homo sapiens non-functional IGKV1/OR-4 IGK V FALSE 591 +Homo sapiens non-functional IGKV1/OR1-1 IGK V FALSE 592 +Homo sapiens non-functional IGKV1/OR10-1 IGK V FALSE 593 +Homo sapiens non-functional IGKV1/OR15-118 IGK V FALSE 594 +Homo sapiens non-functional IGKV1/OR2-0 IGK V FALSE 595 +Homo sapiens non-functional IGKV1/OR2-1 IGK V FALSE 596 +Homo sapiens non-functional IGKV1/OR2-108 IGK V FALSE 597 +Homo sapiens non-functional IGKV1/OR2-11 IGK V FALSE 598 +Homo sapiens non-functional IGKV1/OR2-118 IGK V FALSE 599 +Homo sapiens non-functional IGKV1/OR2-2 IGK V FALSE 600 +Homo sapiens non-functional IGKV1/OR2-3 IGK V FALSE 601 +Homo sapiens non-functional IGKV1/OR2-6 IGK V FALSE 602 +Homo sapiens non-functional IGKV1/OR2-9 IGK V FALSE 603 +Homo sapiens non-functional IGKV1/OR22-1 IGK V FALSE 604 +Homo sapiens non-functional IGKV1/OR22-5 IGK V FALSE 605 +Homo sapiens non-functional IGKV1/OR9-1 IGK V FALSE 606 +Homo sapiens non-functional IGKV1/OR9-2 IGK V FALSE 607 +Homo sapiens non-functional IGKV1/ORY-1 IGK V FALSE 608 +Homo sapiens functional IGKV1D-12 IGK V TRUE 609 +Homo sapiens functional IGKV1D-13 IGK V TRUE 610 +Homo sapiens functional IGKV1D-16 IGK V TRUE 611 +Homo sapiens functional IGKV1D-17 IGK V TRUE 612 +Homo sapiens non-functional IGKV1D-22 IGK V FALSE 613 +Homo sapiens non-functional IGKV1D-27 IGK V FALSE 614 +Homo sapiens non-functional IGKV1D-32 IGK V FALSE 615 +Homo sapiens functional IGKV1D-33 IGK V TRUE 616 +Homo sapiens non-functional IGKV1D-35 IGK V FALSE 617 +Homo sapiens non-functional IGKV1D-37 IGK V FALSE 618 +Homo sapiens functional IGKV1D-39 IGK V TRUE 619 +Homo sapiens non-functional IGKV1D-42 IGK V FALSE 620 +Homo sapiens functional IGKV1D-43 IGK V TRUE 621 +Homo sapiens functional IGKV1D-8 IGK V TRUE 622 +Homo sapiens non-functional IGKV2-10 IGK V FALSE 623 +Homo sapiens non-functional IGKV2-14 IGK V FALSE 624 +Homo sapiens non-functional IGKV2-18 IGK V FALSE 625 +Homo sapiens non-functional IGKV2-19 IGK V FALSE 626 +Homo sapiens non-functional IGKV2-23 IGK V FALSE 627 +Homo sapiens functional IGKV2-24 IGK V TRUE 628 +Homo sapiens non-functional IGKV2-26 IGK V FALSE 629 +Homo sapiens functional IGKV2-28 IGK V TRUE 630 +Homo sapiens functional IGKV2-29 IGK V TRUE 631 +Homo sapiens functional IGKV2-30 IGK V TRUE 632 +Homo sapiens non-functional IGKV2-36 IGK V FALSE 633 +Homo sapiens non-functional IGKV2-38 IGK V FALSE 634 +Homo sapiens non-functional IGKV2-4 IGK V FALSE 635 +Homo sapiens functional IGKV2-40 IGK V TRUE 636 +Homo sapiens non-functional IGKV2/OR2-1 IGK V FALSE 637 +Homo sapiens non-functional IGKV2/OR2-10 IGK V FALSE 638 +Homo sapiens non-functional IGKV2/OR2-2 IGK V FALSE 639 +Homo sapiens non-functional IGKV2/OR2-4 IGK V FALSE 640 +Homo sapiens non-functional IGKV2/OR2-7 IGK V FALSE 641 +Homo sapiens non-functional IGKV2/OR2-7D IGK V FALSE 642 +Homo sapiens non-functional IGKV2/OR2-8 IGK V FALSE 643 +Homo sapiens non-functional IGKV2/OR22-3 IGK V FALSE 644 +Homo sapiens non-functional IGKV2/OR22-4 IGK V FALSE 645 +Homo sapiens non-functional IGKV2D-10 IGK V FALSE 646 +Homo sapiens non-functional IGKV2D-14 IGK V FALSE 647 +Homo sapiens non-functional IGKV2D-18 IGK V FALSE 648 +Homo sapiens non-functional IGKV2D-19 IGK V FALSE 649 +Homo sapiens non-functional IGKV2D-23 IGK V FALSE 650 +Homo sapiens non-functional IGKV2D-24 IGK V FALSE 651 +Homo sapiens functional IGKV2D-26 IGK V TRUE 652 +Homo sapiens functional IGKV2D-28 IGK V TRUE 653 +Homo sapiens functional IGKV2D-29 IGK V TRUE 654 +Homo sapiens functional IGKV2D-30 IGK V TRUE 655 +Homo sapiens non-functional IGKV2D-36 IGK V FALSE 656 +Homo sapiens non-functional IGKV2D-38 IGK V FALSE 657 +Homo sapiens functional IGKV2D-40 IGK V TRUE 658 +Homo sapiens functional IGKV3-11 IGK V TRUE 659 +Homo sapiens functional IGKV3-15 IGK V TRUE 660 +Homo sapiens functional IGKV3-20 IGK V TRUE 661 +Homo sapiens non-functional IGKV3-25 IGK V FALSE 662 +Homo sapiens non-functional IGKV3-31 IGK V FALSE 663 +Homo sapiens non-functional IGKV3-34 IGK V FALSE 664 +Homo sapiens non-functional IGKV3-7 IGK V FALSE 665 +Homo sapiens functional IGKV3-NL1 IGK V TRUE 666 +Homo sapiens functional IGKV3-NL2 IGK V TRUE 667 +Homo sapiens functional IGKV3-NL3 IGK V TRUE 668 +Homo sapiens functional IGKV3-NL4 IGK V TRUE 669 +Homo sapiens functional IGKV3-NL5 IGK V TRUE 670 +Homo sapiens non-functional IGKV3/OR2-268 IGK V FALSE 671 +Homo sapiens non-functional IGKV3/OR2-5 IGK V FALSE 672 +Homo sapiens non-functional IGKV3/OR22-2 IGK V FALSE 673 +Homo sapiens functional IGKV3D-11 IGK V TRUE 674 +Homo sapiens functional IGKV3D-15 IGK V TRUE 675 +Homo sapiens functional IGKV3D-20 IGK V TRUE 676 +Homo sapiens non-functional IGKV3D-25 IGK V FALSE 677 +Homo sapiens non-functional IGKV3D-31 IGK V FALSE 678 +Homo sapiens non-functional IGKV3D-34 IGK V FALSE 679 +Homo sapiens functional IGKV3D-7 IGK V TRUE 680 +Homo sapiens functional IGKV4-1 IGK V TRUE 681 +Homo sapiens functional IGKV5-2 IGK V TRUE 682 +Homo sapiens non-functional IGKV6-21 IGK V FALSE 683 +Homo sapiens non-functional IGKV6D-21 IGK V FALSE 684 +Homo sapiens non-functional IGKV6D-41 IGK V FALSE 685 +Homo sapiens non-functional IGKV7-3 IGK V FALSE 686 +Homo sapiens non-functional IGLJ-C/OR18 IGL J FALSE 687 +Homo sapiens functional IGLJ1 IGL J TRUE 688 +Homo sapiens functional IGLJ2 IGL J TRUE 689 +Homo sapiens non-functional IGLJ2A IGL J FALSE 690 +Homo sapiens non-functional IGLJ2B IGL J FALSE 691 +Homo sapiens non-functional IGLJ2C IGL J FALSE 692 +Homo sapiens non-functional IGLJ2D IGL J FALSE 693 +Homo sapiens functional IGLJ3 IGL J TRUE 694 +Homo sapiens non-functional IGLJ4 IGL J FALSE 695 +Homo sapiens non-functional IGLJ5 IGL J FALSE 696 +Homo sapiens functional IGLJ6 IGL J TRUE 697 +Homo sapiens functional IGLJ7 IGL J TRUE 698 +Homo sapiens non-functional IGLV(I)-20 IGL V FALSE 699 +Homo sapiens non-functional IGLV(I)-38 IGL V FALSE 700 +Homo sapiens non-functional IGLV(I)-42 IGL V FALSE 701 +Homo sapiens non-functional IGLV(I)-56 IGL V FALSE 702 +Homo sapiens non-functional IGLV(I)-63 IGL V FALSE 703 +Homo sapiens non-functional IGLV(I)-68 IGL V FALSE 704 +Homo sapiens non-functional IGLV(I)-70 IGL V FALSE 705 +Homo sapiens non-functional IGLV(IV)-53 IGL V FALSE 706 +Homo sapiens non-functional IGLV(IV)-59 IGL V FALSE 707 +Homo sapiens non-functional IGLV(IV)-64 IGL V FALSE 708 +Homo sapiens non-functional IGLV(IV)-65 IGL V FALSE 709 +Homo sapiens non-functional IGLV(IV)-66-1 IGL V FALSE 710 +Homo sapiens non-functional IGLV(IV)/OR22-1 IGL V FALSE 711 +Homo sapiens non-functional IGLV(IV)/OR22-2 IGL V FALSE 712 +Homo sapiens non-functional IGLV(V)-58 IGL V FALSE 713 +Homo sapiens non-functional IGLV(V)-66 IGL V FALSE 714 +Homo sapiens non-functional IGLV(VI)-22-1 IGL V FALSE 715 +Homo sapiens non-functional IGLV(VI)-25-1 IGL V FALSE 716 +Homo sapiens non-functional IGLV(VII)-41-1 IGL V FALSE 717 +Homo sapiens non-functional IGLV/OR8-2 IGL V FALSE 718 +Homo sapiens functional IGLV1-36 IGL V TRUE 719 +Homo sapiens functional IGLV1-40 IGL V TRUE 720 +Homo sapiens non-functional IGLV1-41 IGL V FALSE 721 +Homo sapiens functional IGLV1-44 IGL V TRUE 722 +Homo sapiens functional IGLV1-47 IGL V TRUE 723 +Homo sapiens non-functional IGLV1-50 IGL V FALSE 724 +Homo sapiens functional IGLV1-51 IGL V TRUE 725 +Homo sapiens non-functional IGLV1-62 IGL V FALSE 726 +Homo sapiens functional IGLV10-54 IGL V TRUE 727 +Homo sapiens non-functional IGLV10-67 IGL V FALSE 728 +Homo sapiens non-functional IGLV11-55 IGL V FALSE 729 +Homo sapiens functional IGLV2-11 IGL V TRUE 730 +Homo sapiens functional IGLV2-14 IGL V TRUE 731 +Homo sapiens functional IGLV2-18 IGL V TRUE 732 +Homo sapiens functional IGLV2-23 IGL V TRUE 733 +Homo sapiens non-functional IGLV2-28 IGL V FALSE 734 +Homo sapiens non-functional IGLV2-33 IGL V FALSE 735 +Homo sapiens non-functional IGLV2-34 IGL V FALSE 736 +Homo sapiens non-functional IGLV2-5 IGL V FALSE 737 +Homo sapiens functional IGLV2-8 IGL V TRUE 738 +Homo sapiens non-functional IGLV2-NL1 IGL V FALSE 739 +Homo sapiens functional IGLV3-1 IGL V TRUE 740 +Homo sapiens functional IGLV3-10 IGL V TRUE 741 +Homo sapiens functional IGLV3-12 IGL V TRUE 742 +Homo sapiens non-functional IGLV3-13 IGL V FALSE 743 +Homo sapiens non-functional IGLV3-15 IGL V FALSE 744 +Homo sapiens functional IGLV3-16 IGL V TRUE 745 +Homo sapiens non-functional IGLV3-17 IGL V FALSE 746 +Homo sapiens functional IGLV3-19 IGL V TRUE 747 +Homo sapiens non-functional IGLV3-2 IGL V FALSE 748 +Homo sapiens functional IGLV3-21 IGL V TRUE 749 +Homo sapiens functional IGLV3-22 IGL V TRUE 750 +Homo sapiens non-functional IGLV3-24 IGL V FALSE 751 +Homo sapiens functional IGLV3-25 IGL V TRUE 752 +Homo sapiens non-functional IGLV3-26 IGL V FALSE 753 +Homo sapiens functional IGLV3-27 IGL V TRUE 754 +Homo sapiens non-functional IGLV3-29 IGL V FALSE 755 +Homo sapiens non-functional IGLV3-30 IGL V FALSE 756 +Homo sapiens non-functional IGLV3-31 IGL V FALSE 757 +Homo sapiens non-functional IGLV3-32 IGL V FALSE 758 +Homo sapiens non-functional IGLV3-4 IGL V FALSE 759 +Homo sapiens non-functional IGLV3-6 IGL V FALSE 760 +Homo sapiens non-functional IGLV3-7 IGL V FALSE 761 +Homo sapiens functional IGLV3-9 IGL V TRUE 762 +Homo sapiens functional IGLV4-3 IGL V TRUE 763 +Homo sapiens functional IGLV4-60 IGL V TRUE 764 +Homo sapiens functional IGLV4-69 IGL V TRUE 765 +Homo sapiens functional IGLV5-37 IGL V TRUE 766 +Homo sapiens functional IGLV5-39 IGL V TRUE 767 +Homo sapiens functional IGLV5-45 IGL V TRUE 768 +Homo sapiens non-functional IGLV5-48 IGL V FALSE 769 +Homo sapiens functional IGLV5-52 IGL V TRUE 770 +Homo sapiens functional IGLV6-57 IGL V TRUE 771 +Homo sapiens non-functional IGLV7-35 IGL V FALSE 772 +Homo sapiens functional IGLV7-43 IGL V TRUE 773 +Homo sapiens functional IGLV7-46 IGL V TRUE 774 +Homo sapiens functional IGLV8-61 IGL V TRUE 775 +Homo sapiens non-functional IGLV8/OR8-1 IGL V FALSE 776 +Homo sapiens functional IGLV9-49 IGL V TRUE 777 +Homo sapiens non-functional TRAJ1 TRA J FALSE 778 +Homo sapiens functional TRAJ10 TRA J TRUE 779 +Homo sapiens functional TRAJ11 TRA J TRUE 780 +Homo sapiens functional TRAJ12 TRA J TRUE 781 +Homo sapiens functional TRAJ13 TRA J TRUE 782 +Homo sapiens functional TRAJ14 TRA J TRUE 783 +Homo sapiens functional TRAJ15 TRA J TRUE 784 +Homo sapiens functional TRAJ16 TRA J TRUE 785 +Homo sapiens functional TRAJ17 TRA J TRUE 786 +Homo sapiens functional TRAJ18 TRA J TRUE 787 +Homo sapiens non-functional TRAJ19 TRA J FALSE 788 +Homo sapiens non-functional TRAJ2 TRA J FALSE 789 +Homo sapiens functional TRAJ20 TRA J TRUE 790 +Homo sapiens functional TRAJ21 TRA J TRUE 791 +Homo sapiens functional TRAJ22 TRA J TRUE 792 +Homo sapiens functional TRAJ23 TRA J TRUE 793 +Homo sapiens functional TRAJ24 TRA J TRUE 794 +Homo sapiens non-functional TRAJ25 TRA J FALSE 795 +Homo sapiens functional TRAJ26 TRA J TRUE 796 +Homo sapiens functional TRAJ27 TRA J TRUE 797 +Homo sapiens functional TRAJ28 TRA J TRUE 798 +Homo sapiens functional TRAJ29 TRA J TRUE 799 +Homo sapiens functional TRAJ3 TRA J TRUE 800 +Homo sapiens functional TRAJ30 TRA J TRUE 801 +Homo sapiens functional TRAJ31 TRA J TRUE 802 +Homo sapiens functional TRAJ32 TRA J TRUE 803 +Homo sapiens functional TRAJ33 TRA J TRUE 804 +Homo sapiens functional TRAJ34 TRA J TRUE 805 +Homo sapiens non-functional TRAJ35 TRA J FALSE 806 +Homo sapiens functional TRAJ36 TRA J TRUE 807 +Homo sapiens functional TRAJ37 TRA J TRUE 808 +Homo sapiens functional TRAJ38 TRA J TRUE 809 +Homo sapiens functional TRAJ39 TRA J TRUE 810 +Homo sapiens functional TRAJ4 TRA J TRUE 811 +Homo sapiens functional TRAJ40 TRA J TRUE 812 +Homo sapiens functional TRAJ41 TRA J TRUE 813 +Homo sapiens functional TRAJ42 TRA J TRUE 814 +Homo sapiens functional TRAJ43 TRA J TRUE 815 +Homo sapiens functional TRAJ44 TRA J TRUE 816 +Homo sapiens functional TRAJ45 TRA J TRUE 817 +Homo sapiens functional TRAJ46 TRA J TRUE 818 +Homo sapiens functional TRAJ47 TRA J TRUE 819 +Homo sapiens functional TRAJ48 TRA J TRUE 820 +Homo sapiens functional TRAJ49 TRA J TRUE 821 +Homo sapiens functional TRAJ5 TRA J TRUE 822 +Homo sapiens functional TRAJ50 TRA J TRUE 823 +Homo sapiens non-functional TRAJ51 TRA J FALSE 824 +Homo sapiens functional TRAJ52 TRA J TRUE 825 +Homo sapiens functional TRAJ53 TRA J TRUE 826 +Homo sapiens functional TRAJ54 TRA J TRUE 827 +Homo sapiens non-functional TRAJ55 TRA J FALSE 828 +Homo sapiens functional TRAJ56 TRA J TRUE 829 +Homo sapiens functional TRAJ57 TRA J TRUE 830 +Homo sapiens non-functional TRAJ58 TRA J FALSE 831 +Homo sapiens non-functional TRAJ59 TRA J FALSE 832 +Homo sapiens functional TRAJ6 TRA J TRUE 833 +Homo sapiens non-functional TRAJ60 TRA J FALSE 834 +Homo sapiens non-functional TRAJ61 TRA J FALSE 835 +Homo sapiens functional TRAJ7 TRA J TRUE 836 +Homo sapiens functional TRAJ8 TRA J TRUE 837 +Homo sapiens functional TRAJ9 TRA J TRUE 838 +Homo sapiens functional TRAV1-1 TRA V TRUE 839 +Homo sapiens functional TRAV1-2 TRA V TRUE 840 +Homo sapiens functional TRAV10 TRA V TRUE 841 +Homo sapiens non-functional TRAV11 TRA V FALSE 842 +Homo sapiens functional TRAV12-1 TRA V TRUE 843 +Homo sapiens functional TRAV12-2 TRA V TRUE 844 +Homo sapiens functional TRAV12-3 TRA V TRUE 845 +Homo sapiens functional TRAV13-1 TRA V TRUE 846 +Homo sapiens functional TRAV13-2 TRA V TRUE 847 +Homo sapiens functional TRAV14/DV4 TRA V TRUE 848 +Homo sapiens non-functional TRAV15 TRA V FALSE 849 +Homo sapiens functional TRAV16 TRA V TRUE 850 +Homo sapiens functional TRAV17 TRA V TRUE 851 +Homo sapiens functional TRAV18 TRA V TRUE 852 +Homo sapiens functional TRAV19 TRA V TRUE 853 +Homo sapiens functional TRAV2 TRA V TRUE 854 +Homo sapiens functional TRAV20 TRA V TRUE 855 +Homo sapiens functional TRAV21 TRA V TRUE 856 +Homo sapiens functional TRAV22 TRA V TRUE 857 +Homo sapiens functional TRAV23/DV6 TRA V TRUE 858 +Homo sapiens functional TRAV24 TRA V TRUE 859 +Homo sapiens functional TRAV25 TRA V TRUE 860 +Homo sapiens functional TRAV26-1 TRA V TRUE 861 +Homo sapiens functional TRAV26-2 TRA V TRUE 862 +Homo sapiens functional TRAV27 TRA V TRUE 863 +Homo sapiens non-functional TRAV28 TRA V FALSE 864 +Homo sapiens functional TRAV29/DV5 TRA V TRUE 865 +Homo sapiens functional TRAV3 TRA V TRUE 866 +Homo sapiens functional TRAV30 TRA V TRUE 867 +Homo sapiens non-functional TRAV31 TRA V FALSE 868 +Homo sapiens non-functional TRAV32 TRA V FALSE 869 +Homo sapiens non-functional TRAV33 TRA V FALSE 870 +Homo sapiens functional TRAV34 TRA V TRUE 871 +Homo sapiens functional TRAV35 TRA V TRUE 872 +Homo sapiens functional TRAV36/DV7 TRA V TRUE 873 +Homo sapiens non-functional TRAV37 TRA V FALSE 874 +Homo sapiens functional TRAV38-1 TRA V TRUE 875 +Homo sapiens functional TRAV38-2/DV8 TRA V TRUE 876 +Homo sapiens functional TRAV39 TRA V TRUE 877 +Homo sapiens functional TRAV4 TRA V TRUE 878 +Homo sapiens functional TRAV40 TRA V TRUE 879 +Homo sapiens functional TRAV41 TRA V TRUE 880 +Homo sapiens functional TRAV5 TRA V TRUE 881 +Homo sapiens functional TRAV6 TRA V TRUE 882 +Homo sapiens functional TRAV7 TRA V TRUE 883 +Homo sapiens functional TRAV8-1 TRA V TRUE 884 +Homo sapiens functional TRAV8-2 TRA V TRUE 885 +Homo sapiens functional TRAV8-3 TRA V TRUE 886 +Homo sapiens functional TRAV8-4 TRA V TRUE 887 +Homo sapiens non-functional TRAV8-5 TRA V FALSE 888 +Homo sapiens functional TRAV8-6 TRA V TRUE 889 +Homo sapiens non-functional TRAV8-7 TRA V FALSE 890 +Homo sapiens functional TRAV9-1 TRA V TRUE 891 +Homo sapiens functional TRAV9-2 TRA V TRUE 892 +Homo sapiens functional TRBD1 TRB D TRUE 893 +Homo sapiens functional TRBD2 TRB D TRUE 894 +Homo sapiens functional TRBJ1-1 TRB J TRUE 895 +Homo sapiens functional TRBJ1-2 TRB J TRUE 896 +Homo sapiens functional TRBJ1-3 TRB J TRUE 897 +Homo sapiens functional TRBJ1-4 TRB J TRUE 898 +Homo sapiens functional TRBJ1-5 TRB J TRUE 899 +Homo sapiens functional TRBJ1-6 TRB J TRUE 900 +Homo sapiens functional TRBJ2-1 TRB J TRUE 901 +Homo sapiens functional TRBJ2-2 TRB J TRUE 902 +Homo sapiens non-functional TRBJ2-2P TRB J FALSE 903 +Homo sapiens functional TRBJ2-3 TRB J TRUE 904 +Homo sapiens functional TRBJ2-4 TRB J TRUE 905 +Homo sapiens functional TRBJ2-5 TRB J TRUE 906 +Homo sapiens functional TRBJ2-6 TRB J TRUE 907 +Homo sapiens functional TRBJ2-7 TRB J TRUE 908 +Homo sapiens non-functional TRBV1 TRB V FALSE 909 +Homo sapiens functional TRBV10-1 TRB V TRUE 910 +Homo sapiens functional TRBV10-2 TRB V TRUE 911 +Homo sapiens functional TRBV10-3 TRB V TRUE 912 +Homo sapiens functional TRBV11-1 TRB V TRUE 913 +Homo sapiens functional TRBV11-2 TRB V TRUE 914 +Homo sapiens functional TRBV11-3 TRB V TRUE 915 +Homo sapiens non-functional TRBV12-1 TRB V FALSE 916 +Homo sapiens non-functional TRBV12-2 TRB V FALSE 917 +Homo sapiens functional TRBV12-3 TRB V TRUE 918 +Homo sapiens functional TRBV12-4 TRB V TRUE 919 +Homo sapiens functional TRBV12-5 TRB V TRUE 920 +Homo sapiens functional TRBV13 TRB V TRUE 921 +Homo sapiens functional TRBV14 TRB V TRUE 922 +Homo sapiens functional TRBV15 TRB V TRUE 923 +Homo sapiens functional TRBV16 TRB V TRUE 924 +Homo sapiens non-functional TRBV17 TRB V FALSE 925 +Homo sapiens functional TRBV18 TRB V TRUE 926 +Homo sapiens functional TRBV19 TRB V TRUE 927 +Homo sapiens functional TRBV2 TRB V TRUE 928 +Homo sapiens functional TRBV20-1 TRB V TRUE 929 +Homo sapiens non-functional TRBV20/OR9-2 TRB V FALSE 930 +Homo sapiens non-functional TRBV21-1 TRB V FALSE 931 +Homo sapiens non-functional TRBV21/OR9-2 TRB V FALSE 932 +Homo sapiens non-functional TRBV22-1 TRB V FALSE 933 +Homo sapiens non-functional TRBV22/OR9-2 TRB V FALSE 934 +Homo sapiens non-functional TRBV23-1 TRB V FALSE 935 +Homo sapiens non-functional TRBV23/OR9-2 TRB V FALSE 936 +Homo sapiens functional TRBV24-1 TRB V TRUE 937 +Homo sapiens non-functional TRBV24/OR9-2 TRB V FALSE 938 +Homo sapiens functional TRBV25-1 TRB V TRUE 939 +Homo sapiens non-functional TRBV25/OR9-2 TRB V FALSE 940 +Homo sapiens non-functional TRBV26 TRB V FALSE 941 +Homo sapiens non-functional TRBV26/OR9-2 TRB V FALSE 942 +Homo sapiens functional TRBV27 TRB V TRUE 943 +Homo sapiens functional TRBV28 TRB V TRUE 944 +Homo sapiens functional TRBV29-1 TRB V TRUE 945 +Homo sapiens non-functional TRBV29/OR9-2 TRB V FALSE 946 +Homo sapiens functional TRBV3-1 TRB V TRUE 947 +Homo sapiens non-functional TRBV3-2 TRB V FALSE 948 +Homo sapiens functional TRBV30 TRB V TRUE 949 +Homo sapiens functional TRBV4-1 TRB V TRUE 950 +Homo sapiens functional TRBV4-2 TRB V TRUE 951 +Homo sapiens functional TRBV4-3 TRB V TRUE 952 +Homo sapiens functional TRBV5-1 TRB V TRUE 953 +Homo sapiens non-functional TRBV5-2 TRB V FALSE 954 +Homo sapiens non-functional TRBV5-3 TRB V FALSE 955 +Homo sapiens functional TRBV5-4 TRB V TRUE 956 +Homo sapiens functional TRBV5-5 TRB V TRUE 957 +Homo sapiens functional TRBV5-6 TRB V TRUE 958 +Homo sapiens non-functional TRBV5-7 TRB V FALSE 959 +Homo sapiens functional TRBV5-8 TRB V TRUE 960 +Homo sapiens functional TRBV6-1 TRB V TRUE 961 +Homo sapiens functional TRBV6-2 TRB V TRUE 962 +Homo sapiens functional TRBV6-3 TRB V TRUE 963 +Homo sapiens functional TRBV6-4 TRB V TRUE 964 +Homo sapiens functional TRBV6-5 TRB V TRUE 965 +Homo sapiens functional TRBV6-6 TRB V TRUE 966 +Homo sapiens non-functional TRBV6-7 TRB V FALSE 967 +Homo sapiens functional TRBV6-8 TRB V TRUE 968 +Homo sapiens functional TRBV6-9 TRB V TRUE 969 +Homo sapiens non-functional TRBV7-1 TRB V FALSE 970 +Homo sapiens functional TRBV7-2 TRB V TRUE 971 +Homo sapiens functional TRBV7-3 TRB V TRUE 972 +Homo sapiens functional TRBV7-4 TRB V TRUE 973 +Homo sapiens non-functional TRBV7-5 TRB V FALSE 974 +Homo sapiens functional TRBV7-6 TRB V TRUE 975 +Homo sapiens functional TRBV7-7 TRB V TRUE 976 +Homo sapiens functional TRBV7-8 TRB V TRUE 977 +Homo sapiens functional TRBV7-9 TRB V TRUE 978 +Homo sapiens non-functional TRBV8-1 TRB V FALSE 979 +Homo sapiens non-functional TRBV8-2 TRB V FALSE 980 +Homo sapiens functional TRBV9 TRB V TRUE 981 +Homo sapiens non-functional TRBVA TRB V FALSE 982 +Homo sapiens non-functional TRBVA/OR9-2 TRB V FALSE 983 +Homo sapiens non-functional TRBVB TRB V FALSE 984 +Homo sapiens non-functional TRBVC TRB V FALSE 985 +Homo sapiens functional TRDD1 TRD D TRUE 986 +Homo sapiens functional TRDD2 TRD D TRUE 987 +Homo sapiens functional TRDD3 TRD D TRUE 988 +Homo sapiens functional TRDJ1 TRD J TRUE 989 +Homo sapiens functional TRDJ2 TRD J TRUE 990 +Homo sapiens functional TRDJ3 TRD J TRUE 991 +Homo sapiens functional TRDJ4 TRD J TRUE 992 +Homo sapiens functional TRDV1 TRD V TRUE 993 +Homo sapiens functional TRDV2 TRD V TRUE 994 +Homo sapiens functional TRDV3 TRD V TRUE 995 +Homo sapiens functional TRGJ1 TRG J TRUE 996 +Homo sapiens functional TRGJ2 TRG J TRUE 997 +Homo sapiens functional TRGJP TRG J TRUE 998 +Homo sapiens functional TRGJP1 TRG J TRUE 999 +Homo sapiens functional TRGJP2 TRG J TRUE 1000 +Homo sapiens non-functional TRGV1 TRG V FALSE 1001 +Homo sapiens non-functional TRGV10 TRG V FALSE 1002 +Homo sapiens non-functional TRGV11 TRG V FALSE 1003 +Homo sapiens functional TRGV2 TRG V TRUE 1004 +Homo sapiens functional TRGV3 TRG V TRUE 1005 +Homo sapiens non-functional TRGV3P TRG V FALSE 1006 +Homo sapiens functional TRGV4 TRG V TRUE 1007 +Homo sapiens functional TRGV5 TRG V TRUE 1008 +Homo sapiens non-functional TRGV5P TRG V FALSE 1009 +Homo sapiens non-functional TRGV6 TRG V FALSE 1010 +Homo sapiens non-functional TRGV7 TRG V FALSE 1011 +Homo sapiens functional TRGV8 TRG V TRUE 1012 +Homo sapiens functional TRGV9 TRG V TRUE 1013 +Homo sapiens non-functional TRGVA TRG V FALSE 1014 +Homo sapiens non-functional TRGVB TRG V FALSE 1015 +Macaca mulatta non-functional IGHD IGH D FALSE 1016 +Macaca mulatta functional IGHD1-1 IGH D TRUE 1017 +Macaca mulatta functional IGHD1-2 IGH D TRUE 1018 +Macaca mulatta functional IGHD1-3 IGH D TRUE 1019 +Macaca mulatta functional IGHD1-4 IGH D TRUE 1020 +Macaca mulatta non-functional IGHD1-5 IGH D FALSE 1021 +Macaca mulatta non-functional IGHD1-6 IGH D FALSE 1022 +Macaca mulatta non-functional IGHD1-7 IGH D FALSE 1023 +Macaca mulatta functional IGHD1-8 IGH D TRUE 1024 +Macaca mulatta functional IGHD2-1 IGH D TRUE 1025 +Macaca mulatta functional IGHD2-2 IGH D TRUE 1026 +Macaca mulatta functional IGHD2-3 IGH D TRUE 1027 +Macaca mulatta functional IGHD2-4 IGH D TRUE 1028 +Macaca mulatta functional IGHD2-5 IGH D TRUE 1029 +Macaca mulatta functional IGHD2-6 IGH D TRUE 1030 +Macaca mulatta non-functional IGHD3-1 IGH D FALSE 1031 +Macaca mulatta non-functional IGHD3-2 IGH D FALSE 1032 +Macaca mulatta functional IGHD3-3 IGH D TRUE 1033 +Macaca mulatta functional IGHD3-4 IGH D TRUE 1034 +Macaca mulatta non-functional IGHD4-1 IGH D FALSE 1035 +Macaca mulatta functional IGHD4-2 IGH D TRUE 1036 +Macaca mulatta functional IGHD4-3 IGH D TRUE 1037 +Macaca mulatta functional IGHD4-4 IGH D TRUE 1038 +Macaca mulatta non-functional IGHD5-1 IGH D FALSE 1039 +Macaca mulatta functional IGHD5-2 IGH D TRUE 1040 +Macaca mulatta non-functional IGHD5-3 IGH D FALSE 1041 +Macaca mulatta functional IGHD6-1 IGH D TRUE 1042 +Macaca mulatta functional IGHD6-2 IGH D TRUE 1043 +Macaca mulatta functional IGHD6-3 IGH D TRUE 1044 +Macaca mulatta functional IGHD6-4 IGH D TRUE 1045 +Macaca mulatta functional IGHD6-5 IGH D TRUE 1046 +Macaca mulatta functional IGHD6-6 IGH D TRUE 1047 +Macaca mulatta functional IGHD7-1 IGH D TRUE 1048 +Macaca mulatta functional IGHJ1 IGH J TRUE 1049 +Macaca mulatta non-functional IGHJ2 IGH J FALSE 1050 +Macaca mulatta functional IGHJ3 IGH J TRUE 1051 +Macaca mulatta functional IGHJ4 IGH J TRUE 1052 +Macaca mulatta functional IGHJ5-1 IGH J TRUE 1053 +Macaca mulatta functional IGHJ5-2 IGH J TRUE 1054 +Macaca mulatta functional IGHJ6 IGH J TRUE 1055 +Macaca mulatta non-functional IGHV(II)-1 IGH V FALSE 1056 +Macaca mulatta non-functional IGHV(II)-10 IGH V FALSE 1057 +Macaca mulatta non-functional IGHV(II)-11 IGH V FALSE 1058 +Macaca mulatta non-functional IGHV(II)-12 IGH V FALSE 1059 +Macaca mulatta non-functional IGHV(II)-2 IGH V FALSE 1060 +Macaca mulatta non-functional IGHV(II)-3 IGH V FALSE 1061 +Macaca mulatta non-functional IGHV(II)-4 IGH V FALSE 1062 +Macaca mulatta non-functional IGHV(II)-5 IGH V FALSE 1063 +Macaca mulatta non-functional IGHV(II)-6 IGH V FALSE 1064 +Macaca mulatta non-functional IGHV(II)-7 IGH V FALSE 1065 +Macaca mulatta non-functional IGHV(II)-8 IGH V FALSE 1066 +Macaca mulatta non-functional IGHV(II)-9 IGH V FALSE 1067 +Macaca mulatta non-functional IGHV(III)-1 IGH V FALSE 1068 +Macaca mulatta non-functional IGHV(III)-2 IGH V FALSE 1069 +Macaca mulatta non-functional IGHV(III)-3 IGH V FALSE 1070 +Macaca mulatta non-functional IGHV(III)-4 IGH V FALSE 1071 +Macaca mulatta functional IGHV1-1 IGH V TRUE 1072 +Macaca mulatta non-functional IGHV1-2 IGH V FALSE 1073 +Macaca mulatta functional IGHV2-1 IGH V TRUE 1074 +Macaca mulatta non-functional IGHV2-2 IGH V FALSE 1075 +Macaca mulatta non-functional IGHV3-1 IGH V FALSE 1076 +Macaca mulatta functional IGHV3-10 IGH V TRUE 1077 +Macaca mulatta functional IGHV3-11 IGH V TRUE 1078 +Macaca mulatta functional IGHV3-12 IGH V TRUE 1079 +Macaca mulatta functional IGHV3-13 IGH V TRUE 1080 +Macaca mulatta functional IGHV3-14 IGH V TRUE 1081 +Macaca mulatta non-functional IGHV3-15 IGH V FALSE 1082 +Macaca mulatta non-functional IGHV3-16 IGH V FALSE 1083 +Macaca mulatta non-functional IGHV3-17 IGH V FALSE 1084 +Macaca mulatta functional IGHV3-18 IGH V TRUE 1085 +Macaca mulatta non-functional IGHV3-19 IGH V FALSE 1086 +Macaca mulatta non-functional IGHV3-2 IGH V FALSE 1087 +Macaca mulatta functional IGHV3-20 IGH V TRUE 1088 +Macaca mulatta functional IGHV3-21 IGH V TRUE 1089 +Macaca mulatta functional IGHV3-22 IGH V TRUE 1090 +Macaca mulatta non-functional IGHV3-23 IGH V FALSE 1091 +Macaca mulatta non-functional IGHV3-24 IGH V FALSE 1092 +Macaca mulatta non-functional IGHV3-3 IGH V FALSE 1093 +Macaca mulatta non-functional IGHV3-4 IGH V FALSE 1094 +Macaca mulatta functional IGHV3-5 IGH V TRUE 1095 +Macaca mulatta functional IGHV3-6 IGH V TRUE 1096 +Macaca mulatta functional IGHV3-7 IGH V TRUE 1097 +Macaca mulatta non-functional IGHV3-8 IGH V FALSE 1098 +Macaca mulatta functional IGHV3-9 IGH V TRUE 1099 +Macaca mulatta non-functional IGHV4-1 IGH V FALSE 1100 +Macaca mulatta functional IGHV4-2 IGH V TRUE 1101 +Macaca mulatta non-functional IGHV4-3 IGH V FALSE 1102 +Macaca mulatta non-functional IGHV4-4 IGH V FALSE 1103 +Macaca mulatta non-functional IGHV5-1 IGH V FALSE 1104 +Macaca mulatta functional IGHV5-2 IGH V TRUE 1105 +Macaca mulatta functional IGHV6-1 IGH V TRUE 1106 +Macaca mulatta functional IGHV7-1 IGH V TRUE 1107 +Macaca mulatta functional IGKJ1 IGK J TRUE 1108 +Macaca mulatta functional IGKJ2 IGK J TRUE 1109 +Macaca mulatta functional IGKJ3 IGK J TRUE 1110 +Macaca mulatta functional IGKJ4 IGK J TRUE 1111 +Macaca mulatta non-functional IGKJ5 IGK J FALSE 1112 +Macaca mulatta non-functional IGKV1-1 IGK V FALSE 1113 +Macaca mulatta functional IGKV1-10 IGK V TRUE 1114 +Macaca mulatta functional IGKV1-11 IGK V TRUE 1115 +Macaca mulatta non-functional IGKV1-12 IGK V FALSE 1116 +Macaca mulatta functional IGKV1-13 IGK V TRUE 1117 +Macaca mulatta functional IGKV1-14 IGK V TRUE 1118 +Macaca mulatta functional IGKV1-15 IGK V TRUE 1119 +Macaca mulatta non-functional IGKV1-16 IGK V FALSE 1120 +Macaca mulatta functional IGKV1-17 IGK V TRUE 1121 +Macaca mulatta functional IGKV1-18 IGK V TRUE 1122 +Macaca mulatta non-functional IGKV1-19 IGK V FALSE 1123 +Macaca mulatta functional IGKV1-2 IGK V TRUE 1124 +Macaca mulatta functional IGKV1-20 IGK V TRUE 1125 +Macaca mulatta functional IGKV1-21 IGK V TRUE 1126 +Macaca mulatta functional IGKV1-22 IGK V TRUE 1127 +Macaca mulatta functional IGKV1-23 IGK V TRUE 1128 +Macaca mulatta non-functional IGKV1-3 IGK V FALSE 1129 +Macaca mulatta non-functional IGKV1-4 IGK V FALSE 1130 +Macaca mulatta functional IGKV1-5 IGK V TRUE 1131 +Macaca mulatta non-functional IGKV1-6 IGK V FALSE 1132 +Macaca mulatta non-functional IGKV1-7 IGK V FALSE 1133 +Macaca mulatta functional IGKV1-8 IGK V TRUE 1134 +Macaca mulatta functional IGKV1-9 IGK V TRUE 1135 +Macaca mulatta functional IGKV1S1 IGK V TRUE 1136 +Macaca mulatta functional IGKV1S10 IGK V TRUE 1137 +Macaca mulatta functional IGKV1S11 IGK V TRUE 1138 +Macaca mulatta functional IGKV1S12 IGK V TRUE 1139 +Macaca mulatta functional IGKV1S13 IGK V TRUE 1140 +Macaca mulatta functional IGKV1S14 IGK V TRUE 1141 +Macaca mulatta functional IGKV1S15 IGK V TRUE 1142 +Macaca mulatta functional IGKV1S16 IGK V TRUE 1143 +Macaca mulatta functional IGKV1S17 IGK V TRUE 1144 +Macaca mulatta non-functional IGKV1S18 IGK V FALSE 1145 +Macaca mulatta functional IGKV1S19 IGK V TRUE 1146 +Macaca mulatta functional IGKV1S2 IGK V TRUE 1147 +Macaca mulatta functional IGKV1S20 IGK V TRUE 1148 +Macaca mulatta functional IGKV1S21 IGK V TRUE 1149 +Macaca mulatta functional IGKV1S22 IGK V TRUE 1150 +Macaca mulatta functional IGKV1S23 IGK V TRUE 1151 +Macaca mulatta functional IGKV1S24 IGK V TRUE 1152 +Macaca mulatta functional IGKV1S25 IGK V TRUE 1153 +Macaca mulatta functional IGKV1S26 IGK V TRUE 1154 +Macaca mulatta functional IGKV1S27 IGK V TRUE 1155 +Macaca mulatta functional IGKV1S28 IGK V TRUE 1156 +Macaca mulatta functional IGKV1S3 IGK V TRUE 1157 +Macaca mulatta functional IGKV1S4 IGK V TRUE 1158 +Macaca mulatta functional IGKV1S5 IGK V TRUE 1159 +Macaca mulatta functional IGKV1S6 IGK V TRUE 1160 +Macaca mulatta functional IGKV1S7 IGK V TRUE 1161 +Macaca mulatta functional IGKV1S8 IGK V TRUE 1162 +Macaca mulatta functional IGKV1S9 IGK V TRUE 1163 +Macaca mulatta functional IGKV2-1 IGK V TRUE 1164 +Macaca mulatta non-functional IGKV2-10 IGK V FALSE 1165 +Macaca mulatta non-functional IGKV2-11 IGK V FALSE 1166 +Macaca mulatta non-functional IGKV2-12 IGK V FALSE 1167 +Macaca mulatta non-functional IGKV2-13 IGK V FALSE 1168 +Macaca mulatta functional IGKV2-14 IGK V TRUE 1169 +Macaca mulatta non-functional IGKV2-15 IGK V FALSE 1170 +Macaca mulatta non-functional IGKV2-16 IGK V FALSE 1171 +Macaca mulatta non-functional IGKV2-2 IGK V FALSE 1172 +Macaca mulatta functional IGKV2-3 IGK V TRUE 1173 +Macaca mulatta non-functional IGKV2-4 IGK V FALSE 1174 +Macaca mulatta non-functional IGKV2-5 IGK V FALSE 1175 +Macaca mulatta non-functional IGKV2-6 IGK V FALSE 1176 +Macaca mulatta non-functional IGKV2-7 IGK V FALSE 1177 +Macaca mulatta non-functional IGKV2-8 IGK V FALSE 1178 +Macaca mulatta non-functional IGKV2-9 IGK V FALSE 1179 +Macaca mulatta functional IGKV2S1 IGK V TRUE 1180 +Macaca mulatta functional IGKV2S10 IGK V TRUE 1181 +Macaca mulatta functional IGKV2S11 IGK V TRUE 1182 +Macaca mulatta functional IGKV2S12 IGK V TRUE 1183 +Macaca mulatta functional IGKV2S13 IGK V TRUE 1184 +Macaca mulatta non-functional IGKV2S14 IGK V FALSE 1185 +Macaca mulatta functional IGKV2S15 IGK V TRUE 1186 +Macaca mulatta non-functional IGKV2S16 IGK V FALSE 1187 +Macaca mulatta functional IGKV2S17 IGK V TRUE 1188 +Macaca mulatta functional IGKV2S18 IGK V TRUE 1189 +Macaca mulatta functional IGKV2S19 IGK V TRUE 1190 +Macaca mulatta functional IGKV2S2 IGK V TRUE 1191 +Macaca mulatta functional IGKV2S20 IGK V TRUE 1192 +Macaca mulatta functional IGKV2S3 IGK V TRUE 1193 +Macaca mulatta functional IGKV2S4 IGK V TRUE 1194 +Macaca mulatta functional IGKV2S5 IGK V TRUE 1195 +Macaca mulatta non-functional IGKV2S6 IGK V FALSE 1196 +Macaca mulatta non-functional IGKV2S7 IGK V FALSE 1197 +Macaca mulatta functional IGKV2S8 IGK V TRUE 1198 +Macaca mulatta functional IGKV2S9 IGK V TRUE 1199 +Macaca mulatta functional IGKV3-1 IGK V TRUE 1200 +Macaca mulatta non-functional IGKV3-10 IGK V FALSE 1201 +Macaca mulatta non-functional IGKV3-11 IGK V FALSE 1202 +Macaca mulatta functional IGKV3-2 IGK V TRUE 1203 +Macaca mulatta functional IGKV3-3 IGK V TRUE 1204 +Macaca mulatta non-functional IGKV3-4 IGK V FALSE 1205 +Macaca mulatta functional IGKV3-5 IGK V TRUE 1206 +Macaca mulatta non-functional IGKV3-6 IGK V FALSE 1207 +Macaca mulatta non-functional IGKV3-7 IGK V FALSE 1208 +Macaca mulatta non-functional IGKV3-8 IGK V FALSE 1209 +Macaca mulatta functional IGKV3-9 IGK V TRUE 1210 +Macaca mulatta functional IGKV3S1 IGK V TRUE 1211 +Macaca mulatta functional IGKV3S10 IGK V TRUE 1212 +Macaca mulatta functional IGKV3S11 IGK V TRUE 1213 +Macaca mulatta functional IGKV3S2 IGK V TRUE 1214 +Macaca mulatta functional IGKV3S3 IGK V TRUE 1215 +Macaca mulatta functional IGKV3S4 IGK V TRUE 1216 +Macaca mulatta functional IGKV3S5 IGK V TRUE 1217 +Macaca mulatta functional IGKV3S6 IGK V TRUE 1218 +Macaca mulatta functional IGKV3S7 IGK V TRUE 1219 +Macaca mulatta functional IGKV3S8 IGK V TRUE 1220 +Macaca mulatta functional IGKV3S9 IGK V TRUE 1221 +Macaca mulatta non-functional IGKV4-1 IGK V FALSE 1222 +Macaca mulatta non-functional IGKV4-2 IGK V FALSE 1223 +Macaca mulatta functional IGKV4-3 IGK V TRUE 1224 +Macaca mulatta functional IGKV5-1 IGK V TRUE 1225 +Macaca mulatta functional IGKV5-2 IGK V TRUE 1226 +Macaca mulatta functional IGKV6-1 IGK V TRUE 1227 +Macaca mulatta functional IGKV6-2 IGK V TRUE 1228 +Macaca mulatta non-functional IGKV6-3 IGK V FALSE 1229 +Macaca mulatta functional IGKV7-1 IGK V TRUE 1230 +Macaca mulatta functional IGLJ1 IGL J TRUE 1231 +Macaca mulatta functional IGLJ2 IGL J TRUE 1232 +Macaca mulatta functional IGLJ3 IGL J TRUE 1233 +Macaca mulatta non-functional IGLJ4 IGL J FALSE 1234 +Macaca mulatta functional IGLJ5 IGL J TRUE 1235 +Macaca mulatta functional IGLJ6 IGL J TRUE 1236 +Macaca mulatta non-functional IGLV(I)-1 IGL V FALSE 1237 +Macaca mulatta non-functional IGLV(I)-10 IGL V FALSE 1238 +Macaca mulatta non-functional IGLV(I)-11 IGL V FALSE 1239 +Macaca mulatta non-functional IGLV(I)-12 IGL V FALSE 1240 +Macaca mulatta non-functional IGLV(I)-2 IGL V FALSE 1241 +Macaca mulatta non-functional IGLV(I)-3 IGL V FALSE 1242 +Macaca mulatta non-functional IGLV(I)-4 IGL V FALSE 1243 +Macaca mulatta non-functional IGLV(I)-5 IGL V FALSE 1244 +Macaca mulatta non-functional IGLV(I)-6 IGL V FALSE 1245 +Macaca mulatta non-functional IGLV(I)-7 IGL V FALSE 1246 +Macaca mulatta non-functional IGLV(I)-8 IGL V FALSE 1247 +Macaca mulatta non-functional IGLV(I)-9 IGL V FALSE 1248 +Macaca mulatta non-functional IGLV(II)-1 IGL V FALSE 1249 +Macaca mulatta non-functional IGLV(II)-2 IGL V FALSE 1250 +Macaca mulatta non-functional IGLV(III)-1 IGL V FALSE 1251 +Macaca mulatta non-functional IGLV(III)-2 IGL V FALSE 1252 +Macaca mulatta non-functional IGLV(III)-3 IGL V FALSE 1253 +Macaca mulatta non-functional IGLV(III)-4 IGL V FALSE 1254 +Macaca mulatta non-functional IGLV(IV)-1 IGL V FALSE 1255 +Macaca mulatta non-functional IGLV(IV)-2 IGL V FALSE 1256 +Macaca mulatta non-functional IGLV(IV)-3 IGL V FALSE 1257 +Macaca mulatta non-functional IGLV(V)-1 IGL V FALSE 1258 +Macaca mulatta non-functional IGLV(V)-2 IGL V FALSE 1259 +Macaca mulatta non-functional IGLV1-1 IGL V FALSE 1260 +Macaca mulatta functional IGLV1-10 IGL V TRUE 1261 +Macaca mulatta functional IGLV1-11 IGL V TRUE 1262 +Macaca mulatta functional IGLV1-12 IGL V TRUE 1263 +Macaca mulatta functional IGLV1-13 IGL V TRUE 1264 +Macaca mulatta functional IGLV1-14 IGL V TRUE 1265 +Macaca mulatta functional IGLV1-15 IGL V TRUE 1266 +Macaca mulatta non-functional IGLV1-2 IGL V FALSE 1267 +Macaca mulatta non-functional IGLV1-3 IGL V FALSE 1268 +Macaca mulatta non-functional IGLV1-4 IGL V FALSE 1269 +Macaca mulatta non-functional IGLV1-5 IGL V FALSE 1270 +Macaca mulatta functional IGLV1-6 IGL V TRUE 1271 +Macaca mulatta functional IGLV1-7 IGL V TRUE 1272 +Macaca mulatta functional IGLV1-8 IGL V TRUE 1273 +Macaca mulatta functional IGLV1-9 IGL V TRUE 1274 +Macaca mulatta functional IGLV10-1 IGL V TRUE 1275 +Macaca mulatta non-functional IGLV10-2 IGL V FALSE 1276 +Macaca mulatta functional IGLV11-1 IGL V TRUE 1277 +Macaca mulatta functional IGLV1S1 IGL V TRUE 1278 +Macaca mulatta functional IGLV1S2 IGL V TRUE 1279 +Macaca mulatta functional IGLV1S3 IGL V TRUE 1280 +Macaca mulatta functional IGLV1S4 IGL V TRUE 1281 +Macaca mulatta non-functional IGLV1S5 IGL V FALSE 1282 +Macaca mulatta functional IGLV1S6 IGL V TRUE 1283 +Macaca mulatta functional IGLV1S7 IGL V TRUE 1284 +Macaca mulatta non-functional IGLV2-1 IGL V FALSE 1285 +Macaca mulatta functional IGLV2-10 IGL V TRUE 1286 +Macaca mulatta non-functional IGLV2-11 IGL V FALSE 1287 +Macaca mulatta non-functional IGLV2-2 IGL V FALSE 1288 +Macaca mulatta functional IGLV2-3 IGL V TRUE 1289 +Macaca mulatta non-functional IGLV2-4 IGL V FALSE 1290 +Macaca mulatta non-functional IGLV2-5 IGL V FALSE 1291 +Macaca mulatta non-functional IGLV2-6 IGL V FALSE 1292 +Macaca mulatta functional IGLV2-7 IGL V TRUE 1293 +Macaca mulatta functional IGLV2-8 IGL V TRUE 1294 +Macaca mulatta functional IGLV2-9 IGL V TRUE 1295 +Macaca mulatta functional IGLV2S1 IGL V TRUE 1296 +Macaca mulatta functional IGLV2S10 IGL V TRUE 1297 +Macaca mulatta functional IGLV2S11 IGL V TRUE 1298 +Macaca mulatta functional IGLV2S2 IGL V TRUE 1299 +Macaca mulatta functional IGLV2S3 IGL V TRUE 1300 +Macaca mulatta functional IGLV2S4 IGL V TRUE 1301 +Macaca mulatta functional IGLV2S5 IGL V TRUE 1302 +Macaca mulatta functional IGLV2S6 IGL V TRUE 1303 +Macaca mulatta functional IGLV2S7 IGL V TRUE 1304 +Macaca mulatta non-functional IGLV2S8 IGL V FALSE 1305 +Macaca mulatta functional IGLV2S9 IGL V TRUE 1306 +Macaca mulatta functional IGLV3-1 IGL V TRUE 1307 +Macaca mulatta functional IGLV3-10 IGL V TRUE 1308 +Macaca mulatta non-functional IGLV3-11 IGL V FALSE 1309 +Macaca mulatta functional IGLV3-12 IGL V TRUE 1310 +Macaca mulatta non-functional IGLV3-13 IGL V FALSE 1311 +Macaca mulatta non-functional IGLV3-14 IGL V FALSE 1312 +Macaca mulatta non-functional IGLV3-15 IGL V FALSE 1313 +Macaca mulatta non-functional IGLV3-16 IGL V FALSE 1314 +Macaca mulatta non-functional IGLV3-17 IGL V FALSE 1315 +Macaca mulatta non-functional IGLV3-18 IGL V FALSE 1316 +Macaca mulatta functional IGLV3-19 IGL V TRUE 1317 +Macaca mulatta functional IGLV3-2 IGL V TRUE 1318 +Macaca mulatta non-functional IGLV3-20 IGL V FALSE 1319 +Macaca mulatta functional IGLV3-3 IGL V TRUE 1320 +Macaca mulatta functional IGLV3-4 IGL V TRUE 1321 +Macaca mulatta functional IGLV3-5 IGL V TRUE 1322 +Macaca mulatta functional IGLV3-6 IGL V TRUE 1323 +Macaca mulatta non-functional IGLV3-7 IGL V FALSE 1324 +Macaca mulatta non-functional IGLV3-8 IGL V FALSE 1325 +Macaca mulatta non-functional IGLV3-9 IGL V FALSE 1326 +Macaca mulatta functional IGLV3S1 IGL V TRUE 1327 +Macaca mulatta functional IGLV3S10 IGL V TRUE 1328 +Macaca mulatta functional IGLV3S11 IGL V TRUE 1329 +Macaca mulatta functional IGLV3S12 IGL V TRUE 1330 +Macaca mulatta functional IGLV3S13 IGL V TRUE 1331 +Macaca mulatta functional IGLV3S14 IGL V TRUE 1332 +Macaca mulatta functional IGLV3S15 IGL V TRUE 1333 +Macaca mulatta functional IGLV3S16 IGL V TRUE 1334 +Macaca mulatta non-functional IGLV3S18 IGL V FALSE 1335 +Macaca mulatta non-functional IGLV3S19 IGL V FALSE 1336 +Macaca mulatta functional IGLV3S2 IGL V TRUE 1337 +Macaca mulatta non-functional IGLV3S20 IGL V FALSE 1338 +Macaca mulatta functional IGLV3S3 IGL V TRUE 1339 +Macaca mulatta functional IGLV3S4 IGL V TRUE 1340 +Macaca mulatta functional IGLV3S5 IGL V TRUE 1341 +Macaca mulatta functional IGLV3S6 IGL V TRUE 1342 +Macaca mulatta functional IGLV3S7 IGL V TRUE 1343 +Macaca mulatta functional IGLV3S8 IGL V TRUE 1344 +Macaca mulatta functional IGLV3S9 IGL V TRUE 1345 +Macaca mulatta non-functional IGLV4-1 IGL V FALSE 1346 +Macaca mulatta functional IGLV4-2 IGL V TRUE 1347 +Macaca mulatta non-functional IGLV4-3 IGL V FALSE 1348 +Macaca mulatta functional IGLV4-4 IGL V TRUE 1349 +Macaca mulatta functional IGLV4S1 IGL V TRUE 1350 +Macaca mulatta functional IGLV4S2 IGL V TRUE 1351 +Macaca mulatta functional IGLV4S3 IGL V TRUE 1352 +Macaca mulatta functional IGLV4S4 IGL V TRUE 1353 +Macaca mulatta non-functional IGLV5-1 IGL V FALSE 1354 +Macaca mulatta functional IGLV5-10 IGL V TRUE 1355 +Macaca mulatta functional IGLV5-11 IGL V TRUE 1356 +Macaca mulatta non-functional IGLV5-12 IGL V FALSE 1357 +Macaca mulatta functional IGLV5-13 IGL V TRUE 1358 +Macaca mulatta functional IGLV5-14 IGL V TRUE 1359 +Macaca mulatta non-functional IGLV5-15 IGL V FALSE 1360 +Macaca mulatta non-functional IGLV5-2 IGL V FALSE 1361 +Macaca mulatta non-functional IGLV5-3 IGL V FALSE 1362 +Macaca mulatta non-functional IGLV5-4 IGL V FALSE 1363 +Macaca mulatta functional IGLV5-5 IGL V TRUE 1364 +Macaca mulatta functional IGLV5-6 IGL V TRUE 1365 +Macaca mulatta functional IGLV5-7 IGL V TRUE 1366 +Macaca mulatta non-functional IGLV5-8 IGL V FALSE 1367 +Macaca mulatta non-functional IGLV5-9 IGL V FALSE 1368 +Macaca mulatta non-functional IGLV5S1 IGL V FALSE 1369 +Macaca mulatta functional IGLV5S2 IGL V TRUE 1370 +Macaca mulatta functional IGLV5S3 IGL V TRUE 1371 +Macaca mulatta functional IGLV5S4 IGL V TRUE 1372 +Macaca mulatta functional IGLV6-1 IGL V TRUE 1373 +Macaca mulatta functional IGLV6-2 IGL V TRUE 1374 +Macaca mulatta non-functional IGLV6-3 IGL V FALSE 1375 +Macaca mulatta non-functional IGLV6-4 IGL V FALSE 1376 +Macaca mulatta functional IGLV6-5 IGL V TRUE 1377 +Macaca mulatta functional IGLV7-1 IGL V TRUE 1378 +Macaca mulatta functional IGLV7-2 IGL V TRUE 1379 +Macaca mulatta functional IGLV7-3 IGL V TRUE 1380 +Macaca mulatta functional IGLV7-4 IGL V TRUE 1381 +Macaca mulatta non-functional IGLV7-5 IGL V FALSE 1382 +Macaca mulatta non-functional IGLV7-6 IGL V FALSE 1383 +Macaca mulatta non-functional IGLV7-7 IGL V FALSE 1384 +Macaca mulatta functional IGLV8-1 IGL V TRUE 1385 +Macaca mulatta non-functional IGLV8S1 IGL V FALSE 1386 +Macaca mulatta functional IGLV9-1 IGL V TRUE 1387 +Macaca mulatta functional TRBD1 TRB D TRUE 1388 +Macaca mulatta functional TRBD2 TRB D TRUE 1389 +Macaca mulatta functional TRBJ1-1 TRB J TRUE 1390 +Macaca mulatta functional TRBJ1-2 TRB J TRUE 1391 +Macaca mulatta functional TRBJ1-3 TRB J TRUE 1392 +Macaca mulatta functional TRBJ1-4 TRB J TRUE 1393 +Macaca mulatta functional TRBJ1-5 TRB J TRUE 1394 +Macaca mulatta functional TRBJ1-6 TRB J TRUE 1395 +Macaca mulatta functional TRBJ2-1 TRB J TRUE 1396 +Macaca mulatta functional TRBJ2-2 TRB J TRUE 1397 +Macaca mulatta non-functional TRBJ2-2P TRB J FALSE 1398 +Macaca mulatta functional TRBJ2-3 TRB J TRUE 1399 +Macaca mulatta functional TRBJ2-4 TRB J TRUE 1400 +Macaca mulatta functional TRBJ2-5 TRB J TRUE 1401 +Macaca mulatta functional TRBJ2-6 TRB J TRUE 1402 +Macaca mulatta functional TRBJ2-7 TRB J TRUE 1403 +Macaca mulatta non-functional TRBV1-1 TRB V FALSE 1404 +Macaca mulatta non-functional TRBV1-2 TRB V FALSE 1405 +Macaca mulatta non-functional TRBV1-3 TRB V FALSE 1406 +Macaca mulatta functional TRBV10-1 TRB V TRUE 1407 +Macaca mulatta functional TRBV10-2 TRB V TRUE 1408 +Macaca mulatta functional TRBV10-3 TRB V TRUE 1409 +Macaca mulatta functional TRBV11-1 TRB V TRUE 1410 +Macaca mulatta functional TRBV11-2 TRB V TRUE 1411 +Macaca mulatta functional TRBV11-3 TRB V TRUE 1412 +Macaca mulatta functional TRBV12-1 TRB V TRUE 1413 +Macaca mulatta functional TRBV12-2 TRB V TRUE 1414 +Macaca mulatta functional TRBV12-3 TRB V TRUE 1415 +Macaca mulatta functional TRBV12-4 TRB V TRUE 1416 +Macaca mulatta functional TRBV13 TRB V TRUE 1417 +Macaca mulatta functional TRBV14 TRB V TRUE 1418 +Macaca mulatta functional TRBV15 TRB V TRUE 1419 +Macaca mulatta functional TRBV16 TRB V TRUE 1420 +Macaca mulatta functional TRBV18 TRB V TRUE 1421 +Macaca mulatta functional TRBV19 TRB V TRUE 1422 +Macaca mulatta functional TRBV2-1 TRB V TRUE 1423 +Macaca mulatta functional TRBV2-2 TRB V TRUE 1424 +Macaca mulatta functional TRBV2-3 TRB V TRUE 1425 +Macaca mulatta functional TRBV20-1 TRB V TRUE 1426 +Macaca mulatta functional TRBV21-1 TRB V TRUE 1427 +Macaca mulatta non-functional TRBV22-1 TRB V FALSE 1428 +Macaca mulatta functional TRBV23-1 TRB V TRUE 1429 +Macaca mulatta functional TRBV24-1 TRB V TRUE 1430 +Macaca mulatta functional TRBV25-1 TRB V TRUE 1431 +Macaca mulatta non-functional TRBV26 TRB V FALSE 1432 +Macaca mulatta functional TRBV27 TRB V TRUE 1433 +Macaca mulatta functional TRBV28 TRB V TRUE 1434 +Macaca mulatta functional TRBV29-1 TRB V TRUE 1435 +Macaca mulatta functional TRBV3-1 TRB V TRUE 1436 +Macaca mulatta functional TRBV3-2 TRB V TRUE 1437 +Macaca mulatta functional TRBV3-3 TRB V TRUE 1438 +Macaca mulatta functional TRBV3-4 TRB V TRUE 1439 +Macaca mulatta functional TRBV30 TRB V TRUE 1440 +Macaca mulatta functional TRBV4-1 TRB V TRUE 1441 +Macaca mulatta functional TRBV4-2 TRB V TRUE 1442 +Macaca mulatta functional TRBV4-3 TRB V TRUE 1443 +Macaca mulatta non-functional TRBV5-1 TRB V FALSE 1444 +Macaca mulatta functional TRBV5-10 TRB V TRUE 1445 +Macaca mulatta non-functional TRBV5-2 TRB V FALSE 1446 +Macaca mulatta non-functional TRBV5-3 TRB V FALSE 1447 +Macaca mulatta functional TRBV5-4 TRB V TRUE 1448 +Macaca mulatta functional TRBV5-5 TRB V TRUE 1449 +Macaca mulatta functional TRBV5-6 TRB V TRUE 1450 +Macaca mulatta functional TRBV5-7 TRB V TRUE 1451 +Macaca mulatta functional TRBV5-8 TRB V TRUE 1452 +Macaca mulatta functional TRBV5-9 TRB V TRUE 1453 +Macaca mulatta functional TRBV6-1 TRB V TRUE 1454 +Macaca mulatta functional TRBV6-2 TRB V TRUE 1455 +Macaca mulatta functional TRBV6-3 TRB V TRUE 1456 +Macaca mulatta functional TRBV6-4 TRB V TRUE 1457 +Macaca mulatta functional TRBV6-5 TRB V TRUE 1458 +Macaca mulatta functional TRBV6-6 TRB V TRUE 1459 +Macaca mulatta functional TRBV6-7 TRB V TRUE 1460 +Macaca mulatta functional TRBV6-8 TRB V TRUE 1461 +Macaca mulatta non-functional TRBV7-1 TRB V FALSE 1462 +Macaca mulatta functional TRBV7-10 TRB V TRUE 1463 +Macaca mulatta functional TRBV7-2 TRB V TRUE 1464 +Macaca mulatta functional TRBV7-3 TRB V TRUE 1465 +Macaca mulatta functional TRBV7-4 TRB V TRUE 1466 +Macaca mulatta functional TRBV7-5 TRB V TRUE 1467 +Macaca mulatta functional TRBV7-6 TRB V TRUE 1468 +Macaca mulatta functional TRBV7-7 TRB V TRUE 1469 +Macaca mulatta non-functional TRBV7-8 TRB V FALSE 1470 +Macaca mulatta functional TRBV7-9 TRB V TRUE 1471 +Macaca mulatta non-functional TRBV8-1 TRB V FALSE 1472 +Macaca mulatta functional TRBV9 TRB V TRUE 1473 +Macaca mulatta non-functional TRBVA TRB V FALSE 1474 +Macaca mulatta non-functional TRBVB TRB V FALSE 1475 +Mus musculus functional IGHD IGH D TRUE 1476 +Mus musculus functional IGHD1-1 IGH D TRUE 1477 +Mus musculus functional IGHD1-2 IGH D TRUE 1478 +Mus musculus functional IGHD1-3 IGH D TRUE 1479 +Mus musculus functional IGHD2-1 IGH D TRUE 1480 +Mus musculus functional IGHD2-10 IGH D TRUE 1481 +Mus musculus functional IGHD2-11 IGH D TRUE 1482 +Mus musculus functional IGHD2-12 IGH D TRUE 1483 +Mus musculus functional IGHD2-13 IGH D TRUE 1484 +Mus musculus functional IGHD2-14 IGH D TRUE 1485 +Mus musculus functional IGHD2-2 IGH D TRUE 1486 +Mus musculus functional IGHD2-3 IGH D TRUE 1487 +Mus musculus functional IGHD2-4 IGH D TRUE 1488 +Mus musculus functional IGHD2-5 IGH D TRUE 1489 +Mus musculus functional IGHD2-6 IGH D TRUE 1490 +Mus musculus functional IGHD2-7 IGH D TRUE 1491 +Mus musculus functional IGHD2-8 IGH D TRUE 1492 +Mus musculus functional IGHD2-9 IGH D TRUE 1493 +Mus musculus functional IGHD3-1 IGH D TRUE 1494 +Mus musculus functional IGHD3-2 IGH D TRUE 1495 +Mus musculus functional IGHD3-3 IGH D TRUE 1496 +Mus musculus functional IGHD4-1 IGH D TRUE 1497 +Mus musculus non-functional IGHD5-1 IGH D FALSE 1498 +Mus musculus non-functional IGHD5-2 IGH D FALSE 1499 +Mus musculus non-functional IGHD5-3 IGH D FALSE 1500 +Mus musculus non-functional IGHD5-4 IGH D FALSE 1501 +Mus musculus non-functional IGHD5-5 IGH D FALSE 1502 +Mus musculus non-functional IGHD5-6 IGH D FALSE 1503 +Mus musculus non-functional IGHD5-7 IGH D FALSE 1504 +Mus musculus non-functional IGHD5-8 IGH D FALSE 1505 +Mus musculus non-functional IGHD6-1 IGH D FALSE 1506 +Mus musculus non-functional IGHD6-2 IGH D FALSE 1507 +Mus musculus non-functional IGHD6-3 IGH D FALSE 1508 +Mus musculus functional IGHJ1 IGH J TRUE 1509 +Mus musculus functional IGHJ2 IGH J TRUE 1510 +Mus musculus functional IGHJ3 IGH J TRUE 1511 +Mus musculus functional IGHJ4 IGH J TRUE 1512 +Mus musculus non-functional IGHV(I)-1 IGH V FALSE 1513 +Mus musculus non-functional IGHV(II)-1 IGH V FALSE 1514 +Mus musculus non-functional IGHV(II)-2 IGH V FALSE 1515 +Mus musculus non-functional IGHV(II)-3 IGH V FALSE 1516 +Mus musculus non-functional IGHV(II)-4 IGH V FALSE 1517 +Mus musculus non-functional IGHV(II)-5 IGH V FALSE 1518 +Mus musculus non-functional IGHV(III)-1 IGH V FALSE 1519 +Mus musculus non-functional IGHV(III)-10 IGH V FALSE 1520 +Mus musculus non-functional IGHV(III)-11 IGH V FALSE 1521 +Mus musculus non-functional IGHV(III)-12 IGH V FALSE 1522 +Mus musculus non-functional IGHV(III)-13 IGH V FALSE 1523 +Mus musculus non-functional IGHV(III)-2 IGH V FALSE 1524 +Mus musculus non-functional IGHV(III)-3 IGH V FALSE 1525 +Mus musculus non-functional IGHV(III)-4 IGH V FALSE 1526 +Mus musculus non-functional IGHV(III)-5 IGH V FALSE 1527 +Mus musculus non-functional IGHV(III)-6 IGH V FALSE 1528 +Mus musculus non-functional IGHV(III)-7 IGH V FALSE 1529 +Mus musculus non-functional IGHV(III)-8 IGH V FALSE 1530 +Mus musculus non-functional IGHV(III)-9 IGH V FALSE 1531 +Mus musculus non-functional IGHV1-1 IGH V FALSE 1532 +Mus musculus non-functional IGHV1-10 IGH V FALSE 1533 +Mus musculus functional IGHV1-11 IGH V TRUE 1534 +Mus musculus functional IGHV1-12 IGH V TRUE 1535 +Mus musculus non-functional IGHV1-13 IGH V FALSE 1536 +Mus musculus functional IGHV1-14 IGH V TRUE 1537 +Mus musculus functional IGHV1-15 IGH V TRUE 1538 +Mus musculus non-functional IGHV1-16 IGH V FALSE 1539 +Mus musculus non-functional IGHV1-17 IGH V FALSE 1540 +Mus musculus functional IGHV1-17-1 IGH V TRUE 1541 +Mus musculus functional IGHV1-18 IGH V TRUE 1542 +Mus musculus functional IGHV1-19 IGH V TRUE 1543 +Mus musculus non-functional IGHV1-19-1 IGH V FALSE 1544 +Mus musculus non-functional IGHV1-2 IGH V FALSE 1545 +Mus musculus functional IGHV1-20 IGH V TRUE 1546 +Mus musculus non-functional IGHV1-21 IGH V FALSE 1547 +Mus musculus non-functional IGHV1-21-1 IGH V FALSE 1548 +Mus musculus functional IGHV1-22 IGH V TRUE 1549 +Mus musculus non-functional IGHV1-23 IGH V FALSE 1550 +Mus musculus non-functional IGHV1-24 IGH V FALSE 1551 +Mus musculus non-functional IGHV1-25 IGH V FALSE 1552 +Mus musculus functional IGHV1-26 IGH V TRUE 1553 +Mus musculus non-functional IGHV1-27 IGH V FALSE 1554 +Mus musculus non-functional IGHV1-28 IGH V FALSE 1555 +Mus musculus non-functional IGHV1-29 IGH V FALSE 1556 +Mus musculus non-functional IGHV1-3 IGH V FALSE 1557 +Mus musculus non-functional IGHV1-30 IGH V FALSE 1558 +Mus musculus functional IGHV1-31 IGH V TRUE 1559 +Mus musculus non-functional IGHV1-32 IGH V FALSE 1560 +Mus musculus non-functional IGHV1-33 IGH V FALSE 1561 +Mus musculus functional IGHV1-34 IGH V TRUE 1562 +Mus musculus non-functional IGHV1-35 IGH V FALSE 1563 +Mus musculus functional IGHV1-36 IGH V TRUE 1564 +Mus musculus functional IGHV1-37 IGH V TRUE 1565 +Mus musculus non-functional IGHV1-38 IGH V FALSE 1566 +Mus musculus functional IGHV1-39 IGH V TRUE 1567 +Mus musculus functional IGHV1-4 IGH V TRUE 1568 +Mus musculus non-functional IGHV1-40 IGH V FALSE 1569 +Mus musculus non-functional IGHV1-41 IGH V FALSE 1570 +Mus musculus functional IGHV1-42 IGH V TRUE 1571 +Mus musculus functional IGHV1-43 IGH V TRUE 1572 +Mus musculus non-functional IGHV1-44 IGH V FALSE 1573 +Mus musculus non-functional IGHV1-45 IGH V FALSE 1574 +Mus musculus non-functional IGHV1-46 IGH V FALSE 1575 +Mus musculus functional IGHV1-47 IGH V TRUE 1576 +Mus musculus non-functional IGHV1-48 IGH V FALSE 1577 +Mus musculus functional IGHV1-49 IGH V TRUE 1578 +Mus musculus functional IGHV1-5 IGH V TRUE 1579 +Mus musculus functional IGHV1-50 IGH V TRUE 1580 +Mus musculus non-functional IGHV1-51 IGH V FALSE 1581 +Mus musculus functional IGHV1-52 IGH V TRUE 1582 +Mus musculus functional IGHV1-53 IGH V TRUE 1583 +Mus musculus functional IGHV1-54 IGH V TRUE 1584 +Mus musculus functional IGHV1-55 IGH V TRUE 1585 +Mus musculus functional IGHV1-56 IGH V TRUE 1586 +Mus musculus non-functional IGHV1-57 IGH V FALSE 1587 +Mus musculus functional IGHV1-58 IGH V TRUE 1588 +Mus musculus functional IGHV1-59 IGH V TRUE 1589 +Mus musculus non-functional IGHV1-6 IGH V FALSE 1590 +Mus musculus non-functional IGHV1-60 IGH V FALSE 1591 +Mus musculus functional IGHV1-61 IGH V TRUE 1592 +Mus musculus non-functional IGHV1-62 IGH V FALSE 1593 +Mus musculus functional IGHV1-62-1 IGH V TRUE 1594 +Mus musculus functional IGHV1-62-2 IGH V TRUE 1595 +Mus musculus non-functional IGHV1-62-3 IGH V FALSE 1596 +Mus musculus functional IGHV1-63 IGH V TRUE 1597 +Mus musculus functional IGHV1-64 IGH V TRUE 1598 +Mus musculus non-functional IGHV1-65 IGH V FALSE 1599 +Mus musculus functional IGHV1-66 IGH V TRUE 1600 +Mus musculus functional IGHV1-67 IGH V TRUE 1601 +Mus musculus non-functional IGHV1-68 IGH V FALSE 1602 +Mus musculus functional IGHV1-69 IGH V TRUE 1603 +Mus musculus functional IGHV1-7 IGH V TRUE 1604 +Mus musculus non-functional IGHV1-70 IGH V FALSE 1605 +Mus musculus functional IGHV1-71 IGH V TRUE 1606 +Mus musculus functional IGHV1-72 IGH V TRUE 1607 +Mus musculus non-functional IGHV1-73 IGH V FALSE 1608 +Mus musculus functional IGHV1-74 IGH V TRUE 1609 +Mus musculus functional IGHV1-75 IGH V TRUE 1610 +Mus musculus functional IGHV1-76 IGH V TRUE 1611 +Mus musculus functional IGHV1-77 IGH V TRUE 1612 +Mus musculus functional IGHV1-78 IGH V TRUE 1613 +Mus musculus non-functional IGHV1-79 IGH V FALSE 1614 +Mus musculus non-functional IGHV1-8 IGH V FALSE 1615 +Mus musculus functional IGHV1-80 IGH V TRUE 1616 +Mus musculus functional IGHV1-81 IGH V TRUE 1617 +Mus musculus functional IGHV1-82 IGH V TRUE 1618 +Mus musculus non-functional IGHV1-83 IGH V FALSE 1619 +Mus musculus functional IGHV1-84 IGH V TRUE 1620 +Mus musculus functional IGHV1-85 IGH V TRUE 1621 +Mus musculus non-functional IGHV1-86 IGH V FALSE 1622 +Mus musculus functional IGHV1-9 IGH V TRUE 1623 +Mus musculus functional IGHV10-1 IGH V TRUE 1624 +Mus musculus non-functional IGHV10-2 IGH V FALSE 1625 +Mus musculus functional IGHV10-3 IGH V TRUE 1626 +Mus musculus non-functional IGHV10-4 IGH V FALSE 1627 +Mus musculus functional IGHV10S3 IGH V TRUE 1628 +Mus musculus non-functional IGHV10S4 IGH V FALSE 1629 +Mus musculus non-functional IGHV10S5 IGH V FALSE 1630 +Mus musculus functional IGHV11-1 IGH V TRUE 1631 +Mus musculus functional IGHV11-2 IGH V TRUE 1632 +Mus musculus non-functional IGHV12-1 IGH V FALSE 1633 +Mus musculus functional IGHV12-1-1 IGH V TRUE 1634 +Mus musculus non-functional IGHV12-1-2 IGH V FALSE 1635 +Mus musculus non-functional IGHV12-2 IGH V FALSE 1636 +Mus musculus non-functional IGHV12-2-1 IGH V FALSE 1637 +Mus musculus functional IGHV12-3 IGH V TRUE 1638 +Mus musculus non-functional IGHV12S2 IGH V FALSE 1639 +Mus musculus non-functional IGHV13-1 IGH V FALSE 1640 +Mus musculus functional IGHV13-2 IGH V TRUE 1641 +Mus musculus functional IGHV14-1 IGH V TRUE 1642 +Mus musculus functional IGHV14-2 IGH V TRUE 1643 +Mus musculus functional IGHV14-3 IGH V TRUE 1644 +Mus musculus functional IGHV14-4 IGH V TRUE 1645 +Mus musculus non-functional IGHV14S4 IGH V FALSE 1646 +Mus musculus non-functional IGHV15-1 IGH V FALSE 1647 +Mus musculus functional IGHV15-2 IGH V TRUE 1648 +Mus musculus functional IGHV16-1 IGH V TRUE 1649 +Mus musculus non-functional IGHV1S10 IGH V FALSE 1650 +Mus musculus non-functional IGHV1S100 IGH V FALSE 1651 +Mus musculus non-functional IGHV1S101 IGH V FALSE 1652 +Mus musculus non-functional IGHV1S103 IGH V FALSE 1653 +Mus musculus non-functional IGHV1S107 IGH V FALSE 1654 +Mus musculus non-functional IGHV1S108 IGH V FALSE 1655 +Mus musculus non-functional IGHV1S11 IGH V FALSE 1656 +Mus musculus non-functional IGHV1S110 IGH V FALSE 1657 +Mus musculus non-functional IGHV1S111 IGH V FALSE 1658 +Mus musculus non-functional IGHV1S112 IGH V FALSE 1659 +Mus musculus non-functional IGHV1S113 IGH V FALSE 1660 +Mus musculus non-functional IGHV1S118 IGH V FALSE 1661 +Mus musculus functional IGHV1S12 IGH V TRUE 1662 +Mus musculus non-functional IGHV1S120 IGH V FALSE 1663 +Mus musculus non-functional IGHV1S121 IGH V FALSE 1664 +Mus musculus non-functional IGHV1S122 IGH V FALSE 1665 +Mus musculus non-functional IGHV1S124 IGH V FALSE 1666 +Mus musculus non-functional IGHV1S126 IGH V FALSE 1667 +Mus musculus non-functional IGHV1S127 IGH V FALSE 1668 +Mus musculus non-functional IGHV1S130 IGH V FALSE 1669 +Mus musculus non-functional IGHV1S132 IGH V FALSE 1670 +Mus musculus non-functional IGHV1S134 IGH V FALSE 1671 +Mus musculus non-functional IGHV1S135 IGH V FALSE 1672 +Mus musculus non-functional IGHV1S136 IGH V FALSE 1673 +Mus musculus non-functional IGHV1S137 IGH V FALSE 1674 +Mus musculus functional IGHV1S14 IGH V TRUE 1675 +Mus musculus non-functional IGHV1S15 IGH V FALSE 1676 +Mus musculus non-functional IGHV1S16 IGH V FALSE 1677 +Mus musculus non-functional IGHV1S17 IGH V FALSE 1678 +Mus musculus non-functional IGHV1S18 IGH V FALSE 1679 +Mus musculus non-functional IGHV1S19 IGH V FALSE 1680 +Mus musculus functional IGHV1S20 IGH V TRUE 1681 +Mus musculus functional IGHV1S21 IGH V TRUE 1682 +Mus musculus functional IGHV1S22 IGH V TRUE 1683 +Mus musculus functional IGHV1S26 IGH V TRUE 1684 +Mus musculus non-functional IGHV1S28 IGH V FALSE 1685 +Mus musculus functional IGHV1S29 IGH V TRUE 1686 +Mus musculus functional IGHV1S30 IGH V TRUE 1687 +Mus musculus functional IGHV1S31 IGH V TRUE 1688 +Mus musculus functional IGHV1S32 IGH V TRUE 1689 +Mus musculus functional IGHV1S33 IGH V TRUE 1690 +Mus musculus functional IGHV1S34 IGH V TRUE 1691 +Mus musculus functional IGHV1S35 IGH V TRUE 1692 +Mus musculus functional IGHV1S36 IGH V TRUE 1693 +Mus musculus functional IGHV1S37 IGH V TRUE 1694 +Mus musculus functional IGHV1S40 IGH V TRUE 1695 +Mus musculus functional IGHV1S41 IGH V TRUE 1696 +Mus musculus non-functional IGHV1S44 IGH V FALSE 1697 +Mus musculus functional IGHV1S45 IGH V TRUE 1698 +Mus musculus non-functional IGHV1S46 IGH V FALSE 1699 +Mus musculus non-functional IGHV1S47 IGH V FALSE 1700 +Mus musculus functional IGHV1S49 IGH V TRUE 1701 +Mus musculus functional IGHV1S5 IGH V TRUE 1702 +Mus musculus functional IGHV1S50 IGH V TRUE 1703 +Mus musculus non-functional IGHV1S51 IGH V FALSE 1704 +Mus musculus functional IGHV1S52 IGH V TRUE 1705 +Mus musculus functional IGHV1S53 IGH V TRUE 1706 +Mus musculus functional IGHV1S55 IGH V TRUE 1707 +Mus musculus functional IGHV1S56 IGH V TRUE 1708 +Mus musculus non-functional IGHV1S57 IGH V FALSE 1709 +Mus musculus functional IGHV1S61 IGH V TRUE 1710 +Mus musculus non-functional IGHV1S65 IGH V FALSE 1711 +Mus musculus non-functional IGHV1S67 IGH V FALSE 1712 +Mus musculus non-functional IGHV1S68 IGH V FALSE 1713 +Mus musculus non-functional IGHV1S70 IGH V FALSE 1714 +Mus musculus non-functional IGHV1S72 IGH V FALSE 1715 +Mus musculus non-functional IGHV1S73 IGH V FALSE 1716 +Mus musculus non-functional IGHV1S74 IGH V FALSE 1717 +Mus musculus non-functional IGHV1S75 IGH V FALSE 1718 +Mus musculus non-functional IGHV1S78 IGH V FALSE 1719 +Mus musculus non-functional IGHV1S81 IGH V FALSE 1720 +Mus musculus non-functional IGHV1S82 IGH V FALSE 1721 +Mus musculus non-functional IGHV1S83 IGH V FALSE 1722 +Mus musculus non-functional IGHV1S84 IGH V FALSE 1723 +Mus musculus non-functional IGHV1S87 IGH V FALSE 1724 +Mus musculus non-functional IGHV1S88 IGH V FALSE 1725 +Mus musculus non-functional IGHV1S9 IGH V FALSE 1726 +Mus musculus non-functional IGHV1S92 IGH V FALSE 1727 +Mus musculus non-functional IGHV1S95 IGH V FALSE 1728 +Mus musculus non-functional IGHV1S96 IGH V FALSE 1729 +Mus musculus non-functional IGHV2-1 IGH V FALSE 1730 +Mus musculus functional IGHV2-2 IGH V TRUE 1731 +Mus musculus non-functional IGHV2-2-1 IGH V FALSE 1732 +Mus musculus functional IGHV2-2-2 IGH V TRUE 1733 +Mus musculus functional IGHV2-3 IGH V TRUE 1734 +Mus musculus functional IGHV2-3-1 IGH V TRUE 1735 +Mus musculus functional IGHV2-4 IGH V TRUE 1736 +Mus musculus functional IGHV2-4-1 IGH V TRUE 1737 +Mus musculus functional IGHV2-5 IGH V TRUE 1738 +Mus musculus functional IGHV2-5-1 IGH V TRUE 1739 +Mus musculus functional IGHV2-6 IGH V TRUE 1740 +Mus musculus functional IGHV2-6-1 IGH V TRUE 1741 +Mus musculus functional IGHV2-6-2 IGH V TRUE 1742 +Mus musculus functional IGHV2-6-3 IGH V TRUE 1743 +Mus musculus functional IGHV2-6-4 IGH V TRUE 1744 +Mus musculus functional IGHV2-6-5 IGH V TRUE 1745 +Mus musculus functional IGHV2-6-6 IGH V TRUE 1746 +Mus musculus functional IGHV2-6-7 IGH V TRUE 1747 +Mus musculus functional IGHV2-6-8 IGH V TRUE 1748 +Mus musculus functional IGHV2-7 IGH V TRUE 1749 +Mus musculus non-functional IGHV2-8 IGH V FALSE 1750 +Mus musculus functional IGHV2-9 IGH V TRUE 1751 +Mus musculus functional IGHV2-9-1 IGH V TRUE 1752 +Mus musculus functional IGHV2S3 IGH V TRUE 1753 +Mus musculus functional IGHV3-1 IGH V TRUE 1754 +Mus musculus functional IGHV3-2 IGH V TRUE 1755 +Mus musculus functional IGHV3-3 IGH V TRUE 1756 +Mus musculus functional IGHV3-4 IGH V TRUE 1757 +Mus musculus functional IGHV3-5 IGH V TRUE 1758 +Mus musculus functional IGHV3-6 IGH V TRUE 1759 +Mus musculus non-functional IGHV3-7 IGH V FALSE 1760 +Mus musculus functional IGHV3-8 IGH V TRUE 1761 +Mus musculus functional IGHV3S1 IGH V TRUE 1762 +Mus musculus non-functional IGHV3S7 IGH V FALSE 1763 +Mus musculus functional IGHV4-1 IGH V TRUE 1764 +Mus musculus functional IGHV4-2 IGH V TRUE 1765 +Mus musculus non-functional IGHV5-1 IGH V FALSE 1766 +Mus musculus non-functional IGHV5-10 IGH V FALSE 1767 +Mus musculus non-functional IGHV5-10-1 IGH V FALSE 1768 +Mus musculus non-functional IGHV5-10-2 IGH V FALSE 1769 +Mus musculus non-functional IGHV5-11 IGH V FALSE 1770 +Mus musculus non-functional IGHV5-11-1 IGH V FALSE 1771 +Mus musculus non-functional IGHV5-11-2 IGH V FALSE 1772 +Mus musculus functional IGHV5-12 IGH V TRUE 1773 +Mus musculus functional IGHV5-12-1 IGH V TRUE 1774 +Mus musculus functional IGHV5-12-2 IGH V TRUE 1775 +Mus musculus non-functional IGHV5-12-3 IGH V FALSE 1776 +Mus musculus functional IGHV5-12-4 IGH V TRUE 1777 +Mus musculus non-functional IGHV5-13 IGH V FALSE 1778 +Mus musculus non-functional IGHV5-13-1 IGH V FALSE 1779 +Mus musculus functional IGHV5-15 IGH V TRUE 1780 +Mus musculus functional IGHV5-16 IGH V TRUE 1781 +Mus musculus functional IGHV5-17 IGH V TRUE 1782 +Mus musculus non-functional IGHV5-18 IGH V FALSE 1783 +Mus musculus non-functional IGHV5-19 IGH V FALSE 1784 +Mus musculus functional IGHV5-2 IGH V TRUE 1785 +Mus musculus non-functional IGHV5-21 IGH V FALSE 1786 +Mus musculus non-functional IGHV5-3 IGH V FALSE 1787 +Mus musculus functional IGHV5-4 IGH V TRUE 1788 +Mus musculus non-functional IGHV5-5 IGH V FALSE 1789 +Mus musculus non-functional IGHV5-5-1 IGH V FALSE 1790 +Mus musculus functional IGHV5-6 IGH V TRUE 1791 +Mus musculus functional IGHV5-6-1 IGH V TRUE 1792 +Mus musculus functional IGHV5-6-2 IGH V TRUE 1793 +Mus musculus functional IGHV5-6-3 IGH V TRUE 1794 +Mus musculus functional IGHV5-6-4 IGH V TRUE 1795 +Mus musculus functional IGHV5-6-5 IGH V TRUE 1796 +Mus musculus functional IGHV5-6-6 IGH V TRUE 1797 +Mus musculus non-functional IGHV5-7 IGH V FALSE 1798 +Mus musculus non-functional IGHV5-7-1 IGH V FALSE 1799 +Mus musculus non-functional IGHV5-7-2 IGH V FALSE 1800 +Mus musculus non-functional IGHV5-7-3 IGH V FALSE 1801 +Mus musculus non-functional IGHV5-7-4 IGH V FALSE 1802 +Mus musculus non-functional IGHV5-7-5 IGH V FALSE 1803 +Mus musculus non-functional IGHV5-7-6 IGH V FALSE 1804 +Mus musculus non-functional IGHV5-8 IGH V FALSE 1805 +Mus musculus non-functional IGHV5-8-1 IGH V FALSE 1806 +Mus musculus non-functional IGHV5-8-2 IGH V FALSE 1807 +Mus musculus non-functional IGHV5-8-3 IGH V FALSE 1808 +Mus musculus functional IGHV5-9 IGH V TRUE 1809 +Mus musculus functional IGHV5-9-1 IGH V TRUE 1810 +Mus musculus functional IGHV5-9-2 IGH V TRUE 1811 +Mus musculus functional IGHV5-9-3 IGH V TRUE 1812 +Mus musculus functional IGHV5-9-4 IGH V TRUE 1813 +Mus musculus functional IGHV5-9-5 IGH V TRUE 1814 +Mus musculus non-functional IGHV5S12 IGH V FALSE 1815 +Mus musculus non-functional IGHV5S21 IGH V FALSE 1816 +Mus musculus non-functional IGHV5S24 IGH V FALSE 1817 +Mus musculus functional IGHV5S4 IGH V TRUE 1818 +Mus musculus functional IGHV5S9 IGH V TRUE 1819 +Mus musculus non-functional IGHV6-1 IGH V FALSE 1820 +Mus musculus non-functional IGHV6-1-1 IGH V FALSE 1821 +Mus musculus non-functional IGHV6-2 IGH V FALSE 1822 +Mus musculus functional IGHV6-3 IGH V TRUE 1823 +Mus musculus functional IGHV6-4 IGH V TRUE 1824 +Mus musculus functional IGHV6-5 IGH V TRUE 1825 +Mus musculus functional IGHV6-6 IGH V TRUE 1826 +Mus musculus functional IGHV6-7 IGH V TRUE 1827 +Mus musculus non-functional IGHV6S2 IGH V FALSE 1828 +Mus musculus non-functional IGHV6S3 IGH V FALSE 1829 +Mus musculus non-functional IGHV6S4 IGH V FALSE 1830 +Mus musculus functional IGHV7-1 IGH V TRUE 1831 +Mus musculus functional IGHV7-2 IGH V TRUE 1832 +Mus musculus functional IGHV7-3 IGH V TRUE 1833 +Mus musculus functional IGHV7-4 IGH V TRUE 1834 +Mus musculus non-functional IGHV8-1 IGH V FALSE 1835 +Mus musculus non-functional IGHV8-10 IGH V FALSE 1836 +Mus musculus functional IGHV8-11 IGH V TRUE 1837 +Mus musculus functional IGHV8-12 IGH V TRUE 1838 +Mus musculus non-functional IGHV8-13 IGH V FALSE 1839 +Mus musculus non-functional IGHV8-14 IGH V FALSE 1840 +Mus musculus non-functional IGHV8-15 IGH V FALSE 1841 +Mus musculus non-functional IGHV8-16 IGH V FALSE 1842 +Mus musculus non-functional IGHV8-2 IGH V FALSE 1843 +Mus musculus non-functional IGHV8-3 IGH V FALSE 1844 +Mus musculus functional IGHV8-4 IGH V TRUE 1845 +Mus musculus functional IGHV8-5 IGH V TRUE 1846 +Mus musculus functional IGHV8-6 IGH V TRUE 1847 +Mus musculus non-functional IGHV8-7 IGH V FALSE 1848 +Mus musculus functional IGHV8-8 IGH V TRUE 1849 +Mus musculus non-functional IGHV8-8-1 IGH V FALSE 1850 +Mus musculus non-functional IGHV8-9 IGH V FALSE 1851 +Mus musculus non-functional IGHV8S1 IGH V FALSE 1852 +Mus musculus non-functional IGHV8S2 IGH V FALSE 1853 +Mus musculus non-functional IGHV8S6 IGH V FALSE 1854 +Mus musculus non-functional IGHV8S9 IGH V FALSE 1855 +Mus musculus functional IGHV9-1 IGH V TRUE 1856 +Mus musculus functional IGHV9-2 IGH V TRUE 1857 +Mus musculus functional IGHV9-2-1 IGH V TRUE 1858 +Mus musculus functional IGHV9-3 IGH V TRUE 1859 +Mus musculus functional IGHV9-3-1 IGH V TRUE 1860 +Mus musculus functional IGHV9-4 IGH V TRUE 1861 +Mus musculus functional IGHV9S7 IGH V TRUE 1862 +Mus musculus functional IGHV9S8 IGH V TRUE 1863 +Mus musculus functional IGKJ1 IGK J TRUE 1864 +Mus musculus functional IGKJ2 IGK J TRUE 1865 +Mus musculus non-functional IGKJ3 IGK J FALSE 1866 +Mus musculus functional IGKJ4 IGK J TRUE 1867 +Mus musculus functional IGKJ5 IGK J TRUE 1868 +Mus musculus non-functional IGKV1-108 IGK V FALSE 1869 +Mus musculus functional IGKV1-110 IGK V TRUE 1870 +Mus musculus non-functional IGKV1-115 IGK V FALSE 1871 +Mus musculus functional IGKV1-117 IGK V TRUE 1872 +Mus musculus functional IGKV1-122 IGK V TRUE 1873 +Mus musculus non-functional IGKV1-131 IGK V FALSE 1874 +Mus musculus functional IGKV1-132 IGK V TRUE 1875 +Mus musculus functional IGKV1-133 IGK V TRUE 1876 +Mus musculus functional IGKV1-135 IGK V TRUE 1877 +Mus musculus non-functional IGKV1-136 IGK V FALSE 1878 +Mus musculus non-functional IGKV1-35 IGK V FALSE 1879 +Mus musculus functional IGKV1-88 IGK V TRUE 1880 +Mus musculus functional IGKV1-99 IGK V TRUE 1881 +Mus musculus non-functional IGKV1/OR16-1 IGK V FALSE 1882 +Mus musculus non-functional IGKV1/OR19-1 IGK V FALSE 1883 +Mus musculus non-functional IGKV1/OR6-1 IGK V FALSE 1884 +Mus musculus functional IGKV10-94 IGK V TRUE 1885 +Mus musculus functional IGKV10-95 IGK V TRUE 1886 +Mus musculus functional IGKV10-96 IGK V TRUE 1887 +Mus musculus non-functional IGKV11-106 IGK V FALSE 1888 +Mus musculus non-functional IGKV11-114 IGK V FALSE 1889 +Mus musculus non-functional IGKV11-118 IGK V FALSE 1890 +Mus musculus functional IGKV11-125 IGK V TRUE 1891 +Mus musculus functional IGKV12-38 IGK V TRUE 1892 +Mus musculus non-functional IGKV12-40 IGK V FALSE 1893 +Mus musculus functional IGKV12-41 IGK V TRUE 1894 +Mus musculus non-functional IGKV12-42 IGK V FALSE 1895 +Mus musculus functional IGKV12-44 IGK V TRUE 1896 +Mus musculus functional IGKV12-46 IGK V TRUE 1897 +Mus musculus non-functional IGKV12-47 IGK V FALSE 1898 +Mus musculus non-functional IGKV12-49 IGK V FALSE 1899 +Mus musculus non-functional IGKV12-66 IGK V FALSE 1900 +Mus musculus non-functional IGKV12-67 IGK V FALSE 1901 +Mus musculus functional IGKV12-89 IGK V TRUE 1902 +Mus musculus functional IGKV12-98 IGK V TRUE 1903 +Mus musculus functional IGKV12-e IGK V TRUE 1904 +Mus musculus non-functional IGKV13-54-1 IGK V FALSE 1905 +Mus musculus non-functional IGKV13-55-1 IGK V FALSE 1906 +Mus musculus non-functional IGKV13-56-1 IGK V FALSE 1907 +Mus musculus non-functional IGKV13-57-1 IGK V FALSE 1908 +Mus musculus non-functional IGKV13-57-2 IGK V FALSE 1909 +Mus musculus non-functional IGKV13-61-1 IGK V FALSE 1910 +Mus musculus non-functional IGKV13-62-1 IGK V FALSE 1911 +Mus musculus non-functional IGKV13-64 IGK V FALSE 1912 +Mus musculus non-functional IGKV13-71-1 IGK V FALSE 1913 +Mus musculus non-functional IGKV13-73-1 IGK V FALSE 1914 +Mus musculus non-functional IGKV13-74-1 IGK V FALSE 1915 +Mus musculus non-functional IGKV13-76 IGK V FALSE 1916 +Mus musculus non-functional IGKV13-78-1 IGK V FALSE 1917 +Mus musculus non-functional IGKV13-80-1 IGK V FALSE 1918 +Mus musculus non-functional IGKV13-82 IGK V FALSE 1919 +Mus musculus functional IGKV13-84 IGK V TRUE 1920 +Mus musculus functional IGKV13-85 IGK V TRUE 1921 +Mus musculus non-functional IGKV13-87 IGK V FALSE 1922 +Mus musculus non-functional IGKV13-89-1 IGK V FALSE 1923 +Mus musculus functional IGKV14-100 IGK V TRUE 1924 +Mus musculus functional IGKV14-111 IGK V TRUE 1925 +Mus musculus non-functional IGKV14-118-1 IGK V FALSE 1926 +Mus musculus non-functional IGKV14-118-2 IGK V FALSE 1927 +Mus musculus functional IGKV14-126 IGK V TRUE 1928 +Mus musculus non-functional IGKV14-126-1 IGK V FALSE 1929 +Mus musculus functional IGKV14-130 IGK V TRUE 1930 +Mus musculus non-functional IGKV14-134-1 IGK V FALSE 1931 +Mus musculus non-functional IGKV14/OR16-2 IGK V FALSE 1932 +Mus musculus non-functional IGKV14/OR6-2 IGK V FALSE 1933 +Mus musculus non-functional IGKV14/OR6-3 IGK V FALSE 1934 +Mus musculus non-functional IGKV15-101 IGK V FALSE 1935 +Mus musculus non-functional IGKV15-101-1 IGK V FALSE 1936 +Mus musculus non-functional IGKV15-102 IGK V FALSE 1937 +Mus musculus non-functional IGKV15-103 IGK V FALSE 1938 +Mus musculus non-functional IGKV15-97 IGK V FALSE 1939 +Mus musculus functional IGKV16-104 IGK V TRUE 1940 +Mus musculus functional IGKV17-121 IGK V TRUE 1941 +Mus musculus functional IGKV17-127 IGK V TRUE 1942 +Mus musculus non-functional IGKV17-134 IGK V FALSE 1943 +Mus musculus non-functional IGKV17/OR16-3 IGK V FALSE 1944 +Mus musculus non-functional IGKV17/OR19-2 IGK V FALSE 1945 +Mus musculus functional IGKV18-36 IGK V TRUE 1946 +Mus musculus functional IGKV19-93 IGK V TRUE 1947 +Mus musculus non-functional IGKV2-105 IGK V FALSE 1948 +Mus musculus non-functional IGKV2-107 IGK V FALSE 1949 +Mus musculus functional IGKV2-109 IGK V TRUE 1950 +Mus musculus functional IGKV2-112 IGK V TRUE 1951 +Mus musculus non-functional IGKV2-113 IGK V FALSE 1952 +Mus musculus non-functional IGKV2-116 IGK V FALSE 1953 +Mus musculus functional IGKV2-137 IGK V TRUE 1954 +Mus musculus non-functional IGKV2-93-1 IGK V FALSE 1955 +Mus musculus non-functional IGKV2-95-1 IGK V FALSE 1956 +Mus musculus non-functional IGKV2-95-2 IGK V FALSE 1957 +Mus musculus functional IGKV2-a IGK V TRUE 1958 +Mus musculus non-functional IGKV2-f IGK V FALSE 1959 +Mus musculus functional IGKV20-101-2 IGK V TRUE 1960 +Mus musculus functional IGKV3-1 IGK V TRUE 1961 +Mus musculus functional IGKV3-10 IGK V TRUE 1962 +Mus musculus non-functional IGKV3-11 IGK V FALSE 1963 +Mus musculus functional IGKV3-12 IGK V TRUE 1964 +Mus musculus non-functional IGKV3-12-1 IGK V FALSE 1965 +Mus musculus functional IGKV3-2 IGK V TRUE 1966 +Mus musculus functional IGKV3-3 IGK V TRUE 1967 +Mus musculus functional IGKV3-4 IGK V TRUE 1968 +Mus musculus functional IGKV3-5 IGK V TRUE 1969 +Mus musculus non-functional IGKV3-6 IGK V FALSE 1970 +Mus musculus functional IGKV3-7 IGK V TRUE 1971 +Mus musculus non-functional IGKV3-8 IGK V FALSE 1972 +Mus musculus functional IGKV3-9 IGK V TRUE 1973 +Mus musculus functional IGKV4-50 IGK V TRUE 1974 +Mus musculus functional IGKV4-51 IGK V TRUE 1975 +Mus musculus non-functional IGKV4-52 IGK V FALSE 1976 +Mus musculus functional IGKV4-53 IGK V TRUE 1977 +Mus musculus non-functional IGKV4-54 IGK V FALSE 1978 +Mus musculus functional IGKV4-55 IGK V TRUE 1979 +Mus musculus non-functional IGKV4-56 IGK V FALSE 1980 +Mus musculus functional IGKV4-57 IGK V TRUE 1981 +Mus musculus functional IGKV4-57-1 IGK V TRUE 1982 +Mus musculus functional IGKV4-58 IGK V TRUE 1983 +Mus musculus functional IGKV4-59 IGK V TRUE 1984 +Mus musculus non-functional IGKV4-60 IGK V FALSE 1985 +Mus musculus functional IGKV4-61 IGK V TRUE 1986 +Mus musculus non-functional IGKV4-62 IGK V FALSE 1987 +Mus musculus functional IGKV4-63 IGK V TRUE 1988 +Mus musculus non-functional IGKV4-65 IGK V FALSE 1989 +Mus musculus functional IGKV4-68 IGK V TRUE 1990 +Mus musculus functional IGKV4-69 IGK V TRUE 1991 +Mus musculus functional IGKV4-70 IGK V TRUE 1992 +Mus musculus functional IGKV4-71 IGK V TRUE 1993 +Mus musculus functional IGKV4-72 IGK V TRUE 1994 +Mus musculus functional IGKV4-73 IGK V TRUE 1995 +Mus musculus functional IGKV4-74 IGK V TRUE 1996 +Mus musculus non-functional IGKV4-75 IGK V FALSE 1997 +Mus musculus non-functional IGKV4-77 IGK V FALSE 1998 +Mus musculus functional IGKV4-78 IGK V TRUE 1999 +Mus musculus functional IGKV4-79 IGK V TRUE 2000 +Mus musculus functional IGKV4-80 IGK V TRUE 2001 +Mus musculus functional IGKV4-81 IGK V TRUE 2002 +Mus musculus non-functional IGKV4-83 IGK V FALSE 2003 +Mus musculus functional IGKV4-86 IGK V TRUE 2004 +Mus musculus functional IGKV4-90 IGK V TRUE 2005 +Mus musculus functional IGKV4-91 IGK V TRUE 2006 +Mus musculus functional IGKV4-92 IGK V TRUE 2007 +Mus musculus functional IGKV5-37 IGK V TRUE 2008 +Mus musculus functional IGKV5-39 IGK V TRUE 2009 +Mus musculus non-functional IGKV5-40-1 IGK V FALSE 2010 +Mus musculus functional IGKV5-43 IGK V TRUE 2011 +Mus musculus functional IGKV5-45 IGK V TRUE 2012 +Mus musculus functional IGKV5-48 IGK V TRUE 2013 +Mus musculus non-functional IGKV6-13 IGK V FALSE 2014 +Mus musculus functional IGKV6-14 IGK V TRUE 2015 +Mus musculus functional IGKV6-15 IGK V TRUE 2016 +Mus musculus functional IGKV6-17 IGK V TRUE 2017 +Mus musculus functional IGKV6-20 IGK V TRUE 2018 +Mus musculus functional IGKV6-23 IGK V TRUE 2019 +Mus musculus functional IGKV6-25 IGK V TRUE 2020 +Mus musculus functional IGKV6-29 IGK V TRUE 2021 +Mus musculus functional IGKV6-32 IGK V TRUE 2022 +Mus musculus functional IGKV6-b IGK V TRUE 2023 +Mus musculus functional IGKV6-c IGK V TRUE 2024 +Mus musculus functional IGKV6-d IGK V TRUE 2025 +Mus musculus functional IGKV7-33 IGK V TRUE 2026 +Mus musculus functional IGKV8-16 IGK V TRUE 2027 +Mus musculus non-functional IGKV8-18 IGK V FALSE 2028 +Mus musculus functional IGKV8-19 IGK V TRUE 2029 +Mus musculus functional IGKV8-21 IGK V TRUE 2030 +Mus musculus non-functional IGKV8-22 IGK V FALSE 2031 +Mus musculus non-functional IGKV8-23-1 IGK V FALSE 2032 +Mus musculus functional IGKV8-24 IGK V TRUE 2033 +Mus musculus non-functional IGKV8-26 IGK V FALSE 2034 +Mus musculus functional IGKV8-27 IGK V TRUE 2035 +Mus musculus functional IGKV8-28 IGK V TRUE 2036 +Mus musculus functional IGKV8-30 IGK V TRUE 2037 +Mus musculus non-functional IGKV8-31 IGK V FALSE 2038 +Mus musculus functional IGKV8-34 IGK V TRUE 2039 +Mus musculus non-functional IGKV9-119 IGK V FALSE 2040 +Mus musculus functional IGKV9-120 IGK V TRUE 2041 +Mus musculus functional IGKV9-123 IGK V TRUE 2042 +Mus musculus functional IGKV9-124 IGK V TRUE 2043 +Mus musculus non-functional IGKV9-128 IGK V FALSE 2044 +Mus musculus non-functional IGKV9-129 IGK V FALSE 2045 +Mus musculus functional IGLJ1 IGL J TRUE 2046 +Mus musculus functional IGLJ2 IGL J TRUE 2047 +Mus musculus functional IGLJ3 IGL J TRUE 2048 +Mus musculus non-functional IGLJ3P IGL J FALSE 2049 +Mus musculus non-functional IGLJ4 IGL J FALSE 2050 +Mus musculus functional IGLV1 IGL V TRUE 2051 +Mus musculus functional IGLV2 IGL V TRUE 2052 +Mus musculus functional IGLV3 IGL V TRUE 2053 +Mus musculus non-functional IGLV4 IGL V FALSE 2054 +Mus musculus non-functional IGLV5 IGL V FALSE 2055 +Mus musculus non-functional IGLV6 IGL V FALSE 2056 +Mus musculus non-functional IGLV7 IGL V FALSE 2057 +Mus musculus non-functional IGLV8 IGL V FALSE 2058 +Mus musculus non-functional TRAJ1 TRA J FALSE 2059 +Mus musculus functional TRAJ11 TRA J TRUE 2060 +Mus musculus functional TRAJ12 TRA J TRUE 2061 +Mus musculus functional TRAJ13 TRA J TRUE 2062 +Mus musculus non-functional TRAJ14 TRA J FALSE 2063 +Mus musculus functional TRAJ15 TRA J TRUE 2064 +Mus musculus functional TRAJ16 TRA J TRUE 2065 +Mus musculus functional TRAJ17 TRA J TRUE 2066 +Mus musculus functional TRAJ18 TRA J TRUE 2067 +Mus musculus non-functional TRAJ19 TRA J FALSE 2068 +Mus musculus functional TRAJ2 TRA J TRUE 2069 +Mus musculus non-functional TRAJ20 TRA J FALSE 2070 +Mus musculus functional TRAJ21 TRA J TRUE 2071 +Mus musculus functional TRAJ22 TRA J TRUE 2072 +Mus musculus functional TRAJ23 TRA J TRUE 2073 +Mus musculus functional TRAJ24 TRA J TRUE 2074 +Mus musculus non-functional TRAJ25 TRA J FALSE 2075 +Mus musculus functional TRAJ26 TRA J TRUE 2076 +Mus musculus functional TRAJ27 TRA J TRUE 2077 +Mus musculus functional TRAJ28 TRA J TRUE 2078 +Mus musculus non-functional TRAJ29 TRA J FALSE 2079 +Mus musculus non-functional TRAJ3 TRA J FALSE 2080 +Mus musculus functional TRAJ30 TRA J TRUE 2081 +Mus musculus functional TRAJ31 TRA J TRUE 2082 +Mus musculus functional TRAJ32 TRA J TRUE 2083 +Mus musculus functional TRAJ33 TRA J TRUE 2084 +Mus musculus functional TRAJ34 TRA J TRUE 2085 +Mus musculus functional TRAJ35 TRA J TRUE 2086 +Mus musculus non-functional TRAJ36 TRA J FALSE 2087 +Mus musculus functional TRAJ37 TRA J TRUE 2088 +Mus musculus functional TRAJ38 TRA J TRUE 2089 +Mus musculus functional TRAJ39 TRA J TRUE 2090 +Mus musculus non-functional TRAJ4 TRA J FALSE 2091 +Mus musculus functional TRAJ40 TRA J TRUE 2092 +Mus musculus non-functional TRAJ41 TRA J FALSE 2093 +Mus musculus functional TRAJ42 TRA J TRUE 2094 +Mus musculus functional TRAJ43 TRA J TRUE 2095 +Mus musculus non-functional TRAJ44 TRA J FALSE 2096 +Mus musculus functional TRAJ45 TRA J TRUE 2097 +Mus musculus non-functional TRAJ46 TRA J FALSE 2098 +Mus musculus non-functional TRAJ47 TRA J FALSE 2099 +Mus musculus functional TRAJ48 TRA J TRUE 2100 +Mus musculus functional TRAJ49 TRA J TRUE 2101 +Mus musculus functional TRAJ5 TRA J TRUE 2102 +Mus musculus functional TRAJ50 TRA J TRUE 2103 +Mus musculus non-functional TRAJ51 TRA J FALSE 2104 +Mus musculus functional TRAJ52 TRA J TRUE 2105 +Mus musculus functional TRAJ53 TRA J TRUE 2106 +Mus musculus non-functional TRAJ54 TRA J FALSE 2107 +Mus musculus non-functional TRAJ55 TRA J FALSE 2108 +Mus musculus functional TRAJ56 TRA J TRUE 2109 +Mus musculus functional TRAJ57 TRA J TRUE 2110 +Mus musculus functional TRAJ58 TRA J TRUE 2111 +Mus musculus non-functional TRAJ59 TRA J FALSE 2112 +Mus musculus functional TRAJ6 TRA J TRUE 2113 +Mus musculus non-functional TRAJ60 TRA J FALSE 2114 +Mus musculus non-functional TRAJ61 TRA J FALSE 2115 +Mus musculus non-functional TRAJ7 TRA J FALSE 2116 +Mus musculus non-functional TRAJ8 TRA J FALSE 2117 +Mus musculus functional TRAJ9 TRA J TRUE 2118 +Mus musculus functional TRAV1 TRA V TRUE 2119 +Mus musculus functional TRAV10 TRA V TRUE 2120 +Mus musculus functional TRAV10D TRA V TRUE 2121 +Mus musculus functional TRAV10N TRA V TRUE 2122 +Mus musculus functional TRAV11 TRA V TRUE 2123 +Mus musculus functional TRAV11D TRA V TRUE 2124 +Mus musculus non-functional TRAV11N TRA V FALSE 2125 +Mus musculus functional TRAV12-1 TRA V TRUE 2126 +Mus musculus functional TRAV12-2 TRA V TRUE 2127 +Mus musculus functional TRAV12-3 TRA V TRUE 2128 +Mus musculus non-functional TRAV12-4 TRA V FALSE 2129 +Mus musculus functional TRAV12D-1 TRA V TRUE 2130 +Mus musculus functional TRAV12D-2 TRA V TRUE 2131 +Mus musculus functional TRAV12D-3 TRA V TRUE 2132 +Mus musculus functional TRAV12N-1 TRA V TRUE 2133 +Mus musculus functional TRAV12N-2 TRA V TRUE 2134 +Mus musculus functional TRAV12N-3 TRA V TRUE 2135 +Mus musculus functional TRAV13-1 TRA V TRUE 2136 +Mus musculus functional TRAV13-2 TRA V TRUE 2137 +Mus musculus functional TRAV13-3 TRA V TRUE 2138 +Mus musculus functional TRAV13-4/DV7 TRA V TRUE 2139 +Mus musculus functional TRAV13-5 TRA V TRUE 2140 +Mus musculus functional TRAV13D-1 TRA V TRUE 2141 +Mus musculus functional TRAV13D-2 TRA V TRUE 2142 +Mus musculus functional TRAV13D-3 TRA V TRUE 2143 +Mus musculus functional TRAV13D-4 TRA V TRUE 2144 +Mus musculus functional TRAV13N-1 TRA V TRUE 2145 +Mus musculus functional TRAV13N-2 TRA V TRUE 2146 +Mus musculus functional TRAV13N-3 TRA V TRUE 2147 +Mus musculus functional TRAV13N-4 TRA V TRUE 2148 +Mus musculus functional TRAV14-1 TRA V TRUE 2149 +Mus musculus functional TRAV14-2 TRA V TRUE 2150 +Mus musculus functional TRAV14-3 TRA V TRUE 2151 +Mus musculus functional TRAV14D-1 TRA V TRUE 2152 +Mus musculus functional TRAV14D-2 TRA V TRUE 2153 +Mus musculus functional TRAV14D-3/DV8 TRA V TRUE 2154 +Mus musculus functional TRAV14N-1 TRA V TRUE 2155 +Mus musculus functional TRAV14N-2 TRA V TRUE 2156 +Mus musculus functional TRAV14N-3 TRA V TRUE 2157 +Mus musculus functional TRAV15-1/DV6-1 TRA V TRUE 2158 +Mus musculus functional TRAV15-2/DV6-2 TRA V TRUE 2159 +Mus musculus non-functional TRAV15-3 TRA V FALSE 2160 +Mus musculus functional TRAV15D-1/DV6D-1 TRA V TRUE 2161 +Mus musculus functional TRAV15D-2/DV6D-2 TRA V TRUE 2162 +Mus musculus non-functional TRAV15D-3 TRA V FALSE 2163 +Mus musculus functional TRAV15N-1 TRA V TRUE 2164 +Mus musculus functional TRAV15N-2 TRA V TRUE 2165 +Mus musculus non-functional TRAV15N-3 TRA V FALSE 2166 +Mus musculus functional TRAV16 TRA V TRUE 2167 +Mus musculus functional TRAV16D/DV11 TRA V TRUE 2168 +Mus musculus functional TRAV16N TRA V TRUE 2169 +Mus musculus functional TRAV17 TRA V TRUE 2170 +Mus musculus non-functional TRAV18 TRA V FALSE 2171 +Mus musculus functional TRAV19 TRA V TRUE 2172 +Mus musculus functional TRAV2 TRA V TRUE 2173 +Mus musculus non-functional TRAV20 TRA V FALSE 2174 +Mus musculus functional TRAV21/DV12 TRA V TRUE 2175 +Mus musculus non-functional TRAV22 TRA V FALSE 2176 +Mus musculus non-functional TRAV23 TRA V FALSE 2177 +Mus musculus functional TRAV3-1 TRA V TRUE 2178 +Mus musculus non-functional TRAV3-2 TRA V FALSE 2179 +Mus musculus functional TRAV3-3 TRA V TRUE 2180 +Mus musculus functional TRAV3-4 TRA V TRUE 2181 +Mus musculus non-functional TRAV3D-2 TRA V FALSE 2182 +Mus musculus functional TRAV3D-3 TRA V TRUE 2183 +Mus musculus non-functional TRAV3N-2 TRA V FALSE 2184 +Mus musculus functional TRAV3N-3 TRA V TRUE 2185 +Mus musculus non-functional TRAV4-1 TRA V FALSE 2186 +Mus musculus functional TRAV4-2 TRA V TRUE 2187 +Mus musculus functional TRAV4-3 TRA V TRUE 2188 +Mus musculus functional TRAV4-4/DV10 TRA V TRUE 2189 +Mus musculus non-functional TRAV4D-2 TRA V FALSE 2190 +Mus musculus functional TRAV4D-3 TRA V TRUE 2191 +Mus musculus functional TRAV4D-4 TRA V TRUE 2192 +Mus musculus functional TRAV4N-3 TRA V TRUE 2193 +Mus musculus functional TRAV4N-4 TRA V TRUE 2194 +Mus musculus functional TRAV5-1 TRA V TRUE 2195 +Mus musculus non-functional TRAV5-2 TRA V FALSE 2196 +Mus musculus non-functional TRAV5-3 TRA V FALSE 2197 +Mus musculus non-functional TRAV5-4 TRA V FALSE 2198 +Mus musculus non-functional TRAV5D-2 TRA V FALSE 2199 +Mus musculus non-functional TRAV5D-3 TRA V FALSE 2200 +Mus musculus functional TRAV5D-4 TRA V TRUE 2201 +Mus musculus non-functional TRAV5N-2 TRA V FALSE 2202 +Mus musculus non-functional TRAV5N-3 TRA V FALSE 2203 +Mus musculus functional TRAV5N-4 TRA V TRUE 2204 +Mus musculus functional TRAV6-1 TRA V TRUE 2205 +Mus musculus functional TRAV6-2 TRA V TRUE 2206 +Mus musculus functional TRAV6-3 TRA V TRUE 2207 +Mus musculus functional TRAV6-4 TRA V TRUE 2208 +Mus musculus functional TRAV6-5 TRA V TRUE 2209 +Mus musculus functional TRAV6-6 TRA V TRUE 2210 +Mus musculus functional TRAV6-7/DV9 TRA V TRUE 2211 +Mus musculus functional TRAV6D-3 TRA V TRUE 2212 +Mus musculus functional TRAV6D-4 TRA V TRUE 2213 +Mus musculus functional TRAV6D-5 TRA V TRUE 2214 +Mus musculus functional TRAV6D-6 TRA V TRUE 2215 +Mus musculus functional TRAV6D-7 TRA V TRUE 2216 +Mus musculus functional TRAV6N-5 TRA V TRUE 2217 +Mus musculus functional TRAV6N-6 TRA V TRUE 2218 +Mus musculus functional TRAV6N-7 TRA V TRUE 2219 +Mus musculus functional TRAV7-1 TRA V TRUE 2220 +Mus musculus functional TRAV7-2 TRA V TRUE 2221 +Mus musculus functional TRAV7-3 TRA V TRUE 2222 +Mus musculus functional TRAV7-4 TRA V TRUE 2223 +Mus musculus functional TRAV7-5 TRA V TRUE 2224 +Mus musculus functional TRAV7-6 TRA V TRUE 2225 +Mus musculus functional TRAV7D-2 TRA V TRUE 2226 +Mus musculus functional TRAV7D-3 TRA V TRUE 2227 +Mus musculus functional TRAV7D-4 TRA V TRUE 2228 +Mus musculus functional TRAV7D-5 TRA V TRUE 2229 +Mus musculus functional TRAV7D-6 TRA V TRUE 2230 +Mus musculus functional TRAV7N-4 TRA V TRUE 2231 +Mus musculus functional TRAV7N-5 TRA V TRUE 2232 +Mus musculus functional TRAV7N-6 TRA V TRUE 2233 +Mus musculus functional TRAV8-1 TRA V TRUE 2234 +Mus musculus functional TRAV8-2 TRA V TRUE 2235 +Mus musculus functional TRAV8D-1 TRA V TRUE 2236 +Mus musculus functional TRAV8D-2 TRA V TRUE 2237 +Mus musculus functional TRAV8N-2 TRA V TRUE 2238 +Mus musculus functional TRAV9-1 TRA V TRUE 2239 +Mus musculus functional TRAV9-2 TRA V TRUE 2240 +Mus musculus functional TRAV9-3 TRA V TRUE 2241 +Mus musculus functional TRAV9-4 TRA V TRUE 2242 +Mus musculus functional TRAV9D-1 TRA V TRUE 2243 +Mus musculus functional TRAV9D-2 TRA V TRUE 2244 +Mus musculus functional TRAV9D-3 TRA V TRUE 2245 +Mus musculus functional TRAV9D-4 TRA V TRUE 2246 +Mus musculus non-functional TRAV9N-1 TRA V FALSE 2247 +Mus musculus functional TRAV9N-2 TRA V TRUE 2248 +Mus musculus functional TRAV9N-3 TRA V TRUE 2249 +Mus musculus functional TRAV9N-4 TRA V TRUE 2250 +Mus musculus functional TRBD1 TRB D TRUE 2251 +Mus musculus functional TRBD2 TRB D TRUE 2252 +Mus musculus functional TRBJ1-1 TRB J TRUE 2253 +Mus musculus functional TRBJ1-2 TRB J TRUE 2254 +Mus musculus functional TRBJ1-3 TRB J TRUE 2255 +Mus musculus functional TRBJ1-4 TRB J TRUE 2256 +Mus musculus functional TRBJ1-5 TRB J TRUE 2257 +Mus musculus non-functional TRBJ1-6 TRB J FALSE 2258 +Mus musculus non-functional TRBJ1-7 TRB J FALSE 2259 +Mus musculus functional TRBJ2-1 TRB J TRUE 2260 +Mus musculus functional TRBJ2-2 TRB J TRUE 2261 +Mus musculus functional TRBJ2-3 TRB J TRUE 2262 +Mus musculus functional TRBJ2-4 TRB J TRUE 2263 +Mus musculus functional TRBJ2-5 TRB J TRUE 2264 +Mus musculus non-functional TRBJ2-6 TRB J FALSE 2265 +Mus musculus functional TRBJ2-7 TRB J TRUE 2266 +Mus musculus functional TRBV1 TRB V TRUE 2267 +Mus musculus non-functional TRBV10 TRB V FALSE 2268 +Mus musculus non-functional TRBV11 TRB V FALSE 2269 +Mus musculus functional TRBV12-1 TRB V TRUE 2270 +Mus musculus functional TRBV12-2 TRB V TRUE 2271 +Mus musculus non-functional TRBV12-3 TRB V FALSE 2272 +Mus musculus functional TRBV13-1 TRB V TRUE 2273 +Mus musculus functional TRBV13-2 TRB V TRUE 2274 +Mus musculus functional TRBV13-3 TRB V TRUE 2275 +Mus musculus functional TRBV14 TRB V TRUE 2276 +Mus musculus functional TRBV15 TRB V TRUE 2277 +Mus musculus functional TRBV16 TRB V TRUE 2278 +Mus musculus functional TRBV17 TRB V TRUE 2279 +Mus musculus non-functional TRBV18 TRB V FALSE 2280 +Mus musculus functional TRBV19 TRB V TRUE 2281 +Mus musculus functional TRBV2 TRB V TRUE 2282 +Mus musculus functional TRBV20 TRB V TRUE 2283 +Mus musculus non-functional TRBV21 TRB V FALSE 2284 +Mus musculus non-functional TRBV22 TRB V FALSE 2285 +Mus musculus functional TRBV23 TRB V TRUE 2286 +Mus musculus functional TRBV24 TRB V TRUE 2287 +Mus musculus non-functional TRBV25 TRB V FALSE 2288 +Mus musculus functional TRBV26 TRB V TRUE 2289 +Mus musculus non-functional TRBV27 TRB V FALSE 2290 +Mus musculus non-functional TRBV28 TRB V FALSE 2291 +Mus musculus functional TRBV29 TRB V TRUE 2292 +Mus musculus functional TRBV3 TRB V TRUE 2293 +Mus musculus functional TRBV30 TRB V TRUE 2294 +Mus musculus functional TRBV31 TRB V TRUE 2295 +Mus musculus functional TRBV4 TRB V TRUE 2296 +Mus musculus functional TRBV5 TRB V TRUE 2297 +Mus musculus non-functional TRBV6 TRB V FALSE 2298 +Mus musculus non-functional TRBV7 TRB V FALSE 2299 +Mus musculus non-functional TRBV8 TRB V FALSE 2300 +Mus musculus non-functional TRBV9 TRB V FALSE 2301 +Mus musculus functional TRDD1 TRD D TRUE 2302 +Mus musculus functional TRDD2 TRD D TRUE 2303 +Mus musculus functional TRDJ1 TRD J TRUE 2304 +Mus musculus functional TRDJ2 TRD J TRUE 2305 +Mus musculus functional TRDV1 TRD V TRUE 2306 +Mus musculus functional TRDV2-1 TRD V TRUE 2307 +Mus musculus functional TRDV2-2 TRD V TRUE 2308 +Mus musculus non-functional TRDV3 TRD V FALSE 2309 +Mus musculus functional TRDV4 TRD V TRUE 2310 +Mus musculus functional TRDV5 TRD V TRUE 2311 +Mus musculus functional TRGJ1 TRG J TRUE 2312 +Mus musculus functional TRGJ2 TRG J TRUE 2313 +Mus musculus functional TRGJ3 TRG J TRUE 2314 +Mus musculus functional TRGJ4 TRG J TRUE 2315 +Mus musculus functional TRGV1 TRG V TRUE 2316 +Mus musculus functional TRGV2 TRG V TRUE 2317 +Mus musculus functional TRGV3 TRG V TRUE 2318 +Mus musculus functional TRGV4 TRG V TRUE 2319 +Mus musculus functional TRGV5 TRG V TRUE 2320 +Mus musculus functional TRGV6 TRG V TRUE 2321 +Mus musculus functional TRGV7 TRG V TRUE 2322 +Mus spretus functional IGKV10-94 IGK V TRUE 2323 +Mus spretus functional IGKV10-96 IGK V TRUE 2324 +Mus spretus non-functional IGLJ4 IGL J FALSE 2325 +Mus spretus non-functional IGLJ5 IGL J FALSE 2326 +Mus spretus functional IGLV2 IGL V TRUE 2327 +Mus spretus functional IGLV3 IGL V TRUE 2328 +Mus spretus non-functional IGLV4 IGL V FALSE 2329 +Mus spretus non-functional IGLV8 IGL V FALSE 2330 +Oncorhynchus mykiss functional IGHD IGH D TRUE 2331 +Oncorhynchus mykiss functional IGHD1 IGH D TRUE 2332 +Oncorhynchus mykiss functional IGHD2 IGH D TRUE 2333 +Oncorhynchus mykiss functional IGHD3 IGH D TRUE 2334 +Oncorhynchus mykiss functional IGHD4 IGH D TRUE 2335 +Oncorhynchus mykiss functional IGHD5 IGH D TRUE 2336 +Oncorhynchus mykiss functional IGHD6 IGH D TRUE 2337 +Oncorhynchus mykiss functional IGHD7 IGH D TRUE 2338 +Oncorhynchus mykiss functional IGHD8 IGH D TRUE 2339 +Oncorhynchus mykiss functional IGHD9 IGH D TRUE 2340 +Oncorhynchus mykiss functional IGHJ1 IGH J TRUE 2341 +Oncorhynchus mykiss functional IGHJ2 IGH J TRUE 2342 +Oncorhynchus mykiss functional IGHJ3 IGH J TRUE 2343 +Oncorhynchus mykiss functional IGHJ4 IGH J TRUE 2344 +Oncorhynchus mykiss functional IGHJ5 IGH J TRUE 2345 +Oncorhynchus mykiss functional IGHJ6 IGH J TRUE 2346 +Oncorhynchus mykiss functional IGHJ7 IGH J TRUE 2347 +Oncorhynchus mykiss non-functional IGHV10S1 IGH V FALSE 2348 +Oncorhynchus mykiss non-functional IGHV11S1 IGH V FALSE 2349 +Oncorhynchus mykiss non-functional IGHV12S1 IGH V FALSE 2350 +Oncorhynchus mykiss non-functional IGHV13S1 IGH V FALSE 2351 +Oncorhynchus mykiss functional IGHV1S1 IGH V TRUE 2352 +Oncorhynchus mykiss functional IGHV1S2 IGH V TRUE 2353 +Oncorhynchus mykiss non-functional IGHV1S3 IGH V FALSE 2354 +Oncorhynchus mykiss non-functional IGHV1S4 IGH V FALSE 2355 +Oncorhynchus mykiss non-functional IGHV1S5 IGH V FALSE 2356 +Oncorhynchus mykiss non-functional IGHV1S6 IGH V FALSE 2357 +Oncorhynchus mykiss non-functional IGHV1S7 IGH V FALSE 2358 +Oncorhynchus mykiss non-functional IGHV2S1 IGH V FALSE 2359 +Oncorhynchus mykiss functional IGHV2S2 IGH V TRUE 2360 +Oncorhynchus mykiss non-functional IGHV2S3 IGH V FALSE 2361 +Oncorhynchus mykiss non-functional IGHV3S1 IGH V FALSE 2362 +Oncorhynchus mykiss non-functional IGHV3S2 IGH V FALSE 2363 +Oncorhynchus mykiss non-functional IGHV3S3 IGH V FALSE 2364 +Oncorhynchus mykiss non-functional IGHV3S4 IGH V FALSE 2365 +Oncorhynchus mykiss non-functional IGHV4S1 IGH V FALSE 2366 +Oncorhynchus mykiss non-functional IGHV5S1 IGH V FALSE 2367 +Oncorhynchus mykiss functional IGHV5S10 IGH V TRUE 2368 +Oncorhynchus mykiss non-functional IGHV5S2 IGH V FALSE 2369 +Oncorhynchus mykiss non-functional IGHV5S3 IGH V FALSE 2370 +Oncorhynchus mykiss non-functional IGHV5S4 IGH V FALSE 2371 +Oncorhynchus mykiss non-functional IGHV5S5 IGH V FALSE 2372 +Oncorhynchus mykiss non-functional IGHV5S6 IGH V FALSE 2373 +Oncorhynchus mykiss non-functional IGHV5S7 IGH V FALSE 2374 +Oncorhynchus mykiss non-functional IGHV5S8 IGH V FALSE 2375 +Oncorhynchus mykiss non-functional IGHV5S9 IGH V FALSE 2376 +Oncorhynchus mykiss functional IGHV6S1 IGH V TRUE 2377 +Oncorhynchus mykiss non-functional IGHV6S2 IGH V FALSE 2378 +Oncorhynchus mykiss non-functional IGHV6S3 IGH V FALSE 2379 +Oncorhynchus mykiss non-functional IGHV6S4 IGH V FALSE 2380 +Oncorhynchus mykiss non-functional IGHV6S5 IGH V FALSE 2381 +Oncorhynchus mykiss non-functional IGHV6S6 IGH V FALSE 2382 +Oncorhynchus mykiss non-functional IGHV6S7 IGH V FALSE 2383 +Oncorhynchus mykiss non-functional IGHV6S8 IGH V FALSE 2384 +Oncorhynchus mykiss non-functional IGHV6S9 IGH V FALSE 2385 +Oncorhynchus mykiss non-functional IGHV7S1 IGH V FALSE 2386 +Oncorhynchus mykiss non-functional IGHV8S1 IGH V FALSE 2387 +Oncorhynchus mykiss non-functional IGHV8S10 IGH V FALSE 2388 +Oncorhynchus mykiss non-functional IGHV8S11 IGH V FALSE 2389 +Oncorhynchus mykiss non-functional IGHV8S2 IGH V FALSE 2390 +Oncorhynchus mykiss non-functional IGHV8S3 IGH V FALSE 2391 +Oncorhynchus mykiss non-functional IGHV8S4 IGH V FALSE 2392 +Oncorhynchus mykiss non-functional IGHV8S5 IGH V FALSE 2393 +Oncorhynchus mykiss non-functional IGHV8S6 IGH V FALSE 2394 +Oncorhynchus mykiss functional IGHV8S7 IGH V TRUE 2395 +Oncorhynchus mykiss non-functional IGHV8S8 IGH V FALSE 2396 +Oncorhynchus mykiss non-functional IGHV8S9 IGH V FALSE 2397 +Oncorhynchus mykiss non-functional IGHV9S1 IGH V FALSE 2398 +Oncorhynchus mykiss non-functional IGHV9S2 IGH V FALSE 2399 +Oncorhynchus mykiss non-functional IGHV9S3 IGH V FALSE 2400 +Oncorhynchus mykiss non-functional IGHV9S4 IGH V FALSE 2401 +Oncorhynchus mykiss non-functional IGHV9S5 IGH V FALSE 2402 +Oncorhynchus mykiss non-functional IGHV9S6 IGH V FALSE 2403 +Oncorhynchus mykiss non-functional IGHV9S7 IGH V FALSE 2404 +Oncorhynchus mykiss functional TRBD1 TRB D TRUE 2405 +Oncorhynchus mykiss functional TRBJ1 TRB J TRUE 2406 +Oncorhynchus mykiss functional TRBJ10 TRB J TRUE 2407 +Oncorhynchus mykiss functional TRBJ2 TRB J TRUE 2408 +Oncorhynchus mykiss functional TRBJ3 TRB J TRUE 2409 +Oncorhynchus mykiss functional TRBJ4 TRB J TRUE 2410 +Oncorhynchus mykiss functional TRBJ5 TRB J TRUE 2411 +Oncorhynchus mykiss functional TRBJ6 TRB J TRUE 2412 +Oncorhynchus mykiss functional TRBJ7 TRB J TRUE 2413 +Oncorhynchus mykiss functional TRBJ8 TRB J TRUE 2414 +Oncorhynchus mykiss functional TRBJ9 TRB J TRUE 2415 +Oncorhynchus mykiss non-functional TRBV10S1 TRB V FALSE 2416 +Oncorhynchus mykiss non-functional TRBV1S1 TRB V FALSE 2417 +Oncorhynchus mykiss non-functional TRBV1S2 TRB V FALSE 2418 +Oncorhynchus mykiss non-functional TRBV1S3 TRB V FALSE 2419 +Oncorhynchus mykiss non-functional TRBV1S4 TRB V FALSE 2420 +Oncorhynchus mykiss non-functional TRBV1S5 TRB V FALSE 2421 +Oncorhynchus mykiss non-functional TRBV2S1 TRB V FALSE 2422 +Oncorhynchus mykiss non-functional TRBV2S10 TRB V FALSE 2423 +Oncorhynchus mykiss non-functional TRBV2S11 TRB V FALSE 2424 +Oncorhynchus mykiss non-functional TRBV2S12 TRB V FALSE 2425 +Oncorhynchus mykiss non-functional TRBV2S13 TRB V FALSE 2426 +Oncorhynchus mykiss non-functional TRBV2S14 TRB V FALSE 2427 +Oncorhynchus mykiss non-functional TRBV2S15 TRB V FALSE 2428 +Oncorhynchus mykiss non-functional TRBV2S16 TRB V FALSE 2429 +Oncorhynchus mykiss non-functional TRBV2S17 TRB V FALSE 2430 +Oncorhynchus mykiss non-functional TRBV2S18 TRB V FALSE 2431 +Oncorhynchus mykiss non-functional TRBV2S19 TRB V FALSE 2432 +Oncorhynchus mykiss non-functional TRBV2S2 TRB V FALSE 2433 +Oncorhynchus mykiss non-functional TRBV2S20 TRB V FALSE 2434 +Oncorhynchus mykiss non-functional TRBV2S21 TRB V FALSE 2435 +Oncorhynchus mykiss non-functional TRBV2S23 TRB V FALSE 2436 +Oncorhynchus mykiss non-functional TRBV2S24 TRB V FALSE 2437 +Oncorhynchus mykiss non-functional TRBV2S25 TRB V FALSE 2438 +Oncorhynchus mykiss non-functional TRBV2S26 TRB V FALSE 2439 +Oncorhynchus mykiss non-functional TRBV2S27 TRB V FALSE 2440 +Oncorhynchus mykiss non-functional TRBV2S3 TRB V FALSE 2441 +Oncorhynchus mykiss non-functional TRBV2S4 TRB V FALSE 2442 +Oncorhynchus mykiss non-functional TRBV2S5 TRB V FALSE 2443 +Oncorhynchus mykiss non-functional TRBV2S6 TRB V FALSE 2444 +Oncorhynchus mykiss non-functional TRBV2S7 TRB V FALSE 2445 +Oncorhynchus mykiss non-functional TRBV2S8 TRB V FALSE 2446 +Oncorhynchus mykiss non-functional TRBV2S9 TRB V FALSE 2447 +Oncorhynchus mykiss non-functional TRBV3S1 TRB V FALSE 2448 +Oncorhynchus mykiss non-functional TRBV3S2 TRB V FALSE 2449 +Oncorhynchus mykiss non-functional TRBV4S1 TRB V FALSE 2450 +Oncorhynchus mykiss non-functional TRBV5S1 TRB V FALSE 2451 +Oncorhynchus mykiss non-functional TRBV6S1 TRB V FALSE 2452 +Oncorhynchus mykiss non-functional TRBV7S1 TRB V FALSE 2453 +Oncorhynchus mykiss non-functional TRBV7S2 TRB V FALSE 2454 +Oncorhynchus mykiss non-functional TRBV7S3 TRB V FALSE 2455 +Oncorhynchus mykiss non-functional TRBV7S4 TRB V FALSE 2456 +Oncorhynchus mykiss non-functional TRBV8S1 TRB V FALSE 2457 +Oncorhynchus mykiss non-functional TRBV8S2 TRB V FALSE 2458 +Oncorhynchus mykiss non-functional TRBV8S3 TRB V FALSE 2459 +Oncorhynchus mykiss non-functional TRBV9S1 TRB V FALSE 2460 +Ornithorhynchus anatinus functional IGHD IGH D TRUE 2461 +Ornithorhynchus anatinus non-functional IGHD1 IGH D FALSE 2462 +Ornithorhynchus anatinus non-functional IGHD2 IGH D FALSE 2463 +Ornithorhynchus anatinus non-functional IGHD3 IGH D FALSE 2464 +Ornithorhynchus anatinus non-functional IGHJ1 IGH J FALSE 2465 +Ornithorhynchus anatinus functional IGHJ10 IGH J TRUE 2466 +Ornithorhynchus anatinus non-functional IGHJ11 IGH J FALSE 2467 +Ornithorhynchus anatinus non-functional IGHJ2 IGH J FALSE 2468 +Ornithorhynchus anatinus non-functional IGHJ3 IGH J FALSE 2469 +Ornithorhynchus anatinus non-functional IGHJ4 IGH J FALSE 2470 +Ornithorhynchus anatinus non-functional IGHJ5 IGH J FALSE 2471 +Ornithorhynchus anatinus non-functional IGHJ6 IGH J FALSE 2472 +Ornithorhynchus anatinus non-functional IGHJ7 IGH J FALSE 2473 +Ornithorhynchus anatinus non-functional IGHJ8 IGH J FALSE 2474 +Ornithorhynchus anatinus non-functional IGHJ9 IGH J FALSE 2475 +Oryctolagus cuniculus functional IGHD1-1 IGH D TRUE 2476 +Oryctolagus cuniculus functional IGHD2-1 IGH D TRUE 2477 +Oryctolagus cuniculus non-functional IGHD3-1 IGH D FALSE 2478 +Oryctolagus cuniculus functional IGHD3-2 IGH D TRUE 2479 +Oryctolagus cuniculus functional IGHD3-3 IGH D TRUE 2480 +Oryctolagus cuniculus functional IGHD4-1 IGH D TRUE 2481 +Oryctolagus cuniculus functional IGHD4-2 IGH D TRUE 2482 +Oryctolagus cuniculus functional IGHD5-1 IGH D TRUE 2483 +Oryctolagus cuniculus functional IGHD6-1 IGH D TRUE 2484 +Oryctolagus cuniculus functional IGHD7-1 IGH D TRUE 2485 +Oryctolagus cuniculus functional IGHD8-1 IGH D TRUE 2486 +Oryctolagus cuniculus functional IGHJ1 IGH J TRUE 2487 +Oryctolagus cuniculus functional IGHJ2 IGH J TRUE 2488 +Oryctolagus cuniculus functional IGHJ3 IGH J TRUE 2489 +Oryctolagus cuniculus functional IGHJ4 IGH J TRUE 2490 +Oryctolagus cuniculus functional IGHJ5 IGH J TRUE 2491 +Oryctolagus cuniculus functional IGHJ6 IGH J TRUE 2492 +Oryctolagus cuniculus functional IGHV1S1 IGH V TRUE 2493 +Oryctolagus cuniculus non-functional IGHV1S10 IGH V FALSE 2494 +Oryctolagus cuniculus non-functional IGHV1S11 IGH V FALSE 2495 +Oryctolagus cuniculus non-functional IGHV1S12 IGH V FALSE 2496 +Oryctolagus cuniculus functional IGHV1S13 IGH V TRUE 2497 +Oryctolagus cuniculus non-functional IGHV1S14 IGH V FALSE 2498 +Oryctolagus cuniculus non-functional IGHV1S15 IGH V FALSE 2499 +Oryctolagus cuniculus non-functional IGHV1S16 IGH V FALSE 2500 +Oryctolagus cuniculus functional IGHV1S17 IGH V TRUE 2501 +Oryctolagus cuniculus non-functional IGHV1S18 IGH V FALSE 2502 +Oryctolagus cuniculus non-functional IGHV1S19 IGH V FALSE 2503 +Oryctolagus cuniculus non-functional IGHV1S2 IGH V FALSE 2504 +Oryctolagus cuniculus non-functional IGHV1S20 IGH V FALSE 2505 +Oryctolagus cuniculus non-functional IGHV1S21 IGH V FALSE 2506 +Oryctolagus cuniculus non-functional IGHV1S22 IGH V FALSE 2507 +Oryctolagus cuniculus non-functional IGHV1S23 IGH V FALSE 2508 +Oryctolagus cuniculus functional IGHV1S24 IGH V TRUE 2509 +Oryctolagus cuniculus functional IGHV1S25 IGH V TRUE 2510 +Oryctolagus cuniculus functional IGHV1S26 IGH V TRUE 2511 +Oryctolagus cuniculus non-functional IGHV1S27 IGH V FALSE 2512 +Oryctolagus cuniculus functional IGHV1S28 IGH V TRUE 2513 +Oryctolagus cuniculus non-functional IGHV1S29 IGH V FALSE 2514 +Oryctolagus cuniculus non-functional IGHV1S3 IGH V FALSE 2515 +Oryctolagus cuniculus non-functional IGHV1S30 IGH V FALSE 2516 +Oryctolagus cuniculus functional IGHV1S31 IGH V TRUE 2517 +Oryctolagus cuniculus non-functional IGHV1S32 IGH V FALSE 2518 +Oryctolagus cuniculus functional IGHV1S33 IGH V TRUE 2519 +Oryctolagus cuniculus functional IGHV1S34 IGH V TRUE 2520 +Oryctolagus cuniculus non-functional IGHV1S35 IGH V FALSE 2521 +Oryctolagus cuniculus functional IGHV1S36 IGH V TRUE 2522 +Oryctolagus cuniculus non-functional IGHV1S37 IGH V FALSE 2523 +Oryctolagus cuniculus non-functional IGHV1S39 IGH V FALSE 2524 +Oryctolagus cuniculus non-functional IGHV1S4 IGH V FALSE 2525 +Oryctolagus cuniculus functional IGHV1S40 IGH V TRUE 2526 +Oryctolagus cuniculus non-functional IGHV1S42 IGH V FALSE 2527 +Oryctolagus cuniculus functional IGHV1S43 IGH V TRUE 2528 +Oryctolagus cuniculus functional IGHV1S44 IGH V TRUE 2529 +Oryctolagus cuniculus functional IGHV1S45 IGH V TRUE 2530 +Oryctolagus cuniculus non-functional IGHV1S46 IGH V FALSE 2531 +Oryctolagus cuniculus functional IGHV1S47 IGH V TRUE 2532 +Oryctolagus cuniculus non-functional IGHV1S48 IGH V FALSE 2533 +Oryctolagus cuniculus functional IGHV1S49 IGH V TRUE 2534 +Oryctolagus cuniculus non-functional IGHV1S5 IGH V FALSE 2535 +Oryctolagus cuniculus functional IGHV1S50 IGH V TRUE 2536 +Oryctolagus cuniculus functional IGHV1S51 IGH V TRUE 2537 +Oryctolagus cuniculus functional IGHV1S52 IGH V TRUE 2538 +Oryctolagus cuniculus functional IGHV1S53 IGH V TRUE 2539 +Oryctolagus cuniculus functional IGHV1S54 IGH V TRUE 2540 +Oryctolagus cuniculus functional IGHV1S55 IGH V TRUE 2541 +Oryctolagus cuniculus functional IGHV1S56 IGH V TRUE 2542 +Oryctolagus cuniculus functional IGHV1S57 IGH V TRUE 2543 +Oryctolagus cuniculus functional IGHV1S58 IGH V TRUE 2544 +Oryctolagus cuniculus functional IGHV1S59 IGH V TRUE 2545 +Oryctolagus cuniculus non-functional IGHV1S6 IGH V FALSE 2546 +Oryctolagus cuniculus functional IGHV1S60 IGH V TRUE 2547 +Oryctolagus cuniculus functional IGHV1S61 IGH V TRUE 2548 +Oryctolagus cuniculus functional IGHV1S62 IGH V TRUE 2549 +Oryctolagus cuniculus functional IGHV1S63 IGH V TRUE 2550 +Oryctolagus cuniculus functional IGHV1S64 IGH V TRUE 2551 +Oryctolagus cuniculus functional IGHV1S65 IGH V TRUE 2552 +Oryctolagus cuniculus functional IGHV1S66 IGH V TRUE 2553 +Oryctolagus cuniculus functional IGHV1S67 IGH V TRUE 2554 +Oryctolagus cuniculus functional IGHV1S68 IGH V TRUE 2555 +Oryctolagus cuniculus functional IGHV1S69 IGH V TRUE 2556 +Oryctolagus cuniculus functional IGHV1S7 IGH V TRUE 2557 +Oryctolagus cuniculus functional IGHV1S8 IGH V TRUE 2558 +Oryctolagus cuniculus non-functional IGHV1S9 IGH V FALSE 2559 +Oryctolagus cuniculus functional IGKJ1-1 IGK J TRUE 2560 +Oryctolagus cuniculus functional IGKJ1-2 IGK J TRUE 2561 +Oryctolagus cuniculus non-functional IGKJ1-3 IGK J FALSE 2562 +Oryctolagus cuniculus non-functional IGKJ1-4 IGK J FALSE 2563 +Oryctolagus cuniculus non-functional IGKJ1-5 IGK J FALSE 2564 +Oryctolagus cuniculus functional IGKJ2-1 IGK J TRUE 2565 +Oryctolagus cuniculus functional IGKJ2-2 IGK J TRUE 2566 +Oryctolagus cuniculus functional IGKJ2-3 IGK J TRUE 2567 +Oryctolagus cuniculus functional IGKV1S1 IGK V TRUE 2568 +Oryctolagus cuniculus functional IGKV1S10 IGK V TRUE 2569 +Oryctolagus cuniculus functional IGKV1S11 IGK V TRUE 2570 +Oryctolagus cuniculus functional IGKV1S12 IGK V TRUE 2571 +Oryctolagus cuniculus non-functional IGKV1S13 IGK V FALSE 2572 +Oryctolagus cuniculus functional IGKV1S14 IGK V TRUE 2573 +Oryctolagus cuniculus functional IGKV1S15 IGK V TRUE 2574 +Oryctolagus cuniculus functional IGKV1S16 IGK V TRUE 2575 +Oryctolagus cuniculus functional IGKV1S17 IGK V TRUE 2576 +Oryctolagus cuniculus functional IGKV1S18 IGK V TRUE 2577 +Oryctolagus cuniculus functional IGKV1S19 IGK V TRUE 2578 +Oryctolagus cuniculus functional IGKV1S2 IGK V TRUE 2579 +Oryctolagus cuniculus functional IGKV1S20 IGK V TRUE 2580 +Oryctolagus cuniculus functional IGKV1S21 IGK V TRUE 2581 +Oryctolagus cuniculus functional IGKV1S22 IGK V TRUE 2582 +Oryctolagus cuniculus functional IGKV1S23 IGK V TRUE 2583 +Oryctolagus cuniculus functional IGKV1S24 IGK V TRUE 2584 +Oryctolagus cuniculus functional IGKV1S25 IGK V TRUE 2585 +Oryctolagus cuniculus functional IGKV1S26 IGK V TRUE 2586 +Oryctolagus cuniculus non-functional IGKV1S27 IGK V FALSE 2587 +Oryctolagus cuniculus non-functional IGKV1S28 IGK V FALSE 2588 +Oryctolagus cuniculus non-functional IGKV1S29 IGK V FALSE 2589 +Oryctolagus cuniculus functional IGKV1S3 IGK V TRUE 2590 +Oryctolagus cuniculus non-functional IGKV1S30 IGK V FALSE 2591 +Oryctolagus cuniculus non-functional IGKV1S31 IGK V FALSE 2592 +Oryctolagus cuniculus non-functional IGKV1S32 IGK V FALSE 2593 +Oryctolagus cuniculus non-functional IGKV1S33 IGK V FALSE 2594 +Oryctolagus cuniculus non-functional IGKV1S34 IGK V FALSE 2595 +Oryctolagus cuniculus non-functional IGKV1S35 IGK V FALSE 2596 +Oryctolagus cuniculus non-functional IGKV1S36 IGK V FALSE 2597 +Oryctolagus cuniculus non-functional IGKV1S37 IGK V FALSE 2598 +Oryctolagus cuniculus non-functional IGKV1S38 IGK V FALSE 2599 +Oryctolagus cuniculus non-functional IGKV1S39 IGK V FALSE 2600 +Oryctolagus cuniculus non-functional IGKV1S4 IGK V FALSE 2601 +Oryctolagus cuniculus non-functional IGKV1S40 IGK V FALSE 2602 +Oryctolagus cuniculus non-functional IGKV1S41 IGK V FALSE 2603 +Oryctolagus cuniculus non-functional IGKV1S42 IGK V FALSE 2604 +Oryctolagus cuniculus non-functional IGKV1S43 IGK V FALSE 2605 +Oryctolagus cuniculus non-functional IGKV1S44 IGK V FALSE 2606 +Oryctolagus cuniculus non-functional IGKV1S45 IGK V FALSE 2607 +Oryctolagus cuniculus non-functional IGKV1S46 IGK V FALSE 2608 +Oryctolagus cuniculus non-functional IGKV1S47 IGK V FALSE 2609 +Oryctolagus cuniculus non-functional IGKV1S48 IGK V FALSE 2610 +Oryctolagus cuniculus non-functional IGKV1S49 IGK V FALSE 2611 +Oryctolagus cuniculus functional IGKV1S5 IGK V TRUE 2612 +Oryctolagus cuniculus non-functional IGKV1S50 IGK V FALSE 2613 +Oryctolagus cuniculus non-functional IGKV1S51 IGK V FALSE 2614 +Oryctolagus cuniculus non-functional IGKV1S52 IGK V FALSE 2615 +Oryctolagus cuniculus non-functional IGKV1S53 IGK V FALSE 2616 +Oryctolagus cuniculus non-functional IGKV1S54 IGK V FALSE 2617 +Oryctolagus cuniculus non-functional IGKV1S55 IGK V FALSE 2618 +Oryctolagus cuniculus non-functional IGKV1S56 IGK V FALSE 2619 +Oryctolagus cuniculus non-functional IGKV1S57 IGK V FALSE 2620 +Oryctolagus cuniculus non-functional IGKV1S58 IGK V FALSE 2621 +Oryctolagus cuniculus non-functional IGKV1S59 IGK V FALSE 2622 +Oryctolagus cuniculus functional IGKV1S6 IGK V TRUE 2623 +Oryctolagus cuniculus non-functional IGKV1S60 IGK V FALSE 2624 +Oryctolagus cuniculus non-functional IGKV1S61 IGK V FALSE 2625 +Oryctolagus cuniculus non-functional IGKV1S62 IGK V FALSE 2626 +Oryctolagus cuniculus non-functional IGKV1S63 IGK V FALSE 2627 +Oryctolagus cuniculus non-functional IGKV1S64 IGK V FALSE 2628 +Oryctolagus cuniculus non-functional IGKV1S65 IGK V FALSE 2629 +Oryctolagus cuniculus non-functional IGKV1S66 IGK V FALSE 2630 +Oryctolagus cuniculus non-functional IGKV1S67 IGK V FALSE 2631 +Oryctolagus cuniculus non-functional IGKV1S68 IGK V FALSE 2632 +Oryctolagus cuniculus functional IGKV1S7 IGK V TRUE 2633 +Oryctolagus cuniculus functional IGKV1S8 IGK V TRUE 2634 +Oryctolagus cuniculus functional IGKV1S9 IGK V TRUE 2635 +Oryctolagus cuniculus non-functional IGLJ1 IGL J FALSE 2636 +Oryctolagus cuniculus non-functional IGLJ3 IGL J FALSE 2637 +Oryctolagus cuniculus functional IGLJ5 IGL J TRUE 2638 +Oryctolagus cuniculus functional IGLJ6 IGL J TRUE 2639 +Oryctolagus cuniculus non-functional IGLV1S1 IGL V FALSE 2640 +Oryctolagus cuniculus non-functional IGLV1S2 IGL V FALSE 2641 +Oryctolagus cuniculus non-functional IGLV1S3 IGL V FALSE 2642 +Oryctolagus cuniculus functional IGLV2S1 IGL V TRUE 2643 +Oryctolagus cuniculus functional IGLV2S2 IGL V TRUE 2644 +Oryctolagus cuniculus non-functional IGLV2S3 IGL V FALSE 2645 +Oryctolagus cuniculus non-functional IGLV2S4 IGL V FALSE 2646 +Oryctolagus cuniculus non-functional IGLV2S5 IGL V FALSE 2647 +Oryctolagus cuniculus non-functional IGLV3S1 IGL V FALSE 2648 +Oryctolagus cuniculus non-functional IGLV3S10 IGL V FALSE 2649 +Oryctolagus cuniculus functional IGLV3S2 IGL V TRUE 2650 +Oryctolagus cuniculus non-functional IGLV3S3 IGL V FALSE 2651 +Oryctolagus cuniculus non-functional IGLV3S4 IGL V FALSE 2652 +Oryctolagus cuniculus non-functional IGLV3S5 IGL V FALSE 2653 +Oryctolagus cuniculus functional IGLV3S6 IGL V TRUE 2654 +Oryctolagus cuniculus functional IGLV3S7 IGL V TRUE 2655 +Oryctolagus cuniculus non-functional IGLV3S8 IGL V FALSE 2656 +Oryctolagus cuniculus functional IGLV3S9 IGL V TRUE 2657 +Oryctolagus cuniculus non-functional IGLV4S1 IGL V FALSE 2658 +Oryctolagus cuniculus non-functional IGLV4S2 IGL V FALSE 2659 +Oryctolagus cuniculus functional IGLV4S3 IGL V TRUE 2660 +Oryctolagus cuniculus functional IGLV4S4 IGL V TRUE 2661 +Oryctolagus cuniculus non-functional IGLV4S5 IGL V FALSE 2662 +Oryctolagus cuniculus non-functional IGLV4S6 IGL V FALSE 2663 +Oryctolagus cuniculus non-functional IGLV4S7 IGL V FALSE 2664 +Oryctolagus cuniculus functional IGLV5S1 IGL V TRUE 2665 +Oryctolagus cuniculus functional IGLV5S10 IGL V TRUE 2666 +Oryctolagus cuniculus functional IGLV5S2 IGL V TRUE 2667 +Oryctolagus cuniculus functional IGLV5S3 IGL V TRUE 2668 +Oryctolagus cuniculus non-functional IGLV5S4 IGL V FALSE 2669 +Oryctolagus cuniculus functional IGLV5S5 IGL V TRUE 2670 +Oryctolagus cuniculus functional IGLV5S6 IGL V TRUE 2671 +Oryctolagus cuniculus non-functional IGLV5S7 IGL V FALSE 2672 +Oryctolagus cuniculus non-functional IGLV5S8 IGL V FALSE 2673 +Oryctolagus cuniculus functional IGLV5S9 IGL V TRUE 2674 +Oryctolagus cuniculus functional IGLV6S1 IGL V TRUE 2675 +Oryctolagus cuniculus non-functional IGLV6S2 IGL V FALSE 2676 +Oryctolagus cuniculus functional IGLV6S3 IGL V TRUE 2677 +Oryctolagus cuniculus non-functional IGLV6S4 IGL V FALSE 2678 +Oryctolagus cuniculus functional IGLV6S5 IGL V TRUE 2679 +Oryctolagus cuniculus functional IGLV6S6 IGL V TRUE 2680 +Oryctolagus cuniculus functional IGLV6S7 IGL V TRUE 2681 +Oryctolagus cuniculus non-functional IGLV7S1 IGL V FALSE 2682 +Rattus norvegicus functional IGHD IGH D TRUE 2683 +Rattus norvegicus functional IGHD1-1 IGH D TRUE 2684 +Rattus norvegicus functional IGHD1-2 IGH D TRUE 2685 +Rattus norvegicus functional IGHD1-3 IGH D TRUE 2686 +Rattus norvegicus functional IGHD1-4 IGH D TRUE 2687 +Rattus norvegicus functional IGHD1-5 IGH D TRUE 2688 +Rattus norvegicus functional IGHD1-6 IGH D TRUE 2689 +Rattus norvegicus functional IGHD1-7 IGH D TRUE 2690 +Rattus norvegicus functional IGHD1-8 IGH D TRUE 2691 +Rattus norvegicus non-functional IGHD2-1 IGH D FALSE 2692 +Rattus norvegicus non-functional IGHD2-2 IGH D FALSE 2693 +Rattus norvegicus non-functional IGHD2-3 IGH D FALSE 2694 +Rattus norvegicus non-functional IGHD3-1 IGH D FALSE 2695 +Rattus norvegicus non-functional IGHD3-2 IGH D FALSE 2696 +Rattus norvegicus non-functional IGHD3-3 IGH D FALSE 2697 +Rattus norvegicus non-functional IGHD3-4 IGH D FALSE 2698 +Rattus norvegicus functional IGHD4-1 IGH D TRUE 2699 +Rattus norvegicus functional IGHD4-2 IGH D TRUE 2700 +Rattus norvegicus functional IGHD4-3 IGH D TRUE 2701 +Rattus norvegicus functional IGHD4-4 IGH D TRUE 2702 +Rattus norvegicus functional IGHD5-1 IGH D TRUE 2703 +Rattus norvegicus functional IGHJ1 IGH J TRUE 2704 +Rattus norvegicus functional IGHJ2 IGH J TRUE 2705 +Rattus norvegicus functional IGHJ3 IGH J TRUE 2706 +Rattus norvegicus functional IGHJ4 IGH J TRUE 2707 +Rattus norvegicus non-functional IGHV10S1 IGH V FALSE 2708 +Rattus norvegicus non-functional IGHV10S10 IGH V FALSE 2709 +Rattus norvegicus non-functional IGHV10S11 IGH V FALSE 2710 +Rattus norvegicus non-functional IGHV10S12 IGH V FALSE 2711 +Rattus norvegicus functional IGHV10S13 IGH V TRUE 2712 +Rattus norvegicus non-functional IGHV10S14 IGH V FALSE 2713 +Rattus norvegicus non-functional IGHV10S15 IGH V FALSE 2714 +Rattus norvegicus non-functional IGHV10S16 IGH V FALSE 2715 +Rattus norvegicus non-functional IGHV10S17 IGH V FALSE 2716 +Rattus norvegicus non-functional IGHV10S18 IGH V FALSE 2717 +Rattus norvegicus non-functional IGHV10S19 IGH V FALSE 2718 +Rattus norvegicus non-functional IGHV10S2 IGH V FALSE 2719 +Rattus norvegicus non-functional IGHV10S3 IGH V FALSE 2720 +Rattus norvegicus non-functional IGHV10S4 IGH V FALSE 2721 +Rattus norvegicus non-functional IGHV10S5 IGH V FALSE 2722 +Rattus norvegicus non-functional IGHV10S6 IGH V FALSE 2723 +Rattus norvegicus non-functional IGHV10S7 IGH V FALSE 2724 +Rattus norvegicus functional IGHV10S8 IGH V TRUE 2725 +Rattus norvegicus non-functional IGHV10S9 IGH V FALSE 2726 +Rattus norvegicus functional IGHV11S1 IGH V TRUE 2727 +Rattus norvegicus functional IGHV11S10 IGH V TRUE 2728 +Rattus norvegicus non-functional IGHV11S11 IGH V FALSE 2729 +Rattus norvegicus non-functional IGHV11S12 IGH V FALSE 2730 +Rattus norvegicus functional IGHV11S2 IGH V TRUE 2731 +Rattus norvegicus functional IGHV11S3 IGH V TRUE 2732 +Rattus norvegicus non-functional IGHV11S4 IGH V FALSE 2733 +Rattus norvegicus non-functional IGHV11S5 IGH V FALSE 2734 +Rattus norvegicus non-functional IGHV11S6 IGH V FALSE 2735 +Rattus norvegicus functional IGHV11S7 IGH V TRUE 2736 +Rattus norvegicus non-functional IGHV11S8 IGH V FALSE 2737 +Rattus norvegicus non-functional IGHV11S9 IGH V FALSE 2738 +Rattus norvegicus non-functional IGHV12S1 IGH V FALSE 2739 +Rattus norvegicus functional IGHV12S2 IGH V TRUE 2740 +Rattus norvegicus non-functional IGHV12S3 IGH V FALSE 2741 +Rattus norvegicus non-functional IGHV15S1 IGH V FALSE 2742 +Rattus norvegicus non-functional IGHV1S1 IGH V FALSE 2743 +Rattus norvegicus non-functional IGHV1S10 IGH V FALSE 2744 +Rattus norvegicus non-functional IGHV1S11 IGH V FALSE 2745 +Rattus norvegicus non-functional IGHV1S12 IGH V FALSE 2746 +Rattus norvegicus functional IGHV1S13 IGH V TRUE 2747 +Rattus norvegicus non-functional IGHV1S14 IGH V FALSE 2748 +Rattus norvegicus functional IGHV1S15 IGH V TRUE 2749 +Rattus norvegicus functional IGHV1S16 IGH V TRUE 2750 +Rattus norvegicus functional IGHV1S17 IGH V TRUE 2751 +Rattus norvegicus non-functional IGHV1S18 IGH V FALSE 2752 +Rattus norvegicus non-functional IGHV1S19 IGH V FALSE 2753 +Rattus norvegicus non-functional IGHV1S2 IGH V FALSE 2754 +Rattus norvegicus functional IGHV1S20 IGH V TRUE 2755 +Rattus norvegicus non-functional IGHV1S21 IGH V FALSE 2756 +Rattus norvegicus functional IGHV1S22 IGH V TRUE 2757 +Rattus norvegicus functional IGHV1S23 IGH V TRUE 2758 +Rattus norvegicus non-functional IGHV1S24 IGH V FALSE 2759 +Rattus norvegicus non-functional IGHV1S25 IGH V FALSE 2760 +Rattus norvegicus non-functional IGHV1S26 IGH V FALSE 2761 +Rattus norvegicus functional IGHV1S27 IGH V TRUE 2762 +Rattus norvegicus functional IGHV1S28 IGH V TRUE 2763 +Rattus norvegicus functional IGHV1S29 IGH V TRUE 2764 +Rattus norvegicus non-functional IGHV1S3 IGH V FALSE 2765 +Rattus norvegicus non-functional IGHV1S30 IGH V FALSE 2766 +Rattus norvegicus functional IGHV1S31 IGH V TRUE 2767 +Rattus norvegicus non-functional IGHV1S32 IGH V FALSE 2768 +Rattus norvegicus non-functional IGHV1S33 IGH V FALSE 2769 +Rattus norvegicus non-functional IGHV1S34 IGH V FALSE 2770 +Rattus norvegicus non-functional IGHV1S35 IGH V FALSE 2771 +Rattus norvegicus non-functional IGHV1S36 IGH V FALSE 2772 +Rattus norvegicus non-functional IGHV1S37 IGH V FALSE 2773 +Rattus norvegicus functional IGHV1S38 IGH V TRUE 2774 +Rattus norvegicus functional IGHV1S39 IGH V TRUE 2775 +Rattus norvegicus non-functional IGHV1S4 IGH V FALSE 2776 +Rattus norvegicus non-functional IGHV1S40 IGH V FALSE 2777 +Rattus norvegicus functional IGHV1S41 IGH V TRUE 2778 +Rattus norvegicus non-functional IGHV1S42 IGH V FALSE 2779 +Rattus norvegicus non-functional IGHV1S43 IGH V FALSE 2780 +Rattus norvegicus non-functional IGHV1S44 IGH V FALSE 2781 +Rattus norvegicus functional IGHV1S45 IGH V TRUE 2782 +Rattus norvegicus non-functional IGHV1S46 IGH V FALSE 2783 +Rattus norvegicus functional IGHV1S47 IGH V TRUE 2784 +Rattus norvegicus functional IGHV1S48 IGH V TRUE 2785 +Rattus norvegicus non-functional IGHV1S49 IGH V FALSE 2786 +Rattus norvegicus non-functional IGHV1S5 IGH V FALSE 2787 +Rattus norvegicus non-functional IGHV1S50 IGH V FALSE 2788 +Rattus norvegicus functional IGHV1S51 IGH V TRUE 2789 +Rattus norvegicus non-functional IGHV1S52 IGH V FALSE 2790 +Rattus norvegicus non-functional IGHV1S53 IGH V FALSE 2791 +Rattus norvegicus non-functional IGHV1S54 IGH V FALSE 2792 +Rattus norvegicus non-functional IGHV1S55 IGH V FALSE 2793 +Rattus norvegicus non-functional IGHV1S56 IGH V FALSE 2794 +Rattus norvegicus functional IGHV1S57 IGH V TRUE 2795 +Rattus norvegicus non-functional IGHV1S58 IGH V FALSE 2796 +Rattus norvegicus non-functional IGHV1S59 IGH V FALSE 2797 +Rattus norvegicus functional IGHV1S6 IGH V TRUE 2798 +Rattus norvegicus non-functional IGHV1S60 IGH V FALSE 2799 +Rattus norvegicus non-functional IGHV1S61 IGH V FALSE 2800 +Rattus norvegicus functional IGHV1S62 IGH V TRUE 2801 +Rattus norvegicus non-functional IGHV1S63 IGH V FALSE 2802 +Rattus norvegicus non-functional IGHV1S64 IGH V FALSE 2803 +Rattus norvegicus non-functional IGHV1S65 IGH V FALSE 2804 +Rattus norvegicus functional IGHV1S66 IGH V TRUE 2805 +Rattus norvegicus functional IGHV1S67 IGH V TRUE 2806 +Rattus norvegicus non-functional IGHV1S7 IGH V FALSE 2807 +Rattus norvegicus non-functional IGHV1S8 IGH V FALSE 2808 +Rattus norvegicus functional IGHV1S9 IGH V TRUE 2809 +Rattus norvegicus functional IGHV2S1 IGH V TRUE 2810 +Rattus norvegicus functional IGHV2S10 IGH V TRUE 2811 +Rattus norvegicus non-functional IGHV2S11 IGH V FALSE 2812 +Rattus norvegicus functional IGHV2S12 IGH V TRUE 2813 +Rattus norvegicus functional IGHV2S13 IGH V TRUE 2814 +Rattus norvegicus functional IGHV2S14 IGH V TRUE 2815 +Rattus norvegicus non-functional IGHV2S15 IGH V FALSE 2816 +Rattus norvegicus non-functional IGHV2S16 IGH V FALSE 2817 +Rattus norvegicus non-functional IGHV2S17 IGH V FALSE 2818 +Rattus norvegicus functional IGHV2S18 IGH V TRUE 2819 +Rattus norvegicus non-functional IGHV2S19 IGH V FALSE 2820 +Rattus norvegicus non-functional IGHV2S2 IGH V FALSE 2821 +Rattus norvegicus functional IGHV2S20 IGH V TRUE 2822 +Rattus norvegicus non-functional IGHV2S21 IGH V FALSE 2823 +Rattus norvegicus non-functional IGHV2S22 IGH V FALSE 2824 +Rattus norvegicus non-functional IGHV2S23 IGH V FALSE 2825 +Rattus norvegicus non-functional IGHV2S24 IGH V FALSE 2826 +Rattus norvegicus non-functional IGHV2S25 IGH V FALSE 2827 +Rattus norvegicus non-functional IGHV2S26 IGH V FALSE 2828 +Rattus norvegicus non-functional IGHV2S27 IGH V FALSE 2829 +Rattus norvegicus non-functional IGHV2S28 IGH V FALSE 2830 +Rattus norvegicus non-functional IGHV2S29 IGH V FALSE 2831 +Rattus norvegicus functional IGHV2S30 IGH V TRUE 2832 +Rattus norvegicus functional IGHV2S31 IGH V TRUE 2833 +Rattus norvegicus non-functional IGHV2S32 IGH V FALSE 2834 +Rattus norvegicus functional IGHV2S33 IGH V TRUE 2835 +Rattus norvegicus non-functional IGHV2S34 IGH V FALSE 2836 +Rattus norvegicus non-functional IGHV2S35 IGH V FALSE 2837 +Rattus norvegicus non-functional IGHV2S36 IGH V FALSE 2838 +Rattus norvegicus non-functional IGHV2S37 IGH V FALSE 2839 +Rattus norvegicus non-functional IGHV2S38 IGH V FALSE 2840 +Rattus norvegicus non-functional IGHV2S39 IGH V FALSE 2841 +Rattus norvegicus functional IGHV2S40 IGH V TRUE 2842 +Rattus norvegicus functional IGHV2S41 IGH V TRUE 2843 +Rattus norvegicus non-functional IGHV2S42 IGH V FALSE 2844 +Rattus norvegicus non-functional IGHV2S43 IGH V FALSE 2845 +Rattus norvegicus non-functional IGHV2S44 IGH V FALSE 2846 +Rattus norvegicus non-functional IGHV2S45 IGH V FALSE 2847 +Rattus norvegicus non-functional IGHV2S46 IGH V FALSE 2848 +Rattus norvegicus non-functional IGHV2S47 IGH V FALSE 2849 +Rattus norvegicus functional IGHV2S48 IGH V TRUE 2850 +Rattus norvegicus non-functional IGHV2S49 IGH V FALSE 2851 +Rattus norvegicus functional IGHV2S5 IGH V TRUE 2852 +Rattus norvegicus non-functional IGHV2S50 IGH V FALSE 2853 +Rattus norvegicus non-functional IGHV2S51 IGH V FALSE 2854 +Rattus norvegicus non-functional IGHV2S52 IGH V FALSE 2855 +Rattus norvegicus non-functional IGHV2S53 IGH V FALSE 2856 +Rattus norvegicus functional IGHV2S54 IGH V TRUE 2857 +Rattus norvegicus non-functional IGHV2S55 IGH V FALSE 2858 +Rattus norvegicus functional IGHV2S56 IGH V TRUE 2859 +Rattus norvegicus non-functional IGHV2S57 IGH V FALSE 2860 +Rattus norvegicus non-functional IGHV2S58 IGH V FALSE 2861 +Rattus norvegicus non-functional IGHV2S59 IGH V FALSE 2862 +Rattus norvegicus non-functional IGHV2S6 IGH V FALSE 2863 +Rattus norvegicus non-functional IGHV2S60 IGH V FALSE 2864 +Rattus norvegicus functional IGHV2S61 IGH V TRUE 2865 +Rattus norvegicus non-functional IGHV2S62 IGH V FALSE 2866 +Rattus norvegicus functional IGHV2S63 IGH V TRUE 2867 +Rattus norvegicus functional IGHV2S64 IGH V TRUE 2868 +Rattus norvegicus non-functional IGHV2S69 IGH V FALSE 2869 +Rattus norvegicus non-functional IGHV2S7 IGH V FALSE 2870 +Rattus norvegicus functional IGHV2S70 IGH V TRUE 2871 +Rattus norvegicus non-functional IGHV2S71 IGH V FALSE 2872 +Rattus norvegicus functional IGHV2S72 IGH V TRUE 2873 +Rattus norvegicus non-functional IGHV2S73 IGH V FALSE 2874 +Rattus norvegicus non-functional IGHV2S74 IGH V FALSE 2875 +Rattus norvegicus functional IGHV2S75 IGH V TRUE 2876 +Rattus norvegicus non-functional IGHV2S76 IGH V FALSE 2877 +Rattus norvegicus non-functional IGHV2S77 IGH V FALSE 2878 +Rattus norvegicus functional IGHV2S78 IGH V TRUE 2879 +Rattus norvegicus non-functional IGHV2S79 IGH V FALSE 2880 +Rattus norvegicus functional IGHV2S8 IGH V TRUE 2881 +Rattus norvegicus non-functional IGHV2S80 IGH V FALSE 2882 +Rattus norvegicus non-functional IGHV2S81 IGH V FALSE 2883 +Rattus norvegicus functional IGHV2S82 IGH V TRUE 2884 +Rattus norvegicus non-functional IGHV2S83 IGH V FALSE 2885 +Rattus norvegicus functional IGHV2S84 IGH V TRUE 2886 +Rattus norvegicus functional IGHV2S85 IGH V TRUE 2887 +Rattus norvegicus non-functional IGHV2S86 IGH V FALSE 2888 +Rattus norvegicus non-functional IGHV2S87 IGH V FALSE 2889 +Rattus norvegicus functional IGHV2S88 IGH V TRUE 2890 +Rattus norvegicus functional IGHV2S89 IGH V TRUE 2891 +Rattus norvegicus non-functional IGHV2S9 IGH V FALSE 2892 +Rattus norvegicus non-functional IGHV2S90 IGH V FALSE 2893 +Rattus norvegicus non-functional IGHV2S91 IGH V FALSE 2894 +Rattus norvegicus functional IGHV2S92 IGH V TRUE 2895 +Rattus norvegicus non-functional IGHV2S93 IGH V FALSE 2896 +Rattus norvegicus functional IGHV2S94 IGH V TRUE 2897 +Rattus norvegicus non-functional IGHV2S95 IGH V FALSE 2898 +Rattus norvegicus non-functional IGHV2S96 IGH V FALSE 2899 +Rattus norvegicus functional IGHV2S97 IGH V TRUE 2900 +Rattus norvegicus functional IGHV2S98 IGH V TRUE 2901 +Rattus norvegicus non-functional IGHV2S99 IGH V FALSE 2902 +Rattus norvegicus functional IGHV3S1 IGH V TRUE 2903 +Rattus norvegicus non-functional IGHV3S2 IGH V FALSE 2904 +Rattus norvegicus functional IGHV3S3 IGH V TRUE 2905 +Rattus norvegicus non-functional IGHV3S4 IGH V FALSE 2906 +Rattus norvegicus functional IGHV3S5 IGH V TRUE 2907 +Rattus norvegicus non-functional IGHV3S6 IGH V FALSE 2908 +Rattus norvegicus functional IGHV3S7 IGH V TRUE 2909 +Rattus norvegicus non-functional IGHV3S8 IGH V FALSE 2910 +Rattus norvegicus functional IGHV4S1 IGH V TRUE 2911 +Rattus norvegicus functional IGHV4S2 IGH V TRUE 2912 +Rattus norvegicus non-functional IGHV4S3 IGH V FALSE 2913 +Rattus norvegicus non-functional IGHV4S4 IGH V FALSE 2914 +Rattus norvegicus non-functional IGHV5S1 IGH V FALSE 2915 +Rattus norvegicus functional IGHV5S10 IGH V TRUE 2916 +Rattus norvegicus functional IGHV5S11 IGH V TRUE 2917 +Rattus norvegicus non-functional IGHV5S12 IGH V FALSE 2918 +Rattus norvegicus functional IGHV5S13 IGH V TRUE 2919 +Rattus norvegicus functional IGHV5S14 IGH V TRUE 2920 +Rattus norvegicus non-functional IGHV5S15 IGH V FALSE 2921 +Rattus norvegicus functional IGHV5S16 IGH V TRUE 2922 +Rattus norvegicus non-functional IGHV5S17 IGH V FALSE 2923 +Rattus norvegicus non-functional IGHV5S18 IGH V FALSE 2924 +Rattus norvegicus non-functional IGHV5S19 IGH V FALSE 2925 +Rattus norvegicus non-functional IGHV5S2 IGH V FALSE 2926 +Rattus norvegicus non-functional IGHV5S20 IGH V FALSE 2927 +Rattus norvegicus non-functional IGHV5S21 IGH V FALSE 2928 +Rattus norvegicus non-functional IGHV5S22 IGH V FALSE 2929 +Rattus norvegicus functional IGHV5S23 IGH V TRUE 2930 +Rattus norvegicus non-functional IGHV5S24 IGH V FALSE 2931 +Rattus norvegicus non-functional IGHV5S25 IGH V FALSE 2932 +Rattus norvegicus non-functional IGHV5S26 IGH V FALSE 2933 +Rattus norvegicus functional IGHV5S27 IGH V TRUE 2934 +Rattus norvegicus non-functional IGHV5S28 IGH V FALSE 2935 +Rattus norvegicus functional IGHV5S29 IGH V TRUE 2936 +Rattus norvegicus non-functional IGHV5S3 IGH V FALSE 2937 +Rattus norvegicus functional IGHV5S30 IGH V TRUE 2938 +Rattus norvegicus non-functional IGHV5S31 IGH V FALSE 2939 +Rattus norvegicus functional IGHV5S32 IGH V TRUE 2940 +Rattus norvegicus non-functional IGHV5S33 IGH V FALSE 2941 +Rattus norvegicus non-functional IGHV5S34 IGH V FALSE 2942 +Rattus norvegicus non-functional IGHV5S35 IGH V FALSE 2943 +Rattus norvegicus functional IGHV5S36 IGH V TRUE 2944 +Rattus norvegicus non-functional IGHV5S37 IGH V FALSE 2945 +Rattus norvegicus non-functional IGHV5S39 IGH V FALSE 2946 +Rattus norvegicus non-functional IGHV5S4 IGH V FALSE 2947 +Rattus norvegicus non-functional IGHV5S40 IGH V FALSE 2948 +Rattus norvegicus non-functional IGHV5S41 IGH V FALSE 2949 +Rattus norvegicus non-functional IGHV5S42 IGH V FALSE 2950 +Rattus norvegicus functional IGHV5S43 IGH V TRUE 2951 +Rattus norvegicus non-functional IGHV5S44 IGH V FALSE 2952 +Rattus norvegicus functional IGHV5S45 IGH V TRUE 2953 +Rattus norvegicus non-functional IGHV5S46 IGH V FALSE 2954 +Rattus norvegicus functional IGHV5S47 IGH V TRUE 2955 +Rattus norvegicus non-functional IGHV5S48 IGH V FALSE 2956 +Rattus norvegicus non-functional IGHV5S49 IGH V FALSE 2957 +Rattus norvegicus non-functional IGHV5S5 IGH V FALSE 2958 +Rattus norvegicus non-functional IGHV5S50 IGH V FALSE 2959 +Rattus norvegicus non-functional IGHV5S51 IGH V FALSE 2960 +Rattus norvegicus non-functional IGHV5S52 IGH V FALSE 2961 +Rattus norvegicus non-functional IGHV5S53 IGH V FALSE 2962 +Rattus norvegicus functional IGHV5S54 IGH V TRUE 2963 +Rattus norvegicus non-functional IGHV5S55 IGH V FALSE 2964 +Rattus norvegicus non-functional IGHV5S56 IGH V FALSE 2965 +Rattus norvegicus functional IGHV5S57 IGH V TRUE 2966 +Rattus norvegicus functional IGHV5S58 IGH V TRUE 2967 +Rattus norvegicus non-functional IGHV5S59 IGH V FALSE 2968 +Rattus norvegicus non-functional IGHV5S6 IGH V FALSE 2969 +Rattus norvegicus non-functional IGHV5S60 IGH V FALSE 2970 +Rattus norvegicus non-functional IGHV5S61 IGH V FALSE 2971 +Rattus norvegicus non-functional IGHV5S62 IGH V FALSE 2972 +Rattus norvegicus non-functional IGHV5S63 IGH V FALSE 2973 +Rattus norvegicus functional IGHV5S64 IGH V TRUE 2974 +Rattus norvegicus functional IGHV5S65 IGH V TRUE 2975 +Rattus norvegicus non-functional IGHV5S66 IGH V FALSE 2976 +Rattus norvegicus non-functional IGHV5S67 IGH V FALSE 2977 +Rattus norvegicus non-functional IGHV5S68 IGH V FALSE 2978 +Rattus norvegicus non-functional IGHV5S69 IGH V FALSE 2979 +Rattus norvegicus non-functional IGHV5S7 IGH V FALSE 2980 +Rattus norvegicus non-functional IGHV5S70 IGH V FALSE 2981 +Rattus norvegicus non-functional IGHV5S71 IGH V FALSE 2982 +Rattus norvegicus non-functional IGHV5S72 IGH V FALSE 2983 +Rattus norvegicus non-functional IGHV5S73 IGH V FALSE 2984 +Rattus norvegicus functional IGHV5S74 IGH V TRUE 2985 +Rattus norvegicus non-functional IGHV5S75 IGH V FALSE 2986 +Rattus norvegicus functional IGHV5S8 IGH V TRUE 2987 +Rattus norvegicus non-functional IGHV5S9 IGH V FALSE 2988 +Rattus norvegicus non-functional IGHV6S1 IGH V FALSE 2989 +Rattus norvegicus functional IGHV6S10 IGH V TRUE 2990 +Rattus norvegicus functional IGHV6S11 IGH V TRUE 2991 +Rattus norvegicus non-functional IGHV6S12 IGH V FALSE 2992 +Rattus norvegicus non-functional IGHV6S13 IGH V FALSE 2993 +Rattus norvegicus functional IGHV6S14 IGH V TRUE 2994 +Rattus norvegicus non-functional IGHV6S15 IGH V FALSE 2995 +Rattus norvegicus non-functional IGHV6S16 IGH V FALSE 2996 +Rattus norvegicus functional IGHV6S17 IGH V TRUE 2997 +Rattus norvegicus functional IGHV6S18 IGH V TRUE 2998 +Rattus norvegicus functional IGHV6S19 IGH V TRUE 2999 +Rattus norvegicus non-functional IGHV6S20 IGH V FALSE 3000 +Rattus norvegicus functional IGHV6S3 IGH V TRUE 3001 +Rattus norvegicus non-functional IGHV6S4 IGH V FALSE 3002 +Rattus norvegicus non-functional IGHV6S5 IGH V FALSE 3003 +Rattus norvegicus functional IGHV6S6 IGH V TRUE 3004 +Rattus norvegicus non-functional IGHV6S7 IGH V FALSE 3005 +Rattus norvegicus non-functional IGHV6S8 IGH V FALSE 3006 +Rattus norvegicus non-functional IGHV6S9 IGH V FALSE 3007 +Rattus norvegicus functional IGHV7S1 IGH V TRUE 3008 +Rattus norvegicus non-functional IGHV7S10 IGH V FALSE 3009 +Rattus norvegicus non-functional IGHV7S11 IGH V FALSE 3010 +Rattus norvegicus non-functional IGHV7S12 IGH V FALSE 3011 +Rattus norvegicus functional IGHV7S13 IGH V TRUE 3012 +Rattus norvegicus non-functional IGHV7S14 IGH V FALSE 3013 +Rattus norvegicus non-functional IGHV7S15 IGH V FALSE 3014 +Rattus norvegicus functional IGHV7S16 IGH V TRUE 3015 +Rattus norvegicus non-functional IGHV7S2 IGH V FALSE 3016 +Rattus norvegicus non-functional IGHV7S3 IGH V FALSE 3017 +Rattus norvegicus functional IGHV7S4 IGH V TRUE 3018 +Rattus norvegicus functional IGHV7S5 IGH V TRUE 3019 +Rattus norvegicus functional IGHV7S6 IGH V TRUE 3020 +Rattus norvegicus non-functional IGHV7S8 IGH V FALSE 3021 +Rattus norvegicus non-functional IGHV7S9 IGH V FALSE 3022 +Rattus norvegicus non-functional IGHV8S1 IGH V FALSE 3023 +Rattus norvegicus functional IGHV8S10 IGH V TRUE 3024 +Rattus norvegicus functional IGHV8S11 IGH V TRUE 3025 +Rattus norvegicus non-functional IGHV8S12 IGH V FALSE 3026 +Rattus norvegicus functional IGHV8S13 IGH V TRUE 3027 +Rattus norvegicus non-functional IGHV8S14 IGH V FALSE 3028 +Rattus norvegicus functional IGHV8S15 IGH V TRUE 3029 +Rattus norvegicus functional IGHV8S16 IGH V TRUE 3030 +Rattus norvegicus non-functional IGHV8S17 IGH V FALSE 3031 +Rattus norvegicus functional IGHV8S18 IGH V TRUE 3032 +Rattus norvegicus non-functional IGHV8S19 IGH V FALSE 3033 +Rattus norvegicus functional IGHV8S2 IGH V TRUE 3034 +Rattus norvegicus non-functional IGHV8S3 IGH V FALSE 3035 +Rattus norvegicus non-functional IGHV8S4 IGH V FALSE 3036 +Rattus norvegicus non-functional IGHV8S5 IGH V FALSE 3037 +Rattus norvegicus non-functional IGHV8S6 IGH V FALSE 3038 +Rattus norvegicus functional IGHV8S7 IGH V TRUE 3039 +Rattus norvegicus non-functional IGHV8S8 IGH V FALSE 3040 +Rattus norvegicus non-functional IGHV8S9 IGH V FALSE 3041 +Rattus norvegicus non-functional IGHV9S1 IGH V FALSE 3042 +Rattus norvegicus non-functional IGHV9S2 IGH V FALSE 3043 +Rattus norvegicus functional IGHV9S3 IGH V TRUE 3044 +Rattus norvegicus functional IGHV9S4 IGH V TRUE 3045 +Rattus norvegicus non-functional IGHV9S5 IGH V FALSE 3046 +Rattus norvegicus functional IGHV9S6 IGH V TRUE 3047 +Rattus norvegicus non-functional IGHV9S7 IGH V FALSE 3048 +Rattus norvegicus functional IGHV9S8 IGH V TRUE 3049 +Rattus norvegicus functional IGKJ1 IGK J TRUE 3050 +Rattus norvegicus functional IGKJ2-1 IGK J TRUE 3051 +Rattus norvegicus functional IGKJ2-2 IGK J TRUE 3052 +Rattus norvegicus functional IGKJ2-3 IGK J TRUE 3053 +Rattus norvegicus non-functional IGKJ3 IGK J FALSE 3054 +Rattus norvegicus functional IGKJ4 IGK J TRUE 3055 +Rattus norvegicus functional IGKJ5 IGK J TRUE 3056 +Rattus norvegicus functional IGKV10S11 IGK V TRUE 3057 +Rattus norvegicus functional IGKV10S12 IGK V TRUE 3058 +Rattus norvegicus functional IGKV10S5 IGK V TRUE 3059 +Rattus norvegicus functional IGKV10S6 IGK V TRUE 3060 +Rattus norvegicus functional IGKV10S9 IGK V TRUE 3061 +Rattus norvegicus functional IGKV12S1 IGK V TRUE 3062 +Rattus norvegicus functional IGKV12S11 IGK V TRUE 3063 +Rattus norvegicus non-functional IGKV12S12 IGK V FALSE 3064 +Rattus norvegicus functional IGKV12S14 IGK V TRUE 3065 +Rattus norvegicus functional IGKV12S16 IGK V TRUE 3066 +Rattus norvegicus functional IGKV12S17 IGK V TRUE 3067 +Rattus norvegicus functional IGKV12S20 IGK V TRUE 3068 +Rattus norvegicus functional IGKV12S22 IGK V TRUE 3069 +Rattus norvegicus functional IGKV12S24 IGK V TRUE 3070 +Rattus norvegicus functional IGKV12S25 IGK V TRUE 3071 +Rattus norvegicus functional IGKV12S26 IGK V TRUE 3072 +Rattus norvegicus non-functional IGKV12S27 IGK V FALSE 3073 +Rattus norvegicus non-functional IGKV12S28 IGK V FALSE 3074 +Rattus norvegicus functional IGKV12S29 IGK V TRUE 3075 +Rattus norvegicus functional IGKV12S30 IGK V TRUE 3076 +Rattus norvegicus functional IGKV12S31 IGK V TRUE 3077 +Rattus norvegicus functional IGKV12S32 IGK V TRUE 3078 +Rattus norvegicus functional IGKV12S34 IGK V TRUE 3079 +Rattus norvegicus functional IGKV12S36 IGK V TRUE 3080 +Rattus norvegicus functional IGKV12S38 IGK V TRUE 3081 +Rattus norvegicus functional IGKV12S39 IGK V TRUE 3082 +Rattus norvegicus non-functional IGKV12S5 IGK V FALSE 3083 +Rattus norvegicus functional IGKV12S7 IGK V TRUE 3084 +Rattus norvegicus functional IGKV12S8 IGK V TRUE 3085 +Rattus norvegicus functional IGKV12S9 IGK V TRUE 3086 +Rattus norvegicus non-functional IGKV13S7 IGK V FALSE 3087 +Rattus norvegicus functional IGKV14S1 IGK V TRUE 3088 +Rattus norvegicus functional IGKV14S13 IGK V TRUE 3089 +Rattus norvegicus functional IGKV14S14 IGK V TRUE 3090 +Rattus norvegicus functional IGKV14S15 IGK V TRUE 3091 +Rattus norvegicus functional IGKV14S16 IGK V TRUE 3092 +Rattus norvegicus functional IGKV14S18 IGK V TRUE 3093 +Rattus norvegicus functional IGKV14S19 IGK V TRUE 3094 +Rattus norvegicus functional IGKV14S2 IGK V TRUE 3095 +Rattus norvegicus functional IGKV14S22 IGK V TRUE 3096 +Rattus norvegicus non-functional IGKV14S4 IGK V FALSE 3097 +Rattus norvegicus functional IGKV14S8 IGK V TRUE 3098 +Rattus norvegicus functional IGKV14S9 IGK V TRUE 3099 +Rattus norvegicus non-functional IGKV15S2 IGK V FALSE 3100 +Rattus norvegicus non-functional IGKV15S3 IGK V FALSE 3101 +Rattus norvegicus functional IGKV15S4 IGK V TRUE 3102 +Rattus norvegicus functional IGKV16S1 IGK V TRUE 3103 +Rattus norvegicus non-functional IGKV16S2 IGK V FALSE 3104 +Rattus norvegicus functional IGKV17S1 IGK V TRUE 3105 +Rattus norvegicus functional IGKV18S1 IGK V TRUE 3106 +Rattus norvegicus functional IGKV19S1 IGK V TRUE 3107 +Rattus norvegicus functional IGKV19S2 IGK V TRUE 3108 +Rattus norvegicus functional IGKV1S1 IGK V TRUE 3109 +Rattus norvegicus functional IGKV1S12 IGK V TRUE 3110 +Rattus norvegicus functional IGKV1S14 IGK V TRUE 3111 +Rattus norvegicus non-functional IGKV1S15 IGK V FALSE 3112 +Rattus norvegicus functional IGKV1S18 IGK V TRUE 3113 +Rattus norvegicus functional IGKV1S19 IGK V TRUE 3114 +Rattus norvegicus functional IGKV1S21 IGK V TRUE 3115 +Rattus norvegicus functional IGKV1S22 IGK V TRUE 3116 +Rattus norvegicus functional IGKV1S23 IGK V TRUE 3117 +Rattus norvegicus functional IGKV1S24 IGK V TRUE 3118 +Rattus norvegicus functional IGKV1S25 IGK V TRUE 3119 +Rattus norvegicus functional IGKV1S26 IGK V TRUE 3120 +Rattus norvegicus functional IGKV1S27 IGK V TRUE 3121 +Rattus norvegicus functional IGKV1S28 IGK V TRUE 3122 +Rattus norvegicus functional IGKV1S29 IGK V TRUE 3123 +Rattus norvegicus functional IGKV1S30 IGK V TRUE 3124 +Rattus norvegicus functional IGKV1S31 IGK V TRUE 3125 +Rattus norvegicus non-functional IGKV1S32 IGK V FALSE 3126 +Rattus norvegicus functional IGKV1S34 IGK V TRUE 3127 +Rattus norvegicus functional IGKV1S42 IGK V TRUE 3128 +Rattus norvegicus functional IGKV1S5 IGK V TRUE 3129 +Rattus norvegicus functional IGKV1S7 IGK V TRUE 3130 +Rattus norvegicus functional IGKV1S8 IGK V TRUE 3131 +Rattus norvegicus functional IGKV20S1 IGK V TRUE 3132 +Rattus norvegicus functional IGKV21S2 IGK V TRUE 3133 +Rattus norvegicus functional IGKV21S3 IGK V TRUE 3134 +Rattus norvegicus functional IGKV22S1 IGK V TRUE 3135 +Rattus norvegicus functional IGKV22S2 IGK V TRUE 3136 +Rattus norvegicus functional IGKV22S4 IGK V TRUE 3137 +Rattus norvegicus functional IGKV22S5 IGK V TRUE 3138 +Rattus norvegicus non-functional IGKV22S6 IGK V FALSE 3139 +Rattus norvegicus functional IGKV22S7 IGK V TRUE 3140 +Rattus norvegicus non-functional IGKV22S8 IGK V FALSE 3141 +Rattus norvegicus functional IGKV22S9 IGK V TRUE 3142 +Rattus norvegicus functional IGKV2S11 IGK V TRUE 3143 +Rattus norvegicus functional IGKV2S16 IGK V TRUE 3144 +Rattus norvegicus functional IGKV2S17 IGK V TRUE 3145 +Rattus norvegicus non-functional IGKV2S20 IGK V FALSE 3146 +Rattus norvegicus non-functional IGKV2S21 IGK V FALSE 3147 +Rattus norvegicus non-functional IGKV2S22 IGK V FALSE 3148 +Rattus norvegicus non-functional IGKV2S23 IGK V FALSE 3149 +Rattus norvegicus non-functional IGKV2S24 IGK V FALSE 3150 +Rattus norvegicus functional IGKV2S25 IGK V TRUE 3151 +Rattus norvegicus functional IGKV2S26 IGK V TRUE 3152 +Rattus norvegicus functional IGKV2S27 IGK V TRUE 3153 +Rattus norvegicus functional IGKV2S3 IGK V TRUE 3154 +Rattus norvegicus functional IGKV2S6 IGK V TRUE 3155 +Rattus norvegicus functional IGKV2S9 IGK V TRUE 3156 +Rattus norvegicus functional IGKV3S1 IGK V TRUE 3157 +Rattus norvegicus functional IGKV3S10 IGK V TRUE 3158 +Rattus norvegicus functional IGKV3S11 IGK V TRUE 3159 +Rattus norvegicus non-functional IGKV3S12 IGK V FALSE 3160 +Rattus norvegicus functional IGKV3S13 IGK V TRUE 3161 +Rattus norvegicus non-functional IGKV3S14 IGK V FALSE 3162 +Rattus norvegicus non-functional IGKV3S15 IGK V FALSE 3163 +Rattus norvegicus functional IGKV3S17 IGK V TRUE 3164 +Rattus norvegicus functional IGKV3S18 IGK V TRUE 3165 +Rattus norvegicus functional IGKV3S19 IGK V TRUE 3166 +Rattus norvegicus functional IGKV3S5 IGK V TRUE 3167 +Rattus norvegicus functional IGKV3S6 IGK V TRUE 3168 +Rattus norvegicus non-functional IGKV3S7 IGK V FALSE 3169 +Rattus norvegicus functional IGKV3S8 IGK V TRUE 3170 +Rattus norvegicus functional IGKV3S9 IGK V TRUE 3171 +Rattus norvegicus functional IGKV4S10 IGK V TRUE 3172 +Rattus norvegicus functional IGKV4S11 IGK V TRUE 3173 +Rattus norvegicus functional IGKV4S12 IGK V TRUE 3174 +Rattus norvegicus functional IGKV4S13 IGK V TRUE 3175 +Rattus norvegicus functional IGKV4S14 IGK V TRUE 3176 +Rattus norvegicus functional IGKV4S15 IGK V TRUE 3177 +Rattus norvegicus functional IGKV4S16 IGK V TRUE 3178 +Rattus norvegicus functional IGKV4S18 IGK V TRUE 3179 +Rattus norvegicus functional IGKV4S19 IGK V TRUE 3180 +Rattus norvegicus functional IGKV4S2 IGK V TRUE 3181 +Rattus norvegicus functional IGKV4S20 IGK V TRUE 3182 +Rattus norvegicus functional IGKV4S21 IGK V TRUE 3183 +Rattus norvegicus functional IGKV4S3 IGK V TRUE 3184 +Rattus norvegicus functional IGKV4S4 IGK V TRUE 3185 +Rattus norvegicus functional IGKV4S5 IGK V TRUE 3186 +Rattus norvegicus functional IGKV4S6 IGK V TRUE 3187 +Rattus norvegicus functional IGKV4S7 IGK V TRUE 3188 +Rattus norvegicus functional IGKV4S8 IGK V TRUE 3189 +Rattus norvegicus functional IGKV4S9 IGK V TRUE 3190 +Rattus norvegicus non-functional IGKV5S1 IGK V FALSE 3191 +Rattus norvegicus functional IGKV5S10 IGK V TRUE 3192 +Rattus norvegicus functional IGKV5S12 IGK V TRUE 3193 +Rattus norvegicus functional IGKV5S2 IGK V TRUE 3194 +Rattus norvegicus non-functional IGKV5S4 IGK V FALSE 3195 +Rattus norvegicus functional IGKV5S5 IGK V TRUE 3196 +Rattus norvegicus functional IGKV5S6 IGK V TRUE 3197 +Rattus norvegicus functional IGKV6S10 IGK V TRUE 3198 +Rattus norvegicus functional IGKV6S11 IGK V TRUE 3199 +Rattus norvegicus non-functional IGKV6S2 IGK V FALSE 3200 +Rattus norvegicus non-functional IGKV6S3 IGK V FALSE 3201 +Rattus norvegicus functional IGKV6S4 IGK V TRUE 3202 +Rattus norvegicus functional IGKV6S5 IGK V TRUE 3203 +Rattus norvegicus non-functional IGKV6S6 IGK V FALSE 3204 +Rattus norvegicus functional IGKV6S7 IGK V TRUE 3205 +Rattus norvegicus functional IGKV6S8 IGK V TRUE 3206 +Rattus norvegicus functional IGKV6S9 IGK V TRUE 3207 +Rattus norvegicus functional IGKV7S1 IGK V TRUE 3208 +Rattus norvegicus functional IGKV8S10 IGK V TRUE 3209 +Rattus norvegicus non-functional IGKV8S11 IGK V FALSE 3210 +Rattus norvegicus non-functional IGKV8S2 IGK V FALSE 3211 +Rattus norvegicus functional IGKV8S4 IGK V TRUE 3212 +Rattus norvegicus functional IGKV8S5 IGK V TRUE 3213 +Rattus norvegicus functional IGKV8S6 IGK V TRUE 3214 +Rattus norvegicus functional IGKV8S7 IGK V TRUE 3215 +Rattus norvegicus functional IGKV8S8 IGK V TRUE 3216 +Rattus norvegicus functional IGKV8S9 IGK V TRUE 3217 +Rattus norvegicus functional IGKV9S1 IGK V TRUE 3218 +Rattus norvegicus functional IGKV9S2 IGK V TRUE 3219 +Rattus norvegicus functional IGLJ1 IGL J TRUE 3220 +Rattus norvegicus non-functional IGLJ2 IGL J FALSE 3221 +Rattus norvegicus functional IGLJ3 IGL J TRUE 3222 +Rattus norvegicus non-functional IGLJ4 IGL J FALSE 3223 +Rattus norvegicus functional IGLV1S1 IGL V TRUE 3224 +Rattus norvegicus functional IGLV2S1 IGL V TRUE 3225 +Rattus norvegicus functional IGLV3S1 IGL V TRUE 3226 +Rattus norvegicus functional IGLV3S2 IGL V TRUE 3227 +Rattus norvegicus functional IGLV3S3 IGL V TRUE 3228 +Rattus norvegicus functional IGLV3S4 IGL V TRUE 3229 +Rattus norvegicus functional IGLV3S5 IGL V TRUE 3230 +Sus scrofa functional IGHD IGH D TRUE 3231 +Sus scrofa functional IGHD1 IGH D TRUE 3232 +Sus scrofa functional IGHD2 IGH D TRUE 3233 +Sus scrofa functional IGHD3 IGH D TRUE 3234 +Sus scrofa functional IGHD4 IGH D TRUE 3235 +Sus scrofa functional IGHJ1 IGH J TRUE 3236 +Sus scrofa functional IGHJ2 IGH J TRUE 3237 +Sus scrofa functional IGHJ3 IGH J TRUE 3238 +Sus scrofa functional IGHJ4 IGH J TRUE 3239 +Sus scrofa functional IGHJ5 IGH J TRUE 3240 +Sus scrofa non-functional IGHV1-1 IGH V FALSE 3241 +Sus scrofa functional IGHV1-10 IGH V TRUE 3242 +Sus scrofa functional IGHV1-11 IGH V TRUE 3243 +Sus scrofa functional IGHV1-12 IGH V TRUE 3244 +Sus scrofa non-functional IGHV1-13 IGH V FALSE 3245 +Sus scrofa functional IGHV1-14 IGH V TRUE 3246 +Sus scrofa functional IGHV1-15 IGH V TRUE 3247 +Sus scrofa functional IGHV1-2 IGH V TRUE 3248 +Sus scrofa non-functional IGHV1-3 IGH V FALSE 3249 +Sus scrofa functional IGHV1-4 IGH V TRUE 3250 +Sus scrofa functional IGHV1-5 IGH V TRUE 3251 +Sus scrofa functional IGHV1-6 IGH V TRUE 3252 +Sus scrofa non-functional IGHV1-7 IGH V FALSE 3253 +Sus scrofa functional IGHV1-8 IGH V TRUE 3254 +Sus scrofa non-functional IGHV1-9 IGH V FALSE 3255 +Sus scrofa functional IGHV1S2 IGH V TRUE 3256 +Sus scrofa non-functional IGHV1S3 IGH V FALSE 3257 +Sus scrofa functional IGHV1S5 IGH V TRUE 3258 +Sus scrofa functional IGHV1S6 IGH V TRUE 3259 +Sus scrofa non-functional IGHV1S7 IGH V FALSE 3260 +Sus scrofa non-functional IGHV1S8 IGH V FALSE 3261 +Sus scrofa functional IGKJ1 IGK J TRUE 3262 +Sus scrofa functional IGKJ2 IGK J TRUE 3263 +Sus scrofa functional IGKJ3 IGK J TRUE 3264 +Sus scrofa functional IGKJ4 IGK J TRUE 3265 +Sus scrofa functional IGKJ5 IGK J TRUE 3266 +Sus scrofa functional IGKV1-11 IGK V TRUE 3267 +Sus scrofa functional IGKV1-14 IGK V TRUE 3268 +Sus scrofa functional IGKV1-7 IGK V TRUE 3269 +Sus scrofa functional IGKV1-9 IGK V TRUE 3270 +Sus scrofa functional IGKV1D-11 IGK V TRUE 3271 +Sus scrofa functional IGKV2-10 IGK V TRUE 3272 +Sus scrofa functional IGKV2-12 IGK V TRUE 3273 +Sus scrofa functional IGKV2-13 IGK V TRUE 3274 +Sus scrofa non-functional IGKV2-5 IGK V FALSE 3275 +Sus scrofa functional IGKV2-6 IGK V TRUE 3276 +Sus scrofa functional IGKV2-8 IGK V TRUE 3277 +Sus scrofa non-functional IGKV2/OR3-1 IGK V FALSE 3278 +Sus scrofa functional IGKV2D-12 IGK V TRUE 3279 +Sus scrofa non-functional IGKV3-3 IGK V FALSE 3280 +Sus scrofa non-functional IGKV5-4 IGK V FALSE 3281 +Sus scrofa functional IGLJ2 IGL J TRUE 3282 +Sus scrofa functional IGLJ3 IGL J TRUE 3283 +Sus scrofa functional IGLJ4 IGL J TRUE 3284 +Sus scrofa non-functional IGLV(III)-8 IGL V FALSE 3285 +Sus scrofa non-functional IGLV1-15 IGL V FALSE 3286 +Sus scrofa non-functional IGLV1-20 IGL V FALSE 3287 +Sus scrofa functional IGLV2-6 IGL V TRUE 3288 +Sus scrofa non-functional IGLV3-1 IGL V FALSE 3289 +Sus scrofa functional IGLV3-2 IGL V TRUE 3290 +Sus scrofa functional IGLV3-3 IGL V TRUE 3291 +Sus scrofa functional IGLV3-4 IGL V TRUE 3292 +Sus scrofa functional IGLV3-5 IGL V TRUE 3293 +Sus scrofa non-functional IGLV5-11 IGL V FALSE 3294 +Sus scrofa functional IGLV5-14 IGL V TRUE 3295 +Sus scrofa non-functional IGLV5-17 IGL V FALSE 3296 +Sus scrofa non-functional IGLV5-22 IGL V FALSE 3297 +Sus scrofa non-functional IGLV7-7 IGL V FALSE 3298 +Sus scrofa non-functional IGLV7-9 IGL V FALSE 3299 +Sus scrofa functional IGLV8-10 IGL V TRUE 3300 +Sus scrofa functional IGLV8-13 IGL V TRUE 3301 +Sus scrofa non-functional IGLV8-16 IGL V FALSE 3302 +Sus scrofa functional IGLV8-18 IGL V TRUE 3303 +Sus scrofa functional IGLV8-19 IGL V TRUE 3304 +Sus scrofa non-functional IGLV8-21 IGL V FALSE 3305 diff -r e35b82f31ec7 -r 124b7fd92a3e report_clonality/jquery-1.11.0.min.js --- a/report_clonality/jquery-1.11.0.min.js Thu Aug 08 07:40:36 2019 -0400 +++ b/report_clonality/jquery-1.11.0.min.js Thu Feb 25 13:36:15 2021 +0000 @@ -1,4 +1,4 @@ -/*! jQuery v1.11.0 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ -!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k="".trim,l={},m="1.11.0",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(l.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:k&&!k.call("\ufeff\xa0")?function(a){return null==a?"":k.call(a)}:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),n.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||n.guid++,e):void 0},now:function(){return+new Date},support:l}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s="sizzle"+-new Date,t=a.document,u=0,v=0,w=eb(),x=eb(),y=eb(),z=function(a,b){return a===b&&(j=!0),0},A="undefined",B=1<<31,C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=D.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",M=L.replace("w","w#"),N="\\["+K+"*("+L+")"+K+"*(?:([*^$|!~]?=)"+K+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+M+")|)|)"+K+"*\\]",O=":("+L+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+N.replace(3,8)+")*)|.*)\\)|)",P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(O),U=new RegExp("^"+M+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L.replace("w","w*")+")"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=/'|\\/g,ab=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),bb=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{G.apply(D=H.call(t.childNodes),t.childNodes),D[t.childNodes.length].nodeType}catch(cb){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function db(a,b,d,e){var f,g,h,i,j,m,p,q,u,v;if((b?b.ownerDocument||b:t)!==l&&k(b),b=b||l,d=d||[],!a||"string"!=typeof a)return d;if(1!==(i=b.nodeType)&&9!==i)return[];if(n&&!e){if(f=Z.exec(a))if(h=f[1]){if(9===i){if(g=b.getElementById(h),!g||!g.parentNode)return d;if(g.id===h)return d.push(g),d}else if(b.ownerDocument&&(g=b.ownerDocument.getElementById(h))&&r(b,g)&&g.id===h)return d.push(g),d}else{if(f[2])return G.apply(d,b.getElementsByTagName(a)),d;if((h=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(h)),d}if(c.qsa&&(!o||!o.test(a))){if(q=p=s,u=b,v=9===i&&a,1===i&&"object"!==b.nodeName.toLowerCase()){m=ob(a),(p=b.getAttribute("id"))?q=p.replace(_,"\\$&"):b.setAttribute("id",q),q="[id='"+q+"'] ",j=m.length;while(j--)m[j]=q+pb(m[j]);u=$.test(a)&&mb(b.parentNode)||b,v=m.join(",")}if(v)try{return G.apply(d,u.querySelectorAll(v)),d}catch(w){}finally{p||b.removeAttribute("id")}}}return xb(a.replace(P,"$1"),b,d,e)}function eb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function fb(a){return a[s]=!0,a}function gb(a){var b=l.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function hb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function ib(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||B)-(~a.sourceIndex||B);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function jb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function kb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function lb(a){return fb(function(b){return b=+b,fb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function mb(a){return a&&typeof a.getElementsByTagName!==A&&a}c=db.support={},f=db.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},k=db.setDocument=function(a){var b,e=a?a.ownerDocument||a:t,g=e.defaultView;return e!==l&&9===e.nodeType&&e.documentElement?(l=e,m=e.documentElement,n=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){k()},!1):g.attachEvent&&g.attachEvent("onunload",function(){k()})),c.attributes=gb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=gb(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(e.getElementsByClassName)&&gb(function(a){return a.innerHTML="
",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=gb(function(a){return m.appendChild(a).id=s,!e.getElementsByName||!e.getElementsByName(s).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==A&&n){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){var c=typeof a.getAttributeNode!==A&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==A?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==A&&n?b.getElementsByClassName(a):void 0},p=[],o=[],(c.qsa=Y.test(e.querySelectorAll))&&(gb(function(a){a.innerHTML="",a.querySelectorAll("[t^='']").length&&o.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||o.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll(":checked").length||o.push(":checked")}),gb(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&o.push("name"+K+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||o.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),o.push(",.*:")})),(c.matchesSelector=Y.test(q=m.webkitMatchesSelector||m.mozMatchesSelector||m.oMatchesSelector||m.msMatchesSelector))&&gb(function(a){c.disconnectedMatch=q.call(a,"div"),q.call(a,"[s!='']:x"),p.push("!=",O)}),o=o.length&&new RegExp(o.join("|")),p=p.length&&new RegExp(p.join("|")),b=Y.test(m.compareDocumentPosition),r=b||Y.test(m.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},z=b?function(a,b){if(a===b)return j=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===t&&r(t,a)?-1:b===e||b.ownerDocument===t&&r(t,b)?1:i?I.call(i,a)-I.call(i,b):0:4&d?-1:1)}:function(a,b){if(a===b)return j=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],k=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:i?I.call(i,a)-I.call(i,b):0;if(f===g)return ib(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)k.unshift(c);while(h[d]===k[d])d++;return d?ib(h[d],k[d]):h[d]===t?-1:k[d]===t?1:0},e):l},db.matches=function(a,b){return db(a,null,null,b)},db.matchesSelector=function(a,b){if((a.ownerDocument||a)!==l&&k(a),b=b.replace(S,"='$1']"),!(!c.matchesSelector||!n||p&&p.test(b)||o&&o.test(b)))try{var d=q.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return db(b,l,null,[a]).length>0},db.contains=function(a,b){return(a.ownerDocument||a)!==l&&k(a),r(a,b)},db.attr=function(a,b){(a.ownerDocument||a)!==l&&k(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!n):void 0;return void 0!==f?f:c.attributes||!n?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},db.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},db.uniqueSort=function(a){var b,d=[],e=0,f=0;if(j=!c.detectDuplicates,i=!c.sortStable&&a.slice(0),a.sort(z),j){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return i=null,a},e=db.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=db.selectors={cacheLength:50,createPseudo:fb,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ab,bb),a[3]=(a[4]||a[5]||"").replace(ab,bb),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||db.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&db.error(a[0]),a},PSEUDO:function(a){var b,c=!a[5]&&a[2];return V.CHILD.test(a[0])?null:(a[3]&&void 0!==a[4]?a[2]=a[4]:c&&T.test(c)&&(b=ob(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ab,bb).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=w[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&w(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==A&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=db.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),t=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&t){k=q[s]||(q[s]={}),j=k[a]||[],n=j[0]===u&&j[1],m=j[0]===u&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[u,n,m];break}}else if(t&&(j=(b[s]||(b[s]={}))[a])&&j[0]===u)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(t&&((l[s]||(l[s]={}))[a]=[u,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||db.error("unsupported pseudo: "+a);return e[s]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?fb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:fb(function(a){var b=[],c=[],d=g(a.replace(P,"$1"));return d[s]?fb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:fb(function(a){return function(b){return db(a,b).length>0}}),contains:fb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:fb(function(a){return U.test(a||"")||db.error("unsupported lang: "+a),a=a.replace(ab,bb).toLowerCase(),function(b){var c;do if(c=n?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===m},focus:function(a){return a===l.activeElement&&(!l.hasFocus||l.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:lb(function(){return[0]}),last:lb(function(a,b){return[b-1]}),eq:lb(function(a,b,c){return[0>c?c+b:c]}),even:lb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:lb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:lb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:lb(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function qb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=v++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[u,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[s]||(b[s]={}),(h=i[d])&&h[0]===u&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function rb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function sb(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function tb(a,b,c,d,e,f){return d&&!d[s]&&(d=tb(d)),e&&!e[s]&&(e=tb(e,f)),fb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||wb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:sb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=sb(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?I.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=sb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ub(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],i=g||d.relative[" "],j=g?1:0,k=qb(function(a){return a===b},i,!0),l=qb(function(a){return I.call(b,a)>-1},i,!0),m=[function(a,c,d){return!g&&(d||c!==h)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>j;j++)if(c=d.relative[a[j].type])m=[qb(rb(m),c)];else{if(c=d.filter[a[j].type].apply(null,a[j].matches),c[s]){for(e=++j;f>e;e++)if(d.relative[a[e].type])break;return tb(j>1&&rb(m),j>1&&pb(a.slice(0,j-1).concat({value:" "===a[j-2].type?"*":""})).replace(P,"$1"),c,e>j&&ub(a.slice(j,e)),f>e&&ub(a=a.slice(e)),f>e&&pb(a))}m.push(c)}return rb(m)}function vb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,i,j,k){var m,n,o,p=0,q="0",r=f&&[],s=[],t=h,v=f||e&&d.find.TAG("*",k),w=u+=null==t?1:Math.random()||.1,x=v.length;for(k&&(h=g!==l&&g);q!==x&&null!=(m=v[q]);q++){if(e&&m){n=0;while(o=a[n++])if(o(m,g,i)){j.push(m);break}k&&(u=w)}c&&((m=!o&&m)&&p--,f&&r.push(m))}if(p+=q,c&&q!==p){n=0;while(o=b[n++])o(r,s,g,i);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=E.call(j));s=sb(s)}G.apply(j,s),k&&!f&&s.length>0&&p+b.length>1&&db.uniqueSort(j)}return k&&(u=w,h=t),r};return c?fb(f):f}g=db.compile=function(a,b){var c,d=[],e=[],f=y[a+" "];if(!f){b||(b=ob(a)),c=b.length;while(c--)f=ub(b[c]),f[s]?d.push(f):e.push(f);f=y(a,vb(e,d))}return f};function wb(a,b,c){for(var d=0,e=b.length;e>d;d++)db(a,b[d],c);return c}function xb(a,b,e,f){var h,i,j,k,l,m=ob(a);if(!f&&1===m.length){if(i=m[0]=m[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&c.getById&&9===b.nodeType&&n&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(ab,bb),b)||[])[0],!b)return e;a=a.slice(i.shift().value.length)}h=V.needsContext.test(a)?0:i.length;while(h--){if(j=i[h],d.relative[k=j.type])break;if((l=d.find[k])&&(f=l(j.matches[0].replace(ab,bb),$.test(i[0].type)&&mb(b.parentNode)||b))){if(i.splice(h,1),a=f.length&&pb(i),!a)return G.apply(e,f),e;break}}}return g(a,m)(f,b,!n,e,$.test(a)&&mb(b.parentNode)||b),e}return c.sortStable=s.split("").sort(z).join("")===s,c.detectDuplicates=!!j,k(),c.sortDetached=gb(function(a){return 1&a.compareDocumentPosition(l.createElement("div"))}),gb(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||hb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&gb(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||hb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),gb(function(a){return null==a.getAttribute("disabled")})||hb(J,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),db}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return n.inArray(a,b)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;e>b;b++)if(n.contains(d[b],this))return!0}));for(b=0;e>b;b++)n.find(a,d[b],c);return c=this.pushStack(e>1?n.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=a.document,A=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,B=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:A.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:z,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=z.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return y.find(a);this.length=1,this[0]=d}return this.context=z,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};B.prototype=n.fn,y=n(z);var C=/^(?:parents|prev(?:Until|All))/,D={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!n(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b,c=n(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(n.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?n.inArray(this[0],n(a)):n.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function E(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return E(a,"nextSibling")},prev:function(a){return E(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return n.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(D[a]||(e=n.unique(e)),C.test(a)&&(e=e.reverse())),this.pushStack(e)}});var F=/\S+/g,G={};function H(a){var b=G[a]={};return n.each(a.match(F)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?G[a]||H(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&n.each(arguments,function(a,c){var d;while((d=n.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){if(a===!0?!--n.readyWait:!n.isReady){if(!z.body)return setTimeout(n.ready);n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(z,[n]),n.fn.trigger&&n(z).trigger("ready").off("ready"))}}});function J(){z.addEventListener?(z.removeEventListener("DOMContentLoaded",K,!1),a.removeEventListener("load",K,!1)):(z.detachEvent("onreadystatechange",K),a.detachEvent("onload",K))}function K(){(z.addEventListener||"load"===event.type||"complete"===z.readyState)&&(J(),n.ready())}n.ready.promise=function(b){if(!I)if(I=n.Deferred(),"complete"===z.readyState)setTimeout(n.ready);else if(z.addEventListener)z.addEventListener("DOMContentLoaded",K,!1),a.addEventListener("load",K,!1);else{z.attachEvent("onreadystatechange",K),a.attachEvent("onload",K);var c=!1;try{c=null==a.frameElement&&z.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!n.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}J(),n.ready()}}()}return I.promise(b)};var L="undefined",M;for(M in n(l))break;l.ownLast="0"!==M,l.inlineBlockNeedsLayout=!1,n(function(){var a,b,c=z.getElementsByTagName("body")[0];c&&(a=z.createElement("div"),a.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",b=z.createElement("div"),c.appendChild(a).appendChild(b),typeof b.style.zoom!==L&&(b.style.cssText="border:0;margin:0;width:1px;padding:1px;display:inline;zoom:1",(l.inlineBlockNeedsLayout=3===b.offsetWidth)&&(c.style.zoom=1)),c.removeChild(a),a=b=null)}),function(){var a=z.createElement("div");if(null==l.deleteExpando){l.deleteExpando=!0;try{delete a.test}catch(b){l.deleteExpando=!1}}a=null}(),n.acceptData=function(a){var b=n.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(O,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}n.data(a,b,c)}else c=void 0}return c}function Q(a){var b;for(b in a)if(("data"!==b||!n.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function R(a,b,d,e){if(n.acceptData(a)){var f,g,h=n.expando,i=a.nodeType,j=i?n.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||n.guid++:h),j[k]||(j[k]=i?{}:{toJSON:n.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=n.extend(j[k],b):j[k].data=n.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[n.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[n.camelCase(b)])):f=g,f -}}function S(a,b,c){if(n.acceptData(a)){var d,e,f=a.nodeType,g=f?n.cache:a,h=f?a[n.expando]:n.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){n.isArray(b)?b=b.concat(n.map(b,n.camelCase)):b in d?b=[b]:(b=n.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!Q(d):!n.isEmptyObject(d))return}(c||(delete g[h].data,Q(g[h])))&&(f?n.cleanData([a],!0):l.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}n.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?n.cache[a[n.expando]]:a[n.expando],!!a&&!Q(a)},data:function(a,b,c){return R(a,b,c)},removeData:function(a,b){return S(a,b)},_data:function(a,b,c){return R(a,b,c,!0)},_removeData:function(a,b){return S(a,b,!0)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=n.data(f),1===f.nodeType&&!n._data(f,"parsedAttrs"))){c=g.length;while(c--)d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d]));n._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){n.data(this,a)}):arguments.length>1?this.each(function(){n.data(this,a,b)}):f?P(f,a,n.data(f,a)):void 0},removeData:function(a){return this.each(function(){n.removeData(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=n._data(a,b),c&&(!d||n.isArray(c)?d=n._data(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return n._data(a,c)||n._data(a,c,{empty:n.Callbacks("once memory").add(function(){n._removeData(a,b+"queue"),n._removeData(a,c)})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthh;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},X=/^(?:checkbox|radio)$/i;!function(){var a=z.createDocumentFragment(),b=z.createElement("div"),c=z.createElement("input");if(b.setAttribute("className","t"),b.innerHTML="
info
-----------------------------------
Sample $count of patient $id is an archive file, using IMGT Loader
Sample $count of patient $id is not a zip file so assuming fasta/fastq, using igBLASTn
-----------------------------------
merging
done
-----------------------------------
plotting
a",l.leadingWhitespace=3===b.firstChild.nodeType,l.tbody=!b.getElementsByTagName("tbody").length,l.htmlSerialize=!!b.getElementsByTagName("link").length,l.html5Clone="<:nav>"!==z.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,a.appendChild(c),l.appendChecked=c.checked,b.innerHTML="",l.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,a.appendChild(b),b.innerHTML="",l.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){l.noCloneEvent=!1}),b.cloneNode(!0).click()),null==l.deleteExpando){l.deleteExpando=!0;try{delete b.test}catch(d){l.deleteExpando=!1}}a=b=c=null}(),function(){var b,c,d=z.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(l[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),l[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var Y=/^(?:input|select|textarea)$/i,Z=/^key/,$=/^(?:mouse|contextmenu)|click/,_=/^(?:focusinfocus|focusoutblur)$/,ab=/^([^.]*)(?:\.(.+)|)$/;function bb(){return!0}function cb(){return!1}function db(){try{return z.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof n===L||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(F)||[""],h=b.length;while(h--)f=ab.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.special[o]||{},l=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]=[],m.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,l):m.push(l),n.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").match(F)||[""],j=b.length;while(j--)if(h=ab.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--)g=m[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.remove&&l.remove.call(a,g));i&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(k)&&(delete r.handle,n._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,m,o=[d||z],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||z,3!==d.nodeType&&8!==d.nodeType&&!_.test(p+n.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[n.expando]?b:new n.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),k=n.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!n.isWindow(d)){for(i=k.delegateType||p,_.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||z)&&o.push(l.defaultView||l.parentWindow||a)}m=0;while((h=o[m++])&&!b.isPropagationStopped())b.type=m>1?i:k.bindType||p,f=(n._data(h,"events")||{})[b.type]&&n._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&n.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&n.acceptData(d)&&g&&d[p]&&!n.isWindow(d)){l=d[g],l&&(d[g]=null),n.event.triggered=p;try{d[p]()}catch(r){}n.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((n.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?n(c,this).index(i)>=0:n.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h]","i"),ib=/^\s+/,jb=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,kb=/<([\w:]+)/,lb=/\s*$/g,sb={option:[1,""],legend:[1,"
","
"],area:[1,"",""],param:[1,"",""],thead:[1,"","
"],tr:[2,"","
"],col:[2,"","
"],td:[3,"","
"],_default:l.htmlSerialize?[0,"",""]:[1,"X
","
"]},tb=eb(z),ub=tb.appendChild(z.createElement("div"));sb.optgroup=sb.option,sb.tbody=sb.tfoot=sb.colgroup=sb.caption=sb.thead,sb.th=sb.td;function vb(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==L?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==L?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||n.nodeName(d,b)?f.push(d):n.merge(f,vb(d,b));return void 0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function wb(a){X.test(a.type)&&(a.defaultChecked=a.checked)}function xb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function yb(a){return a.type=(null!==n.find.attr(a,"type"))+"/"+a.type,a}function zb(a){var b=qb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ab(a,b){for(var c,d=0;null!=(c=a[d]);d++)n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}function Bb(a,b){if(1===b.nodeType&&n.hasData(a)){var c,d,e,f=n._data(a),g=n._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)n.event.add(b,c,h[c][d])}g.data&&(g.data=n.extend({},g.data))}}function Cb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!l.noCloneEvent&&b[n.expando]){e=n._data(b);for(d in e.events)n.removeEvent(b,d,e.handle);b.removeAttribute(n.expando)}"script"===c&&b.text!==a.text?(yb(b).text=a.text,zb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),l.html5Clone&&a.innerHTML&&!n.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&X.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}n.extend({clone:function(a,b,c){var d,e,f,g,h,i=n.contains(a.ownerDocument,a);if(l.html5Clone||n.isXMLDoc(a)||!hb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(ub.innerHTML=a.outerHTML,ub.removeChild(f=ub.firstChild)),!(l.noCloneEvent&&l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(d=vb(f),h=vb(a),g=0;null!=(e=h[g]);++g)d[g]&&Cb(e,d[g]);if(b)if(c)for(h=h||vb(a),d=d||vb(f),g=0;null!=(e=h[g]);g++)Bb(e,d[g]);else Bb(a,f);return d=vb(f,"script"),d.length>0&&Ab(d,!i&&vb(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k,m=a.length,o=eb(b),p=[],q=0;m>q;q++)if(f=a[q],f||0===f)if("object"===n.type(f))n.merge(p,f.nodeType?[f]:f);else if(mb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(kb.exec(f)||["",""])[1].toLowerCase(),k=sb[i]||sb._default,h.innerHTML=k[1]+f.replace(jb,"<$1>")+k[2],e=k[0];while(e--)h=h.lastChild;if(!l.leadingWhitespace&&ib.test(f)&&p.push(b.createTextNode(ib.exec(f)[0])),!l.tbody){f="table"!==i||lb.test(f)?""!==k[1]||lb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)n.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}n.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),l.appendChecked||n.grep(vb(p,"input"),wb),q=0;while(f=p[q++])if((!d||-1===n.inArray(f,d))&&(g=n.contains(f.ownerDocument,f),h=vb(o.appendChild(f),"script"),g&&Ab(h),c)){e=0;while(f=h[e++])pb.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=n.expando,j=n.cache,k=l.deleteExpando,m=n.event.special;null!=(d=a[h]);h++)if((b||n.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)m[e]?n.event.remove(d,e):n.removeEvent(d,e,g.handle);j[f]&&(delete j[f],k?delete d[i]:typeof d.removeAttribute!==L?d.removeAttribute(i):d[i]=null,c.push(f))}}}),n.fn.extend({text:function(a){return W(this,function(a){return void 0===a?n.text(this):this.empty().append((this[0]&&this[0].ownerDocument||z).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=xb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=xb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(vb(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&Ab(vb(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&n.cleanData(vb(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&n.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return W(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(gb,""):void 0;if(!("string"!=typeof a||nb.test(a)||!l.htmlSerialize&&hb.test(a)||!l.leadingWhitespace&&ib.test(a)||sb[(kb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(jb,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(vb(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(vb(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,k=this.length,m=this,o=k-1,p=a[0],q=n.isFunction(p);if(q||k>1&&"string"==typeof p&&!l.checkClone&&ob.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(k&&(i=n.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=n.map(vb(i,"script"),yb),f=g.length;k>j;j++)d=i,j!==o&&(d=n.clone(d,!0,!0),f&&n.merge(g,vb(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,n.map(g,zb),j=0;f>j;j++)d=g[j],pb.test(d.type||"")&&!n._data(d,"globalEval")&&n.contains(h,d)&&(d.src?n._evalUrl&&n._evalUrl(d.src):n.globalEval((d.text||d.textContent||d.innerHTML||"").replace(rb,"")));i=c=null}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=0,e=[],g=n(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),n(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Db,Eb={};function Fb(b,c){var d=n(c.createElement(b)).appendTo(c.body),e=a.getDefaultComputedStyle?a.getDefaultComputedStyle(d[0]).display:n.css(d[0],"display");return d.detach(),e}function Gb(a){var b=z,c=Eb[a];return c||(c=Fb(a,b),"none"!==c&&c||(Db=(Db||n("