Mercurial > repos > davidvanzessen > shm_csr
changeset 83:729738462297 draft
"planemo upload commit c0ffc68aec5836d5b20b543106493056a87edf57"
line wrap: on
line diff
--- a/.gitattributes Thu Feb 25 10:32:32 2021 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,4 +0,0 @@ -# Auto detect text files and perform LF normalization -* text=auto -# Convert to LF line endings on checkout. -*.sh text eol=lf \ No newline at end of file
--- a/.gitignore Thu Feb 25 10:32:32 2021 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,4 +0,0 @@ - -shm_csr\.tar\.gz - -\.vscode/settings\.json
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/CHANGELOG.md Wed Sep 15 12:24:06 2021 +0000 @@ -0,0 +1,8 @@ +version 1.1.0 +------------- ++ Added changeo as a dependency. Porting to python3 was necessary to achieve + this. This will make sure the shm_csr package can be installed on all + galaxies. ++ Make sure the wrapper script runs with `set -e -o pipefail` and fails on + error. ++ Updated all python scripts to work on python3
--- a/LICENSE Thu Feb 25 10:32:32 2021 +0000 +++ b/LICENSE Wed Sep 15 12:24:06 2021 +0000 @@ -1,6 +1,7 @@ MIT License -Copyright (c) 2019 david +Copyright (c) 2019 David van Zessen +Copyright (c) 2021 Leiden University Medical Center Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal
--- a/README.md Thu Feb 25 10:32:32 2021 +0000 +++ b/README.md Wed Sep 15 12:24:06 2021 +0000 @@ -1,13 +1,13 @@ -# SHM CSR - -Somatic hypermutation and class switch recombination pipeline. -The docker version can be found [here](https://github.com/ErasmusMC-Bioinformatics/ARGalaxy-docker). - -# Dependencies --------------------- -[Python 2.7](https://www.python.org/) -[Change-O](https://changeo.readthedocs.io/en/version-0.4.4/) -[Baseline](http://selection.med.yale.edu/baseline/) -[R data.table](https://cran.r-project.org/web/packages/data.table/data.table.pdf) -[R ggplot2](https://cran.r-project.org/web/packages/ggplot2/ggplot2.pdf) -[R reshape2](https://cran.r-project.org/web/packages/reshape/reshape.pdf) +# SHM CSR + +Somatic hypermutation and class switch recombination pipeline. +The docker version can be found [here](https://github.com/ErasmusMC-Bioinformatics/ARGalaxy-docker). + +# Dependencies +-------------------- +[Python 3.7](https://www.python.org/) +[Change-O](https://changeo.readthedocs.io/en/version-0.4.4/) +[Baseline](http://selection.med.yale.edu/baseline/) +[R data.table](https://cran.r-project.org/web/packages/data.table/data.table.pdf) +[R ggplot2](https://cran.r-project.org/web/packages/ggplot2/ggplot2.pdf) +[R reshape2](https://cran.r-project.org/web/packages/reshape/reshape.pdf)
--- a/aa_histogram.r Thu Feb 25 10:32:32 2021 +0000 +++ b/aa_histogram.r Wed Sep 15 12:24:06 2021 +0000 @@ -1,69 +1,69 @@ -library(ggplot2) - -args <- commandArgs(trailingOnly = TRUE) - -mutations.by.id.file = args[1] -absent.aa.by.id.file = args[2] -genes = strsplit(args[3], ",")[[1]] -genes = c(genes, "") -outdir = args[4] - - -print("---------------- read input ----------------") - -mutations.by.id = read.table(mutations.by.id.file, sep="\t", fill=T, header=T, quote="") -absent.aa.by.id = read.table(absent.aa.by.id.file, sep="\t", fill=T, header=T, quote="") - -for(gene in genes){ - graph.title = paste(gene, "AA mutation frequency") - if(gene == ""){ - mutations.by.id.gene = mutations.by.id[!grepl("unmatched", mutations.by.id$best_match),] - absent.aa.by.id.gene = absent.aa.by.id[!grepl("unmatched", absent.aa.by.id$best_match),] - - graph.title = "AA mutation frequency all" - } else { - mutations.by.id.gene = mutations.by.id[grepl(paste("^", gene, sep=""), mutations.by.id$best_match),] - absent.aa.by.id.gene = absent.aa.by.id[grepl(paste("^", gene, sep=""), absent.aa.by.id$best_match),] - } - print(paste("nrow", gene, nrow(absent.aa.by.id.gene))) - if(nrow(mutations.by.id.gene) == 0){ - next - } - - mutations.at.position = colSums(mutations.by.id.gene[,-c(1,2)]) - aa.at.position = colSums(absent.aa.by.id.gene[,-c(1,2,3,4)]) - - dat_freq = mutations.at.position / aa.at.position - dat_freq[is.na(dat_freq)] = 0 - dat_dt = data.frame(i=1:length(dat_freq), freq=dat_freq) - - - print("---------------- plot ----------------") - - m = ggplot(dat_dt, aes(x=i, y=freq)) + theme(axis.text.x = element_text(angle = 90, hjust = 1), text = element_text(size=13, colour="black")) - m = m + geom_bar(stat="identity", colour = "black", fill = "darkgrey", alpha=0.8) + scale_x_continuous(breaks=dat_dt$i, labels=dat_dt$i) - m = m + annotate("segment", x = 0.5, y = -0.05, xend=26.5, yend=-0.05, colour="darkgreen", size=1) + annotate("text", x = 13, y = -0.1, label="FR1") - m = m + annotate("segment", x = 26.5, y = -0.07, xend=38.5, yend=-0.07, colour="darkblue", size=1) + annotate("text", x = 32.5, y = -0.15, label="CDR1") - m = m + annotate("segment", x = 38.5, y = -0.05, xend=55.5, yend=-0.05, colour="darkgreen", size=1) + annotate("text", x = 47, y = -0.1, label="FR2") - m = m + annotate("segment", x = 55.5, y = -0.07, xend=65.5, yend=-0.07, colour="darkblue", size=1) + annotate("text", x = 60.5, y = -0.15, label="CDR2") - m = m + annotate("segment", x = 65.5, y = -0.05, xend=104.5, yend=-0.05, colour="darkgreen", size=1) + annotate("text", x = 85, y = -0.1, label="FR3") - m = m + expand_limits(y=c(-0.1,1)) + xlab("AA position") + ylab("Frequency") + ggtitle(graph.title) - m = m + theme(panel.background = element_rect(fill = "white", colour="black"), panel.grid.major.y = element_line(colour = "black"), panel.grid.major.x = element_blank()) - #m = m + scale_colour_manual(values=c("black")) - - print("---------------- write/print ----------------") - - - dat.sums = data.frame(index=1:length(mutations.at.position), mutations.at.position=mutations.at.position, aa.at.position=aa.at.position) - - write.table(dat.sums, paste(outdir, "/aa_histogram_sum_", gene, ".txt", sep=""), sep="\t",quote=F,row.names=F,col.names=T) - write.table(mutations.by.id.gene, paste(outdir, "/aa_histogram_count_", gene, ".txt", sep=""), sep="\t",quote=F,row.names=F,col.names=T) - write.table(absent.aa.by.id.gene, paste(outdir, "/aa_histogram_absent_", gene, ".txt", sep=""), sep="\t",quote=F,row.names=F,col.names=T) - write.table(dat_dt, paste(outdir, "/aa_histogram_", gene, ".txt", sep=""), sep="\t",quote=F,row.names=F,col.names=T) - - png(filename=paste(outdir, "/aa_histogram_", gene, ".png", sep=""), width=1280, height=720) - print(m) - dev.off() - - ggsave(paste(outdir, "/aa_histogram_", gene, ".pdf", sep=""), m, width=14, height=7) -} +library(ggplot2) + +args <- commandArgs(trailingOnly = TRUE) + +mutations.by.id.file = args[1] +absent.aa.by.id.file = args[2] +genes = strsplit(args[3], ",")[[1]] +genes = c(genes, "") +outdir = args[4] + + +print("---------------- read input ----------------") + +mutations.by.id = read.table(mutations.by.id.file, sep="\t", fill=T, header=T, quote="") +absent.aa.by.id = read.table(absent.aa.by.id.file, sep="\t", fill=T, header=T, quote="") + +for(gene in genes){ + graph.title = paste(gene, "AA mutation frequency") + if(gene == ""){ + mutations.by.id.gene = mutations.by.id[!grepl("unmatched", mutations.by.id$best_match),] + absent.aa.by.id.gene = absent.aa.by.id[!grepl("unmatched", absent.aa.by.id$best_match),] + + graph.title = "AA mutation frequency all" + } else { + mutations.by.id.gene = mutations.by.id[grepl(paste("^", gene, sep=""), mutations.by.id$best_match),] + absent.aa.by.id.gene = absent.aa.by.id[grepl(paste("^", gene, sep=""), absent.aa.by.id$best_match),] + } + print(paste("nrow", gene, nrow(absent.aa.by.id.gene))) + if(nrow(mutations.by.id.gene) == 0){ + next + } + + mutations.at.position = colSums(mutations.by.id.gene[,-c(1,2)]) + aa.at.position = colSums(absent.aa.by.id.gene[,-c(1,2,3,4)]) + + dat_freq = mutations.at.position / aa.at.position + dat_freq[is.na(dat_freq)] = 0 + dat_dt = data.frame(i=1:length(dat_freq), freq=dat_freq) + + + print("---------------- plot ----------------") + + m = ggplot(dat_dt, aes(x=i, y=freq)) + theme(axis.text.x = element_text(angle = 90, hjust = 1), text = element_text(size=13, colour="black")) + m = m + geom_bar(stat="identity", colour = "black", fill = "darkgrey", alpha=0.8) + scale_x_continuous(breaks=dat_dt$i, labels=dat_dt$i) + m = m + annotate("segment", x = 0.5, y = -0.05, xend=26.5, yend=-0.05, colour="darkgreen", size=1) + annotate("text", x = 13, y = -0.1, label="FR1") + m = m + annotate("segment", x = 26.5, y = -0.07, xend=38.5, yend=-0.07, colour="darkblue", size=1) + annotate("text", x = 32.5, y = -0.15, label="CDR1") + m = m + annotate("segment", x = 38.5, y = -0.05, xend=55.5, yend=-0.05, colour="darkgreen", size=1) + annotate("text", x = 47, y = -0.1, label="FR2") + m = m + annotate("segment", x = 55.5, y = -0.07, xend=65.5, yend=-0.07, colour="darkblue", size=1) + annotate("text", x = 60.5, y = -0.15, label="CDR2") + m = m + annotate("segment", x = 65.5, y = -0.05, xend=104.5, yend=-0.05, colour="darkgreen", size=1) + annotate("text", x = 85, y = -0.1, label="FR3") + m = m + expand_limits(y=c(-0.1,1)) + xlab("AA position") + ylab("Frequency") + ggtitle(graph.title) + m = m + theme(panel.background = element_rect(fill = "white", colour="black"), panel.grid.major.y = element_line(colour = "black"), panel.grid.major.x = element_blank()) + #m = m + scale_colour_manual(values=c("black")) + + print("---------------- write/print ----------------") + + + dat.sums = data.frame(index=1:length(mutations.at.position), mutations.at.position=mutations.at.position, aa.at.position=aa.at.position) + + write.table(dat.sums, paste(outdir, "/aa_histogram_sum_", gene, ".txt", sep=""), sep="\t",quote=F,row.names=F,col.names=T) + write.table(mutations.by.id.gene, paste(outdir, "/aa_histogram_count_", gene, ".txt", sep=""), sep="\t",quote=F,row.names=F,col.names=T) + write.table(absent.aa.by.id.gene, paste(outdir, "/aa_histogram_absent_", gene, ".txt", sep=""), sep="\t",quote=F,row.names=F,col.names=T) + write.table(dat_dt, paste(outdir, "/aa_histogram_", gene, ".txt", sep=""), sep="\t",quote=F,row.names=F,col.names=T) + + png(filename=paste(outdir, "/aa_histogram_", gene, ".png", sep=""), width=1280, height=720) + print(m) + dev.off() + + ggsave(paste(outdir, "/aa_histogram_", gene, ".pdf", sep=""), m, width=14, height=7) +}
--- a/baseline/Baseline_Functions.r Thu Feb 25 10:32:32 2021 +0000 +++ b/baseline/Baseline_Functions.r Wed Sep 15 12:24:06 2021 +0000 @@ -1,2287 +1,2287 @@ -######################################################################################### -# License Agreement -# -# THIS WORK IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE -# ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER -# APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE -# OR COPYRIGHT LAW IS PROHIBITED. -# -# BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE -# BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED -# TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN -# CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. -# -# BASELIne: Bayesian Estimation of Antigen-Driven Selection in Immunoglobulin Sequences -# Coded by: Mohamed Uduman & Gur Yaari -# Copyright 2012 Kleinstein Lab -# Version: 1.3 (01/23/2014) -######################################################################################### - -# Global variables - - FILTER_BY_MUTATIONS = 1000 - - # Nucleotides - NUCLEOTIDES = c("A","C","G","T") - - # Amino Acids - AMINO_ACIDS <- c("F", "F", "L", "L", "S", "S", "S", "S", "Y", "Y", "*", "*", "C", "C", "*", "W", "L", "L", "L", "L", "P", "P", "P", "P", "H", "H", "Q", "Q", "R", "R", "R", "R", "I", "I", "I", "M", "T", "T", "T", "T", "N", "N", "K", "K", "S", "S", "R", "R", "V", "V", "V", "V", "A", "A", "A", "A", "D", "D", "E", "E", "G", "G", "G", "G") - names(AMINO_ACIDS) <- c("TTT", "TTC", "TTA", "TTG", "TCT", "TCC", "TCA", "TCG", "TAT", "TAC", "TAA", "TAG", "TGT", "TGC", "TGA", "TGG", "CTT", "CTC", "CTA", "CTG", "CCT", "CCC", "CCA", "CCG", "CAT", "CAC", "CAA", "CAG", "CGT", "CGC", "CGA", "CGG", "ATT", "ATC", "ATA", "ATG", "ACT", "ACC", "ACA", "ACG", "AAT", "AAC", "AAA", "AAG", "AGT", "AGC", "AGA", "AGG", "GTT", "GTC", "GTA", "GTG", "GCT", "GCC", "GCA", "GCG", "GAT", "GAC", "GAA", "GAG", "GGT", "GGC", "GGA", "GGG") - names(AMINO_ACIDS) <- names(AMINO_ACIDS) - - #Amino Acid Traits - #"*" "A" "C" "D" "E" "F" "G" "H" "I" "K" "L" "M" "N" "P" "Q" "R" "S" "T" "V" "W" "Y" - #B = "Hydrophobic/Burried" N = "Intermediate/Neutral" S="Hydrophilic/Surface") - TRAITS_AMINO_ACIDS_CHOTHIA98 <- c("*","N","B","S","S","B","N","N","B","S","B","B","S","N","S","S","N","N","B","B","N") - names(TRAITS_AMINO_ACIDS_CHOTHIA98) <- sort(unique(AMINO_ACIDS)) - TRAITS_AMINO_ACIDS <- array(NA,21) - - # Codon Table - CODON_TABLE <- as.data.frame(matrix(NA,ncol=64,nrow=12)) - - # Substitution Model: Smith DS et al. 1996 - substitution_Literature_Mouse <- matrix(c(0, 0.156222928, 0.601501588, 0.242275484, 0.172506739, 0, 0.241239892, 0.586253369, 0.54636291, 0.255795364, 0, 0.197841727, 0.290240811, 0.467680608, 0.24207858, 0),nrow=4,byrow=T,dimnames=list(NUCLEOTIDES,NUCLEOTIDES)) - substitution_Flu_Human <- matrix(c(0,0.2795596,0.5026927,0.2177477,0.1693210,0,0.3264723,0.5042067,0.4983549,0.3328321,0,0.1688130,0.2021079,0.4696077,0.3282844,0),4,4,byrow=T,dimnames=list(NUCLEOTIDES,NUCLEOTIDES)) - substitution_Flu25_Human <- matrix(c(0,0.2580641,0.5163685,0.2255674,0.1541125,0,0.3210224,0.5248651,0.5239281,0.3101292,0,0.1659427,0.1997207,0.4579444,0.3423350,0),4,4,byrow=T,dimnames=list(NUCLEOTIDES,NUCLEOTIDES)) - load("FiveS_Substitution.RData") - - # Mutability Models: Shapiro GS et al. 2002 - triMutability_Literature_Human <- matrix(c(0.24, 1.2, 0.96, 0.43, 2.14, 2, 1.11, 1.9, 0.85, 1.83, 2.36, 1.31, 0.82, 0.52, 0.89, 1.33, 1.4, 0.82, 1.83, 0.73, 1.83, 1.62, 1.53, 0.57, 0.92, 0.42, 0.42, 1.47, 3.44, 2.58, 1.18, 0.47, 0.39, 1.12, 1.8, 0.68, 0.47, 2.19, 2.35, 2.19, 1.05, 1.84, 1.26, 0.28, 0.98, 2.37, 0.66, 1.58, 0.67, 0.92, 1.76, 0.83, 0.97, 0.56, 0.75, 0.62, 2.26, 0.62, 0.74, 1.11, 1.16, 0.61, 0.88, 0.67, 0.37, 0.07, 1.08, 0.46, 0.31, 0.94, 0.62, 0.57, 0.29, NA, 1.44, 0.46, 0.69, 0.57, 0.24, 0.37, 1.1, 0.99, 1.39, 0.6, 2.26, 1.24, 1.36, 0.52, 0.33, 0.26, 1.25, 0.37, 0.58, 1.03, 1.2, 0.34, 0.49, 0.33, 2.62, 0.16, 0.4, 0.16, 0.35, 0.75, 1.85, 0.94, 1.61, 0.85, 2.09, 1.39, 0.3, 0.52, 1.33, 0.29, 0.51, 0.26, 0.51, 3.83, 2.01, 0.71, 0.58, 0.62, 1.07, 0.28, 1.2, 0.74, 0.25, 0.59, 1.09, 0.91, 1.36, 0.45, 2.89, 1.27, 3.7, 0.69, 0.28, 0.41, 1.17, 0.56, 0.93, 3.41, 1, 1, NA, 5.9, 0.74, 2.51, 2.24, 2.24, 1.95, 3.32, 2.34, 1.3, 2.3, 1, 0.66, 0.73, 0.93, 0.41, 0.65, 0.89, 0.65, 0.32, NA, 0.43, 0.85, 0.43, 0.31, 0.31, 0.23, 0.29, 0.57, 0.71, 0.48, 0.44, 0.76, 0.51, 1.7, 0.85, 0.74, 2.23, 2.08, 1.16, 0.51, 0.51, 1, 0.5, NA, NA, 0.71, 2.14), nrow=64,byrow=T) - triMutability_Literature_Mouse <- matrix(c(1.31, 1.35, 1.42, 1.18, 2.02, 2.02, 1.02, 1.61, 1.99, 1.42, 2.01, 1.03, 2.02, 0.97, 0.53, 0.71, 1.19, 0.83, 0.96, 0.96, 0, 1.7, 2.22, 0.59, 1.24, 1.07, 0.51, 1.68, 3.36, 3.36, 1.14, 0.29, 0.33, 0.9, 1.11, 0.63, 1.08, 2.07, 2.27, 1.74, 0.22, 1.19, 2.37, 1.15, 1.15, 1.56, 0.81, 0.34, 0.87, 0.79, 2.13, 0.49, 0.85, 0.97, 0.36, 0.82, 0.66, 0.63, 1.15, 0.94, 0.85, 0.25, 0.93, 1.19, 0.4, 0.2, 0.44, 0.44, 0.88, 1.06, 0.77, 0.39, 0, 0, 0, 0, 0, 0, 0.43, 0.43, 0.86, 0.59, 0.59, 0, 1.18, 0.86, 2.9, 1.66, 0.4, 0.2, 1.54, 0.43, 0.69, 1.71, 0.68, 0.55, 0.91, 0.7, 1.71, 0.09, 0.27, 0.63, 0.2, 0.45, 1.01, 1.63, 0.96, 1.48, 2.18, 1.2, 1.31, 0.66, 2.13, 0.49, 0, 0, 0, 2.97, 2.8, 0.79, 0.4, 0.5, 0.4, 0.11, 1.68, 0.42, 0.13, 0.44, 0.93, 0.71, 1.11, 1.19, 2.71, 1.08, 3.43, 0.4, 0.67, 0.47, 1.02, 0.14, 1.56, 1.98, 0.53, 0.33, 0.63, 2.06, 1.77, 1.46, 3.74, 2.93, 2.1, 2.18, 0.78, 0.73, 2.93, 0.63, 0.57, 0.17, 0.85, 0.52, 0.31, 0.31, 0, 0, 0.51, 0.29, 0.83, 0.54, 0.28, 0.47, 0.9, 0.99, 1.24, 2.47, 0.73, 0.23, 1.13, 0.24, 2.12, 0.24, 0.33, 0.83, 1.41, 0.62, 0.28, 0.35, 0.77, 0.17, 0.72, 0.58, 0.45, 0.41), nrow=64,byrow=T) - triMutability_Names <- c("AAA", "AAC", "AAG", "AAT", "ACA", "ACC", "ACG", "ACT", "AGA", "AGC", "AGG", "AGT", "ATA", "ATC", "ATG", "ATT", "CAA", "CAC", "CAG", "CAT", "CCA", "CCC", "CCG", "CCT", "CGA", "CGC", "CGG", "CGT", "CTA", "CTC", "CTG", "CTT", "GAA", "GAC", "GAG", "GAT", "GCA", "GCC", "GCG", "GCT", "GGA", "GGC", "GGG", "GGT", "GTA", "GTC", "GTG", "GTT", "TAA", "TAC", "TAG", "TAT", "TCA", "TCC", "TCG", "TCT", "TGA", "TGC", "TGG", "TGT", "TTA", "TTC", "TTG", "TTT") - load("FiveS_Mutability.RData") - -# Functions - - # Translate codon to amino acid - translateCodonToAminoAcid<-function(Codon){ - return(AMINO_ACIDS[Codon]) - } - - # Translate amino acid to trait change - translateAminoAcidToTraitChange<-function(AminoAcid){ - return(TRAITS_AMINO_ACIDS[AminoAcid]) - } - - # Initialize Amino Acid Trait Changes - initializeTraitChange <- function(traitChangeModel=1,species=1,traitChangeFileName=NULL){ - if(!is.null(traitChangeFileName)){ - tryCatch( - traitChange <- read.delim(traitChangeFileName,sep="\t",header=T) - , error = function(ex){ - cat("Error|Error reading trait changes. Please check file name/path and format.\n") - q() - } - ) - }else{ - traitChange <- TRAITS_AMINO_ACIDS_CHOTHIA98 - } - TRAITS_AMINO_ACIDS <<- traitChange - } - - # Read in formatted nucleotide substitution matrix - initializeSubstitutionMatrix <- function(substitutionModel,species,subsMatFileName=NULL){ - if(!is.null(subsMatFileName)){ - tryCatch( - subsMat <- read.delim(subsMatFileName,sep="\t",header=T) - , error = function(ex){ - cat("Error|Error reading substitution matrix. Please check file name/path and format.\n") - q() - } - ) - if(sum(apply(subsMat,1,sum)==1)!=4) subsMat = t(apply(subsMat,1,function(x)x/sum(x))) - }else{ - if(substitutionModel==1)subsMat <- substitution_Literature_Mouse - if(substitutionModel==2)subsMat <- substitution_Flu_Human - if(substitutionModel==3)subsMat <- substitution_Flu25_Human - - } - - if(substitutionModel==0){ - subsMat <- matrix(1,4,4) - subsMat[,] = 1/3 - subsMat[1,1] = 0 - subsMat[2,2] = 0 - subsMat[3,3] = 0 - subsMat[4,4] = 0 - } - - - NUCLEOTIDESN = c(NUCLEOTIDES,"N", "-") - if(substitutionModel==5){ - subsMat <- FiveS_Substitution - return(subsMat) - }else{ - subsMat <- rbind(subsMat,rep(NA,4),rep(NA,4)) - return( matrix(data.matrix(subsMat),6,4,dimnames=list(NUCLEOTIDESN,NUCLEOTIDES) ) ) - } - } - - - # Read in formatted Mutability file - initializeMutabilityMatrix <- function(mutabilityModel=1, species=1,mutabilityMatFileName=NULL){ - if(!is.null(mutabilityMatFileName)){ - tryCatch( - mutabilityMat <- read.delim(mutabilityMatFileName,sep="\t",header=T) - , error = function(ex){ - cat("Error|Error reading mutability matrix. Please check file name/path and format.\n") - q() - } - ) - }else{ - mutabilityMat <- triMutability_Literature_Human - if(species==2) mutabilityMat <- triMutability_Literature_Mouse - } - - if(mutabilityModel==0){ mutabilityMat <- matrix(1,64,3)} - - if(mutabilityModel==5){ - mutabilityMat <- FiveS_Mutability - return(mutabilityMat) - }else{ - return( matrix( data.matrix(mutabilityMat), 64, 3, dimnames=list(triMutability_Names,1:3)) ) - } - } - - # Read FASTA file formats - # Modified from read.fasta from the seqinR package - baseline.read.fasta <- - function (file = system.file("sequences/sample.fasta", package = "seqinr"), - seqtype = c("DNA", "AA"), as.string = FALSE, forceDNAtolower = TRUE, - set.attributes = TRUE, legacy.mode = TRUE, seqonly = FALSE, - strip.desc = FALSE, sizeof.longlong = .Machine$sizeof.longlong, - endian = .Platform$endian, apply.mask = TRUE) - { - seqtype <- match.arg(seqtype) - - lines <- readLines(file) - - if (legacy.mode) { - comments <- grep("^;", lines) - if (length(comments) > 0) - lines <- lines[-comments] - } - - - ind_groups<-which(substr(lines, 1L, 3L) == ">>>") - lines_mod<-lines - - if(!length(ind_groups)){ - lines_mod<-c(">>>All sequences combined",lines) - } - - ind_groups<-which(substr(lines_mod, 1L, 3L) == ">>>") - - lines <- array("BLA",dim=(length(ind_groups)+length(lines_mod))) - id<-sapply(1:length(ind_groups),function(i)ind_groups[i]+i-1)+1 - lines[id] <- "THIS IS A FAKE SEQUENCE" - lines[-id] <- lines_mod - rm(lines_mod) - - ind <- which(substr(lines, 1L, 1L) == ">") - nseq <- length(ind) - if (nseq == 0) { - stop("no line starting with a > character found") - } - start <- ind + 1 - end <- ind - 1 - - while( any(which(ind%in%end)) ){ - ind=ind[-which(ind%in%end)] - nseq <- length(ind) - if (nseq == 0) { - stop("no line starting with a > character found") - } - start <- ind + 1 - end <- ind - 1 - } - - end <- c(end[-1], length(lines)) - sequences <- lapply(seq_len(nseq), function(i) paste(lines[start[i]:end[i]], collapse = "")) - if (seqonly) - return(sequences) - nomseq <- lapply(seq_len(nseq), function(i) { - - #firstword <- strsplit(lines[ind[i]], " ")[[1]][1] - substr(lines[ind[i]], 2, nchar(lines[ind[i]])) - - }) - if (seqtype == "DNA") { - if (forceDNAtolower) { - sequences <- as.list(tolower(chartr(".","-",sequences))) - }else{ - sequences <- as.list(toupper(chartr(".","-",sequences))) - } - } - if (as.string == FALSE) - sequences <- lapply(sequences, s2c) - if (set.attributes) { - for (i in seq_len(nseq)) { - Annot <- lines[ind[i]] - if (strip.desc) - Annot <- substr(Annot, 2L, nchar(Annot)) - attributes(sequences[[i]]) <- list(name = nomseq[[i]], - Annot = Annot, class = switch(seqtype, AA = "SeqFastaAA", - DNA = "SeqFastadna")) - } - } - names(sequences) <- nomseq - return(sequences) - } - - - # Replaces non FASTA characters in input files with N - replaceNonFASTAChars <-function(inSeq="ACGTN-AApA"){ - gsub('[^ACGTNacgt[:punct:]-[:punct:].]','N',inSeq,perl=TRUE) - } - - # Find the germlines in the FASTA list - germlinesInFile <- function(seqIDs){ - firstChar = sapply(seqIDs,function(x){substr(x,1,1)}) - secondChar = sapply(seqIDs,function(x){substr(x,2,2)}) - return(firstChar==">" & secondChar!=">") - } - - # Find the groups in the FASTA list - groupsInFile <- function(seqIDs){ - sapply(seqIDs,function(x){substr(x,1,2)})==">>" - } - - # In the process of finding germlines/groups, expand from the start to end of the group - expandTillNext <- function(vecPosToID){ - IDs = names(vecPosToID) - posOfInterests = which(vecPosToID) - - expandedID = rep(NA,length(IDs)) - expandedIDNames = gsub(">","",IDs[posOfInterests]) - startIndexes = c(1,posOfInterests[-1]) - stopIndexes = c(posOfInterests[-1]-1,length(IDs)) - expandedID = unlist(sapply(1:length(startIndexes),function(i){ - rep(i,stopIndexes[i]-startIndexes[i]+1) - })) - names(expandedID) = unlist(sapply(1:length(startIndexes),function(i){ - rep(expandedIDNames[i],stopIndexes[i]-startIndexes[i]+1) - })) - return(expandedID) - } - - # Process FASTA (list) to return a matrix[input, germline) - processInputAdvanced <- function(inputFASTA){ - - seqIDs = names(inputFASTA) - numbSeqs = length(seqIDs) - posGermlines1 = germlinesInFile(seqIDs) - numbGermlines = sum(posGermlines1) - posGroups1 = groupsInFile(seqIDs) - numbGroups = sum(posGroups1) - consDef = NA - - if(numbGermlines==0){ - posGermlines = 2 - numbGermlines = 1 - } - - glPositionsSum = cumsum(posGermlines1) - glPositions = table(glPositionsSum) - #Find the position of the conservation row - consDefPos = as.numeric(names(glPositions[names(glPositions)!=0 & glPositions==1]))+1 - if( length(consDefPos)> 0 ){ - consDefID = match(consDefPos, glPositionsSum) - #The coservation rows need to be pulled out and stores seperately - consDef = inputFASTA[consDefID] - inputFASTA = inputFASTA[-consDefID] - - seqIDs = names(inputFASTA) - numbSeqs = length(seqIDs) - posGermlines1 = germlinesInFile(seqIDs) - numbGermlines = sum(posGermlines1) - posGroups1 = groupsInFile(seqIDs) - numbGroups = sum(posGroups1) - if(numbGermlines==0){ - posGermlines = 2 - numbGermlines = 1 - } - } - - posGroups <- expandTillNext(posGroups1) - posGermlines <- expandTillNext(posGermlines1) - posGermlines[posGroups1] = 0 - names(posGermlines)[posGroups1] = names(posGroups)[posGroups1] - posInput = rep(TRUE,numbSeqs) - posInput[posGroups1 | posGermlines1] = FALSE - - matInput = matrix(NA, nrow=sum(posInput), ncol=2) - rownames(matInput) = seqIDs[posInput] - colnames(matInput) = c("Input","Germline") - - vecInputFASTA = unlist(inputFASTA) - matInput[,1] = vecInputFASTA[posInput] - matInput[,2] = vecInputFASTA[ which( names(inputFASTA)%in%paste(">",names(posGermlines)[posInput],sep="") )[ posGermlines[posInput]] ] - - germlines = posGermlines[posInput] - groups = posGroups[posInput] - - return( list("matInput"=matInput, "germlines"=germlines, "groups"=groups, "conservationDefinition"=consDef )) - } - - - # Replace leading and trailing dashes in the sequence - replaceLeadingTrailingDashes <- function(x,readEnd){ - iiGap = unlist(gregexpr("-",x[1])) - ggGap = unlist(gregexpr("-",x[2])) - #posToChange = intersect(iiGap,ggGap) - - - seqIn = replaceLeadingTrailingDashesHelper(x[1]) - seqGL = replaceLeadingTrailingDashesHelper(x[2]) - seqTemplate = rep('N',readEnd) - seqIn <- c(seqIn,seqTemplate[(length(seqIn)+1):readEnd]) - seqGL <- c(seqGL,seqTemplate[(length(seqGL)+1):readEnd]) -# if(posToChange!=-1){ -# seqIn[posToChange] = "-" -# seqGL[posToChange] = "-" -# } - - seqIn = c2s(seqIn[1:readEnd]) - seqGL = c2s(seqGL[1:readEnd]) - - lenGL = nchar(seqGL) - if(lenGL<readEnd){ - seqGL = paste(seqGL,c2s(rep("N",readEnd-lenGL)),sep="") - } - - lenInput = nchar(seqIn) - if(lenInput<readEnd){ - seqIn = paste(seqIn,c2s(rep("N",readEnd-lenInput)),sep="") - } - return( c(seqIn,seqGL) ) - } - - replaceLeadingTrailingDashesHelper <- function(x){ - grepResults = gregexpr("-*",x) - grepResultsPos = unlist(grepResults) - grepResultsLen = attr(grepResults[[1]],"match.length") - #print(paste("x = '", x, "'", sep="")) - x = s2c(x) - if(x[1]=="-"){ - x[1:grepResultsLen[1]] = "N" - } - if(x[length(x)]=="-"){ - x[(length(x)-grepResultsLen[length(grepResultsLen)]+1):length(x)] = "N" - } - return(x) - } - - - - - # Check sequences for indels - checkForInDels <- function(matInputP){ - insPos <- checkInsertion(matInputP) - delPos <- checkDeletions(matInputP) - return(list("Insertions"=insPos, "Deletions"=delPos)) - } - - # Check sequences for insertions - checkInsertion <- function(matInputP){ - insertionCheck = apply( matInputP,1, function(x){ - inputGaps <- as.vector( gregexpr("-",x[1])[[1]] ) - glGaps <- as.vector( gregexpr("-",x[2])[[1]] ) - return( is.finite( match(FALSE, glGaps%in%inputGaps ) ) ) - }) - return(as.vector(insertionCheck)) - } - # Fix inserstions - fixInsertions <- function(matInputP){ - insPos <- checkInsertion(matInputP) - sapply((1:nrow(matInputP))[insPos],function(rowIndex){ - x <- matInputP[rowIndex,] - inputGaps <- gregexpr("-",x[1])[[1]] - glGaps <- gregexpr("-",x[2])[[1]] - posInsertions <- glGaps[!(glGaps%in%inputGaps)] - inputInsertionToN <- s2c(x[2]) - inputInsertionToN[posInsertions]!="-" - inputInsertionToN[posInsertions] <- "N" - inputInsertionToN <- c2s(inputInsertionToN) - matInput[rowIndex,2] <<- inputInsertionToN - }) - return(insPos) - } - - # Check sequences for deletions - checkDeletions <-function(matInputP){ - deletionCheck = apply( matInputP,1, function(x){ - inputGaps <- as.vector( gregexpr("-",x[1])[[1]] ) - glGaps <- as.vector( gregexpr("-",x[2])[[1]] ) - return( is.finite( match(FALSE, inputGaps%in%glGaps ) ) ) - }) - return(as.vector(deletionCheck)) - } - # Fix sequences with deletions - fixDeletions <- function(matInputP){ - delPos <- checkDeletions(matInputP) - sapply((1:nrow(matInputP))[delPos],function(rowIndex){ - x <- matInputP[rowIndex,] - inputGaps <- gregexpr("-",x[1])[[1]] - glGaps <- gregexpr("-",x[2])[[1]] - posDeletions <- inputGaps[!(inputGaps%in%glGaps)] - inputDeletionToN <- s2c(x[1]) - inputDeletionToN[posDeletions] <- "N" - inputDeletionToN <- c2s(inputDeletionToN) - matInput[rowIndex,1] <<- inputDeletionToN - }) - return(delPos) - } - - - # Trim DNA sequence to the last codon - trimToLastCodon <- function(seqToTrim){ - seqLen = nchar(seqToTrim) - trimmedSeq = s2c(seqToTrim) - poi = seqLen - tailLen = 0 - - while(trimmedSeq[poi]=="-" || trimmedSeq[poi]=="."){ - tailLen = tailLen + 1 - poi = poi - 1 - } - - trimmedSeq = c2s(trimmedSeq[1:(seqLen-tailLen)]) - seqLen = nchar(trimmedSeq) - # Trim sequence to last codon - if( getCodonPos(seqLen)[3] > seqLen ) - trimmedSeq = substr(seqToTrim,1, ( (getCodonPos(seqLen)[1])-1 ) ) - - return(trimmedSeq) - } - - # Given a nuclotide position, returns the pos of the 3 nucs that made the codon - # e.g. nuc 86 is part of nucs 85,86,87 - getCodonPos <- function(nucPos){ - codonNum = (ceiling(nucPos/3))*3 - return( (codonNum-2):codonNum) - } - - # Given a nuclotide position, returns the codon number - # e.g. nuc 86 = codon 29 - getCodonNumb <- function(nucPos){ - return( ceiling(nucPos/3) ) - } - - # Given a codon, returns all the nuc positions that make the codon - getCodonNucs <- function(codonNumb){ - getCodonPos(codonNumb*3) - } - - computeCodonTable <- function(testID=1){ - - if(testID<=4){ - # Pre-compute every codons - intCounter = 1 - for(pOne in NUCLEOTIDES){ - for(pTwo in NUCLEOTIDES){ - for(pThree in NUCLEOTIDES){ - codon = paste(pOne,pTwo,pThree,sep="") - colnames(CODON_TABLE)[intCounter] = codon - intCounter = intCounter + 1 - CODON_TABLE[,codon] = mutationTypeOptimized(cbind(permutateAllCodon(codon),rep(codon,12))) - } - } - } - chars = c("N","A","C","G","T", "-") - for(a in chars){ - for(b in chars){ - for(c in chars){ - if(a=="N" | b=="N" | c=="N"){ - #cat(paste(a,b,c),sep="","\n") - CODON_TABLE[,paste(a,b,c,sep="")] = rep(NA,12) - } - } - } - } - - chars = c("-","A","C","G","T") - for(a in chars){ - for(b in chars){ - for(c in chars){ - if(a=="-" | b=="-" | c=="-"){ - #cat(paste(a,b,c),sep="","\n") - CODON_TABLE[,paste(a,b,c,sep="")] = rep(NA,12) - } - } - } - } - CODON_TABLE <<- as.matrix(CODON_TABLE) - } - } - - collapseClone <- function(vecInputSeqs,glSeq,readEnd,nonTerminalOnly=0){ - #print(length(vecInputSeqs)) - vecInputSeqs = unique(vecInputSeqs) - if(length(vecInputSeqs)==1){ - return( list( c(vecInputSeqs,glSeq), F) ) - }else{ - charInputSeqs <- sapply(vecInputSeqs, function(x){ - s2c(x)[1:readEnd] - }) - charGLSeq <- s2c(glSeq) - matClone <- sapply(1:readEnd, function(i){ - posNucs = unique(charInputSeqs[i,]) - posGL = charGLSeq[i] - error = FALSE - if(posGL=="-" & sum(!(posNucs%in%c("-","N")))==0 ){ - return(c("-",error)) - } - if(length(posNucs)==1) - return(c(posNucs[1],error)) - else{ - if("N"%in%posNucs){ - error=TRUE - } - if(sum(!posNucs[posNucs!="N"]%in%posGL)==0){ - return( c(posGL,error) ) - }else{ - #return( c(sample(posNucs[posNucs!="N"],1),error) ) - if(nonTerminalOnly==0){ - return( c(sample(charInputSeqs[i,charInputSeqs[i,]!="N" & charInputSeqs[i,]!=posGL],1),error) ) - }else{ - posNucs = charInputSeqs[i,charInputSeqs[i,]!="N" & charInputSeqs[i,]!=posGL] - posNucsTable = table(posNucs) - if(sum(posNucsTable>1)==0){ - return( c(posGL,error) ) - }else{ - return( c(sample( posNucs[posNucs%in%names(posNucsTable)[posNucsTable>1]],1),error) ) - } - } - - } - } - }) - - - #print(length(vecInputSeqs)) - return(list(c(c2s(matClone[1,]),glSeq),"TRUE"%in%matClone[2,])) - } - } - - # Compute the expected for each sequence-germline pair - getExpectedIndividual <- function(matInput){ - if( any(grep("multicore",search())) ){ - facGL <- factor(matInput[,2]) - facLevels = levels(facGL) - LisGLs_MutabilityU = mclapply(1:length(facLevels), function(x){ - computeMutabilities(facLevels[x]) - }) - facIndex = match(facGL,facLevels) - - LisGLs_Mutability = mclapply(1:nrow(matInput), function(x){ - cInput = rep(NA,nchar(matInput[x,1])) - cInput[s2c(matInput[x,1])!="N"] = 1 - LisGLs_MutabilityU[[facIndex[x]]] * cInput - }) - - LisGLs_Targeting = mclapply(1:dim(matInput)[1], function(x){ - computeTargeting(matInput[x,2],LisGLs_Mutability[[x]]) - }) - - LisGLs_MutationTypes = mclapply(1:length(matInput[,2]),function(x){ - #print(x) - computeMutationTypes(matInput[x,2]) - }) - - LisGLs_Exp = mclapply(1:dim(matInput)[1], function(x){ - computeExpected(LisGLs_Targeting[[x]],LisGLs_MutationTypes[[x]]) - }) - - ul_LisGLs_Exp = unlist(LisGLs_Exp) - return(matrix(ul_LisGLs_Exp,ncol=4,nrow=(length(ul_LisGLs_Exp)/4),byrow=T)) - }else{ - facGL <- factor(matInput[,2]) - facLevels = levels(facGL) - LisGLs_MutabilityU = lapply(1:length(facLevels), function(x){ - computeMutabilities(facLevels[x]) - }) - facIndex = match(facGL,facLevels) - - LisGLs_Mutability = lapply(1:nrow(matInput), function(x){ - cInput = rep(NA,nchar(matInput[x,1])) - cInput[s2c(matInput[x,1])!="N"] = 1 - LisGLs_MutabilityU[[facIndex[x]]] * cInput - }) - - LisGLs_Targeting = lapply(1:dim(matInput)[1], function(x){ - computeTargeting(matInput[x,2],LisGLs_Mutability[[x]]) - }) - - LisGLs_MutationTypes = lapply(1:length(matInput[,2]),function(x){ - #print(x) - computeMutationTypes(matInput[x,2]) - }) - - LisGLs_Exp = lapply(1:dim(matInput)[1], function(x){ - computeExpected(LisGLs_Targeting[[x]],LisGLs_MutationTypes[[x]]) - }) - - ul_LisGLs_Exp = unlist(LisGLs_Exp) - return(matrix(ul_LisGLs_Exp,ncol=4,nrow=(length(ul_LisGLs_Exp)/4),byrow=T)) - - } - } - - # Compute mutabilities of sequence based on the tri-nucleotide model - computeMutabilities <- function(paramSeq){ - seqLen = nchar(paramSeq) - seqMutabilites = rep(NA,seqLen) - - gaplessSeq = gsub("-", "", paramSeq) - gaplessSeqLen = nchar(gaplessSeq) - gaplessSeqMutabilites = rep(NA,gaplessSeqLen) - - if(mutabilityModel!=5){ - pos<- 3:(gaplessSeqLen) - subSeq = substr(rep(gaplessSeq,gaplessSeqLen-2),(pos-2),(pos+2)) - gaplessSeqMutabilites[pos] = - tapply( c( - getMutability( substr(subSeq,1,3), 3) , - getMutability( substr(subSeq,2,4), 2), - getMutability( substr(subSeq,3,5), 1) - ),rep(1:(gaplessSeqLen-2),3),mean,na.rm=TRUE - ) - #Pos 1 - subSeq = substr(gaplessSeq,1,3) - gaplessSeqMutabilites[1] = getMutability(subSeq , 1) - #Pos 2 - subSeq = substr(gaplessSeq,1,4) - gaplessSeqMutabilites[2] = mean( c( - getMutability( substr(subSeq,1,3), 2) , - getMutability( substr(subSeq,2,4), 1) - ),na.rm=T - ) - seqMutabilites[which(s2c(paramSeq)!="-")]<- gaplessSeqMutabilites - return(seqMutabilites) - }else{ - - pos<- 3:(gaplessSeqLen) - subSeq = substr(rep(gaplessSeq,gaplessSeqLen-2),(pos-2),(pos+2)) - gaplessSeqMutabilites[pos] = sapply(subSeq,function(x){ getMutability5(x) }, simplify=T) - seqMutabilites[which(s2c(paramSeq)!="-")]<- gaplessSeqMutabilites - return(seqMutabilites) - } - - } - - # Returns the mutability of a triplet at a given position - getMutability <- function(codon, pos=1:3){ - triplets <- rownames(mutability) - mutability[ match(codon,triplets) ,pos] - } - - getMutability5 <- function(fivemer){ - return(mutability[fivemer]) - } - - # Returns the substitution probabilty - getTransistionProb <- function(nuc){ - substitution[nuc,] - } - - getTransistionProb5 <- function(fivemer){ - if(any(which(fivemer==colnames(substitution)))){ - return(substitution[,fivemer]) - }else{ - return(array(NA,4)) - } - } - - # Given a nuc, returns the other 3 nucs it can mutate to - canMutateTo <- function(nuc){ - NUCLEOTIDES[- which(NUCLEOTIDES==nuc)] - } - - # Given a nucleotide, returns the probabilty of other nucleotide it can mutate to - canMutateToProb <- function(nuc){ - substitution[nuc,canMutateTo(nuc)] - } - - # Compute targeting, based on precomputed mutatbility & substitution - computeTargeting <- function(param_strSeq,param_vecMutabilities){ - - if(substitutionModel!=5){ - vecSeq = s2c(param_strSeq) - matTargeting = sapply( 1:length(vecSeq), function(x) { param_vecMutabilities[x] * getTransistionProb(vecSeq[x]) } ) - #matTargeting = apply( rbind(vecSeq,param_vecMutabilities),2, function(x) { as.vector(as.numeric(x[2]) * getTransistionProb(x[1])) } ) - dimnames( matTargeting ) = list(NUCLEOTIDES,1:(length(vecSeq))) - return (matTargeting) - }else{ - - seqLen = nchar(param_strSeq) - seqsubstitution = matrix(NA,ncol=seqLen,nrow=4) - paramSeq <- param_strSeq - gaplessSeq = gsub("-", "", paramSeq) - gaplessSeqLen = nchar(gaplessSeq) - gaplessSeqSubstitution = matrix(NA,ncol=gaplessSeqLen,nrow=4) - - pos<- 3:(gaplessSeqLen) - subSeq = substr(rep(gaplessSeq,gaplessSeqLen-2),(pos-2),(pos+2)) - gaplessSeqSubstitution[,pos] = sapply(subSeq,function(x){ getTransistionProb5(x) }, simplify=T) - seqsubstitution[,which(s2c(paramSeq)!="-")]<- gaplessSeqSubstitution - #matTargeting <- param_vecMutabilities %*% seqsubstitution - matTargeting <- sweep(seqsubstitution,2,param_vecMutabilities,`*`) - dimnames( matTargeting ) = list(NUCLEOTIDES,1:(seqLen)) - return (matTargeting) - } - } - - # Compute the mutations types - computeMutationTypes <- function(param_strSeq){ - #cat(param_strSeq,"\n") - #vecSeq = trimToLastCodon(param_strSeq) - lenSeq = nchar(param_strSeq) - vecCodons = sapply({1:(lenSeq/3)}*3-2,function(x){substr(param_strSeq,x,x+2)}) - matMutationTypes = matrix( unlist(CODON_TABLE[,vecCodons]) ,ncol=lenSeq,nrow=4, byrow=F) - dimnames( matMutationTypes ) = list(NUCLEOTIDES,1:(ncol(matMutationTypes))) - return(matMutationTypes) - } - computeMutationTypesFast <- function(param_strSeq){ - matMutationTypes = matrix( CODON_TABLE[,param_strSeq] ,ncol=3,nrow=4, byrow=F) - #dimnames( matMutationTypes ) = list(NUCLEOTIDES,1:(length(vecSeq))) - return(matMutationTypes) - } - mutationTypeOptimized <- function( matOfCodons ){ - apply( matOfCodons,1,function(x){ mutationType(x[2],x[1]) } ) - } - - # Returns a vector of codons 1 mutation away from the given codon - permutateAllCodon <- function(codon){ - cCodon = s2c(codon) - matCodons = t(array(cCodon,dim=c(3,12))) - matCodons[1:4,1] = NUCLEOTIDES - matCodons[5:8,2] = NUCLEOTIDES - matCodons[9:12,3] = NUCLEOTIDES - apply(matCodons,1,c2s) - } - - # Given two codons, tells you if the mutation is R or S (based on your definition) - mutationType <- function(codonFrom,codonTo){ - if(testID==4){ - if( is.na(codonFrom) | is.na(codonTo) | is.na(translateCodonToAminoAcid(codonFrom)) | is.na(translateCodonToAminoAcid(codonTo)) ){ - return(NA) - }else{ - mutationType = "S" - if( translateAminoAcidToTraitChange(translateCodonToAminoAcid(codonFrom)) != translateAminoAcidToTraitChange(translateCodonToAminoAcid(codonTo)) ){ - mutationType = "R" - } - if(translateCodonToAminoAcid(codonTo)=="*" | translateCodonToAminoAcid(codonFrom)=="*"){ - mutationType = "Stop" - } - return(mutationType) - } - }else if(testID==5){ - if( is.na(codonFrom) | is.na(codonTo) | is.na(translateCodonToAminoAcid(codonFrom)) | is.na(translateCodonToAminoAcid(codonTo)) ){ - return(NA) - }else{ - if(codonFrom==codonTo){ - mutationType = "S" - }else{ - codonFrom = s2c(codonFrom) - codonTo = s2c(codonTo) - mutationType = "Stop" - nucOfI = codonFrom[which(codonTo!=codonFrom)] - if(nucOfI=="C"){ - mutationType = "R" - }else if(nucOfI=="G"){ - mutationType = "S" - } - } - return(mutationType) - } - }else{ - if( is.na(codonFrom) | is.na(codonTo) | is.na(translateCodonToAminoAcid(codonFrom)) | is.na(translateCodonToAminoAcid(codonTo)) ){ - return(NA) - }else{ - mutationType = "S" - if( translateCodonToAminoAcid(codonFrom) != translateCodonToAminoAcid(codonTo) ){ - mutationType = "R" - } - if(translateCodonToAminoAcid(codonTo)=="*" | translateCodonToAminoAcid(codonFrom)=="*"){ - mutationType = "Stop" - } - return(mutationType) - } - } - } - - - #given a mat of targeting & it's corresponding mutationtypes returns - #a vector of Exp_RCDR,Exp_SCDR,Exp_RFWR,Exp_RFWR - computeExpected <- function(paramTargeting,paramMutationTypes){ - # Replacements - RPos = which(paramMutationTypes=="R") - #FWR - Exp_R_FWR = sum(paramTargeting[ RPos[which(FWR_Nuc_Mat[RPos]==T)] ],na.rm=T) - #CDR - Exp_R_CDR = sum(paramTargeting[ RPos[which(CDR_Nuc_Mat[RPos]==T)] ],na.rm=T) - # Silents - SPos = which(paramMutationTypes=="S") - #FWR - Exp_S_FWR = sum(paramTargeting[ SPos[which(FWR_Nuc_Mat[SPos]==T)] ],na.rm=T) - #CDR - Exp_S_CDR = sum(paramTargeting[ SPos[which(CDR_Nuc_Mat[SPos]==T)] ],na.rm=T) - - return(c(Exp_R_CDR,Exp_S_CDR,Exp_R_FWR,Exp_S_FWR)) - } - - # Count the mutations in a sequence - # each mutation is treated independently - analyzeMutations2NucUri_website <- function( rev_in_matrix ){ - paramGL = rev_in_matrix[2,] - paramSeq = rev_in_matrix[1,] - - #Fill seq with GL seq if gapped - #if( any(paramSeq=="-") ){ - # gapPos_Seq = which(paramSeq=="-") - # gapPos_Seq_ToReplace = gapPos_Seq[paramGL[gapPos_Seq] != "-"] - # paramSeq[gapPos_Seq_ToReplace] = paramGL[gapPos_Seq_ToReplace] - #} - - - #if( any(paramSeq=="N") ){ - # gapPos_Seq = which(paramSeq=="N") - # gapPos_Seq_ToReplace = gapPos_Seq[paramGL[gapPos_Seq] != "N"] - # paramSeq[gapPos_Seq_ToReplace] = paramGL[gapPos_Seq_ToReplace] - #} - - analyzeMutations2NucUri( matrix(c( paramGL, paramSeq ),2,length(paramGL),byrow=T) ) - - } - - #1 = GL - #2 = Seq - analyzeMutations2NucUri <- function( in_matrix=matrix(c(c("A","A","A","C","C","C"),c("A","G","G","C","C","A")),2,6,byrow=T) ){ - paramGL = in_matrix[2,] - paramSeq = in_matrix[1,] - paramSeqUri = paramGL - #mutations = apply(rbind(paramGL,paramSeq), 2, function(x){!x[1]==x[2]}) - mutations_val = paramGL != paramSeq - if(any(mutations_val)){ - mutationPos = {1:length(mutations_val)}[mutations_val] - mutationPos = mutationPos[sapply(mutationPos, function(x){!any(paramSeq[getCodonPos(x)]=="N")})] - length_mutations =length(mutationPos) - mutationInfo = rep(NA,length_mutations) - if(any(mutationPos)){ - - pos<- mutationPos - pos_array<-array(sapply(pos,getCodonPos)) - codonGL = paramGL[pos_array] - - codonSeq = sapply(pos,function(x){ - seqP = paramGL[getCodonPos(x)] - muCodonPos = {x-1}%%3+1 - seqP[muCodonPos] = paramSeq[x] - return(seqP) - }) - GLcodons = apply(matrix(codonGL,length_mutations,3,byrow=TRUE),1,c2s) - Seqcodons = apply(codonSeq,2,c2s) - mutationInfo = apply(rbind(GLcodons , Seqcodons),2,function(x){mutationType(c2s(x[1]),c2s(x[2]))}) - names(mutationInfo) = mutationPos - } - if(any(!is.na(mutationInfo))){ - return(mutationInfo[!is.na(mutationInfo)]) - }else{ - return(NA) - } - - - }else{ - return (NA) - } - } - - processNucMutations2 <- function(mu){ - if(!is.na(mu)){ - #R - if(any(mu=="R")){ - Rs = mu[mu=="R"] - nucNumbs = as.numeric(names(Rs)) - R_CDR = sum(as.integer(CDR_Nuc[nucNumbs]),na.rm=T) - R_FWR = sum(as.integer(FWR_Nuc[nucNumbs]),na.rm=T) - }else{ - R_CDR = 0 - R_FWR = 0 - } - - #S - if(any(mu=="S")){ - Ss = mu[mu=="S"] - nucNumbs = as.numeric(names(Ss)) - S_CDR = sum(as.integer(CDR_Nuc[nucNumbs]),na.rm=T) - S_FWR = sum(as.integer(FWR_Nuc[nucNumbs]),na.rm=T) - }else{ - S_CDR = 0 - S_FWR = 0 - } - - - retVec = c(R_CDR,S_CDR,R_FWR,S_FWR) - retVec[is.na(retVec)]=0 - return(retVec) - }else{ - return(rep(0,4)) - } - } - - - ## Z-score Test - computeZScore <- function(mat, test="Focused"){ - matRes <- matrix(NA,ncol=2,nrow=(nrow(mat))) - if(test=="Focused"){ - #Z_Focused_CDR - #P_Denom = sum( mat[1,c(5,6,8)], na.rm=T ) - P = apply(mat[,c(5,6,8)],1,function(x){(x[1]/sum(x))}) - R_mean = apply(cbind(mat[,c(1,2,4)],P),1,function(x){x[4]*(sum(x[1:3]))}) - R_sd=sqrt(R_mean*(1-P)) - matRes[,1] = (mat[,1]-R_mean)/R_sd - - #Z_Focused_FWR - #P_Denom = sum( mat[1,c(7,6,8)], na.rm=T ) - P = apply(mat[,c(7,6,8)],1,function(x){(x[1]/sum(x))}) - R_mean = apply(cbind(mat[,c(3,2,4)],P),1,function(x){x[4]*(sum(x[1:3]))}) - R_sd=sqrt(R_mean*(1-P)) - matRes[,2] = (mat[,3]-R_mean)/R_sd - } - - if(test=="Local"){ - #Z_Focused_CDR - #P_Denom = sum( mat[1,c(5,6,8)], na.rm=T ) - P = apply(mat[,c(5,6)],1,function(x){(x[1]/sum(x))}) - R_mean = apply(cbind(mat[,c(1,2)],P),1,function(x){x[3]*(sum(x[1:2]))}) - R_sd=sqrt(R_mean*(1-P)) - matRes[,1] = (mat[,1]-R_mean)/R_sd - - #Z_Focused_FWR - #P_Denom = sum( mat[1,c(7,6,8)], na.rm=T ) - P = apply(mat[,c(7,8)],1,function(x){(x[1]/sum(x))}) - R_mean = apply(cbind(mat[,c(3,4)],P),1,function(x){x[3]*(sum(x[1:2]))}) - R_sd=sqrt(R_mean*(1-P)) - matRes[,2] = (mat[,3]-R_mean)/R_sd - } - - if(test=="Imbalanced"){ - #Z_Focused_CDR - #P_Denom = sum( mat[1,c(5,6,8)], na.rm=T ) - P = apply(mat[,5:8],1,function(x){((x[1]+x[2])/sum(x))}) - R_mean = apply(cbind(mat[,1:4],P),1,function(x){x[5]*(sum(x[1:4]))}) - R_sd=sqrt(R_mean*(1-P)) - matRes[,1] = (mat[,1]-R_mean)/R_sd - - #Z_Focused_FWR - #P_Denom = sum( mat[1,c(7,6,8)], na.rm=T ) - P = apply(mat[,5:8],1,function(x){((x[3]+x[4])/sum(x))}) - R_mean = apply(cbind(mat[,1:4],P),1,function(x){x[5]*(sum(x[1:4]))}) - R_sd=sqrt(R_mean*(1-P)) - matRes[,2] = (mat[,3]-R_mean)/R_sd - } - - matRes[is.nan(matRes)] = NA - return(matRes) - } - - # Return a p-value for a z-score - z2p <- function(z){ - p=NA - if( !is.nan(z) && !is.na(z)){ - if(z>0){ - p = (1 - pnorm(z,0,1)) - } else if(z<0){ - p = (-1 * pnorm(z,0,1)) - } else{ - p = 0.5 - } - }else{ - p = NA - } - return(p) - } - - - ## Bayesian Test - - # Fitted parameter for the bayesian framework -BAYESIAN_FITTED<-c(0.407277142798302, 0.554007336744485, 0.63777155771234, 0.693989162719009, 0.735450014674917, 0.767972534429806, 0.794557287143399, 0.816906816601605, 0.83606796225341, 0.852729446430296, 0.867370424541641, 0.880339760590323, 0.891900995024999, 0.902259181289864, 0.911577919359,0.919990301665853, 0.927606458124537, 0.934518806350661, 0.940805863754375, 0.946534836475715, 0.951763691199255, 0.95654428191308, 0.960920179487397, 0.964930893680829, 0.968611312149038, 0.971992459313836, 0.975102110004818, 0.977964943023096, 0.980603428208439, 0.983037660179428, 0.985285800977406, 0.987364285326685, 0.989288037855441, 0.991070478823525, 0.992723699729969, 0.994259575477392, 0.995687688867975, 0.997017365051493, 0.998257085153047, 0.999414558305388, 1.00049681357804, 1.00151036237481, 1.00246080204981, 1.00335370751909, 1.0041939329768, 1.0049859393417, 1.00573382091263, 1.00644127217376, 1.00711179729107, 1.00774845526417, 1.00835412715854, 1.00893143010366, 1.00948275846309, 1.01001030293661, 1.01051606798079, 1.01100188771288, 1.01146944044216, 1.01192026195449, 1.01235575766094, 1.01277721370986) - CONST_i <- sort(c(((2^(seq(-39,0,length.out=201)))/2)[1:200],(c(0:11,13:99)+0.5)/100,1-(2^(seq(-39,0,length.out=201)))/2)) - - # Given x, M & p, returns a pdf - calculate_bayes <- function ( x=3, N=10, p=0.33, - i=CONST_i, - max_sigma=20,length_sigma=4001 - ){ - if(!0%in%N){ - G <- max(length(x),length(N),length(p)) - x=array(x,dim=G) - N=array(N,dim=G) - p=array(p,dim=G) - sigma_s<-seq(-max_sigma,max_sigma,length.out=length_sigma) - sigma_1<-log({i/{1-i}}/{p/{1-p}}) - index<-min(N,60) - y<-dbeta(i,x+BAYESIAN_FITTED[index],N+BAYESIAN_FITTED[index]-x)*(1-p)*p*exp(sigma_1)/({1-p}^2+2*p*{1-p}*exp(sigma_1)+{p^2}*exp(2*sigma_1)) - if(!sum(is.na(y))){ - tmp<-approx(sigma_1,y,sigma_s)$y - tmp/sum(tmp)/{2*max_sigma/{length_sigma-1}} - }else{ - return(NA) - } - }else{ - return(NA) - } - } - # Given a mat of observed & expected, return a list of CDR & FWR pdf for selection - computeBayesianScore <- function(mat, test="Focused", max_sigma=20,length_sigma=4001){ - flagOneSeq = F - if(nrow(mat)==1){ - mat=rbind(mat,mat) - flagOneSeq = T - } - if(test=="Focused"){ - #CDR - P = c(apply(mat[,c(5,6,8)],1,function(x){(x[1]/sum(x))}),0.5) - N = c(apply(mat[,c(1,2,4)],1,function(x){(sum(x))}),0) - X = c(mat[,1],0) - bayesCDR = apply(cbind(X,N,P),1,function(x){calculate_bayes(x=x[1],N=x[2],p=x[3],max_sigma=max_sigma,length_sigma=length_sigma)}) - bayesCDR = bayesCDR[-length(bayesCDR)] - - #FWR - P = c(apply(mat[,c(7,6,8)],1,function(x){(x[1]/sum(x))}),0.5) - N = c(apply(mat[,c(3,2,4)],1,function(x){(sum(x))}),0) - X = c(mat[,3],0) - bayesFWR = apply(cbind(X,N,P),1,function(x){calculate_bayes(x=x[1],N=x[2],p=x[3],max_sigma=max_sigma,length_sigma=length_sigma)}) - bayesFWR = bayesFWR[-length(bayesFWR)] - } - - if(test=="Local"){ - #CDR - P = c(apply(mat[,c(5,6)],1,function(x){(x[1]/sum(x))}),0.5) - N = c(apply(mat[,c(1,2)],1,function(x){(sum(x))}),0) - X = c(mat[,1],0) - bayesCDR = apply(cbind(X,N,P),1,function(x){calculate_bayes(x=x[1],N=x[2],p=x[3],max_sigma=max_sigma,length_sigma=length_sigma)}) - bayesCDR = bayesCDR[-length(bayesCDR)] - - #FWR - P = c(apply(mat[,c(7,8)],1,function(x){(x[1]/sum(x))}),0.5) - N = c(apply(mat[,c(3,4)],1,function(x){(sum(x))}),0) - X = c(mat[,3],0) - bayesFWR = apply(cbind(X,N,P),1,function(x){calculate_bayes(x=x[1],N=x[2],p=x[3],max_sigma=max_sigma,length_sigma=length_sigma)}) - bayesFWR = bayesFWR[-length(bayesFWR)] - } - - if(test=="Imbalanced"){ - #CDR - P = c(apply(mat[,c(5:8)],1,function(x){((x[1]+x[2])/sum(x))}),0.5) - N = c(apply(mat[,c(1:4)],1,function(x){(sum(x))}),0) - X = c(apply(mat[,c(1:2)],1,function(x){(sum(x))}),0) - bayesCDR = apply(cbind(X,N,P),1,function(x){calculate_bayes(x=x[1],N=x[2],p=x[3],max_sigma=max_sigma,length_sigma=length_sigma)}) - bayesCDR = bayesCDR[-length(bayesCDR)] - - #FWR - P = c(apply(mat[,c(5:8)],1,function(x){((x[3]+x[4])/sum(x))}),0.5) - N = c(apply(mat[,c(1:4)],1,function(x){(sum(x))}),0) - X = c(apply(mat[,c(3:4)],1,function(x){(sum(x))}),0) - bayesFWR = apply(cbind(X,N,P),1,function(x){calculate_bayes(x=x[1],N=x[2],p=x[3],max_sigma=max_sigma,length_sigma=length_sigma)}) - bayesFWR = bayesFWR[-length(bayesFWR)] - } - - if(test=="ImbalancedSilent"){ - #CDR - P = c(apply(mat[,c(6,8)],1,function(x){((x[1])/sum(x))}),0.5) - N = c(apply(mat[,c(2,4)],1,function(x){(sum(x))}),0) - X = c(apply(mat[,c(2,4)],1,function(x){(x[1])}),0) - bayesCDR = apply(cbind(X,N,P),1,function(x){calculate_bayes(x=x[1],N=x[2],p=x[3],max_sigma=max_sigma,length_sigma=length_sigma)}) - bayesCDR = bayesCDR[-length(bayesCDR)] - - #FWR - P = c(apply(mat[,c(6,8)],1,function(x){((x[2])/sum(x))}),0.5) - N = c(apply(mat[,c(2,4)],1,function(x){(sum(x))}),0) - X = c(apply(mat[,c(2,4)],1,function(x){(x[2])}),0) - bayesFWR = apply(cbind(X,N,P),1,function(x){calculate_bayes(x=x[1],N=x[2],p=x[3],max_sigma=max_sigma,length_sigma=length_sigma)}) - bayesFWR = bayesFWR[-length(bayesFWR)] - } - - if(flagOneSeq==T){ - bayesCDR = bayesCDR[1] - bayesFWR = bayesFWR[1] - } - return( list("CDR"=bayesCDR, "FWR"=bayesFWR) ) - } - - ##Covolution - break2chunks<-function(G=1000){ - base<-2^round(log(sqrt(G),2),0) - return(c(rep(base,floor(G/base)-1),base+G-(floor(G/base)*base))) - } - - PowersOfTwo <- function(G=100){ - exponents <- array() - i = 0 - while(G > 0){ - i=i+1 - exponents[i] <- floor( log2(G) ) - G <- G-2^exponents[i] - } - return(exponents) - } - - convolutionPowersOfTwo <- function( cons, length_sigma=4001 ){ - G = ncol(cons) - if(G>1){ - for(gen in log(G,2):1){ - ll<-seq(from=2,to=2^gen,by=2) - sapply(ll,function(l){cons[,l/2]<<-weighted_conv(cons[,l],cons[,l-1],length_sigma=length_sigma)}) - } - } - return( cons[,1] ) - } - - convolutionPowersOfTwoByTwos <- function( cons, length_sigma=4001,G=1 ){ - if(length(ncol(cons))) G<-ncol(cons) - groups <- PowersOfTwo(G) - matG <- matrix(NA, ncol=length(groups), nrow=length(cons)/G ) - startIndex = 1 - for( i in 1:length(groups) ){ - stopIndex <- 2^groups[i] + startIndex - 1 - if(stopIndex!=startIndex){ - matG[,i] <- convolutionPowersOfTwo( cons[,startIndex:stopIndex], length_sigma=length_sigma ) - startIndex = stopIndex + 1 - } - else { - if(G>1) matG[,i] <- cons[,startIndex:stopIndex] - else matG[,i] <- cons - #startIndex = stopIndex + 1 - } - } - return( list( matG, groups ) ) - } - - weighted_conv<-function(x,y,w=1,m=100,length_sigma=4001){ - lx<-length(x) - ly<-length(y) - if({lx<m}| {{lx*w}<m}| {{ly}<m}| {{ly*w}<m}){ - if(w<1){ - y1<-approx(1:ly,y,seq(1,ly,length.out=m))$y - x1<-approx(1:lx,x,seq(1,lx,length.out=m/w))$y - lx<-length(x1) - ly<-length(y1) - } - else { - y1<-approx(1:ly,y,seq(1,ly,length.out=m*w))$y - x1<-approx(1:lx,x,seq(1,lx,length.out=m))$y - lx<-length(x1) - ly<-length(y1) - } - } - else{ - x1<-x - y1<-approx(1:ly,y,seq(1,ly,length.out=floor(lx*w)))$y - ly<-length(y1) - } - tmp<-approx(x=1:(lx+ly-1),y=convolve(x1,rev(y1),type="open"),xout=seq(1,lx+ly-1,length.out=length_sigma))$y - tmp[tmp<=0] = 0 - return(tmp/sum(tmp)) - } - - calculate_bayesGHelper <- function( listMatG,length_sigma=4001 ){ - matG <- listMatG[[1]] - groups <- listMatG[[2]] - i = 1 - resConv <- matG[,i] - denom <- 2^groups[i] - if(length(groups)>1){ - while( i<length(groups) ){ - i = i + 1 - resConv <- weighted_conv(resConv, matG[,i], w= {{2^groups[i]}/denom} ,length_sigma=length_sigma) - #cat({{2^groups[i]}/denom},"\n") - denom <- denom + 2^groups[i] - } - } - return(resConv) - } - - # Given a list of PDFs, returns a convoluted PDF - groupPosteriors <- function( listPosteriors, max_sigma=20, length_sigma=4001 ,Threshold=2 ){ - listPosteriors = listPosteriors[ !is.na(listPosteriors) ] - Length_Postrior<-length(listPosteriors) - if(Length_Postrior>1 & Length_Postrior<=Threshold){ - cons = matrix(unlist(listPosteriors),length(listPosteriors[[1]]),length(listPosteriors)) - listMatG <- convolutionPowersOfTwoByTwos(cons,length_sigma=length_sigma) - y<-calculate_bayesGHelper(listMatG,length_sigma=length_sigma) - return( y/sum(y)/(2*max_sigma/(length_sigma-1)) ) - }else if(Length_Postrior==1) return(listPosteriors[[1]]) - else if(Length_Postrior==0) return(NA) - else { - cons = matrix(unlist(listPosteriors),length(listPosteriors[[1]]),length(listPosteriors)) - y = fastConv(cons,max_sigma=max_sigma, length_sigma=length_sigma ) - return( y/sum(y)/(2*max_sigma/(length_sigma-1)) ) - } - } - - fastConv<-function(cons, max_sigma=20, length_sigma=4001){ - chunks<-break2chunks(G=ncol(cons)) - if(ncol(cons)==3) chunks<-2:1 - index_chunks_end <- cumsum(chunks) - index_chunks_start <- c(1,index_chunks_end[-length(index_chunks_end)]+1) - index_chunks <- cbind(index_chunks_start,index_chunks_end) - - case <- sum(chunks!=chunks[1]) - if(case==1) End <- max(1,((length(index_chunks)/2)-1)) - else End <- max(1,((length(index_chunks)/2))) - - firsts <- sapply(1:End,function(i){ - indexes<-index_chunks[i,1]:index_chunks[i,2] - convolutionPowersOfTwoByTwos(cons[ ,indexes])[[1]] - }) - if(case==0){ - result<-calculate_bayesGHelper( convolutionPowersOfTwoByTwos(firsts) ) - }else if(case==1){ - last<-list(calculate_bayesGHelper( - convolutionPowersOfTwoByTwos( cons[ ,index_chunks[length(index_chunks)/2,1]:index_chunks[length(index_chunks)/2,2]] ) - ),0) - result_first<-calculate_bayesGHelper(convolutionPowersOfTwoByTwos(firsts)) - result<-calculate_bayesGHelper( - list( - cbind( - result_first,last[[1]]), - c(log(index_chunks_end[length(index_chunks)/2-1],2),log(index_chunks[length(index_chunks)/2,2]-index_chunks[length(index_chunks)/2,1]+1,2)) - ) - ) - } - return(as.vector(result)) - } - - # Computes the 95% CI for a pdf - calcBayesCI <- function(Pdf,low=0.025,up=0.975,max_sigma=20, length_sigma=4001){ - if(length(Pdf)!=length_sigma) return(NA) - sigma_s=seq(-max_sigma,max_sigma,length.out=length_sigma) - cdf = cumsum(Pdf) - cdf = cdf/cdf[length(cdf)] - return( c(sigma_s[findInterval(low,cdf)-1] , sigma_s[findInterval(up,cdf)]) ) - } - - # Computes a mean for a pdf - calcBayesMean <- function(Pdf,max_sigma=20,length_sigma=4001){ - if(length(Pdf)!=length_sigma) return(NA) - sigma_s=seq(-max_sigma,max_sigma,length.out=length_sigma) - norm = {length_sigma-1}/2/max_sigma - return( (Pdf%*%sigma_s/norm) ) - } - - # Returns the mean, and the 95% CI for a pdf - calcBayesOutputInfo <- function(Pdf,low=0.025,up=0.975,max_sigma=20, length_sigma=4001){ - if(is.na(Pdf)) - return(rep(NA,3)) - bCI = calcBayesCI(Pdf=Pdf,low=low,up=up,max_sigma=max_sigma,length_sigma=length_sigma) - bMean = calcBayesMean(Pdf=Pdf,max_sigma=max_sigma,length_sigma=length_sigma) - return(c(bMean, bCI)) - } - - # Computes the p-value of a pdf - computeSigmaP <- function(Pdf, length_sigma=4001, max_sigma=20){ - if(length(Pdf)>1){ - norm = {length_sigma-1}/2/max_sigma - pVal = {sum(Pdf[1:{{length_sigma-1}/2}]) + Pdf[{{length_sigma+1}/2}]/2}/norm - if(pVal>0.5){ - pVal = pVal-1 - } - return(pVal) - }else{ - return(NA) - } - } - - # Compute p-value of two distributions - compareTwoDistsFaster <-function(sigma_S=seq(-20,20,length.out=4001), N=10000, dens1=runif(4001,0,1), dens2=runif(4001,0,1)){ - #print(c(length(dens1),length(dens2))) - if(length(dens1)>1 & length(dens2)>1 ){ - dens1<-dens1/sum(dens1) - dens2<-dens2/sum(dens2) - cum2 <- cumsum(dens2)-dens2/2 - tmp<- sum(sapply(1:length(dens1),function(i)return(dens1[i]*cum2[i]))) - #print(tmp) - if(tmp>0.5)tmp<-tmp-1 - return( tmp ) - } - else { - return(NA) - } - #return (sum(sapply(1:N,function(i)(sample(sigma_S,1,prob=dens1)>sample(sigma_S,1,prob=dens2))))/N) - } - - # get number of seqeunces contributing to the sigma (i.e. seqeunces with mutations) - numberOfSeqsWithMutations <- function(matMutations,test=1){ - if(test==4)test=2 - cdrSeqs <- 0 - fwrSeqs <- 0 - if(test==1){#focused - cdrMutations <- apply(matMutations, 1, function(x){ sum(x[c(1,2,4)]) }) - fwrMutations <- apply(matMutations, 1, function(x){ sum(x[c(3,4,2)]) }) - if( any(which(cdrMutations>0)) ) cdrSeqs <- sum(cdrMutations>0) - if( any(which(fwrMutations>0)) ) fwrSeqs <- sum(fwrMutations>0) - } - if(test==2){#local - cdrMutations <- apply(matMutations, 1, function(x){ sum(x[c(1,2)]) }) - fwrMutations <- apply(matMutations, 1, function(x){ sum(x[c(3,4)]) }) - if( any(which(cdrMutations>0)) ) cdrSeqs <- sum(cdrMutations>0) - if( any(which(fwrMutations>0)) ) fwrSeqs <- sum(fwrMutations>0) - } - return(c("CDR"=cdrSeqs, "FWR"=fwrSeqs)) -} - - - -shadeColor <- function(sigmaVal=NA,pVal=NA){ - if(is.na(sigmaVal) & is.na(pVal)) return(NA) - if(is.na(sigmaVal) & !is.na(pVal)) sigmaVal=sign(pVal) - if(is.na(pVal) || pVal==1 || pVal==0){ - returnColor = "#FFFFFF"; - }else{ - colVal=abs(pVal); - - if(sigmaVal<0){ - if(colVal>0.1) - returnColor = "#CCFFCC"; - if(colVal<=0.1) - returnColor = "#99FF99"; - if(colVal<=0.050) - returnColor = "#66FF66"; - if(colVal<=0.010) - returnColor = "#33FF33"; - if(colVal<=0.005) - returnColor = "#00FF00"; - - }else{ - if(colVal>0.1) - returnColor = "#FFCCCC"; - if(colVal<=0.1) - returnColor = "#FF9999"; - if(colVal<=0.05) - returnColor = "#FF6666"; - if(colVal<=0.01) - returnColor = "#FF3333"; - if(colVal<0.005) - returnColor = "#FF0000"; - } - } - - return(returnColor) -} - - - -plotHelp <- function(xfrac=0.05,yfrac=0.05,log=FALSE){ - if(!log){ - x = par()$usr[1]-(par()$usr[2]-par()$usr[1])*xfrac - y = par()$usr[4]+(par()$usr[4]-par()$usr[3])*yfrac - }else { - if(log==2){ - x = par()$usr[1]-(par()$usr[2]-par()$usr[1])*xfrac - y = 10^((par()$usr[4])+((par()$usr[4])-(par()$usr[3]))*yfrac) - } - if(log==1){ - x = 10^((par()$usr[1])-((par()$usr[2])-(par()$usr[1]))*xfrac) - y = par()$usr[4]+(par()$usr[4]-par()$usr[3])*yfrac - } - if(log==3){ - x = 10^((par()$usr[1])-((par()$usr[2])-(par()$usr[1]))*xfrac) - y = 10^((par()$usr[4])+((par()$usr[4])-(par()$usr[3]))*yfrac) - } - } - return(c("x"=x,"y"=y)) -} - -# SHMulation - - # Based on targeting, introduce a single mutation & then update the targeting - oneMutation <- function(){ - # Pick a postion + mutation - posMutation = sample(1:(seqGermlineLen*4),1,replace=F,prob=as.vector(seqTargeting)) - posNucNumb = ceiling(posMutation/4) # Nucleotide number - posNucKind = 4 - ( (posNucNumb*4) - posMutation ) # Nuc the position mutates to - - #mutate the simulation sequence - seqSimVec <- s2c(seqSim) - seqSimVec[posNucNumb] <- NUCLEOTIDES[posNucKind] - seqSim <<- c2s(seqSimVec) - - #update Mutability, Targeting & MutationsTypes - updateMutabilityNTargeting(posNucNumb) - - #return(c(posNucNumb,NUCLEOTIDES[posNucKind])) - return(posNucNumb) - } - - updateMutabilityNTargeting <- function(position){ - min_i<-max((position-2),1) - max_i<-min((position+2),nchar(seqSim)) - min_ii<-min(min_i,3) - - #mutability - update locally - seqMutability[(min_i):(max_i)] <<- computeMutabilities(substr(seqSim,position-4,position+4))[(min_ii):(max_i-min_i+min_ii)] - - - #targeting - compute locally - seqTargeting[,min_i:max_i] <<- computeTargeting(substr(seqSim,min_i,max_i),seqMutability[min_i:max_i]) - seqTargeting[is.na(seqTargeting)] <<- 0 - #mutCodonPos = getCodonPos(position) - mutCodonPos = seq(getCodonPos(min_i)[1],getCodonPos(max_i)[3]) - #cat(mutCodonPos,"\n") - mutTypeCodon = getCodonPos(position) - seqMutationTypes[,mutTypeCodon] <<- computeMutationTypesFast( substr(seqSim,mutTypeCodon[1],mutTypeCodon[3]) ) - # Stop = 0 - if(any(seqMutationTypes[,mutCodonPos]=="Stop",na.rm=T )){ - seqTargeting[,mutCodonPos][seqMutationTypes[,mutCodonPos]=="Stop"] <<- 0 - } - - - #Selection - selectedPos = (min_i*4-4)+(which(seqMutationTypes[,min_i:max_i]=="R")) - # CDR - selectedCDR = selectedPos[which(matCDR[selectedPos]==T)] - seqTargeting[selectedCDR] <<- seqTargeting[selectedCDR] * exp(selCDR) - seqTargeting[selectedCDR] <<- seqTargeting[selectedCDR]/baseLineCDR_K - - # FWR - selectedFWR = selectedPos[which(matFWR[selectedPos]==T)] - seqTargeting[selectedFWR] <<- seqTargeting[selectedFWR] * exp(selFWR) - seqTargeting[selectedFWR] <<- seqTargeting[selectedFWR]/baseLineFWR_K - - } - - - - # Validate the mutation: if the mutation has not been sampled before validate it, else discard it. - validateMutation <- function(){ - if( !(mutatedPos%in%mutatedPositions) ){ # if it's a new mutation - uniqueMutationsIntroduced <<- uniqueMutationsIntroduced + 1 - mutatedPositions[uniqueMutationsIntroduced] <<- mutatedPos - }else{ - if(substr(seqSim,mutatedPos,mutatedPos)==substr(seqGermline,mutatedPos,mutatedPos)){ # back to germline mutation - mutatedPositions <<- mutatedPositions[-which(mutatedPositions==mutatedPos)] - uniqueMutationsIntroduced <<- uniqueMutationsIntroduced - 1 - } - } - } - - - - # Places text (labels) at normalized coordinates - myaxis <- function(xfrac=0.05,yfrac=0.05,log=FALSE,w="text",cex=1,adj=1,thecol="black"){ - par(xpd=TRUE) - if(!log) - text(par()$usr[1]-(par()$usr[2]-par()$usr[1])*xfrac,par()$usr[4]+(par()$usr[4]-par()$usr[3])*yfrac,w,cex=cex,adj=adj,col=thecol) - else { - if(log==2) - text( - par()$usr[1]-(par()$usr[2]-par()$usr[1])*xfrac, - 10^((par()$usr[4])+((par()$usr[4])-(par()$usr[3]))*yfrac), - w,cex=cex,adj=adj,col=thecol) - if(log==1) - text( - 10^((par()$usr[1])-((par()$usr[2])-(par()$usr[1]))*xfrac), - par()$usr[4]+(par()$usr[4]-par()$usr[3])*yfrac, - w,cex=cex,adj=adj,col=thecol) - if(log==3) - text( - 10^((par()$usr[1])-((par()$usr[2])-(par()$usr[1]))*xfrac), - 10^((par()$usr[4])+((par()$usr[4])-(par()$usr[3]))*yfrac), - w,cex=cex,adj=adj,col=thecol) - } - par(xpd=FALSE) - } - - - - # Count the mutations in a sequence - analyzeMutations <- function( inputMatrixIndex, model = 0 , multipleMutation=0, seqWithStops=0){ - - paramGL = s2c(matInput[inputMatrixIndex,2]) - paramSeq = s2c(matInput[inputMatrixIndex,1]) - - #if( any(paramSeq=="N") ){ - # gapPos_Seq = which(paramSeq=="N") - # gapPos_Seq_ToReplace = gapPos_Seq[paramGL[gapPos_Seq] != "N"] - # paramSeq[gapPos_Seq_ToReplace] = paramGL[gapPos_Seq_ToReplace] - #} - mutations_val = paramGL != paramSeq - - if(any(mutations_val)){ - mutationPos = which(mutations_val)#{1:length(mutations_val)}[mutations_val] - length_mutations =length(mutationPos) - mutationInfo = rep(NA,length_mutations) - - pos<- mutationPos - pos_array<-array(sapply(pos,getCodonPos)) - codonGL = paramGL[pos_array] - codonSeqWhole = paramSeq[pos_array] - codonSeq = sapply(pos,function(x){ - seqP = paramGL[getCodonPos(x)] - muCodonPos = {x-1}%%3+1 - seqP[muCodonPos] = paramSeq[x] - return(seqP) - }) - GLcodons = apply(matrix(codonGL,length_mutations,3,byrow=TRUE),1,c2s) - SeqcodonsWhole = apply(matrix(codonSeqWhole,length_mutations,3,byrow=TRUE),1,c2s) - Seqcodons = apply(codonSeq,2,c2s) - - mutationInfo = apply(rbind(GLcodons , Seqcodons),2,function(x){mutationType(c2s(x[1]),c2s(x[2]))}) - names(mutationInfo) = mutationPos - - mutationInfoWhole = apply(rbind(GLcodons , SeqcodonsWhole),2,function(x){mutationType(c2s(x[1]),c2s(x[2]))}) - names(mutationInfoWhole) = mutationPos - - mutationInfo <- mutationInfo[!is.na(mutationInfo)] - mutationInfoWhole <- mutationInfoWhole[!is.na(mutationInfoWhole)] - - if(any(!is.na(mutationInfo))){ - - #Filter based on Stop (at the codon level) - if(seqWithStops==1){ - nucleotidesAtStopCodons = names(mutationInfoWhole[mutationInfoWhole!="Stop"]) - mutationInfo = mutationInfo[nucleotidesAtStopCodons] - mutationInfoWhole = mutationInfo[nucleotidesAtStopCodons] - }else{ - countStops = sum(mutationInfoWhole=="Stop") - if(seqWithStops==2 & countStops==0) mutationInfo = NA - if(seqWithStops==3 & countStops>0) mutationInfo = NA - } - - if(any(!is.na(mutationInfo))){ - #Filter mutations based on multipleMutation - if(multipleMutation==1 & !is.na(mutationInfo)){ - mutationCodons = getCodonNumb(as.numeric(names(mutationInfoWhole))) - tableMutationCodons <- table(mutationCodons) - codonsWithMultipleMutations <- as.numeric(names(tableMutationCodons[tableMutationCodons>1])) - if(any(codonsWithMultipleMutations)){ - #remove the nucleotide mutations in the codons with multiple mutations - mutationInfo <- mutationInfo[!(mutationCodons %in% codonsWithMultipleMutations)] - #replace those codons with Ns in the input sequence - paramSeq[unlist(lapply(codonsWithMultipleMutations, getCodonNucs))] = "N" - matInput[inputMatrixIndex,1] <<- c2s(paramSeq) - } - } - - #Filter mutations based on the model - if(any(mutationInfo)==T | is.na(any(mutationInfo))){ - - if(model==1 & !is.na(mutationInfo)){ - mutationInfo <- mutationInfo[mutationInfo=="S"] - } - if(any(mutationInfo)==T | is.na(any(mutationInfo))) return(mutationInfo) - else return(NA) - }else{ - return(NA) - } - }else{ - return(NA) - } - - - }else{ - return(NA) - } - - - }else{ - return (NA) - } - } - - analyzeMutationsFixed <- function( inputArray, model = 0 , multipleMutation=0, seqWithStops=0){ - - paramGL = s2c(inputArray[2]) - paramSeq = s2c(inputArray[1]) - inputSeq <- inputArray[1] - #if( any(paramSeq=="N") ){ - # gapPos_Seq = which(paramSeq=="N") - # gapPos_Seq_ToReplace = gapPos_Seq[paramGL[gapPos_Seq] != "N"] - # paramSeq[gapPos_Seq_ToReplace] = paramGL[gapPos_Seq_ToReplace] - #} - mutations_val = paramGL != paramSeq - - if(any(mutations_val)){ - mutationPos = which(mutations_val)#{1:length(mutations_val)}[mutations_val] - length_mutations =length(mutationPos) - mutationInfo = rep(NA,length_mutations) - - pos<- mutationPos - pos_array<-array(sapply(pos,getCodonPos)) - codonGL = paramGL[pos_array] - codonSeqWhole = paramSeq[pos_array] - codonSeq = sapply(pos,function(x){ - seqP = paramGL[getCodonPos(x)] - muCodonPos = {x-1}%%3+1 - seqP[muCodonPos] = paramSeq[x] - return(seqP) - }) - GLcodons = apply(matrix(codonGL,length_mutations,3,byrow=TRUE),1,c2s) - SeqcodonsWhole = apply(matrix(codonSeqWhole,length_mutations,3,byrow=TRUE),1,c2s) - Seqcodons = apply(codonSeq,2,c2s) - - mutationInfo = apply(rbind(GLcodons , Seqcodons),2,function(x){mutationType(c2s(x[1]),c2s(x[2]))}) - names(mutationInfo) = mutationPos - - mutationInfoWhole = apply(rbind(GLcodons , SeqcodonsWhole),2,function(x){mutationType(c2s(x[1]),c2s(x[2]))}) - names(mutationInfoWhole) = mutationPos - - mutationInfo <- mutationInfo[!is.na(mutationInfo)] - mutationInfoWhole <- mutationInfoWhole[!is.na(mutationInfoWhole)] - - if(any(!is.na(mutationInfo))){ - - #Filter based on Stop (at the codon level) - if(seqWithStops==1){ - nucleotidesAtStopCodons = names(mutationInfoWhole[mutationInfoWhole!="Stop"]) - mutationInfo = mutationInfo[nucleotidesAtStopCodons] - mutationInfoWhole = mutationInfo[nucleotidesAtStopCodons] - }else{ - countStops = sum(mutationInfoWhole=="Stop") - if(seqWithStops==2 & countStops==0) mutationInfo = NA - if(seqWithStops==3 & countStops>0) mutationInfo = NA - } - - if(any(!is.na(mutationInfo))){ - #Filter mutations based on multipleMutation - if(multipleMutation==1 & !is.na(mutationInfo)){ - mutationCodons = getCodonNumb(as.numeric(names(mutationInfoWhole))) - tableMutationCodons <- table(mutationCodons) - codonsWithMultipleMutations <- as.numeric(names(tableMutationCodons[tableMutationCodons>1])) - if(any(codonsWithMultipleMutations)){ - #remove the nucleotide mutations in the codons with multiple mutations - mutationInfo <- mutationInfo[!(mutationCodons %in% codonsWithMultipleMutations)] - #replace those codons with Ns in the input sequence - paramSeq[unlist(lapply(codonsWithMultipleMutations, getCodonNucs))] = "N" - #matInput[inputMatrixIndex,1] <<- c2s(paramSeq) - inputSeq <- c2s(paramSeq) - } - } - - #Filter mutations based on the model - if(any(mutationInfo)==T | is.na(any(mutationInfo))){ - - if(model==1 & !is.na(mutationInfo)){ - mutationInfo <- mutationInfo[mutationInfo=="S"] - } - if(any(mutationInfo)==T | is.na(any(mutationInfo))) return(list(mutationInfo,inputSeq)) - else return(list(NA,inputSeq)) - }else{ - return(list(NA,inputSeq)) - } - }else{ - return(list(NA,inputSeq)) - } - - - }else{ - return(list(NA,inputSeq)) - } - - - }else{ - return (list(NA,inputSeq)) - } - } - - # triMutability Background Count - buildMutabilityModel <- function( inputMatrixIndex, model=0 , multipleMutation=0, seqWithStops=0, stopMutations=0){ - - #rowOrigMatInput = matInput[inputMatrixIndex,] - seqGL = gsub("-", "", matInput[inputMatrixIndex,2]) - seqInput = gsub("-", "", matInput[inputMatrixIndex,1]) - #matInput[inputMatrixIndex,] <<- cbind(seqInput,seqGL) - tempInput <- cbind(seqInput,seqGL) - seqLength = nchar(seqGL) - list_analyzeMutationsFixed<- analyzeMutationsFixed(tempInput, model, multipleMutation, seqWithStops) - mutationCount <- list_analyzeMutationsFixed[[1]] - seqInput <- list_analyzeMutationsFixed[[2]] - BackgroundMatrix = mutabilityMatrix - MutationMatrix = mutabilityMatrix - MutationCountMatrix = mutabilityMatrix - if(!is.na(mutationCount)){ - if((stopMutations==0 & model==0) | (stopMutations==1 & (sum(mutationCount=="Stop")<length(mutationCount))) | (model==1 & (sum(mutationCount=="S")>0)) ){ - - fivermerStartPos = 1:(seqLength-4) - fivemerLength <- length(fivermerStartPos) - fivemerGL <- substr(rep(seqGL,length(fivermerStartPos)),(fivermerStartPos),(fivermerStartPos+4)) - fivemerSeq <- substr(rep(seqInput,length(fivermerStartPos)),(fivermerStartPos),(fivermerStartPos+4)) - - #Background - for(fivemerIndex in 1:fivemerLength){ - fivemer = fivemerGL[fivemerIndex] - if(!any(grep("N",fivemer))){ - fivemerCodonPos = fivemerCodon(fivemerIndex) - fivemerReadingFrameCodon = substr(fivemer,fivemerCodonPos[1],fivemerCodonPos[3]) - fivemerReadingFrameCodonInputSeq = substr(fivemerSeq[fivemerIndex],fivemerCodonPos[1],fivemerCodonPos[3]) - - # All mutations model - #if(!any(grep("N",fivemerReadingFrameCodon))){ - if(model==0){ - if(stopMutations==0){ - if(!any(grep("N",fivemerReadingFrameCodonInputSeq))) - BackgroundMatrix[fivemer] <- (BackgroundMatrix[fivemer] + 1) - }else{ - if( !any(grep("N",fivemerReadingFrameCodonInputSeq)) & translateCodonToAminoAcid(fivemerReadingFrameCodon)!="*" ){ - positionWithinCodon = which(fivemerCodonPos==3)#positionsWithinCodon[(fivemerCodonPos[1]%%3)+1] - BackgroundMatrix[fivemer] <- (BackgroundMatrix[fivemer] + probNonStopMutations[fivemerReadingFrameCodon,positionWithinCodon]) - } - } - }else{ # Only silent mutations - if( !any(grep("N",fivemerReadingFrameCodonInputSeq)) & translateCodonToAminoAcid(fivemerReadingFrameCodon)!="*" & translateCodonToAminoAcid(fivemerReadingFrameCodonInputSeq)==translateCodonToAminoAcid(fivemerReadingFrameCodon)){ - positionWithinCodon = which(fivemerCodonPos==3) - BackgroundMatrix[fivemer] <- (BackgroundMatrix[fivemer] + probSMutations[fivemerReadingFrameCodon,positionWithinCodon]) - } - } - #} - } - } - - #Mutations - if(stopMutations==1) mutationCount = mutationCount[mutationCount!="Stop"] - if(model==1) mutationCount = mutationCount[mutationCount=="S"] - mutationPositions = as.numeric(names(mutationCount)) - mutationCount = mutationCount[mutationPositions>2 & mutationPositions<(seqLength-1)] - mutationPositions = mutationPositions[mutationPositions>2 & mutationPositions<(seqLength-1)] - countMutations = 0 - for(mutationPosition in mutationPositions){ - fivemerIndex = mutationPosition-2 - fivemer = fivemerSeq[fivemerIndex] - GLfivemer = fivemerGL[fivemerIndex] - fivemerCodonPos = fivemerCodon(fivemerIndex) - fivemerReadingFrameCodon = substr(fivemer,fivemerCodonPos[1],fivemerCodonPos[3]) - fivemerReadingFrameCodonGL = substr(GLfivemer,fivemerCodonPos[1],fivemerCodonPos[3]) - if(!any(grep("N",fivemer)) & !any(grep("N",GLfivemer))){ - if(model==0){ - countMutations = countMutations + 1 - MutationMatrix[GLfivemer] <- (MutationMatrix[GLfivemer] + 1) - MutationCountMatrix[GLfivemer] <- (MutationCountMatrix[GLfivemer] + 1) - }else{ - if( translateCodonToAminoAcid(fivemerReadingFrameCodonGL)!="*" ){ - countMutations = countMutations + 1 - positionWithinCodon = which(fivemerCodonPos==3) - glNuc = substr(fivemerReadingFrameCodonGL,positionWithinCodon,positionWithinCodon) - inputNuc = substr(fivemerReadingFrameCodon,positionWithinCodon,positionWithinCodon) - MutationMatrix[GLfivemer] <- (MutationMatrix[GLfivemer] + substitution[glNuc,inputNuc]) - MutationCountMatrix[GLfivemer] <- (MutationCountMatrix[GLfivemer] + 1) - } - } - } - } - - seqMutability = MutationMatrix/BackgroundMatrix - seqMutability = seqMutability/sum(seqMutability,na.rm=TRUE) - #cat(inputMatrixIndex,"\t",countMutations,"\n") - return(list("seqMutability" = seqMutability,"numbMutations" = countMutations,"seqMutabilityCount" = MutationCountMatrix, "BackgroundMatrix"=BackgroundMatrix)) - - } - } - - } - - #Returns the codon position containing the middle nucleotide - fivemerCodon <- function(fivemerIndex){ - codonPos = list(2:4,1:3,3:5) - fivemerType = fivemerIndex%%3 - return(codonPos[[fivemerType+1]]) - } - - #returns probability values for one mutation in codons resulting in R, S or Stop - probMutations <- function(typeOfMutation){ - matMutationProb <- matrix(0,ncol=3,nrow=125,dimnames=list(words(alphabet = c(NUCLEOTIDES,"N"), length=3),c(1:3))) - for(codon in rownames(matMutationProb)){ - if( !any(grep("N",codon)) ){ - for(muPos in 1:3){ - matCodon = matrix(rep(s2c(codon),3),nrow=3,ncol=3,byrow=T) - glNuc = matCodon[1,muPos] - matCodon[,muPos] = canMutateTo(glNuc) - substitutionRate = substitution[glNuc,matCodon[,muPos]] - typeOfMutations = apply(rbind(rep(codon,3),apply(matCodon,1,c2s)),2,function(x){mutationType(c2s(x[1]),c2s(x[2]))}) - matMutationProb[codon,muPos] <- sum(substitutionRate[typeOfMutations==typeOfMutation]) - } - } - } - - return(matMutationProb) - } - - - - -#Mapping Trinucleotides to fivemers -mapTriToFivemer <- function(triMutability=triMutability_Literature_Human){ - rownames(triMutability) <- triMutability_Names - Fivemer<-rep(NA,1024) - names(Fivemer)<-words(alphabet=NUCLEOTIDES,length=5) - Fivemer<-sapply(names(Fivemer),function(Word)return(sum( c(triMutability[substring(Word,3,5),1],triMutability[substring(Word,2,4),2],triMutability[substring(Word,1,3),3]),na.rm=TRUE))) - Fivemer<-Fivemer/sum(Fivemer) - return(Fivemer) -} - -collapseFivemerToTri<-function(Fivemer,Weights=MutabilityWeights,position=1,NUC="A"){ - Indices<-substring(names(Fivemer),3,3)==NUC - Factors<-substring(names(Fivemer[Indices]),(4-position),(6-position)) - tapply(which(Indices),Factors,function(i)weighted.mean(Fivemer[i],Weights[i],na.rm=TRUE)) -} - - - -CountFivemerToTri<-function(Fivemer,Weights=MutabilityWeights,position=1,NUC="A"){ - Indices<-substring(names(Fivemer),3,3)==NUC - Factors<-substring(names(Fivemer[Indices]),(4-position),(6-position)) - tapply(which(Indices),Factors,function(i)sum(Weights[i],na.rm=TRUE)) -} - -#Uses the real counts of the mutated fivemers -CountFivemerToTri2<-function(Fivemer,Counts=MutabilityCounts,position=1,NUC="A"){ - Indices<-substring(names(Fivemer),3,3)==NUC - Factors<-substring(names(Fivemer[Indices]),(4-position),(6-position)) - tapply(which(Indices),Factors,function(i)sum(Counts[i],na.rm=TRUE)) -} - -bootstrap<-function(x=c(33,12,21),M=10000,alpha=0.05){ -N<-sum(x) -if(N){ -p<-x/N -k<-length(x)-1 -tmp<-rmultinom(M, size = N, prob=p) -tmp_p<-apply(tmp,2,function(y)y/N) -(apply(tmp_p,1,function(y)quantile(y,c(alpha/2/k,1-alpha/2/k)))) -} -else return(matrix(0,2,length(x))) -} - - - - -bootstrap2<-function(x=c(33,12,21),n=10,M=10000,alpha=0.05){ - -N<-sum(x) -k<-length(x) -y<-rep(1:k,x) -tmp<-sapply(1:M,function(i)sample(y,n)) -if(n>1)tmp_p<-sapply(1:M,function(j)sapply(1:k,function(i)sum(tmp[,j]==i)))/n -if(n==1)tmp_p<-sapply(1:M,function(j)sapply(1:k,function(i)sum(tmp[j]==i)))/n -(apply(tmp_p,1,function(z)quantile(z,c(alpha/2/(k-1),1-alpha/2/(k-1))))) -} - - - -p_value<-function(x=c(33,12,21),M=100000,x_obs=c(2,5,3)){ -n=sum(x_obs) -N<-sum(x) -k<-length(x) -y<-rep(1:k,x) -tmp<-sapply(1:M,function(i)sample(y,n)) -if(n>1)tmp_p<-sapply(1:M,function(j)sapply(1:k,function(i)sum(tmp[,j]==i))) -if(n==1)tmp_p<-sapply(1:M,function(j)sapply(1:k,function(i)sum(tmp[j]==i))) -tmp<-rbind(sapply(1:3,function(i)sum(tmp_p[i,]>=x_obs[i])/M), -sapply(1:3,function(i)sum(tmp_p[i,]<=x_obs[i])/M)) -sapply(1:3,function(i){if(tmp[1,i]>=tmp[2,i])return(-tmp[2,i])else return(tmp[1,i])}) -} - -#"D:\\Sequences\\IMGT Germlines\\Human_SNPless_IGHJ.FASTA" -# Remove SNPs from IMGT germline segment alleles -generateUnambiguousRepertoire <- function(repertoireInFile,repertoireOutFile){ - repertoireIn <- read.fasta(repertoireInFile, seqtype="DNA",as.string=T,set.attributes=F,forceDNAtolower=F) - alleleNames <- sapply(names(repertoireIn),function(x)strsplit(x,"|",fixed=TRUE)[[1]][2]) - SNPs <- tapply(repertoireIn,sapply(alleleNames,function(x)strsplit(x,"*",fixed=TRUE)[[1]][1]),function(x){ - Indices<-NULL - for(i in 1:length(x)){ - firstSeq = s2c(x[[1]]) - iSeq = s2c(x[[i]]) - Indices<-c(Indices,which(firstSeq[1:320]!=iSeq[1:320] & firstSeq[1:320]!="." & iSeq[1:320]!="." )) - } - return(sort(unique(Indices))) - }) - repertoireOut <- repertoireIn - repertoireOut <- lapply(names(repertoireOut), function(repertoireName){ - alleleName <- strsplit(repertoireName,"|",fixed=TRUE)[[1]][2] - geneSegmentName <- strsplit(alleleName,"*",fixed=TRUE)[[1]][1] - alleleSeq <- s2c(repertoireOut[[repertoireName]]) - alleleSeq[as.numeric(unlist(SNPs[geneSegmentName]))] <- "N" - alleleSeq <- c2s(alleleSeq) - repertoireOut[[repertoireName]] <- alleleSeq - }) - names(repertoireOut) <- names(repertoireIn) - write.fasta(repertoireOut,names(repertoireOut),file.out=repertoireOutFile) - -} - - - - - - -############ -groupBayes2 = function(indexes, param_resultMat){ - - BayesGDist_Focused_CDR = calculate_bayesG( x=param_resultMat[indexes,1], N=apply(param_resultMat[indexes,c(1,2,4)],1,sum,na.rm=T), p=apply(param_resultMat[indexes,5:8],1,function(x){x[1]/(x[1]+x[2]+x[4])})) - BayesGDist_Focused_FWR = calculate_bayesG( x=param_resultMat[indexes,3], N=apply(param_resultMat[indexes,c(3,2,4)],1,sum,na.rm=T), p=apply(param_resultMat[indexes,5:8],1,function(x){x[3]/(x[3]+x[2]+x[4])})) - #BayesGDist_Local_CDR = calculate_bayesG( x=param_resultMat[indexes,1], N=apply(param_resultMat[indexes,c(1,2)],1,sum,na.rm=T), p=apply(param_resultMat[indexes,5:8],1,function(x){x[1]/(x[1]+x[2])})) - #BayesGDist_Local_FWR = calculate_bayesG( x=param_resultMat[indexes,3], N=apply(param_resultMat[indexes,c(3,4)],1,sum,na.rm=T), p=apply(param_resultMat[indexes,5:8],1,function(x){x[3]/(x[3]+x[4])})) - #BayesGDist_Global_CDR = calculate_bayesG( x=param_resultMat[indexes,1], N=apply(param_resultMat[indexes,c(1,2,3,4)],1,sum,na.rm=T), p=apply(param_resultMat[indexes,5:8],1,function(x){x[1]/(x[1]+x[2]+x[3]+x[4])})) - #BayesGDist_Global_FWR = calculate_bayesG( x=param_resultMat[indexes,3], N=apply(param_resultMat[indexes,c(1,2,3,4)],1,sum,na.rm=T), p=apply(param_resultMat[indexes,5:8],1,function(x){x[3]/(x[1]+x[2]+x[3]+x[4])})) - return ( list("BayesGDist_Focused_CDR"=BayesGDist_Focused_CDR, - "BayesGDist_Focused_FWR"=BayesGDist_Focused_FWR) ) - #"BayesGDist_Local_CDR"=BayesGDist_Local_CDR, - #"BayesGDist_Local_FWR" = BayesGDist_Local_FWR)) -# "BayesGDist_Global_CDR" = BayesGDist_Global_CDR, -# "BayesGDist_Global_FWR" = BayesGDist_Global_FWR) ) - - -} - - -calculate_bayesG <- function( x=array(), N=array(), p=array(), max_sigma=20, length_sigma=4001){ - G <- max(length(x),length(N),length(p)) - x=array(x,dim=G) - N=array(N,dim=G) - p=array(p,dim=G) - - indexOfZero = N>0 & p>0 - N = N[indexOfZero] - x = x[indexOfZero] - p = p[indexOfZero] - G <- length(x) - - if(G){ - - cons<-array( dim=c(length_sigma,G) ) - if(G==1) { - return(calculate_bayes(x=x[G],N=N[G],p=p[G],max_sigma=max_sigma,length_sigma=length_sigma)) - } - else { - for(g in 1:G) cons[,g] <- calculate_bayes(x=x[g],N=N[g],p=p[g],max_sigma=max_sigma,length_sigma=length_sigma) - listMatG <- convolutionPowersOfTwoByTwos(cons,length_sigma=length_sigma) - y<-calculate_bayesGHelper(listMatG,length_sigma=length_sigma) - return( y/sum(y)/(2*max_sigma/(length_sigma-1)) ) - } - }else{ - return(NA) - } -} - - -calculate_bayesGHelper <- function( listMatG,length_sigma=4001 ){ - matG <- listMatG[[1]] - groups <- listMatG[[2]] - i = 1 - resConv <- matG[,i] - denom <- 2^groups[i] - if(length(groups)>1){ - while( i<length(groups) ){ - i = i + 1 - resConv <- weighted_conv(resConv, matG[,i], w= {{2^groups[i]}/denom} ,length_sigma=length_sigma) - #cat({{2^groups[i]}/denom},"\n") - denom <- denom + 2^groups[i] - } - } - return(resConv) -} - -weighted_conv<-function(x,y,w=1,m=100,length_sigma=4001){ -lx<-length(x) -ly<-length(y) -if({lx<m}| {{lx*w}<m}| {{ly}<m}| {{ly*w}<m}){ -if(w<1){ -y1<-approx(1:ly,y,seq(1,ly,length.out=m))$y -x1<-approx(1:lx,x,seq(1,lx,length.out=m/w))$y -lx<-length(x1) -ly<-length(y1) -} -else { -y1<-approx(1:ly,y,seq(1,ly,length.out=m*w))$y -x1<-approx(1:lx,x,seq(1,lx,length.out=m))$y -lx<-length(x1) -ly<-length(y1) -} -} -else{ -x1<-x -y1<-approx(1:ly,y,seq(1,ly,length.out=floor(lx*w)))$y -ly<-length(y1) -} -tmp<-approx(x=1:(lx+ly-1),y=convolve(x1,rev(y1),type="open"),xout=seq(1,lx+ly-1,length.out=length_sigma))$y -tmp[tmp<=0] = 0 -return(tmp/sum(tmp)) -} - -######################## - - - - -mutabilityMatrixONE<-rep(0,4) -names(mutabilityMatrixONE)<-NUCLEOTIDES - - # triMutability Background Count - buildMutabilityModelONE <- function( inputMatrixIndex, model=0 , multipleMutation=0, seqWithStops=0, stopMutations=0){ - - #rowOrigMatInput = matInput[inputMatrixIndex,] - seqGL = gsub("-", "", matInput[inputMatrixIndex,2]) - seqInput = gsub("-", "", matInput[inputMatrixIndex,1]) - matInput[inputMatrixIndex,] <<- c(seqInput,seqGL) - seqLength = nchar(seqGL) - mutationCount <- analyzeMutations(inputMatrixIndex, model, multipleMutation, seqWithStops) - BackgroundMatrix = mutabilityMatrixONE - MutationMatrix = mutabilityMatrixONE - MutationCountMatrix = mutabilityMatrixONE - if(!is.na(mutationCount)){ - if((stopMutations==0 & model==0) | (stopMutations==1 & (sum(mutationCount=="Stop")<length(mutationCount))) | (model==1 & (sum(mutationCount=="S")>0)) ){ - -# ONEmerStartPos = 1:(seqLength) -# ONEmerLength <- length(ONEmerStartPos) - ONEmerGL <- s2c(seqGL) - ONEmerSeq <- s2c(seqInput) - - #Background - for(ONEmerIndex in 1:seqLength){ - ONEmer = ONEmerGL[ONEmerIndex] - if(ONEmer!="N"){ - ONEmerCodonPos = getCodonPos(ONEmerIndex) - ONEmerReadingFrameCodon = c2s(ONEmerGL[ONEmerCodonPos]) - ONEmerReadingFrameCodonInputSeq = c2s(ONEmerSeq[ONEmerCodonPos] ) - - # All mutations model - #if(!any(grep("N",ONEmerReadingFrameCodon))){ - if(model==0){ - if(stopMutations==0){ - if(!any(grep("N",ONEmerReadingFrameCodonInputSeq))) - BackgroundMatrix[ONEmer] <- (BackgroundMatrix[ONEmer] + 1) - }else{ - if( !any(grep("N",ONEmerReadingFrameCodonInputSeq)) & translateCodonToAminoAcid(ONEmerReadingFrameCodonInputSeq)!="*"){ - positionWithinCodon = which(ONEmerCodonPos==ONEmerIndex)#positionsWithinCodon[(ONEmerCodonPos[1]%%3)+1] - BackgroundMatrix[ONEmer] <- (BackgroundMatrix[ONEmer] + probNonStopMutations[ONEmerReadingFrameCodon,positionWithinCodon]) - } - } - }else{ # Only silent mutations - if( !any(grep("N",ONEmerReadingFrameCodonInputSeq)) & translateCodonToAminoAcid(ONEmerReadingFrameCodonInputSeq)!="*" & translateCodonToAminoAcid(ONEmerReadingFrameCodonInputSeq)==translateCodonToAminoAcid(ONEmerReadingFrameCodon) ){ - positionWithinCodon = which(ONEmerCodonPos==ONEmerIndex) - BackgroundMatrix[ONEmer] <- (BackgroundMatrix[ONEmer] + probSMutations[ONEmerReadingFrameCodon,positionWithinCodon]) - } - } - } - } - } - - #Mutations - if(stopMutations==1) mutationCount = mutationCount[mutationCount!="Stop"] - if(model==1) mutationCount = mutationCount[mutationCount=="S"] - mutationPositions = as.numeric(names(mutationCount)) - mutationCount = mutationCount[mutationPositions>2 & mutationPositions<(seqLength-1)] - mutationPositions = mutationPositions[mutationPositions>2 & mutationPositions<(seqLength-1)] - countMutations = 0 - for(mutationPosition in mutationPositions){ - ONEmerIndex = mutationPosition - ONEmer = ONEmerSeq[ONEmerIndex] - GLONEmer = ONEmerGL[ONEmerIndex] - ONEmerCodonPos = getCodonPos(ONEmerIndex) - ONEmerReadingFrameCodon = c2s(ONEmerSeq[ONEmerCodonPos]) - ONEmerReadingFrameCodonGL =c2s(ONEmerGL[ONEmerCodonPos]) - if(!any(grep("N",ONEmer)) & !any(grep("N",GLONEmer))){ - if(model==0){ - countMutations = countMutations + 1 - MutationMatrix[GLONEmer] <- (MutationMatrix[GLONEmer] + 1) - MutationCountMatrix[GLONEmer] <- (MutationCountMatrix[GLONEmer] + 1) - }else{ - if( translateCodonToAminoAcid(ONEmerReadingFrameCodonGL)!="*" ){ - countMutations = countMutations + 1 - positionWithinCodon = which(ONEmerCodonPos==ONEmerIndex) - glNuc = substr(ONEmerReadingFrameCodonGL,positionWithinCodon,positionWithinCodon) - inputNuc = substr(ONEmerReadingFrameCodon,positionWithinCodon,positionWithinCodon) - MutationMatrix[GLONEmer] <- (MutationMatrix[GLONEmer] + substitution[glNuc,inputNuc]) - MutationCountMatrix[GLONEmer] <- (MutationCountMatrix[GLONEmer] + 1) - } - } - } - } - - seqMutability = MutationMatrix/BackgroundMatrix - seqMutability = seqMutability/sum(seqMutability,na.rm=TRUE) - #cat(inputMatrixIndex,"\t",countMutations,"\n") - return(list("seqMutability" = seqMutability,"numbMutations" = countMutations,"seqMutabilityCount" = MutationCountMatrix, "BackgroundMatrix"=BackgroundMatrix)) -# tmp<-list("seqMutability" = seqMutability,"numbMutations" = countMutations,"seqMutabilityCount" = MutationCountMatrix) - } - } - -################ -# $Id: trim.R 989 2006-10-29 15:28:26Z ggorjan $ - -trim <- function(s, recode.factor=TRUE, ...) - UseMethod("trim", s) - -trim.default <- function(s, recode.factor=TRUE, ...) - s - -trim.character <- function(s, recode.factor=TRUE, ...) -{ - s <- sub(pattern="^ +", replacement="", x=s) - s <- sub(pattern=" +$", replacement="", x=s) - s -} - -trim.factor <- function(s, recode.factor=TRUE, ...) -{ - levels(s) <- trim(levels(s)) - if(recode.factor) { - dots <- list(x=s, ...) - if(is.null(dots$sort)) dots$sort <- sort - s <- do.call(what=reorder.factor, args=dots) - } - s -} - -trim.list <- function(s, recode.factor=TRUE, ...) - lapply(s, trim, recode.factor=recode.factor, ...) - -trim.data.frame <- function(s, recode.factor=TRUE, ...) -{ - s[] <- trim.list(s, recode.factor=recode.factor, ...) - s -} -####################################### -# Compute the expected for each sequence-germline pair by codon -getExpectedIndividualByCodon <- function(matInput){ -if( any(grep("multicore",search())) ){ - facGL <- factor(matInput[,2]) - facLevels = levels(facGL) - LisGLs_MutabilityU = mclapply(1:length(facLevels), function(x){ - computeMutabilities(facLevels[x]) - }) - facIndex = match(facGL,facLevels) - - LisGLs_Mutability = mclapply(1:nrow(matInput), function(x){ - cInput = rep(NA,nchar(matInput[x,1])) - cInput[s2c(matInput[x,1])!="N"] = 1 - LisGLs_MutabilityU[[facIndex[x]]] * cInput - }) - - LisGLs_Targeting = mclapply(1:dim(matInput)[1], function(x){ - computeTargeting(matInput[x,2],LisGLs_Mutability[[x]]) - }) - - LisGLs_MutationTypes = mclapply(1:length(matInput[,2]),function(x){ - #print(x) - computeMutationTypes(matInput[x,2]) - }) - - LisGLs_R_Exp = mclapply(1:nrow(matInput), function(x){ - Exp_R <- rollapply(as.zoo(1:readEnd),width=3,by=3, - function(codonNucs){ - RPos = which(LisGLs_MutationTypes[[x]][,codonNucs]=="R") - sum( LisGLs_Targeting[[x]][,codonNucs][RPos], na.rm=T ) - } - ) - }) - - LisGLs_S_Exp = mclapply(1:nrow(matInput), function(x){ - Exp_S <- rollapply(as.zoo(1:readEnd),width=3,by=3, - function(codonNucs){ - SPos = which(LisGLs_MutationTypes[[x]][,codonNucs]=="S") - sum( LisGLs_Targeting[[x]][,codonNucs][SPos], na.rm=T ) - } - ) - }) - - Exp_R = matrix(unlist(LisGLs_R_Exp),nrow=nrow(matInput),ncol=readEnd/3,T) - Exp_S = matrix(unlist(LisGLs_S_Exp),nrow=nrow(matInput),ncol=readEnd/3,T) - return( list( "Expected_R"=Exp_R, "Expected_S"=Exp_S) ) - }else{ - facGL <- factor(matInput[,2]) - facLevels = levels(facGL) - LisGLs_MutabilityU = lapply(1:length(facLevels), function(x){ - computeMutabilities(facLevels[x]) - }) - facIndex = match(facGL,facLevels) - - LisGLs_Mutability = lapply(1:nrow(matInput), function(x){ - cInput = rep(NA,nchar(matInput[x,1])) - cInput[s2c(matInput[x,1])!="N"] = 1 - LisGLs_MutabilityU[[facIndex[x]]] * cInput - }) - - LisGLs_Targeting = lapply(1:dim(matInput)[1], function(x){ - computeTargeting(matInput[x,2],LisGLs_Mutability[[x]]) - }) - - LisGLs_MutationTypes = lapply(1:length(matInput[,2]),function(x){ - #print(x) - computeMutationTypes(matInput[x,2]) - }) - - LisGLs_R_Exp = lapply(1:nrow(matInput), function(x){ - Exp_R <- rollapply(as.zoo(1:readEnd),width=3,by=3, - function(codonNucs){ - RPos = which(LisGLs_MutationTypes[[x]][,codonNucs]=="R") - sum( LisGLs_Targeting[[x]][,codonNucs][RPos], na.rm=T ) - } - ) - }) - - LisGLs_S_Exp = lapply(1:nrow(matInput), function(x){ - Exp_S <- rollapply(as.zoo(1:readEnd),width=3,by=3, - function(codonNucs){ - SPos = which(LisGLs_MutationTypes[[x]][,codonNucs]=="S") - sum( LisGLs_Targeting[[x]][,codonNucs][SPos], na.rm=T ) - } - ) - }) - - Exp_R = matrix(unlist(LisGLs_R_Exp),nrow=nrow(matInput),ncol=readEnd/3,T) - Exp_S = matrix(unlist(LisGLs_S_Exp),nrow=nrow(matInput),ncol=readEnd/3,T) - return( list( "Expected_R"=Exp_R, "Expected_S"=Exp_S) ) - } -} - -# getObservedMutationsByCodon <- function(listMutations){ -# numbSeqs <- length(listMutations) -# obsMu_R <- matrix(0,nrow=numbSeqs,ncol=readEnd/3,dimnames=list(c(1:numbSeqs),c(1:(readEnd/3)))) -# obsMu_S <- obsMu_R -# temp <- mclapply(1:length(listMutations), function(i){ -# arrMutations = listMutations[[i]] -# RPos = as.numeric(names(arrMutations)[arrMutations=="R"]) -# RPos <- sapply(RPos,getCodonNumb) -# if(any(RPos)){ -# tabR <- table(RPos) -# obsMu_R[i,as.numeric(names(tabR))] <<- tabR -# } -# -# SPos = as.numeric(names(arrMutations)[arrMutations=="S"]) -# SPos <- sapply(SPos,getCodonNumb) -# if(any(SPos)){ -# tabS <- table(SPos) -# obsMu_S[i,names(tabS)] <<- tabS -# } -# } -# ) -# return( list( "Observed_R"=obsMu_R, "Observed_S"=obsMu_S) ) -# } - -getObservedMutationsByCodon <- function(listMutations){ - numbSeqs <- length(listMutations) - obsMu_R <- matrix(0,nrow=numbSeqs,ncol=readEnd/3,dimnames=list(c(1:numbSeqs),c(1:(readEnd/3)))) - obsMu_S <- obsMu_R - temp <- lapply(1:length(listMutations), function(i){ - arrMutations = listMutations[[i]] - RPos = as.numeric(names(arrMutations)[arrMutations=="R"]) - RPos <- sapply(RPos,getCodonNumb) - if(any(RPos)){ - tabR <- table(RPos) - obsMu_R[i,as.numeric(names(tabR))] <<- tabR - } - - SPos = as.numeric(names(arrMutations)[arrMutations=="S"]) - SPos <- sapply(SPos,getCodonNumb) - if(any(SPos)){ - tabS <- table(SPos) - obsMu_S[i,names(tabS)] <<- tabS - } - } - ) - return( list( "Observed_R"=obsMu_R, "Observed_S"=obsMu_S) ) -} - +######################################################################################### +# License Agreement +# +# THIS WORK IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE +# ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER +# APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE +# OR COPYRIGHT LAW IS PROHIBITED. +# +# BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE +# BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED +# TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN +# CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. +# +# BASELIne: Bayesian Estimation of Antigen-Driven Selection in Immunoglobulin Sequences +# Coded by: Mohamed Uduman & Gur Yaari +# Copyright 2012 Kleinstein Lab +# Version: 1.3 (01/23/2014) +######################################################################################### + +# Global variables + + FILTER_BY_MUTATIONS = 1000 + + # Nucleotides + NUCLEOTIDES = c("A","C","G","T") + + # Amino Acids + AMINO_ACIDS <- c("F", "F", "L", "L", "S", "S", "S", "S", "Y", "Y", "*", "*", "C", "C", "*", "W", "L", "L", "L", "L", "P", "P", "P", "P", "H", "H", "Q", "Q", "R", "R", "R", "R", "I", "I", "I", "M", "T", "T", "T", "T", "N", "N", "K", "K", "S", "S", "R", "R", "V", "V", "V", "V", "A", "A", "A", "A", "D", "D", "E", "E", "G", "G", "G", "G") + names(AMINO_ACIDS) <- c("TTT", "TTC", "TTA", "TTG", "TCT", "TCC", "TCA", "TCG", "TAT", "TAC", "TAA", "TAG", "TGT", "TGC", "TGA", "TGG", "CTT", "CTC", "CTA", "CTG", "CCT", "CCC", "CCA", "CCG", "CAT", "CAC", "CAA", "CAG", "CGT", "CGC", "CGA", "CGG", "ATT", "ATC", "ATA", "ATG", "ACT", "ACC", "ACA", "ACG", "AAT", "AAC", "AAA", "AAG", "AGT", "AGC", "AGA", "AGG", "GTT", "GTC", "GTA", "GTG", "GCT", "GCC", "GCA", "GCG", "GAT", "GAC", "GAA", "GAG", "GGT", "GGC", "GGA", "GGG") + names(AMINO_ACIDS) <- names(AMINO_ACIDS) + + #Amino Acid Traits + #"*" "A" "C" "D" "E" "F" "G" "H" "I" "K" "L" "M" "N" "P" "Q" "R" "S" "T" "V" "W" "Y" + #B = "Hydrophobic/Burried" N = "Intermediate/Neutral" S="Hydrophilic/Surface") + TRAITS_AMINO_ACIDS_CHOTHIA98 <- c("*","N","B","S","S","B","N","N","B","S","B","B","S","N","S","S","N","N","B","B","N") + names(TRAITS_AMINO_ACIDS_CHOTHIA98) <- sort(unique(AMINO_ACIDS)) + TRAITS_AMINO_ACIDS <- array(NA,21) + + # Codon Table + CODON_TABLE <- as.data.frame(matrix(NA,ncol=64,nrow=12)) + + # Substitution Model: Smith DS et al. 1996 + substitution_Literature_Mouse <- matrix(c(0, 0.156222928, 0.601501588, 0.242275484, 0.172506739, 0, 0.241239892, 0.586253369, 0.54636291, 0.255795364, 0, 0.197841727, 0.290240811, 0.467680608, 0.24207858, 0),nrow=4,byrow=T,dimnames=list(NUCLEOTIDES,NUCLEOTIDES)) + substitution_Flu_Human <- matrix(c(0,0.2795596,0.5026927,0.2177477,0.1693210,0,0.3264723,0.5042067,0.4983549,0.3328321,0,0.1688130,0.2021079,0.4696077,0.3282844,0),4,4,byrow=T,dimnames=list(NUCLEOTIDES,NUCLEOTIDES)) + substitution_Flu25_Human <- matrix(c(0,0.2580641,0.5163685,0.2255674,0.1541125,0,0.3210224,0.5248651,0.5239281,0.3101292,0,0.1659427,0.1997207,0.4579444,0.3423350,0),4,4,byrow=T,dimnames=list(NUCLEOTIDES,NUCLEOTIDES)) + load("FiveS_Substitution.RData") + + # Mutability Models: Shapiro GS et al. 2002 + triMutability_Literature_Human <- matrix(c(0.24, 1.2, 0.96, 0.43, 2.14, 2, 1.11, 1.9, 0.85, 1.83, 2.36, 1.31, 0.82, 0.52, 0.89, 1.33, 1.4, 0.82, 1.83, 0.73, 1.83, 1.62, 1.53, 0.57, 0.92, 0.42, 0.42, 1.47, 3.44, 2.58, 1.18, 0.47, 0.39, 1.12, 1.8, 0.68, 0.47, 2.19, 2.35, 2.19, 1.05, 1.84, 1.26, 0.28, 0.98, 2.37, 0.66, 1.58, 0.67, 0.92, 1.76, 0.83, 0.97, 0.56, 0.75, 0.62, 2.26, 0.62, 0.74, 1.11, 1.16, 0.61, 0.88, 0.67, 0.37, 0.07, 1.08, 0.46, 0.31, 0.94, 0.62, 0.57, 0.29, NA, 1.44, 0.46, 0.69, 0.57, 0.24, 0.37, 1.1, 0.99, 1.39, 0.6, 2.26, 1.24, 1.36, 0.52, 0.33, 0.26, 1.25, 0.37, 0.58, 1.03, 1.2, 0.34, 0.49, 0.33, 2.62, 0.16, 0.4, 0.16, 0.35, 0.75, 1.85, 0.94, 1.61, 0.85, 2.09, 1.39, 0.3, 0.52, 1.33, 0.29, 0.51, 0.26, 0.51, 3.83, 2.01, 0.71, 0.58, 0.62, 1.07, 0.28, 1.2, 0.74, 0.25, 0.59, 1.09, 0.91, 1.36, 0.45, 2.89, 1.27, 3.7, 0.69, 0.28, 0.41, 1.17, 0.56, 0.93, 3.41, 1, 1, NA, 5.9, 0.74, 2.51, 2.24, 2.24, 1.95, 3.32, 2.34, 1.3, 2.3, 1, 0.66, 0.73, 0.93, 0.41, 0.65, 0.89, 0.65, 0.32, NA, 0.43, 0.85, 0.43, 0.31, 0.31, 0.23, 0.29, 0.57, 0.71, 0.48, 0.44, 0.76, 0.51, 1.7, 0.85, 0.74, 2.23, 2.08, 1.16, 0.51, 0.51, 1, 0.5, NA, NA, 0.71, 2.14), nrow=64,byrow=T) + triMutability_Literature_Mouse <- matrix(c(1.31, 1.35, 1.42, 1.18, 2.02, 2.02, 1.02, 1.61, 1.99, 1.42, 2.01, 1.03, 2.02, 0.97, 0.53, 0.71, 1.19, 0.83, 0.96, 0.96, 0, 1.7, 2.22, 0.59, 1.24, 1.07, 0.51, 1.68, 3.36, 3.36, 1.14, 0.29, 0.33, 0.9, 1.11, 0.63, 1.08, 2.07, 2.27, 1.74, 0.22, 1.19, 2.37, 1.15, 1.15, 1.56, 0.81, 0.34, 0.87, 0.79, 2.13, 0.49, 0.85, 0.97, 0.36, 0.82, 0.66, 0.63, 1.15, 0.94, 0.85, 0.25, 0.93, 1.19, 0.4, 0.2, 0.44, 0.44, 0.88, 1.06, 0.77, 0.39, 0, 0, 0, 0, 0, 0, 0.43, 0.43, 0.86, 0.59, 0.59, 0, 1.18, 0.86, 2.9, 1.66, 0.4, 0.2, 1.54, 0.43, 0.69, 1.71, 0.68, 0.55, 0.91, 0.7, 1.71, 0.09, 0.27, 0.63, 0.2, 0.45, 1.01, 1.63, 0.96, 1.48, 2.18, 1.2, 1.31, 0.66, 2.13, 0.49, 0, 0, 0, 2.97, 2.8, 0.79, 0.4, 0.5, 0.4, 0.11, 1.68, 0.42, 0.13, 0.44, 0.93, 0.71, 1.11, 1.19, 2.71, 1.08, 3.43, 0.4, 0.67, 0.47, 1.02, 0.14, 1.56, 1.98, 0.53, 0.33, 0.63, 2.06, 1.77, 1.46, 3.74, 2.93, 2.1, 2.18, 0.78, 0.73, 2.93, 0.63, 0.57, 0.17, 0.85, 0.52, 0.31, 0.31, 0, 0, 0.51, 0.29, 0.83, 0.54, 0.28, 0.47, 0.9, 0.99, 1.24, 2.47, 0.73, 0.23, 1.13, 0.24, 2.12, 0.24, 0.33, 0.83, 1.41, 0.62, 0.28, 0.35, 0.77, 0.17, 0.72, 0.58, 0.45, 0.41), nrow=64,byrow=T) + triMutability_Names <- c("AAA", "AAC", "AAG", "AAT", "ACA", "ACC", "ACG", "ACT", "AGA", "AGC", "AGG", "AGT", "ATA", "ATC", "ATG", "ATT", "CAA", "CAC", "CAG", "CAT", "CCA", "CCC", "CCG", "CCT", "CGA", "CGC", "CGG", "CGT", "CTA", "CTC", "CTG", "CTT", "GAA", "GAC", "GAG", "GAT", "GCA", "GCC", "GCG", "GCT", "GGA", "GGC", "GGG", "GGT", "GTA", "GTC", "GTG", "GTT", "TAA", "TAC", "TAG", "TAT", "TCA", "TCC", "TCG", "TCT", "TGA", "TGC", "TGG", "TGT", "TTA", "TTC", "TTG", "TTT") + load("FiveS_Mutability.RData") + +# Functions + + # Translate codon to amino acid + translateCodonToAminoAcid<-function(Codon){ + return(AMINO_ACIDS[Codon]) + } + + # Translate amino acid to trait change + translateAminoAcidToTraitChange<-function(AminoAcid){ + return(TRAITS_AMINO_ACIDS[AminoAcid]) + } + + # Initialize Amino Acid Trait Changes + initializeTraitChange <- function(traitChangeModel=1,species=1,traitChangeFileName=NULL){ + if(!is.null(traitChangeFileName)){ + tryCatch( + traitChange <- read.delim(traitChangeFileName,sep="\t",header=T) + , error = function(ex){ + cat("Error|Error reading trait changes. Please check file name/path and format.\n") + q() + } + ) + }else{ + traitChange <- TRAITS_AMINO_ACIDS_CHOTHIA98 + } + TRAITS_AMINO_ACIDS <<- traitChange + } + + # Read in formatted nucleotide substitution matrix + initializeSubstitutionMatrix <- function(substitutionModel,species,subsMatFileName=NULL){ + if(!is.null(subsMatFileName)){ + tryCatch( + subsMat <- read.delim(subsMatFileName,sep="\t",header=T) + , error = function(ex){ + cat("Error|Error reading substitution matrix. Please check file name/path and format.\n") + q() + } + ) + if(sum(apply(subsMat,1,sum)==1)!=4) subsMat = t(apply(subsMat,1,function(x)x/sum(x))) + }else{ + if(substitutionModel==1)subsMat <- substitution_Literature_Mouse + if(substitutionModel==2)subsMat <- substitution_Flu_Human + if(substitutionModel==3)subsMat <- substitution_Flu25_Human + + } + + if(substitutionModel==0){ + subsMat <- matrix(1,4,4) + subsMat[,] = 1/3 + subsMat[1,1] = 0 + subsMat[2,2] = 0 + subsMat[3,3] = 0 + subsMat[4,4] = 0 + } + + + NUCLEOTIDESN = c(NUCLEOTIDES,"N", "-") + if(substitutionModel==5){ + subsMat <- FiveS_Substitution + return(subsMat) + }else{ + subsMat <- rbind(subsMat,rep(NA,4),rep(NA,4)) + return( matrix(data.matrix(subsMat),6,4,dimnames=list(NUCLEOTIDESN,NUCLEOTIDES) ) ) + } + } + + + # Read in formatted Mutability file + initializeMutabilityMatrix <- function(mutabilityModel=1, species=1,mutabilityMatFileName=NULL){ + if(!is.null(mutabilityMatFileName)){ + tryCatch( + mutabilityMat <- read.delim(mutabilityMatFileName,sep="\t",header=T) + , error = function(ex){ + cat("Error|Error reading mutability matrix. Please check file name/path and format.\n") + q() + } + ) + }else{ + mutabilityMat <- triMutability_Literature_Human + if(species==2) mutabilityMat <- triMutability_Literature_Mouse + } + + if(mutabilityModel==0){ mutabilityMat <- matrix(1,64,3)} + + if(mutabilityModel==5){ + mutabilityMat <- FiveS_Mutability + return(mutabilityMat) + }else{ + return( matrix( data.matrix(mutabilityMat), 64, 3, dimnames=list(triMutability_Names,1:3)) ) + } + } + + # Read FASTA file formats + # Modified from read.fasta from the seqinR package + baseline.read.fasta <- + function (file = system.file("sequences/sample.fasta", package = "seqinr"), + seqtype = c("DNA", "AA"), as.string = FALSE, forceDNAtolower = TRUE, + set.attributes = TRUE, legacy.mode = TRUE, seqonly = FALSE, + strip.desc = FALSE, sizeof.longlong = .Machine$sizeof.longlong, + endian = .Platform$endian, apply.mask = TRUE) + { + seqtype <- match.arg(seqtype) + + lines <- readLines(file) + + if (legacy.mode) { + comments <- grep("^;", lines) + if (length(comments) > 0) + lines <- lines[-comments] + } + + + ind_groups<-which(substr(lines, 1L, 3L) == ">>>") + lines_mod<-lines + + if(!length(ind_groups)){ + lines_mod<-c(">>>All sequences combined",lines) + } + + ind_groups<-which(substr(lines_mod, 1L, 3L) == ">>>") + + lines <- array("BLA",dim=(length(ind_groups)+length(lines_mod))) + id<-sapply(1:length(ind_groups),function(i)ind_groups[i]+i-1)+1 + lines[id] <- "THIS IS A FAKE SEQUENCE" + lines[-id] <- lines_mod + rm(lines_mod) + + ind <- which(substr(lines, 1L, 1L) == ">") + nseq <- length(ind) + if (nseq == 0) { + stop("no line starting with a > character found") + } + start <- ind + 1 + end <- ind - 1 + + while( any(which(ind%in%end)) ){ + ind=ind[-which(ind%in%end)] + nseq <- length(ind) + if (nseq == 0) { + stop("no line starting with a > character found") + } + start <- ind + 1 + end <- ind - 1 + } + + end <- c(end[-1], length(lines)) + sequences <- lapply(seq_len(nseq), function(i) paste(lines[start[i]:end[i]], collapse = "")) + if (seqonly) + return(sequences) + nomseq <- lapply(seq_len(nseq), function(i) { + + #firstword <- strsplit(lines[ind[i]], " ")[[1]][1] + substr(lines[ind[i]], 2, nchar(lines[ind[i]])) + + }) + if (seqtype == "DNA") { + if (forceDNAtolower) { + sequences <- as.list(tolower(chartr(".","-",sequences))) + }else{ + sequences <- as.list(toupper(chartr(".","-",sequences))) + } + } + if (as.string == FALSE) + sequences <- lapply(sequences, s2c) + if (set.attributes) { + for (i in seq_len(nseq)) { + Annot <- lines[ind[i]] + if (strip.desc) + Annot <- substr(Annot, 2L, nchar(Annot)) + attributes(sequences[[i]]) <- list(name = nomseq[[i]], + Annot = Annot, class = switch(seqtype, AA = "SeqFastaAA", + DNA = "SeqFastadna")) + } + } + names(sequences) <- nomseq + return(sequences) + } + + + # Replaces non FASTA characters in input files with N + replaceNonFASTAChars <-function(inSeq="ACGTN-AApA"){ + gsub('[^ACGTNacgt[:punct:]-[:punct:].]','N',inSeq,perl=TRUE) + } + + # Find the germlines in the FASTA list + germlinesInFile <- function(seqIDs){ + firstChar = sapply(seqIDs,function(x){substr(x,1,1)}) + secondChar = sapply(seqIDs,function(x){substr(x,2,2)}) + return(firstChar==">" & secondChar!=">") + } + + # Find the groups in the FASTA list + groupsInFile <- function(seqIDs){ + sapply(seqIDs,function(x){substr(x,1,2)})==">>" + } + + # In the process of finding germlines/groups, expand from the start to end of the group + expandTillNext <- function(vecPosToID){ + IDs = names(vecPosToID) + posOfInterests = which(vecPosToID) + + expandedID = rep(NA,length(IDs)) + expandedIDNames = gsub(">","",IDs[posOfInterests]) + startIndexes = c(1,posOfInterests[-1]) + stopIndexes = c(posOfInterests[-1]-1,length(IDs)) + expandedID = unlist(sapply(1:length(startIndexes),function(i){ + rep(i,stopIndexes[i]-startIndexes[i]+1) + })) + names(expandedID) = unlist(sapply(1:length(startIndexes),function(i){ + rep(expandedIDNames[i],stopIndexes[i]-startIndexes[i]+1) + })) + return(expandedID) + } + + # Process FASTA (list) to return a matrix[input, germline) + processInputAdvanced <- function(inputFASTA){ + + seqIDs = names(inputFASTA) + numbSeqs = length(seqIDs) + posGermlines1 = germlinesInFile(seqIDs) + numbGermlines = sum(posGermlines1) + posGroups1 = groupsInFile(seqIDs) + numbGroups = sum(posGroups1) + consDef = NA + + if(numbGermlines==0){ + posGermlines = 2 + numbGermlines = 1 + } + + glPositionsSum = cumsum(posGermlines1) + glPositions = table(glPositionsSum) + #Find the position of the conservation row + consDefPos = as.numeric(names(glPositions[names(glPositions)!=0 & glPositions==1]))+1 + if( length(consDefPos)> 0 ){ + consDefID = match(consDefPos, glPositionsSum) + #The coservation rows need to be pulled out and stores seperately + consDef = inputFASTA[consDefID] + inputFASTA = inputFASTA[-consDefID] + + seqIDs = names(inputFASTA) + numbSeqs = length(seqIDs) + posGermlines1 = germlinesInFile(seqIDs) + numbGermlines = sum(posGermlines1) + posGroups1 = groupsInFile(seqIDs) + numbGroups = sum(posGroups1) + if(numbGermlines==0){ + posGermlines = 2 + numbGermlines = 1 + } + } + + posGroups <- expandTillNext(posGroups1) + posGermlines <- expandTillNext(posGermlines1) + posGermlines[posGroups1] = 0 + names(posGermlines)[posGroups1] = names(posGroups)[posGroups1] + posInput = rep(TRUE,numbSeqs) + posInput[posGroups1 | posGermlines1] = FALSE + + matInput = matrix(NA, nrow=sum(posInput), ncol=2) + rownames(matInput) = seqIDs[posInput] + colnames(matInput) = c("Input","Germline") + + vecInputFASTA = unlist(inputFASTA) + matInput[,1] = vecInputFASTA[posInput] + matInput[,2] = vecInputFASTA[ which( names(inputFASTA)%in%paste(">",names(posGermlines)[posInput],sep="") )[ posGermlines[posInput]] ] + + germlines = posGermlines[posInput] + groups = posGroups[posInput] + + return( list("matInput"=matInput, "germlines"=germlines, "groups"=groups, "conservationDefinition"=consDef )) + } + + + # Replace leading and trailing dashes in the sequence + replaceLeadingTrailingDashes <- function(x,readEnd){ + iiGap = unlist(gregexpr("-",x[1])) + ggGap = unlist(gregexpr("-",x[2])) + #posToChange = intersect(iiGap,ggGap) + + + seqIn = replaceLeadingTrailingDashesHelper(x[1]) + seqGL = replaceLeadingTrailingDashesHelper(x[2]) + seqTemplate = rep('N',readEnd) + seqIn <- c(seqIn,seqTemplate[(length(seqIn)+1):readEnd]) + seqGL <- c(seqGL,seqTemplate[(length(seqGL)+1):readEnd]) +# if(posToChange!=-1){ +# seqIn[posToChange] = "-" +# seqGL[posToChange] = "-" +# } + + seqIn = c2s(seqIn[1:readEnd]) + seqGL = c2s(seqGL[1:readEnd]) + + lenGL = nchar(seqGL) + if(lenGL<readEnd){ + seqGL = paste(seqGL,c2s(rep("N",readEnd-lenGL)),sep="") + } + + lenInput = nchar(seqIn) + if(lenInput<readEnd){ + seqIn = paste(seqIn,c2s(rep("N",readEnd-lenInput)),sep="") + } + return( c(seqIn,seqGL) ) + } + + replaceLeadingTrailingDashesHelper <- function(x){ + grepResults = gregexpr("-*",x) + grepResultsPos = unlist(grepResults) + grepResultsLen = attr(grepResults[[1]],"match.length") + #print(paste("x = '", x, "'", sep="")) + x = s2c(x) + if(x[1]=="-"){ + x[1:grepResultsLen[1]] = "N" + } + if(x[length(x)]=="-"){ + x[(length(x)-grepResultsLen[length(grepResultsLen)]+1):length(x)] = "N" + } + return(x) + } + + + + + # Check sequences for indels + checkForInDels <- function(matInputP){ + insPos <- checkInsertion(matInputP) + delPos <- checkDeletions(matInputP) + return(list("Insertions"=insPos, "Deletions"=delPos)) + } + + # Check sequences for insertions + checkInsertion <- function(matInputP){ + insertionCheck = apply( matInputP,1, function(x){ + inputGaps <- as.vector( gregexpr("-",x[1])[[1]] ) + glGaps <- as.vector( gregexpr("-",x[2])[[1]] ) + return( is.finite( match(FALSE, glGaps%in%inputGaps ) ) ) + }) + return(as.vector(insertionCheck)) + } + # Fix inserstions + fixInsertions <- function(matInputP){ + insPos <- checkInsertion(matInputP) + sapply((1:nrow(matInputP))[insPos],function(rowIndex){ + x <- matInputP[rowIndex,] + inputGaps <- gregexpr("-",x[1])[[1]] + glGaps <- gregexpr("-",x[2])[[1]] + posInsertions <- glGaps[!(glGaps%in%inputGaps)] + inputInsertionToN <- s2c(x[2]) + inputInsertionToN[posInsertions]!="-" + inputInsertionToN[posInsertions] <- "N" + inputInsertionToN <- c2s(inputInsertionToN) + matInput[rowIndex,2] <<- inputInsertionToN + }) + return(insPos) + } + + # Check sequences for deletions + checkDeletions <-function(matInputP){ + deletionCheck = apply( matInputP,1, function(x){ + inputGaps <- as.vector( gregexpr("-",x[1])[[1]] ) + glGaps <- as.vector( gregexpr("-",x[2])[[1]] ) + return( is.finite( match(FALSE, inputGaps%in%glGaps ) ) ) + }) + return(as.vector(deletionCheck)) + } + # Fix sequences with deletions + fixDeletions <- function(matInputP){ + delPos <- checkDeletions(matInputP) + sapply((1:nrow(matInputP))[delPos],function(rowIndex){ + x <- matInputP[rowIndex,] + inputGaps <- gregexpr("-",x[1])[[1]] + glGaps <- gregexpr("-",x[2])[[1]] + posDeletions <- inputGaps[!(inputGaps%in%glGaps)] + inputDeletionToN <- s2c(x[1]) + inputDeletionToN[posDeletions] <- "N" + inputDeletionToN <- c2s(inputDeletionToN) + matInput[rowIndex,1] <<- inputDeletionToN + }) + return(delPos) + } + + + # Trim DNA sequence to the last codon + trimToLastCodon <- function(seqToTrim){ + seqLen = nchar(seqToTrim) + trimmedSeq = s2c(seqToTrim) + poi = seqLen + tailLen = 0 + + while(trimmedSeq[poi]=="-" || trimmedSeq[poi]=="."){ + tailLen = tailLen + 1 + poi = poi - 1 + } + + trimmedSeq = c2s(trimmedSeq[1:(seqLen-tailLen)]) + seqLen = nchar(trimmedSeq) + # Trim sequence to last codon + if( getCodonPos(seqLen)[3] > seqLen ) + trimmedSeq = substr(seqToTrim,1, ( (getCodonPos(seqLen)[1])-1 ) ) + + return(trimmedSeq) + } + + # Given a nuclotide position, returns the pos of the 3 nucs that made the codon + # e.g. nuc 86 is part of nucs 85,86,87 + getCodonPos <- function(nucPos){ + codonNum = (ceiling(nucPos/3))*3 + return( (codonNum-2):codonNum) + } + + # Given a nuclotide position, returns the codon number + # e.g. nuc 86 = codon 29 + getCodonNumb <- function(nucPos){ + return( ceiling(nucPos/3) ) + } + + # Given a codon, returns all the nuc positions that make the codon + getCodonNucs <- function(codonNumb){ + getCodonPos(codonNumb*3) + } + + computeCodonTable <- function(testID=1){ + + if(testID<=4){ + # Pre-compute every codons + intCounter = 1 + for(pOne in NUCLEOTIDES){ + for(pTwo in NUCLEOTIDES){ + for(pThree in NUCLEOTIDES){ + codon = paste(pOne,pTwo,pThree,sep="") + colnames(CODON_TABLE)[intCounter] = codon + intCounter = intCounter + 1 + CODON_TABLE[,codon] = mutationTypeOptimized(cbind(permutateAllCodon(codon),rep(codon,12))) + } + } + } + chars = c("N","A","C","G","T", "-") + for(a in chars){ + for(b in chars){ + for(c in chars){ + if(a=="N" | b=="N" | c=="N"){ + #cat(paste(a,b,c),sep="","\n") + CODON_TABLE[,paste(a,b,c,sep="")] = rep(NA,12) + } + } + } + } + + chars = c("-","A","C","G","T") + for(a in chars){ + for(b in chars){ + for(c in chars){ + if(a=="-" | b=="-" | c=="-"){ + #cat(paste(a,b,c),sep="","\n") + CODON_TABLE[,paste(a,b,c,sep="")] = rep(NA,12) + } + } + } + } + CODON_TABLE <<- as.matrix(CODON_TABLE) + } + } + + collapseClone <- function(vecInputSeqs,glSeq,readEnd,nonTerminalOnly=0){ + #print(length(vecInputSeqs)) + vecInputSeqs = unique(vecInputSeqs) + if(length(vecInputSeqs)==1){ + return( list( c(vecInputSeqs,glSeq), F) ) + }else{ + charInputSeqs <- sapply(vecInputSeqs, function(x){ + s2c(x)[1:readEnd] + }) + charGLSeq <- s2c(glSeq) + matClone <- sapply(1:readEnd, function(i){ + posNucs = unique(charInputSeqs[i,]) + posGL = charGLSeq[i] + error = FALSE + if(posGL=="-" & sum(!(posNucs%in%c("-","N")))==0 ){ + return(c("-",error)) + } + if(length(posNucs)==1) + return(c(posNucs[1],error)) + else{ + if("N"%in%posNucs){ + error=TRUE + } + if(sum(!posNucs[posNucs!="N"]%in%posGL)==0){ + return( c(posGL,error) ) + }else{ + #return( c(sample(posNucs[posNucs!="N"],1),error) ) + if(nonTerminalOnly==0){ + return( c(sample(charInputSeqs[i,charInputSeqs[i,]!="N" & charInputSeqs[i,]!=posGL],1),error) ) + }else{ + posNucs = charInputSeqs[i,charInputSeqs[i,]!="N" & charInputSeqs[i,]!=posGL] + posNucsTable = table(posNucs) + if(sum(posNucsTable>1)==0){ + return( c(posGL,error) ) + }else{ + return( c(sample( posNucs[posNucs%in%names(posNucsTable)[posNucsTable>1]],1),error) ) + } + } + + } + } + }) + + + #print(length(vecInputSeqs)) + return(list(c(c2s(matClone[1,]),glSeq),"TRUE"%in%matClone[2,])) + } + } + + # Compute the expected for each sequence-germline pair + getExpectedIndividual <- function(matInput){ + if( any(grep("multicore",search())) ){ + facGL <- factor(matInput[,2]) + facLevels = levels(facGL) + LisGLs_MutabilityU = mclapply(1:length(facLevels), function(x){ + computeMutabilities(facLevels[x]) + }) + facIndex = match(facGL,facLevels) + + LisGLs_Mutability = mclapply(1:nrow(matInput), function(x){ + cInput = rep(NA,nchar(matInput[x,1])) + cInput[s2c(matInput[x,1])!="N"] = 1 + LisGLs_MutabilityU[[facIndex[x]]] * cInput + }) + + LisGLs_Targeting = mclapply(1:dim(matInput)[1], function(x){ + computeTargeting(matInput[x,2],LisGLs_Mutability[[x]]) + }) + + LisGLs_MutationTypes = mclapply(1:length(matInput[,2]),function(x){ + #print(x) + computeMutationTypes(matInput[x,2]) + }) + + LisGLs_Exp = mclapply(1:dim(matInput)[1], function(x){ + computeExpected(LisGLs_Targeting[[x]],LisGLs_MutationTypes[[x]]) + }) + + ul_LisGLs_Exp = unlist(LisGLs_Exp) + return(matrix(ul_LisGLs_Exp,ncol=4,nrow=(length(ul_LisGLs_Exp)/4),byrow=T)) + }else{ + facGL <- factor(matInput[,2]) + facLevels = levels(facGL) + LisGLs_MutabilityU = lapply(1:length(facLevels), function(x){ + computeMutabilities(facLevels[x]) + }) + facIndex = match(facGL,facLevels) + + LisGLs_Mutability = lapply(1:nrow(matInput), function(x){ + cInput = rep(NA,nchar(matInput[x,1])) + cInput[s2c(matInput[x,1])!="N"] = 1 + LisGLs_MutabilityU[[facIndex[x]]] * cInput + }) + + LisGLs_Targeting = lapply(1:dim(matInput)[1], function(x){ + computeTargeting(matInput[x,2],LisGLs_Mutability[[x]]) + }) + + LisGLs_MutationTypes = lapply(1:length(matInput[,2]),function(x){ + #print(x) + computeMutationTypes(matInput[x,2]) + }) + + LisGLs_Exp = lapply(1:dim(matInput)[1], function(x){ + computeExpected(LisGLs_Targeting[[x]],LisGLs_MutationTypes[[x]]) + }) + + ul_LisGLs_Exp = unlist(LisGLs_Exp) + return(matrix(ul_LisGLs_Exp,ncol=4,nrow=(length(ul_LisGLs_Exp)/4),byrow=T)) + + } + } + + # Compute mutabilities of sequence based on the tri-nucleotide model + computeMutabilities <- function(paramSeq){ + seqLen = nchar(paramSeq) + seqMutabilites = rep(NA,seqLen) + + gaplessSeq = gsub("-", "", paramSeq) + gaplessSeqLen = nchar(gaplessSeq) + gaplessSeqMutabilites = rep(NA,gaplessSeqLen) + + if(mutabilityModel!=5){ + pos<- 3:(gaplessSeqLen) + subSeq = substr(rep(gaplessSeq,gaplessSeqLen-2),(pos-2),(pos+2)) + gaplessSeqMutabilites[pos] = + tapply( c( + getMutability( substr(subSeq,1,3), 3) , + getMutability( substr(subSeq,2,4), 2), + getMutability( substr(subSeq,3,5), 1) + ),rep(1:(gaplessSeqLen-2),3),mean,na.rm=TRUE + ) + #Pos 1 + subSeq = substr(gaplessSeq,1,3) + gaplessSeqMutabilites[1] = getMutability(subSeq , 1) + #Pos 2 + subSeq = substr(gaplessSeq,1,4) + gaplessSeqMutabilites[2] = mean( c( + getMutability( substr(subSeq,1,3), 2) , + getMutability( substr(subSeq,2,4), 1) + ),na.rm=T + ) + seqMutabilites[which(s2c(paramSeq)!="-")]<- gaplessSeqMutabilites + return(seqMutabilites) + }else{ + + pos<- 3:(gaplessSeqLen) + subSeq = substr(rep(gaplessSeq,gaplessSeqLen-2),(pos-2),(pos+2)) + gaplessSeqMutabilites[pos] = sapply(subSeq,function(x){ getMutability5(x) }, simplify=T) + seqMutabilites[which(s2c(paramSeq)!="-")]<- gaplessSeqMutabilites + return(seqMutabilites) + } + + } + + # Returns the mutability of a triplet at a given position + getMutability <- function(codon, pos=1:3){ + triplets <- rownames(mutability) + mutability[ match(codon,triplets) ,pos] + } + + getMutability5 <- function(fivemer){ + return(mutability[fivemer]) + } + + # Returns the substitution probabilty + getTransistionProb <- function(nuc){ + substitution[nuc,] + } + + getTransistionProb5 <- function(fivemer){ + if(any(which(fivemer==colnames(substitution)))){ + return(substitution[,fivemer]) + }else{ + return(array(NA,4)) + } + } + + # Given a nuc, returns the other 3 nucs it can mutate to + canMutateTo <- function(nuc){ + NUCLEOTIDES[- which(NUCLEOTIDES==nuc)] + } + + # Given a nucleotide, returns the probabilty of other nucleotide it can mutate to + canMutateToProb <- function(nuc){ + substitution[nuc,canMutateTo(nuc)] + } + + # Compute targeting, based on precomputed mutatbility & substitution + computeTargeting <- function(param_strSeq,param_vecMutabilities){ + + if(substitutionModel!=5){ + vecSeq = s2c(param_strSeq) + matTargeting = sapply( 1:length(vecSeq), function(x) { param_vecMutabilities[x] * getTransistionProb(vecSeq[x]) } ) + #matTargeting = apply( rbind(vecSeq,param_vecMutabilities),2, function(x) { as.vector(as.numeric(x[2]) * getTransistionProb(x[1])) } ) + dimnames( matTargeting ) = list(NUCLEOTIDES,1:(length(vecSeq))) + return (matTargeting) + }else{ + + seqLen = nchar(param_strSeq) + seqsubstitution = matrix(NA,ncol=seqLen,nrow=4) + paramSeq <- param_strSeq + gaplessSeq = gsub("-", "", paramSeq) + gaplessSeqLen = nchar(gaplessSeq) + gaplessSeqSubstitution = matrix(NA,ncol=gaplessSeqLen,nrow=4) + + pos<- 3:(gaplessSeqLen) + subSeq = substr(rep(gaplessSeq,gaplessSeqLen-2),(pos-2),(pos+2)) + gaplessSeqSubstitution[,pos] = sapply(subSeq,function(x){ getTransistionProb5(x) }, simplify=T) + seqsubstitution[,which(s2c(paramSeq)!="-")]<- gaplessSeqSubstitution + #matTargeting <- param_vecMutabilities %*% seqsubstitution + matTargeting <- sweep(seqsubstitution,2,param_vecMutabilities,`*`) + dimnames( matTargeting ) = list(NUCLEOTIDES,1:(seqLen)) + return (matTargeting) + } + } + + # Compute the mutations types + computeMutationTypes <- function(param_strSeq){ + #cat(param_strSeq,"\n") + #vecSeq = trimToLastCodon(param_strSeq) + lenSeq = nchar(param_strSeq) + vecCodons = sapply({1:(lenSeq/3)}*3-2,function(x){substr(param_strSeq,x,x+2)}) + matMutationTypes = matrix( unlist(CODON_TABLE[,vecCodons]) ,ncol=lenSeq,nrow=4, byrow=F) + dimnames( matMutationTypes ) = list(NUCLEOTIDES,1:(ncol(matMutationTypes))) + return(matMutationTypes) + } + computeMutationTypesFast <- function(param_strSeq){ + matMutationTypes = matrix( CODON_TABLE[,param_strSeq] ,ncol=3,nrow=4, byrow=F) + #dimnames( matMutationTypes ) = list(NUCLEOTIDES,1:(length(vecSeq))) + return(matMutationTypes) + } + mutationTypeOptimized <- function( matOfCodons ){ + apply( matOfCodons,1,function(x){ mutationType(x[2],x[1]) } ) + } + + # Returns a vector of codons 1 mutation away from the given codon + permutateAllCodon <- function(codon){ + cCodon = s2c(codon) + matCodons = t(array(cCodon,dim=c(3,12))) + matCodons[1:4,1] = NUCLEOTIDES + matCodons[5:8,2] = NUCLEOTIDES + matCodons[9:12,3] = NUCLEOTIDES + apply(matCodons,1,c2s) + } + + # Given two codons, tells you if the mutation is R or S (based on your definition) + mutationType <- function(codonFrom,codonTo){ + if(testID==4){ + if( is.na(codonFrom) | is.na(codonTo) | is.na(translateCodonToAminoAcid(codonFrom)) | is.na(translateCodonToAminoAcid(codonTo)) ){ + return(NA) + }else{ + mutationType = "S" + if( translateAminoAcidToTraitChange(translateCodonToAminoAcid(codonFrom)) != translateAminoAcidToTraitChange(translateCodonToAminoAcid(codonTo)) ){ + mutationType = "R" + } + if(translateCodonToAminoAcid(codonTo)=="*" | translateCodonToAminoAcid(codonFrom)=="*"){ + mutationType = "Stop" + } + return(mutationType) + } + }else if(testID==5){ + if( is.na(codonFrom) | is.na(codonTo) | is.na(translateCodonToAminoAcid(codonFrom)) | is.na(translateCodonToAminoAcid(codonTo)) ){ + return(NA) + }else{ + if(codonFrom==codonTo){ + mutationType = "S" + }else{ + codonFrom = s2c(codonFrom) + codonTo = s2c(codonTo) + mutationType = "Stop" + nucOfI = codonFrom[which(codonTo!=codonFrom)] + if(nucOfI=="C"){ + mutationType = "R" + }else if(nucOfI=="G"){ + mutationType = "S" + } + } + return(mutationType) + } + }else{ + if( is.na(codonFrom) | is.na(codonTo) | is.na(translateCodonToAminoAcid(codonFrom)) | is.na(translateCodonToAminoAcid(codonTo)) ){ + return(NA) + }else{ + mutationType = "S" + if( translateCodonToAminoAcid(codonFrom) != translateCodonToAminoAcid(codonTo) ){ + mutationType = "R" + } + if(translateCodonToAminoAcid(codonTo)=="*" | translateCodonToAminoAcid(codonFrom)=="*"){ + mutationType = "Stop" + } + return(mutationType) + } + } + } + + + #given a mat of targeting & it's corresponding mutationtypes returns + #a vector of Exp_RCDR,Exp_SCDR,Exp_RFWR,Exp_RFWR + computeExpected <- function(paramTargeting,paramMutationTypes){ + # Replacements + RPos = which(paramMutationTypes=="R") + #FWR + Exp_R_FWR = sum(paramTargeting[ RPos[which(FWR_Nuc_Mat[RPos]==T)] ],na.rm=T) + #CDR + Exp_R_CDR = sum(paramTargeting[ RPos[which(CDR_Nuc_Mat[RPos]==T)] ],na.rm=T) + # Silents + SPos = which(paramMutationTypes=="S") + #FWR + Exp_S_FWR = sum(paramTargeting[ SPos[which(FWR_Nuc_Mat[SPos]==T)] ],na.rm=T) + #CDR + Exp_S_CDR = sum(paramTargeting[ SPos[which(CDR_Nuc_Mat[SPos]==T)] ],na.rm=T) + + return(c(Exp_R_CDR,Exp_S_CDR,Exp_R_FWR,Exp_S_FWR)) + } + + # Count the mutations in a sequence + # each mutation is treated independently + analyzeMutations2NucUri_website <- function( rev_in_matrix ){ + paramGL = rev_in_matrix[2,] + paramSeq = rev_in_matrix[1,] + + #Fill seq with GL seq if gapped + #if( any(paramSeq=="-") ){ + # gapPos_Seq = which(paramSeq=="-") + # gapPos_Seq_ToReplace = gapPos_Seq[paramGL[gapPos_Seq] != "-"] + # paramSeq[gapPos_Seq_ToReplace] = paramGL[gapPos_Seq_ToReplace] + #} + + + #if( any(paramSeq=="N") ){ + # gapPos_Seq = which(paramSeq=="N") + # gapPos_Seq_ToReplace = gapPos_Seq[paramGL[gapPos_Seq] != "N"] + # paramSeq[gapPos_Seq_ToReplace] = paramGL[gapPos_Seq_ToReplace] + #} + + analyzeMutations2NucUri( matrix(c( paramGL, paramSeq ),2,length(paramGL),byrow=T) ) + + } + + #1 = GL + #2 = Seq + analyzeMutations2NucUri <- function( in_matrix=matrix(c(c("A","A","A","C","C","C"),c("A","G","G","C","C","A")),2,6,byrow=T) ){ + paramGL = in_matrix[2,] + paramSeq = in_matrix[1,] + paramSeqUri = paramGL + #mutations = apply(rbind(paramGL,paramSeq), 2, function(x){!x[1]==x[2]}) + mutations_val = paramGL != paramSeq + if(any(mutations_val)){ + mutationPos = {1:length(mutations_val)}[mutations_val] + mutationPos = mutationPos[sapply(mutationPos, function(x){!any(paramSeq[getCodonPos(x)]=="N")})] + length_mutations =length(mutationPos) + mutationInfo = rep(NA,length_mutations) + if(any(mutationPos)){ + + pos<- mutationPos + pos_array<-array(sapply(pos,getCodonPos)) + codonGL = paramGL[pos_array] + + codonSeq = sapply(pos,function(x){ + seqP = paramGL[getCodonPos(x)] + muCodonPos = {x-1}%%3+1 + seqP[muCodonPos] = paramSeq[x] + return(seqP) + }) + GLcodons = apply(matrix(codonGL,length_mutations,3,byrow=TRUE),1,c2s) + Seqcodons = apply(codonSeq,2,c2s) + mutationInfo = apply(rbind(GLcodons , Seqcodons),2,function(x){mutationType(c2s(x[1]),c2s(x[2]))}) + names(mutationInfo) = mutationPos + } + if(any(!is.na(mutationInfo))){ + return(mutationInfo[!is.na(mutationInfo)]) + }else{ + return(NA) + } + + + }else{ + return (NA) + } + } + + processNucMutations2 <- function(mu){ + if(!is.na(mu)){ + #R + if(any(mu=="R")){ + Rs = mu[mu=="R"] + nucNumbs = as.numeric(names(Rs)) + R_CDR = sum(as.integer(CDR_Nuc[nucNumbs]),na.rm=T) + R_FWR = sum(as.integer(FWR_Nuc[nucNumbs]),na.rm=T) + }else{ + R_CDR = 0 + R_FWR = 0 + } + + #S + if(any(mu=="S")){ + Ss = mu[mu=="S"] + nucNumbs = as.numeric(names(Ss)) + S_CDR = sum(as.integer(CDR_Nuc[nucNumbs]),na.rm=T) + S_FWR = sum(as.integer(FWR_Nuc[nucNumbs]),na.rm=T) + }else{ + S_CDR = 0 + S_FWR = 0 + } + + + retVec = c(R_CDR,S_CDR,R_FWR,S_FWR) + retVec[is.na(retVec)]=0 + return(retVec) + }else{ + return(rep(0,4)) + } + } + + + ## Z-score Test + computeZScore <- function(mat, test="Focused"){ + matRes <- matrix(NA,ncol=2,nrow=(nrow(mat))) + if(test=="Focused"){ + #Z_Focused_CDR + #P_Denom = sum( mat[1,c(5,6,8)], na.rm=T ) + P = apply(mat[,c(5,6,8)],1,function(x){(x[1]/sum(x))}) + R_mean = apply(cbind(mat[,c(1,2,4)],P),1,function(x){x[4]*(sum(x[1:3]))}) + R_sd=sqrt(R_mean*(1-P)) + matRes[,1] = (mat[,1]-R_mean)/R_sd + + #Z_Focused_FWR + #P_Denom = sum( mat[1,c(7,6,8)], na.rm=T ) + P = apply(mat[,c(7,6,8)],1,function(x){(x[1]/sum(x))}) + R_mean = apply(cbind(mat[,c(3,2,4)],P),1,function(x){x[4]*(sum(x[1:3]))}) + R_sd=sqrt(R_mean*(1-P)) + matRes[,2] = (mat[,3]-R_mean)/R_sd + } + + if(test=="Local"){ + #Z_Focused_CDR + #P_Denom = sum( mat[1,c(5,6,8)], na.rm=T ) + P = apply(mat[,c(5,6)],1,function(x){(x[1]/sum(x))}) + R_mean = apply(cbind(mat[,c(1,2)],P),1,function(x){x[3]*(sum(x[1:2]))}) + R_sd=sqrt(R_mean*(1-P)) + matRes[,1] = (mat[,1]-R_mean)/R_sd + + #Z_Focused_FWR + #P_Denom = sum( mat[1,c(7,6,8)], na.rm=T ) + P = apply(mat[,c(7,8)],1,function(x){(x[1]/sum(x))}) + R_mean = apply(cbind(mat[,c(3,4)],P),1,function(x){x[3]*(sum(x[1:2]))}) + R_sd=sqrt(R_mean*(1-P)) + matRes[,2] = (mat[,3]-R_mean)/R_sd + } + + if(test=="Imbalanced"){ + #Z_Focused_CDR + #P_Denom = sum( mat[1,c(5,6,8)], na.rm=T ) + P = apply(mat[,5:8],1,function(x){((x[1]+x[2])/sum(x))}) + R_mean = apply(cbind(mat[,1:4],P),1,function(x){x[5]*(sum(x[1:4]))}) + R_sd=sqrt(R_mean*(1-P)) + matRes[,1] = (mat[,1]-R_mean)/R_sd + + #Z_Focused_FWR + #P_Denom = sum( mat[1,c(7,6,8)], na.rm=T ) + P = apply(mat[,5:8],1,function(x){((x[3]+x[4])/sum(x))}) + R_mean = apply(cbind(mat[,1:4],P),1,function(x){x[5]*(sum(x[1:4]))}) + R_sd=sqrt(R_mean*(1-P)) + matRes[,2] = (mat[,3]-R_mean)/R_sd + } + + matRes[is.nan(matRes)] = NA + return(matRes) + } + + # Return a p-value for a z-score + z2p <- function(z){ + p=NA + if( !is.nan(z) && !is.na(z)){ + if(z>0){ + p = (1 - pnorm(z,0,1)) + } else if(z<0){ + p = (-1 * pnorm(z,0,1)) + } else{ + p = 0.5 + } + }else{ + p = NA + } + return(p) + } + + + ## Bayesian Test + + # Fitted parameter for the bayesian framework +BAYESIAN_FITTED<-c(0.407277142798302, 0.554007336744485, 0.63777155771234, 0.693989162719009, 0.735450014674917, 0.767972534429806, 0.794557287143399, 0.816906816601605, 0.83606796225341, 0.852729446430296, 0.867370424541641, 0.880339760590323, 0.891900995024999, 0.902259181289864, 0.911577919359,0.919990301665853, 0.927606458124537, 0.934518806350661, 0.940805863754375, 0.946534836475715, 0.951763691199255, 0.95654428191308, 0.960920179487397, 0.964930893680829, 0.968611312149038, 0.971992459313836, 0.975102110004818, 0.977964943023096, 0.980603428208439, 0.983037660179428, 0.985285800977406, 0.987364285326685, 0.989288037855441, 0.991070478823525, 0.992723699729969, 0.994259575477392, 0.995687688867975, 0.997017365051493, 0.998257085153047, 0.999414558305388, 1.00049681357804, 1.00151036237481, 1.00246080204981, 1.00335370751909, 1.0041939329768, 1.0049859393417, 1.00573382091263, 1.00644127217376, 1.00711179729107, 1.00774845526417, 1.00835412715854, 1.00893143010366, 1.00948275846309, 1.01001030293661, 1.01051606798079, 1.01100188771288, 1.01146944044216, 1.01192026195449, 1.01235575766094, 1.01277721370986) + CONST_i <- sort(c(((2^(seq(-39,0,length.out=201)))/2)[1:200],(c(0:11,13:99)+0.5)/100,1-(2^(seq(-39,0,length.out=201)))/2)) + + # Given x, M & p, returns a pdf + calculate_bayes <- function ( x=3, N=10, p=0.33, + i=CONST_i, + max_sigma=20,length_sigma=4001 + ){ + if(!0%in%N){ + G <- max(length(x),length(N),length(p)) + x=array(x,dim=G) + N=array(N,dim=G) + p=array(p,dim=G) + sigma_s<-seq(-max_sigma,max_sigma,length.out=length_sigma) + sigma_1<-log({i/{1-i}}/{p/{1-p}}) + index<-min(N,60) + y<-dbeta(i,x+BAYESIAN_FITTED[index],N+BAYESIAN_FITTED[index]-x)*(1-p)*p*exp(sigma_1)/({1-p}^2+2*p*{1-p}*exp(sigma_1)+{p^2}*exp(2*sigma_1)) + if(!sum(is.na(y))){ + tmp<-approx(sigma_1,y,sigma_s)$y + tmp/sum(tmp)/{2*max_sigma/{length_sigma-1}} + }else{ + return(NA) + } + }else{ + return(NA) + } + } + # Given a mat of observed & expected, return a list of CDR & FWR pdf for selection + computeBayesianScore <- function(mat, test="Focused", max_sigma=20,length_sigma=4001){ + flagOneSeq = F + if(nrow(mat)==1){ + mat=rbind(mat,mat) + flagOneSeq = T + } + if(test=="Focused"){ + #CDR + P = c(apply(mat[,c(5,6,8)],1,function(x){(x[1]/sum(x))}),0.5) + N = c(apply(mat[,c(1,2,4)],1,function(x){(sum(x))}),0) + X = c(mat[,1],0) + bayesCDR = apply(cbind(X,N,P),1,function(x){calculate_bayes(x=x[1],N=x[2],p=x[3],max_sigma=max_sigma,length_sigma=length_sigma)}) + bayesCDR = bayesCDR[-length(bayesCDR)] + + #FWR + P = c(apply(mat[,c(7,6,8)],1,function(x){(x[1]/sum(x))}),0.5) + N = c(apply(mat[,c(3,2,4)],1,function(x){(sum(x))}),0) + X = c(mat[,3],0) + bayesFWR = apply(cbind(X,N,P),1,function(x){calculate_bayes(x=x[1],N=x[2],p=x[3],max_sigma=max_sigma,length_sigma=length_sigma)}) + bayesFWR = bayesFWR[-length(bayesFWR)] + } + + if(test=="Local"){ + #CDR + P = c(apply(mat[,c(5,6)],1,function(x){(x[1]/sum(x))}),0.5) + N = c(apply(mat[,c(1,2)],1,function(x){(sum(x))}),0) + X = c(mat[,1],0) + bayesCDR = apply(cbind(X,N,P),1,function(x){calculate_bayes(x=x[1],N=x[2],p=x[3],max_sigma=max_sigma,length_sigma=length_sigma)}) + bayesCDR = bayesCDR[-length(bayesCDR)] + + #FWR + P = c(apply(mat[,c(7,8)],1,function(x){(x[1]/sum(x))}),0.5) + N = c(apply(mat[,c(3,4)],1,function(x){(sum(x))}),0) + X = c(mat[,3],0) + bayesFWR = apply(cbind(X,N,P),1,function(x){calculate_bayes(x=x[1],N=x[2],p=x[3],max_sigma=max_sigma,length_sigma=length_sigma)}) + bayesFWR = bayesFWR[-length(bayesFWR)] + } + + if(test=="Imbalanced"){ + #CDR + P = c(apply(mat[,c(5:8)],1,function(x){((x[1]+x[2])/sum(x))}),0.5) + N = c(apply(mat[,c(1:4)],1,function(x){(sum(x))}),0) + X = c(apply(mat[,c(1:2)],1,function(x){(sum(x))}),0) + bayesCDR = apply(cbind(X,N,P),1,function(x){calculate_bayes(x=x[1],N=x[2],p=x[3],max_sigma=max_sigma,length_sigma=length_sigma)}) + bayesCDR = bayesCDR[-length(bayesCDR)] + + #FWR + P = c(apply(mat[,c(5:8)],1,function(x){((x[3]+x[4])/sum(x))}),0.5) + N = c(apply(mat[,c(1:4)],1,function(x){(sum(x))}),0) + X = c(apply(mat[,c(3:4)],1,function(x){(sum(x))}),0) + bayesFWR = apply(cbind(X,N,P),1,function(x){calculate_bayes(x=x[1],N=x[2],p=x[3],max_sigma=max_sigma,length_sigma=length_sigma)}) + bayesFWR = bayesFWR[-length(bayesFWR)] + } + + if(test=="ImbalancedSilent"){ + #CDR + P = c(apply(mat[,c(6,8)],1,function(x){((x[1])/sum(x))}),0.5) + N = c(apply(mat[,c(2,4)],1,function(x){(sum(x))}),0) + X = c(apply(mat[,c(2,4)],1,function(x){(x[1])}),0) + bayesCDR = apply(cbind(X,N,P),1,function(x){calculate_bayes(x=x[1],N=x[2],p=x[3],max_sigma=max_sigma,length_sigma=length_sigma)}) + bayesCDR = bayesCDR[-length(bayesCDR)] + + #FWR + P = c(apply(mat[,c(6,8)],1,function(x){((x[2])/sum(x))}),0.5) + N = c(apply(mat[,c(2,4)],1,function(x){(sum(x))}),0) + X = c(apply(mat[,c(2,4)],1,function(x){(x[2])}),0) + bayesFWR = apply(cbind(X,N,P),1,function(x){calculate_bayes(x=x[1],N=x[2],p=x[3],max_sigma=max_sigma,length_sigma=length_sigma)}) + bayesFWR = bayesFWR[-length(bayesFWR)] + } + + if(flagOneSeq==T){ + bayesCDR = bayesCDR[1] + bayesFWR = bayesFWR[1] + } + return( list("CDR"=bayesCDR, "FWR"=bayesFWR) ) + } + + ##Covolution + break2chunks<-function(G=1000){ + base<-2^round(log(sqrt(G),2),0) + return(c(rep(base,floor(G/base)-1),base+G-(floor(G/base)*base))) + } + + PowersOfTwo <- function(G=100){ + exponents <- array() + i = 0 + while(G > 0){ + i=i+1 + exponents[i] <- floor( log2(G) ) + G <- G-2^exponents[i] + } + return(exponents) + } + + convolutionPowersOfTwo <- function( cons, length_sigma=4001 ){ + G = ncol(cons) + if(G>1){ + for(gen in log(G,2):1){ + ll<-seq(from=2,to=2^gen,by=2) + sapply(ll,function(l){cons[,l/2]<<-weighted_conv(cons[,l],cons[,l-1],length_sigma=length_sigma)}) + } + } + return( cons[,1] ) + } + + convolutionPowersOfTwoByTwos <- function( cons, length_sigma=4001,G=1 ){ + if(length(ncol(cons))) G<-ncol(cons) + groups <- PowersOfTwo(G) + matG <- matrix(NA, ncol=length(groups), nrow=length(cons)/G ) + startIndex = 1 + for( i in 1:length(groups) ){ + stopIndex <- 2^groups[i] + startIndex - 1 + if(stopIndex!=startIndex){ + matG[,i] <- convolutionPowersOfTwo( cons[,startIndex:stopIndex], length_sigma=length_sigma ) + startIndex = stopIndex + 1 + } + else { + if(G>1) matG[,i] <- cons[,startIndex:stopIndex] + else matG[,i] <- cons + #startIndex = stopIndex + 1 + } + } + return( list( matG, groups ) ) + } + + weighted_conv<-function(x,y,w=1,m=100,length_sigma=4001){ + lx<-length(x) + ly<-length(y) + if({lx<m}| {{lx*w}<m}| {{ly}<m}| {{ly*w}<m}){ + if(w<1){ + y1<-approx(1:ly,y,seq(1,ly,length.out=m))$y + x1<-approx(1:lx,x,seq(1,lx,length.out=m/w))$y + lx<-length(x1) + ly<-length(y1) + } + else { + y1<-approx(1:ly,y,seq(1,ly,length.out=m*w))$y + x1<-approx(1:lx,x,seq(1,lx,length.out=m))$y + lx<-length(x1) + ly<-length(y1) + } + } + else{ + x1<-x + y1<-approx(1:ly,y,seq(1,ly,length.out=floor(lx*w)))$y + ly<-length(y1) + } + tmp<-approx(x=1:(lx+ly-1),y=convolve(x1,rev(y1),type="open"),xout=seq(1,lx+ly-1,length.out=length_sigma))$y + tmp[tmp<=0] = 0 + return(tmp/sum(tmp)) + } + + calculate_bayesGHelper <- function( listMatG,length_sigma=4001 ){ + matG <- listMatG[[1]] + groups <- listMatG[[2]] + i = 1 + resConv <- matG[,i] + denom <- 2^groups[i] + if(length(groups)>1){ + while( i<length(groups) ){ + i = i + 1 + resConv <- weighted_conv(resConv, matG[,i], w= {{2^groups[i]}/denom} ,length_sigma=length_sigma) + #cat({{2^groups[i]}/denom},"\n") + denom <- denom + 2^groups[i] + } + } + return(resConv) + } + + # Given a list of PDFs, returns a convoluted PDF + groupPosteriors <- function( listPosteriors, max_sigma=20, length_sigma=4001 ,Threshold=2 ){ + listPosteriors = listPosteriors[ !is.na(listPosteriors) ] + Length_Postrior<-length(listPosteriors) + if(Length_Postrior>1 & Length_Postrior<=Threshold){ + cons = matrix(unlist(listPosteriors),length(listPosteriors[[1]]),length(listPosteriors)) + listMatG <- convolutionPowersOfTwoByTwos(cons,length_sigma=length_sigma) + y<-calculate_bayesGHelper(listMatG,length_sigma=length_sigma) + return( y/sum(y)/(2*max_sigma/(length_sigma-1)) ) + }else if(Length_Postrior==1) return(listPosteriors[[1]]) + else if(Length_Postrior==0) return(NA) + else { + cons = matrix(unlist(listPosteriors),length(listPosteriors[[1]]),length(listPosteriors)) + y = fastConv(cons,max_sigma=max_sigma, length_sigma=length_sigma ) + return( y/sum(y)/(2*max_sigma/(length_sigma-1)) ) + } + } + + fastConv<-function(cons, max_sigma=20, length_sigma=4001){ + chunks<-break2chunks(G=ncol(cons)) + if(ncol(cons)==3) chunks<-2:1 + index_chunks_end <- cumsum(chunks) + index_chunks_start <- c(1,index_chunks_end[-length(index_chunks_end)]+1) + index_chunks <- cbind(index_chunks_start,index_chunks_end) + + case <- sum(chunks!=chunks[1]) + if(case==1) End <- max(1,((length(index_chunks)/2)-1)) + else End <- max(1,((length(index_chunks)/2))) + + firsts <- sapply(1:End,function(i){ + indexes<-index_chunks[i,1]:index_chunks[i,2] + convolutionPowersOfTwoByTwos(cons[ ,indexes])[[1]] + }) + if(case==0){ + result<-calculate_bayesGHelper( convolutionPowersOfTwoByTwos(firsts) ) + }else if(case==1){ + last<-list(calculate_bayesGHelper( + convolutionPowersOfTwoByTwos( cons[ ,index_chunks[length(index_chunks)/2,1]:index_chunks[length(index_chunks)/2,2]] ) + ),0) + result_first<-calculate_bayesGHelper(convolutionPowersOfTwoByTwos(firsts)) + result<-calculate_bayesGHelper( + list( + cbind( + result_first,last[[1]]), + c(log(index_chunks_end[length(index_chunks)/2-1],2),log(index_chunks[length(index_chunks)/2,2]-index_chunks[length(index_chunks)/2,1]+1,2)) + ) + ) + } + return(as.vector(result)) + } + + # Computes the 95% CI for a pdf + calcBayesCI <- function(Pdf,low=0.025,up=0.975,max_sigma=20, length_sigma=4001){ + if(length(Pdf)!=length_sigma) return(NA) + sigma_s=seq(-max_sigma,max_sigma,length.out=length_sigma) + cdf = cumsum(Pdf) + cdf = cdf/cdf[length(cdf)] + return( c(sigma_s[findInterval(low,cdf)-1] , sigma_s[findInterval(up,cdf)]) ) + } + + # Computes a mean for a pdf + calcBayesMean <- function(Pdf,max_sigma=20,length_sigma=4001){ + if(length(Pdf)!=length_sigma) return(NA) + sigma_s=seq(-max_sigma,max_sigma,length.out=length_sigma) + norm = {length_sigma-1}/2/max_sigma + return( (Pdf%*%sigma_s/norm) ) + } + + # Returns the mean, and the 95% CI for a pdf + calcBayesOutputInfo <- function(Pdf,low=0.025,up=0.975,max_sigma=20, length_sigma=4001){ + if(is.na(Pdf)) + return(rep(NA,3)) + bCI = calcBayesCI(Pdf=Pdf,low=low,up=up,max_sigma=max_sigma,length_sigma=length_sigma) + bMean = calcBayesMean(Pdf=Pdf,max_sigma=max_sigma,length_sigma=length_sigma) + return(c(bMean, bCI)) + } + + # Computes the p-value of a pdf + computeSigmaP <- function(Pdf, length_sigma=4001, max_sigma=20){ + if(length(Pdf)>1){ + norm = {length_sigma-1}/2/max_sigma + pVal = {sum(Pdf[1:{{length_sigma-1}/2}]) + Pdf[{{length_sigma+1}/2}]/2}/norm + if(pVal>0.5){ + pVal = pVal-1 + } + return(pVal) + }else{ + return(NA) + } + } + + # Compute p-value of two distributions + compareTwoDistsFaster <-function(sigma_S=seq(-20,20,length.out=4001), N=10000, dens1=runif(4001,0,1), dens2=runif(4001,0,1)){ + #print(c(length(dens1),length(dens2))) + if(length(dens1)>1 & length(dens2)>1 ){ + dens1<-dens1/sum(dens1) + dens2<-dens2/sum(dens2) + cum2 <- cumsum(dens2)-dens2/2 + tmp<- sum(sapply(1:length(dens1),function(i)return(dens1[i]*cum2[i]))) + #print(tmp) + if(tmp>0.5)tmp<-tmp-1 + return( tmp ) + } + else { + return(NA) + } + #return (sum(sapply(1:N,function(i)(sample(sigma_S,1,prob=dens1)>sample(sigma_S,1,prob=dens2))))/N) + } + + # get number of seqeunces contributing to the sigma (i.e. seqeunces with mutations) + numberOfSeqsWithMutations <- function(matMutations,test=1){ + if(test==4)test=2 + cdrSeqs <- 0 + fwrSeqs <- 0 + if(test==1){#focused + cdrMutations <- apply(matMutations, 1, function(x){ sum(x[c(1,2,4)]) }) + fwrMutations <- apply(matMutations, 1, function(x){ sum(x[c(3,4,2)]) }) + if( any(which(cdrMutations>0)) ) cdrSeqs <- sum(cdrMutations>0) + if( any(which(fwrMutations>0)) ) fwrSeqs <- sum(fwrMutations>0) + } + if(test==2){#local + cdrMutations <- apply(matMutations, 1, function(x){ sum(x[c(1,2)]) }) + fwrMutations <- apply(matMutations, 1, function(x){ sum(x[c(3,4)]) }) + if( any(which(cdrMutations>0)) ) cdrSeqs <- sum(cdrMutations>0) + if( any(which(fwrMutations>0)) ) fwrSeqs <- sum(fwrMutations>0) + } + return(c("CDR"=cdrSeqs, "FWR"=fwrSeqs)) +} + + + +shadeColor <- function(sigmaVal=NA,pVal=NA){ + if(is.na(sigmaVal) & is.na(pVal)) return(NA) + if(is.na(sigmaVal) & !is.na(pVal)) sigmaVal=sign(pVal) + if(is.na(pVal) || pVal==1 || pVal==0){ + returnColor = "#FFFFFF"; + }else{ + colVal=abs(pVal); + + if(sigmaVal<0){ + if(colVal>0.1) + returnColor = "#CCFFCC"; + if(colVal<=0.1) + returnColor = "#99FF99"; + if(colVal<=0.050) + returnColor = "#66FF66"; + if(colVal<=0.010) + returnColor = "#33FF33"; + if(colVal<=0.005) + returnColor = "#00FF00"; + + }else{ + if(colVal>0.1) + returnColor = "#FFCCCC"; + if(colVal<=0.1) + returnColor = "#FF9999"; + if(colVal<=0.05) + returnColor = "#FF6666"; + if(colVal<=0.01) + returnColor = "#FF3333"; + if(colVal<0.005) + returnColor = "#FF0000"; + } + } + + return(returnColor) +} + + + +plotHelp <- function(xfrac=0.05,yfrac=0.05,log=FALSE){ + if(!log){ + x = par()$usr[1]-(par()$usr[2]-par()$usr[1])*xfrac + y = par()$usr[4]+(par()$usr[4]-par()$usr[3])*yfrac + }else { + if(log==2){ + x = par()$usr[1]-(par()$usr[2]-par()$usr[1])*xfrac + y = 10^((par()$usr[4])+((par()$usr[4])-(par()$usr[3]))*yfrac) + } + if(log==1){ + x = 10^((par()$usr[1])-((par()$usr[2])-(par()$usr[1]))*xfrac) + y = par()$usr[4]+(par()$usr[4]-par()$usr[3])*yfrac + } + if(log==3){ + x = 10^((par()$usr[1])-((par()$usr[2])-(par()$usr[1]))*xfrac) + y = 10^((par()$usr[4])+((par()$usr[4])-(par()$usr[3]))*yfrac) + } + } + return(c("x"=x,"y"=y)) +} + +# SHMulation + + # Based on targeting, introduce a single mutation & then update the targeting + oneMutation <- function(){ + # Pick a postion + mutation + posMutation = sample(1:(seqGermlineLen*4),1,replace=F,prob=as.vector(seqTargeting)) + posNucNumb = ceiling(posMutation/4) # Nucleotide number + posNucKind = 4 - ( (posNucNumb*4) - posMutation ) # Nuc the position mutates to + + #mutate the simulation sequence + seqSimVec <- s2c(seqSim) + seqSimVec[posNucNumb] <- NUCLEOTIDES[posNucKind] + seqSim <<- c2s(seqSimVec) + + #update Mutability, Targeting & MutationsTypes + updateMutabilityNTargeting(posNucNumb) + + #return(c(posNucNumb,NUCLEOTIDES[posNucKind])) + return(posNucNumb) + } + + updateMutabilityNTargeting <- function(position){ + min_i<-max((position-2),1) + max_i<-min((position+2),nchar(seqSim)) + min_ii<-min(min_i,3) + + #mutability - update locally + seqMutability[(min_i):(max_i)] <<- computeMutabilities(substr(seqSim,position-4,position+4))[(min_ii):(max_i-min_i+min_ii)] + + + #targeting - compute locally + seqTargeting[,min_i:max_i] <<- computeTargeting(substr(seqSim,min_i,max_i),seqMutability[min_i:max_i]) + seqTargeting[is.na(seqTargeting)] <<- 0 + #mutCodonPos = getCodonPos(position) + mutCodonPos = seq(getCodonPos(min_i)[1],getCodonPos(max_i)[3]) + #cat(mutCodonPos,"\n") + mutTypeCodon = getCodonPos(position) + seqMutationTypes[,mutTypeCodon] <<- computeMutationTypesFast( substr(seqSim,mutTypeCodon[1],mutTypeCodon[3]) ) + # Stop = 0 + if(any(seqMutationTypes[,mutCodonPos]=="Stop",na.rm=T )){ + seqTargeting[,mutCodonPos][seqMutationTypes[,mutCodonPos]=="Stop"] <<- 0 + } + + + #Selection + selectedPos = (min_i*4-4)+(which(seqMutationTypes[,min_i:max_i]=="R")) + # CDR + selectedCDR = selectedPos[which(matCDR[selectedPos]==T)] + seqTargeting[selectedCDR] <<- seqTargeting[selectedCDR] * exp(selCDR) + seqTargeting[selectedCDR] <<- seqTargeting[selectedCDR]/baseLineCDR_K + + # FWR + selectedFWR = selectedPos[which(matFWR[selectedPos]==T)] + seqTargeting[selectedFWR] <<- seqTargeting[selectedFWR] * exp(selFWR) + seqTargeting[selectedFWR] <<- seqTargeting[selectedFWR]/baseLineFWR_K + + } + + + + # Validate the mutation: if the mutation has not been sampled before validate it, else discard it. + validateMutation <- function(){ + if( !(mutatedPos%in%mutatedPositions) ){ # if it's a new mutation + uniqueMutationsIntroduced <<- uniqueMutationsIntroduced + 1 + mutatedPositions[uniqueMutationsIntroduced] <<- mutatedPos + }else{ + if(substr(seqSim,mutatedPos,mutatedPos)==substr(seqGermline,mutatedPos,mutatedPos)){ # back to germline mutation + mutatedPositions <<- mutatedPositions[-which(mutatedPositions==mutatedPos)] + uniqueMutationsIntroduced <<- uniqueMutationsIntroduced - 1 + } + } + } + + + + # Places text (labels) at normalized coordinates + myaxis <- function(xfrac=0.05,yfrac=0.05,log=FALSE,w="text",cex=1,adj=1,thecol="black"){ + par(xpd=TRUE) + if(!log) + text(par()$usr[1]-(par()$usr[2]-par()$usr[1])*xfrac,par()$usr[4]+(par()$usr[4]-par()$usr[3])*yfrac,w,cex=cex,adj=adj,col=thecol) + else { + if(log==2) + text( + par()$usr[1]-(par()$usr[2]-par()$usr[1])*xfrac, + 10^((par()$usr[4])+((par()$usr[4])-(par()$usr[3]))*yfrac), + w,cex=cex,adj=adj,col=thecol) + if(log==1) + text( + 10^((par()$usr[1])-((par()$usr[2])-(par()$usr[1]))*xfrac), + par()$usr[4]+(par()$usr[4]-par()$usr[3])*yfrac, + w,cex=cex,adj=adj,col=thecol) + if(log==3) + text( + 10^((par()$usr[1])-((par()$usr[2])-(par()$usr[1]))*xfrac), + 10^((par()$usr[4])+((par()$usr[4])-(par()$usr[3]))*yfrac), + w,cex=cex,adj=adj,col=thecol) + } + par(xpd=FALSE) + } + + + + # Count the mutations in a sequence + analyzeMutations <- function( inputMatrixIndex, model = 0 , multipleMutation=0, seqWithStops=0){ + + paramGL = s2c(matInput[inputMatrixIndex,2]) + paramSeq = s2c(matInput[inputMatrixIndex,1]) + + #if( any(paramSeq=="N") ){ + # gapPos_Seq = which(paramSeq=="N") + # gapPos_Seq_ToReplace = gapPos_Seq[paramGL[gapPos_Seq] != "N"] + # paramSeq[gapPos_Seq_ToReplace] = paramGL[gapPos_Seq_ToReplace] + #} + mutations_val = paramGL != paramSeq + + if(any(mutations_val)){ + mutationPos = which(mutations_val)#{1:length(mutations_val)}[mutations_val] + length_mutations =length(mutationPos) + mutationInfo = rep(NA,length_mutations) + + pos<- mutationPos + pos_array<-array(sapply(pos,getCodonPos)) + codonGL = paramGL[pos_array] + codonSeqWhole = paramSeq[pos_array] + codonSeq = sapply(pos,function(x){ + seqP = paramGL[getCodonPos(x)] + muCodonPos = {x-1}%%3+1 + seqP[muCodonPos] = paramSeq[x] + return(seqP) + }) + GLcodons = apply(matrix(codonGL,length_mutations,3,byrow=TRUE),1,c2s) + SeqcodonsWhole = apply(matrix(codonSeqWhole,length_mutations,3,byrow=TRUE),1,c2s) + Seqcodons = apply(codonSeq,2,c2s) + + mutationInfo = apply(rbind(GLcodons , Seqcodons),2,function(x){mutationType(c2s(x[1]),c2s(x[2]))}) + names(mutationInfo) = mutationPos + + mutationInfoWhole = apply(rbind(GLcodons , SeqcodonsWhole),2,function(x){mutationType(c2s(x[1]),c2s(x[2]))}) + names(mutationInfoWhole) = mutationPos + + mutationInfo <- mutationInfo[!is.na(mutationInfo)] + mutationInfoWhole <- mutationInfoWhole[!is.na(mutationInfoWhole)] + + if(any(!is.na(mutationInfo))){ + + #Filter based on Stop (at the codon level) + if(seqWithStops==1){ + nucleotidesAtStopCodons = names(mutationInfoWhole[mutationInfoWhole!="Stop"]) + mutationInfo = mutationInfo[nucleotidesAtStopCodons] + mutationInfoWhole = mutationInfo[nucleotidesAtStopCodons] + }else{ + countStops = sum(mutationInfoWhole=="Stop") + if(seqWithStops==2 & countStops==0) mutationInfo = NA + if(seqWithStops==3 & countStops>0) mutationInfo = NA + } + + if(any(!is.na(mutationInfo))){ + #Filter mutations based on multipleMutation + if(multipleMutation==1 & !is.na(mutationInfo)){ + mutationCodons = getCodonNumb(as.numeric(names(mutationInfoWhole))) + tableMutationCodons <- table(mutationCodons) + codonsWithMultipleMutations <- as.numeric(names(tableMutationCodons[tableMutationCodons>1])) + if(any(codonsWithMultipleMutations)){ + #remove the nucleotide mutations in the codons with multiple mutations + mutationInfo <- mutationInfo[!(mutationCodons %in% codonsWithMultipleMutations)] + #replace those codons with Ns in the input sequence + paramSeq[unlist(lapply(codonsWithMultipleMutations, getCodonNucs))] = "N" + matInput[inputMatrixIndex,1] <<- c2s(paramSeq) + } + } + + #Filter mutations based on the model + if(any(mutationInfo)==T | is.na(any(mutationInfo))){ + + if(model==1 & !is.na(mutationInfo)){ + mutationInfo <- mutationInfo[mutationInfo=="S"] + } + if(any(mutationInfo)==T | is.na(any(mutationInfo))) return(mutationInfo) + else return(NA) + }else{ + return(NA) + } + }else{ + return(NA) + } + + + }else{ + return(NA) + } + + + }else{ + return (NA) + } + } + + analyzeMutationsFixed <- function( inputArray, model = 0 , multipleMutation=0, seqWithStops=0){ + + paramGL = s2c(inputArray[2]) + paramSeq = s2c(inputArray[1]) + inputSeq <- inputArray[1] + #if( any(paramSeq=="N") ){ + # gapPos_Seq = which(paramSeq=="N") + # gapPos_Seq_ToReplace = gapPos_Seq[paramGL[gapPos_Seq] != "N"] + # paramSeq[gapPos_Seq_ToReplace] = paramGL[gapPos_Seq_ToReplace] + #} + mutations_val = paramGL != paramSeq + + if(any(mutations_val)){ + mutationPos = which(mutations_val)#{1:length(mutations_val)}[mutations_val] + length_mutations =length(mutationPos) + mutationInfo = rep(NA,length_mutations) + + pos<- mutationPos + pos_array<-array(sapply(pos,getCodonPos)) + codonGL = paramGL[pos_array] + codonSeqWhole = paramSeq[pos_array] + codonSeq = sapply(pos,function(x){ + seqP = paramGL[getCodonPos(x)] + muCodonPos = {x-1}%%3+1 + seqP[muCodonPos] = paramSeq[x] + return(seqP) + }) + GLcodons = apply(matrix(codonGL,length_mutations,3,byrow=TRUE),1,c2s) + SeqcodonsWhole = apply(matrix(codonSeqWhole,length_mutations,3,byrow=TRUE),1,c2s) + Seqcodons = apply(codonSeq,2,c2s) + + mutationInfo = apply(rbind(GLcodons , Seqcodons),2,function(x){mutationType(c2s(x[1]),c2s(x[2]))}) + names(mutationInfo) = mutationPos + + mutationInfoWhole = apply(rbind(GLcodons , SeqcodonsWhole),2,function(x){mutationType(c2s(x[1]),c2s(x[2]))}) + names(mutationInfoWhole) = mutationPos + + mutationInfo <- mutationInfo[!is.na(mutationInfo)] + mutationInfoWhole <- mutationInfoWhole[!is.na(mutationInfoWhole)] + + if(any(!is.na(mutationInfo))){ + + #Filter based on Stop (at the codon level) + if(seqWithStops==1){ + nucleotidesAtStopCodons = names(mutationInfoWhole[mutationInfoWhole!="Stop"]) + mutationInfo = mutationInfo[nucleotidesAtStopCodons] + mutationInfoWhole = mutationInfo[nucleotidesAtStopCodons] + }else{ + countStops = sum(mutationInfoWhole=="Stop") + if(seqWithStops==2 & countStops==0) mutationInfo = NA + if(seqWithStops==3 & countStops>0) mutationInfo = NA + } + + if(any(!is.na(mutationInfo))){ + #Filter mutations based on multipleMutation + if(multipleMutation==1 & !is.na(mutationInfo)){ + mutationCodons = getCodonNumb(as.numeric(names(mutationInfoWhole))) + tableMutationCodons <- table(mutationCodons) + codonsWithMultipleMutations <- as.numeric(names(tableMutationCodons[tableMutationCodons>1])) + if(any(codonsWithMultipleMutations)){ + #remove the nucleotide mutations in the codons with multiple mutations + mutationInfo <- mutationInfo[!(mutationCodons %in% codonsWithMultipleMutations)] + #replace those codons with Ns in the input sequence + paramSeq[unlist(lapply(codonsWithMultipleMutations, getCodonNucs))] = "N" + #matInput[inputMatrixIndex,1] <<- c2s(paramSeq) + inputSeq <- c2s(paramSeq) + } + } + + #Filter mutations based on the model + if(any(mutationInfo)==T | is.na(any(mutationInfo))){ + + if(model==1 & !is.na(mutationInfo)){ + mutationInfo <- mutationInfo[mutationInfo=="S"] + } + if(any(mutationInfo)==T | is.na(any(mutationInfo))) return(list(mutationInfo,inputSeq)) + else return(list(NA,inputSeq)) + }else{ + return(list(NA,inputSeq)) + } + }else{ + return(list(NA,inputSeq)) + } + + + }else{ + return(list(NA,inputSeq)) + } + + + }else{ + return (list(NA,inputSeq)) + } + } + + # triMutability Background Count + buildMutabilityModel <- function( inputMatrixIndex, model=0 , multipleMutation=0, seqWithStops=0, stopMutations=0){ + + #rowOrigMatInput = matInput[inputMatrixIndex,] + seqGL = gsub("-", "", matInput[inputMatrixIndex,2]) + seqInput = gsub("-", "", matInput[inputMatrixIndex,1]) + #matInput[inputMatrixIndex,] <<- cbind(seqInput,seqGL) + tempInput <- cbind(seqInput,seqGL) + seqLength = nchar(seqGL) + list_analyzeMutationsFixed<- analyzeMutationsFixed(tempInput, model, multipleMutation, seqWithStops) + mutationCount <- list_analyzeMutationsFixed[[1]] + seqInput <- list_analyzeMutationsFixed[[2]] + BackgroundMatrix = mutabilityMatrix + MutationMatrix = mutabilityMatrix + MutationCountMatrix = mutabilityMatrix + if(!is.na(mutationCount)){ + if((stopMutations==0 & model==0) | (stopMutations==1 & (sum(mutationCount=="Stop")<length(mutationCount))) | (model==1 & (sum(mutationCount=="S")>0)) ){ + + fivermerStartPos = 1:(seqLength-4) + fivemerLength <- length(fivermerStartPos) + fivemerGL <- substr(rep(seqGL,length(fivermerStartPos)),(fivermerStartPos),(fivermerStartPos+4)) + fivemerSeq <- substr(rep(seqInput,length(fivermerStartPos)),(fivermerStartPos),(fivermerStartPos+4)) + + #Background + for(fivemerIndex in 1:fivemerLength){ + fivemer = fivemerGL[fivemerIndex] + if(!any(grep("N",fivemer))){ + fivemerCodonPos = fivemerCodon(fivemerIndex) + fivemerReadingFrameCodon = substr(fivemer,fivemerCodonPos[1],fivemerCodonPos[3]) + fivemerReadingFrameCodonInputSeq = substr(fivemerSeq[fivemerIndex],fivemerCodonPos[1],fivemerCodonPos[3]) + + # All mutations model + #if(!any(grep("N",fivemerReadingFrameCodon))){ + if(model==0){ + if(stopMutations==0){ + if(!any(grep("N",fivemerReadingFrameCodonInputSeq))) + BackgroundMatrix[fivemer] <- (BackgroundMatrix[fivemer] + 1) + }else{ + if( !any(grep("N",fivemerReadingFrameCodonInputSeq)) & translateCodonToAminoAcid(fivemerReadingFrameCodon)!="*" ){ + positionWithinCodon = which(fivemerCodonPos==3)#positionsWithinCodon[(fivemerCodonPos[1]%%3)+1] + BackgroundMatrix[fivemer] <- (BackgroundMatrix[fivemer] + probNonStopMutations[fivemerReadingFrameCodon,positionWithinCodon]) + } + } + }else{ # Only silent mutations + if( !any(grep("N",fivemerReadingFrameCodonInputSeq)) & translateCodonToAminoAcid(fivemerReadingFrameCodon)!="*" & translateCodonToAminoAcid(fivemerReadingFrameCodonInputSeq)==translateCodonToAminoAcid(fivemerReadingFrameCodon)){ + positionWithinCodon = which(fivemerCodonPos==3) + BackgroundMatrix[fivemer] <- (BackgroundMatrix[fivemer] + probSMutations[fivemerReadingFrameCodon,positionWithinCodon]) + } + } + #} + } + } + + #Mutations + if(stopMutations==1) mutationCount = mutationCount[mutationCount!="Stop"] + if(model==1) mutationCount = mutationCount[mutationCount=="S"] + mutationPositions = as.numeric(names(mutationCount)) + mutationCount = mutationCount[mutationPositions>2 & mutationPositions<(seqLength-1)] + mutationPositions = mutationPositions[mutationPositions>2 & mutationPositions<(seqLength-1)] + countMutations = 0 + for(mutationPosition in mutationPositions){ + fivemerIndex = mutationPosition-2 + fivemer = fivemerSeq[fivemerIndex] + GLfivemer = fivemerGL[fivemerIndex] + fivemerCodonPos = fivemerCodon(fivemerIndex) + fivemerReadingFrameCodon = substr(fivemer,fivemerCodonPos[1],fivemerCodonPos[3]) + fivemerReadingFrameCodonGL = substr(GLfivemer,fivemerCodonPos[1],fivemerCodonPos[3]) + if(!any(grep("N",fivemer)) & !any(grep("N",GLfivemer))){ + if(model==0){ + countMutations = countMutations + 1 + MutationMatrix[GLfivemer] <- (MutationMatrix[GLfivemer] + 1) + MutationCountMatrix[GLfivemer] <- (MutationCountMatrix[GLfivemer] + 1) + }else{ + if( translateCodonToAminoAcid(fivemerReadingFrameCodonGL)!="*" ){ + countMutations = countMutations + 1 + positionWithinCodon = which(fivemerCodonPos==3) + glNuc = substr(fivemerReadingFrameCodonGL,positionWithinCodon,positionWithinCodon) + inputNuc = substr(fivemerReadingFrameCodon,positionWithinCodon,positionWithinCodon) + MutationMatrix[GLfivemer] <- (MutationMatrix[GLfivemer] + substitution[glNuc,inputNuc]) + MutationCountMatrix[GLfivemer] <- (MutationCountMatrix[GLfivemer] + 1) + } + } + } + } + + seqMutability = MutationMatrix/BackgroundMatrix + seqMutability = seqMutability/sum(seqMutability,na.rm=TRUE) + #cat(inputMatrixIndex,"\t",countMutations,"\n") + return(list("seqMutability" = seqMutability,"numbMutations" = countMutations,"seqMutabilityCount" = MutationCountMatrix, "BackgroundMatrix"=BackgroundMatrix)) + + } + } + + } + + #Returns the codon position containing the middle nucleotide + fivemerCodon <- function(fivemerIndex){ + codonPos = list(2:4,1:3,3:5) + fivemerType = fivemerIndex%%3 + return(codonPos[[fivemerType+1]]) + } + + #returns probability values for one mutation in codons resulting in R, S or Stop + probMutations <- function(typeOfMutation){ + matMutationProb <- matrix(0,ncol=3,nrow=125,dimnames=list(words(alphabet = c(NUCLEOTIDES,"N"), length=3),c(1:3))) + for(codon in rownames(matMutationProb)){ + if( !any(grep("N",codon)) ){ + for(muPos in 1:3){ + matCodon = matrix(rep(s2c(codon),3),nrow=3,ncol=3,byrow=T) + glNuc = matCodon[1,muPos] + matCodon[,muPos] = canMutateTo(glNuc) + substitutionRate = substitution[glNuc,matCodon[,muPos]] + typeOfMutations = apply(rbind(rep(codon,3),apply(matCodon,1,c2s)),2,function(x){mutationType(c2s(x[1]),c2s(x[2]))}) + matMutationProb[codon,muPos] <- sum(substitutionRate[typeOfMutations==typeOfMutation]) + } + } + } + + return(matMutationProb) + } + + + + +#Mapping Trinucleotides to fivemers +mapTriToFivemer <- function(triMutability=triMutability_Literature_Human){ + rownames(triMutability) <- triMutability_Names + Fivemer<-rep(NA,1024) + names(Fivemer)<-words(alphabet=NUCLEOTIDES,length=5) + Fivemer<-sapply(names(Fivemer),function(Word)return(sum( c(triMutability[substring(Word,3,5),1],triMutability[substring(Word,2,4),2],triMutability[substring(Word,1,3),3]),na.rm=TRUE))) + Fivemer<-Fivemer/sum(Fivemer) + return(Fivemer) +} + +collapseFivemerToTri<-function(Fivemer,Weights=MutabilityWeights,position=1,NUC="A"){ + Indices<-substring(names(Fivemer),3,3)==NUC + Factors<-substring(names(Fivemer[Indices]),(4-position),(6-position)) + tapply(which(Indices),Factors,function(i)weighted.mean(Fivemer[i],Weights[i],na.rm=TRUE)) +} + + + +CountFivemerToTri<-function(Fivemer,Weights=MutabilityWeights,position=1,NUC="A"){ + Indices<-substring(names(Fivemer),3,3)==NUC + Factors<-substring(names(Fivemer[Indices]),(4-position),(6-position)) + tapply(which(Indices),Factors,function(i)sum(Weights[i],na.rm=TRUE)) +} + +#Uses the real counts of the mutated fivemers +CountFivemerToTri2<-function(Fivemer,Counts=MutabilityCounts,position=1,NUC="A"){ + Indices<-substring(names(Fivemer),3,3)==NUC + Factors<-substring(names(Fivemer[Indices]),(4-position),(6-position)) + tapply(which(Indices),Factors,function(i)sum(Counts[i],na.rm=TRUE)) +} + +bootstrap<-function(x=c(33,12,21),M=10000,alpha=0.05){ +N<-sum(x) +if(N){ +p<-x/N +k<-length(x)-1 +tmp<-rmultinom(M, size = N, prob=p) +tmp_p<-apply(tmp,2,function(y)y/N) +(apply(tmp_p,1,function(y)quantile(y,c(alpha/2/k,1-alpha/2/k)))) +} +else return(matrix(0,2,length(x))) +} + + + + +bootstrap2<-function(x=c(33,12,21),n=10,M=10000,alpha=0.05){ + +N<-sum(x) +k<-length(x) +y<-rep(1:k,x) +tmp<-sapply(1:M,function(i)sample(y,n)) +if(n>1)tmp_p<-sapply(1:M,function(j)sapply(1:k,function(i)sum(tmp[,j]==i)))/n +if(n==1)tmp_p<-sapply(1:M,function(j)sapply(1:k,function(i)sum(tmp[j]==i)))/n +(apply(tmp_p,1,function(z)quantile(z,c(alpha/2/(k-1),1-alpha/2/(k-1))))) +} + + + +p_value<-function(x=c(33,12,21),M=100000,x_obs=c(2,5,3)){ +n=sum(x_obs) +N<-sum(x) +k<-length(x) +y<-rep(1:k,x) +tmp<-sapply(1:M,function(i)sample(y,n)) +if(n>1)tmp_p<-sapply(1:M,function(j)sapply(1:k,function(i)sum(tmp[,j]==i))) +if(n==1)tmp_p<-sapply(1:M,function(j)sapply(1:k,function(i)sum(tmp[j]==i))) +tmp<-rbind(sapply(1:3,function(i)sum(tmp_p[i,]>=x_obs[i])/M), +sapply(1:3,function(i)sum(tmp_p[i,]<=x_obs[i])/M)) +sapply(1:3,function(i){if(tmp[1,i]>=tmp[2,i])return(-tmp[2,i])else return(tmp[1,i])}) +} + +#"D:\\Sequences\\IMGT Germlines\\Human_SNPless_IGHJ.FASTA" +# Remove SNPs from IMGT germline segment alleles +generateUnambiguousRepertoire <- function(repertoireInFile,repertoireOutFile){ + repertoireIn <- read.fasta(repertoireInFile, seqtype="DNA",as.string=T,set.attributes=F,forceDNAtolower=F) + alleleNames <- sapply(names(repertoireIn),function(x)strsplit(x,"|",fixed=TRUE)[[1]][2]) + SNPs <- tapply(repertoireIn,sapply(alleleNames,function(x)strsplit(x,"*",fixed=TRUE)[[1]][1]),function(x){ + Indices<-NULL + for(i in 1:length(x)){ + firstSeq = s2c(x[[1]]) + iSeq = s2c(x[[i]]) + Indices<-c(Indices,which(firstSeq[1:320]!=iSeq[1:320] & firstSeq[1:320]!="." & iSeq[1:320]!="." )) + } + return(sort(unique(Indices))) + }) + repertoireOut <- repertoireIn + repertoireOut <- lapply(names(repertoireOut), function(repertoireName){ + alleleName <- strsplit(repertoireName,"|",fixed=TRUE)[[1]][2] + geneSegmentName <- strsplit(alleleName,"*",fixed=TRUE)[[1]][1] + alleleSeq <- s2c(repertoireOut[[repertoireName]]) + alleleSeq[as.numeric(unlist(SNPs[geneSegmentName]))] <- "N" + alleleSeq <- c2s(alleleSeq) + repertoireOut[[repertoireName]] <- alleleSeq + }) + names(repertoireOut) <- names(repertoireIn) + write.fasta(repertoireOut,names(repertoireOut),file.out=repertoireOutFile) + +} + + + + + + +############ +groupBayes2 = function(indexes, param_resultMat){ + + BayesGDist_Focused_CDR = calculate_bayesG( x=param_resultMat[indexes,1], N=apply(param_resultMat[indexes,c(1,2,4)],1,sum,na.rm=T), p=apply(param_resultMat[indexes,5:8],1,function(x){x[1]/(x[1]+x[2]+x[4])})) + BayesGDist_Focused_FWR = calculate_bayesG( x=param_resultMat[indexes,3], N=apply(param_resultMat[indexes,c(3,2,4)],1,sum,na.rm=T), p=apply(param_resultMat[indexes,5:8],1,function(x){x[3]/(x[3]+x[2]+x[4])})) + #BayesGDist_Local_CDR = calculate_bayesG( x=param_resultMat[indexes,1], N=apply(param_resultMat[indexes,c(1,2)],1,sum,na.rm=T), p=apply(param_resultMat[indexes,5:8],1,function(x){x[1]/(x[1]+x[2])})) + #BayesGDist_Local_FWR = calculate_bayesG( x=param_resultMat[indexes,3], N=apply(param_resultMat[indexes,c(3,4)],1,sum,na.rm=T), p=apply(param_resultMat[indexes,5:8],1,function(x){x[3]/(x[3]+x[4])})) + #BayesGDist_Global_CDR = calculate_bayesG( x=param_resultMat[indexes,1], N=apply(param_resultMat[indexes,c(1,2,3,4)],1,sum,na.rm=T), p=apply(param_resultMat[indexes,5:8],1,function(x){x[1]/(x[1]+x[2]+x[3]+x[4])})) + #BayesGDist_Global_FWR = calculate_bayesG( x=param_resultMat[indexes,3], N=apply(param_resultMat[indexes,c(1,2,3,4)],1,sum,na.rm=T), p=apply(param_resultMat[indexes,5:8],1,function(x){x[3]/(x[1]+x[2]+x[3]+x[4])})) + return ( list("BayesGDist_Focused_CDR"=BayesGDist_Focused_CDR, + "BayesGDist_Focused_FWR"=BayesGDist_Focused_FWR) ) + #"BayesGDist_Local_CDR"=BayesGDist_Local_CDR, + #"BayesGDist_Local_FWR" = BayesGDist_Local_FWR)) +# "BayesGDist_Global_CDR" = BayesGDist_Global_CDR, +# "BayesGDist_Global_FWR" = BayesGDist_Global_FWR) ) + + +} + + +calculate_bayesG <- function( x=array(), N=array(), p=array(), max_sigma=20, length_sigma=4001){ + G <- max(length(x),length(N),length(p)) + x=array(x,dim=G) + N=array(N,dim=G) + p=array(p,dim=G) + + indexOfZero = N>0 & p>0 + N = N[indexOfZero] + x = x[indexOfZero] + p = p[indexOfZero] + G <- length(x) + + if(G){ + + cons<-array( dim=c(length_sigma,G) ) + if(G==1) { + return(calculate_bayes(x=x[G],N=N[G],p=p[G],max_sigma=max_sigma,length_sigma=length_sigma)) + } + else { + for(g in 1:G) cons[,g] <- calculate_bayes(x=x[g],N=N[g],p=p[g],max_sigma=max_sigma,length_sigma=length_sigma) + listMatG <- convolutionPowersOfTwoByTwos(cons,length_sigma=length_sigma) + y<-calculate_bayesGHelper(listMatG,length_sigma=length_sigma) + return( y/sum(y)/(2*max_sigma/(length_sigma-1)) ) + } + }else{ + return(NA) + } +} + + +calculate_bayesGHelper <- function( listMatG,length_sigma=4001 ){ + matG <- listMatG[[1]] + groups <- listMatG[[2]] + i = 1 + resConv <- matG[,i] + denom <- 2^groups[i] + if(length(groups)>1){ + while( i<length(groups) ){ + i = i + 1 + resConv <- weighted_conv(resConv, matG[,i], w= {{2^groups[i]}/denom} ,length_sigma=length_sigma) + #cat({{2^groups[i]}/denom},"\n") + denom <- denom + 2^groups[i] + } + } + return(resConv) +} + +weighted_conv<-function(x,y,w=1,m=100,length_sigma=4001){ +lx<-length(x) +ly<-length(y) +if({lx<m}| {{lx*w}<m}| {{ly}<m}| {{ly*w}<m}){ +if(w<1){ +y1<-approx(1:ly,y,seq(1,ly,length.out=m))$y +x1<-approx(1:lx,x,seq(1,lx,length.out=m/w))$y +lx<-length(x1) +ly<-length(y1) +} +else { +y1<-approx(1:ly,y,seq(1,ly,length.out=m*w))$y +x1<-approx(1:lx,x,seq(1,lx,length.out=m))$y +lx<-length(x1) +ly<-length(y1) +} +} +else{ +x1<-x +y1<-approx(1:ly,y,seq(1,ly,length.out=floor(lx*w)))$y +ly<-length(y1) +} +tmp<-approx(x=1:(lx+ly-1),y=convolve(x1,rev(y1),type="open"),xout=seq(1,lx+ly-1,length.out=length_sigma))$y +tmp[tmp<=0] = 0 +return(tmp/sum(tmp)) +} + +######################## + + + + +mutabilityMatrixONE<-rep(0,4) +names(mutabilityMatrixONE)<-NUCLEOTIDES + + # triMutability Background Count + buildMutabilityModelONE <- function( inputMatrixIndex, model=0 , multipleMutation=0, seqWithStops=0, stopMutations=0){ + + #rowOrigMatInput = matInput[inputMatrixIndex,] + seqGL = gsub("-", "", matInput[inputMatrixIndex,2]) + seqInput = gsub("-", "", matInput[inputMatrixIndex,1]) + matInput[inputMatrixIndex,] <<- c(seqInput,seqGL) + seqLength = nchar(seqGL) + mutationCount <- analyzeMutations(inputMatrixIndex, model, multipleMutation, seqWithStops) + BackgroundMatrix = mutabilityMatrixONE + MutationMatrix = mutabilityMatrixONE + MutationCountMatrix = mutabilityMatrixONE + if(!is.na(mutationCount)){ + if((stopMutations==0 & model==0) | (stopMutations==1 & (sum(mutationCount=="Stop")<length(mutationCount))) | (model==1 & (sum(mutationCount=="S")>0)) ){ + +# ONEmerStartPos = 1:(seqLength) +# ONEmerLength <- length(ONEmerStartPos) + ONEmerGL <- s2c(seqGL) + ONEmerSeq <- s2c(seqInput) + + #Background + for(ONEmerIndex in 1:seqLength){ + ONEmer = ONEmerGL[ONEmerIndex] + if(ONEmer!="N"){ + ONEmerCodonPos = getCodonPos(ONEmerIndex) + ONEmerReadingFrameCodon = c2s(ONEmerGL[ONEmerCodonPos]) + ONEmerReadingFrameCodonInputSeq = c2s(ONEmerSeq[ONEmerCodonPos] ) + + # All mutations model + #if(!any(grep("N",ONEmerReadingFrameCodon))){ + if(model==0){ + if(stopMutations==0){ + if(!any(grep("N",ONEmerReadingFrameCodonInputSeq))) + BackgroundMatrix[ONEmer] <- (BackgroundMatrix[ONEmer] + 1) + }else{ + if( !any(grep("N",ONEmerReadingFrameCodonInputSeq)) & translateCodonToAminoAcid(ONEmerReadingFrameCodonInputSeq)!="*"){ + positionWithinCodon = which(ONEmerCodonPos==ONEmerIndex)#positionsWithinCodon[(ONEmerCodonPos[1]%%3)+1] + BackgroundMatrix[ONEmer] <- (BackgroundMatrix[ONEmer] + probNonStopMutations[ONEmerReadingFrameCodon,positionWithinCodon]) + } + } + }else{ # Only silent mutations + if( !any(grep("N",ONEmerReadingFrameCodonInputSeq)) & translateCodonToAminoAcid(ONEmerReadingFrameCodonInputSeq)!="*" & translateCodonToAminoAcid(ONEmerReadingFrameCodonInputSeq)==translateCodonToAminoAcid(ONEmerReadingFrameCodon) ){ + positionWithinCodon = which(ONEmerCodonPos==ONEmerIndex) + BackgroundMatrix[ONEmer] <- (BackgroundMatrix[ONEmer] + probSMutations[ONEmerReadingFrameCodon,positionWithinCodon]) + } + } + } + } + } + + #Mutations + if(stopMutations==1) mutationCount = mutationCount[mutationCount!="Stop"] + if(model==1) mutationCount = mutationCount[mutationCount=="S"] + mutationPositions = as.numeric(names(mutationCount)) + mutationCount = mutationCount[mutationPositions>2 & mutationPositions<(seqLength-1)] + mutationPositions = mutationPositions[mutationPositions>2 & mutationPositions<(seqLength-1)] + countMutations = 0 + for(mutationPosition in mutationPositions){ + ONEmerIndex = mutationPosition + ONEmer = ONEmerSeq[ONEmerIndex] + GLONEmer = ONEmerGL[ONEmerIndex] + ONEmerCodonPos = getCodonPos(ONEmerIndex) + ONEmerReadingFrameCodon = c2s(ONEmerSeq[ONEmerCodonPos]) + ONEmerReadingFrameCodonGL =c2s(ONEmerGL[ONEmerCodonPos]) + if(!any(grep("N",ONEmer)) & !any(grep("N",GLONEmer))){ + if(model==0){ + countMutations = countMutations + 1 + MutationMatrix[GLONEmer] <- (MutationMatrix[GLONEmer] + 1) + MutationCountMatrix[GLONEmer] <- (MutationCountMatrix[GLONEmer] + 1) + }else{ + if( translateCodonToAminoAcid(ONEmerReadingFrameCodonGL)!="*" ){ + countMutations = countMutations + 1 + positionWithinCodon = which(ONEmerCodonPos==ONEmerIndex) + glNuc = substr(ONEmerReadingFrameCodonGL,positionWithinCodon,positionWithinCodon) + inputNuc = substr(ONEmerReadingFrameCodon,positionWithinCodon,positionWithinCodon) + MutationMatrix[GLONEmer] <- (MutationMatrix[GLONEmer] + substitution[glNuc,inputNuc]) + MutationCountMatrix[GLONEmer] <- (MutationCountMatrix[GLONEmer] + 1) + } + } + } + } + + seqMutability = MutationMatrix/BackgroundMatrix + seqMutability = seqMutability/sum(seqMutability,na.rm=TRUE) + #cat(inputMatrixIndex,"\t",countMutations,"\n") + return(list("seqMutability" = seqMutability,"numbMutations" = countMutations,"seqMutabilityCount" = MutationCountMatrix, "BackgroundMatrix"=BackgroundMatrix)) +# tmp<-list("seqMutability" = seqMutability,"numbMutations" = countMutations,"seqMutabilityCount" = MutationCountMatrix) + } + } + +################ +# $Id: trim.R 989 2006-10-29 15:28:26Z ggorjan $ + +trim <- function(s, recode.factor=TRUE, ...) + UseMethod("trim", s) + +trim.default <- function(s, recode.factor=TRUE, ...) + s + +trim.character <- function(s, recode.factor=TRUE, ...) +{ + s <- sub(pattern="^ +", replacement="", x=s) + s <- sub(pattern=" +$", replacement="", x=s) + s +} + +trim.factor <- function(s, recode.factor=TRUE, ...) +{ + levels(s) <- trim(levels(s)) + if(recode.factor) { + dots <- list(x=s, ...) + if(is.null(dots$sort)) dots$sort <- sort + s <- do.call(what=reorder.factor, args=dots) + } + s +} + +trim.list <- function(s, recode.factor=TRUE, ...) + lapply(s, trim, recode.factor=recode.factor, ...) + +trim.data.frame <- function(s, recode.factor=TRUE, ...) +{ + s[] <- trim.list(s, recode.factor=recode.factor, ...) + s +} +####################################### +# Compute the expected for each sequence-germline pair by codon +getExpectedIndividualByCodon <- function(matInput){ +if( any(grep("multicore",search())) ){ + facGL <- factor(matInput[,2]) + facLevels = levels(facGL) + LisGLs_MutabilityU = mclapply(1:length(facLevels), function(x){ + computeMutabilities(facLevels[x]) + }) + facIndex = match(facGL,facLevels) + + LisGLs_Mutability = mclapply(1:nrow(matInput), function(x){ + cInput = rep(NA,nchar(matInput[x,1])) + cInput[s2c(matInput[x,1])!="N"] = 1 + LisGLs_MutabilityU[[facIndex[x]]] * cInput + }) + + LisGLs_Targeting = mclapply(1:dim(matInput)[1], function(x){ + computeTargeting(matInput[x,2],LisGLs_Mutability[[x]]) + }) + + LisGLs_MutationTypes = mclapply(1:length(matInput[,2]),function(x){ + #print(x) + computeMutationTypes(matInput[x,2]) + }) + + LisGLs_R_Exp = mclapply(1:nrow(matInput), function(x){ + Exp_R <- rollapply(as.zoo(1:readEnd),width=3,by=3, + function(codonNucs){ + RPos = which(LisGLs_MutationTypes[[x]][,codonNucs]=="R") + sum( LisGLs_Targeting[[x]][,codonNucs][RPos], na.rm=T ) + } + ) + }) + + LisGLs_S_Exp = mclapply(1:nrow(matInput), function(x){ + Exp_S <- rollapply(as.zoo(1:readEnd),width=3,by=3, + function(codonNucs){ + SPos = which(LisGLs_MutationTypes[[x]][,codonNucs]=="S") + sum( LisGLs_Targeting[[x]][,codonNucs][SPos], na.rm=T ) + } + ) + }) + + Exp_R = matrix(unlist(LisGLs_R_Exp),nrow=nrow(matInput),ncol=readEnd/3,T) + Exp_S = matrix(unlist(LisGLs_S_Exp),nrow=nrow(matInput),ncol=readEnd/3,T) + return( list( "Expected_R"=Exp_R, "Expected_S"=Exp_S) ) + }else{ + facGL <- factor(matInput[,2]) + facLevels = levels(facGL) + LisGLs_MutabilityU = lapply(1:length(facLevels), function(x){ + computeMutabilities(facLevels[x]) + }) + facIndex = match(facGL,facLevels) + + LisGLs_Mutability = lapply(1:nrow(matInput), function(x){ + cInput = rep(NA,nchar(matInput[x,1])) + cInput[s2c(matInput[x,1])!="N"] = 1 + LisGLs_MutabilityU[[facIndex[x]]] * cInput + }) + + LisGLs_Targeting = lapply(1:dim(matInput)[1], function(x){ + computeTargeting(matInput[x,2],LisGLs_Mutability[[x]]) + }) + + LisGLs_MutationTypes = lapply(1:length(matInput[,2]),function(x){ + #print(x) + computeMutationTypes(matInput[x,2]) + }) + + LisGLs_R_Exp = lapply(1:nrow(matInput), function(x){ + Exp_R <- rollapply(as.zoo(1:readEnd),width=3,by=3, + function(codonNucs){ + RPos = which(LisGLs_MutationTypes[[x]][,codonNucs]=="R") + sum( LisGLs_Targeting[[x]][,codonNucs][RPos], na.rm=T ) + } + ) + }) + + LisGLs_S_Exp = lapply(1:nrow(matInput), function(x){ + Exp_S <- rollapply(as.zoo(1:readEnd),width=3,by=3, + function(codonNucs){ + SPos = which(LisGLs_MutationTypes[[x]][,codonNucs]=="S") + sum( LisGLs_Targeting[[x]][,codonNucs][SPos], na.rm=T ) + } + ) + }) + + Exp_R = matrix(unlist(LisGLs_R_Exp),nrow=nrow(matInput),ncol=readEnd/3,T) + Exp_S = matrix(unlist(LisGLs_S_Exp),nrow=nrow(matInput),ncol=readEnd/3,T) + return( list( "Expected_R"=Exp_R, "Expected_S"=Exp_S) ) + } +} + +# getObservedMutationsByCodon <- function(listMutations){ +# numbSeqs <- length(listMutations) +# obsMu_R <- matrix(0,nrow=numbSeqs,ncol=readEnd/3,dimnames=list(c(1:numbSeqs),c(1:(readEnd/3)))) +# obsMu_S <- obsMu_R +# temp <- mclapply(1:length(listMutations), function(i){ +# arrMutations = listMutations[[i]] +# RPos = as.numeric(names(arrMutations)[arrMutations=="R"]) +# RPos <- sapply(RPos,getCodonNumb) +# if(any(RPos)){ +# tabR <- table(RPos) +# obsMu_R[i,as.numeric(names(tabR))] <<- tabR +# } +# +# SPos = as.numeric(names(arrMutations)[arrMutations=="S"]) +# SPos <- sapply(SPos,getCodonNumb) +# if(any(SPos)){ +# tabS <- table(SPos) +# obsMu_S[i,names(tabS)] <<- tabS +# } +# } +# ) +# return( list( "Observed_R"=obsMu_R, "Observed_S"=obsMu_S) ) +# } + +getObservedMutationsByCodon <- function(listMutations){ + numbSeqs <- length(listMutations) + obsMu_R <- matrix(0,nrow=numbSeqs,ncol=readEnd/3,dimnames=list(c(1:numbSeqs),c(1:(readEnd/3)))) + obsMu_S <- obsMu_R + temp <- lapply(1:length(listMutations), function(i){ + arrMutations = listMutations[[i]] + RPos = as.numeric(names(arrMutations)[arrMutations=="R"]) + RPos <- sapply(RPos,getCodonNumb) + if(any(RPos)){ + tabR <- table(RPos) + obsMu_R[i,as.numeric(names(tabR))] <<- tabR + } + + SPos = as.numeric(names(arrMutations)[arrMutations=="S"]) + SPos <- sapply(SPos,getCodonNumb) + if(any(SPos)){ + tabS <- table(SPos) + obsMu_S[i,names(tabS)] <<- tabS + } + } + ) + return( list( "Observed_R"=obsMu_R, "Observed_S"=obsMu_S) ) +} +
--- a/baseline/Baseline_Main.r Thu Feb 25 10:32:32 2021 +0000 +++ b/baseline/Baseline_Main.r Wed Sep 15 12:24:06 2021 +0000 @@ -1,388 +1,388 @@ -######################################################################################### -# License Agreement -# -# THIS WORK IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE -# ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER -# APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE -# OR COPYRIGHT LAW IS PROHIBITED. -# -# BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE -# BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED -# TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN -# CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. -# -# BASELIne: Bayesian Estimation of Antigen-Driven Selection in Immunoglobulin Sequences -# Coded by: Mohamed Uduman & Gur Yaari -# Copyright 2012 Kleinstein Lab -# Version: 1.3 (01/23/2014) -######################################################################################### - -op <- options(); -options(showWarnCalls=FALSE, showErrorCalls=FALSE, warn=-1) -library('seqinr') -if( F & Sys.info()[1]=="Linux"){ - library("multicore") -} - -# Load functions and initialize global variables -source("Baseline_Functions.r") - -# Initialize parameters with user provided arguments - arg <- commandArgs(TRUE) - #arg = c(2,1,5,5,0,1,"1:26:38:55:65:104:116", "test.fasta","","sample") - #arg = c(1,1,5,5,0,1,"1:38:55:65:104:116:200", "test.fasta","","sample") - #arg = c(1,1,5,5,1,1,"1:26:38:55:65:104:116", "/home/mu37/Wu/Wu_Cloned_gapped_sequences_D-masked.fasta","/home/mu37/Wu/","Wu") - testID <- as.numeric(arg[1]) # 1 = Focused, 2 = Local - species <- as.numeric(arg[2]) # 1 = Human. 2 = Mouse - substitutionModel <- as.numeric(arg[3]) # 0 = Uniform substitution, 1 = Smith DS et al. 1996, 5 = FiveS - mutabilityModel <- as.numeric(arg[4]) # 0 = Uniform mutablity, 1 = Tri-nucleotide (Shapiro GS et al. 2002) , 5 = FiveS - clonal <- as.numeric(arg[5]) # 0 = Independent sequences, 1 = Clonally related, 2 = Clonally related & only non-terminal mutations - fixIndels <- as.numeric(arg[6]) # 0 = Do nothing, 1 = Try and fix Indels - region <- as.numeric(strsplit(arg[7],":")[[1]]) # StartPos:LastNucleotideF1:C1:F2:C2:F3:C3 - inputFilePath <- arg[8] # Full path to input file - outputPath <- arg[9] # Full path to location of output files - outputID <- arg[10] # ID for session output - - - if(testID==5){ - traitChangeModel <- 1 - if( !is.na(any(arg[11])) ) traitChangeModel <- as.numeric(arg[11]) # 1 <- Chothia 1998 - initializeTraitChange(traitChangeModel) - } - -# Initialize other parameters/variables - - # Initialzie the codon table ( definitions of R/S ) - computeCodonTable(testID) - - # Initialize - # Test Name - testName<-"Focused" - if(testID==2) testName<-"Local" - if(testID==3) testName<-"Imbalanced" - if(testID==4) testName<-"ImbalancedSilent" - - # Indel placeholders initialization - indelPos <- NULL - delPos <- NULL - insPos <- NULL - - # Initialize in Tranistion & Mutability matrixes - substitution <- initializeSubstitutionMatrix(substitutionModel,species) - mutability <- initializeMutabilityMatrix(mutabilityModel,species) - - # FWR/CDR boundaries - flagTrim <- F - if( is.na(region[7])){ - flagTrim <- T - region[7]<-region[6] - } - readStart = min(region,na.rm=T) - readEnd = max(region,na.rm=T) - if(readStart>1){ - region = region - (readStart - 1) - } - region_Nuc = c( (region[1]*3-2) , (region[2:7]*3) ) - region_Cod = region - - readStart = (readStart*3)-2 - readEnd = (readEnd*3) - - FWR_Nuc <- c( rep(TRUE,(region_Nuc[2])), - rep(FALSE,(region_Nuc[3]-region_Nuc[2])), - rep(TRUE,(region_Nuc[4]-region_Nuc[3])), - rep(FALSE,(region_Nuc[5]-region_Nuc[4])), - rep(TRUE,(region_Nuc[6]-region_Nuc[5])), - rep(FALSE,(region_Nuc[7]-region_Nuc[6])) - ) - CDR_Nuc <- (1-FWR_Nuc) - CDR_Nuc <- as.logical(CDR_Nuc) - FWR_Nuc_Mat <- matrix( rep(FWR_Nuc,4), ncol=length(FWR_Nuc), nrow=4, byrow=T) - CDR_Nuc_Mat <- matrix( rep(CDR_Nuc,4), ncol=length(CDR_Nuc), nrow=4, byrow=T) - - FWR_Codon <- c( rep(TRUE,(region[2])), - rep(FALSE,(region[3]-region[2])), - rep(TRUE,(region[4]-region[3])), - rep(FALSE,(region[5]-region[4])), - rep(TRUE,(region[6]-region[5])), - rep(FALSE,(region[7]-region[6])) - ) - CDR_Codon <- (1-FWR_Codon) - CDR_Codon <- as.logical(CDR_Codon) - - -# Read input FASTA file - tryCatch( - inputFASTA <- baseline.read.fasta(inputFilePath, seqtype="DNA",as.string=T,set.attributes=F,forceDNAtolower=F) - , error = function(ex){ - cat("Error|Error reading input. Please enter or upload a valid FASTA file.\n") - q() - } - ) - - if (length(inputFASTA)==1) { - cat("Error|Error reading input. Please enter or upload a valid FASTA file.\n") - q() - } - - # Process sequence IDs/names - names(inputFASTA) <- sapply(names(inputFASTA),function(x){trim(x)}) - - # Convert non nucleotide characters to N - inputFASTA[length(inputFASTA)] = gsub("\t","",inputFASTA[length(inputFASTA)]) - inputFASTA <- lapply(inputFASTA,replaceNonFASTAChars) - - # Process the FASTA file and conver to Matrix[inputSequence, germlineSequence] - processedInput <- processInputAdvanced(inputFASTA) - matInput <- processedInput[[1]] - germlines <- processedInput[[2]] - lenGermlines = length(unique(germlines)) - groups <- processedInput[[3]] - lenGroups = length(unique(groups)) - rm(processedInput) - rm(inputFASTA) - -# # remove clones with less than 2 seqeunces -# tableGL <- table(germlines) -# singletons <- which(tableGL<8) -# rowsToRemove <- match(singletons,germlines) -# if(any(rowsToRemove)){ -# matInput <- matInput[-rowsToRemove,] -# germlines <- germlines[-rowsToRemove] -# groups <- groups[-rowsToRemove] -# } -# -# # remove unproductive seqs -# nonFuctionalSeqs <- sapply(rownames(matInput),function(x){any(grep("unproductive",x))}) -# if(any(nonFuctionalSeqs)){ -# if(sum(nonFuctionalSeqs)==length(germlines)){ -# write.table("Unproductive",file=paste(outputPath,outputID,".txt",sep=""),quote=F,sep="\t",row.names=F,col.names=T) -# q() -# } -# matInput <- matInput[-which(nonFuctionalSeqs),] -# germlines <- germlines[-which(nonFuctionalSeqs)] -# germlines[1:length(germlines)] <- 1:length(germlines) -# groups <- groups[-which(nonFuctionalSeqs)] -# } -# -# if(class(matInput)=="character"){ -# write.table("All unproductive seqs",file=paste(outputPath,outputID,".txt",sep=""),quote=F,sep="\t",row.names=F,col.names=T) -# q() -# } -# -# if(nrow(matInput)<10 | is.null(nrow(matInput))){ -# write.table(paste(nrow(matInput), "seqs only",sep=""),file=paste(outputPath,outputID,".txt",sep=""),quote=F,sep="\t",row.names=F,col.names=T) -# q() -# } - -# replace leading & trailing "-" with "N: - matInput <- t(apply(matInput,1,replaceLeadingTrailingDashes,readEnd)) - - # Trim (nucleotide) input sequences to the last codon - #matInput[,1] <- apply(matrix(matInput[,1]),1,trimToLastCodon) - -# # Check for Indels -# if(fixIndels){ -# delPos <- fixDeletions(matInput) -# insPos <- fixInsertions(matInput) -# }else{ -# # Check for indels -# indelPos <- checkForInDels(matInput) -# indelPos <- apply(cbind(indelPos[[1]],indelPos[[2]]),1,function(x){(x[1]==T & x[2]==T)}) -# } - - # If indels are present, remove mutations in the seqeunce & throw warning at end - #matInput[indelPos,] <- apply(matrix(matInput[indelPos,],nrow=sum(indelPos),ncol=2),1,function(x){x[1]=x[2]; return(x) }) - - colnames(matInput)=c("Input","Germline") - - # If seqeunces are clonal, create effective sequence for each clone & modify germline/group definitions - germlinesOriginal = NULL - if(clonal){ - germlinesOriginal <- germlines - collapseCloneResults <- tapply(1:nrow(matInput),germlines,function(i){ - collapseClone(matInput[i,1],matInput[i[1],2],readEnd,nonTerminalOnly=(clonal-1)) - }) - matInput = t(sapply(collapseCloneResults,function(x){return(x[[1]])})) - names_groups = tapply(groups,germlines,function(x){names(x[1])}) - groups = tapply(groups,germlines,function(x){array(x[1],dimnames=names(x[1]))}) - names(groups) = names_groups - - names_germlines = tapply(germlines,germlines,function(x){names(x[1])}) - germlines = tapply( germlines,germlines,function(x){array(x[1],dimnames=names(x[1]))} ) - names(germlines) = names_germlines - matInputErrors = sapply(collapseCloneResults,function(x){return(x[[2]])}) - } - - -# Selection Analysis - - -# if (length(germlines)>sequenceLimit) { -# # Code to parallelize processing goes here -# stop( paste("Error: Cannot process more than ", Upper_limit," sequences",sep="") ) -# } - -# if (length(germlines)<sequenceLimit) {} - - # Compute expected mutation frequencies - matExpected <- getExpectedIndividual(matInput) - - # Count observed number of mutations in the different regions - mutations <- lapply( 1:nrow(matInput), function(i){ - #cat(i,"\n") - seqI = s2c(matInput[i,1]) - seqG = s2c(matInput[i,2]) - matIGL = matrix(c(seqI,seqG),ncol=length(seqI),nrow=2,byrow=T) - retVal <- NA - tryCatch( - retVal <- analyzeMutations2NucUri(matIGL) - , error = function(ex){ - retVal <- NA - } - ) - - - return( retVal ) - }) - - matObserved <- t(sapply( mutations, processNucMutations2 )) - numberOfSeqsWithMutations <- numberOfSeqsWithMutations(matObserved, testID) - - #if(sum(numberOfSeqsWithMutations)==0){ - # write.table("No mutated sequences",file=paste(outputPath,outputID,".txt",sep=""),quote=F,sep="\t",row.names=F,col.names=T) - # q() - #} - - matMutationInfo <- cbind(matObserved,matExpected) - rm(matObserved,matExpected) - - - #Bayesian PDFs - bayes_pdf = computeBayesianScore(matMutationInfo, test=testName, max_sigma=20,length_sigma=4001) - bayesPDF_cdr = bayes_pdf[[1]] - bayesPDF_fwr = bayes_pdf[[2]] - rm(bayes_pdf) - - bayesPDF_germlines_cdr = tapply(bayesPDF_cdr,germlines,function(x) groupPosteriors(x,length_sigma=4001)) - bayesPDF_germlines_fwr = tapply(bayesPDF_fwr,germlines,function(x) groupPosteriors(x,length_sigma=4001)) - - bayesPDF_groups_cdr = tapply(bayesPDF_cdr,groups,function(x) groupPosteriors(x,length_sigma=4001)) - bayesPDF_groups_fwr = tapply(bayesPDF_fwr,groups,function(x) groupPosteriors(x,length_sigma=4001)) - - if(lenGroups>1){ - groups <- c(groups,lenGroups+1) - names(groups)[length(groups)] = "All sequences combined" - bayesPDF_groups_cdr[[lenGroups+1]] = groupPosteriors(bayesPDF_groups_cdr,length_sigma=4001) - bayesPDF_groups_fwr[[lenGroups+1]] = groupPosteriors(bayesPDF_groups_fwr,length_sigma=4001) - } - - #Bayesian Outputs - bayes_cdr = t(sapply(bayesPDF_cdr,calcBayesOutputInfo)) - bayes_fwr = t(sapply(bayesPDF_fwr,calcBayesOutputInfo)) - bayes_germlines_cdr = t(sapply(bayesPDF_germlines_cdr,calcBayesOutputInfo)) - bayes_germlines_fwr = t(sapply(bayesPDF_germlines_fwr,calcBayesOutputInfo)) - bayes_groups_cdr = t(sapply(bayesPDF_groups_cdr,calcBayesOutputInfo)) - bayes_groups_fwr = t(sapply(bayesPDF_groups_fwr,calcBayesOutputInfo)) - - #P-values - simgaP_cdr = sapply(bayesPDF_cdr,computeSigmaP) - simgaP_fwr = sapply(bayesPDF_fwr,computeSigmaP) - - simgaP_germlines_cdr = sapply(bayesPDF_germlines_cdr,computeSigmaP) - simgaP_germlines_fwr = sapply(bayesPDF_germlines_fwr,computeSigmaP) - - simgaP_groups_cdr = sapply(bayesPDF_groups_cdr,computeSigmaP) - simgaP_groups_fwr = sapply(bayesPDF_groups_fwr,computeSigmaP) - - - #Format output - - # Round expected mutation frequencies to 3 decimal places - matMutationInfo[germlinesOriginal[indelPos],] = NA - if(nrow(matMutationInfo)==1){ - matMutationInfo[5:8] = round(matMutationInfo[,5:8]/sum(matMutationInfo[,5:8],na.rm=T),3) - }else{ - matMutationInfo[,5:8] = t(round(apply(matMutationInfo[,5:8],1,function(x){ return(x/sum(x,na.rm=T)) }),3)) - } - - listPDFs = list() - nRows = length(unique(groups)) + length(unique(germlines)) + length(groups) - - matOutput = matrix(NA,ncol=18,nrow=nRows) - rowNumb = 1 - for(G in unique(groups)){ - #print(G) - matOutput[rowNumb,c(1,2,11:18)] = c("Group",names(groups)[groups==G][1],bayes_groups_cdr[G,],bayes_groups_fwr[G,],simgaP_groups_cdr[G],simgaP_groups_fwr[G]) - listPDFs[[rowNumb]] = list("CDR"=bayesPDF_groups_cdr[[G]],"FWR"=bayesPDF_groups_fwr[[G]]) - names(listPDFs)[rowNumb] = names(groups[groups==paste(G)])[1] - #if(names(groups)[which(groups==G)[1]]!="All sequences combined"){ - gs = unique(germlines[groups==G]) - rowNumb = rowNumb+1 - if( !is.na(gs) ){ - for( g in gs ){ - matOutput[rowNumb,c(1,2,11:18)] = c("Germline",names(germlines)[germlines==g][1],bayes_germlines_cdr[g,],bayes_germlines_fwr[g,],simgaP_germlines_cdr[g],simgaP_germlines_fwr[g]) - listPDFs[[rowNumb]] = list("CDR"=bayesPDF_germlines_cdr[[g]],"FWR"=bayesPDF_germlines_fwr[[g]]) - names(listPDFs)[rowNumb] = names(germlines[germlines==paste(g)])[1] - rowNumb = rowNumb+1 - indexesOfInterest = which(germlines==g) - numbSeqsOfInterest = length(indexesOfInterest) - rowNumb = seq(rowNumb,rowNumb+(numbSeqsOfInterest-1)) - matOutput[rowNumb,] = matrix( c( rep("Sequence",numbSeqsOfInterest), - rownames(matInput)[indexesOfInterest], - c(matMutationInfo[indexesOfInterest,1:4]), - c(matMutationInfo[indexesOfInterest,5:8]), - c(bayes_cdr[indexesOfInterest,]), - c(bayes_fwr[indexesOfInterest,]), - c(simgaP_cdr[indexesOfInterest]), - c(simgaP_fwr[indexesOfInterest]) - ), ncol=18, nrow=numbSeqsOfInterest,byrow=F) - increment=0 - for( ioi in indexesOfInterest){ - listPDFs[[min(rowNumb)+increment]] = list("CDR"=bayesPDF_cdr[[ioi]] , "FWR"=bayesPDF_fwr[[ioi]]) - names(listPDFs)[min(rowNumb)+increment] = rownames(matInput)[ioi] - increment = increment + 1 - } - rowNumb=max(rowNumb)+1 - - } - } - } - colsToFormat = 11:18 - matOutput[,colsToFormat] = formatC( matrix(as.numeric(matOutput[,colsToFormat]), nrow=nrow(matOutput), ncol=length(colsToFormat)) , digits=3) - matOutput[matOutput== " NaN"] = NA - - - - colnames(matOutput) = c("Type", "ID", "Observed_CDR_R", "Observed_CDR_S", "Observed_FWR_R", "Observed_FWR_S", - "Expected_CDR_R", "Expected_CDR_S", "Expected_FWR_R", "Expected_FWR_S", - paste( rep(testName,6), rep(c("Sigma","CIlower","CIupper"),2),rep(c("CDR","FWR"),each=3), sep="_"), - paste( rep(testName,2), rep("P",2),c("CDR","FWR"), sep="_") - ) - fileName = paste(outputPath,outputID,".txt",sep="") - write.table(matOutput,file=fileName,quote=F,sep="\t",row.names=T,col.names=NA) - fileName = paste(outputPath,outputID,".RData",sep="") - save(listPDFs,file=fileName) - -indelWarning = FALSE -if(sum(indelPos)>0){ - indelWarning = "<P>Warning: The following sequences have either gaps and/or deletions, and have been ommited from the analysis."; - indelWarning = paste( indelWarning , "<UL>", sep="" ) - for(indels in names(indelPos)[indelPos]){ - indelWarning = paste( indelWarning , "<LI>", indels, "</LI>", sep="" ) - } - indelWarning = paste( indelWarning , "</UL></P>", sep="" ) -} - -cloneWarning = FALSE -if(clonal==1){ - if(sum(matInputErrors)>0){ - cloneWarning = "<P>Warning: The following clones have sequences of unequal length."; - cloneWarning = paste( cloneWarning , "<UL>", sep="" ) - for(clone in names(matInputErrors)[matInputErrors]){ - cloneWarning = paste( cloneWarning , "<LI>", names(germlines)[as.numeric(clone)], "</LI>", sep="" ) - } - cloneWarning = paste( cloneWarning , "</UL></P>", sep="" ) - } -} -cat(paste("Success",outputID,indelWarning,cloneWarning,sep="|")) +######################################################################################### +# License Agreement +# +# THIS WORK IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE +# ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER +# APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE +# OR COPYRIGHT LAW IS PROHIBITED. +# +# BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE +# BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED +# TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN +# CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. +# +# BASELIne: Bayesian Estimation of Antigen-Driven Selection in Immunoglobulin Sequences +# Coded by: Mohamed Uduman & Gur Yaari +# Copyright 2012 Kleinstein Lab +# Version: 1.3 (01/23/2014) +######################################################################################### + +op <- options(); +options(showWarnCalls=FALSE, showErrorCalls=FALSE, warn=-1) +library('seqinr') +if( F & Sys.info()[1]=="Linux"){ + library("multicore") +} + +# Load functions and initialize global variables +source("Baseline_Functions.r") + +# Initialize parameters with user provided arguments + arg <- commandArgs(TRUE) + #arg = c(2,1,5,5,0,1,"1:26:38:55:65:104:116", "test.fasta","","sample") + #arg = c(1,1,5,5,0,1,"1:38:55:65:104:116:200", "test.fasta","","sample") + #arg = c(1,1,5,5,1,1,"1:26:38:55:65:104:116", "/home/mu37/Wu/Wu_Cloned_gapped_sequences_D-masked.fasta","/home/mu37/Wu/","Wu") + testID <- as.numeric(arg[1]) # 1 = Focused, 2 = Local + species <- as.numeric(arg[2]) # 1 = Human. 2 = Mouse + substitutionModel <- as.numeric(arg[3]) # 0 = Uniform substitution, 1 = Smith DS et al. 1996, 5 = FiveS + mutabilityModel <- as.numeric(arg[4]) # 0 = Uniform mutablity, 1 = Tri-nucleotide (Shapiro GS et al. 2002) , 5 = FiveS + clonal <- as.numeric(arg[5]) # 0 = Independent sequences, 1 = Clonally related, 2 = Clonally related & only non-terminal mutations + fixIndels <- as.numeric(arg[6]) # 0 = Do nothing, 1 = Try and fix Indels + region <- as.numeric(strsplit(arg[7],":")[[1]]) # StartPos:LastNucleotideF1:C1:F2:C2:F3:C3 + inputFilePath <- arg[8] # Full path to input file + outputPath <- arg[9] # Full path to location of output files + outputID <- arg[10] # ID for session output + + + if(testID==5){ + traitChangeModel <- 1 + if( !is.na(any(arg[11])) ) traitChangeModel <- as.numeric(arg[11]) # 1 <- Chothia 1998 + initializeTraitChange(traitChangeModel) + } + +# Initialize other parameters/variables + + # Initialzie the codon table ( definitions of R/S ) + computeCodonTable(testID) + + # Initialize + # Test Name + testName<-"Focused" + if(testID==2) testName<-"Local" + if(testID==3) testName<-"Imbalanced" + if(testID==4) testName<-"ImbalancedSilent" + + # Indel placeholders initialization + indelPos <- NULL + delPos <- NULL + insPos <- NULL + + # Initialize in Tranistion & Mutability matrixes + substitution <- initializeSubstitutionMatrix(substitutionModel,species) + mutability <- initializeMutabilityMatrix(mutabilityModel,species) + + # FWR/CDR boundaries + flagTrim <- F + if( is.na(region[7])){ + flagTrim <- T + region[7]<-region[6] + } + readStart = min(region,na.rm=T) + readEnd = max(region,na.rm=T) + if(readStart>1){ + region = region - (readStart - 1) + } + region_Nuc = c( (region[1]*3-2) , (region[2:7]*3) ) + region_Cod = region + + readStart = (readStart*3)-2 + readEnd = (readEnd*3) + + FWR_Nuc <- c( rep(TRUE,(region_Nuc[2])), + rep(FALSE,(region_Nuc[3]-region_Nuc[2])), + rep(TRUE,(region_Nuc[4]-region_Nuc[3])), + rep(FALSE,(region_Nuc[5]-region_Nuc[4])), + rep(TRUE,(region_Nuc[6]-region_Nuc[5])), + rep(FALSE,(region_Nuc[7]-region_Nuc[6])) + ) + CDR_Nuc <- (1-FWR_Nuc) + CDR_Nuc <- as.logical(CDR_Nuc) + FWR_Nuc_Mat <- matrix( rep(FWR_Nuc,4), ncol=length(FWR_Nuc), nrow=4, byrow=T) + CDR_Nuc_Mat <- matrix( rep(CDR_Nuc,4), ncol=length(CDR_Nuc), nrow=4, byrow=T) + + FWR_Codon <- c( rep(TRUE,(region[2])), + rep(FALSE,(region[3]-region[2])), + rep(TRUE,(region[4]-region[3])), + rep(FALSE,(region[5]-region[4])), + rep(TRUE,(region[6]-region[5])), + rep(FALSE,(region[7]-region[6])) + ) + CDR_Codon <- (1-FWR_Codon) + CDR_Codon <- as.logical(CDR_Codon) + + +# Read input FASTA file + tryCatch( + inputFASTA <- baseline.read.fasta(inputFilePath, seqtype="DNA",as.string=T,set.attributes=F,forceDNAtolower=F) + , error = function(ex){ + cat("Error|Error reading input. Please enter or upload a valid FASTA file.\n") + q() + } + ) + + if (length(inputFASTA)==1) { + cat("Error|Error reading input. Please enter or upload a valid FASTA file.\n") + q() + } + + # Process sequence IDs/names + names(inputFASTA) <- sapply(names(inputFASTA),function(x){trim(x)}) + + # Convert non nucleotide characters to N + inputFASTA[length(inputFASTA)] = gsub("\t","",inputFASTA[length(inputFASTA)]) + inputFASTA <- lapply(inputFASTA,replaceNonFASTAChars) + + # Process the FASTA file and conver to Matrix[inputSequence, germlineSequence] + processedInput <- processInputAdvanced(inputFASTA) + matInput <- processedInput[[1]] + germlines <- processedInput[[2]] + lenGermlines = length(unique(germlines)) + groups <- processedInput[[3]] + lenGroups = length(unique(groups)) + rm(processedInput) + rm(inputFASTA) + +# # remove clones with less than 2 seqeunces +# tableGL <- table(germlines) +# singletons <- which(tableGL<8) +# rowsToRemove <- match(singletons,germlines) +# if(any(rowsToRemove)){ +# matInput <- matInput[-rowsToRemove,] +# germlines <- germlines[-rowsToRemove] +# groups <- groups[-rowsToRemove] +# } +# +# # remove unproductive seqs +# nonFuctionalSeqs <- sapply(rownames(matInput),function(x){any(grep("unproductive",x))}) +# if(any(nonFuctionalSeqs)){ +# if(sum(nonFuctionalSeqs)==length(germlines)){ +# write.table("Unproductive",file=paste(outputPath,outputID,".txt",sep=""),quote=F,sep="\t",row.names=F,col.names=T) +# q() +# } +# matInput <- matInput[-which(nonFuctionalSeqs),] +# germlines <- germlines[-which(nonFuctionalSeqs)] +# germlines[1:length(germlines)] <- 1:length(germlines) +# groups <- groups[-which(nonFuctionalSeqs)] +# } +# +# if(class(matInput)=="character"){ +# write.table("All unproductive seqs",file=paste(outputPath,outputID,".txt",sep=""),quote=F,sep="\t",row.names=F,col.names=T) +# q() +# } +# +# if(nrow(matInput)<10 | is.null(nrow(matInput))){ +# write.table(paste(nrow(matInput), "seqs only",sep=""),file=paste(outputPath,outputID,".txt",sep=""),quote=F,sep="\t",row.names=F,col.names=T) +# q() +# } + +# replace leading & trailing "-" with "N: + matInput <- t(apply(matInput,1,replaceLeadingTrailingDashes,readEnd)) + + # Trim (nucleotide) input sequences to the last codon + #matInput[,1] <- apply(matrix(matInput[,1]),1,trimToLastCodon) + +# # Check for Indels +# if(fixIndels){ +# delPos <- fixDeletions(matInput) +# insPos <- fixInsertions(matInput) +# }else{ +# # Check for indels +# indelPos <- checkForInDels(matInput) +# indelPos <- apply(cbind(indelPos[[1]],indelPos[[2]]),1,function(x){(x[1]==T & x[2]==T)}) +# } + + # If indels are present, remove mutations in the seqeunce & throw warning at end + #matInput[indelPos,] <- apply(matrix(matInput[indelPos,],nrow=sum(indelPos),ncol=2),1,function(x){x[1]=x[2]; return(x) }) + + colnames(matInput)=c("Input","Germline") + + # If seqeunces are clonal, create effective sequence for each clone & modify germline/group definitions + germlinesOriginal = NULL + if(clonal){ + germlinesOriginal <- germlines + collapseCloneResults <- tapply(1:nrow(matInput),germlines,function(i){ + collapseClone(matInput[i,1],matInput[i[1],2],readEnd,nonTerminalOnly=(clonal-1)) + }) + matInput = t(sapply(collapseCloneResults,function(x){return(x[[1]])})) + names_groups = tapply(groups,germlines,function(x){names(x[1])}) + groups = tapply(groups,germlines,function(x){array(x[1],dimnames=names(x[1]))}) + names(groups) = names_groups + + names_germlines = tapply(germlines,germlines,function(x){names(x[1])}) + germlines = tapply( germlines,germlines,function(x){array(x[1],dimnames=names(x[1]))} ) + names(germlines) = names_germlines + matInputErrors = sapply(collapseCloneResults,function(x){return(x[[2]])}) + } + + +# Selection Analysis + + +# if (length(germlines)>sequenceLimit) { +# # Code to parallelize processing goes here +# stop( paste("Error: Cannot process more than ", Upper_limit," sequences",sep="") ) +# } + +# if (length(germlines)<sequenceLimit) {} + + # Compute expected mutation frequencies + matExpected <- getExpectedIndividual(matInput) + + # Count observed number of mutations in the different regions + mutations <- lapply( 1:nrow(matInput), function(i){ + #cat(i,"\n") + seqI = s2c(matInput[i,1]) + seqG = s2c(matInput[i,2]) + matIGL = matrix(c(seqI,seqG),ncol=length(seqI),nrow=2,byrow=T) + retVal <- NA + tryCatch( + retVal <- analyzeMutations2NucUri(matIGL) + , error = function(ex){ + retVal <- NA + } + ) + + + return( retVal ) + }) + + matObserved <- t(sapply( mutations, processNucMutations2 )) + numberOfSeqsWithMutations <- numberOfSeqsWithMutations(matObserved, testID) + + #if(sum(numberOfSeqsWithMutations)==0){ + # write.table("No mutated sequences",file=paste(outputPath,outputID,".txt",sep=""),quote=F,sep="\t",row.names=F,col.names=T) + # q() + #} + + matMutationInfo <- cbind(matObserved,matExpected) + rm(matObserved,matExpected) + + + #Bayesian PDFs + bayes_pdf = computeBayesianScore(matMutationInfo, test=testName, max_sigma=20,length_sigma=4001) + bayesPDF_cdr = bayes_pdf[[1]] + bayesPDF_fwr = bayes_pdf[[2]] + rm(bayes_pdf) + + bayesPDF_germlines_cdr = tapply(bayesPDF_cdr,germlines,function(x) groupPosteriors(x,length_sigma=4001)) + bayesPDF_germlines_fwr = tapply(bayesPDF_fwr,germlines,function(x) groupPosteriors(x,length_sigma=4001)) + + bayesPDF_groups_cdr = tapply(bayesPDF_cdr,groups,function(x) groupPosteriors(x,length_sigma=4001)) + bayesPDF_groups_fwr = tapply(bayesPDF_fwr,groups,function(x) groupPosteriors(x,length_sigma=4001)) + + if(lenGroups>1){ + groups <- c(groups,lenGroups+1) + names(groups)[length(groups)] = "All sequences combined" + bayesPDF_groups_cdr[[lenGroups+1]] = groupPosteriors(bayesPDF_groups_cdr,length_sigma=4001) + bayesPDF_groups_fwr[[lenGroups+1]] = groupPosteriors(bayesPDF_groups_fwr,length_sigma=4001) + } + + #Bayesian Outputs + bayes_cdr = t(sapply(bayesPDF_cdr,calcBayesOutputInfo)) + bayes_fwr = t(sapply(bayesPDF_fwr,calcBayesOutputInfo)) + bayes_germlines_cdr = t(sapply(bayesPDF_germlines_cdr,calcBayesOutputInfo)) + bayes_germlines_fwr = t(sapply(bayesPDF_germlines_fwr,calcBayesOutputInfo)) + bayes_groups_cdr = t(sapply(bayesPDF_groups_cdr,calcBayesOutputInfo)) + bayes_groups_fwr = t(sapply(bayesPDF_groups_fwr,calcBayesOutputInfo)) + + #P-values + simgaP_cdr = sapply(bayesPDF_cdr,computeSigmaP) + simgaP_fwr = sapply(bayesPDF_fwr,computeSigmaP) + + simgaP_germlines_cdr = sapply(bayesPDF_germlines_cdr,computeSigmaP) + simgaP_germlines_fwr = sapply(bayesPDF_germlines_fwr,computeSigmaP) + + simgaP_groups_cdr = sapply(bayesPDF_groups_cdr,computeSigmaP) + simgaP_groups_fwr = sapply(bayesPDF_groups_fwr,computeSigmaP) + + + #Format output + + # Round expected mutation frequencies to 3 decimal places + matMutationInfo[germlinesOriginal[indelPos],] = NA + if(nrow(matMutationInfo)==1){ + matMutationInfo[5:8] = round(matMutationInfo[,5:8]/sum(matMutationInfo[,5:8],na.rm=T),3) + }else{ + matMutationInfo[,5:8] = t(round(apply(matMutationInfo[,5:8],1,function(x){ return(x/sum(x,na.rm=T)) }),3)) + } + + listPDFs = list() + nRows = length(unique(groups)) + length(unique(germlines)) + length(groups) + + matOutput = matrix(NA,ncol=18,nrow=nRows) + rowNumb = 1 + for(G in unique(groups)){ + #print(G) + matOutput[rowNumb,c(1,2,11:18)] = c("Group",names(groups)[groups==G][1],bayes_groups_cdr[G,],bayes_groups_fwr[G,],simgaP_groups_cdr[G],simgaP_groups_fwr[G]) + listPDFs[[rowNumb]] = list("CDR"=bayesPDF_groups_cdr[[G]],"FWR"=bayesPDF_groups_fwr[[G]]) + names(listPDFs)[rowNumb] = names(groups[groups==paste(G)])[1] + #if(names(groups)[which(groups==G)[1]]!="All sequences combined"){ + gs = unique(germlines[groups==G]) + rowNumb = rowNumb+1 + if( !is.na(gs) ){ + for( g in gs ){ + matOutput[rowNumb,c(1,2,11:18)] = c("Germline",names(germlines)[germlines==g][1],bayes_germlines_cdr[g,],bayes_germlines_fwr[g,],simgaP_germlines_cdr[g],simgaP_germlines_fwr[g]) + listPDFs[[rowNumb]] = list("CDR"=bayesPDF_germlines_cdr[[g]],"FWR"=bayesPDF_germlines_fwr[[g]]) + names(listPDFs)[rowNumb] = names(germlines[germlines==paste(g)])[1] + rowNumb = rowNumb+1 + indexesOfInterest = which(germlines==g) + numbSeqsOfInterest = length(indexesOfInterest) + rowNumb = seq(rowNumb,rowNumb+(numbSeqsOfInterest-1)) + matOutput[rowNumb,] = matrix( c( rep("Sequence",numbSeqsOfInterest), + rownames(matInput)[indexesOfInterest], + c(matMutationInfo[indexesOfInterest,1:4]), + c(matMutationInfo[indexesOfInterest,5:8]), + c(bayes_cdr[indexesOfInterest,]), + c(bayes_fwr[indexesOfInterest,]), + c(simgaP_cdr[indexesOfInterest]), + c(simgaP_fwr[indexesOfInterest]) + ), ncol=18, nrow=numbSeqsOfInterest,byrow=F) + increment=0 + for( ioi in indexesOfInterest){ + listPDFs[[min(rowNumb)+increment]] = list("CDR"=bayesPDF_cdr[[ioi]] , "FWR"=bayesPDF_fwr[[ioi]]) + names(listPDFs)[min(rowNumb)+increment] = rownames(matInput)[ioi] + increment = increment + 1 + } + rowNumb=max(rowNumb)+1 + + } + } + } + colsToFormat = 11:18 + matOutput[,colsToFormat] = formatC( matrix(as.numeric(matOutput[,colsToFormat]), nrow=nrow(matOutput), ncol=length(colsToFormat)) , digits=3) + matOutput[matOutput== " NaN"] = NA + + + + colnames(matOutput) = c("Type", "ID", "Observed_CDR_R", "Observed_CDR_S", "Observed_FWR_R", "Observed_FWR_S", + "Expected_CDR_R", "Expected_CDR_S", "Expected_FWR_R", "Expected_FWR_S", + paste( rep(testName,6), rep(c("Sigma","CIlower","CIupper"),2),rep(c("CDR","FWR"),each=3), sep="_"), + paste( rep(testName,2), rep("P",2),c("CDR","FWR"), sep="_") + ) + fileName = paste(outputPath,outputID,".txt",sep="") + write.table(matOutput,file=fileName,quote=F,sep="\t",row.names=T,col.names=NA) + fileName = paste(outputPath,outputID,".RData",sep="") + save(listPDFs,file=fileName) + +indelWarning = FALSE +if(sum(indelPos)>0){ + indelWarning = "<P>Warning: The following sequences have either gaps and/or deletions, and have been ommited from the analysis."; + indelWarning = paste( indelWarning , "<UL>", sep="" ) + for(indels in names(indelPos)[indelPos]){ + indelWarning = paste( indelWarning , "<LI>", indels, "</LI>", sep="" ) + } + indelWarning = paste( indelWarning , "</UL></P>", sep="" ) +} + +cloneWarning = FALSE +if(clonal==1){ + if(sum(matInputErrors)>0){ + cloneWarning = "<P>Warning: The following clones have sequences of unequal length."; + cloneWarning = paste( cloneWarning , "<UL>", sep="" ) + for(clone in names(matInputErrors)[matInputErrors]){ + cloneWarning = paste( cloneWarning , "<LI>", names(germlines)[as.numeric(clone)], "</LI>", sep="" ) + } + cloneWarning = paste( cloneWarning , "</UL></P>", sep="" ) + } +} +cat(paste("Success",outputID,indelWarning,cloneWarning,sep="|"))
--- a/baseline/comparePDFs.r Thu Feb 25 10:32:32 2021 +0000 +++ b/baseline/comparePDFs.r Wed Sep 15 12:24:06 2021 +0000 @@ -1,225 +1,225 @@ -options("warn"=-1) - -#from http://selection.med.yale.edu/baseline/Archive/Baseline%20Version%201.3/Baseline_Functions_Version1.3.r -# Compute p-value of two distributions -compareTwoDistsFaster <-function(sigma_S=seq(-20,20,length.out=4001), N=10000, dens1=runif(4001,0,1), dens2=runif(4001,0,1)){ -#print(c(length(dens1),length(dens2))) -if(length(dens1)>1 & length(dens2)>1 ){ - dens1<-dens1/sum(dens1) - dens2<-dens2/sum(dens2) - cum2 <- cumsum(dens2)-dens2/2 - tmp<- sum(sapply(1:length(dens1),function(i)return(dens1[i]*cum2[i]))) - #print(tmp) - if(tmp>0.5)tmp<-tmp-1 - return( tmp ) - } - else { - return(NA) - } - #return (sum(sapply(1:N,function(i)(sample(sigma_S,1,prob=dens1)>sample(sigma_S,1,prob=dens2))))/N) -} - - -require("grid") -arg <- commandArgs(TRUE) -#arg <- c("300143","4","5") -arg[!arg=="clonal"] -input <- arg[1] -output <- arg[2] -rowIDs <- as.numeric( sapply(arg[3:(max(3,length(arg)))],function(x){ gsub("chkbx","",x) } ) ) - -numbSeqs = length(rowIDs) - -if ( is.na(rowIDs[1]) | numbSeqs>10 ) { - stop( paste("Error: Please select between one and 10 seqeunces to compare.") ) -} - -#load( paste("output/",sessionID,".RData",sep="") ) -load( input ) -#input - -xMarks = seq(-20,20,length.out=4001) - -plot_grid_s<-function(pdf1,pdf2,Sample=100,cex=1,xlim=NULL,xMarks = seq(-20,20,length.out=4001)){ - yMax = max(c(abs(as.numeric(unlist(listPDFs[pdf1]))),abs(as.numeric(unlist(listPDFs[pdf2]))),0),na.rm=T) * 1.1 - - if(length(xlim==2)){ - xMin=xlim[1] - xMax=xlim[2] - } else { - xMin_CDR = xMarks[listPDFs[pdf1][[1]][["CDR"]]>0.001][1] - xMin_FWR = xMarks[listPDFs[pdf1][[1]][["FWR"]]>0.001][1] - xMax_CDR = xMarks[listPDFs[pdf1][[1]][["CDR"]]>0.001][length(xMarks[listPDFs[pdf1][[1]][["CDR"]]>0.001])] - xMax_FWR = xMarks[listPDFs[pdf1][[1]][["FWR"]]>0.001][length(xMarks[listPDFs[pdf1][[1]][["FWR"]]>0.001])] - - xMin_CDR2 = xMarks[listPDFs[pdf2][[1]][["CDR"]]>0.001][1] - xMin_FWR2 = xMarks[listPDFs[pdf2][[1]][["FWR"]]>0.001][1] - xMax_CDR2 = xMarks[listPDFs[pdf2][[1]][["CDR"]]>0.001][length(xMarks[listPDFs[pdf2][[1]][["CDR"]]>0.001])] - xMax_FWR2 = xMarks[listPDFs[pdf2][[1]][["FWR"]]>0.001][length(xMarks[listPDFs[pdf2][[1]][["FWR"]]>0.001])] - - xMin=min(c(xMin_CDR,xMin_FWR,xMin_CDR2,xMin_FWR2,0),na.rm=TRUE) - xMax=max(c(xMax_CDR,xMax_FWR,xMax_CDR2,xMax_FWR2,0),na.rm=TRUE) - } - - sigma<-approx(xMarks,xout=seq(xMin,xMax,length.out=Sample))$x - grid.rect(gp = gpar(col=gray(0.6),fill="white",cex=cex)) - x <- sigma - pushViewport(viewport(x=0.175,y=0.175,width=0.825,height=0.825,just=c("left","bottom"),default.units="npc")) - #pushViewport(plotViewport(c(1.8, 1.8, 0.25, 0.25)*cex)) - pushViewport(dataViewport(x, c(yMax,-yMax),gp = gpar(cex=cex),extension=c(0.05))) - grid.polygon(c(0,0,1,1),c(0,0.5,0.5,0),gp=gpar(col=grey(0.95),fill=grey(0.95)),default.units="npc") - grid.polygon(c(0,0,1,1),c(1,0.5,0.5,1),gp=gpar(col=grey(0.9),fill=grey(0.9)),default.units="npc") - grid.rect() - grid.xaxis(gp = gpar(cex=cex/1.1)) - yticks = pretty(c(-yMax,yMax),8) - yticks = yticks[yticks>(-yMax) & yticks<(yMax)] - grid.yaxis(at=yticks,label=abs(yticks),gp = gpar(cex=cex/1.1)) - if(length(listPDFs[pdf1][[1]][["CDR"]])>1){ - ycdr<-approx(xMarks,listPDFs[pdf1][[1]][["CDR"]],xout=seq(xMin,xMax,length.out=Sample),yleft=0,yright=0)$y - grid.lines(unit(x,"native"), unit(ycdr,"native"),gp=gpar(col=2,lwd=2)) - } - if(length(listPDFs[pdf1][[1]][["FWR"]])>1){ - yfwr<-approx(xMarks,listPDFs[pdf1][[1]][["FWR"]],xout=seq(xMin,xMax,length.out=Sample),yleft=0,yright=0)$y - grid.lines(unit(x,"native"), unit(-yfwr,"native"),gp=gpar(col=4,lwd=2)) - } - - if(length(listPDFs[pdf2][[1]][["CDR"]])>1){ - ycdr2<-approx(xMarks,listPDFs[pdf2][[1]][["CDR"]],xout=seq(xMin,xMax,length.out=Sample),yleft=0,yright=0)$y - grid.lines(unit(x,"native"), unit(ycdr2,"native"),gp=gpar(col=2,lwd=2,lty=2)) - } - if(length(listPDFs[pdf2][[1]][["FWR"]])>1){ - yfwr2<-approx(xMarks,listPDFs[pdf2][[1]][["FWR"]],xout=seq(xMin,xMax,length.out=Sample),yleft=0,yright=0)$y - grid.lines(unit(x,"native"), unit(-yfwr2,"native"),gp=gpar(col=4,lwd=2,lty=2)) - } - - grid.lines(unit(c(0,1),"npc"), unit(c(0.5,0.5),"npc"),gp=gpar(col=1)) - grid.lines(unit(c(0,0),"native"), unit(c(0,1),"npc"),gp=gpar(col=1,lwd=1,lty=3)) - - grid.text("All", x = unit(-2.5, "lines"), rot = 90,gp = gpar(cex=cex)) - grid.text( expression(paste("Selection Strength (", Sigma, ")", sep="")) , y = unit(-2.5, "lines"),gp = gpar(cex=cex)) - - if(pdf1==pdf2 & length(listPDFs[pdf2][[1]][["FWR"]])>1 & length(listPDFs[pdf2][[1]][["CDR"]])>1 ){ - pCDRFWR = compareTwoDistsFaster(sigma_S=xMarks, N=10000, dens1=listPDFs[[pdf1]][["CDR"]], dens2=listPDFs[[pdf1]][["FWR"]]) - pval = formatC(as.numeric(pCDRFWR),digits=3) - grid.text( substitute(expression(paste(P[CDR/FWR], "=", x, sep="")),list(x=pval))[[2]] , x = unit(0.02, "npc"),y = unit(0.98, "npc"),just=c("left", "top"),gp = gpar(cex=cex*1.2)) - } - grid.text(paste("CDR"), x = unit(0.98, "npc"),y = unit(0.98, "npc"),just=c("right", "top"),gp = gpar(cex=cex*1.5)) - grid.text(paste("FWR"), x = unit(0.98, "npc"),y = unit(0.02, "npc"),just=c("right", "bottom"),gp = gpar(cex=cex*1.5)) - popViewport(2) -} -#plot_grid_s(1) - - -p2col<-function(p=0.01){ - breaks=c(-.51,-0.1,-.05,-0.01,-0.005,0,0.005,0.01,0.05,0.1,0.51) - i<-findInterval(p,breaks) - cols = c( rgb(0.8,1,0.8), rgb(0.6,1,0.6), rgb(0.4,1,0.4), rgb(0.2,1,0.2) , rgb(0,1,0), - rgb(1,0,0), rgb(1,.2,.2), rgb(1,.4,.4), rgb(1,.6,.6) , rgb(1,.8,.8) ) - return(cols[i]) -} - - -plot_pvals<-function(pdf1,pdf2,cex=1,upper=TRUE){ - if(upper){ - pCDR1FWR2 = compareTwoDistsFaster(sigma_S=xMarks, N=10000, dens1=listPDFs[[pdf1]][["CDR"]], dens2=listPDFs[[pdf2]][["FWR"]]) - pFWR1FWR2 = compareTwoDistsFaster(sigma_S=xMarks, N=10000, dens1=listPDFs[[pdf1]][["FWR"]], dens2=listPDFs[[pdf2]][["FWR"]]) - pFWR1CDR2 = compareTwoDistsFaster(sigma_S=xMarks, N=10000, dens2=listPDFs[[pdf2]][["CDR"]], dens1=listPDFs[[pdf1]][["FWR"]]) - pCDR1CDR2 = compareTwoDistsFaster(sigma_S=xMarks, N=10000, dens2=listPDFs[[pdf2]][["CDR"]], dens1=listPDFs[[pdf1]][["CDR"]]) - grid.polygon(c(0.5,0.5,1,1),c(0,0.5,0.5,0),gp=gpar(col=p2col(pFWR1FWR2),fill=p2col(pFWR1FWR2)),default.units="npc") - grid.polygon(c(0.5,0.5,1,1),c(1,0.5,0.5,1),gp=gpar(col=p2col(pCDR1FWR2),fill=p2col(pCDR1FWR2)),default.units="npc") - grid.polygon(c(0.5,0.5,0,0),c(1,0.5,0.5,1),gp=gpar(col=p2col(pCDR1CDR2),fill=p2col(pCDR1CDR2)),default.units="npc") - grid.polygon(c(0.5,0.5,0,0),c(0,0.5,0.5,0),gp=gpar(col=p2col(pFWR1CDR2),fill=p2col(pFWR1CDR2)),default.units="npc") - - grid.lines(c(0,1),0.5,gp=gpar(lty=2,col=gray(0.925))) - grid.lines(0.5,c(0,1),gp=gpar(lty=2,col=gray(0.925))) - - grid.text(formatC(as.numeric(pFWR1FWR2),digits=3), x = unit(0.75, "npc"),y = unit(0.25, "npc"),just=c("center", "center"),gp = gpar(cex=cex)) - grid.text(formatC(as.numeric(pCDR1FWR2),digits=3), x = unit(0.75, "npc"),y = unit(0.75, "npc"),just=c("center", "center"),gp = gpar(cex=cex)) - grid.text(formatC(as.numeric(pCDR1CDR2),digits=3), x = unit(0.25, "npc"),y = unit(0.75, "npc"),just=c("center", "center"),gp = gpar(cex=cex)) - grid.text(formatC(as.numeric(pFWR1CDR2),digits=3), x = unit(0.25, "npc"),y = unit(0.25, "npc"),just=c("center", "center"),gp = gpar(cex=cex)) - - - # grid.text(paste("P = ",formatC(pCDRFWR,digits=3)), x = unit(0.5, "npc"),y = unit(0.98, "npc"),just=c("center", "top"),gp = gpar(cex=cex)) - # grid.text(paste("P = ",formatC(pFWRFWR,digits=3)), x = unit(0.5, "npc"),y = unit(0.02, "npc"),just=c("center", "bottom"),gp = gpar(cex=cex)) - } - else{ - } -} - - -################################################################################## -################## The whole OCD's matrix ######################################## -################################################################################## - -#pdf(width=4*numbSeqs+1/3,height=4*numbSeqs+1/3) -pdf( output ,width=4*numbSeqs+1/3,height=4*numbSeqs+1/3) - -pushViewport(viewport(x=0.02,y=0.02,just = c("left", "bottom"),w =0.96,height=0.96,layout = grid.layout(numbSeqs+1,numbSeqs+1,widths=unit.c(unit(rep(1,numbSeqs),"null"),unit(4,"lines")),heights=unit.c(unit(4,"lines"),unit(rep(1,numbSeqs),"null"))))) - -for( seqOne in 1:numbSeqs+1){ - pushViewport(viewport(layout.pos.col = seqOne-1, layout.pos.row = 1)) - if(seqOne>2){ - grid.polygon(c(0,0,0.5,0.5),c(0,0.5,0.5,0),gp=gpar(col=grey(0.5),fill=grey(0.9)),default.units="npc") - grid.polygon(c(1,1,0.5,0.5),c(0,0.5,0.5,0),gp=gpar(col=grey(0.5),fill=grey(0.95)),default.units="npc") - grid.polygon(c(0,0,1,1),c(1,0.5,0.5,1),gp=gpar(col=grey(0.5)),default.units="npc") - - grid.text(y=.25,x=0.75,"FWR",gp = gpar(cex=1.5),just="center") - grid.text(y=.25,x=0.25,"CDR",gp = gpar(cex=1.5),just="center") - } - grid.rect(gp = gpar(col=grey(0.9))) - grid.text(y=.75,substr(paste(names(listPDFs)[rowIDs[seqOne-1]]),1,16),gp = gpar(cex=2),just="center") - popViewport(1) -} - -for( seqOne in 1:numbSeqs+1){ - pushViewport(viewport(layout.pos.row = seqOne, layout.pos.col = numbSeqs+1)) - if(seqOne<=numbSeqs){ - grid.polygon(c(0,0.5,0.5,0),c(0,0,0.5,0.5),gp=gpar(col=grey(0.5),fill=grey(0.95)),default.units="npc") - grid.polygon(c(0,0.5,0.5,0),c(1,1,0.5,0.5),gp=gpar(col=grey(0.5),fill=grey(0.9)),default.units="npc") - grid.polygon(c(1,0.5,0.5,1),c(0,0,1,1),gp=gpar(col=grey(0.5)),default.units="npc") - grid.text(x=.25,y=0.75,"CDR",gp = gpar(cex=1.5),just="center",rot=270) - grid.text(x=.25,y=0.25,"FWR",gp = gpar(cex=1.5),just="center",rot=270) - } - grid.rect(gp = gpar(col=grey(0.9))) - grid.text(x=0.75,substr(paste(names(listPDFs)[rowIDs[seqOne-1]]),1,16),gp = gpar(cex=2),rot=270,just="center") - popViewport(1) -} - -for( seqOne in 1:numbSeqs+1){ - for(seqTwo in 1:numbSeqs+1){ - pushViewport(viewport(layout.pos.col = seqTwo-1, layout.pos.row = seqOne)) - if(seqTwo>seqOne){ - plot_pvals(rowIDs[seqOne-1],rowIDs[seqTwo-1],cex=2) - grid.rect() - } - popViewport(1) - } -} - - -xMin=0 -xMax=0.01 -for(pdf1 in rowIDs){ - xMin_CDR = xMarks[listPDFs[pdf1][[1]][["CDR"]]>0.001][1] - xMin_FWR = xMarks[listPDFs[pdf1][[1]][["FWR"]]>0.001][1] - xMax_CDR = xMarks[listPDFs[pdf1][[1]][["CDR"]]>0.001][length(xMarks[listPDFs[pdf1][[1]][["CDR"]]>0.001])] - xMax_FWR = xMarks[listPDFs[pdf1][[1]][["FWR"]]>0.001][length(xMarks[listPDFs[pdf1][[1]][["FWR"]]>0.001])] - xMin=min(c(xMin_CDR,xMin_FWR,xMin),na.rm=TRUE) - xMax=max(c(xMax_CDR,xMax_FWR,xMax),na.rm=TRUE) -} - - - -for(i in 1:numbSeqs+1){ - for(j in (i-1):numbSeqs){ - pushViewport(viewport(layout.pos.col = i-1, layout.pos.row = j+1)) - grid.rect() - plot_grid_s(rowIDs[i-1],rowIDs[j],cex=1) - popViewport(1) - } -} - -dev.off() - -cat("Success", paste(rowIDs,collapse="_"),sep=":") - +options("warn"=-1) + +#from http://selection.med.yale.edu/baseline/Archive/Baseline%20Version%201.3/Baseline_Functions_Version1.3.r +# Compute p-value of two distributions +compareTwoDistsFaster <-function(sigma_S=seq(-20,20,length.out=4001), N=10000, dens1=runif(4001,0,1), dens2=runif(4001,0,1)){ +#print(c(length(dens1),length(dens2))) +if(length(dens1)>1 & length(dens2)>1 ){ + dens1<-dens1/sum(dens1) + dens2<-dens2/sum(dens2) + cum2 <- cumsum(dens2)-dens2/2 + tmp<- sum(sapply(1:length(dens1),function(i)return(dens1[i]*cum2[i]))) + #print(tmp) + if(tmp>0.5)tmp<-tmp-1 + return( tmp ) + } + else { + return(NA) + } + #return (sum(sapply(1:N,function(i)(sample(sigma_S,1,prob=dens1)>sample(sigma_S,1,prob=dens2))))/N) +} + + +require("grid") +arg <- commandArgs(TRUE) +#arg <- c("300143","4","5") +arg[!arg=="clonal"] +input <- arg[1] +output <- arg[2] +rowIDs <- as.numeric( sapply(arg[3:(max(3,length(arg)))],function(x){ gsub("chkbx","",x) } ) ) + +numbSeqs = length(rowIDs) + +if ( is.na(rowIDs[1]) | numbSeqs>10 ) { + stop( paste("Error: Please select between one and 10 seqeunces to compare.") ) +} + +#load( paste("output/",sessionID,".RData",sep="") ) +load( input ) +#input + +xMarks = seq(-20,20,length.out=4001) + +plot_grid_s<-function(pdf1,pdf2,Sample=100,cex=1,xlim=NULL,xMarks = seq(-20,20,length.out=4001)){ + yMax = max(c(abs(as.numeric(unlist(listPDFs[pdf1]))),abs(as.numeric(unlist(listPDFs[pdf2]))),0),na.rm=T) * 1.1 + + if(length(xlim==2)){ + xMin=xlim[1] + xMax=xlim[2] + } else { + xMin_CDR = xMarks[listPDFs[pdf1][[1]][["CDR"]]>0.001][1] + xMin_FWR = xMarks[listPDFs[pdf1][[1]][["FWR"]]>0.001][1] + xMax_CDR = xMarks[listPDFs[pdf1][[1]][["CDR"]]>0.001][length(xMarks[listPDFs[pdf1][[1]][["CDR"]]>0.001])] + xMax_FWR = xMarks[listPDFs[pdf1][[1]][["FWR"]]>0.001][length(xMarks[listPDFs[pdf1][[1]][["FWR"]]>0.001])] + + xMin_CDR2 = xMarks[listPDFs[pdf2][[1]][["CDR"]]>0.001][1] + xMin_FWR2 = xMarks[listPDFs[pdf2][[1]][["FWR"]]>0.001][1] + xMax_CDR2 = xMarks[listPDFs[pdf2][[1]][["CDR"]]>0.001][length(xMarks[listPDFs[pdf2][[1]][["CDR"]]>0.001])] + xMax_FWR2 = xMarks[listPDFs[pdf2][[1]][["FWR"]]>0.001][length(xMarks[listPDFs[pdf2][[1]][["FWR"]]>0.001])] + + xMin=min(c(xMin_CDR,xMin_FWR,xMin_CDR2,xMin_FWR2,0),na.rm=TRUE) + xMax=max(c(xMax_CDR,xMax_FWR,xMax_CDR2,xMax_FWR2,0),na.rm=TRUE) + } + + sigma<-approx(xMarks,xout=seq(xMin,xMax,length.out=Sample))$x + grid.rect(gp = gpar(col=gray(0.6),fill="white",cex=cex)) + x <- sigma + pushViewport(viewport(x=0.175,y=0.175,width=0.825,height=0.825,just=c("left","bottom"),default.units="npc")) + #pushViewport(plotViewport(c(1.8, 1.8, 0.25, 0.25)*cex)) + pushViewport(dataViewport(x, c(yMax,-yMax),gp = gpar(cex=cex),extension=c(0.05))) + grid.polygon(c(0,0,1,1),c(0,0.5,0.5,0),gp=gpar(col=grey(0.95),fill=grey(0.95)),default.units="npc") + grid.polygon(c(0,0,1,1),c(1,0.5,0.5,1),gp=gpar(col=grey(0.9),fill=grey(0.9)),default.units="npc") + grid.rect() + grid.xaxis(gp = gpar(cex=cex/1.1)) + yticks = pretty(c(-yMax,yMax),8) + yticks = yticks[yticks>(-yMax) & yticks<(yMax)] + grid.yaxis(at=yticks,label=abs(yticks),gp = gpar(cex=cex/1.1)) + if(length(listPDFs[pdf1][[1]][["CDR"]])>1){ + ycdr<-approx(xMarks,listPDFs[pdf1][[1]][["CDR"]],xout=seq(xMin,xMax,length.out=Sample),yleft=0,yright=0)$y + grid.lines(unit(x,"native"), unit(ycdr,"native"),gp=gpar(col=2,lwd=2)) + } + if(length(listPDFs[pdf1][[1]][["FWR"]])>1){ + yfwr<-approx(xMarks,listPDFs[pdf1][[1]][["FWR"]],xout=seq(xMin,xMax,length.out=Sample),yleft=0,yright=0)$y + grid.lines(unit(x,"native"), unit(-yfwr,"native"),gp=gpar(col=4,lwd=2)) + } + + if(length(listPDFs[pdf2][[1]][["CDR"]])>1){ + ycdr2<-approx(xMarks,listPDFs[pdf2][[1]][["CDR"]],xout=seq(xMin,xMax,length.out=Sample),yleft=0,yright=0)$y + grid.lines(unit(x,"native"), unit(ycdr2,"native"),gp=gpar(col=2,lwd=2,lty=2)) + } + if(length(listPDFs[pdf2][[1]][["FWR"]])>1){ + yfwr2<-approx(xMarks,listPDFs[pdf2][[1]][["FWR"]],xout=seq(xMin,xMax,length.out=Sample),yleft=0,yright=0)$y + grid.lines(unit(x,"native"), unit(-yfwr2,"native"),gp=gpar(col=4,lwd=2,lty=2)) + } + + grid.lines(unit(c(0,1),"npc"), unit(c(0.5,0.5),"npc"),gp=gpar(col=1)) + grid.lines(unit(c(0,0),"native"), unit(c(0,1),"npc"),gp=gpar(col=1,lwd=1,lty=3)) + + grid.text("All", x = unit(-2.5, "lines"), rot = 90,gp = gpar(cex=cex)) + grid.text( expression(paste("Selection Strength (", Sigma, ")", sep="")) , y = unit(-2.5, "lines"),gp = gpar(cex=cex)) + + if(pdf1==pdf2 & length(listPDFs[pdf2][[1]][["FWR"]])>1 & length(listPDFs[pdf2][[1]][["CDR"]])>1 ){ + pCDRFWR = compareTwoDistsFaster(sigma_S=xMarks, N=10000, dens1=listPDFs[[pdf1]][["CDR"]], dens2=listPDFs[[pdf1]][["FWR"]]) + pval = formatC(as.numeric(pCDRFWR),digits=3) + grid.text( substitute(expression(paste(P[CDR/FWR], "=", x, sep="")),list(x=pval))[[2]] , x = unit(0.02, "npc"),y = unit(0.98, "npc"),just=c("left", "top"),gp = gpar(cex=cex*1.2)) + } + grid.text(paste("CDR"), x = unit(0.98, "npc"),y = unit(0.98, "npc"),just=c("right", "top"),gp = gpar(cex=cex*1.5)) + grid.text(paste("FWR"), x = unit(0.98, "npc"),y = unit(0.02, "npc"),just=c("right", "bottom"),gp = gpar(cex=cex*1.5)) + popViewport(2) +} +#plot_grid_s(1) + + +p2col<-function(p=0.01){ + breaks=c(-.51,-0.1,-.05,-0.01,-0.005,0,0.005,0.01,0.05,0.1,0.51) + i<-findInterval(p,breaks) + cols = c( rgb(0.8,1,0.8), rgb(0.6,1,0.6), rgb(0.4,1,0.4), rgb(0.2,1,0.2) , rgb(0,1,0), + rgb(1,0,0), rgb(1,.2,.2), rgb(1,.4,.4), rgb(1,.6,.6) , rgb(1,.8,.8) ) + return(cols[i]) +} + + +plot_pvals<-function(pdf1,pdf2,cex=1,upper=TRUE){ + if(upper){ + pCDR1FWR2 = compareTwoDistsFaster(sigma_S=xMarks, N=10000, dens1=listPDFs[[pdf1]][["CDR"]], dens2=listPDFs[[pdf2]][["FWR"]]) + pFWR1FWR2 = compareTwoDistsFaster(sigma_S=xMarks, N=10000, dens1=listPDFs[[pdf1]][["FWR"]], dens2=listPDFs[[pdf2]][["FWR"]]) + pFWR1CDR2 = compareTwoDistsFaster(sigma_S=xMarks, N=10000, dens2=listPDFs[[pdf2]][["CDR"]], dens1=listPDFs[[pdf1]][["FWR"]]) + pCDR1CDR2 = compareTwoDistsFaster(sigma_S=xMarks, N=10000, dens2=listPDFs[[pdf2]][["CDR"]], dens1=listPDFs[[pdf1]][["CDR"]]) + grid.polygon(c(0.5,0.5,1,1),c(0,0.5,0.5,0),gp=gpar(col=p2col(pFWR1FWR2),fill=p2col(pFWR1FWR2)),default.units="npc") + grid.polygon(c(0.5,0.5,1,1),c(1,0.5,0.5,1),gp=gpar(col=p2col(pCDR1FWR2),fill=p2col(pCDR1FWR2)),default.units="npc") + grid.polygon(c(0.5,0.5,0,0),c(1,0.5,0.5,1),gp=gpar(col=p2col(pCDR1CDR2),fill=p2col(pCDR1CDR2)),default.units="npc") + grid.polygon(c(0.5,0.5,0,0),c(0,0.5,0.5,0),gp=gpar(col=p2col(pFWR1CDR2),fill=p2col(pFWR1CDR2)),default.units="npc") + + grid.lines(c(0,1),0.5,gp=gpar(lty=2,col=gray(0.925))) + grid.lines(0.5,c(0,1),gp=gpar(lty=2,col=gray(0.925))) + + grid.text(formatC(as.numeric(pFWR1FWR2),digits=3), x = unit(0.75, "npc"),y = unit(0.25, "npc"),just=c("center", "center"),gp = gpar(cex=cex)) + grid.text(formatC(as.numeric(pCDR1FWR2),digits=3), x = unit(0.75, "npc"),y = unit(0.75, "npc"),just=c("center", "center"),gp = gpar(cex=cex)) + grid.text(formatC(as.numeric(pCDR1CDR2),digits=3), x = unit(0.25, "npc"),y = unit(0.75, "npc"),just=c("center", "center"),gp = gpar(cex=cex)) + grid.text(formatC(as.numeric(pFWR1CDR2),digits=3), x = unit(0.25, "npc"),y = unit(0.25, "npc"),just=c("center", "center"),gp = gpar(cex=cex)) + + + # grid.text(paste("P = ",formatC(pCDRFWR,digits=3)), x = unit(0.5, "npc"),y = unit(0.98, "npc"),just=c("center", "top"),gp = gpar(cex=cex)) + # grid.text(paste("P = ",formatC(pFWRFWR,digits=3)), x = unit(0.5, "npc"),y = unit(0.02, "npc"),just=c("center", "bottom"),gp = gpar(cex=cex)) + } + else{ + } +} + + +################################################################################## +################## The whole OCD's matrix ######################################## +################################################################################## + +#pdf(width=4*numbSeqs+1/3,height=4*numbSeqs+1/3) +pdf( output ,width=4*numbSeqs+1/3,height=4*numbSeqs+1/3) + +pushViewport(viewport(x=0.02,y=0.02,just = c("left", "bottom"),w =0.96,height=0.96,layout = grid.layout(numbSeqs+1,numbSeqs+1,widths=unit.c(unit(rep(1,numbSeqs),"null"),unit(4,"lines")),heights=unit.c(unit(4,"lines"),unit(rep(1,numbSeqs),"null"))))) + +for( seqOne in 1:numbSeqs+1){ + pushViewport(viewport(layout.pos.col = seqOne-1, layout.pos.row = 1)) + if(seqOne>2){ + grid.polygon(c(0,0,0.5,0.5),c(0,0.5,0.5,0),gp=gpar(col=grey(0.5),fill=grey(0.9)),default.units="npc") + grid.polygon(c(1,1,0.5,0.5),c(0,0.5,0.5,0),gp=gpar(col=grey(0.5),fill=grey(0.95)),default.units="npc") + grid.polygon(c(0,0,1,1),c(1,0.5,0.5,1),gp=gpar(col=grey(0.5)),default.units="npc") + + grid.text(y=.25,x=0.75,"FWR",gp = gpar(cex=1.5),just="center") + grid.text(y=.25,x=0.25,"CDR",gp = gpar(cex=1.5),just="center") + } + grid.rect(gp = gpar(col=grey(0.9))) + grid.text(y=.75,substr(paste(names(listPDFs)[rowIDs[seqOne-1]]),1,16),gp = gpar(cex=2),just="center") + popViewport(1) +} + +for( seqOne in 1:numbSeqs+1){ + pushViewport(viewport(layout.pos.row = seqOne, layout.pos.col = numbSeqs+1)) + if(seqOne<=numbSeqs){ + grid.polygon(c(0,0.5,0.5,0),c(0,0,0.5,0.5),gp=gpar(col=grey(0.5),fill=grey(0.95)),default.units="npc") + grid.polygon(c(0,0.5,0.5,0),c(1,1,0.5,0.5),gp=gpar(col=grey(0.5),fill=grey(0.9)),default.units="npc") + grid.polygon(c(1,0.5,0.5,1),c(0,0,1,1),gp=gpar(col=grey(0.5)),default.units="npc") + grid.text(x=.25,y=0.75,"CDR",gp = gpar(cex=1.5),just="center",rot=270) + grid.text(x=.25,y=0.25,"FWR",gp = gpar(cex=1.5),just="center",rot=270) + } + grid.rect(gp = gpar(col=grey(0.9))) + grid.text(x=0.75,substr(paste(names(listPDFs)[rowIDs[seqOne-1]]),1,16),gp = gpar(cex=2),rot=270,just="center") + popViewport(1) +} + +for( seqOne in 1:numbSeqs+1){ + for(seqTwo in 1:numbSeqs+1){ + pushViewport(viewport(layout.pos.col = seqTwo-1, layout.pos.row = seqOne)) + if(seqTwo>seqOne){ + plot_pvals(rowIDs[seqOne-1],rowIDs[seqTwo-1],cex=2) + grid.rect() + } + popViewport(1) + } +} + + +xMin=0 +xMax=0.01 +for(pdf1 in rowIDs){ + xMin_CDR = xMarks[listPDFs[pdf1][[1]][["CDR"]]>0.001][1] + xMin_FWR = xMarks[listPDFs[pdf1][[1]][["FWR"]]>0.001][1] + xMax_CDR = xMarks[listPDFs[pdf1][[1]][["CDR"]]>0.001][length(xMarks[listPDFs[pdf1][[1]][["CDR"]]>0.001])] + xMax_FWR = xMarks[listPDFs[pdf1][[1]][["FWR"]]>0.001][length(xMarks[listPDFs[pdf1][[1]][["FWR"]]>0.001])] + xMin=min(c(xMin_CDR,xMin_FWR,xMin),na.rm=TRUE) + xMax=max(c(xMax_CDR,xMax_FWR,xMax),na.rm=TRUE) +} + + + +for(i in 1:numbSeqs+1){ + for(j in (i-1):numbSeqs){ + pushViewport(viewport(layout.pos.col = i-1, layout.pos.row = j+1)) + grid.rect() + plot_grid_s(rowIDs[i-1],rowIDs[j],cex=1) + popViewport(1) + } +} + +dev.off() + +cat("Success", paste(rowIDs,collapse="_"),sep=":") +
--- a/baseline/script_imgt.py Thu Feb 25 10:32:32 2021 +0000 +++ b/baseline/script_imgt.py Wed Sep 15 12:24:06 2021 +0000 @@ -1,86 +1,86 @@ -#import xlrd #avoid dep -import argparse -import re - -parser = argparse.ArgumentParser() -parser.add_argument("--input", help="Excel input file containing one or more sheets where column G has the gene annotation, H has the sequence id and J has the sequence") -parser.add_argument("--ref", help="Reference file") -parser.add_argument("--output", help="Output file") -parser.add_argument("--id", help="ID to be used at the '>>>' line in the output") - -args = parser.parse_args() - -print "script_imgt.py" -print "input:", args.input -print "ref:", args.ref -print "output:", args.output -print "id:", args.id - -refdic = dict() -with open(args.ref, 'rU') as ref: - currentSeq = "" - currentId = "" - for line in ref: - if line.startswith(">"): - if currentSeq is not "" and currentId is not "": - refdic[currentId[1:]] = currentSeq - currentId = line.rstrip() - currentSeq = "" - else: - currentSeq += line.rstrip() - refdic[currentId[1:]] = currentSeq - -print "Have", str(len(refdic)), "reference sequences" - -vPattern = [r"(IGHV[0-9]-[0-9ab]+-?[0-9]?D?\*\d{1,2})"]#, -# r"(TRBV[0-9]{1,2}-?[0-9]?-?[123]?)", -# r"(IGKV[0-3]D?-[0-9]{1,2})", -# r"(IGLV[0-9]-[0-9]{1,2})", -# r"(TRAV[0-9]{1,2}(-[1-46])?(/DV[45678])?)", -# r"(TRGV[234589])", -# r"(TRDV[1-3])"] - -#vPattern = re.compile(r"|".join(vPattern)) -vPattern = re.compile("|".join(vPattern)) - -def filterGene(s, pattern): - if type(s) is not str: - return None - res = pattern.search(s) - if res: - return res.group(0) - return None - - - -currentSeq = "" -currentId = "" -first=True -with open(args.input, 'r') as i: - with open(args.output, 'a') as o: - o.write(">>>" + args.id + "\n") - outputdic = dict() - for line in i: - if first: - first = False - continue - linesplt = line.split("\t") - ref = filterGene(linesplt[1], vPattern) - if not ref or not linesplt[2].rstrip(): - continue - if ref in outputdic: - outputdic[ref] += [(linesplt[0].replace(">", ""), linesplt[2].replace(">", "").rstrip())] - else: - outputdic[ref] = [(linesplt[0].replace(">", ""), linesplt[2].replace(">", "").rstrip())] - #print outputdic - - for k in outputdic.keys(): - if k in refdic: - o.write(">>" + k + "\n") - o.write(refdic[k] + "\n") - for seq in outputdic[k]: - #print seq - o.write(">" + seq[0] + "\n") - o.write(seq[1] + "\n") - else: - print k + " not in reference, skipping " + k +#import xlrd #avoid dep +import argparse +import re + +parser = argparse.ArgumentParser() +parser.add_argument("--input", help="Excel input file containing one or more sheets where column G has the gene annotation, H has the sequence id and J has the sequence") +parser.add_argument("--ref", help="Reference file") +parser.add_argument("--output", help="Output file") +parser.add_argument("--id", help="ID to be used at the '>>>' line in the output") + +args = parser.parse_args() + +print("script_imgt.py") +print("input:", args.input) +print("ref:", args.ref) +print("output:", args.output) +print("id:", args.id) + +refdic = dict() +with open(args.ref, 'rU') as ref: + currentSeq = "" + currentId = "" + for line in ref: + if line.startswith(">"): + if currentSeq is not "" and currentId is not "": + refdic[currentId[1:]] = currentSeq + currentId = line.rstrip() + currentSeq = "" + else: + currentSeq += line.rstrip() + refdic[currentId[1:]] = currentSeq + +print("Have", str(len(refdic)), "reference sequences") + +vPattern = [r"(IGHV[0-9]-[0-9ab]+-?[0-9]?D?\*\d{1,2})"]#, +# r"(TRBV[0-9]{1,2}-?[0-9]?-?[123]?)", +# r"(IGKV[0-3]D?-[0-9]{1,2})", +# r"(IGLV[0-9]-[0-9]{1,2})", +# r"(TRAV[0-9]{1,2}(-[1-46])?(/DV[45678])?)", +# r"(TRGV[234589])", +# r"(TRDV[1-3])"] + +#vPattern = re.compile(r"|".join(vPattern)) +vPattern = re.compile("|".join(vPattern)) + +def filterGene(s, pattern): + if type(s) is not str: + return None + res = pattern.search(s) + if res: + return res.group(0) + return None + + + +currentSeq = "" +currentId = "" +first=True +with open(args.input, 'r') as i: + with open(args.output, 'a') as o: + o.write(">>>" + args.id + "\n") + outputdic = dict() + for line in i: + if first: + first = False + continue + linesplt = line.split("\t") + ref = filterGene(linesplt[1], vPattern) + if not ref or not linesplt[2].rstrip(): + continue + if ref in outputdic: + outputdic[ref] += [(linesplt[0].replace(">", ""), linesplt[2].replace(">", "").rstrip())] + else: + outputdic[ref] = [(linesplt[0].replace(">", ""), linesplt[2].replace(">", "").rstrip())] + #print outputdic + + for k in list(outputdic.keys()): + if k in refdic: + o.write(">>" + k + "\n") + o.write(refdic[k] + "\n") + for seq in outputdic[k]: + #print seq + o.write(">" + seq[0] + "\n") + o.write(seq[1] + "\n") + else: + print(k + " not in reference, skipping " + k)
--- a/baseline/script_xlsx.py Thu Feb 25 10:32:32 2021 +0000 +++ b/baseline/script_xlsx.py Wed Sep 15 12:24:06 2021 +0000 @@ -1,58 +1,58 @@ -import xlrd -import argparse - -parser = argparse.ArgumentParser() -parser.add_argument("--input", help="Excel input file containing one or more sheets where column G has the gene annotation, H has the sequence id and J has the sequence") -parser.add_argument("--ref", help="Reference file") -parser.add_argument("--output", help="Output file") - -args = parser.parse_args() - -gene_column = 6 -id_column = 7 -seq_column = 8 -LETTERS = [x for x in "ABCDEFGHIJKLMNOPQRSTUVWXYZ"] - - -refdic = dict() -with open(args.ref, 'r') as ref: - currentSeq = "" - currentId = "" - for line in ref.readlines(): - if line[0] is ">": - if currentSeq is not "" and currentId is not "": - refdic[currentId[1:]] = currentSeq - currentId = line.rstrip() - currentSeq = "" - else: - currentSeq += line.rstrip() - refdic[currentId[1:]] = currentSeq - -currentSeq = "" -currentId = "" -with xlrd.open_workbook(args.input, 'r') as wb: - with open(args.output, 'a') as o: - for sheet in wb.sheets(): - if sheet.cell(1,gene_column).value.find("IGHV") < 0: - print "Genes not in column " + LETTERS[gene_column] + ", skipping sheet " + sheet.name - continue - o.write(">>>" + sheet.name + "\n") - outputdic = dict() - for rowindex in range(1, sheet.nrows): - ref = sheet.cell(rowindex, gene_column).value.replace(">", "") - if ref in outputdic: - outputdic[ref] += [(sheet.cell(rowindex, id_column).value.replace(">", ""), sheet.cell(rowindex, seq_column).value)] - else: - outputdic[ref] = [(sheet.cell(rowindex, id_column).value.replace(">", ""), sheet.cell(rowindex, seq_column).value)] - #print outputdic - - for k in outputdic.keys(): - if k in refdic: - o.write(">>" + k + "\n") - o.write(refdic[k] + "\n") - for seq in outputdic[k]: - #print seq - o.write(">" + seq[0] + "\n") - o.write(seq[1] + "\n") - else: - print k + " not in reference, skipping " + k +import xlrd +import argparse + +parser = argparse.ArgumentParser() +parser.add_argument("--input", help="Excel input file containing one or more sheets where column G has the gene annotation, H has the sequence id and J has the sequence") +parser.add_argument("--ref", help="Reference file") +parser.add_argument("--output", help="Output file") + +args = parser.parse_args() + +gene_column = 6 +id_column = 7 +seq_column = 8 +LETTERS = [x for x in "ABCDEFGHIJKLMNOPQRSTUVWXYZ"] + + +refdic = dict() +with open(args.ref, 'r') as ref: + currentSeq = "" + currentId = "" + for line in ref.readlines(): + if line[0] is ">": + if currentSeq is not "" and currentId is not "": + refdic[currentId[1:]] = currentSeq + currentId = line.rstrip() + currentSeq = "" + else: + currentSeq += line.rstrip() + refdic[currentId[1:]] = currentSeq + +currentSeq = "" +currentId = "" +with xlrd.open_workbook(args.input, 'r') as wb: + with open(args.output, 'a') as o: + for sheet in wb.sheets(): + if sheet.cell(1,gene_column).value.find("IGHV") < 0: + print("Genes not in column " + LETTERS[gene_column] + ", skipping sheet " + sheet.name) + continue + o.write(">>>" + sheet.name + "\n") + outputdic = dict() + for rowindex in range(1, sheet.nrows): + ref = sheet.cell(rowindex, gene_column).value.replace(">", "") + if ref in outputdic: + outputdic[ref] += [(sheet.cell(rowindex, id_column).value.replace(">", ""), sheet.cell(rowindex, seq_column).value)] + else: + outputdic[ref] = [(sheet.cell(rowindex, id_column).value.replace(">", ""), sheet.cell(rowindex, seq_column).value)] + #print outputdic + + for k in list(outputdic.keys()): + if k in refdic: + o.write(">>" + k + "\n") + o.write(refdic[k] + "\n") + for seq in outputdic[k]: + #print seq + o.write(">" + seq[0] + "\n") + o.write(seq[1] + "\n") + else: + print(k + " not in reference, skipping " + k)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/conda_environment.yml Wed Sep 15 12:24:06 2021 +0000 @@ -0,0 +1,23 @@ +name: shm_csr +channels: + - conda-forge + - bioconda + - defaults +dependencies: + - python=3.7 + - changeo=0.4.4 + - biopython=1.72 # Higher versions break changeo + - unzip=6.0 + - bash=4.4.18 + - tar=1.34 + - xlrd=1.2.0 + - r-ggplot2=3.0.0 + - r-reshape2=1.4.3 + - r-scales=0.5.0 + - r-seqinr=3.4_5 + - r-data.table=1.11.4 + - file=5.39 + # Test dependencies below + - pytest + # Add planemo so tool can be uploaded + - planemo
--- a/gene_identification.py Thu Feb 25 10:32:32 2021 +0000 +++ b/gene_identification.py Wed Sep 15 12:24:06 2021 +0000 @@ -23,23 +23,23 @@ seqIndex = 0 with open(infile, 'r') as f: #read all sequences into a dictionary as key = ID, value = sequence - for line in f: - total += 1 - linesplt = line.split("\t") - if first: - print "linesplt", linesplt - IDIndex = linesplt.index("Sequence ID") - seqIndex = linesplt.index("Sequence") - first = False - continue - - ID = linesplt[IDIndex] - if len(linesplt) < 28: #weird rows without a sequence - dic[ID] = "" - else: - dic[ID] = linesplt[seqIndex] - -print "Number of input sequences:", len(dic) + for line in f: + total += 1 + linesplt = line.split("\t") + if first: + print("linesplt", linesplt) + IDIndex = linesplt.index("Sequence ID") + seqIndex = linesplt.index("Sequence") + first = False + continue + + ID = linesplt[IDIndex] + if len(linesplt) < 28: #weird rows without a sequence + dic[ID] = "" + else: + dic[ID] = linesplt[seqIndex] + +print("Number of input sequences:", len(dic)) #old cm sequence: gggagtgcatccgccccaacccttttccccctcgtctcctgtgagaattccc #old cg sequence: ctccaccaagggcccatcggtcttccccctggcaccctcctccaagagcacctctgggggcacagcggccctgggctgcctggtcaaggactacttccccgaaccggtgacggtgtcgtggaactcaggcgccctgaccag @@ -73,13 +73,13 @@ chunklength = 8 #create the chunks of the reference sequence with regular expressions for the variable nucleotides -for i in range(0, len(searchstrings["ca"]) - chunklength, chunklength / 2): +for i in range(0, len(searchstrings["ca"]) - chunklength, chunklength // 2): pos = i chunk = searchstrings["ca"][i:i+chunklength] result = "" varsInResult = 0 for c in chunk: - if pos in ca1.keys(): + if pos in list(ca1.keys()): varsInResult += 1 result += "[" + ca1[pos] + ca2[pos] + "]" else: @@ -87,13 +87,13 @@ pos += 1 compiledregex["ca"].append((re.compile(result), varsInResult)) -for i in range(0, len(searchstrings["cg"]) - chunklength, chunklength / 2): +for i in range(0, len(searchstrings["cg"]) - chunklength, chunklength // 2): pos = i chunk = searchstrings["cg"][i:i+chunklength] result = "" varsInResult = 0 for c in chunk: - if pos in cg1.keys(): + if pos in list(cg1.keys()): varsInResult += 1 result += "[" + "".join(set([cg1[pos], cg2[pos], cg3[pos], cg4[pos]])) + "]" else: @@ -101,10 +101,10 @@ pos += 1 compiledregex["cg"].append((re.compile(result), varsInResult)) -for i in range(0, len(searchstrings["cm"]) - chunklength, chunklength / 2): +for i in range(0, len(searchstrings["cm"]) - chunklength, chunklength // 2): compiledregex["cm"].append((re.compile(searchstrings["cm"][i:i+chunklength]), False)) -for i in range(0, len(searchstrings["ce"]) - chunklength + 1, chunklength / 2): +for i in range(0, len(searchstrings["ce"]) - chunklength + 1, chunklength // 2): compiledregex["ce"].append((re.compile(searchstrings["ce"][i:i+chunklength]), False)) def removeAndReturnMaxIndex(x): #simplifies a list comprehension @@ -117,108 +117,108 @@ start_location = dict() hits = dict() alltotal = 0 -for key in compiledregex.keys(): #for ca/cg/cm/ce - regularexpressions = compiledregex[key] #get the compiled regular expressions - for ID in dic.keys()[0:]: #for every ID - if ID not in hits.keys(): #ensure that the dictionairy that keeps track of the hits for every gene exists - hits[ID] = {"ca_hits": 0, "cg_hits": 0, "cm_hits": 0, "ce_hits": 0, "ca1": 0, "ca2": 0, "cg1": 0, "cg2": 0, "cg3": 0, "cg4": 0} - currentIDHits = hits[ID] - seq = dic[ID] - lastindex = 0 - start_zero = len(searchstrings[key]) #allows the reference sequence to start before search sequence (start_locations of < 0) - start = [0] * (len(seq) + start_zero) - for i, regexp in enumerate(regularexpressions): #for every regular expression - relativeStartLocation = lastindex - (chunklength / 2) * i - if relativeStartLocation >= len(seq): - break - regex, hasVar = regexp - matches = regex.finditer(seq[lastindex:]) - for match in matches: #for every match with the current regex, only uses the first hit because of the break at the end of this loop - lastindex += match.start() - start[relativeStartLocation + start_zero] += 1 - if hasVar: #if the regex has a variable nt in it - chunkstart = chunklength / 2 * i #where in the reference does this chunk start - chunkend = chunklength / 2 * i + chunklength #where in the reference does this chunk end - if key == "ca": #just calculate the variable nt score for 'ca', cheaper - currentIDHits["ca1"] += len([1 for x in ca1 if chunkstart <= x < chunkend and ca1[x] == seq[lastindex + x - chunkstart]]) - currentIDHits["ca2"] += len([1 for x in ca2 if chunkstart <= x < chunkend and ca2[x] == seq[lastindex + x - chunkstart]]) - elif key == "cg": #just calculate the variable nt score for 'cg', cheaper - currentIDHits["cg1"] += len([1 for x in cg1 if chunkstart <= x < chunkend and cg1[x] == seq[lastindex + x - chunkstart]]) - currentIDHits["cg2"] += len([1 for x in cg2 if chunkstart <= x < chunkend and cg2[x] == seq[lastindex + x - chunkstart]]) - currentIDHits["cg3"] += len([1 for x in cg3 if chunkstart <= x < chunkend and cg3[x] == seq[lastindex + x - chunkstart]]) - currentIDHits["cg4"] += len([1 for x in cg4 if chunkstart <= x < chunkend and cg4[x] == seq[lastindex + x - chunkstart]]) - else: #key == "cm" #no variable regions in 'cm' or 'ce' - pass - break #this only breaks when there was a match with the regex, breaking means the 'else:' clause is skipped - else: #only runs if there were no hits - continue - #print "found ", regex.pattern , "at", lastindex, "adding one to", (lastindex - chunklength / 2 * i), "to the start array of", ID, "gene", key, "it's now:", start[lastindex - chunklength / 2 * i] - currentIDHits[key + "_hits"] += 1 - start_location[ID + "_" + key] = str([(removeAndReturnMaxIndex(start) + 1 - start_zero) for x in range(5) if len(start) > 0 and max(start) > 1]) - #start_location[ID + "_" + key] = str(start.index(max(start))) +for key in compiledregex: #for ca/cg/cm/ce + regularexpressions = compiledregex[key] # get the compiled regular expressions + for ID in list(dic.keys())[0:]: #for every ID + if ID not in list(hits.keys()): #ensure that the dictionairy that keeps track of the hits for every gene exists + hits[ID] = {"ca_hits": 0, "cg_hits": 0, "cm_hits": 0, "ce_hits": 0, "ca1": 0, "ca2": 0, "cg1": 0, "cg2": 0, "cg3": 0, "cg4": 0} + currentIDHits = hits[ID] + seq = dic[ID] + lastindex = 0 + start_zero = len(searchstrings[key]) #allows the reference sequence to start before search sequence (start_locations of < 0) + start = [0] * (len(seq) + start_zero) + for i, regexp in enumerate(regularexpressions): #for every regular expression + relativeStartLocation = lastindex - (chunklength // 2) * i + if relativeStartLocation >= len(seq): + break + regex, hasVar = regexp + matches = regex.finditer(seq[lastindex:]) + for match in matches: #for every match with the current regex, only uses the first hit because of the break at the end of this loop + lastindex += match.start() + start[relativeStartLocation + start_zero] += 1 + if hasVar: #if the regex has a variable nt in it + chunkstart = chunklength // 2 * i #where in the reference does this chunk start + chunkend = chunklength // 2 * i + chunklength #where in the reference does this chunk end + if key == "ca": #just calculate the variable nt score for 'ca', cheaper + currentIDHits["ca1"] += len([1 for x in ca1 if chunkstart <= x < chunkend and ca1[x] == seq[lastindex + x - chunkstart]]) + currentIDHits["ca2"] += len([1 for x in ca2 if chunkstart <= x < chunkend and ca2[x] == seq[lastindex + x - chunkstart]]) + elif key == "cg": #just calculate the variable nt score for 'cg', cheaper + currentIDHits["cg1"] += len([1 for x in cg1 if chunkstart <= x < chunkend and cg1[x] == seq[lastindex + x - chunkstart]]) + currentIDHits["cg2"] += len([1 for x in cg2 if chunkstart <= x < chunkend and cg2[x] == seq[lastindex + x - chunkstart]]) + currentIDHits["cg3"] += len([1 for x in cg3 if chunkstart <= x < chunkend and cg3[x] == seq[lastindex + x - chunkstart]]) + currentIDHits["cg4"] += len([1 for x in cg4 if chunkstart <= x < chunkend and cg4[x] == seq[lastindex + x - chunkstart]]) + else: #key == "cm" #no variable regions in 'cm' or 'ce' + pass + break #this only breaks when there was a match with the regex, breaking means the 'else:' clause is skipped + else: #only runs if there were no hits + continue + #print "found ", regex.pattern , "at", lastindex, "adding one to", (lastindex - chunklength / 2 * i), "to the start array of", ID, "gene", key, "it's now:", start[lastindex - chunklength / 2 * i] + currentIDHits[key + "_hits"] += 1 + start_location[ID + "_" + key] = str([(removeAndReturnMaxIndex(start) + 1 - start_zero) for x in range(5) if len(start) > 0 and max(start) > 1]) + #start_location[ID + "_" + key] = str(start.index(max(start))) -varsInCA = float(len(ca1.keys()) * 2) -varsInCG = float(len(cg1.keys()) * 2) - 2 # -2 because the sliding window doesn't hit the first and last nt twice +varsInCA = float(len(list(ca1.keys())) * 2) +varsInCG = float(len(list(cg1.keys())) * 2) - 2 # -2 because the sliding window doesn't hit the first and last nt twice varsInCM = 0 varsInCE = 0 def round_int(val): - return int(round(val)) + return int(round(val)) first = True seq_write_count=0 with open(infile, 'r') as f: #read all sequences into a dictionary as key = ID, value = sequence - with open(output, 'w') as o: - for line in f: - total += 1 - if first: - o.write("Sequence ID\tbest_match\tnt_hit_percentage\tchunk_hit_percentage\tstart_locations\n") - first = False - continue - linesplt = line.split("\t") - if linesplt[2] == "No results": - pass - ID = linesplt[1] - currentIDHits = hits[ID] - possibleca = float(len(compiledregex["ca"])) - possiblecg = float(len(compiledregex["cg"])) - possiblecm = float(len(compiledregex["cm"])) - possiblece = float(len(compiledregex["ce"])) - cahits = currentIDHits["ca_hits"] - cghits = currentIDHits["cg_hits"] - cmhits = currentIDHits["cm_hits"] - cehits = currentIDHits["ce_hits"] - if cahits >= cghits and cahits >= cmhits and cahits >= cehits: #its a ca gene - ca1hits = currentIDHits["ca1"] - ca2hits = currentIDHits["ca2"] - if ca1hits >= ca2hits: - o.write(ID + "\tIGA1\t" + str(round_int(ca1hits / varsInCA * 100)) + "\t" + str(round_int(cahits / possibleca * 100)) + "\t" + start_location[ID + "_ca"] + "\n") - else: - o.write(ID + "\tIGA2\t" + str(round_int(ca2hits / varsInCA * 100)) + "\t" + str(round_int(cahits / possibleca * 100)) + "\t" + start_location[ID + "_ca"] + "\n") - elif cghits >= cahits and cghits >= cmhits and cghits >= cehits: #its a cg gene - cg1hits = currentIDHits["cg1"] - cg2hits = currentIDHits["cg2"] - cg3hits = currentIDHits["cg3"] - cg4hits = currentIDHits["cg4"] - if cg1hits >= cg2hits and cg1hits >= cg3hits and cg1hits >= cg4hits: #cg1 gene - o.write(ID + "\tIGG1\t" + str(round_int(cg1hits / varsInCG * 100)) + "\t" + str(round_int(cghits / possiblecg * 100)) + "\t" + start_location[ID + "_cg"] + "\n") - elif cg2hits >= cg1hits and cg2hits >= cg3hits and cg2hits >= cg4hits: #cg2 gene - o.write(ID + "\tIGG2\t" + str(round_int(cg2hits / varsInCG * 100)) + "\t" + str(round_int(cghits / possiblecg * 100)) + "\t" + start_location[ID + "_cg"] + "\n") - elif cg3hits >= cg1hits and cg3hits >= cg2hits and cg3hits >= cg4hits: #cg3 gene - o.write(ID + "\tIGG3\t" + str(round_int(cg3hits / varsInCG * 100)) + "\t" + str(round_int(cghits / possiblecg * 100)) + "\t" + start_location[ID + "_cg"] + "\n") - else: #cg4 gene - o.write(ID + "\tIGG4\t" + str(round_int(cg4hits / varsInCG * 100)) + "\t" + str(round_int(cghits / possiblecg * 100)) + "\t" + start_location[ID + "_cg"] + "\n") - else: #its a cm or ce gene - if cmhits >= cehits: - o.write(ID + "\tIGM\t100\t" + str(round_int(cmhits / possiblecm * 100)) + "\t" + start_location[ID + "_cm"] + "\n") - else: - o.write(ID + "\tIGE\t100\t" + str(round_int(cehits / possiblece * 100)) + "\t" + start_location[ID + "_ce"] + "\n") - seq_write_count += 1 + with open(output, 'w') as o: + for line in f: + total += 1 + if first: + o.write("Sequence ID\tbest_match\tnt_hit_percentage\tchunk_hit_percentage\tstart_locations\n") + first = False + continue + linesplt = line.split("\t") + if linesplt[2] == "No results": + pass + ID = linesplt[1] + currentIDHits = hits[ID] + possibleca = float(len(compiledregex["ca"])) + possiblecg = float(len(compiledregex["cg"])) + possiblecm = float(len(compiledregex["cm"])) + possiblece = float(len(compiledregex["ce"])) + cahits = currentIDHits["ca_hits"] + cghits = currentIDHits["cg_hits"] + cmhits = currentIDHits["cm_hits"] + cehits = currentIDHits["ce_hits"] + if cahits >= cghits and cahits >= cmhits and cahits >= cehits: #its a ca gene + ca1hits = currentIDHits["ca1"] + ca2hits = currentIDHits["ca2"] + if ca1hits >= ca2hits: + o.write(ID + "\tIGA1\t" + str(round_int(ca1hits / varsInCA * 100)) + "\t" + str(round_int(cahits / possibleca * 100)) + "\t" + start_location[ID + "_ca"] + "\n") + else: + o.write(ID + "\tIGA2\t" + str(round_int(ca2hits / varsInCA * 100)) + "\t" + str(round_int(cahits / possibleca * 100)) + "\t" + start_location[ID + "_ca"] + "\n") + elif cghits >= cahits and cghits >= cmhits and cghits >= cehits: #its a cg gene + cg1hits = currentIDHits["cg1"] + cg2hits = currentIDHits["cg2"] + cg3hits = currentIDHits["cg3"] + cg4hits = currentIDHits["cg4"] + if cg1hits >= cg2hits and cg1hits >= cg3hits and cg1hits >= cg4hits: #cg1 gene + o.write(ID + "\tIGG1\t" + str(round_int(cg1hits / varsInCG * 100)) + "\t" + str(round_int(cghits / possiblecg * 100)) + "\t" + start_location[ID + "_cg"] + "\n") + elif cg2hits >= cg1hits and cg2hits >= cg3hits and cg2hits >= cg4hits: #cg2 gene + o.write(ID + "\tIGG2\t" + str(round_int(cg2hits / varsInCG * 100)) + "\t" + str(round_int(cghits / possiblecg * 100)) + "\t" + start_location[ID + "_cg"] + "\n") + elif cg3hits >= cg1hits and cg3hits >= cg2hits and cg3hits >= cg4hits: #cg3 gene + o.write(ID + "\tIGG3\t" + str(round_int(cg3hits / varsInCG * 100)) + "\t" + str(round_int(cghits / possiblecg * 100)) + "\t" + start_location[ID + "_cg"] + "\n") + else: #cg4 gene + o.write(ID + "\tIGG4\t" + str(round_int(cg4hits / varsInCG * 100)) + "\t" + str(round_int(cghits / possiblecg * 100)) + "\t" + start_location[ID + "_cg"] + "\n") + else: #its a cm or ce gene + if cmhits >= cehits: + o.write(ID + "\tIGM\t100\t" + str(round_int(cmhits / possiblecm * 100)) + "\t" + start_location[ID + "_cm"] + "\n") + else: + o.write(ID + "\tIGE\t100\t" + str(round_int(cehits / possiblece * 100)) + "\t" + start_location[ID + "_ce"] + "\n") + seq_write_count += 1 -print "Time: %i" % (int(time.time() * 1000) - starttime) +print("Time: %i" % (int(time.time() * 1000) - starttime)) -print "Number of sequences written to file:", seq_write_count +print("Number of sequences written to file:", seq_write_count)
--- a/merge_and_filter.r Thu Feb 25 10:32:32 2021 +0000 +++ b/merge_and_filter.r Wed Sep 15 12:24:06 2021 +0000 @@ -1,304 +1,304 @@ -args <- commandArgs(trailingOnly = TRUE) - - -summaryfile = args[1] -sequencesfile = args[2] -mutationanalysisfile = args[3] -mutationstatsfile = args[4] -hotspotsfile = args[5] -aafile = args[6] -gene_identification_file= args[7] -output = args[8] -before.unique.file = args[9] -unmatchedfile = args[10] -method=args[11] -functionality=args[12] -unique.type=args[13] -filter.unique=args[14] -filter.unique.count=as.numeric(args[15]) -class.filter=args[16] -empty.region.filter=args[17] - -print(paste("filter.unique.count:", filter.unique.count)) - -summ = read.table(summaryfile, header=T, sep="\t", fill=T, stringsAsFactors=F, quote="") -sequences = read.table(sequencesfile, header=T, sep="\t", fill=T, stringsAsFactors=F, quote="") -mutationanalysis = read.table(mutationanalysisfile, header=T, sep="\t", fill=T, stringsAsFactors=F, quote="") -mutationstats = read.table(mutationstatsfile, header=T, sep="\t", fill=T, stringsAsFactors=F, quote="") -hotspots = read.table(hotspotsfile, header=T, sep="\t", fill=T, stringsAsFactors=F, quote="") -AAs = read.table(aafile, header=T, sep="\t", fill=T, stringsAsFactors=F, quote="") -gene_identification = read.table(gene_identification_file, header=T, sep="\t", fill=T, stringsAsFactors=F, quote="") - -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) -} - -fix_non_unique_ids = function(df){ - df$Sequence.ID = paste(df$Sequence.ID, 1:nrow(df)) - return(df) -} - -summ = fix_column_names(summ) -sequences = fix_column_names(sequences) -mutationanalysis = fix_column_names(mutationanalysis) -mutationstats = fix_column_names(mutationstats) -hotspots = fix_column_names(hotspots) -AAs = fix_column_names(AAs) - -if(method == "blastn"){ - #"qseqid\tsseqid\tpident\tlength\tmismatch\tgapopen\tqstart\tqend\tsstart\tsend\tevalue\tbitscore" - gene_identification = gene_identification[!duplicated(gene_identification$qseqid),] - ref_length = data.frame(sseqid=c("ca1", "ca2", "cg1", "cg2", "cg3", "cg4", "cm"), ref.length=c(81,81,141,141,141,141,52)) - gene_identification = merge(gene_identification, ref_length, by="sseqid", all.x=T) - gene_identification$chunk_hit_percentage = (gene_identification$length / gene_identification$ref.length) * 100 - gene_identification = gene_identification[,c("qseqid", "chunk_hit_percentage", "pident", "qstart", "sseqid")] - colnames(gene_identification) = c("Sequence.ID", "chunk_hit_percentage", "nt_hit_percentage", "start_locations", "best_match") -} - -#print("Summary analysis files columns") -#print(names(summ)) - - - -input.sequence.count = nrow(summ) -print(paste("Number of sequences in summary file:", input.sequence.count)) - -filtering.steps = data.frame(character(0), numeric(0)) - -filtering.steps = rbind(filtering.steps, c("Input", input.sequence.count)) - -filtering.steps[,1] = as.character(filtering.steps[,1]) -filtering.steps[,2] = as.character(filtering.steps[,2]) -#filtering.steps[,3] = as.numeric(filtering.steps[,3]) - -#print("summary files columns") -#print(names(summ)) - -summ = merge(summ, gene_identification, by="Sequence.ID") - -print(paste("Number of sequences after merging with gene identification:", nrow(summ))) - -summ = summ[summ$Functionality != "No results",] - -print(paste("Number of sequences after 'No results' filter:", nrow(summ))) - -filtering.steps = rbind(filtering.steps, c("After 'No results' filter", nrow(summ))) - -if(functionality == "productive"){ - summ = summ[summ$Functionality == "productive (see comment)" | summ$Functionality == "productive",] -} else if (functionality == "unproductive"){ - summ = summ[summ$Functionality == "unproductive (see comment)" | summ$Functionality == "unproductive",] -} else if (functionality == "remove_unknown"){ - summ = summ[summ$Functionality != "No results" & summ$Functionality != "unknown (see comment)" & summ$Functionality != "unknown",] -} - -print(paste("Number of sequences after functionality filter:", nrow(summ))) - -filtering.steps = rbind(filtering.steps, c("After functionality filter", nrow(summ))) - -if(F){ #to speed up debugging - set.seed(1) - summ = summ[sample(nrow(summ), floor(nrow(summ) * 0.03)),] - print(paste("Number of sequences after sampling 3%:", nrow(summ))) - - filtering.steps = rbind(filtering.steps, c("Number of sequences after sampling 3%", nrow(summ))) -} - -print("mutation analysis files columns") -print(names(mutationanalysis[,!(names(mutationanalysis) %in% names(summ)[-1])])) - -result = merge(summ, mutationanalysis[,!(names(mutationanalysis) %in% names(summ)[-1])], by="Sequence.ID") - -print(paste("Number of sequences after merging with mutation analysis file:", nrow(result))) - -#print("mutation stats files columns") -#print(names(mutationstats[,!(names(mutationstats) %in% names(result)[-1])])) - -result = merge(result, mutationstats[,!(names(mutationstats) %in% names(result)[-1])], by="Sequence.ID") - -print(paste("Number of sequences after merging with mutation stats file:", nrow(result))) - -print("hotspots files columns") -print(names(hotspots[,!(names(hotspots) %in% names(result)[-1])])) - -result = merge(result, hotspots[,!(names(hotspots) %in% names(result)[-1])], by="Sequence.ID") - -print(paste("Number of sequences after merging with hotspots file:", nrow(result))) - -print("sequences files columns") -print(c("FR1.IMGT", "CDR1.IMGT", "FR2.IMGT", "CDR2.IMGT", "FR3.IMGT", "CDR3.IMGT")) - -sequences = sequences[,c("Sequence.ID", "FR1.IMGT", "CDR1.IMGT", "FR2.IMGT", "CDR2.IMGT", "FR3.IMGT", "CDR3.IMGT")] -names(sequences) = c("Sequence.ID", "FR1.IMGT.seq", "CDR1.IMGT.seq", "FR2.IMGT.seq", "CDR2.IMGT.seq", "FR3.IMGT.seq", "CDR3.IMGT.seq") -result = merge(result, sequences, by="Sequence.ID", all.x=T) - -AAs = AAs[,c("Sequence.ID", "CDR3.IMGT")] -names(AAs) = c("Sequence.ID", "CDR3.IMGT.AA") -result = merge(result, AAs, by="Sequence.ID", all.x=T) - -print(paste("Number of sequences in result after merging with sequences:", nrow(result))) - -result$VGene = gsub("^Homsap ", "", result$V.GENE.and.allele) -result$VGene = gsub("[*].*", "", result$VGene) -result$DGene = gsub("^Homsap ", "", result$D.GENE.and.allele) -result$DGene = gsub("[*].*", "", result$DGene) -result$JGene = gsub("^Homsap ", "", result$J.GENE.and.allele) -result$JGene = gsub("[*].*", "", result$JGene) - -splt = strsplit(class.filter, "_")[[1]] -chunk_hit_threshold = as.numeric(splt[1]) -nt_hit_threshold = as.numeric(splt[2]) - -higher_than=(result$chunk_hit_percentage >= chunk_hit_threshold & result$nt_hit_percentage >= nt_hit_threshold) - -if(!all(higher_than, na.rm=T)){ #check for no unmatched - result[!higher_than,"best_match"] = paste("unmatched,", result[!higher_than,"best_match"]) -} - -if(class.filter == "101_101"){ - result$best_match = "all" -} - -write.table(x=result, file=gsub("merged.txt$", "before_filters.txt", output), sep="\t",quote=F,row.names=F,col.names=T) - -print(paste("Number of empty CDR1 sequences:", sum(result$CDR1.IMGT.seq == "", na.rm=T))) -print(paste("Number of empty FR2 sequences:", sum(result$FR2.IMGT.seq == "", na.rm=T))) -print(paste("Number of empty CDR2 sequences:", sum(result$CDR2.IMGT.seq == "", na.rm=T))) -print(paste("Number of empty FR3 sequences:", sum(result$FR3.IMGT.seq == "", na.rm=T))) - -if(empty.region.filter == "leader"){ - result = result[result$FR1.IMGT.seq != "" & result$CDR1.IMGT.seq != "" & result$FR2.IMGT.seq != "" & result$CDR2.IMGT.seq != "" & result$FR3.IMGT.seq != "", ] -} else if(empty.region.filter == "FR1"){ - result = result[result$CDR1.IMGT.seq != "" & result$FR2.IMGT.seq != "" & result$CDR2.IMGT.seq != "" & result$FR3.IMGT.seq != "", ] -} else if(empty.region.filter == "CDR1"){ - result = result[result$FR2.IMGT.seq != "" & result$CDR2.IMGT.seq != "" & result$FR3.IMGT.seq != "", ] -} else if(empty.region.filter == "FR2"){ - result = result[result$CDR2.IMGT.seq != "" & result$FR3.IMGT.seq != "", ] -} - -print(paste("After removal sequences that are missing a gene region:", nrow(result))) -filtering.steps = rbind(filtering.steps, c("After removal sequences that are missing a gene region", nrow(result))) - -if(empty.region.filter == "leader"){ - result = result[!(grepl("n|N", result$FR1.IMGT.seq) | grepl("n|N", result$FR2.IMGT.seq) | grepl("n|N", result$FR3.IMGT.seq) | grepl("n|N", result$CDR1.IMGT.seq) | grepl("n|N", result$CDR2.IMGT.seq) | grepl("n|N", result$CDR3.IMGT.seq)),] -} else if(empty.region.filter == "FR1"){ - result = result[!(grepl("n|N", result$FR2.IMGT.seq) | grepl("n|N", result$FR3.IMGT.seq) | grepl("n|N", result$CDR1.IMGT.seq) | grepl("n|N", result$CDR2.IMGT.seq) | grepl("n|N", result$CDR3.IMGT.seq)),] -} else if(empty.region.filter == "CDR1"){ - result = result[!(grepl("n|N", result$FR2.IMGT.seq) | grepl("n|N", result$FR3.IMGT.seq) | grepl("n|N", result$CDR2.IMGT.seq) | grepl("n|N", result$CDR3.IMGT.seq)),] -} else if(empty.region.filter == "FR2"){ - result = result[!(grepl("n|N", result$FR3.IMGT.seq) | grepl("n|N", result$CDR2.IMGT.seq) | grepl("n|N", result$CDR3.IMGT.seq)),] -} - -print(paste("Number of sequences in result after n filtering:", nrow(result))) -filtering.steps = rbind(filtering.steps, c("After N filter", nrow(result))) - -cleanup_columns = c("FR1.IMGT.Nb.of.mutations", - "CDR1.IMGT.Nb.of.mutations", - "FR2.IMGT.Nb.of.mutations", - "CDR2.IMGT.Nb.of.mutations", - "FR3.IMGT.Nb.of.mutations") - -for(col in cleanup_columns){ - result[,col] = gsub("\\(.*\\)", "", result[,col]) - result[,col] = as.numeric(result[,col]) - result[is.na(result[,col]),] = 0 -} - -write.table(result, before.unique.file, sep="\t", quote=F,row.names=F,col.names=T) - - -if(filter.unique != "no"){ - clmns = names(result) - if(filter.unique == "remove_vjaa"){ - result$unique.def = paste(result$VGene, result$JGene, result$CDR3.IMGT.AA) - } else if(empty.region.filter == "leader"){ - result$unique.def = paste(result$FR1.IMGT.seq, result$CDR1.IMGT.seq, result$FR2.IMGT.seq, result$CDR2.IMGT.seq, result$FR3.IMGT.seq, result$CDR3.IMGT.seq) - } else if(empty.region.filter == "FR1"){ - result$unique.def = paste(result$CDR1.IMGT.seq, result$FR2.IMGT.seq, result$CDR2.IMGT.seq, result$FR3.IMGT.seq, result$CDR3.IMGT.seq) - } else if(empty.region.filter == "CDR1"){ - result$unique.def = paste(result$FR2.IMGT.seq, result$CDR2.IMGT.seq, result$FR3.IMGT.seq, result$CDR3.IMGT.seq) - } else if(empty.region.filter == "FR2"){ - result$unique.def = paste(result$CDR2.IMGT.seq, result$FR3.IMGT.seq, result$CDR3.IMGT.seq) - } - - if(grepl("remove", filter.unique)){ - result = result[duplicated(result$unique.def) | duplicated(result$unique.def, fromLast=T),] - unique.defs = data.frame(table(result$unique.def)) - unique.defs = unique.defs[unique.defs$Freq >= filter.unique.count,] - result = result[result$unique.def %in% unique.defs$Var1,] - } - - if(filter.unique != "remove_vjaa"){ - result$unique.def = paste(result$unique.def, gsub(",.*", "", result$best_match)) #keep the unique sequences that are in multiple classes, gsub so the unmatched don't have a class after it - } - - result = result[!duplicated(result$unique.def),] -} - -write.table(result, gsub("before_unique_filter.txt", "after_unique_filter.txt", before.unique.file), sep="\t", quote=F,row.names=F,col.names=T) - -filtering.steps = rbind(filtering.steps, c("After filter unique sequences", nrow(result))) - -print(paste("Number of sequences in result after unique filtering:", nrow(result))) - -if(nrow(summ) == 0){ - stop("No data remaining after filter") -} - -result$best_match_class = gsub(",.*", "", result$best_match) #gsub so the unmatched don't have a class after it - -#result$past = "" -#cls = unlist(strsplit(unique.type, ",")) -#for (i in 1:nrow(result)){ -# result[i,"past"] = paste(result[i,cls], collapse=":") -#} - - - -result$past = do.call(paste, c(result[unlist(strsplit(unique.type, ","))], sep = ":")) - -result.matched = result[!grepl("unmatched", result$best_match),] -result.unmatched = result[grepl("unmatched", result$best_match),] - -result = rbind(result.matched, result.unmatched) - -result = result[!(duplicated(result$past)), ] - -result = result[,!(names(result) %in% c("past", "best_match_class"))] - -print(paste("Number of sequences in result after", unique.type, "filtering:", nrow(result))) - -filtering.steps = rbind(filtering.steps, c("After remove duplicates based on filter", nrow(result))) - -unmatched = result[grepl("^unmatched", result$best_match),c("Sequence.ID", "chunk_hit_percentage", "nt_hit_percentage", "start_locations", "best_match")] - -print(paste("Number of rows in result:", nrow(result))) -print(paste("Number of rows in unmatched:", nrow(unmatched))) - -matched.sequences = result[!grepl("^unmatched", result$best_match),] - -write.table(x=matched.sequences, file=gsub("merged.txt$", "filtered.txt", output), sep="\t",quote=F,row.names=F,col.names=T) - -matched.sequences.count = nrow(matched.sequences) -unmatched.sequences.count = sum(grepl("^unmatched", result$best_match)) -if(matched.sequences.count <= unmatched.sequences.count){ - print("WARNING NO MATCHED (SUB)CLASS SEQUENCES!!") -} - -filtering.steps = rbind(filtering.steps, c("Number of matched sequences", matched.sequences.count)) -filtering.steps = rbind(filtering.steps, c("Number of unmatched sequences", unmatched.sequences.count)) -filtering.steps[,2] = as.numeric(filtering.steps[,2]) -filtering.steps$perc = round(filtering.steps[,2] / input.sequence.count * 100, 2) - -write.table(x=filtering.steps, file=gsub("unmatched", "filtering_steps", unmatchedfile), sep="\t",quote=F,row.names=F,col.names=F) - -write.table(x=result, file=output, sep="\t",quote=F,row.names=F,col.names=T) -write.table(x=unmatched, file=unmatchedfile, sep="\t",quote=F,row.names=F,col.names=T) +args <- commandArgs(trailingOnly = TRUE) + + +summaryfile = args[1] +sequencesfile = args[2] +mutationanalysisfile = args[3] +mutationstatsfile = args[4] +hotspotsfile = args[5] +aafile = args[6] +gene_identification_file= args[7] +output = args[8] +before.unique.file = args[9] +unmatchedfile = args[10] +method=args[11] +functionality=args[12] +unique.type=args[13] +filter.unique=args[14] +filter.unique.count=as.numeric(args[15]) +class.filter=args[16] +empty.region.filter=args[17] + +print(paste("filter.unique.count:", filter.unique.count)) + +summ = read.table(summaryfile, header=T, sep="\t", fill=T, stringsAsFactors=F, quote="") +sequences = read.table(sequencesfile, header=T, sep="\t", fill=T, stringsAsFactors=F, quote="") +mutationanalysis = read.table(mutationanalysisfile, header=T, sep="\t", fill=T, stringsAsFactors=F, quote="") +mutationstats = read.table(mutationstatsfile, header=T, sep="\t", fill=T, stringsAsFactors=F, quote="") +hotspots = read.table(hotspotsfile, header=T, sep="\t", fill=T, stringsAsFactors=F, quote="") +AAs = read.table(aafile, header=T, sep="\t", fill=T, stringsAsFactors=F, quote="") +gene_identification = read.table(gene_identification_file, header=T, sep="\t", fill=T, stringsAsFactors=F, quote="") + +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) +} + +fix_non_unique_ids = function(df){ + df$Sequence.ID = paste(df$Sequence.ID, 1:nrow(df)) + return(df) +} + +summ = fix_column_names(summ) +sequences = fix_column_names(sequences) +mutationanalysis = fix_column_names(mutationanalysis) +mutationstats = fix_column_names(mutationstats) +hotspots = fix_column_names(hotspots) +AAs = fix_column_names(AAs) + +if(method == "blastn"){ + #"qseqid\tsseqid\tpident\tlength\tmismatch\tgapopen\tqstart\tqend\tsstart\tsend\tevalue\tbitscore" + gene_identification = gene_identification[!duplicated(gene_identification$qseqid),] + ref_length = data.frame(sseqid=c("ca1", "ca2", "cg1", "cg2", "cg3", "cg4", "cm"), ref.length=c(81,81,141,141,141,141,52)) + gene_identification = merge(gene_identification, ref_length, by="sseqid", all.x=T) + gene_identification$chunk_hit_percentage = (gene_identification$length / gene_identification$ref.length) * 100 + gene_identification = gene_identification[,c("qseqid", "chunk_hit_percentage", "pident", "qstart", "sseqid")] + colnames(gene_identification) = c("Sequence.ID", "chunk_hit_percentage", "nt_hit_percentage", "start_locations", "best_match") +} + +#print("Summary analysis files columns") +#print(names(summ)) + + + +input.sequence.count = nrow(summ) +print(paste("Number of sequences in summary file:", input.sequence.count)) + +filtering.steps = data.frame(character(0), numeric(0)) + +filtering.steps = rbind(filtering.steps, c("Input", input.sequence.count)) + +filtering.steps[,1] = as.character(filtering.steps[,1]) +filtering.steps[,2] = as.character(filtering.steps[,2]) +#filtering.steps[,3] = as.numeric(filtering.steps[,3]) + +#print("summary files columns") +#print(names(summ)) + +summ = merge(summ, gene_identification, by="Sequence.ID") + +print(paste("Number of sequences after merging with gene identification:", nrow(summ))) + +summ = summ[summ$Functionality != "No results",] + +print(paste("Number of sequences after 'No results' filter:", nrow(summ))) + +filtering.steps = rbind(filtering.steps, c("After 'No results' filter", nrow(summ))) + +if(functionality == "productive"){ + summ = summ[summ$Functionality == "productive (see comment)" | summ$Functionality == "productive",] +} else if (functionality == "unproductive"){ + summ = summ[summ$Functionality == "unproductive (see comment)" | summ$Functionality == "unproductive",] +} else if (functionality == "remove_unknown"){ + summ = summ[summ$Functionality != "No results" & summ$Functionality != "unknown (see comment)" & summ$Functionality != "unknown",] +} + +print(paste("Number of sequences after functionality filter:", nrow(summ))) + +filtering.steps = rbind(filtering.steps, c("After functionality filter", nrow(summ))) + +if(F){ #to speed up debugging + set.seed(1) + summ = summ[sample(nrow(summ), floor(nrow(summ) * 0.03)),] + print(paste("Number of sequences after sampling 3%:", nrow(summ))) + + filtering.steps = rbind(filtering.steps, c("Number of sequences after sampling 3%", nrow(summ))) +} + +print("mutation analysis files columns") +print(names(mutationanalysis[,!(names(mutationanalysis) %in% names(summ)[-1])])) + +result = merge(summ, mutationanalysis[,!(names(mutationanalysis) %in% names(summ)[-1])], by="Sequence.ID") + +print(paste("Number of sequences after merging with mutation analysis file:", nrow(result))) + +#print("mutation stats files columns") +#print(names(mutationstats[,!(names(mutationstats) %in% names(result)[-1])])) + +result = merge(result, mutationstats[,!(names(mutationstats) %in% names(result)[-1])], by="Sequence.ID") + +print(paste("Number of sequences after merging with mutation stats file:", nrow(result))) + +print("hotspots files columns") +print(names(hotspots[,!(names(hotspots) %in% names(result)[-1])])) + +result = merge(result, hotspots[,!(names(hotspots) %in% names(result)[-1])], by="Sequence.ID") + +print(paste("Number of sequences after merging with hotspots file:", nrow(result))) + +print("sequences files columns") +print(c("FR1.IMGT", "CDR1.IMGT", "FR2.IMGT", "CDR2.IMGT", "FR3.IMGT", "CDR3.IMGT")) + +sequences = sequences[,c("Sequence.ID", "FR1.IMGT", "CDR1.IMGT", "FR2.IMGT", "CDR2.IMGT", "FR3.IMGT", "CDR3.IMGT")] +names(sequences) = c("Sequence.ID", "FR1.IMGT.seq", "CDR1.IMGT.seq", "FR2.IMGT.seq", "CDR2.IMGT.seq", "FR3.IMGT.seq", "CDR3.IMGT.seq") +result = merge(result, sequences, by="Sequence.ID", all.x=T) + +AAs = AAs[,c("Sequence.ID", "CDR3.IMGT")] +names(AAs) = c("Sequence.ID", "CDR3.IMGT.AA") +result = merge(result, AAs, by="Sequence.ID", all.x=T) + +print(paste("Number of sequences in result after merging with sequences:", nrow(result))) + +result$VGene = gsub("^Homsap ", "", result$V.GENE.and.allele) +result$VGene = gsub("[*].*", "", result$VGene) +result$DGene = gsub("^Homsap ", "", result$D.GENE.and.allele) +result$DGene = gsub("[*].*", "", result$DGene) +result$JGene = gsub("^Homsap ", "", result$J.GENE.and.allele) +result$JGene = gsub("[*].*", "", result$JGene) + +splt = strsplit(class.filter, "_")[[1]] +chunk_hit_threshold = as.numeric(splt[1]) +nt_hit_threshold = as.numeric(splt[2]) + +higher_than=(result$chunk_hit_percentage >= chunk_hit_threshold & result$nt_hit_percentage >= nt_hit_threshold) + +if(!all(higher_than, na.rm=T)){ #check for no unmatched + result[!higher_than,"best_match"] = paste("unmatched,", result[!higher_than,"best_match"]) +} + +if(class.filter == "101_101"){ + result$best_match = "all" +} + +write.table(x=result, file=gsub("merged.txt$", "before_filters.txt", output), sep="\t",quote=F,row.names=F,col.names=T) + +print(paste("Number of empty CDR1 sequences:", sum(result$CDR1.IMGT.seq == "", na.rm=T))) +print(paste("Number of empty FR2 sequences:", sum(result$FR2.IMGT.seq == "", na.rm=T))) +print(paste("Number of empty CDR2 sequences:", sum(result$CDR2.IMGT.seq == "", na.rm=T))) +print(paste("Number of empty FR3 sequences:", sum(result$FR3.IMGT.seq == "", na.rm=T))) + +if(empty.region.filter == "leader"){ + result = result[result$FR1.IMGT.seq != "" & result$CDR1.IMGT.seq != "" & result$FR2.IMGT.seq != "" & result$CDR2.IMGT.seq != "" & result$FR3.IMGT.seq != "", ] +} else if(empty.region.filter == "FR1"){ + result = result[result$CDR1.IMGT.seq != "" & result$FR2.IMGT.seq != "" & result$CDR2.IMGT.seq != "" & result$FR3.IMGT.seq != "", ] +} else if(empty.region.filter == "CDR1"){ + result = result[result$FR2.IMGT.seq != "" & result$CDR2.IMGT.seq != "" & result$FR3.IMGT.seq != "", ] +} else if(empty.region.filter == "FR2"){ + result = result[result$CDR2.IMGT.seq != "" & result$FR3.IMGT.seq != "", ] +} + +print(paste("After removal sequences that are missing a gene region:", nrow(result))) +filtering.steps = rbind(filtering.steps, c("After removal sequences that are missing a gene region", nrow(result))) + +if(empty.region.filter == "leader"){ + result = result[!(grepl("n|N", result$FR1.IMGT.seq) | grepl("n|N", result$FR2.IMGT.seq) | grepl("n|N", result$FR3.IMGT.seq) | grepl("n|N", result$CDR1.IMGT.seq) | grepl("n|N", result$CDR2.IMGT.seq) | grepl("n|N", result$CDR3.IMGT.seq)),] +} else if(empty.region.filter == "FR1"){ + result = result[!(grepl("n|N", result$FR2.IMGT.seq) | grepl("n|N", result$FR3.IMGT.seq) | grepl("n|N", result$CDR1.IMGT.seq) | grepl("n|N", result$CDR2.IMGT.seq) | grepl("n|N", result$CDR3.IMGT.seq)),] +} else if(empty.region.filter == "CDR1"){ + result = result[!(grepl("n|N", result$FR2.IMGT.seq) | grepl("n|N", result$FR3.IMGT.seq) | grepl("n|N", result$CDR2.IMGT.seq) | grepl("n|N", result$CDR3.IMGT.seq)),] +} else if(empty.region.filter == "FR2"){ + result = result[!(grepl("n|N", result$FR3.IMGT.seq) | grepl("n|N", result$CDR2.IMGT.seq) | grepl("n|N", result$CDR3.IMGT.seq)),] +} + +print(paste("Number of sequences in result after n filtering:", nrow(result))) +filtering.steps = rbind(filtering.steps, c("After N filter", nrow(result))) + +cleanup_columns = c("FR1.IMGT.Nb.of.mutations", + "CDR1.IMGT.Nb.of.mutations", + "FR2.IMGT.Nb.of.mutations", + "CDR2.IMGT.Nb.of.mutations", + "FR3.IMGT.Nb.of.mutations") + +for(col in cleanup_columns){ + result[,col] = gsub("\\(.*\\)", "", result[,col]) + result[,col] = as.numeric(result[,col]) + result[is.na(result[,col]),] = 0 +} + +write.table(result, before.unique.file, sep="\t", quote=F,row.names=F,col.names=T) + + +if(filter.unique != "no"){ + clmns = names(result) + if(filter.unique == "remove_vjaa"){ + result$unique.def = paste(result$VGene, result$JGene, result$CDR3.IMGT.AA) + } else if(empty.region.filter == "leader"){ + result$unique.def = paste(result$FR1.IMGT.seq, result$CDR1.IMGT.seq, result$FR2.IMGT.seq, result$CDR2.IMGT.seq, result$FR3.IMGT.seq, result$CDR3.IMGT.seq) + } else if(empty.region.filter == "FR1"){ + result$unique.def = paste(result$CDR1.IMGT.seq, result$FR2.IMGT.seq, result$CDR2.IMGT.seq, result$FR3.IMGT.seq, result$CDR3.IMGT.seq) + } else if(empty.region.filter == "CDR1"){ + result$unique.def = paste(result$FR2.IMGT.seq, result$CDR2.IMGT.seq, result$FR3.IMGT.seq, result$CDR3.IMGT.seq) + } else if(empty.region.filter == "FR2"){ + result$unique.def = paste(result$CDR2.IMGT.seq, result$FR3.IMGT.seq, result$CDR3.IMGT.seq) + } + + if(grepl("remove", filter.unique)){ + result = result[duplicated(result$unique.def) | duplicated(result$unique.def, fromLast=T),] + unique.defs = data.frame(table(result$unique.def)) + unique.defs = unique.defs[unique.defs$Freq >= filter.unique.count,] + result = result[result$unique.def %in% unique.defs$Var1,] + } + + if(filter.unique != "remove_vjaa"){ + result$unique.def = paste(result$unique.def, gsub(",.*", "", result$best_match)) #keep the unique sequences that are in multiple classes, gsub so the unmatched don't have a class after it + } + + result = result[!duplicated(result$unique.def),] +} + +write.table(result, gsub("before_unique_filter.txt", "after_unique_filter.txt", before.unique.file), sep="\t", quote=F,row.names=F,col.names=T) + +filtering.steps = rbind(filtering.steps, c("After filter unique sequences", nrow(result))) + +print(paste("Number of sequences in result after unique filtering:", nrow(result))) + +if(nrow(summ) == 0){ + stop("No data remaining after filter") +} + +result$best_match_class = gsub(",.*", "", result$best_match) #gsub so the unmatched don't have a class after it + +#result$past = "" +#cls = unlist(strsplit(unique.type, ",")) +#for (i in 1:nrow(result)){ +# result[i,"past"] = paste(result[i,cls], collapse=":") +#} + + + +result$past = do.call(paste, c(result[unlist(strsplit(unique.type, ","))], sep = ":")) + +result.matched = result[!grepl("unmatched", result$best_match),] +result.unmatched = result[grepl("unmatched", result$best_match),] + +result = rbind(result.matched, result.unmatched) + +result = result[!(duplicated(result$past)), ] + +result = result[,!(names(result) %in% c("past", "best_match_class"))] + +print(paste("Number of sequences in result after", unique.type, "filtering:", nrow(result))) + +filtering.steps = rbind(filtering.steps, c("After remove duplicates based on filter", nrow(result))) + +unmatched = result[grepl("^unmatched", result$best_match),c("Sequence.ID", "chunk_hit_percentage", "nt_hit_percentage", "start_locations", "best_match")] + +print(paste("Number of rows in result:", nrow(result))) +print(paste("Number of rows in unmatched:", nrow(unmatched))) + +matched.sequences = result[!grepl("^unmatched", result$best_match),] + +write.table(x=matched.sequences, file=gsub("merged.txt$", "filtered.txt", output), sep="\t",quote=F,row.names=F,col.names=T) + +matched.sequences.count = nrow(matched.sequences) +unmatched.sequences.count = sum(grepl("^unmatched", result$best_match)) +if(matched.sequences.count <= unmatched.sequences.count){ + print("WARNING NO MATCHED (SUB)CLASS SEQUENCES!!") +} + +filtering.steps = rbind(filtering.steps, c("Number of matched sequences", matched.sequences.count)) +filtering.steps = rbind(filtering.steps, c("Number of unmatched sequences", unmatched.sequences.count)) +filtering.steps[,2] = as.numeric(filtering.steps[,2]) +filtering.steps$perc = round(filtering.steps[,2] / input.sequence.count * 100, 2) + +write.table(x=filtering.steps, file=gsub("unmatched", "filtering_steps", unmatchedfile), sep="\t",quote=F,row.names=F,col.names=F) + +write.table(x=result, file=output, sep="\t",quote=F,row.names=F,col.names=T) +write.table(x=unmatched, file=unmatchedfile, sep="\t",quote=F,row.names=F,col.names=T)
--- a/mutation_column_checker.py Thu Feb 25 10:32:32 2021 +0000 +++ b/mutation_column_checker.py Wed Sep 15 12:24:06 2021 +0000 @@ -1,27 +1,27 @@ -import re - -mutationMatcher = re.compile("^([nactg])(\d+).([nactg]),?[ ]?([A-Z])?(\d+)?[>]?([A-Z;])?(.*)?") - -with open("7_V-REGION-mutation-and-AA-change-table.txt", 'r') as file_handle: - first = True - fr3_index = -1 - for i, line in enumerate(file_handle): - line_split = line.split("\t") - if first: - fr3_index = line_split.index("FR3-IMGT") - first = False - continue - - if len(line_split) < fr3_index: - continue - - fr3_data = line_split[fr3_index] - if len(fr3_data) > 5: - try: - test = [mutationMatcher.match(x).groups() for x in fr3_data.split("|") if x] - except: - print(line_split[1]) - print("Something went wrong at line {line} with:".format(line=line_split[0])) - #print([x for x in fr3_data.split("|") if not mutationMatcher.match(x)]) - if i % 100000 == 0: - print(i) +import re + +mutationMatcher = re.compile("^([nactg])(\d+).([nactg]),?[ ]?([A-Z])?(\d+)?[>]?([A-Z;])?(.*)?") + +with open("7_V-REGION-mutation-and-AA-change-table.txt", 'r') as file_handle: + first = True + fr3_index = -1 + for i, line in enumerate(file_handle): + line_split = line.split("\t") + if first: + fr3_index = line_split.index("FR3-IMGT") + first = False + continue + + if len(line_split) < fr3_index: + continue + + fr3_data = line_split[fr3_index] + if len(fr3_data) > 5: + try: + test = [mutationMatcher.match(x).groups() for x in fr3_data.split("|") if x] + except: + print((line_split[1])) + print(("Something went wrong at line {line} with:".format(line=line_split[0]))) + #print([x for x in fr3_data.split("|") if not mutationMatcher.match(x)]) + if i % 100000 == 0: + print(i)
--- a/shm_clonality.htm Thu Feb 25 10:32:32 2021 +0000 +++ b/shm_clonality.htm Wed Sep 15 12:24:06 2021 +0000 @@ -1,144 +1,144 @@ -<html> - -<head> -<meta http-equiv=Content-Type content="text/html; charset=windows-1252"> -<meta name=Generator content="Microsoft Word 14 (filtered)"> -<style> -<!-- - /* Font Definitions */ - @font-face - {font-family:Calibri; - panose-1:2 15 5 2 2 2 4 3 2 4;} -@font-face - {font-family:Tahoma; - panose-1:2 11 6 4 3 5 4 4 2 4;} - /* Style Definitions */ - p.MsoNormal, li.MsoNormal, div.MsoNormal - {margin-top:0in; - margin-right:0in; - margin-bottom:10.0pt; - margin-left:0in; - line-height:115%; - font-size:11.0pt; - font-family:"Calibri","sans-serif";} -a:link, span.MsoHyperlink - {color:blue; - text-decoration:underline;} -a:visited, span.MsoHyperlinkFollowed - {color:purple; - text-decoration:underline;} -p - {margin-right:0in; - margin-left:0in; - font-size:12.0pt; - font-family:"Times New Roman","serif";} -p.MsoAcetate, li.MsoAcetate, div.MsoAcetate - {mso-style-link:"Balloon Text Char"; - margin:0in; - margin-bottom:.0001pt; - font-size:8.0pt; - font-family:"Tahoma","sans-serif";} -p.msochpdefault, li.msochpdefault, div.msochpdefault - {mso-style-name:msochpdefault; - margin-right:0in; - margin-left:0in; - font-size:12.0pt; - font-family:"Calibri","sans-serif";} -p.msopapdefault, li.msopapdefault, div.msopapdefault - {mso-style-name:msopapdefault; - margin-right:0in; - margin-bottom:10.0pt; - margin-left:0in; - line-height:115%; - font-size:12.0pt; - font-family:"Times New Roman","serif";} -span.apple-converted-space - {mso-style-name:apple-converted-space;} -span.BalloonTextChar - {mso-style-name:"Balloon Text Char"; - mso-style-link:"Balloon Text"; - font-family:"Tahoma","sans-serif";} -.MsoChpDefault - {font-size:10.0pt; - font-family:"Calibri","sans-serif";} -.MsoPapDefault - {margin-bottom:10.0pt; - line-height:115%;} -@page WordSection1 - {size:8.5in 11.0in; - margin:1.0in 1.0in 1.0in 1.0in;} -div.WordSection1 - {page:WordSection1;} ---> -</style> - -</head> - -<body lang=EN-US link=blue vlink=purple> - -<div class=WordSection1> - -<p style='margin-top:0in;margin-right:0in;margin-bottom:6.4pt;margin-left:0in; -text-align:justify;background:white'><b><span lang=EN-GB style='color:black'>References</span></b></p> - -<p style='margin-top:0in;margin-right:0in;margin-bottom:6.4pt;margin-left:0in; -text-align:justify;background:white'><span lang=EN-GB style='color:black'>Gupta, -Namita T. and Vander Heiden, Jason A. and Uduman, Mohamed and Gadala-Maria, -Daniel and Yaari, Gur and Kleinstein, Steven H. (2015). <a name="OLE_LINK106"></a><a -name="OLE_LINK107"></a>Change-O: a toolkit for analyzing large-scale B cell -immunoglobulin repertoire sequencing data: Table 1. In<span -class=apple-converted-space> </span><em>Bioinformatics, 31 (20), pp. -3356–3358.</em><span class=apple-converted-space><i> </i></span>[</span><a -href="http://dx.doi.org/10.1093/bioinformatics/btv359" target="_blank"><span -lang=EN-GB style='color:#303030'>doi:10.1093/bioinformatics/btv359</span></a><span -lang=EN-GB style='color:black'>][</span><a -href="http://dx.doi.org/10.1093/bioinformatics/btv359" target="_blank"><span -lang=EN-GB style='color:#303030'>Link</span></a><span lang=EN-GB -style='color:black'>]</span></p> - -<p style='margin-top:0in;margin-right:0in;margin-bottom:6.4pt;margin-left:0in; -text-align:justify;background:white'><span lang=EN-GB style='color:black'> </span></p> - -<p style='margin-top:0in;margin-right:0in;margin-bottom:6.4pt;margin-left:0in; -text-align:justify;background:white'><a name="OLE_LINK110"><u><span lang=EN-GB -style='color:black'>All, IGA, IGG, IGM and IGE tabs</span></u></a></p> - -<p style='margin-top:0in;margin-right:0in;margin-bottom:6.4pt;margin-left:0in; -text-align:justify;background:white'><span lang=EN-GB style='color:black'>In -these tabs information on the clonal relation of transcripts can be found. To -calculate clonal relation Change-O is used (Gupta et al, PMID: 26069265). -Transcripts are considered clonally related if they have maximal three nucleotides -difference in their CDR3 sequence and the same first V segment (as assigned by -IMGT). Results are represented in a table format showing the clone size and the -number of clones or sequences with this clone size. Change-O settings used are -the </span><span lang=EN-GB>nucleotide hamming distance substitution model with -a complete distance of maximal three. For clonal assignment the first gene -segments were used, and the distances were not normalized. In case of -asymmetric distances, the minimal distance was used.<span style='color:black'> </span></span></p> - -<p style='margin-top:0in;margin-right:0in;margin-bottom:6.4pt;margin-left:0in; -text-align:justify;background:white'><span lang=EN-GB style='color:black'> </span></p> - -<p style='margin-top:0in;margin-right:0in;margin-bottom:6.4pt;margin-left:0in; -text-align:justify;background:white'><u><span lang=EN-GB style='color:black'>Overlap -tab</span></u><span lang=EN-GB style='color:black'> </span></p> - -<p style='margin-top:0in;margin-right:0in;margin-bottom:6.4pt;margin-left:0in; -text-align:justify;background:white'><span lang=EN-GB style='color:black'>This -tab gives information on with which (sub)classe(s) each unique analyzed region -(based on the exact nucleotide sequence of the analyzes region and the CDR3 -nucleotide sequence) is found with. This gives information if the combination -of the exact same nucleotide sequence of the analyzed region and the CDR3 -sequence can be found in multiple (sub)classes.</span></p> - -<p style='margin-top:0in;margin-right:0in;margin-bottom:6.4pt;margin-left:0in; -text-align:justify;background:white'><span style='color:black'><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAYAAAA71pVKAAAAzElEQVQoka2TwQ2CQBBFpwTshw4ImW8ogJMlUIMmhNCDxgasAi50oSXA8XlAjCG7aqKTzGX/vsnM31mzR0gk7tTudO5MEizpzvQ4ryUSe408J3Xn+grE0p1rnpOamVmWsZG4rS+dzzAMsN8Hi9yyjI1JNGtxu4VxBJgLRLpoTKIPiW0LlwtUVRTubW2OBGUJu92cZRmdfbKQMAw8o+vi5v0fLorZ7Y9waGYJjsf38DJz0O1PsEQffOcv4Sa6YYfDDJ5Obzbsp93+5VfdATueO1fdLdI0AAAAAElFTkSuQmCC"> Please note that this tab is based on all -sequences before filter unique sequences and the remove duplicates based on -filters are applied. In this table only sequences occuring more than once are -included. </span></p> - -</div> - -</body> - -</html> +<html> + +<head> +<meta http-equiv=Content-Type content="text/html; charset=windows-1252"> +<meta name=Generator content="Microsoft Word 14 (filtered)"> +<style> +<!-- + /* Font Definitions */ + @font-face + {font-family:Calibri; + panose-1:2 15 5 2 2 2 4 3 2 4;} +@font-face + {font-family:Tahoma; + panose-1:2 11 6 4 3 5 4 4 2 4;} + /* Style Definitions */ + p.MsoNormal, li.MsoNormal, div.MsoNormal + {margin-top:0in; + margin-right:0in; + margin-bottom:10.0pt; + margin-left:0in; + line-height:115%; + font-size:11.0pt; + font-family:"Calibri","sans-serif";} +a:link, span.MsoHyperlink + {color:blue; + text-decoration:underline;} +a:visited, span.MsoHyperlinkFollowed + {color:purple; + text-decoration:underline;} +p + {margin-right:0in; + margin-left:0in; + font-size:12.0pt; + font-family:"Times New Roman","serif";} +p.MsoAcetate, li.MsoAcetate, div.MsoAcetate + {mso-style-link:"Balloon Text Char"; + margin:0in; + margin-bottom:.0001pt; + font-size:8.0pt; + font-family:"Tahoma","sans-serif";} +p.msochpdefault, li.msochpdefault, div.msochpdefault + {mso-style-name:msochpdefault; + margin-right:0in; + margin-left:0in; + font-size:12.0pt; + font-family:"Calibri","sans-serif";} +p.msopapdefault, li.msopapdefault, div.msopapdefault + {mso-style-name:msopapdefault; + margin-right:0in; + margin-bottom:10.0pt; + margin-left:0in; + line-height:115%; + font-size:12.0pt; + font-family:"Times New Roman","serif";} +span.apple-converted-space + {mso-style-name:apple-converted-space;} +span.BalloonTextChar + {mso-style-name:"Balloon Text Char"; + mso-style-link:"Balloon Text"; + font-family:"Tahoma","sans-serif";} +.MsoChpDefault + {font-size:10.0pt; + font-family:"Calibri","sans-serif";} +.MsoPapDefault + {margin-bottom:10.0pt; + line-height:115%;} +@page WordSection1 + {size:8.5in 11.0in; + margin:1.0in 1.0in 1.0in 1.0in;} +div.WordSection1 + {page:WordSection1;} +--> +</style> + +</head> + +<body lang=EN-US link=blue vlink=purple> + +<div class=WordSection1> + +<p style='margin-top:0in;margin-right:0in;margin-bottom:6.4pt;margin-left:0in; +text-align:justify;background:white'><b><span lang=EN-GB style='color:black'>References</span></b></p> + +<p style='margin-top:0in;margin-right:0in;margin-bottom:6.4pt;margin-left:0in; +text-align:justify;background:white'><span lang=EN-GB style='color:black'>Gupta, +Namita T. and Vander Heiden, Jason A. and Uduman, Mohamed and Gadala-Maria, +Daniel and Yaari, Gur and Kleinstein, Steven H. (2015). <a name="OLE_LINK106"></a><a +name="OLE_LINK107"></a>Change-O: a toolkit for analyzing large-scale B cell +immunoglobulin repertoire sequencing data: Table 1. In<span +class=apple-converted-space> </span><em>Bioinformatics, 31 (20), pp. +3356–3358.</em><span class=apple-converted-space><i> </i></span>[</span><a +href="http://dx.doi.org/10.1093/bioinformatics/btv359" target="_blank"><span +lang=EN-GB style='color:#303030'>doi:10.1093/bioinformatics/btv359</span></a><span +lang=EN-GB style='color:black'>][</span><a +href="http://dx.doi.org/10.1093/bioinformatics/btv359" target="_blank"><span +lang=EN-GB style='color:#303030'>Link</span></a><span lang=EN-GB +style='color:black'>]</span></p> + +<p style='margin-top:0in;margin-right:0in;margin-bottom:6.4pt;margin-left:0in; +text-align:justify;background:white'><span lang=EN-GB style='color:black'> </span></p> + +<p style='margin-top:0in;margin-right:0in;margin-bottom:6.4pt;margin-left:0in; +text-align:justify;background:white'><a name="OLE_LINK110"><u><span lang=EN-GB +style='color:black'>All, IGA, IGG, IGM and IGE tabs</span></u></a></p> + +<p style='margin-top:0in;margin-right:0in;margin-bottom:6.4pt;margin-left:0in; +text-align:justify;background:white'><span lang=EN-GB style='color:black'>In +these tabs information on the clonal relation of transcripts can be found. To +calculate clonal relation Change-O is used (Gupta et al, PMID: 26069265). +Transcripts are considered clonally related if they have maximal three nucleotides +difference in their CDR3 sequence and the same first V segment (as assigned by +IMGT). Results are represented in a table format showing the clone size and the +number of clones or sequences with this clone size. Change-O settings used are +the </span><span lang=EN-GB>nucleotide hamming distance substitution model with +a complete distance of maximal three. For clonal assignment the first gene +segments were used, and the distances were not normalized. In case of +asymmetric distances, the minimal distance was used.<span style='color:black'> </span></span></p> + +<p style='margin-top:0in;margin-right:0in;margin-bottom:6.4pt;margin-left:0in; +text-align:justify;background:white'><span lang=EN-GB style='color:black'> </span></p> + +<p style='margin-top:0in;margin-right:0in;margin-bottom:6.4pt;margin-left:0in; +text-align:justify;background:white'><u><span lang=EN-GB style='color:black'>Overlap +tab</span></u><span lang=EN-GB style='color:black'> </span></p> + +<p style='margin-top:0in;margin-right:0in;margin-bottom:6.4pt;margin-left:0in; +text-align:justify;background:white'><span lang=EN-GB style='color:black'>This +tab gives information on with which (sub)classe(s) each unique analyzed region +(based on the exact nucleotide sequence of the analyzes region and the CDR3 +nucleotide sequence) is found with. This gives information if the combination +of the exact same nucleotide sequence of the analyzed region and the CDR3 +sequence can be found in multiple (sub)classes.</span></p> + +<p style='margin-top:0in;margin-right:0in;margin-bottom:6.4pt;margin-left:0in; +text-align:justify;background:white'><span style='color:black'><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAYAAAA71pVKAAAAzElEQVQoka2TwQ2CQBBFpwTshw4ImW8ogJMlUIMmhNCDxgasAi50oSXA8XlAjCG7aqKTzGX/vsnM31mzR0gk7tTudO5MEizpzvQ4ryUSe408J3Xn+grE0p1rnpOamVmWsZG4rS+dzzAMsN8Hi9yyjI1JNGtxu4VxBJgLRLpoTKIPiW0LlwtUVRTubW2OBGUJu92cZRmdfbKQMAw8o+vi5v0fLorZ7Y9waGYJjsf38DJz0O1PsEQffOcv4Sa6YYfDDJ5Obzbsp93+5VfdATueO1fdLdI0AAAAAElFTkSuQmCC"> Please note that this tab is based on all +sequences before filter unique sequences and the remove duplicates based on +filters are applied. In this table only sequences occuring more than once are +included. </span></p> + +</div> + +</body> + +</html>
--- a/shm_csr.htm Thu Feb 25 10:32:32 2021 +0000 +++ b/shm_csr.htm Wed Sep 15 12:24:06 2021 +0000 @@ -1,95 +1,95 @@ -<html> - -<head> -<meta http-equiv=Content-Type content="text/html; charset=windows-1252"> -<meta name=Generator content="Microsoft Word 14 (filtered)"> -<style> -<!-- - /* Font Definitions */ - @font-face - {font-family:Calibri; - panose-1:2 15 5 2 2 2 4 3 2 4;} - /* Style Definitions */ - p.MsoNormal, li.MsoNormal, div.MsoNormal - {margin-top:0in; - margin-right:0in; - margin-bottom:10.0pt; - margin-left:0in; - line-height:115%; - font-size:11.0pt; - font-family:"Calibri","sans-serif";} -a:link, span.MsoHyperlink - {color:blue; - text-decoration:underline;} -a:visited, span.MsoHyperlinkFollowed - {color:purple; - text-decoration:underline;} -span.apple-converted-space - {mso-style-name:apple-converted-space;} -.MsoChpDefault - {font-family:"Calibri","sans-serif";} -.MsoPapDefault - {margin-bottom:10.0pt; - line-height:115%;} -@page WordSection1 - {size:8.5in 11.0in; - margin:1.0in 1.0in 1.0in 1.0in;} -div.WordSection1 - {page:WordSection1;} ---> -</style> - -</head> - -<body lang=EN-US link=blue vlink=purple> - -<div class=WordSection1> - -<p class=MsoNormalCxSpFirst style='text-align:justify'><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>The -graphs in this tab give insight into the subclass distribution of IGG and IGA -transcripts. </span><span lang=EN-GB style='font-size:12.0pt;line-height:115%; -font-family:"Times New Roman","serif"'>Human Cµ, Cα, Cγ and Cε -constant genes are assigned using a </span><span lang=EN-GB style='font-size: -12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>custom script -specifically designed for human (sub)class assignment in repertoire data as -described in van Schouwenburg and IJspeert et al, submitted for publication. In -this script the reference sequences for the subclasses are divided in 8 -nucleotide chunks which overlap by 4 nucleotides. These overlapping chunks are -then individually aligned in the right order to each input sequence. The -percentage of the chunks identified in each rearrangement is calculated in the -‘chunk hit percentage’. </span><span lang=EN-GB style='font-size:12.0pt; -line-height:115%;font-family:"Times New Roman","serif"'>Cα and Cγ -subclasses are very homologous and only differ in a few nucleotides. To assign -subclasses the </span><span lang=EN-GB style='font-size:12.0pt;line-height: -115%;font-family:"Times New Roman","serif"'>‘nt hit percentage’ is calculated. -This percentage indicates how well the chunks covering the subclass specific -nucleotide match with the different subclasses. </span><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Information -on normal distribution of subclasses in healthy individuals of different ages -can be found in IJspeert and van Schouwenburg et al, PMID: 27799928.</span></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><a name="OLE_LINK100"></a><a -name="OLE_LINK99"></a><a name="OLE_LINK25"><u><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>IGA -subclass distribution</span></u></a></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Pie -chart showing the relative distribution of IGA1 and IGA2 transcripts in the -sample.</span></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>IGG -subclass distribution</span></u></p> - -<p class=MsoNormalCxSpLast style='text-align:justify'><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Pie -chart showing the relative distribution of IGG1, IGG2, IGG3 and IGG4 -transcripts in the sample.</span></p> - -</div> - -</body> - -</html> +<html> + +<head> +<meta http-equiv=Content-Type content="text/html; charset=windows-1252"> +<meta name=Generator content="Microsoft Word 14 (filtered)"> +<style> +<!-- + /* Font Definitions */ + @font-face + {font-family:Calibri; + panose-1:2 15 5 2 2 2 4 3 2 4;} + /* Style Definitions */ + p.MsoNormal, li.MsoNormal, div.MsoNormal + {margin-top:0in; + margin-right:0in; + margin-bottom:10.0pt; + margin-left:0in; + line-height:115%; + font-size:11.0pt; + font-family:"Calibri","sans-serif";} +a:link, span.MsoHyperlink + {color:blue; + text-decoration:underline;} +a:visited, span.MsoHyperlinkFollowed + {color:purple; + text-decoration:underline;} +span.apple-converted-space + {mso-style-name:apple-converted-space;} +.MsoChpDefault + {font-family:"Calibri","sans-serif";} +.MsoPapDefault + {margin-bottom:10.0pt; + line-height:115%;} +@page WordSection1 + {size:8.5in 11.0in; + margin:1.0in 1.0in 1.0in 1.0in;} +div.WordSection1 + {page:WordSection1;} +--> +</style> + +</head> + +<body lang=EN-US link=blue vlink=purple> + +<div class=WordSection1> + +<p class=MsoNormalCxSpFirst style='text-align:justify'><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>The +graphs in this tab give insight into the subclass distribution of IGG and IGA +transcripts. </span><span lang=EN-GB style='font-size:12.0pt;line-height:115%; +font-family:"Times New Roman","serif"'>Human Cµ, Cα, Cγ and Cε +constant genes are assigned using a </span><span lang=EN-GB style='font-size: +12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>custom script +specifically designed for human (sub)class assignment in repertoire data as +described in van Schouwenburg and IJspeert et al, submitted for publication. In +this script the reference sequences for the subclasses are divided in 8 +nucleotide chunks which overlap by 4 nucleotides. These overlapping chunks are +then individually aligned in the right order to each input sequence. The +percentage of the chunks identified in each rearrangement is calculated in the +‘chunk hit percentage’. </span><span lang=EN-GB style='font-size:12.0pt; +line-height:115%;font-family:"Times New Roman","serif"'>Cα and Cγ +subclasses are very homologous and only differ in a few nucleotides. To assign +subclasses the </span><span lang=EN-GB style='font-size:12.0pt;line-height: +115%;font-family:"Times New Roman","serif"'>‘nt hit percentage’ is calculated. +This percentage indicates how well the chunks covering the subclass specific +nucleotide match with the different subclasses. </span><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Information +on normal distribution of subclasses in healthy individuals of different ages +can be found in IJspeert and van Schouwenburg et al, PMID: 27799928.</span></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><a name="OLE_LINK100"></a><a +name="OLE_LINK99"></a><a name="OLE_LINK25"><u><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>IGA +subclass distribution</span></u></a></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Pie +chart showing the relative distribution of IGA1 and IGA2 transcripts in the +sample.</span></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>IGG +subclass distribution</span></u></p> + +<p class=MsoNormalCxSpLast style='text-align:justify'><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Pie +chart showing the relative distribution of IGG1, IGG2, IGG3 and IGG4 +transcripts in the sample.</span></p> + +</div> + +</body> + +</html>
--- a/shm_csr.py Thu Feb 25 10:32:32 2021 +0000 +++ b/shm_csr.py Wed Sep 15 12:24:06 2021 +0000 @@ -26,7 +26,7 @@ mutationMatcher = re.compile("^(.)(\d+).(.),?[ ]?(.)?(\d+)?.?(.)?(.?.?.?.?.?)?") mutationMatcher = re.compile("^([actg])(\d+).([actg]),?[ ]?([A-Z])?(\d+)?.?([A-Z])?(.*)?") mutationMatcher = re.compile("^([actg])(\d+).([actg]),?[ ]?([A-Z])?(\d+)?[>]?([A-Z;])?(.*)?") - mutationMatcher = re.compile("^([nactg])(\d+).([nactg]),?[ ]?([A-Z])?(\d+)?[>]?([A-Z;])?(.*)?") + mutationMatcher = re.compile(r"^([nactg])(\d+).([nactg]),?[ ]?([A-Z*])?(\d+)?[>]?([A-Z*;])?(.*)?") NAMatchResult = (None, None, None, None, None, None, '') geneMatchers = {gene: re.compile("^" + gene + ".*") for gene in genes} linecount = 0 @@ -59,7 +59,7 @@ tandem_sum_by_class = defaultdict(int) expected_tandem_sum_by_class = defaultdict(float) - with open(infile, 'ru') as i: + with open(infile, 'r') as i: for line in i: if first: linesplt = line.split("\t") @@ -130,10 +130,10 @@ fr3LengthDict[ID] = fr3Length IDlist += [ID] - print "len(mutationdic) =", len(mutationdic) + print("len(mutationdic) =", len(mutationdic)) with open(os.path.join(os.path.dirname(os.path.abspath(infile)), "mutationdict.txt"), 'w') as out_handle: - for ID, lst in mutationdic.iteritems(): + for ID, lst in mutationdic.items(): for mut in lst: out_handle.write("{0}\t{1}\n".format(ID, "\t".join([str(x) for x in mut]))) @@ -230,7 +230,7 @@ tandem_freq_file = os.path.join(os.path.dirname(outfile), "tandem_frequency.txt") with open(tandem_freq_file, 'w') as o: - for frq in sorted([int(x) for x in tandem_frequency.keys()]): + for frq in sorted([int(x) for x in list(tandem_frequency.keys())]): o.write("{0}\t{1}\n".format(frq, tandem_frequency[str(frq)])) tandem_row = [] @@ -256,11 +256,11 @@ AA_mutation_dic = {"IGA": AA_mutation[:], "IGG": AA_mutation[:], "IGM": AA_mutation[:], "IGE": AA_mutation[:], "unm": AA_mutation[:], "all": AA_mutation[:]} AA_mutation_empty = AA_mutation[:] - print "AALength:", AALength + print("AALength:", AALength) aa_mutations_by_id_file = outfile[:outfile.rindex("/")] + "/aa_id_mutations.txt" with open(aa_mutations_by_id_file, 'w') as o: o.write("ID\tbest_match\t" + "\t".join([str(x) for x in range(1,AALength)]) + "\n") - for ID in mutationListByID.keys(): + for ID in list(mutationListByID.keys()): AA_mutation_for_ID = AA_mutation_empty[:] for mutation in mutationListByID[ID]: if mutation[4] and mutation[5] != ";": @@ -269,8 +269,8 @@ AA_mutation[AA_mutation_position] += 1 AA_mutation_for_ID[AA_mutation_position] += 1 except Exception as e: - print e - print mutation + print(e) + print(mutation) sys.exit() clss = genedic[ID][:3] AA_mutation_dic[clss][AA_mutation_position] += 1 @@ -280,32 +280,32 @@ #absent AA stuff absentAACDR1Dic = defaultdict(list) - absentAACDR1Dic[5] = range(29,36) - absentAACDR1Dic[6] = range(29,35) - absentAACDR1Dic[7] = range(30,35) - absentAACDR1Dic[8] = range(30,34) - absentAACDR1Dic[9] = range(31,34) - absentAACDR1Dic[10] = range(31,33) + absentAACDR1Dic[5] = list(range(29,36)) + absentAACDR1Dic[6] = list(range(29,35)) + absentAACDR1Dic[7] = list(range(30,35)) + absentAACDR1Dic[8] = list(range(30,34)) + absentAACDR1Dic[9] = list(range(31,34)) + absentAACDR1Dic[10] = list(range(31,33)) absentAACDR1Dic[11] = [32] absentAACDR2Dic = defaultdict(list) - absentAACDR2Dic[0] = range(55,65) - absentAACDR2Dic[1] = range(56,65) - absentAACDR2Dic[2] = range(56,64) - absentAACDR2Dic[3] = range(57,64) - absentAACDR2Dic[4] = range(57,63) - absentAACDR2Dic[5] = range(58,63) - absentAACDR2Dic[6] = range(58,62) - absentAACDR2Dic[7] = range(59,62) - absentAACDR2Dic[8] = range(59,61) + absentAACDR2Dic[0] = list(range(55,65)) + absentAACDR2Dic[1] = list(range(56,65)) + absentAACDR2Dic[2] = list(range(56,64)) + absentAACDR2Dic[3] = list(range(57,64)) + absentAACDR2Dic[4] = list(range(57,63)) + absentAACDR2Dic[5] = list(range(58,63)) + absentAACDR2Dic[6] = list(range(58,62)) + absentAACDR2Dic[7] = list(range(59,62)) + absentAACDR2Dic[8] = list(range(59,61)) absentAACDR2Dic[9] = [60] absentAA = [len(IDlist)] * (AALength-1) - for k, cdr1Length in cdr1LengthDic.iteritems(): + for k, cdr1Length in cdr1LengthDic.items(): for c in absentAACDR1Dic[cdr1Length]: absentAA[c] -= 1 - for k, cdr2Length in cdr2LengthDic.iteritems(): + for k, cdr2Length in cdr2LengthDic.items(): for c in absentAACDR2Dic[cdr2Length]: absentAA[c] -= 1 @@ -325,14 +325,12 @@ o.write(ID + "\t" + str(cdr1Length) + "\t" + str(cdr2Length) + "\t" + genedic[ID] + "\t" + "\t".join([str(x) for x in absentAAbyID]) + "\n") if linecount == 0: - print "No data, exiting" + print("No data, exiting") with open(outfile, 'w') as o: o.write("RGYW (%)," + ("0,0,0\n" * len(genes))) o.write("WRCY (%)," + ("0,0,0\n" * len(genes))) o.write("WA (%)," + ("0,0,0\n" * len(genes))) o.write("TW (%)," + ("0,0,0\n" * len(genes))) - import sys - sys.exit() hotspotMatcher = re.compile("[actg]+,(\d+)-(\d+)\((.*)\)") @@ -347,7 +345,7 @@ aggctatIndex = 0 atagcctIndex = 0 first = True - with open(infile, 'ru') as i: + with open(infile, 'r') as i: for line in i: if first: linesplt = line.split("\t") @@ -412,7 +410,7 @@ motif_dic = {"RGYW": RGYW, "WRCY": WRCY, "WA": WA, "TW": TW} for mutation in mutationList: frm, where, to, AAfrm, AAwhere, AAto, junk = mutation - for motif in motif_dic.keys(): + for motif in list(motif_dic.keys()): for start, end, region in motif_dic[motif]: if start <= int(where) <= end: @@ -460,7 +458,7 @@ value = 0 valuedic = dict() - for fname in funcs.keys(): + for fname in list(funcs.keys()): for gene in genes: with open(directory + gene + "_" + fname + "_value.txt", 'r') as v: valuedic[gene + "_" + fname] = float(v.readlines()[0].rstrip()) @@ -477,7 +475,7 @@ dic = {"RGYW": RGYWCount, "WRCY": WRCYCount, "WA": WACount, "TW": TWCount} arr = ["RGYW", "WRCY", "WA", "TW"] - for fname in funcs.keys(): + for fname in list(funcs.keys()): func = funcs[fname] foutfile = outfile[:outfile.rindex("/")] + "/hotspot_analysis_" + fname + ".txt" with open(foutfile, 'w') as o: @@ -489,9 +487,9 @@ if valuedic[gene + "_" + fname] is 0: o.write(",0,0,0") else: - x, y, z = get_xyz([curr[x] for x in [y for y, z in genedic.iteritems() if geneMatcher.match(z)]], gene, func, fname) + x, y, z = get_xyz([curr[x] for x in [y for y, z in genedic.items() if geneMatcher.match(z)]], gene, func, fname) o.write("," + x + "," + y + "," + z) - x, y, z = get_xyz([y for x, y in curr.iteritems() if not genedic[x].startswith("unmatched")], "total", func, fname) + x, y, z = get_xyz([y for x, y in curr.items() if not genedic[x].startswith("unmatched")], "total", func, fname) #x, y, z = get_xyz([y for x, y in curr.iteritems()], "total", func, fname) o.write("," + x + "," + y + "," + z + "\n")
--- a/shm_csr.xml Thu Feb 25 10:32:32 2021 +0000 +++ b/shm_csr.xml Wed Sep 15 12:24:06 2021 +0000 @@ -1,240 +1,247 @@ -<tool id="shm_csr" name="SHM & CSR pipeline" version="1.0"> - <description></description> - <requirements> - <requirement type="package" version="2.7">python</requirement> - <requirement type="package" version="1.16.0">numpy</requirement> - <requirement type="package" version="1.2.0">xlrd</requirement> - <requirement type="package" version="3.0.0">r-ggplot2</requirement> - <requirement type="package" version="1.4.3">r-reshape2</requirement> - <requirement type="package" version="0.5.0">r-scales</requirement> - <requirement type="package" version="3.4_5">r-seqinr</requirement> - <requirement type="package" version="1.11.4">r-data.table</requirement> - </requirements> - <command interpreter="bash"> - #if str ( $filter_unique.filter_unique_select ) == "remove": - wrapper.sh $in_file custom $out_file $out_file.files_path "${in_file.name}" "-" $functionality $unique $naive_output_cond.naive_output $naive_output_ca $naive_output_cg $naive_output_cm $naive_output_ce $naive_output_all $filter_unique.filter_unique_select $filter_unique.filter_unique_clone_count $class_filter_cond.class_filter $empty_region_filter $fast - #else: - wrapper.sh $in_file custom $out_file $out_file.files_path "${in_file.name}" "-" $functionality $unique $naive_output_cond.naive_output $naive_output_ca $naive_output_cg $naive_output_cm $naive_output_ce $naive_output_all $filter_unique.filter_unique_select 2 $class_filter_cond.class_filter $empty_region_filter $fast - #end if - </command> - <inputs> - <param name="in_file" type="data" format="data" label="IMGT zip file to be analysed" /> - <param name="empty_region_filter" type="select" label="Sequence starts at" help="" > - <option value="leader" selected="true">Leader: include FR1, CDR1, FR2, CDR2, FR3 in filters</option> - <option value="FR1" selected="true">FR1: include CDR1,FR2,CDR2,FR3 in filters</option> - <option value="CDR1">CDR1: include FR2,CDR2,FR3 in filters</option> - <option value="FR2">FR2: include CDR2,FR3 in filters</option> - </param> - <param name="functionality" type="select" label="Functionality filter" help="" > - <option value="productive" selected="true">Productive (Productive and Productive see comment)</option> - <option value="unproductive">Unproductive (Unproductive and Unproductive see comment)</option> - <option value="remove_unknown">Productive and Unproductive (Productive, Productive see comment, Unproductive, Unproductive and Unproductive see comment)</option> - </param> - <conditional name="filter_unique"> - <param name="filter_unique_select" type="select" label="Filter unique sequences" help="See below for an example."> - <option value="remove" selected="true">Remove uniques (Based on nucleotide sequence + C)</option> - <option value="remove_vjaa">Remove uniques (Based on V+J+CDR3 (AA))</option> - <option value="keep">Keep uniques (Based on nucleotide sequence + C)</option> - <option value="no">No</option> - </param> - <when value="remove"> - <param name="filter_unique_clone_count" size="4" type="integer" label="How many sequences should be in a group to keep 1 of them" value="2" min="2"/> - </when> - <when value="keep"></when> - <when value="no"></when> - </conditional> - <param name="unique" type="select" label="Remove duplicates based on" help="" > - <option value="VGene,CDR3.IMGT.AA,best_match_class">Top.V.Gene, CDR3 (AA), C region</option> - <option value="VGene,CDR3.IMGT.AA">Top.V.Gene, CDR3 (AA)</option> - <option value="CDR3.IMGT.AA,best_match_class">CDR3 (AA), C region</option> - <option value="CDR3.IMGT.AA">CDR3 (AA)</option> - - <option value="VGene,CDR3.IMGT.seq,best_match_class">Top.V.Gene, CDR3 (nt), C region</option> - <option value="VGene,CDR3.IMGT.seq">Top.V.Gene, CDR3 (nt)</option> - <option value="CDR3.IMGT.seq,best_match_class">CDR3 (nt), C region</option> - <option value="CDR3.IMGT.seq">CDR3 (nt)</option> - <option value="Sequence.ID" selected="true">Don't remove duplicates</option> - </param> - <conditional name="class_filter_cond"> - <param name="class_filter" type="select" label="Human Class/Subclass filter" help="" > - <option value="70_70" selected="true">>70% class and >70% subclass</option> - <option value="60_55">>60% class and >55% subclass</option> - <option value="70_0">>70% class</option> - <option value="60_0">>60% class</option> - <option value="19_0">>19% class</option> - <option value="101_101">Do not assign (sub)class</option> - </param> - <when value="70_70"></when> - <when value="60_55"></when> - <when value="70_0"></when> - <when value="60_0"></when> - <when value="19_0"></when> - <when value="101_101"></when> - </conditional> - <conditional name="naive_output_cond"> - <param name="naive_output" type="select" label="Output new IMGT archives per class into your history?"> - <option value="yes">Yes</option> - <option value="no" selected="true">No</option> - </param> - <when value="yes"></when> - <when value="no"></when> - </conditional> - <param name="fast" type="select" label="Fast" help="Skips generating the new ZIP files and Change-O/Baseline" > - <option value="yes">Yes</option> - <option value="no" selected="true">No</option> - </param> - </inputs> - <outputs> - <data format="html" name="out_file" label = "SHM & CSR on ${in_file.name}"/> - <data format="imgt_archive" name="naive_output_ca" label = "Filtered IMGT IGA: ${in_file.name}" > - <filter>naive_output_cond['naive_output'] == "yes"</filter> - <filter>class_filter_cond['class_filter'] != "101_101"</filter> - </data> - <data format="imgt_archive" name="naive_output_cg" label = "Filtered IMGT IGG: ${in_file.name}" > - <filter>naive_output_cond['naive_output'] == "yes"</filter> - <filter>class_filter_cond['class_filter'] != "101_101"</filter> - </data> - <data format="imgt_archive" name="naive_output_cm" label = "Filtered IMGT IGM: ${in_file.name}" > - <filter>naive_output_cond['naive_output'] == "yes"</filter> - <filter>class_filter_cond['class_filter'] != "101_101"</filter> - </data> - <data format="imgt_archive" name="naive_output_ce" label = "Filtered IMGT IGE: ${in_file.name}" > - <filter>naive_output_cond['naive_output'] == "yes"</filter> - <filter>class_filter_cond['class_filter'] != "101_101"</filter> - </data> - <data format="imgt_archive" name="naive_output_all" label = "Filtered IMGT all: ${in_file.name}" > - <filter>naive_output_cond['naive_output'] == "yes"</filter> - <filter>class_filter_cond['class_filter'] == "101_101"</filter> - </data> - </outputs> - <tests> - <test> - <param name="fast" value="yes"/> - <output name="out_file" file="test1.html"/> - </test> - </tests> - <help> -<![CDATA[ -**References** - -Yaari, G. and Uduman, M. and Kleinstein, S. H. (2012). Quantifying selection in high-throughput Immunoglobulin sequencing data sets. In *Nucleic Acids Research, 40 (17), pp. e134–e134.* [`doi:10.1093/nar/gks457`_] - -.. _doi:10.1093/nar/gks457: http://dx.doi.org/10.1093/nar/gks457 - -Gupta, Namita T. and Vander Heiden, Jason A. and Uduman, Mohamed and Gadala-Maria, Daniel and Yaari, Gur and Kleinstein, Steven H. (2015). Change-O: a toolkit for analyzing large-scale B cell immunoglobulin repertoire sequencing data: Table 1. *In Bioinformatics, 31 (20), pp. 3356–3358.* [`doi:10.1093/bioinformatics/btv359`_] - -.. _doi:10.1093/bioinformatics/btv359: http://dx.doi.org/10.1093/bioinformatics/btv359 - ------ - -**Input files** - -IMGT/HighV-QUEST .zip and .txz are accepted as input files. The file to be analysed can be selected using the dropdown menu. - -.. class:: infomark - -Note: Files can be uploaded by using “get data†and “upload file†and selecting “IMGT archive“ as a file type. Special characters should be prevented in the file names of the uploaded samples as these can give errors when running the immune repertoire pipeline. Underscores are allowed in the file names. - ------ - -**Sequence starts at** - -Identifies the region which will be included in the analysis (analysed region) - -- Sequences which are missing a gene region (FR1/CDR1 etc) in the analysed region are excluded. -- Sequences containing an ambiguous base in the analysed region or the CDR3 are excluded. -- All other filtering/analysis is based on the analysed region. - ------ - -**Functionality filter** - -Allows filtering on productive rearrangements, unproductive rearrangements or both based on the assignment provided by IMGT. - -**Filter unique sequences** - -*Remove unique:* - - -This filter consists of two different steps. - -Step 1: removes all sequences of which the nucleotide sequence in the “analysed region†and the CDR3 (see sequence starts at filter) occurs only once. (Sub)classes are not taken into account in this filter step. - -Step 2: removes all duplicate sequences (sequences with the exact same nucleotide sequence in the analysed region, the CDR3 and the same (sub)class). - -.. class:: infomark - -This means that sequences with the same nucleotide sequence but a different (sub)class will be included in the results of both (sub)classes. - -*Keep unique:* - -Removes all duplicate sequences (sequences with the exact same nucleotide sequence in the analysed region and the same (sub)class). - -Example of the sequences that are included using either the “remove unique filter†or the “keep unique filter†- -+--------------------------+ -| unique filter | -+--------+--------+--------+ -| values | remove | keep | -+--------+--------+--------+ -| A | A | A | -+--------+--------+--------+ -| A | B | B | -+--------+--------+--------+ -| B | D | C | -+--------+--------+--------+ -| B | | D | -+--------+--------+--------+ -| C | | | -+--------+--------+--------+ -| D | | | -+--------+--------+--------+ -| D | | | -+--------+--------+--------+ - ------ - -**Remove duplicates based on** - -Allows the selection of a single sequence per clone. Different definitions of a clone can be chosen. - -.. class:: infomark - -Note: The first sequence (in the data set) of each clone is always included in the analysis. When the first matched sequence is unmatched (no subclass assigned) the first matched sequence will be included. This means that altering the data order (by for instance sorting) can change the sequence which is included in the analysis and therefore slightly influences the results. - ------ - -**Human Class/Subclass filter** - -.. class:: warningmark - -Note: This filter should only be applied when analysing human IGH data in which a (sub)class specific sequence is present. Otherwise please select the do not assign (sub)class option to prevent errors when running the pipeline. - -The class percentage is based on the ‘chunk hit percentage’ (see below). The subclass percentage is based on the ‘nt hit percentage’ (see below). - -The SHM & CSR pipeline identifies human Cµ, Cα, Cγ and Cε constant genes by dividing the reference sequences for the subclasses (NG_001019) in 8 nucleotide chunks which overlap by 4 nucleotides. These overlapping chunks are then individually aligned in the right order to each input sequence. This alignment is used to calculate the chunck hit percentage and the nt hit percentage. - -*Chunk hit percentage*: The percentage of the chunks that is aligned - -*Nt hit percentage*: The percentage of chunks covering the subclass specific nucleotide match with the different subclasses. The most stringent filter for the subclass is 70% ‘nt hit percentage’ which means that 5 out of 7 subclass specific nucleotides for Cα or 6 out of 8 subclass specific nucleotides of Cγ should match with the specific subclass. -The option “>25% class†can be chosen when you only are interested in the class (Cα/Cγ/Cµ/Cɛ) of your sequences and the length of your sequence is not long enough to assign the subclasses. - ------ - -**Output new IMGT archives per class into your history?** - -If yes is selected, additional output files (one for each class) will be added to the history which contain information of the sequences that passed the selected filtering criteria. These files are in the same format as the IMGT/HighV-QUEST output files and therefore are also compatible with many other analysis programs, such as the Immune repertoire pipeline. - ------ - -**Execute** - -Upon pressing execute a new analysis is added to your history (right side of the page). Initially this analysis will be grey, after initiating the analysis colour of the analysis in the history will change to yellow. When the analysis is finished it will turn green in the history. Now the analysis can be opened by clicking on the eye icon on the analysis of interest. When an analysis turns red an error has occurred when running the analysis. If you click on the analysis title additional information can be found on the analysis. In addition a bug icon appears. Here more information on the error can be found. - -]]> - </help> - <citations> - <citation type="doi">10.1093/nar/gks457</citation> - <citation type="doi">10.1093/bioinformatics/btv359</citation> - </citations> -</tool> +<tool id="shm_csr" name="SHM & CSR pipeline" version="1.1"> + <description></description> + <requirements> + <requirement type="package" version="3.7">python</requirement> + <requirement type="package" version="0.4.4">changeo</requirement> + <!--Biopython should be set at a version at the release of changeo 0.4.4. + Later versions of biopython break changeo 0.4.4 because of the Alphabet deprecation.--> + <requirement type="package" version="1.72">biopython</requirement> + <requirement type="package" version="1.2.0">xlrd</requirement> + <requirement type="package" version="3.0.0">r-ggplot2</requirement> + <requirement type="package" version="1.4.3">r-reshape2</requirement> + <requirement type="package" version="0.5.0">r-scales</requirement> + <requirement type="package" version="3.4_5">r-seqinr</requirement> + <requirement type="package" version="1.11.4">r-data.table</requirement> + <requirement type="package" version="6.0">unzip</requirement> + <requirement type="package" version="4.4.18">bash</requirement> + <requirement type="package" version="1.34">tar</requirement> + <requirement type="package" version="5.39">file</requirement> + </requirements> + <command interpreter="bash"> + #if str ( $filter_unique.filter_unique_select ) == "remove": + wrapper.sh $in_file custom $out_file $out_file.files_path "${in_file.name}" "-" $functionality $unique $naive_output_cond.naive_output $naive_output_ca $naive_output_cg $naive_output_cm $naive_output_ce $naive_output_all $filter_unique.filter_unique_select $filter_unique.filter_unique_clone_count $class_filter_cond.class_filter $empty_region_filter $fast + #else: + wrapper.sh $in_file custom $out_file $out_file.files_path "${in_file.name}" "-" $functionality $unique $naive_output_cond.naive_output $naive_output_ca $naive_output_cg $naive_output_cm $naive_output_ce $naive_output_all $filter_unique.filter_unique_select 2 $class_filter_cond.class_filter $empty_region_filter $fast + #end if + </command> + <inputs> + <param name="in_file" type="data" format="data" label="IMGT zip file to be analysed" /> + <param name="empty_region_filter" type="select" label="Sequence starts at" help="" > + <option value="leader" selected="true">Leader: include FR1, CDR1, FR2, CDR2, FR3 in filters</option> + <option value="FR1" selected="true">FR1: include CDR1,FR2,CDR2,FR3 in filters</option> + <option value="CDR1">CDR1: include FR2,CDR2,FR3 in filters</option> + <option value="FR2">FR2: include CDR2,FR3 in filters</option> + </param> + <param name="functionality" type="select" label="Functionality filter" help="" > + <option value="productive" selected="true">Productive (Productive and Productive see comment)</option> + <option value="unproductive">Unproductive (Unproductive and Unproductive see comment)</option> + <option value="remove_unknown">Productive and Unproductive (Productive, Productive see comment, Unproductive, Unproductive and Unproductive see comment)</option> + </param> + <conditional name="filter_unique"> + <param name="filter_unique_select" type="select" label="Filter unique sequences" help="See below for an example."> + <option value="remove" selected="true">Remove uniques (Based on nucleotide sequence + C)</option> + <option value="remove_vjaa">Remove uniques (Based on V+J+CDR3 (AA))</option> + <option value="keep">Keep uniques (Based on nucleotide sequence + C)</option> + <option value="no">No</option> + </param> + <when value="remove"> + <param name="filter_unique_clone_count" size="4" type="integer" label="How many sequences should be in a group to keep 1 of them" value="2" min="2"/> + </when> + <when value="keep"></when> + <when value="no"></when> + </conditional> + <param name="unique" type="select" label="Remove duplicates based on" help="" > + <option value="VGene,CDR3.IMGT.AA,best_match_class">Top.V.Gene, CDR3 (AA), C region</option> + <option value="VGene,CDR3.IMGT.AA">Top.V.Gene, CDR3 (AA)</option> + <option value="CDR3.IMGT.AA,best_match_class">CDR3 (AA), C region</option> + <option value="CDR3.IMGT.AA">CDR3 (AA)</option> + + <option value="VGene,CDR3.IMGT.seq,best_match_class">Top.V.Gene, CDR3 (nt), C region</option> + <option value="VGene,CDR3.IMGT.seq">Top.V.Gene, CDR3 (nt)</option> + <option value="CDR3.IMGT.seq,best_match_class">CDR3 (nt), C region</option> + <option value="CDR3.IMGT.seq">CDR3 (nt)</option> + <option value="Sequence.ID" selected="true">Don't remove duplicates</option> + </param> + <conditional name="class_filter_cond"> + <param name="class_filter" type="select" label="Human Class/Subclass filter" help="" > + <option value="70_70" selected="true">>70% class and >70% subclass</option> + <option value="60_55">>60% class and >55% subclass</option> + <option value="70_0">>70% class</option> + <option value="60_0">>60% class</option> + <option value="19_0">>19% class</option> + <option value="101_101">Do not assign (sub)class</option> + </param> + <when value="70_70"></when> + <when value="60_55"></when> + <when value="70_0"></when> + <when value="60_0"></when> + <when value="19_0"></when> + <when value="101_101"></when> + </conditional> + <conditional name="naive_output_cond"> + <param name="naive_output" type="select" label="Output new IMGT archives per class into your history?"> + <option value="yes">Yes</option> + <option value="no" selected="true">No</option> + </param> + <when value="yes"></when> + <when value="no"></when> + </conditional> + <param name="fast" type="select" label="Fast" help="Skips generating the new ZIP files and Change-O/Baseline" > + <option value="yes">Yes</option> + <option value="no" selected="true">No</option> + </param> + </inputs> + <outputs> + <data format="html" name="out_file" label = "SHM & CSR on ${in_file.name}"/> + <data format="imgt_archive" name="naive_output_ca" label = "Filtered IMGT IGA: ${in_file.name}" > + <filter>naive_output_cond['naive_output'] == "yes"</filter> + <filter>class_filter_cond['class_filter'] != "101_101"</filter> + </data> + <data format="imgt_archive" name="naive_output_cg" label = "Filtered IMGT IGG: ${in_file.name}" > + <filter>naive_output_cond['naive_output'] == "yes"</filter> + <filter>class_filter_cond['class_filter'] != "101_101"</filter> + </data> + <data format="imgt_archive" name="naive_output_cm" label = "Filtered IMGT IGM: ${in_file.name}" > + <filter>naive_output_cond['naive_output'] == "yes"</filter> + <filter>class_filter_cond['class_filter'] != "101_101"</filter> + </data> + <data format="imgt_archive" name="naive_output_ce" label = "Filtered IMGT IGE: ${in_file.name}" > + <filter>naive_output_cond['naive_output'] == "yes"</filter> + <filter>class_filter_cond['class_filter'] != "101_101"</filter> + </data> + <data format="imgt_archive" name="naive_output_all" label = "Filtered IMGT all: ${in_file.name}" > + <filter>naive_output_cond['naive_output'] == "yes"</filter> + <filter>class_filter_cond['class_filter'] == "101_101"</filter> + </data> + </outputs> + <tests> + <test> + <param name="fast" value="yes"/> + <output name="out_file" file="test1.html"/> + </test> + </tests> + <help> +<![CDATA[ +**References** + +Yaari, G. and Uduman, M. and Kleinstein, S. H. (2012). Quantifying selection in high-throughput Immunoglobulin sequencing data sets. In *Nucleic Acids Research, 40 (17), pp. e134–e134.* [`doi:10.1093/nar/gks457`_] + +.. _doi:10.1093/nar/gks457: http://dx.doi.org/10.1093/nar/gks457 + +Gupta, Namita T. and Vander Heiden, Jason A. and Uduman, Mohamed and Gadala-Maria, Daniel and Yaari, Gur and Kleinstein, Steven H. (2015). Change-O: a toolkit for analyzing large-scale B cell immunoglobulin repertoire sequencing data: Table 1. *In Bioinformatics, 31 (20), pp. 3356–3358.* [`doi:10.1093/bioinformatics/btv359`_] + +.. _doi:10.1093/bioinformatics/btv359: http://dx.doi.org/10.1093/bioinformatics/btv359 + +----- + +**Input files** + +IMGT/HighV-QUEST .zip and .txz are accepted as input files. The file to be analysed can be selected using the dropdown menu. + +.. class:: infomark + +Note: Files can be uploaded by using “get data†and “upload file†and selecting “IMGT archive“ as a file type. Special characters should be prevented in the file names of the uploaded samples as these can give errors when running the immune repertoire pipeline. Underscores are allowed in the file names. + +----- + +**Sequence starts at** + +Identifies the region which will be included in the analysis (analysed region) + +- Sequences which are missing a gene region (FR1/CDR1 etc) in the analysed region are excluded. +- Sequences containing an ambiguous base in the analysed region or the CDR3 are excluded. +- All other filtering/analysis is based on the analysed region. + +----- + +**Functionality filter** + +Allows filtering on productive rearrangements, unproductive rearrangements or both based on the assignment provided by IMGT. + +**Filter unique sequences** + +*Remove unique:* + + +This filter consists of two different steps. + +Step 1: removes all sequences of which the nucleotide sequence in the “analysed region†and the CDR3 (see sequence starts at filter) occurs only once. (Sub)classes are not taken into account in this filter step. + +Step 2: removes all duplicate sequences (sequences with the exact same nucleotide sequence in the analysed region, the CDR3 and the same (sub)class). + +.. class:: infomark + +This means that sequences with the same nucleotide sequence but a different (sub)class will be included in the results of both (sub)classes. + +*Keep unique:* + +Removes all duplicate sequences (sequences with the exact same nucleotide sequence in the analysed region and the same (sub)class). + +Example of the sequences that are included using either the “remove unique filter†or the “keep unique filter†+ ++--------------------------+ +| unique filter | ++--------+--------+--------+ +| values | remove | keep | ++--------+--------+--------+ +| A | A | A | ++--------+--------+--------+ +| A | B | B | ++--------+--------+--------+ +| B | D | C | ++--------+--------+--------+ +| B | | D | ++--------+--------+--------+ +| C | | | ++--------+--------+--------+ +| D | | | ++--------+--------+--------+ +| D | | | ++--------+--------+--------+ + +----- + +**Remove duplicates based on** + +Allows the selection of a single sequence per clone. Different definitions of a clone can be chosen. + +.. class:: infomark + +Note: The first sequence (in the data set) of each clone is always included in the analysis. When the first matched sequence is unmatched (no subclass assigned) the first matched sequence will be included. This means that altering the data order (by for instance sorting) can change the sequence which is included in the analysis and therefore slightly influences the results. + +----- + +**Human Class/Subclass filter** + +.. class:: warningmark + +Note: This filter should only be applied when analysing human IGH data in which a (sub)class specific sequence is present. Otherwise please select the do not assign (sub)class option to prevent errors when running the pipeline. + +The class percentage is based on the ‘chunk hit percentage’ (see below). The subclass percentage is based on the ‘nt hit percentage’ (see below). + +The SHM & CSR pipeline identifies human Cµ, Cα, Cγ and Cε constant genes by dividing the reference sequences for the subclasses (NG_001019) in 8 nucleotide chunks which overlap by 4 nucleotides. These overlapping chunks are then individually aligned in the right order to each input sequence. This alignment is used to calculate the chunck hit percentage and the nt hit percentage. + +*Chunk hit percentage*: The percentage of the chunks that is aligned + +*Nt hit percentage*: The percentage of chunks covering the subclass specific nucleotide match with the different subclasses. The most stringent filter for the subclass is 70% ‘nt hit percentage’ which means that 5 out of 7 subclass specific nucleotides for Cα or 6 out of 8 subclass specific nucleotides of Cγ should match with the specific subclass. +The option “>25% class†can be chosen when you only are interested in the class (Cα/Cγ/Cµ/Cɛ) of your sequences and the length of your sequence is not long enough to assign the subclasses. + +----- + +**Output new IMGT archives per class into your history?** + +If yes is selected, additional output files (one for each class) will be added to the history which contain information of the sequences that passed the selected filtering criteria. These files are in the same format as the IMGT/HighV-QUEST output files and therefore are also compatible with many other analysis programs, such as the Immune repertoire pipeline. + +----- + +**Execute** + +Upon pressing execute a new analysis is added to your history (right side of the page). Initially this analysis will be grey, after initiating the analysis colour of the analysis in the history will change to yellow. When the analysis is finished it will turn green in the history. Now the analysis can be opened by clicking on the eye icon on the analysis of interest. When an analysis turns red an error has occurred when running the analysis. If you click on the analysis title additional information can be found on the analysis. In addition a bug icon appears. Here more information on the error can be found. + +]]> + </help> + <citations> + <citation type="doi">10.1093/nar/gks457</citation> + <citation type="doi">10.1093/bioinformatics/btv359</citation> + </citations> +</tool>
--- a/shm_downloads.htm Thu Feb 25 10:32:32 2021 +0000 +++ b/shm_downloads.htm Wed Sep 15 12:24:06 2021 +0000 @@ -1,538 +1,538 @@ -<html> - -<head> -<meta http-equiv=Content-Type content="text/html; charset=windows-1252"> -<meta name=Generator content="Microsoft Word 14 (filtered)"> -<style> -<!-- - /* Font Definitions */ - @font-face - {font-family:Calibri; - panose-1:2 15 5 2 2 2 4 3 2 4;} - /* Style Definitions */ - p.MsoNormal, li.MsoNormal, div.MsoNormal - {margin-top:0in; - margin-right:0in; - margin-bottom:10.0pt; - margin-left:0in; - line-height:115%; - font-size:11.0pt; - font-family:"Calibri","sans-serif";} -a:link, span.MsoHyperlink - {color:blue; - text-decoration:underline;} -a:visited, span.MsoHyperlinkFollowed - {color:purple; - text-decoration:underline;} -p.MsoNoSpacing, li.MsoNoSpacing, div.MsoNoSpacing - {margin:0in; - margin-bottom:.0001pt; - font-size:11.0pt; - font-family:"Calibri","sans-serif";} -.MsoChpDefault - {font-family:"Calibri","sans-serif";} -.MsoPapDefault - {margin-bottom:10.0pt; - line-height:115%;} -@page WordSection1 - {size:8.5in 11.0in; - margin:1.0in 1.0in 1.0in 1.0in;} -div.WordSection1 - {page:WordSection1;} ---> -</style> - -</head> - -<body lang=EN-US link=blue vlink=purple> - -<div class=WordSection1> - -<p class=MsoNoSpacing style='text-align:justify'><b><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Info</span></b></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The complete -dataset:</span></u><span lang=EN-GB style='font-size:12.0pt;font-family:"Times New Roman","serif"'> -Allows downloading of the complete parsed data set.</span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The filtered -dataset:</span></u><span lang=EN-GB style='font-size:12.0pt;font-family:"Times New Roman","serif"'> -Allows downloading of all parsed IMGT information of all transcripts that -passed the chosen filter settings.</span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The alignment -info on the unmatched sequences:</span></u><span lang=EN-GB style='font-size: -12.0pt;font-family:"Times New Roman","serif"'> Provides information of the subclass -alignment of all unmatched sequences. For each sequence the chunck hit -percentage and the nt hit percentage is shown together with the best matched -subclass.</span></p> - -<p class=MsoNoSpacing style='text-align:justify'><b><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>SHM Overview</span></b></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The SHM Overview -table as a dataset:</span></u><span lang=EN-GB style='font-size:12.0pt; -font-family:"Times New Roman","serif"'> Allows downloading of the SHM Overview -table as a data set. </span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Motif data per -sequence ID:</span></u><span lang=EN-GB style='font-size:12.0pt;font-family: -"Times New Roman","serif"'> Provides a file that contains information for each -transcript on the number of mutations present in WA/TW and RGYW/WRCY motives.</span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Mutation data -per sequence ID: </span></u><span lang=EN-GB style='font-size:12.0pt; -font-family:"Times New Roman","serif"'>Provides a file containing information -on the number of sequences bases, the number and location of mutations and the -type of mutations found in each transcript. </span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Base count for -every sequence:</span></u><span lang=EN-GB style='font-size:12.0pt;font-family: -"Times New Roman","serif"'> links to a page showing for each transcript the -sequence of the analysed region (as dependent on the sequence starts at filter), -the assigned subclass and the number of sequenced A,C,G and T’s.</span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The data used to -generate the percentage of mutations in AID and pol eta motives plot:</span></u><span -lang=EN-GB style='font-size:12.0pt;font-family:"Times New Roman","serif"'> -Provides a file containing the values used to generate the percentage of -mutations in AID and pol eta motives plot in the SHM overview tab.</span></p> - -<p class=MsoNormalCxSpFirst style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>The -data used to generate the relative mutation patterns plot:</span></u><span -lang=EN-GB style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'> -Provides a download with the data used to generate the relative mutation -patterns plot in the SHM overview tab.</span></p> - -<p class=MsoNormalCxSpLast style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>The -data used to generate the absolute mutation patterns plot:</span></u><span -lang=EN-GB style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'> -Provides a download with the data used to generate the absolute mutation -patterns plot in the SHM overview tab. </span></p> - -<p class=MsoNoSpacing style='text-align:justify'><b><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>SHM Frequency</span></b></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The data -generate the frequency scatter plot:</span></u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'> Allows -downloading the data used to generate the frequency scatter plot in the SHM -frequency tab. </span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The data used to -generate the frequency by class plot:</span></u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'> Allows -downloading the data used to generate frequency by class plot included in the -SHM frequency tab. </span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The data for -frequency by subclass:</span></u><span lang=EN-GB style='font-size:12.0pt; -font-family:"Times New Roman","serif"'> Provides information of the number and -percentage of sequences that have 0%, 0-2%, 2-5%, 5-10%, 10-15%, 15-20%, ->20% SHM. Information is provided for each subclass.</span></p> - -<p class=MsoNoSpacing style='text-align:justify'><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'> </span></p> - -<p class=MsoNoSpacing style='text-align:justify'><b><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Transition -Tables</span></b></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The data for the -'all' transition plot:</span></u><span lang=EN-GB style='font-size:12.0pt; -font-family:"Times New Roman","serif"'> Contains the information used to -generate the transition table for all sequences.</span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The data for the -'IGA' transition plot:</span></u><span lang=EN-GB style='font-size:12.0pt; -font-family:"Times New Roman","serif"'> Contains the information used to -generate the transition table for all IGA sequences.</span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The data for the -'IGA1' transition plot:</span></u><span lang=EN-GB style='font-size:12.0pt; -font-family:"Times New Roman","serif"'> Contains the information used to -generate the transition table for all IGA1 sequences.</span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The data for the -'IGA2' transition plot:</span></u><span lang=EN-GB style='font-size:12.0pt; -font-family:"Times New Roman","serif"'> Contains the information used to -generate the transition table for all IGA2 sequences.</span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The data for the -'IGG' transition plot :</span></u><span lang=EN-GB style='font-size:12.0pt; -font-family:"Times New Roman","serif"'> Contains the information used to -generate the transition table for all IGG sequences.</span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The data for the -'IGG1' transition plot:</span></u><span lang=EN-GB style='font-size:12.0pt; -font-family:"Times New Roman","serif"'> Contains the information used to -generate the transition table for all IGG1 sequences.</span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The data for the -'IGG2' transition plot:</span></u><span lang=EN-GB style='font-size:12.0pt; -font-family:"Times New Roman","serif"'> Contains the information used to -generate the transition table for all IGG2 sequences.</span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The data for the -'IGG3' transition plot:</span></u><span lang=EN-GB style='font-size:12.0pt; -font-family:"Times New Roman","serif"'> Contains the information used to -generate the transition table for all IGG3 sequences.</span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The data for the -'IGG4' transition plot:</span></u><span lang=EN-GB style='font-size:12.0pt; -font-family:"Times New Roman","serif"'> Contains the information used to -generate the transition table for all IGG4 sequences.</span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The data for the -'IGM' transition plot :</span></u><span lang=EN-GB style='font-size:12.0pt; -font-family:"Times New Roman","serif"'> Contains the information used to -generate the transition table for all IGM sequences.</span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The data for the -'IGE' transition plot:</span></u><span lang=EN-GB style='font-size:12.0pt; -font-family:"Times New Roman","serif"'> Contains the -information used to generate the transition table for all IGE sequences.</span></p> - -<p class=MsoNoSpacing style='text-align:justify'><b><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Antigen -selection</span></b></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>AA mutation data -per sequence ID:</span></u><span lang=EN-GB style='font-size:12.0pt;font-family: -"Times New Roman","serif"'> Provides for each transcript information on whether -there is replacement mutation at each amino acid location (as defined by IMGT). -For all amino acids outside of the analysed region the value 0 is given.</span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Presence of AA -per sequence ID:</span></u><span lang=EN-GB style='font-size:12.0pt;font-family: -"Times New Roman","serif"'> Provides for each transcript information on which -amino acid location (as defined by IMGT) is present. </span><span lang=NL -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>0 is absent, 1 -is present. </span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The data used to -generate the aa mutation frequency plot:</span></u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'> Provides the -data used to generate the aa mutation frequency plot for all sequences in the -antigen selection tab.</span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The data used to -generate the aa mutation frequency plot for IGA:</span></u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'> Provides the -data used to generate the aa mutation frequency plot for all IGA sequences in -the antigen selection tab.</span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The data used to -generate the aa mutation frequency plot for IGG:</span></u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'> Provides the -data used to generate the aa mutation frequency plot for all IGG sequences in -the antigen selection tab.</span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The data used to -generate the aa mutation frequency plot for IGM:</span></u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'> Provides the -data used to generate the aa mutation frequency plot for all IGM sequences in -the antigen selection tab.</span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The data used to -generate the aa mutation frequency plot for IGE:</span></u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'> Provides the -data used to generate the aa mutation frequency plot for all IGE sequences in -the antigen selection tab.</span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Baseline PDF (</span></u><span -lang=EN-GB><a href="http://selection.med.yale.edu/baseline/"><span -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>http://selection.med.yale.edu/baseline/</span></a></span><u><span -lang=EN-GB style='font-size:12.0pt;font-family:"Times New Roman","serif"'>):</span></u><span -lang=EN-GB style='font-size:12.0pt;font-family:"Times New Roman","serif"'> PDF -containing the </span><span lang=EN-GB style='font-size:12.0pt;font-family: -"Times New Roman","serif"'>Antigen selection (BASELINe) graph for all -sequences.</span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Baseline data:</span></u><span -lang=EN-GB style='font-size:12.0pt;font-family:"Times New Roman","serif"'> -Table output of the BASELINe analysis. Calculation of antigen selection as -performed by BASELINe are shown for each individual sequence and the sum of all -sequences.</span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Baseline IGA -PDF:</span></u><span lang=EN-GB style='font-size:12.0pt;font-family:"Times New Roman","serif"'> -PDF containing the </span><span lang=EN-GB style='font-size:12.0pt;font-family: -"Times New Roman","serif"'>Antigen selection (BASELINe) graph for all -sequences.</span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Baseline IGA -data:</span></u><span lang=EN-GB style='font-size:12.0pt;font-family:"Times New Roman","serif"'> -Table output of the BASELINe analysis. Calculation of antigen selection as -performed by BASELINe are shown for each individual IGA sequence and the sum of -all IGA sequences.</span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Baseline IGG -PDF:</span></u><span lang=EN-GB style='font-size:12.0pt;font-family:"Times New Roman","serif"'> -PDF containing the </span><span lang=EN-GB style='font-size:12.0pt;font-family: -"Times New Roman","serif"'>Antigen selection (BASELINe) graph for all IGG -sequences.</span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Baseline IGG -data:</span></u><span lang=EN-GB style='font-size:12.0pt;font-family:"Times New Roman","serif"'> -Table output of the BASELINe analysis. Calculation of antigen selection as -performed by BASELINe are shown for each individual IGG sequence and the sum of -all IGG sequences. </span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Baseline IGM PDF:</span></u><span -lang=EN-GB style='font-size:12.0pt;font-family:"Times New Roman","serif"'> PDF -containing the </span><span lang=EN-GB style='font-size:12.0pt;font-family: -"Times New Roman","serif"'>Antigen selection (BASELINe) graph for all IGM -sequences.</span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Baseline IGM -data:</span></u><span lang=EN-GB style='font-size:12.0pt;font-family:"Times New Roman","serif"'> -Table output of the BASELINe analysis. Calculation of antigen selection as -performed by BASELINe are shown for each individual IGM sequence and the sum of -all IGM sequences.</span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Baseline IGE -PDF:</span></u><span lang=EN-GB style='font-size:12.0pt;font-family:"Times New Roman","serif"'> -PDF containing the </span><span lang=EN-GB style='font-size:12.0pt;font-family: -"Times New Roman","serif"'>Antigen selection (BASELINe) graph for all IGE -sequences.</span><span lang=EN-GB style='font-size:12.0pt;font-family:"Times New Roman","serif"'> -</span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Baseline IGE -data:</span></u><span lang=EN-GB style='font-size:12.0pt;font-family:"Times New Roman","serif"'> -Table output of the BASELINe analysis. Calculation of antigen selection as -performed by BASELINe are shown for each individual IGE sequence and the sum of -all IGE sequences.</span></p> - -<p class=MsoNoSpacing style='text-align:justify'><b><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>CSR</span></b></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The data for the -</span></u><u><span lang=EN-GB style='font-size:12.0pt;font-family:"Times New Roman","serif"'>IGA -subclass distribution plot :</span></u><span lang=EN-GB style='font-size:12.0pt; -font-family:"Times New Roman","serif"'> </span><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Data used for -the generation of the </span><span lang=EN-GB style='font-size:12.0pt; -font-family:"Times New Roman","serif"'>IGA subclass distribution plot provided -in the CSR tab. </span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The data for the -</span></u><u><span lang=EN-GB style='font-size:12.0pt;font-family:"Times New Roman","serif"'>IGA -subclass distribution plot :</span></u><span lang=EN-GB style='font-size:12.0pt; -font-family:"Times New Roman","serif"'> Data used for the generation of the </span><span -lang=EN-GB style='font-size:12.0pt;font-family:"Times New Roman","serif"'>IGG -subclass distribution plot provided in the CSR tab. </span></p> - -<p class=MsoNoSpacing style='text-align:justify'><b><span lang=NL -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Clonal relation</span></b></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Sequence overlap -between subclasses:</span></u><span lang=EN-GB style='font-size:12.0pt; -font-family:"Times New Roman","serif"'> Link to the overlap table as provided -under the clonality overlap tab. </span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The Change-O DB -file with defined clones and subclass annotation:</span></u><span -lang=EN-GB style='font-size:12.0pt;font-family:"Times New Roman","serif"'> -Downloads a table with the calculation of clonal relation between all -sequences. For each individual transcript the results of the clonal assignment -as provided by Change-O are provided. Sequences with the same number in the CLONE -column are considered clonally related. </span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The Change-O DB -defined clones summary file:</span></u><span lang=EN-GB style='font-size:12.0pt; -font-family:"Times New Roman","serif"'> Gives a summary of the total number of -clones in all sequences and their clone size. </span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The Change-O DB -file with defined clones of IGA:</span></u><span lang=EN-GB style='font-size: -12.0pt;font-family:"Times New Roman","serif"'> Downloads a table with the -calculation of clonal relation between all IGA sequences. For each individual -transcript the results of the clonal assignment as provided by Change-O are -provided. Sequences with the same number in the CLONE column are considered -clonally related. </span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The Change-O DB -defined clones summary file of IGA:</span></u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'> Gives a summary -of the total number of clones in all IGA sequences and their clone size.</span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The Change-O DB -file with defined clones of IGG:</span></u><span lang=EN-GB style='font-size: -12.0pt;font-family:"Times New Roman","serif"'> Downloads a table with the -calculation of clonal relation between all IGG sequences. For each individual -transcript the results of the clonal assignment as provided by Change-O are -provided. Sequences with the same number in the CLONE column are considered -clonally related. </span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The Change-O DB -defined clones summary file of IGG:</span></u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'> Gives a summary -of the total number of clones in all IGG sequences and their clone size.</span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The Change-O DB -file with defined clones of IGM:</span></u><span lang=EN-GB style='font-size: -12.0pt;font-family:"Times New Roman","serif"'> Downloads a table -with the calculation of clonal relation between all IGM sequences. For each -individual transcript the results of the clonal assignment as provided by -Change-O are provided. Sequences with the same number in the CLONE column are -considered clonally related. </span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The Change-O DB -defined clones summary file of IGM:</span></u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'> Gives a summary -of the total number of clones in all IGM sequences and their clone size.</span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The Change-O DB -file with defined clones of IGE:</span></u><span lang=EN-GB style='font-size: -12.0pt;font-family:"Times New Roman","serif"'> Downloads a table with the -calculation of clonal relation between all IGE sequences. For each individual -transcript the results of the clonal assignment as provided by Change-O are -provided. Sequences with the same number in the CLONE column are considered -clonally related. </span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The Change-O DB -defined clones summary file of IGE:</span></u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'> Gives a summary -of the total number of clones in all IGE sequences and their clone size.</span></p> - -<p class=MsoNoSpacing style='text-align:justify'><b><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Filtered IMGT -output files</span></b></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>An IMGT archive -with just the matched and filtered sequences:</span></u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'> Downloads a -.txz file with the same format as downloaded IMGT files that contains all -sequences that have passed the chosen filter settings.</span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>An IMGT archive -with just the matched and filtered IGA sequences:</span></u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'> Downloads a -.txz file with the same format as downloaded IMGT files that contains all IGA -sequences that have passed the chosen filter settings.</span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>An IMGT archive -with just the matched and filtered IGA1 sequences:</span></u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'> Downloads a -.txz file with the same format as downloaded IMGT files that contains all IGA1 -sequences that have passed the chosen filter settings.</span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>An IMGT archive -with just the matched and filtered IGA2 sequences:</span></u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'> Downloads a .txz -file with the same format as downloaded IMGT files that contains all IGA2 -sequences that have passed the chosen filter settings.</span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>An IMGT archive -with just the matched and filtered IGG sequences:</span></u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'> Downloads a .txz -file with the same format as downloaded IMGT files that contains all IGG -sequences that have passed the chosen filter settings.</span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>An IMGT archive -with just the matched and filtered IGG1 sequences:</span></u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'> Downloads a -.txz file with the same format as downloaded IMGT files that contains all IGG1 -sequences that have passed the chosen filter settings.</span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>An IMGT archive -with just the matched and filtered IGG2 sequences:</span></u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'> Downloads a -.txz file with the same format as downloaded IMGT files that contains all IGG2 -sequences that have passed the chosen filter settings.</span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>An IMGT archive -with just the matched and filtered IGG3 sequences:</span></u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'> Downloads a .txz -file with the same format as downloaded IMGT files that contains all IGG3 -sequences that have passed the chosen filter settings.</span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>An IMGT archive -with just the matched and filtered IGG4 sequences:</span></u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'> Downloads a -.txz file with the same format as downloaded IMGT files that contains all IGG4 -sequences that have passed the chosen filter settings.</span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>An IMGT archive -with just the matched and filtered IGM sequences:</span></u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'> Downloads a .txz -file with the same format as downloaded IMGT files that contains all IGM -sequences that have passed the chosen filter settings.</span></p> - -<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'>An IMGT archive -with just the matched and filtered IGE sequences:</span></u><span lang=EN-GB -style='font-size:12.0pt;font-family:"Times New Roman","serif"'> Downloads a -.txz file with the same format as downloaded IMGT files that contains all IGE -sequences that have passed the chosen filter settings.</span></p> - -</div> - -</body> - -</html> +<html> + +<head> +<meta http-equiv=Content-Type content="text/html; charset=windows-1252"> +<meta name=Generator content="Microsoft Word 14 (filtered)"> +<style> +<!-- + /* Font Definitions */ + @font-face + {font-family:Calibri; + panose-1:2 15 5 2 2 2 4 3 2 4;} + /* Style Definitions */ + p.MsoNormal, li.MsoNormal, div.MsoNormal + {margin-top:0in; + margin-right:0in; + margin-bottom:10.0pt; + margin-left:0in; + line-height:115%; + font-size:11.0pt; + font-family:"Calibri","sans-serif";} +a:link, span.MsoHyperlink + {color:blue; + text-decoration:underline;} +a:visited, span.MsoHyperlinkFollowed + {color:purple; + text-decoration:underline;} +p.MsoNoSpacing, li.MsoNoSpacing, div.MsoNoSpacing + {margin:0in; + margin-bottom:.0001pt; + font-size:11.0pt; + font-family:"Calibri","sans-serif";} +.MsoChpDefault + {font-family:"Calibri","sans-serif";} +.MsoPapDefault + {margin-bottom:10.0pt; + line-height:115%;} +@page WordSection1 + {size:8.5in 11.0in; + margin:1.0in 1.0in 1.0in 1.0in;} +div.WordSection1 + {page:WordSection1;} +--> +</style> + +</head> + +<body lang=EN-US link=blue vlink=purple> + +<div class=WordSection1> + +<p class=MsoNoSpacing style='text-align:justify'><b><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Info</span></b></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The complete +dataset:</span></u><span lang=EN-GB style='font-size:12.0pt;font-family:"Times New Roman","serif"'> +Allows downloading of the complete parsed data set.</span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The filtered +dataset:</span></u><span lang=EN-GB style='font-size:12.0pt;font-family:"Times New Roman","serif"'> +Allows downloading of all parsed IMGT information of all transcripts that +passed the chosen filter settings.</span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The alignment +info on the unmatched sequences:</span></u><span lang=EN-GB style='font-size: +12.0pt;font-family:"Times New Roman","serif"'> Provides information of the subclass +alignment of all unmatched sequences. For each sequence the chunck hit +percentage and the nt hit percentage is shown together with the best matched +subclass.</span></p> + +<p class=MsoNoSpacing style='text-align:justify'><b><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>SHM Overview</span></b></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The SHM Overview +table as a dataset:</span></u><span lang=EN-GB style='font-size:12.0pt; +font-family:"Times New Roman","serif"'> Allows downloading of the SHM Overview +table as a data set. </span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Motif data per +sequence ID:</span></u><span lang=EN-GB style='font-size:12.0pt;font-family: +"Times New Roman","serif"'> Provides a file that contains information for each +transcript on the number of mutations present in WA/TW and RGYW/WRCY motives.</span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Mutation data +per sequence ID: </span></u><span lang=EN-GB style='font-size:12.0pt; +font-family:"Times New Roman","serif"'>Provides a file containing information +on the number of sequences bases, the number and location of mutations and the +type of mutations found in each transcript. </span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Base count for +every sequence:</span></u><span lang=EN-GB style='font-size:12.0pt;font-family: +"Times New Roman","serif"'> links to a page showing for each transcript the +sequence of the analysed region (as dependent on the sequence starts at filter), +the assigned subclass and the number of sequenced A,C,G and T’s.</span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The data used to +generate the percentage of mutations in AID and pol eta motives plot:</span></u><span +lang=EN-GB style='font-size:12.0pt;font-family:"Times New Roman","serif"'> +Provides a file containing the values used to generate the percentage of +mutations in AID and pol eta motives plot in the SHM overview tab.</span></p> + +<p class=MsoNormalCxSpFirst style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>The +data used to generate the relative mutation patterns plot:</span></u><span +lang=EN-GB style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'> +Provides a download with the data used to generate the relative mutation +patterns plot in the SHM overview tab.</span></p> + +<p class=MsoNormalCxSpLast style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>The +data used to generate the absolute mutation patterns plot:</span></u><span +lang=EN-GB style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'> +Provides a download with the data used to generate the absolute mutation +patterns plot in the SHM overview tab. </span></p> + +<p class=MsoNoSpacing style='text-align:justify'><b><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>SHM Frequency</span></b></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The data +generate the frequency scatter plot:</span></u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'> Allows +downloading the data used to generate the frequency scatter plot in the SHM +frequency tab. </span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The data used to +generate the frequency by class plot:</span></u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'> Allows +downloading the data used to generate frequency by class plot included in the +SHM frequency tab. </span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The data for +frequency by subclass:</span></u><span lang=EN-GB style='font-size:12.0pt; +font-family:"Times New Roman","serif"'> Provides information of the number and +percentage of sequences that have 0%, 0-2%, 2-5%, 5-10%, 10-15%, 15-20%, +>20% SHM. Information is provided for each subclass.</span></p> + +<p class=MsoNoSpacing style='text-align:justify'><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'> </span></p> + +<p class=MsoNoSpacing style='text-align:justify'><b><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Transition +Tables</span></b></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The data for the +'all' transition plot:</span></u><span lang=EN-GB style='font-size:12.0pt; +font-family:"Times New Roman","serif"'> Contains the information used to +generate the transition table for all sequences.</span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The data for the +'IGA' transition plot:</span></u><span lang=EN-GB style='font-size:12.0pt; +font-family:"Times New Roman","serif"'> Contains the information used to +generate the transition table for all IGA sequences.</span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The data for the +'IGA1' transition plot:</span></u><span lang=EN-GB style='font-size:12.0pt; +font-family:"Times New Roman","serif"'> Contains the information used to +generate the transition table for all IGA1 sequences.</span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The data for the +'IGA2' transition plot:</span></u><span lang=EN-GB style='font-size:12.0pt; +font-family:"Times New Roman","serif"'> Contains the information used to +generate the transition table for all IGA2 sequences.</span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The data for the +'IGG' transition plot :</span></u><span lang=EN-GB style='font-size:12.0pt; +font-family:"Times New Roman","serif"'> Contains the information used to +generate the transition table for all IGG sequences.</span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The data for the +'IGG1' transition plot:</span></u><span lang=EN-GB style='font-size:12.0pt; +font-family:"Times New Roman","serif"'> Contains the information used to +generate the transition table for all IGG1 sequences.</span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The data for the +'IGG2' transition plot:</span></u><span lang=EN-GB style='font-size:12.0pt; +font-family:"Times New Roman","serif"'> Contains the information used to +generate the transition table for all IGG2 sequences.</span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The data for the +'IGG3' transition plot:</span></u><span lang=EN-GB style='font-size:12.0pt; +font-family:"Times New Roman","serif"'> Contains the information used to +generate the transition table for all IGG3 sequences.</span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The data for the +'IGG4' transition plot:</span></u><span lang=EN-GB style='font-size:12.0pt; +font-family:"Times New Roman","serif"'> Contains the information used to +generate the transition table for all IGG4 sequences.</span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The data for the +'IGM' transition plot :</span></u><span lang=EN-GB style='font-size:12.0pt; +font-family:"Times New Roman","serif"'> Contains the information used to +generate the transition table for all IGM sequences.</span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The data for the +'IGE' transition plot:</span></u><span lang=EN-GB style='font-size:12.0pt; +font-family:"Times New Roman","serif"'> Contains the +information used to generate the transition table for all IGE sequences.</span></p> + +<p class=MsoNoSpacing style='text-align:justify'><b><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Antigen +selection</span></b></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>AA mutation data +per sequence ID:</span></u><span lang=EN-GB style='font-size:12.0pt;font-family: +"Times New Roman","serif"'> Provides for each transcript information on whether +there is replacement mutation at each amino acid location (as defined by IMGT). +For all amino acids outside of the analysed region the value 0 is given.</span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Presence of AA +per sequence ID:</span></u><span lang=EN-GB style='font-size:12.0pt;font-family: +"Times New Roman","serif"'> Provides for each transcript information on which +amino acid location (as defined by IMGT) is present. </span><span lang=NL +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>0 is absent, 1 +is present. </span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The data used to +generate the aa mutation frequency plot:</span></u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'> Provides the +data used to generate the aa mutation frequency plot for all sequences in the +antigen selection tab.</span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The data used to +generate the aa mutation frequency plot for IGA:</span></u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'> Provides the +data used to generate the aa mutation frequency plot for all IGA sequences in +the antigen selection tab.</span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The data used to +generate the aa mutation frequency plot for IGG:</span></u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'> Provides the +data used to generate the aa mutation frequency plot for all IGG sequences in +the antigen selection tab.</span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The data used to +generate the aa mutation frequency plot for IGM:</span></u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'> Provides the +data used to generate the aa mutation frequency plot for all IGM sequences in +the antigen selection tab.</span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The data used to +generate the aa mutation frequency plot for IGE:</span></u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'> Provides the +data used to generate the aa mutation frequency plot for all IGE sequences in +the antigen selection tab.</span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Baseline PDF (</span></u><span +lang=EN-GB><a href="http://selection.med.yale.edu/baseline/"><span +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>http://selection.med.yale.edu/baseline/</span></a></span><u><span +lang=EN-GB style='font-size:12.0pt;font-family:"Times New Roman","serif"'>):</span></u><span +lang=EN-GB style='font-size:12.0pt;font-family:"Times New Roman","serif"'> PDF +containing the </span><span lang=EN-GB style='font-size:12.0pt;font-family: +"Times New Roman","serif"'>Antigen selection (BASELINe) graph for all +sequences.</span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Baseline data:</span></u><span +lang=EN-GB style='font-size:12.0pt;font-family:"Times New Roman","serif"'> +Table output of the BASELINe analysis. Calculation of antigen selection as +performed by BASELINe are shown for each individual sequence and the sum of all +sequences.</span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Baseline IGA +PDF:</span></u><span lang=EN-GB style='font-size:12.0pt;font-family:"Times New Roman","serif"'> +PDF containing the </span><span lang=EN-GB style='font-size:12.0pt;font-family: +"Times New Roman","serif"'>Antigen selection (BASELINe) graph for all +sequences.</span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Baseline IGA +data:</span></u><span lang=EN-GB style='font-size:12.0pt;font-family:"Times New Roman","serif"'> +Table output of the BASELINe analysis. Calculation of antigen selection as +performed by BASELINe are shown for each individual IGA sequence and the sum of +all IGA sequences.</span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Baseline IGG +PDF:</span></u><span lang=EN-GB style='font-size:12.0pt;font-family:"Times New Roman","serif"'> +PDF containing the </span><span lang=EN-GB style='font-size:12.0pt;font-family: +"Times New Roman","serif"'>Antigen selection (BASELINe) graph for all IGG +sequences.</span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Baseline IGG +data:</span></u><span lang=EN-GB style='font-size:12.0pt;font-family:"Times New Roman","serif"'> +Table output of the BASELINe analysis. Calculation of antigen selection as +performed by BASELINe are shown for each individual IGG sequence and the sum of +all IGG sequences. </span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Baseline IGM PDF:</span></u><span +lang=EN-GB style='font-size:12.0pt;font-family:"Times New Roman","serif"'> PDF +containing the </span><span lang=EN-GB style='font-size:12.0pt;font-family: +"Times New Roman","serif"'>Antigen selection (BASELINe) graph for all IGM +sequences.</span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Baseline IGM +data:</span></u><span lang=EN-GB style='font-size:12.0pt;font-family:"Times New Roman","serif"'> +Table output of the BASELINe analysis. Calculation of antigen selection as +performed by BASELINe are shown for each individual IGM sequence and the sum of +all IGM sequences.</span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Baseline IGE +PDF:</span></u><span lang=EN-GB style='font-size:12.0pt;font-family:"Times New Roman","serif"'> +PDF containing the </span><span lang=EN-GB style='font-size:12.0pt;font-family: +"Times New Roman","serif"'>Antigen selection (BASELINe) graph for all IGE +sequences.</span><span lang=EN-GB style='font-size:12.0pt;font-family:"Times New Roman","serif"'> +</span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Baseline IGE +data:</span></u><span lang=EN-GB style='font-size:12.0pt;font-family:"Times New Roman","serif"'> +Table output of the BASELINe analysis. Calculation of antigen selection as +performed by BASELINe are shown for each individual IGE sequence and the sum of +all IGE sequences.</span></p> + +<p class=MsoNoSpacing style='text-align:justify'><b><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>CSR</span></b></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The data for the +</span></u><u><span lang=EN-GB style='font-size:12.0pt;font-family:"Times New Roman","serif"'>IGA +subclass distribution plot :</span></u><span lang=EN-GB style='font-size:12.0pt; +font-family:"Times New Roman","serif"'> </span><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Data used for +the generation of the </span><span lang=EN-GB style='font-size:12.0pt; +font-family:"Times New Roman","serif"'>IGA subclass distribution plot provided +in the CSR tab. </span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The data for the +</span></u><u><span lang=EN-GB style='font-size:12.0pt;font-family:"Times New Roman","serif"'>IGA +subclass distribution plot :</span></u><span lang=EN-GB style='font-size:12.0pt; +font-family:"Times New Roman","serif"'> Data used for the generation of the </span><span +lang=EN-GB style='font-size:12.0pt;font-family:"Times New Roman","serif"'>IGG +subclass distribution plot provided in the CSR tab. </span></p> + +<p class=MsoNoSpacing style='text-align:justify'><b><span lang=NL +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Clonal relation</span></b></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Sequence overlap +between subclasses:</span></u><span lang=EN-GB style='font-size:12.0pt; +font-family:"Times New Roman","serif"'> Link to the overlap table as provided +under the clonality overlap tab. </span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The Change-O DB +file with defined clones and subclass annotation:</span></u><span +lang=EN-GB style='font-size:12.0pt;font-family:"Times New Roman","serif"'> +Downloads a table with the calculation of clonal relation between all +sequences. For each individual transcript the results of the clonal assignment +as provided by Change-O are provided. Sequences with the same number in the CLONE +column are considered clonally related. </span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The Change-O DB +defined clones summary file:</span></u><span lang=EN-GB style='font-size:12.0pt; +font-family:"Times New Roman","serif"'> Gives a summary of the total number of +clones in all sequences and their clone size. </span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The Change-O DB +file with defined clones of IGA:</span></u><span lang=EN-GB style='font-size: +12.0pt;font-family:"Times New Roman","serif"'> Downloads a table with the +calculation of clonal relation between all IGA sequences. For each individual +transcript the results of the clonal assignment as provided by Change-O are +provided. Sequences with the same number in the CLONE column are considered +clonally related. </span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The Change-O DB +defined clones summary file of IGA:</span></u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'> Gives a summary +of the total number of clones in all IGA sequences and their clone size.</span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The Change-O DB +file with defined clones of IGG:</span></u><span lang=EN-GB style='font-size: +12.0pt;font-family:"Times New Roman","serif"'> Downloads a table with the +calculation of clonal relation between all IGG sequences. For each individual +transcript the results of the clonal assignment as provided by Change-O are +provided. Sequences with the same number in the CLONE column are considered +clonally related. </span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The Change-O DB +defined clones summary file of IGG:</span></u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'> Gives a summary +of the total number of clones in all IGG sequences and their clone size.</span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The Change-O DB +file with defined clones of IGM:</span></u><span lang=EN-GB style='font-size: +12.0pt;font-family:"Times New Roman","serif"'> Downloads a table +with the calculation of clonal relation between all IGM sequences. For each +individual transcript the results of the clonal assignment as provided by +Change-O are provided. Sequences with the same number in the CLONE column are +considered clonally related. </span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The Change-O DB +defined clones summary file of IGM:</span></u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'> Gives a summary +of the total number of clones in all IGM sequences and their clone size.</span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The Change-O DB +file with defined clones of IGE:</span></u><span lang=EN-GB style='font-size: +12.0pt;font-family:"Times New Roman","serif"'> Downloads a table with the +calculation of clonal relation between all IGE sequences. For each individual +transcript the results of the clonal assignment as provided by Change-O are +provided. Sequences with the same number in the CLONE column are considered +clonally related. </span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>The Change-O DB +defined clones summary file of IGE:</span></u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'> Gives a summary +of the total number of clones in all IGE sequences and their clone size.</span></p> + +<p class=MsoNoSpacing style='text-align:justify'><b><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Filtered IMGT +output files</span></b></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>An IMGT archive +with just the matched and filtered sequences:</span></u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'> Downloads a +.txz file with the same format as downloaded IMGT files that contains all +sequences that have passed the chosen filter settings.</span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>An IMGT archive +with just the matched and filtered IGA sequences:</span></u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'> Downloads a +.txz file with the same format as downloaded IMGT files that contains all IGA +sequences that have passed the chosen filter settings.</span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>An IMGT archive +with just the matched and filtered IGA1 sequences:</span></u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'> Downloads a +.txz file with the same format as downloaded IMGT files that contains all IGA1 +sequences that have passed the chosen filter settings.</span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>An IMGT archive +with just the matched and filtered IGA2 sequences:</span></u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'> Downloads a .txz +file with the same format as downloaded IMGT files that contains all IGA2 +sequences that have passed the chosen filter settings.</span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>An IMGT archive +with just the matched and filtered IGG sequences:</span></u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'> Downloads a .txz +file with the same format as downloaded IMGT files that contains all IGG +sequences that have passed the chosen filter settings.</span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>An IMGT archive +with just the matched and filtered IGG1 sequences:</span></u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'> Downloads a +.txz file with the same format as downloaded IMGT files that contains all IGG1 +sequences that have passed the chosen filter settings.</span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>An IMGT archive +with just the matched and filtered IGG2 sequences:</span></u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'> Downloads a +.txz file with the same format as downloaded IMGT files that contains all IGG2 +sequences that have passed the chosen filter settings.</span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>An IMGT archive +with just the matched and filtered IGG3 sequences:</span></u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'> Downloads a .txz +file with the same format as downloaded IMGT files that contains all IGG3 +sequences that have passed the chosen filter settings.</span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>An IMGT archive +with just the matched and filtered IGG4 sequences:</span></u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'> Downloads a +.txz file with the same format as downloaded IMGT files that contains all IGG4 +sequences that have passed the chosen filter settings.</span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>An IMGT archive +with just the matched and filtered IGM sequences:</span></u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'> Downloads a .txz +file with the same format as downloaded IMGT files that contains all IGM +sequences that have passed the chosen filter settings.</span></p> + +<p class=MsoNoSpacing style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'>An IMGT archive +with just the matched and filtered IGE sequences:</span></u><span lang=EN-GB +style='font-size:12.0pt;font-family:"Times New Roman","serif"'> Downloads a +.txz file with the same format as downloaded IMGT files that contains all IGE +sequences that have passed the chosen filter settings.</span></p> + +</div> + +</body> + +</html>
--- a/shm_first.htm Thu Feb 25 10:32:32 2021 +0000 +++ b/shm_first.htm Wed Sep 15 12:24:06 2021 +0000 @@ -1,127 +1,127 @@ -<html> - -<head> -<meta http-equiv=Content-Type content="text/html; charset=windows-1252"> -<meta name=Generator content="Microsoft Word 14 (filtered)"> -<style> -<!-- - /* Font Definitions */ - @font-face - {font-family:Calibri; - panose-1:2 15 5 2 2 2 4 3 2 4;} - /* Style Definitions */ - p.MsoNormal, li.MsoNormal, div.MsoNormal - {margin-top:0in; - margin-right:0in; - margin-bottom:10.0pt; - margin-left:0in; - line-height:115%; - font-size:11.0pt; - font-family:"Calibri","sans-serif";} -.MsoChpDefault - {font-family:"Calibri","sans-serif";} -.MsoPapDefault - {margin-bottom:10.0pt; - line-height:115%;} -@page WordSection1 - {size:8.5in 11.0in; - margin:1.0in 1.0in 1.0in 1.0in;} -div.WordSection1 - {page:WordSection1;} ---> -</style> - -</head> - -<body lang=EN-US> - -<div class=WordSection1> - -<p class=MsoNormalCxSpFirst style='margin-bottom:0in;margin-bottom:.0001pt; -text-align:justify;line-height:normal'><span lang=EN-GB style='font-size:12.0pt; -font-family:"Times New Roman","serif"'>Table showing the order of each -filtering step and the number and percentage of sequences after each filtering -step. </span></p> - -<p class=MsoNormalCxSpMiddle style='margin-bottom:0in;margin-bottom:.0001pt; -text-align:justify;line-height:normal'><u><span lang=EN-GB style='font-size: -12.0pt;font-family:"Times New Roman","serif"'>Input:</span></u><span -lang=EN-GB style='font-size:12.0pt;font-family:"Times New Roman","serif"'> The -number of sequences in the original IMGT file. This is always 100% of the -sequences.</span></p> - -<p class=MsoNormalCxSpMiddle style='margin-bottom:0in;margin-bottom:.0001pt; -text-align:justify;line-height:normal'><u><span lang=EN-GB style='font-size: -12.0pt;font-family:"Times New Roman","serif"'>After "no results" filter: </span></u><span -lang=EN-GB style='font-size:12.0pt;font-family:"Times New Roman","serif"'>IMGT -classifies sequences either as "productive", "unproductive", "unknown", or "no -results". Here, the number and percentages of sequences that are not classified -as "no results" are reported.</span></p> - -<p class=MsoNormalCxSpMiddle style='margin-bottom:0in;margin-bottom:.0001pt; -text-align:justify;line-height:normal'><u><span lang=EN-GB style='font-size: -12.0pt;font-family:"Times New Roman","serif"'>After functionality filter:</span></u><span -lang=EN-GB style='font-size:12.0pt;font-family:"Times New Roman","serif"'> The -number and percentages of sequences that have passed the functionality filter. The -filtering performed is dependent on the settings of the functionality filter. -Details on the functionality filter <a name="OLE_LINK12"></a><a -name="OLE_LINK11"></a><a name="OLE_LINK10">can be found on the start page of -the SHM&CSR pipeline</a>.</span></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>After -removal sequences that are missing a gene region:</span></u><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'> -In this step all sequences that are missing a gene region (FR1, CDR1, FR2, -CDR2, FR3) that should be present are removed from analysis. The sequence -regions that should be present are dependent on the settings of the sequence -starts at filter. <a name="OLE_LINK9"></a><a name="OLE_LINK8">The number and -percentage of sequences that pass this filter step are reported.</a> </span></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>After -N filter:</span></u><span lang=EN-GB style='font-size:12.0pt;line-height:115%; -font-family:"Times New Roman","serif"'> In this step all sequences that contain -an ambiguous base (n) in the analysed region or the CDR3 are removed from the -analysis. The analysed region is determined by the setting of the sequence -starts at filter. The number and percentage of sequences that pass this filter -step are reported.</span></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>After -filter unique sequences</span></u><span lang=EN-GB style='font-size:12.0pt; -line-height:115%;font-family:"Times New Roman","serif"'>: The number and -percentage of sequences that pass the "filter unique sequences" filter. Details -on this filter </span><span lang=EN-GB style='font-size:12.0pt;line-height: -115%;font-family:"Times New Roman","serif"'>can be found on the start page of -the SHM&CSR pipeline</span></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>After -remove duplicate based on filter:</span></u><span lang=EN-GB style='font-size: -12.0pt;line-height:115%;font-family:"Times New Roman","serif"'> The number and -percentage of sequences that passed the remove duplicate filter. Details on the -"remove duplicate filter based on filter" can be found on the start page of the -SHM&CSR pipeline.</span></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><a name="OLE_LINK17"></a><a -name="OLE_LINK16"><u><span lang=EN-GB style='font-size:12.0pt;line-height:115%; -font-family:"Times New Roman","serif"'>Number of matches sequences:</span></u></a><span -lang=EN-GB style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'> -The number and percentage of sequences that passed all the filters described -above and have a (sub)class assigned.</span></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Number -of unmatched sequences</span></u><span lang=EN-GB style='font-size:12.0pt; -line-height:115%;font-family:"Times New Roman","serif"'>: The number and percentage -of sequences that passed all the filters described above and do not have -subclass assigned.</span></p> - -<p class=MsoNormal><span lang=EN-GB> </span></p> - -</div> - -</body> - -</html> +<html> + +<head> +<meta http-equiv=Content-Type content="text/html; charset=windows-1252"> +<meta name=Generator content="Microsoft Word 14 (filtered)"> +<style> +<!-- + /* Font Definitions */ + @font-face + {font-family:Calibri; + panose-1:2 15 5 2 2 2 4 3 2 4;} + /* Style Definitions */ + p.MsoNormal, li.MsoNormal, div.MsoNormal + {margin-top:0in; + margin-right:0in; + margin-bottom:10.0pt; + margin-left:0in; + line-height:115%; + font-size:11.0pt; + font-family:"Calibri","sans-serif";} +.MsoChpDefault + {font-family:"Calibri","sans-serif";} +.MsoPapDefault + {margin-bottom:10.0pt; + line-height:115%;} +@page WordSection1 + {size:8.5in 11.0in; + margin:1.0in 1.0in 1.0in 1.0in;} +div.WordSection1 + {page:WordSection1;} +--> +</style> + +</head> + +<body lang=EN-US> + +<div class=WordSection1> + +<p class=MsoNormalCxSpFirst style='margin-bottom:0in;margin-bottom:.0001pt; +text-align:justify;line-height:normal'><span lang=EN-GB style='font-size:12.0pt; +font-family:"Times New Roman","serif"'>Table showing the order of each +filtering step and the number and percentage of sequences after each filtering +step. </span></p> + +<p class=MsoNormalCxSpMiddle style='margin-bottom:0in;margin-bottom:.0001pt; +text-align:justify;line-height:normal'><u><span lang=EN-GB style='font-size: +12.0pt;font-family:"Times New Roman","serif"'>Input:</span></u><span +lang=EN-GB style='font-size:12.0pt;font-family:"Times New Roman","serif"'> The +number of sequences in the original IMGT file. This is always 100% of the +sequences.</span></p> + +<p class=MsoNormalCxSpMiddle style='margin-bottom:0in;margin-bottom:.0001pt; +text-align:justify;line-height:normal'><u><span lang=EN-GB style='font-size: +12.0pt;font-family:"Times New Roman","serif"'>After "no results" filter: </span></u><span +lang=EN-GB style='font-size:12.0pt;font-family:"Times New Roman","serif"'>IMGT +classifies sequences either as "productive", "unproductive", "unknown", or "no +results". Here, the number and percentages of sequences that are not classified +as "no results" are reported.</span></p> + +<p class=MsoNormalCxSpMiddle style='margin-bottom:0in;margin-bottom:.0001pt; +text-align:justify;line-height:normal'><u><span lang=EN-GB style='font-size: +12.0pt;font-family:"Times New Roman","serif"'>After functionality filter:</span></u><span +lang=EN-GB style='font-size:12.0pt;font-family:"Times New Roman","serif"'> The +number and percentages of sequences that have passed the functionality filter. The +filtering performed is dependent on the settings of the functionality filter. +Details on the functionality filter <a name="OLE_LINK12"></a><a +name="OLE_LINK11"></a><a name="OLE_LINK10">can be found on the start page of +the SHM&CSR pipeline</a>.</span></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>After +removal sequences that are missing a gene region:</span></u><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'> +In this step all sequences that are missing a gene region (FR1, CDR1, FR2, +CDR2, FR3) that should be present are removed from analysis. The sequence +regions that should be present are dependent on the settings of the sequence +starts at filter. <a name="OLE_LINK9"></a><a name="OLE_LINK8">The number and +percentage of sequences that pass this filter step are reported.</a> </span></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>After +N filter:</span></u><span lang=EN-GB style='font-size:12.0pt;line-height:115%; +font-family:"Times New Roman","serif"'> In this step all sequences that contain +an ambiguous base (n) in the analysed region or the CDR3 are removed from the +analysis. The analysed region is determined by the setting of the sequence +starts at filter. The number and percentage of sequences that pass this filter +step are reported.</span></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>After +filter unique sequences</span></u><span lang=EN-GB style='font-size:12.0pt; +line-height:115%;font-family:"Times New Roman","serif"'>: The number and +percentage of sequences that pass the "filter unique sequences" filter. Details +on this filter </span><span lang=EN-GB style='font-size:12.0pt;line-height: +115%;font-family:"Times New Roman","serif"'>can be found on the start page of +the SHM&CSR pipeline</span></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>After +remove duplicate based on filter:</span></u><span lang=EN-GB style='font-size: +12.0pt;line-height:115%;font-family:"Times New Roman","serif"'> The number and +percentage of sequences that passed the remove duplicate filter. Details on the +"remove duplicate filter based on filter" can be found on the start page of the +SHM&CSR pipeline.</span></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><a name="OLE_LINK17"></a><a +name="OLE_LINK16"><u><span lang=EN-GB style='font-size:12.0pt;line-height:115%; +font-family:"Times New Roman","serif"'>Number of matches sequences:</span></u></a><span +lang=EN-GB style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'> +The number and percentage of sequences that passed all the filters described +above and have a (sub)class assigned.</span></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Number +of unmatched sequences</span></u><span lang=EN-GB style='font-size:12.0pt; +line-height:115%;font-family:"Times New Roman","serif"'>: The number and percentage +of sequences that passed all the filters described above and do not have +subclass assigned.</span></p> + +<p class=MsoNormal><span lang=EN-GB> </span></p> + +</div> + +</body> + +</html>
--- a/shm_frequency.htm Thu Feb 25 10:32:32 2021 +0000 +++ b/shm_frequency.htm Wed Sep 15 12:24:06 2021 +0000 @@ -1,87 +1,87 @@ -<html> - -<head> -<meta http-equiv=Content-Type content="text/html; charset=windows-1252"> -<meta name=Generator content="Microsoft Word 14 (filtered)"> -<style> -<!-- - /* Style Definitions */ - p.MsoNormal, li.MsoNormal, div.MsoNormal - {margin-top:0in; - margin-right:0in; - margin-bottom:10.0pt; - margin-left:0in; - line-height:115%; - font-size:11.0pt; - font-family:"Calibri","sans-serif";} -.MsoChpDefault - {font-family:"Calibri","sans-serif";} -.MsoPapDefault - {margin-bottom:10.0pt; - line-height:115%;} -@page WordSection1 - {size:8.5in 11.0in; - margin:1.0in 1.0in 1.0in 1.0in;} -div.WordSection1 - {page:WordSection1;} ---> -</style> - -</head> - -<body lang=EN-US> - -<div class=WordSection1> - -<p class=MsoNormalCxSpFirst style='text-align:justify'><b><u><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>SHM -frequency tab</span></u></b></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><b><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Graphs</span></b></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>These -graphs give insight into the level of SHM. The data represented in these graphs -can be downloaded in the download tab. <a name="OLE_LINK24"></a><a -name="OLE_LINK23"></a><a name="OLE_LINK90"></a><a name="OLE_LINK89">More -information on the values found in healthy individuals of different ages can be -found in IJspeert and van Schouwenburg et al, PMID: 27799928. </a></span></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Frequency -scatter plot</span></u></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>A -dot plot showing the percentage of SHM in each transcript divided into the -different (sub)classes. </span><span lang=NL style='font-size:12.0pt; -line-height:115%;font-family:"Times New Roman","serif"'>In the graph each dot -represents an individual transcript.</span></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Mutation -frequency by class</span></u></p> - -<p class=MsoNormalCxSpLast style='text-align:justify'><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>A -bar graph showing the percentage of transcripts that contain 0%, 0-2%, 2-5%, -5-10% 10-15%, 15-20% or more than 20% SHM for each subclass. </span></p> - -<p class=MsoNormal><span lang=NL style='font-size:12.0pt;line-height:115%; -font-family:"Times New Roman","serif"'>Hanna IJspeert, Pauline A. van -Schouwenburg, David van Zessen, Ingrid Pico-Knijnenburg, Gertjan J. Driessen, -Andrew P. Stubbs, and Mirjam van der Burg (2016). </span><span -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Evaluation -of the Antigen-Experienced B-Cell Receptor Repertoire in Healthy Children and -Adults. In <i>Frontiers in Immunolog, 7, pp. e410-410. </i>[<a -href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5066086/"><span -style='color:windowtext'>doi:10.3389/fimmu.2016.00410</span></a>][<a -href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5066086/"><span -style='color:windowtext'>Link</span></a>]</span></p> - -</div> - -</body> - -</html> +<html> + +<head> +<meta http-equiv=Content-Type content="text/html; charset=windows-1252"> +<meta name=Generator content="Microsoft Word 14 (filtered)"> +<style> +<!-- + /* Style Definitions */ + p.MsoNormal, li.MsoNormal, div.MsoNormal + {margin-top:0in; + margin-right:0in; + margin-bottom:10.0pt; + margin-left:0in; + line-height:115%; + font-size:11.0pt; + font-family:"Calibri","sans-serif";} +.MsoChpDefault + {font-family:"Calibri","sans-serif";} +.MsoPapDefault + {margin-bottom:10.0pt; + line-height:115%;} +@page WordSection1 + {size:8.5in 11.0in; + margin:1.0in 1.0in 1.0in 1.0in;} +div.WordSection1 + {page:WordSection1;} +--> +</style> + +</head> + +<body lang=EN-US> + +<div class=WordSection1> + +<p class=MsoNormalCxSpFirst style='text-align:justify'><b><u><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>SHM +frequency tab</span></u></b></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><b><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Graphs</span></b></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>These +graphs give insight into the level of SHM. The data represented in these graphs +can be downloaded in the download tab. <a name="OLE_LINK24"></a><a +name="OLE_LINK23"></a><a name="OLE_LINK90"></a><a name="OLE_LINK89">More +information on the values found in healthy individuals of different ages can be +found in IJspeert and van Schouwenburg et al, PMID: 27799928. </a></span></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Frequency +scatter plot</span></u></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>A +dot plot showing the percentage of SHM in each transcript divided into the +different (sub)classes. </span><span lang=NL style='font-size:12.0pt; +line-height:115%;font-family:"Times New Roman","serif"'>In the graph each dot +represents an individual transcript.</span></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Mutation +frequency by class</span></u></p> + +<p class=MsoNormalCxSpLast style='text-align:justify'><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>A +bar graph showing the percentage of transcripts that contain 0%, 0-2%, 2-5%, +5-10% 10-15%, 15-20% or more than 20% SHM for each subclass. </span></p> + +<p class=MsoNormal><span lang=NL style='font-size:12.0pt;line-height:115%; +font-family:"Times New Roman","serif"'>Hanna IJspeert, Pauline A. van +Schouwenburg, David van Zessen, Ingrid Pico-Knijnenburg, Gertjan J. Driessen, +Andrew P. Stubbs, and Mirjam van der Burg (2016). </span><span +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Evaluation +of the Antigen-Experienced B-Cell Receptor Repertoire in Healthy Children and +Adults. In <i>Frontiers in Immunolog, 7, pp. e410-410. </i>[<a +href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5066086/"><span +style='color:windowtext'>doi:10.3389/fimmu.2016.00410</span></a>][<a +href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5066086/"><span +style='color:windowtext'>Link</span></a>]</span></p> + +</div> + +</body> + +</html>
--- a/shm_overview.htm Thu Feb 25 10:32:32 2021 +0000 +++ b/shm_overview.htm Wed Sep 15 12:24:06 2021 +0000 @@ -1,332 +1,332 @@ -<html> - -<head> -<meta http-equiv=Content-Type content="text/html; charset=windows-1252"> -<meta name=Generator content="Microsoft Word 14 (filtered)"> -<style> -<!-- - /* Font Definitions */ - @font-face - {font-family:Calibri; - panose-1:2 15 5 2 2 2 4 3 2 4;} - /* Style Definitions */ - p.MsoNormal, li.MsoNormal, div.MsoNormal - {margin-top:0in; - margin-right:0in; - margin-bottom:10.0pt; - margin-left:0in; - line-height:115%; - font-size:11.0pt; - font-family:"Calibri","sans-serif";} -.MsoChpDefault - {font-family:"Calibri","sans-serif";} -.MsoPapDefault - {margin-bottom:10.0pt; - line-height:115%;} -@page WordSection1 - {size:8.5in 11.0in; - margin:1.0in 1.0in 1.0in 1.0in;} -div.WordSection1 - {page:WordSection1;} ---> -</style> - -</head> - -<body lang=EN-US> - -<div class=WordSection1> - -<p class=MsoNormalCxSpFirst style='text-align:justify'><b><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Info -table</span></b></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>This -table contains information on different characteristics of SHM. For all -characteristics information can be found for all sequences or only sequences of -a certain (sub)class. All results are based on the sequences that passed the filter -settings chosen on the start page of the SHM & CSR pipeline and only -include details on the analysed region as determined by the setting of the -sequence starts at filter. All data in this table can be downloaded via the -“downloads” tab.</span></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Mutation -frequency:</span></u></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><a name="OLE_LINK83"></a><a -name="OLE_LINK82"></a><a name="OLE_LINK81"><span lang=EN-GB style='font-size: -12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>These values -give information on the level of SHM. </span></a><a name="OLE_LINK22"></a><a -name="OLE_LINK21"></a><a name="OLE_LINK20"><span lang=EN-GB style='font-size: -12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>More information -on the values found in healthy individuals of different ages can be found in </span></a><a -name="OLE_LINK15"></a><a name="OLE_LINK14"></a><a name="OLE_LINK13"><span -lang=EN-GB style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>IJspeert -and van Schouwenburg et al, PMID: 27799928</span></a></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><i><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Number -of mutations:</span></i><span lang=EN-GB style='font-size:12.0pt;line-height: -115%;font-family:"Times New Roman","serif"'> Shows the number of total -mutations / the number of sequenced bases (the % of mutated bases).</span></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><i><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Median -number of mutations:</span></i><span lang=EN-GB style='font-size:12.0pt; -line-height:115%;font-family:"Times New Roman","serif"'> Shows the median % of -SHM of all sequences.</span></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Patterns -of SHM:</span></u></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><a name="OLE_LINK72"></a><a -name="OLE_LINK71"></a><a name="OLE_LINK70"><span lang=EN-GB style='font-size: -12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>These values -give insights into the targeting and patterns of SHM. These values can give -insight into the repair pathways used to repair the U:G mismatches introduced -by AID. </span></a><a name="OLE_LINK40"></a><a name="OLE_LINK39"></a><a -name="OLE_LINK38"></a><a name="OLE_LINK60"><span lang=EN-GB style='font-size: -12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>More information -on the values found in healthy individuals of different ages can be found in -IJspeert and van Schouwenburg et al, PMID: 27799928</span></a></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><i><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Transitions:</span></i><span -lang=EN-GB style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'> -Shows the number of transition mutations / the number of total mutations (the -percentage of mutations that are transitions). Transition mutations are C>T, -T>C, A>G, G>A. </span></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><i><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Transversions:</span></i><span -lang=EN-GB style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'> -Shows the number of transversion mutations / the number of total mutations (the -percentage of mutations that are transitions). Transversion mutations are -C>A, C>G, T>A, T>G, A>T, A>C, G>T, G>C.</span></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><i><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Transitions -at GC:</span></i><span lang=EN-GB style='font-size:12.0pt;line-height:115%; -font-family:"Times New Roman","serif"'> <a name="OLE_LINK2"></a><a -name="OLE_LINK1">Shows the number of transitions at GC locations (C>T, -G>A) / the total number of mutations at GC locations (the percentage of -mutations at GC locations that are transitions).</a></span></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><i><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Targeting -of GC:</span></i><span lang=EN-GB style='font-size:12.0pt;line-height:115%; -font-family:"Times New Roman","serif"'> <a name="OLE_LINK7"></a><a -name="OLE_LINK6"></a><a name="OLE_LINK3">Shows the number of mutations at GC -locations / the total number of mutations (the percentage of total mutations -that are at GC locations).</a> </span></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><i><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Transitions -at AT:</span></i><span lang=EN-GB style='font-size:12.0pt;line-height:115%; -font-family:"Times New Roman","serif"'> Shows the number of transitions at AT -locations (T>C, A>G) / the total number of mutations at AT locations (the -percentage of mutations at AT locations that are transitions).</span></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><i><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Targeting -of AT:</span></i><span lang=EN-GB style='font-size:12.0pt;line-height:115%; -font-family:"Times New Roman","serif"'> Shows the number of mutations at AT -locations / the total number of mutations (the percentage of total mutations -that are at AT locations).</span></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><i><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>RGYW:</span></i><span -lang=EN-GB style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'> -<a name="OLE_LINK28"></a><a name="OLE_LINK27"></a><a name="OLE_LINK26">Shows -the number of mutations that are in a RGYW motive / The number of total mutations -(the percentage of mutations that are in a RGYW motive). </a><a -name="OLE_LINK62"></a><a name="OLE_LINK61">RGYW motives are known to be -preferentially targeted by AID </a></span><span lang=EN-GB style='font-size: -12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>(R=Purine, -Y=pyrimidine, W = A or T).</span></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><i><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>WRCY:</span></i><span -lang=EN-GB style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'> -<a name="OLE_LINK34"></a><a name="OLE_LINK33">Shows the number of mutations -that are in a </a><a name="OLE_LINK32"></a><a name="OLE_LINK31"></a><a -name="OLE_LINK30"></a><a name="OLE_LINK29">WRCY</a> motive / The number of -total mutations (the percentage of mutations that are in a WRCY motive). WRCY -motives are known to be preferentially targeted by AID </span><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>(R=Purine, -Y=pyrimidine, W = A or T).</span></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><i><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>WA:</span></i><span -lang=EN-GB style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'> -<a name="OLE_LINK37"></a><a name="OLE_LINK36"></a><a name="OLE_LINK35">Shows -the number of mutations that are in a WA motive / The number of total mutations -(the percentage of mutations that are in a WA motive). It is described that -polymerase eta preferentially makes errors at WA motives </a></span><span -lang=EN-GB style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>(W -= A or T).</span></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><i><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>TW:</span></i><span -lang=EN-GB style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'> -Shows the number of mutations that are in a TW motive / The number of total mutations -(the percentage of mutations that are in a TW motive). It is described that -polymerase eta preferentially makes errors at TW motives </span><span -lang=EN-GB style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>(W -= A or T).</span></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Antigen -selection:</span></u></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>These -values give insight into antigen selection. It has been described that during -antigen selection, there is selection against replacement mutations in the FR -regions as these can cause instability of the B-cell receptor. In contrast -replacement mutations in the CDR regions are important for changing the -affinity of the B-cell receptor and therefore there is selection for this type -of mutations. Silent mutations do not alter the amino acid sequence and -therefore do not play a role in selection. More information on the values found -in healthy individuals of different ages can be found in IJspeert and van -Schouwenburg et al, PMID: 27799928</span></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><i><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>FR -R/S:</span></i><span lang=EN-GB style='font-size:12.0pt;line-height:115%; -font-family:"Times New Roman","serif"'> <a name="OLE_LINK43"></a><a -name="OLE_LINK42"></a><a name="OLE_LINK41">Shows the number of replacement -mutations in the FR regions / The number of silent mutations in the FR regions -(the number of replacement mutations in the FR regions divided by the number of -silent mutations in the FR regions)</a></span></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><i><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>CDR -R/S:</span></i><span lang=EN-GB style='font-size:12.0pt;line-height:115%; -font-family:"Times New Roman","serif"'> Shows the number of replacement -mutations in the CDR regions / The number of silent mutations in the CDR -regions (the number of replacement mutations in the CDR regions divided by the -number of silent mutations in the CDR regions)</span></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Number -of sequences nucleotides:</span></u></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>These -values give information on the number of sequenced nucleotides.</span></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><i><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Nt -in FR:</span></i><span lang=EN-GB style='font-size:12.0pt;line-height:115%; -font-family:"Times New Roman","serif"'> <a name="OLE_LINK46"></a><a -name="OLE_LINK45"></a><a name="OLE_LINK44">Shows the number of sequences bases -that are located in the FR regions / The total number of sequenced bases (the -percentage of sequenced bases that are present in the FR regions).</a></span></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><i><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Nt -in CDR:</span></i><span lang=EN-GB style='font-size:12.0pt;line-height:115%; -font-family:"Times New Roman","serif"'> Shows the number of sequenced bases -that are located in the CDR regions / <a name="OLE_LINK48"></a><a -name="OLE_LINK47">The total number of sequenced bases (the percentage of -sequenced bases that are present in the CDR regions).</a></span></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><i><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>A: -</span></i><a name="OLE_LINK51"></a><a name="OLE_LINK50"></a><a -name="OLE_LINK49"><span lang=EN-GB style='font-size:12.0pt;line-height:115%; -font-family:"Times New Roman","serif"'>Shows the total number of sequenced -adenines / The total number of sequenced bases (the percentage of sequenced -bases that were adenines).</span></a></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><i><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>C: -</span></i><a name="OLE_LINK53"></a><a name="OLE_LINK52"><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Shows -the total number of sequenced cytosines / The total number of sequenced bases -(the percentage of sequenced bases that were cytosines).</span></a></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><i><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>T: -</span></i><a name="OLE_LINK57"></a><a name="OLE_LINK56"><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Shows -the total number of sequenced </span></a><a name="OLE_LINK55"></a><a -name="OLE_LINK54"><span lang=EN-GB style='font-size:12.0pt;line-height:115%; -font-family:"Times New Roman","serif"'>thymines</span></a><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'> -/ The total number of sequenced bases (the percentage of sequenced bases that -were thymines).</span></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><i><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>G: -</span></i><span lang=EN-GB style='font-size:12.0pt;line-height:115%; -font-family:"Times New Roman","serif"'>Shows the total number of sequenced <a -name="OLE_LINK59"></a><a name="OLE_LINK58">guanine</a>s / The total number of -sequenced bases (the percentage of sequenced bases that were guanines).</span></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><a name="OLE_LINK69"><b><span -lang=EN-GB style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Graphs</span></b></a></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><a name="OLE_LINK75"></a><a -name="OLE_LINK74"></a><a name="OLE_LINK73"><span lang=EN-GB style='font-size: -12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>These graphs visualize -information on the patterns and targeting of SHM and thereby give information -into the repair pathways used to repair the U:G mismatches introduced by AID. The -data represented in these graphs can be downloaded in the download tab. More -information on the values found in healthy individuals of different ages can be -found in IJspeert and van Schouwenburg et al, PMID: 27799928</span></a><span -lang=EN-GB style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>. -<a name="OLE_LINK85"></a><a name="OLE_LINK84"></a></span></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Percentage -of mutations in AID and pol eta motives</span></u></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Visualizes -<a name="OLE_LINK80"></a><a name="OLE_LINK79"></a><a name="OLE_LINK78">for each -(sub)class </a>the percentage of mutations that are present in AID (RGYW or -WRCY) or polymerase eta motives (WA or TW) in the different subclasses </span><span -lang=EN-GB style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>(R=Purine, -Y=pyrimidine, W = A or T).</span></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><u><span lang=NL -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Relative -mutation patterns</span></u></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Visualizes -for each (sub)class the distribution of mutations between mutations at AT -locations and transitions or transversions at GC locations. </span></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><u><span lang=NL -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Absolute -mutation patterns</span></u></p> - -<p class=MsoNormalCxSpLast style='text-align:justify'><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Visualized -for each (sub)class the percentage of sequenced AT and GC bases that are -mutated. The mutations at GC bases are divided into transition and transversion -mutations<a name="OLE_LINK77"></a><a name="OLE_LINK76">. </a></span></p> - -<p class=MsoNormal><span lang=NL style='font-size:12.0pt;line-height:115%; -font-family:"Times New Roman","serif"'>Hanna IJspeert, Pauline A. van -Schouwenburg, David van Zessen, Ingrid Pico-Knijnenburg, Gertjan J. Driessen, -Andrew P. Stubbs, and Mirjam van der Burg (2016). </span><span -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Evaluation -of the Antigen-Experienced B-Cell Receptor Repertoire in Healthy Children and -Adults. In <i>Frontiers in Immunolog, 7, pp. e410-410. </i>[<a -href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5066086/"><span -style='color:windowtext'>doi:10.3389/fimmu.2016.00410</span></a>][<a -href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5066086/"><span -style='color:windowtext'>Link</span></a>]</span></p> - -</div> - -</body> - -</html> +<html> + +<head> +<meta http-equiv=Content-Type content="text/html; charset=windows-1252"> +<meta name=Generator content="Microsoft Word 14 (filtered)"> +<style> +<!-- + /* Font Definitions */ + @font-face + {font-family:Calibri; + panose-1:2 15 5 2 2 2 4 3 2 4;} + /* Style Definitions */ + p.MsoNormal, li.MsoNormal, div.MsoNormal + {margin-top:0in; + margin-right:0in; + margin-bottom:10.0pt; + margin-left:0in; + line-height:115%; + font-size:11.0pt; + font-family:"Calibri","sans-serif";} +.MsoChpDefault + {font-family:"Calibri","sans-serif";} +.MsoPapDefault + {margin-bottom:10.0pt; + line-height:115%;} +@page WordSection1 + {size:8.5in 11.0in; + margin:1.0in 1.0in 1.0in 1.0in;} +div.WordSection1 + {page:WordSection1;} +--> +</style> + +</head> + +<body lang=EN-US> + +<div class=WordSection1> + +<p class=MsoNormalCxSpFirst style='text-align:justify'><b><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Info +table</span></b></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>This +table contains information on different characteristics of SHM. For all +characteristics information can be found for all sequences or only sequences of +a certain (sub)class. All results are based on the sequences that passed the filter +settings chosen on the start page of the SHM & CSR pipeline and only +include details on the analysed region as determined by the setting of the +sequence starts at filter. All data in this table can be downloaded via the +“downloads” tab.</span></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Mutation +frequency:</span></u></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><a name="OLE_LINK83"></a><a +name="OLE_LINK82"></a><a name="OLE_LINK81"><span lang=EN-GB style='font-size: +12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>These values +give information on the level of SHM. </span></a><a name="OLE_LINK22"></a><a +name="OLE_LINK21"></a><a name="OLE_LINK20"><span lang=EN-GB style='font-size: +12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>More information +on the values found in healthy individuals of different ages can be found in </span></a><a +name="OLE_LINK15"></a><a name="OLE_LINK14"></a><a name="OLE_LINK13"><span +lang=EN-GB style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>IJspeert +and van Schouwenburg et al, PMID: 27799928</span></a></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><i><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Number +of mutations:</span></i><span lang=EN-GB style='font-size:12.0pt;line-height: +115%;font-family:"Times New Roman","serif"'> Shows the number of total +mutations / the number of sequenced bases (the % of mutated bases).</span></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><i><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Median +number of mutations:</span></i><span lang=EN-GB style='font-size:12.0pt; +line-height:115%;font-family:"Times New Roman","serif"'> Shows the median % of +SHM of all sequences.</span></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Patterns +of SHM:</span></u></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><a name="OLE_LINK72"></a><a +name="OLE_LINK71"></a><a name="OLE_LINK70"><span lang=EN-GB style='font-size: +12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>These values +give insights into the targeting and patterns of SHM. These values can give +insight into the repair pathways used to repair the U:G mismatches introduced +by AID. </span></a><a name="OLE_LINK40"></a><a name="OLE_LINK39"></a><a +name="OLE_LINK38"></a><a name="OLE_LINK60"><span lang=EN-GB style='font-size: +12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>More information +on the values found in healthy individuals of different ages can be found in +IJspeert and van Schouwenburg et al, PMID: 27799928</span></a></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><i><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Transitions:</span></i><span +lang=EN-GB style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'> +Shows the number of transition mutations / the number of total mutations (the +percentage of mutations that are transitions). Transition mutations are C>T, +T>C, A>G, G>A. </span></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><i><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Transversions:</span></i><span +lang=EN-GB style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'> +Shows the number of transversion mutations / the number of total mutations (the +percentage of mutations that are transitions). Transversion mutations are +C>A, C>G, T>A, T>G, A>T, A>C, G>T, G>C.</span></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><i><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Transitions +at GC:</span></i><span lang=EN-GB style='font-size:12.0pt;line-height:115%; +font-family:"Times New Roman","serif"'> <a name="OLE_LINK2"></a><a +name="OLE_LINK1">Shows the number of transitions at GC locations (C>T, +G>A) / the total number of mutations at GC locations (the percentage of +mutations at GC locations that are transitions).</a></span></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><i><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Targeting +of GC:</span></i><span lang=EN-GB style='font-size:12.0pt;line-height:115%; +font-family:"Times New Roman","serif"'> <a name="OLE_LINK7"></a><a +name="OLE_LINK6"></a><a name="OLE_LINK3">Shows the number of mutations at GC +locations / the total number of mutations (the percentage of total mutations +that are at GC locations).</a> </span></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><i><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Transitions +at AT:</span></i><span lang=EN-GB style='font-size:12.0pt;line-height:115%; +font-family:"Times New Roman","serif"'> Shows the number of transitions at AT +locations (T>C, A>G) / the total number of mutations at AT locations (the +percentage of mutations at AT locations that are transitions).</span></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><i><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Targeting +of AT:</span></i><span lang=EN-GB style='font-size:12.0pt;line-height:115%; +font-family:"Times New Roman","serif"'> Shows the number of mutations at AT +locations / the total number of mutations (the percentage of total mutations +that are at AT locations).</span></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><i><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>RGYW:</span></i><span +lang=EN-GB style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'> +<a name="OLE_LINK28"></a><a name="OLE_LINK27"></a><a name="OLE_LINK26">Shows +the number of mutations that are in a RGYW motive / The number of total mutations +(the percentage of mutations that are in a RGYW motive). </a><a +name="OLE_LINK62"></a><a name="OLE_LINK61">RGYW motives are known to be +preferentially targeted by AID </a></span><span lang=EN-GB style='font-size: +12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>(R=Purine, +Y=pyrimidine, W = A or T).</span></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><i><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>WRCY:</span></i><span +lang=EN-GB style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'> +<a name="OLE_LINK34"></a><a name="OLE_LINK33">Shows the number of mutations +that are in a </a><a name="OLE_LINK32"></a><a name="OLE_LINK31"></a><a +name="OLE_LINK30"></a><a name="OLE_LINK29">WRCY</a> motive / The number of +total mutations (the percentage of mutations that are in a WRCY motive). WRCY +motives are known to be preferentially targeted by AID </span><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>(R=Purine, +Y=pyrimidine, W = A or T).</span></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><i><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>WA:</span></i><span +lang=EN-GB style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'> +<a name="OLE_LINK37"></a><a name="OLE_LINK36"></a><a name="OLE_LINK35">Shows +the number of mutations that are in a WA motive / The number of total mutations +(the percentage of mutations that are in a WA motive). It is described that +polymerase eta preferentially makes errors at WA motives </a></span><span +lang=EN-GB style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>(W += A or T).</span></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><i><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>TW:</span></i><span +lang=EN-GB style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'> +Shows the number of mutations that are in a TW motive / The number of total mutations +(the percentage of mutations that are in a TW motive). It is described that +polymerase eta preferentially makes errors at TW motives </span><span +lang=EN-GB style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>(W += A or T).</span></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Antigen +selection:</span></u></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>These +values give insight into antigen selection. It has been described that during +antigen selection, there is selection against replacement mutations in the FR +regions as these can cause instability of the B-cell receptor. In contrast +replacement mutations in the CDR regions are important for changing the +affinity of the B-cell receptor and therefore there is selection for this type +of mutations. Silent mutations do not alter the amino acid sequence and +therefore do not play a role in selection. More information on the values found +in healthy individuals of different ages can be found in IJspeert and van +Schouwenburg et al, PMID: 27799928</span></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><i><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>FR +R/S:</span></i><span lang=EN-GB style='font-size:12.0pt;line-height:115%; +font-family:"Times New Roman","serif"'> <a name="OLE_LINK43"></a><a +name="OLE_LINK42"></a><a name="OLE_LINK41">Shows the number of replacement +mutations in the FR regions / The number of silent mutations in the FR regions +(the number of replacement mutations in the FR regions divided by the number of +silent mutations in the FR regions)</a></span></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><i><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>CDR +R/S:</span></i><span lang=EN-GB style='font-size:12.0pt;line-height:115%; +font-family:"Times New Roman","serif"'> Shows the number of replacement +mutations in the CDR regions / The number of silent mutations in the CDR +regions (the number of replacement mutations in the CDR regions divided by the +number of silent mutations in the CDR regions)</span></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Number +of sequences nucleotides:</span></u></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>These +values give information on the number of sequenced nucleotides.</span></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><i><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Nt +in FR:</span></i><span lang=EN-GB style='font-size:12.0pt;line-height:115%; +font-family:"Times New Roman","serif"'> <a name="OLE_LINK46"></a><a +name="OLE_LINK45"></a><a name="OLE_LINK44">Shows the number of sequences bases +that are located in the FR regions / The total number of sequenced bases (the +percentage of sequenced bases that are present in the FR regions).</a></span></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><i><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Nt +in CDR:</span></i><span lang=EN-GB style='font-size:12.0pt;line-height:115%; +font-family:"Times New Roman","serif"'> Shows the number of sequenced bases +that are located in the CDR regions / <a name="OLE_LINK48"></a><a +name="OLE_LINK47">The total number of sequenced bases (the percentage of +sequenced bases that are present in the CDR regions).</a></span></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><i><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>A: +</span></i><a name="OLE_LINK51"></a><a name="OLE_LINK50"></a><a +name="OLE_LINK49"><span lang=EN-GB style='font-size:12.0pt;line-height:115%; +font-family:"Times New Roman","serif"'>Shows the total number of sequenced +adenines / The total number of sequenced bases (the percentage of sequenced +bases that were adenines).</span></a></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><i><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>C: +</span></i><a name="OLE_LINK53"></a><a name="OLE_LINK52"><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Shows +the total number of sequenced cytosines / The total number of sequenced bases +(the percentage of sequenced bases that were cytosines).</span></a></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><i><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>T: +</span></i><a name="OLE_LINK57"></a><a name="OLE_LINK56"><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Shows +the total number of sequenced </span></a><a name="OLE_LINK55"></a><a +name="OLE_LINK54"><span lang=EN-GB style='font-size:12.0pt;line-height:115%; +font-family:"Times New Roman","serif"'>thymines</span></a><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'> +/ The total number of sequenced bases (the percentage of sequenced bases that +were thymines).</span></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><i><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>G: +</span></i><span lang=EN-GB style='font-size:12.0pt;line-height:115%; +font-family:"Times New Roman","serif"'>Shows the total number of sequenced <a +name="OLE_LINK59"></a><a name="OLE_LINK58">guanine</a>s / The total number of +sequenced bases (the percentage of sequenced bases that were guanines).</span></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><a name="OLE_LINK69"><b><span +lang=EN-GB style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Graphs</span></b></a></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><a name="OLE_LINK75"></a><a +name="OLE_LINK74"></a><a name="OLE_LINK73"><span lang=EN-GB style='font-size: +12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>These graphs visualize +information on the patterns and targeting of SHM and thereby give information +into the repair pathways used to repair the U:G mismatches introduced by AID. The +data represented in these graphs can be downloaded in the download tab. More +information on the values found in healthy individuals of different ages can be +found in IJspeert and van Schouwenburg et al, PMID: 27799928</span></a><span +lang=EN-GB style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>. +<a name="OLE_LINK85"></a><a name="OLE_LINK84"></a></span></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Percentage +of mutations in AID and pol eta motives</span></u></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Visualizes +<a name="OLE_LINK80"></a><a name="OLE_LINK79"></a><a name="OLE_LINK78">for each +(sub)class </a>the percentage of mutations that are present in AID (RGYW or +WRCY) or polymerase eta motives (WA or TW) in the different subclasses </span><span +lang=EN-GB style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>(R=Purine, +Y=pyrimidine, W = A or T).</span></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><u><span lang=NL +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Relative +mutation patterns</span></u></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Visualizes +for each (sub)class the distribution of mutations between mutations at AT +locations and transitions or transversions at GC locations. </span></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><u><span lang=NL +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Absolute +mutation patterns</span></u></p> + +<p class=MsoNormalCxSpLast style='text-align:justify'><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Visualized +for each (sub)class the percentage of sequenced AT and GC bases that are +mutated. The mutations at GC bases are divided into transition and transversion +mutations<a name="OLE_LINK77"></a><a name="OLE_LINK76">. </a></span></p> + +<p class=MsoNormal><span lang=NL style='font-size:12.0pt;line-height:115%; +font-family:"Times New Roman","serif"'>Hanna IJspeert, Pauline A. van +Schouwenburg, David van Zessen, Ingrid Pico-Knijnenburg, Gertjan J. Driessen, +Andrew P. Stubbs, and Mirjam van der Burg (2016). </span><span +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Evaluation +of the Antigen-Experienced B-Cell Receptor Repertoire in Healthy Children and +Adults. In <i>Frontiers in Immunolog, 7, pp. e410-410. </i>[<a +href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5066086/"><span +style='color:windowtext'>doi:10.3389/fimmu.2016.00410</span></a>][<a +href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5066086/"><span +style='color:windowtext'>Link</span></a>]</span></p> + +</div> + +</body> + +</html>
--- a/shm_selection.htm Thu Feb 25 10:32:32 2021 +0000 +++ b/shm_selection.htm Wed Sep 15 12:24:06 2021 +0000 @@ -1,128 +1,128 @@ -<html> - -<head> -<meta http-equiv=Content-Type content="text/html; charset=windows-1252"> -<meta name=Generator content="Microsoft Word 14 (filtered)"> -<style> -<!-- - /* Font Definitions */ - @font-face - {font-family:Calibri; - panose-1:2 15 5 2 2 2 4 3 2 4;} -@font-face - {font-family:UICTFontTextStyleBody;} - /* Style Definitions */ - p.MsoNormal, li.MsoNormal, div.MsoNormal - {margin-top:0in; - margin-right:0in; - margin-bottom:10.0pt; - margin-left:0in; - line-height:115%; - font-size:11.0pt; - font-family:"Calibri","sans-serif";} -a:link, span.MsoHyperlink - {color:blue; - text-decoration:underline;} -a:visited, span.MsoHyperlinkFollowed - {color:purple; - text-decoration:underline;} -span.apple-converted-space - {mso-style-name:apple-converted-space;} -.MsoChpDefault - {font-family:"Calibri","sans-serif";} -.MsoPapDefault - {margin-bottom:10.0pt; - line-height:115%;} -@page WordSection1 - {size:8.5in 11.0in; - margin:1.0in 1.0in 1.0in 1.0in;} -div.WordSection1 - {page:WordSection1;} ---> -</style> - -</head> - -<body lang=EN-US link=blue vlink=purple> - -<div class=WordSection1> - -<p class=MsoNormalCxSpFirst style='text-align:justify'><b><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>References</span></b></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"; -color:black'>Yaari, G. and Uduman, M. and Kleinstein, S. H. (2012). Quantifying -selection in high-throughput Immunoglobulin sequencing data sets. In<span -class=apple-converted-space> </span><em>Nucleic Acids Research, 40 (17), -pp. e134–e134.</em><span class=apple-converted-space><i> </i></span>[</span><span -lang=EN-GB><a href="http://dx.doi.org/10.1093/nar/gks457" target="_blank"><span -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"; -color:#303030'>doi:10.1093/nar/gks457</span></a></span><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"; -color:black'>][</span><span lang=EN-GB><a -href="http://dx.doi.org/10.1093/nar/gks457" target="_blank"><span -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"; -color:#303030'>Link</span></a></span><span lang=EN-GB style='font-size:12.0pt; -line-height:115%;font-family:"Times New Roman","serif";color:black'>]</span></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><b><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Graphs</span></b></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>AA -mutation frequency</span></u></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>For -each class, the frequency of replacement mutations at each amino acid position -is shown, which is calculated by dividing the number of replacement mutations -at a particular amino acid position/the number sequences that have an amino -acid at that particular position. Since the length of the CDR1 and CDR2 region -is not the same for every VH gene, some amino acids positions are absent. -Therefore we calculate the frequency using the number of amino acids present at -that that particular location. </span></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><u><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Antigen -selection (BASELINe)</span></u></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Shows -the results of the analysis of antigen selection as performed using BASELINe. -Details on the analysis performed by BASELINe can be found in Yaari et al, -PMID: 22641856. The settings used for the analysis are</span><span lang=EN-GB -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>: -focused, SHM targeting model: human Tri-nucleotide, custom bounderies. The -custom boundries are dependent on the ‘sequence starts at filter’. </span></p> - -<p class=MsoNormalCxSpMiddle style='line-height:normal'><span lang=NL -style='font-family:UICTFontTextStyleBody;color:black'>Leader: -1:26:38:55:65:104:-</span></p> - -<p class=MsoNormalCxSpMiddle style='line-height:normal'><span lang=NL -style='font-family:UICTFontTextStyleBody;color:black'>FR1: 27:27:38:55:65:104:-</span></p> - -<p class=MsoNormalCxSpMiddle style='line-height:normal'><span lang=NL -style='font-family:UICTFontTextStyleBody;color:black'>CDR1: 27:27:38:55:65:104:-</span></p> - -<p class=MsoNormalCxSpLast style='line-height:normal'><span lang=NL -style='font-family:UICTFontTextStyleBody;color:black'>FR2: 27:27:38:55:65:104:-</span></p> - -<p class=MsoNormal><span lang=NL style='font-size:12.0pt;line-height:115%; -font-family:"Times New Roman","serif"'>Hanna IJspeert, Pauline A. van -Schouwenburg, David van Zessen, Ingrid Pico-Knijnenburg, Gertjan J. Driessen, -Andrew P. Stubbs, and Mirjam van der Burg (2016). </span><span -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Evaluation -of the Antigen-Experienced B-Cell Receptor Repertoire in Healthy Children and -Adults. In <i>Frontiers in Immunolog, 7, pp. e410-410. </i>[<a -href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5066086/"><span -style='color:windowtext'>doi:10.3389/fimmu.2016.00410</span></a>][<a -href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5066086/"><span -style='color:windowtext'>Link</span></a>]</span></p> - -</div> - -</body> - -</html> +<html> + +<head> +<meta http-equiv=Content-Type content="text/html; charset=windows-1252"> +<meta name=Generator content="Microsoft Word 14 (filtered)"> +<style> +<!-- + /* Font Definitions */ + @font-face + {font-family:Calibri; + panose-1:2 15 5 2 2 2 4 3 2 4;} +@font-face + {font-family:UICTFontTextStyleBody;} + /* Style Definitions */ + p.MsoNormal, li.MsoNormal, div.MsoNormal + {margin-top:0in; + margin-right:0in; + margin-bottom:10.0pt; + margin-left:0in; + line-height:115%; + font-size:11.0pt; + font-family:"Calibri","sans-serif";} +a:link, span.MsoHyperlink + {color:blue; + text-decoration:underline;} +a:visited, span.MsoHyperlinkFollowed + {color:purple; + text-decoration:underline;} +span.apple-converted-space + {mso-style-name:apple-converted-space;} +.MsoChpDefault + {font-family:"Calibri","sans-serif";} +.MsoPapDefault + {margin-bottom:10.0pt; + line-height:115%;} +@page WordSection1 + {size:8.5in 11.0in; + margin:1.0in 1.0in 1.0in 1.0in;} +div.WordSection1 + {page:WordSection1;} +--> +</style> + +</head> + +<body lang=EN-US link=blue vlink=purple> + +<div class=WordSection1> + +<p class=MsoNormalCxSpFirst style='text-align:justify'><b><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>References</span></b></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"; +color:black'>Yaari, G. and Uduman, M. and Kleinstein, S. H. (2012). Quantifying +selection in high-throughput Immunoglobulin sequencing data sets. In<span +class=apple-converted-space> </span><em>Nucleic Acids Research, 40 (17), +pp. e134–e134.</em><span class=apple-converted-space><i> </i></span>[</span><span +lang=EN-GB><a href="http://dx.doi.org/10.1093/nar/gks457" target="_blank"><span +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"; +color:#303030'>doi:10.1093/nar/gks457</span></a></span><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"; +color:black'>][</span><span lang=EN-GB><a +href="http://dx.doi.org/10.1093/nar/gks457" target="_blank"><span +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"; +color:#303030'>Link</span></a></span><span lang=EN-GB style='font-size:12.0pt; +line-height:115%;font-family:"Times New Roman","serif";color:black'>]</span></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><b><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Graphs</span></b></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>AA +mutation frequency</span></u></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>For +each class, the frequency of replacement mutations at each amino acid position +is shown, which is calculated by dividing the number of replacement mutations +at a particular amino acid position/the number sequences that have an amino +acid at that particular position. Since the length of the CDR1 and CDR2 region +is not the same for every VH gene, some amino acids positions are absent. +Therefore we calculate the frequency using the number of amino acids present at +that that particular location. </span></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><u><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Antigen +selection (BASELINe)</span></u></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Shows +the results of the analysis of antigen selection as performed using BASELINe. +Details on the analysis performed by BASELINe can be found in Yaari et al, +PMID: 22641856. The settings used for the analysis are</span><span lang=EN-GB +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>: +focused, SHM targeting model: human Tri-nucleotide, custom bounderies. The +custom boundries are dependent on the ‘sequence starts at filter’. </span></p> + +<p class=MsoNormalCxSpMiddle style='line-height:normal'><span lang=NL +style='font-family:UICTFontTextStyleBody;color:black'>Leader: +1:26:38:55:65:104:-</span></p> + +<p class=MsoNormalCxSpMiddle style='line-height:normal'><span lang=NL +style='font-family:UICTFontTextStyleBody;color:black'>FR1: 27:27:38:55:65:104:-</span></p> + +<p class=MsoNormalCxSpMiddle style='line-height:normal'><span lang=NL +style='font-family:UICTFontTextStyleBody;color:black'>CDR1: 27:27:38:55:65:104:-</span></p> + +<p class=MsoNormalCxSpLast style='line-height:normal'><span lang=NL +style='font-family:UICTFontTextStyleBody;color:black'>FR2: 27:27:38:55:65:104:-</span></p> + +<p class=MsoNormal><span lang=NL style='font-size:12.0pt;line-height:115%; +font-family:"Times New Roman","serif"'>Hanna IJspeert, Pauline A. van +Schouwenburg, David van Zessen, Ingrid Pico-Knijnenburg, Gertjan J. Driessen, +Andrew P. Stubbs, and Mirjam van der Burg (2016). </span><span +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Evaluation +of the Antigen-Experienced B-Cell Receptor Repertoire in Healthy Children and +Adults. In <i>Frontiers in Immunolog, 7, pp. e410-410. </i>[<a +href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5066086/"><span +style='color:windowtext'>doi:10.3389/fimmu.2016.00410</span></a>][<a +href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5066086/"><span +style='color:windowtext'>Link</span></a>]</span></p> + +</div> + +</body> + +</html>
--- a/shm_transition.htm Thu Feb 25 10:32:32 2021 +0000 +++ b/shm_transition.htm Wed Sep 15 12:24:06 2021 +0000 @@ -1,120 +1,120 @@ -<html> - -<head> -<meta http-equiv=Content-Type content="text/html; charset=windows-1252"> -<meta name=Generator content="Microsoft Word 14 (filtered)"> -<style> -<!-- - /* Font Definitions */ - @font-face - {font-family:Calibri; - panose-1:2 15 5 2 2 2 4 3 2 4;} - /* Style Definitions */ - p.MsoNormal, li.MsoNormal, div.MsoNormal - {margin-top:0in; - margin-right:0in; - margin-bottom:10.0pt; - margin-left:0in; - line-height:115%; - font-size:11.0pt; - font-family:"Calibri","sans-serif";} -a:link, span.MsoHyperlink - {color:blue; - text-decoration:underline;} -a:visited, span.MsoHyperlinkFollowed - {color:purple; - text-decoration:underline;} -p.msochpdefault, li.msochpdefault, div.msochpdefault - {mso-style-name:msochpdefault; - margin-right:0in; - margin-left:0in; - font-size:12.0pt; - font-family:"Calibri","sans-serif";} -p.msopapdefault, li.msopapdefault, div.msopapdefault - {mso-style-name:msopapdefault; - margin-right:0in; - margin-bottom:10.0pt; - margin-left:0in; - line-height:115%; - font-size:12.0pt; - font-family:"Times New Roman","serif";} -span.apple-converted-space - {mso-style-name:apple-converted-space;} -.MsoChpDefault - {font-size:10.0pt; - font-family:"Calibri","sans-serif";} -.MsoPapDefault - {margin-bottom:10.0pt; - line-height:115%;} -@page WordSection1 - {size:8.5in 11.0in; - margin:1.0in 1.0in 1.0in 1.0in;} -div.WordSection1 - {page:WordSection1;} ---> -</style> - -</head> - -<body lang=EN-US link=blue vlink=purple> - -<div class=WordSection1> - -<p class=MsoNormalCxSpFirst style='text-align:justify'><span style='font-size: -12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>These graphs and -tables give insight into the targeting and patterns of SHM. This can give -insight into the DNA repair pathways used to solve the U:G mismatches -introduced by AID. More information on the values found in healthy individuals -of different ages can be found in IJspeert and van Schouwenburg et al, PMID: -27799928.</span></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><b><span -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Graphs -</span></b></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><a name="OLE_LINK93"></a><a -name="OLE_LINK92"></a><a name="OLE_LINK91"><u><span style='font-size:12.0pt; -line-height:115%;font-family:"Times New Roman","serif"'>Heatmap transition -information</span></u></a></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><a name="OLE_LINK98"></a><a -name="OLE_LINK97"><span style='font-size:12.0pt;line-height:115%;font-family: -"Times New Roman","serif"'>Heatmaps visualizing for each subclass the frequency -of all possible substitutions. On the x-axes the original base is shown, while -the y-axes shows the new base. The darker the shade of blue, the more frequent -this type of substitution is occurring. </span></a></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><u><span -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Bargraph -transition information</span></u></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><span style='font-size: -12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Bar graph -visualizing for each original base the distribution of substitutions into the other -bases. A graph is included for each (sub)class. </span></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><b><span -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Tables</span></b></p> - -<p class=MsoNormalCxSpMiddle style='text-align:justify'><span style='font-size: -12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Transition -tables are shown for each (sub)class. All the original bases are listed -horizontally, while the new bases are listed vertically. </span></p> - -<p class=MsoNormal><span lang=NL style='font-size:12.0pt;line-height:115%; -font-family:"Times New Roman","serif"'>Hanna IJspeert, Pauline A. van -Schouwenburg, David van Zessen, Ingrid Pico-Knijnenburg, Gertjan J. Driessen, -Andrew P. Stubbs, and Mirjam van der Burg (2016). </span><span -style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Evaluation -of the Antigen-Experienced B-Cell Receptor Repertoire in Healthy Children and -Adults. In <i>Frontiers in Immunolog, 7, pp. e410-410. </i>[<a -href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5066086/"><span -style='color:windowtext'>doi:10.3389/fimmu.2016.00410</span></a>][<a -href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5066086/"><span -style='color:windowtext'>Link</span></a>]</span></p> - -</div> - -</body> - -</html> +<html> + +<head> +<meta http-equiv=Content-Type content="text/html; charset=windows-1252"> +<meta name=Generator content="Microsoft Word 14 (filtered)"> +<style> +<!-- + /* Font Definitions */ + @font-face + {font-family:Calibri; + panose-1:2 15 5 2 2 2 4 3 2 4;} + /* Style Definitions */ + p.MsoNormal, li.MsoNormal, div.MsoNormal + {margin-top:0in; + margin-right:0in; + margin-bottom:10.0pt; + margin-left:0in; + line-height:115%; + font-size:11.0pt; + font-family:"Calibri","sans-serif";} +a:link, span.MsoHyperlink + {color:blue; + text-decoration:underline;} +a:visited, span.MsoHyperlinkFollowed + {color:purple; + text-decoration:underline;} +p.msochpdefault, li.msochpdefault, div.msochpdefault + {mso-style-name:msochpdefault; + margin-right:0in; + margin-left:0in; + font-size:12.0pt; + font-family:"Calibri","sans-serif";} +p.msopapdefault, li.msopapdefault, div.msopapdefault + {mso-style-name:msopapdefault; + margin-right:0in; + margin-bottom:10.0pt; + margin-left:0in; + line-height:115%; + font-size:12.0pt; + font-family:"Times New Roman","serif";} +span.apple-converted-space + {mso-style-name:apple-converted-space;} +.MsoChpDefault + {font-size:10.0pt; + font-family:"Calibri","sans-serif";} +.MsoPapDefault + {margin-bottom:10.0pt; + line-height:115%;} +@page WordSection1 + {size:8.5in 11.0in; + margin:1.0in 1.0in 1.0in 1.0in;} +div.WordSection1 + {page:WordSection1;} +--> +</style> + +</head> + +<body lang=EN-US link=blue vlink=purple> + +<div class=WordSection1> + +<p class=MsoNormalCxSpFirst style='text-align:justify'><span style='font-size: +12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>These graphs and +tables give insight into the targeting and patterns of SHM. This can give +insight into the DNA repair pathways used to solve the U:G mismatches +introduced by AID. More information on the values found in healthy individuals +of different ages can be found in IJspeert and van Schouwenburg et al, PMID: +27799928.</span></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><b><span +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Graphs +</span></b></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><a name="OLE_LINK93"></a><a +name="OLE_LINK92"></a><a name="OLE_LINK91"><u><span style='font-size:12.0pt; +line-height:115%;font-family:"Times New Roman","serif"'>Heatmap transition +information</span></u></a></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><a name="OLE_LINK98"></a><a +name="OLE_LINK97"><span style='font-size:12.0pt;line-height:115%;font-family: +"Times New Roman","serif"'>Heatmaps visualizing for each subclass the frequency +of all possible substitutions. On the x-axes the original base is shown, while +the y-axes shows the new base. The darker the shade of blue, the more frequent +this type of substitution is occurring. </span></a></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><u><span +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Bargraph +transition information</span></u></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><span style='font-size: +12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Bar graph +visualizing for each original base the distribution of substitutions into the other +bases. A graph is included for each (sub)class. </span></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><b><span +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Tables</span></b></p> + +<p class=MsoNormalCxSpMiddle style='text-align:justify'><span style='font-size: +12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Transition +tables are shown for each (sub)class. All the original bases are listed +horizontally, while the new bases are listed vertically. </span></p> + +<p class=MsoNormal><span lang=NL style='font-size:12.0pt;line-height:115%; +font-family:"Times New Roman","serif"'>Hanna IJspeert, Pauline A. van +Schouwenburg, David van Zessen, Ingrid Pico-Knijnenburg, Gertjan J. Driessen, +Andrew P. Stubbs, and Mirjam van der Burg (2016). </span><span +style='font-size:12.0pt;line-height:115%;font-family:"Times New Roman","serif"'>Evaluation +of the Antigen-Experienced B-Cell Receptor Repertoire in Healthy Children and +Adults. In <i>Frontiers in Immunolog, 7, pp. e410-410. </i>[<a +href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5066086/"><span +style='color:windowtext'>doi:10.3389/fimmu.2016.00410</span></a>][<a +href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5066086/"><span +style='color:windowtext'>Link</span></a>]</span></p> + +</div> + +</body> + +</html>
--- a/summary_to_fasta.py Thu Feb 25 10:32:32 2021 +0000 +++ b/summary_to_fasta.py Wed Sep 15 12:24:06 2021 +0000 @@ -37,6 +37,6 @@ o.write(">" + ID + "\n" + seq + "\n") passed += 1 - print "No results:", no_results - print "No sequences:", no_seqs - print "Written to fasta file:", passed + print("No results:", no_results) + print("No sequences:", no_seqs) + print("Written to fasta file:", passed)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/.pytest_cache/.gitignore Wed Sep 15 12:24:06 2021 +0000 @@ -0,0 +1,2 @@ +# Created by pytest automatically. +*
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/.pytest_cache/CACHEDIR.TAG Wed Sep 15 12:24:06 2021 +0000 @@ -0,0 +1,4 @@ +Signature: 8a477f597d28d172789f06886806bc55 +# This file is a cache directory tag created by pytest. +# For information about cache directory tags, see: +# http://www.bford.info/cachedir/spec.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/.pytest_cache/README.md Wed Sep 15 12:24:06 2021 +0000 @@ -0,0 +1,8 @@ +# pytest cache directory # + +This directory contains data from the pytest's cache plugin, +which provides the `--lf` and `--ff` options, as well as the `cache` fixture. + +**Do not** commit this to version control. + +See [the docs](https://docs.pytest.org/en/stable/cache.html) for more information.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/.pytest_cache/v/cache/nodeids Wed Sep 15 12:24:06 2021 +0000 @@ -0,0 +1,3 @@ +[ + "test_shm_csr.py::test_aa_histogram_sum" +] \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/.pytest_cache/v/cache/stepwise Wed Sep 15 12:24:06 2021 +0000 @@ -0,0 +1,1 @@ +[] \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/sequence_overview/ntoverview.txt Wed Sep 15 12:24:06 2021 +0000 @@ -0,0 +1,1577 @@ +Sequence.ID best_match Sequence of the analysed region A C G T +JY8QFUQ01A0005 IGG1 ggtggctccatcaacagtagaaattattat tggggctggatccgccagcccccagggaagggtttggagtggattggaaat atctattatagtgggaacacc tactacaatccgtccctcaagagtcgagtcaccgtatccgtagacaggtctaagaaccagttgtccctgaagctgacctctctgaccgccgcagacacggccgtatattactgt 55 55 55 51 +JY8QFUQ01A004N IGG1 ggtggctccgtcagtaggagtgcctactac tggggctggatccgccagcccccagggaaggggctggagtggattgggacc atctattatagtgggaccaca tactccaatccgtccctcaagactcgagtcaccatgtccttggacacgtccaagaaccacatctccctgaagctgaattctgtgaccgccgcagacacggctgtttattactgt 47 63 58 48 +JY8QFUQ01A006G IGG1 ggtgactccatcagtagtactcattactat tggggctggatccggcagcccccagggaggggactggagtgggttgggagt atccactacactgggagcacc tactacaactggtccctcaagcatcgagtctctatatcggtggacacatcgagtaaccagttctccctgaggttgaggtctgtgaccgccgctgacacggctgtatactactgt 46 57 62 51 +JY8QFUQ01A018V IGA1 ggtgtctccatgagcaatgagtcctattac tggacgtggatccggcagcccgtcgggaagggaccggagtggattgggcgc atctacaccagtgggagcacc aattataatccttccctcaagagtcgagtcaccatgtccttagacacgtccaagaggcagttctccctgaagttgacctctatgaccgccgcagacacggccacatatttctgt 50 61 57 48 +JY8QFUQ01A019O IGG1 ggatacatctttaatatccactgg atcgcctgggtccgccagatgcccgggaaaggcctggagtggatggggatc atctatcctggtaactctgagacc aaatatagcccggccttccaaggccaggtcaccatctcagccgacaggaccaccaataccgcctacctgcagtggcgcggcctgaaggcctcggacaccgccatgtattactgt 49 66 56 42 +JY8QFUQ01A01KX IGG1 ggattcacatttagaagctattcc atgaattgggtccgccaggctccagggaaggggctggagtgggtctcagct gtcagtggtggtgggggcgccaca aactacgcggagtccgtgaagggccggttcaccatctccagagacaattccagggggacggtgttcttacaaatgaacagcctgagagtcgaagacacagccttatattattgt 51 48 67 47 +JY8QFUQ01A0207 IGG2 ggattcacctttaccaactatggc atgagctgggtccgccaggctccagggaaggggctggagtgggtctcaggt attagtggtagtggtgaaaccaca taccacgcagaatccgtgcagggccggttcaccatctccagagacaactccaagaacaatctgtatctgcaaatgaacagtctgagagccgaggacacggccatttattactgt 56 53 59 45 +JY8QFUQ01A02HL IGA1 ggattcactttcagtaactactgg atgtactgggtccgccaagctccagggaaggggctggagtgggtctcacgt attaatggtgatggaagtagtaca agttacgtggactccgtgaagggccgattcaccatctccagagacaacgccaagaacaccctgtatctgcaaatgaacagtctgagagtcgacgacacggctgtttattactgt 56 48 59 50 +JY8QFUQ01A02KS IGA2 ggattcacctttagtacctattgg atgacttgggtccgccaggctccagggaaggggctggagtgggtggccagc ataaaaaatgatggaagtgagaaa tcctatgtggactctgtaaagggccgattcaccatctccagagacaacgccgagaactcactgtatttgcaagtgaacaacctgagagccgaggacacggctgtatattactgt 59 46 61 47 +JY8QFUQ01A02XZ IGG1 ggattcacctacagcagctatgcc atgagctgggtccgccaggctccagggaaggggctggagtgggtctcagca attagtggtggtggtgctagtaca taccacgcagactccgtgaagggccgattcaccatctccagagacaattccaagaacacgctgtatttgcaaatgaacagcctgagagccgacgacacggccgtatattactgt 54 55 61 43 +JY8QFUQ01A03E3 IGA2 ggattcaccttcagtaggtactgg atgcactgggtccgccaagttccagggaaggggccggtgtgggtctcacgt attaatgaagacggcagccacaca gatcacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaacaagttgtatttgcaaatgaacagtctgagaggcgaggacacggctgtctattattgt 56 51 62 44 +JY8QFUQ01A03N6 IGG1 ggtgactccatgagtagcgacacgtgg tggagctgggtccgccagacgccagagaagggactggaatggattggggag atcaatcaaagagggacgacc tcctacaacccgtccctcaggagtcgagtcgtcctgtcagtgggcgagtccaaaaatcaattctccctgaggctgacctctgtgaccgccgcggactcggccatctattattgt 49 57 65 42 +JY8QFUQ01A08XO IGG1 ggtggctccgtcagcagtggtagttactac tggagctggatccggcagcccccagggaagggactggagtggattgggtat atctattacagtgggagcacc aactacaacccctccctcaagagtcgagtcaccatatcagtagacacgtccaagaaccagttctccctgaagctgagctctgtgaccgctgcggacacggccgtgtattactgt 50 59 61 46 +JY8QFUQ01A0939 IGA2 ggggacagtgtctctaccacccgtgctgct tggaactggatcaggcagtccccatcgggaggccttgagtggctgggaagg acatactacaggtccaagtggcttaat gattatgcagtgtctgtgaaaagtcgaattaccatcaatccagacacatccaagaaccagttttccctgcagttgaaatctgtcattcccgaggacacggctgtttattactgt 55 54 57 56 +JY8QFUQ01A09OY IGA2 ggattcatcttcagtgactactac atgacctggatccgccaggctccagggaaggggctggagtgggtttcatac attcgtagtaatgggagtcccata tacaacgcagactctgggaggggccgattcaccatctccagggacaacgccaagaactcactgtatctgcaaatgaatagtctgagagtcgaggacacggccgtgtattactgt 55 51 59 48 +JY8QFUQ01A0C2Y IGG1 ggatttacttttaacaactattgg atgacctgggttcgccaggctccagggaaggggctggaatgggtggccaac ataaaacaacatggaggtgaaacg tactatgtggactctgtgaagggccgattcaccatctccagagacaacgccgagacctcagtgtatctgcaaatgaacagcctgagagccgaggacacggctgtctattactgt 59 48 60 46 +JY8QFUQ01A0C33 IGG1 ggattcaccttcgggaactatagc atgaactgggtccgccacgctccagggaaggggctggagtgggtctcctcc attagtaatagaggtagtttcaaa tactacgcagactcagtgaagggccgattcaccatctccagagacaacgccaagaactcactgtatctgcaaatgaacagcctgagagccgaggacacgggtgtatatttctgt 58 52 57 46 +JY8QFUQ01A0C4X IGG1 ggattcatcttcttgaaatatggc atgcactgggtccgccaggctccaggcaaggggctggagtgggtggcaggt atatggtttgatggaagtaataca tactatgcggactccgtgaagggccgattcaccatctccagagacaattccaagaacacggtgtatttgcaactgaacagcctgagagccgaggacacggctgtgtattactgt 54 46 63 50 +JY8QFUQ01A0D2K IGG4 ggtttcaccttcaggagctctggc atgaactgggtccgccaggctccagggaaggggctggagtgggtttcatac attagcagtagtactactaccaaa tactgcgcagactctgtgaagggccgattcaccatctccagagacaatgccaagagctcactgtatctgcaaatgaacagcctgagagccgaggacacggctgtgtattactgt 54 53 59 47 +JY8QFUQ01A0D5E IGA1 ggattccagttagcaactatgcc atgagctgggtccgtcaggctcctgggaaggggctggagtgggtctcaact attagtaaagacggtgtttacacc tactaccccgactccgcgaagggccgggtcaccatctccagagacaattccaagaatacaatttatttgcaaatgaacagcctgacagccgaggacacggccagatattactgt 57 54 55 46 +JY8QFUQ01A0DA8 IGA1 ggattcaccctctccagctatgct atgcactgggtccgccagtctcccggcaaggggctagagtgggtggcagct atttcatatgatggaagtaaaata tattacgcagactccgtgaggggccgcttctccatctccagagacagttccaagaacactctgcatttgcaaatggacagcctgagacctgaggacacggctacatattactgt 53 56 54 50 +JY8QFUQ01A0DCS IGG1 ggattcgcttttaccacgtactgg atcggctgggtgcgccagatgcccgggaagggcctggagttgatgggaatc atctttcctggtgactctgaggcc agatacagcccgtccttccaaggccaggtcaccctctcagccgacacgtccaccaccaccgtctatctgcagtggagcagtctgaggacctcggacaccgccgtgtattactgt 40 66 60 47 +JY8QFUQ01A0EF3 IGA1 ggattcaccttcagtcagtactgg atgtactgggtccgccaagctccagggaaggggctggtgtgggtctcacgt attaatggtgatggaagtagcaca agctatgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaacaccctgtatctgcaaatgaacagtctgagagtcgacgacacggctgtatattattgt 55 50 60 48 +JY8QFUQ01A0ESJ IGA1 ggattcaccttcattagcgaagct atgcactgggtccgccaggctccaggcaaggggcttgagtgggtggcacta atatcatatgatgagagtgataaa caatatgtagactccgtgaagggccgattcaccatctccagagacaattccaagaacacactatatctgcaaatgaacagcctgagacgtgaggacacggctgtgtattactgt 62 48 55 48 +JY8QFUQ01A0FII IGA1 ggattcgccttcagttggtattgg atgcactgggtccgccaagttccagggaaggggctggagtgggtcgcacgt atgaacgaagatgggagcatcaga aactacgcggactacgtgaagggccggtttaccatctcaagagacaacgccgagaacacactttatctgcaaatgagcagtctgagagccgaggacacggctatatattactgt 57 47 65 44 +JY8QFUQ01A0FO5 IGA2 ggattcaccttcagtagctactgg atgcactgggtccgccaagctccagggaaggggctggtgtgggtctcacgt gttaatggtgatgggggtagcaca gcctacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaacactctctatctccaaatgaacagtctgagagccgaggacacggcaatatattactgt 53 55 61 44 +JY8QFUQ01A0GVR IGG1 ggtgactccatcagtagtgattctcactac tggagttggatccggcagcccgccgggaagggactggagtggattgggcgt gtctacgccagtgggaccacc aattacagcccctccctcaagagtcgagtcaccatttcagtggacacgtccaggaatcaattctccctgaagttgaattctgtgaccgccgctgacacggccgtttatttctgt 45 60 59 52 +JY8QFUQ01A0GVY IGA1 ggattcaccttcgacgactatgtc atgcattgggtccggcaagttccagagaggggcctggagtgggtcgcaggc attaatggggaaagtaatagtttt ggctctgtggactctgtaaagggccgattcaccatctccagagacaaggccaagaataccctgtatttgcaaatgaatagcctgagagttgaggacacggccttgtattattgt 54 43 62 54 +JY8QFUQ01A0HBK IGA1 ggattcaccttcagtagctatagc atgaactgggtccgccaggctccagggaaggggctggagtgggtctcatcc attagtagtagtagtagttacata tactacgcagactcagtgaagggccgattcaccatctccagagacaacgccaagaactcactgtatctgcaaatgaacagcctgagagccgaggacacggctgtgtattactgt 58 51 57 47 +JY8QFUQ01A0IZI IGG1 ggactcatgtttagcagctatgcc atgacctgggtccgccaggctccagggaaggggctggagtgggtctcagtc agtagtagtactggttatttcaca tactacacagactccgtgaagggccggttcaccatctccagagacaattccaagaacacgctgtatctgcaaatgagcagcctgagagccgaagacacggccgtatattattgc 54 54 58 47 +JY8QFUQ01A0LAJ IGA1 ggactcactttcagtgacgcctgg atgacctgggtccgccaggttccagggaaggggctggagtgggttgcccat attagatggaactctgatgactggaccaca gactacgctactcccgtgaagggcagattcaccatctcaaaagatatttcagagaacacgctgtatctacaaatgaacagcctgataagcgaggatacaggcgtttattactgt 59 51 59 50 +JY8QFUQ01A0LBC IGA1 ggattcgacttcagtagttatggc ttccattgggtccgccaggctccaggcaaggggctggagtgggtggctttt atgtggactgatggaggagaaatc acctacgcagactccgtgaagggccgattcaccatttccagagacaatgtcaagaagacagtgtatctgcaaatgagcggcctgagagtcgaggacacggctgtctattattgt 51 45 66 51 +JY8QFUQ01A0LEW IGA2 ggatacaccttcaccagttactat atgcactgggtccgacaggcccctggacaagggcttgagtggatgggaatg atcaaccctagtggcggaagcaca atctacgcacagaacttccagggcagagttgccatgaccagggacacgtccacgagcacagtctacatggagctgagcagcctgagatctgaggacacggccgtgtattactgt 56 56 61 40 +JY8QFUQ01A0LZ5 IGA1 ggattcacctttagtagtcatgtc atgagctgggtccgccaggctccagggaaggggctggagtgggtctcaagt attcgtgccagtaatgataggaca cactacgcagactccgtgaagggccgcttcaccatctccagagacaattccaagaacacactgtatttacaaatgtacagcctgagagtcgaggacacggccgtatattactgt 56 52 57 48 +JY8QFUQ01A0N2E IGM ggattcaccttcagtagctatagc atgaactgggtccgccaggctccagggaaggggctggagtgggtctcatcc attagtagtagtagtagttacata tactacgcagactcagtgaagggccgattcaccatctccagagacaacgccaagaactcactgtatctgcaaatgaacagcctgagagccgaggacacggctgtgtattactgt 58 51 57 47 +JY8QFUQ01A0N8H IGA1 ggggacagtgtctctagcagcagtgttgtt tggaactggatcaggcagtccccattgagaggccttgagtggctgggaagg acattctacaggtccaggtggtataat gattattcattatctgtgaaaggtcgaataactatcaagccagacgcatccaagaaccagttctccctgcagctgaactctgtgactcccgaggacacggctgtatattactgt 56 49 60 57 +JY8QFUQ01A0OC8 IGA2 ggattcaccttcagtacctttggc atgcactgggtccgccaggctcccggcaaggggctggagtgggtggcaatc atatcaaatgatggaagtaagaaa tactacgcagactccgtgaagggccgattcacatttccagagaaaattccgagaacacgctgtatctgcaaatgagcagcctgagagctgaggacacggctgtgtattactgt 57 49 60 46 +JY8QFUQ01A0OMH IGA1 ggattcactttccacacctcctgg atgcactgggtccgccaaggtccaggggaggggctaatgtgggtctcacga atcaatactgatgggagtaacaca atgtacgcggactccgtaaagggccggttcaccatttccagagacaatgccaagaatacggtgtttctgcaaatgaacagtctgaaagccgacgacacggctgtctattattgt 56 52 57 48 +JY8QFUQ01A0OTP IGG1 ggcgactccatcagtggtcactac tggagctggatcaggcagcccccaggaagggactgcagtggattggttac atctatcacagtgggagcacc aactacaacccctccctcgagagtcgagtctccatttcagtagacacgtccaagaaccagttctccctgaggttgagttctgtgaccgctgcggacacggccgtgtattactgt 47 60 56 46 +JY8QFUQ01A0QXW IGG1 ggtggctccatcagtagttactac tggagctggatccggcagcccccagggaagggactggagtggattgggtat atctattacagtgggagcacc aactacaacccctccctcaagagtcgagtcaccatatcagtagacacgtccaagaaccagttctccctgaagctgagctctgtgaccgctgcggacacggccgtgtattactgt 50 58 57 45 +JY8QFUQ01A0RJS IGG1 ggattacttttaacaactattgg atgacctgggttcgccaggctccagggaaggggctggaatgggtggccaac ataaaacaacatggaggtgaaacg tactatgtggactctgtgaagggccgattcaccatctccagagacaacgccgagacctcagtgtatctgcaaatgaacagcctgagagccgaggacacggctgtctattactgt 59 48 60 45 +JY8QFUQ01A0S1H IGA1 ggattcaccttcagctcccattgg atgagctgggtccgccagactccagggaaggggctggagtgggtggccaac ataaaggaagatggaagtgtgaag tattatgtggactctgtgaggggccgattcaccatctccagagacaacgccaagaattcattgtatctgcagatgaacagcctgagaggcgaggacacggctgtctattactgt 55 46 66 46 +JY8QFUQ01A0TAV IGG2 ggattcaccttcagtagttatagc atgaactgggtccgcctggctccagggaaggggctggagtgggtctcggcc attagtattactagtagttccaca tattacgcagactcagtgaagggccgattcaccatctccagagacaacgccaagacctcactgtttctgcaaatgaacagcctgagagccgaggacacggctctgtattactgt 53 54 56 50 +JY8QFUQ01A0TNI IGG1 ggattcaccttcagtacctatgct atgtactgggtccgccaggctccaggcaaggggccagagtgggtgtcagtg atatcacatgatggaaataaggaa gaatacgcagactccgtgaagggccgattcaccatttccagagacaactccaagaaaatgttgtacctgcaaatgaacaaccagcgacctgatgacacggctgtttattattgt 62 49 54 48 +JY8QFUQ01A0UZS IGA1 ggattcacctttagtagttctggc atgtattgggcccgccaggctccagggaaggggctggagtgggtctcagct attagtggtagtggtgatgccaca aattacgcagactccgtgaagggccggttcaccatctccagagacaactccatgaacacactgtatctgcaaatgaacagcctgggaaccgatgacacggccttatattactgt 52 52 59 50 +JY8QFUQ01A0VIE IGA1 ggattcaccttcagtgcctttact atgcactgggtccgccaggctccaggcgagggactagagtgggtggcagct atatcatatgatggcagtaaaaaa tactatgcggactttgtgaagggccgattcaccatctccagagacaatcccaagagtacactgtatctacaaatgaacggcctgggaggtgatgacacggctttgtattactgt 56 48 57 52 +JY8QFUQ01A0WDV IGG2 ggattcaccgtcagtagcagcttc atgacttgggtccgccaggctccaggaaagggactggagtgggtctcagtg ctttatgtcggtggtaacaca tactacgcagactccgtgaagggccgattcaccacctccagagacaattccgagaacactctgtatcttcaaatgaacaacctgagacctgaggactcggctgtgtattattgt 52 53 55 50 +JY8QFUQ01A0WZB IGA1 ggattcaccgtcagtgggaagtat atgagttgggtccgccaggctccaggcaaggggctggagtgggtctcagtc ttatttagtactggcactgca tactacgcagactccgtgaaaggccggttcaccatctccagagacaattccaacaacaccctatatcttcagatgaacaacatcagacctgaagacgcggccacttattattgt 55 54 52 49 +JY8QFUQ01A0X8W IGG1 ggattcaccttcaatagccatggc atgcactgggtccgccaggcgccaggcaaggggctggagtgggtggctgct atttggtttgatggaagtaataaa tactatgcagactccgtgaagggacgattcaccatctccagagacaattccaagaacacgttgtatctgcaaatgaacagcctgagagccgaggacacggctgtgtactactgt 56 49 61 47 +JY8QFUQ01A0XE3 IGG1 ggattcacatttagaagctattcc atgaattgggtccgccaggctccagggaaggggctggagtgggtctcagct gtcagtggtggtggggcgccaca aactacgcggagtccgtgaagggccggttcaccatctccagagacaattccaggggacggtgttcttacaaatgaacagcctgagagtcgaagacacagccttatattattgt 51 48 65 47 +JY8QFUQ01A0Z64 IGA2 ggattcacctttagcaactttgcc atgacctgggtccgccaggctccagggaagggactggagtgggtctcaact attagtggtggtgatgatagcaca tactacgcagactccgtgaagggccggttcaccatctccagagacaattccaagaacacgctgtatctgcaaatgaacagcctgagagccgaggacacggccgtatatcactgt 55 55 58 45 +JY8QFUQ01A0ZW5 IGG4 ggtgtcgccaccagtagtggcacttactac tggagctggatccggcagtccgccggggcgggactagagtggattgggcgc atctataccggtcacaccacc atttacaacccctccctcaagggtcgagtcaccatgtcacttgacatgtccaagaaccagatctccctgaggctgacctctgtgaccgccgcagatacggccgtgtattactgt 45 67 58 46 +JY8QFUQ01A0ZX6 IGG1 ggagacaactttagcagatactgg atcggctgggtccgccagatgcccgggaaaggcctggagtggatggggatc atctatcctggtgactctgacacc agatacagtccgtccttccaaggccaggtcaccatctcagccgacaagtccaccagtaccgcctacctgcagtggagcagtctgaaggtctcggacaccgccacgtattactgt 49 63 59 42 +JY8QFUQ01A110D IGA1 ggattcaccttcagtaactactgg atgtattgggtccgccaagctccagggaaggggctggtgtgggtctcacgt attaatggtgatggcagtagcaca agctacggggactccgtgaagggccgattcaccgtctccagagacaacgccaagaacaccctgtatctgcaaatgaacagtctgcgagtcgacgacacggctctatattattgt 53 52 60 48 +JY8QFUQ01A12BY IGG1 ggattcacatttagtaattattgg atgatctgggtccgccaggctccagggaaggggctggagtgggtggccaac ataaaccaagatggaggtgacatg gcctatgtggactctgtgaagggccgattcaccatctccagagacaacgccaagaactctctgtatctgcaaatgaacagcctgagagccgaggacacggctatatattactgt 58 47 61 47 +JY8QFUQ01A12KV IGG1 gggttcagtttcaacaactataac atggcctgggtccgccagactccagggaaggggctggagtgtgtggcatat attagtagtagaagtagtaacaga tattacacagcctctgtggagggccgattcaccatctccagagacaatgccaggaattctctgtatctccaaatgaatggcctgagagccgacgacacggctgtatattactgt 58 47 57 51 +JY8QFUQ01A12V0 IGA1 ggatttaccttcagtaagttctgg atgcattgggtccgccaagctccagggaaggggctgacttgggtctcacgt attaatcctgatgggactatcacg aactacacggactccgtgaggggccgattcatcacttccagagacaacgccaagaacacagtatatctgcagatgaacagtctgcgagtcgaggacacaggtgtatattactgt 56 50 57 50 +JY8QFUQ01A14EE IGA1 ggattcagcttcaacagctacagc atgaactgggtccgccaggctccagggaagggactggaatggatctcatca attagtaccgctggcaccaccata ggctacgcagactctgtgaagggccgattcactatttccagagacaacgccaagaactcagtatctctgcagatggacagcctgagagacgaggacacggcggtatattactgt 59 55 57 42 +JY8QFUQ01A152R IGA1 ggattcacctttagtaattactgg atgcactgggtccgccaagctccaggggagggactggtgtgggtctcacgg actaatgaagatgggagtatcaca aactacgcggactccgtggaggaccgattcaccatctccagagacaacgccaagaacaggctgtttctgcaaatgaacagtctcagagtcgaggacacggctgtttattactgt 56 50 60 47 +JY8QFUQ01A15L6 IGA1 ggaggctccatcagcagtggaagttactac tggacctggatccggcagcccgccgggaagactctggagtggattgggcgc ttctacagtcgtgggggtgtc gactacaaccctccctcaggggtcgagtcaccatttcagcggacacgtccaagagccagttctcccttaatctgacttctgcgaccgccactgacacggccgtgtatttctgt 41 64 62 48 +JY8QFUQ01A15SR IGA1 cctctggtttcacggttcagtggctctgct atgcactgggtccgccaggcttccgggaagggtctggagtacattggaagc atcttttatagtgggagcact tacttcaatccgtccctcaagagtcgagtcaccctatccgtagacacgtccaggaaccagttctccctgaggctgaagtctgtgaccgccgcagacacggctgtttattattgt 42 59 57 58 +JY8QFUQ01A16XV IGG1 ggattcaccttcagtagctatagc atgaactgggtccgccaggctccagggaaggggctggagtgggtttcatac attagtagtagtagtagtaccata tactacgcagactctgtgaagggccgattcaccatctccagagacaatgccaagaactcactgtatctgcaaatgaacagcctgagagccgaggacacggctgtgtattactgt 58 49 57 49 +JY8QFUQ01A17D9 IGA1 ggatacaactttgccacctattgg atcggctgggtgcgccacatgcccgggaaaggcctggaatggatggggatg gtctttgctggtgactctgacacc agatacagtccgtccttccgaggccaggtcaccatgtcagccgacaagtccatcaacaccgcctacctgcagtggagcagcctgatggcctcggacaccgccatatattactgt 46 63 59 45 +JY8QFUQ01A17TV IGG2 ggattcagcttcagtgactactac atgagttgggtccgccaggctccagggaagggactggagtgggtttcatgc atcactactagtggtaccaca ttctacacggactctgtgaggggccgattcaccatgtccagggacaacgccaagaactcactgtatctgcaaatgaacagcctgagagccgaggacacggccgtgtattactgt 52 53 59 46 +JY8QFUQ01A18L5 IGA1 ggttacatcttcacccactatggt atcaactgggtgcgccaggcccctggacaagggcttgagtggatgggatgg atcagcgcctacagtggtaacaca aagtatgcacagaaggtccagggcagagtcaccatgaccacagacacttccacgagtacagcctacatggagctgaggagcctgagatctgacgacacggccgtgtattactgt 56 55 61 41 +JY8QFUQ01A1963 IGA2 ggattcatttcagtacttatcct atgcactgggtccgccaggctccagggaagggactggaatatgtttcagct attagtcgtaatggggataacgca tattatgcagactctgtgaagggcagattcaccatgtccagagacaattccaagagcacactgtatcttcagatgggcagcctgagagctgaggacatggctgtgtattactgt 55 44 57 56 +JY8QFUQ01A1ALH IGA1 ggtggctccatcaacagtggtagttatcac tgggcctggatccgccagtccccagggaaggggctggagtggattgggagc gtctcctatggtgggaacacc tactacaacccgtccctcatgagtcgagtcgacatattcgtcgacacgtccaagagtcagttgtccctgaaggtgagctctgtgaccgccgcggacacggctgtgtattactgt 43 58 66 49 +JY8QFUQ01A1AYP IGG2 acattcacgtttagtcggtattgg atgagctgggtccgccaggctccagggaagggcctggagtgggtggccaac ataaaggaagacggaagtgagaga tattatgtggactctgtgaagggccgattcaccatctccagagacaatgccaagaactctctgtatctgcaattgaacagcttgagagccgaggacacggctgtgtattactgt 56 44 65 48 +JY8QFUQ01A1BK7 IGA1 ggattcacctttagtagttactgg atgcactgggtccgccaagctccaggggagggactggtgtgggtctcacgg actaatgaagatgggagtatcaca aactacgcggactccgtggaggaccgattcaccatctccagagacaacgccaagaacaggctgtatctgcaaatgaacagtctgagagccgaggacacggctgtgtattactgt 56 50 63 44 +JY8QFUQ01A1BT3 IGA2 ggtgactccatcagtagttacttc tggagttggatccggcagcccccagggaagggactggagtggattggatat gtctattacagtggaagtacc aagtataatccttccctcgaaagtcgagtcaccatatcattagacacgcccaacaaccagttctccctgagcctgacctatgtcaccgctgcggacacggccatatactactgt 53 57 50 50 +JY8QFUQ01A1CLZ IGG1 ggtggctccatcagcagtgataatttctac tggggctggatccgccagcccccagggaagggactgcagtggattgggact ttctattatagagggagtatc tattacaacccgtccctcaagagtcgagtcaccatatccgtggacacatccaagaaccagttctccctgaggctgacctctgtgaccgccgcagacacggctgtctattattgt 49 59 56 52 +JY8QFUQ01A1CTT IGG1 ggatacacgtttatgaattactgg atcggctgggtgcgccagatgcccgggaaaggcctggagtggatggggatc atctatcctggtacctctgagacc agatacagcccgtcctttcaaggccaggtcaccatttcagccgacaagtccaccagcaccgcctacgtgcagtggagcagcctgaaggccccggacaccgccatatattactgt 49 62 59 43 +JY8QFUQ01A1DJR IGG1 ggattcaccttcaacaactatgcc atgagttgggtccgccaggctccagggaaggggctggaatgggtctcaact attactagtggtggtggtagtaca ttgtacgcagactccgtgaagggccggttcaccatctccagagacaatttcaaggacacgctgtatctgcaaatgaacagcctgagagccgaggacacggccgtatattactgt 54 51 60 48 +JY8QFUQ01A1DVA IGG2 ggatccagtttcagtggttttggc gtgaactgggtccgccaggctccagggaaggggctggaatgggtctcacac gtcaatagtgccagtgactacaaa tattacgcggactcagtgaggggccggttcaccatttccagagacaatgccaagaactcagtgtatctgcgaatgaataacctgagagacgacgacacggctctatattactgt 55 49 61 48 +JY8QFUQ01A1E6T IGA2 ggattcaccttcagttactcctgg atgcactgggtccgccaagttccaggaaaggggccggtgtgggtctcacaa attaaaagtgatgggagtacccca agttacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaacacgctgtatctgcaaatgaacagtctgagagtcgaggacacggctgtttattactgt 56 53 58 46 +JY8QFUQ01A1GYW IGG1 gggttcaccatcagtcactactcc atggcctgggtccgccaggctccgggaaaggggctggagtgggtctcatta atttatcccggcgggagcaca ttccacgcagactccgtgagggggcggcttatcatctccagagacgaatccaagagtgaactgtatcttcggatgaagaaagtgaaagtcgaagacacggccgtatattattgt 51 51 62 46 +JY8QFUQ01A1GZY IGG2 ggattcagtttagtacacatggc atgaactgggtccgccaggctccagggaaggggccggaatgggtctcattc gttaatagtggaagtagttacatc tactacgcagactcagtgaggggccgattcaccatctccagagacgacgccaggaattcactgtatctgcaaatgcaccgcctgcgagtcgaggacacggctctctactattgt 52 53 59 48 +JY8QFUQ01A1ISV IGG1 ggattcaccttcagtgactatcac atgtactgggtccgccaggctccaggcaaggggctggagtgggtggcagtt atatcatatgatggaagtaataaa tactatgtagactccgtgaagggccgattcaccatctccagagacaattccaagaatgcgctgtttctgcagatgaacagcctgagagctgacgacacggctgtgtattactgt 56 47 58 52 +JY8QFUQ01A1IV8 IGG4 ggtgtcgccaccagtagttactac tggagctggatccggcagtccgccggggcgggactagagtggattgggcgc atctataccggtcacaccacc atttacaaccctccctcaagggtcgagtcaccatgtcacttgacatgtccaagaaccagatctccctgaggctgacctctgtgaccgccgcagatacggccgtgtattactgt 44 64 56 45 +JY8QFUQ01A1IYG IGG1 ggattcaccgtcaatagaaactac atgagctgggtccgccaggctccagggaagggactggagtgggtctcagtt atttccagcggtggttccaca tactacgcaaactccgtgaagggccgattcaccatctccagagacaattccaagaacacggtatatcttcaaatgaacagcctgagagtcgacgacacggctgtgtattactgt 57 53 54 46 +JY8QFUQ01A1K37 IGG1 ggattcaccttcaggagttatatc atgaactgggtccgccaggctccagggaaggggctggagtggatttcatac attagtagtagtggtattatcata tactacgcagactctgtgaagggccgattcaccatctccagagacaatgccaagaactcactgtatctgcaaatgaacagcctgagagtcgaggacacggctgtgtattattgt 58 45 56 54 +JY8QFUQ01A1KQO IGA2 ggattcaccttcagtaggtactgg atgcactgggtccgccaagttccagggaaggggccggtgtgggtctcacgt attaatgaagacggcagctacaca gatcacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaacaagctgtttttgcaaatgaacagtctgagaggcgaggacacggctgtctattactgt 55 52 62 44 +JY8QFUQ01A1L2W IGA1 ggattcacctttagcaactatgcc atgagctgggtccgccaggctccagggaaggggctggagtgggtctccggt attagtggtagtggtggtaacaca tacttcgcagactccgtgaagggccggttcaccatctccagagacaattccaggaacacgctgtttctacagctgaacagcctgagagccgccgacacggccgtatattactgt 48 56 62 47 +JY8QFUQ01A1LNA IGA2 ggattcacctttatcaactatggc atgagctgggtccgccaggctccagggaaggggctggagtgggtctcaggt attagtggtagtggtgataccaca taccacgcagactccgtgcagggccgattcaccatctccagagacaactccaagaacactctgtatctgcaaatgaacagtctgagagtcgaggacacggccgtttattactgt 53 53 59 48 +JY8QFUQ01A1MBV IGA1 ggattcaagtttgatgaatatgcc atgcactgggtccggcgagttccagggaggggcctggagtgggtctcagtt ataagttgggatggtgatgacatc gcctatgcggactctgtgaagggccgattcagcatctccagagacaacgccaagaactccctgtacctggaaatgagcagtctgagagttgaggacacggccttctattactgt 50 46 66 51 +JY8QFUQ01A1MJG IGA1 ggtgggtccttcagtgataactcc tggacctggatccgccagcccccagggaaggggctggagtggattggagag atcaatcatagtggaaacacc aactacaacccgtccctcaggagtcgagtaatcatgtcaatagacacgtccatgaaccaattctccctgaagctgacttctgtgaccgccgcggacacggctgtgtattattgt 52 56 56 46 +JY8QFUQ01A1MJU IGG4 ggattcacctttcatgattatacc atgcactgggtccggcaagctccagggaagggcctggagtgggtctcaagt attagttggaatagtggtaacata gactatgcggcctctgtgaagggccgattcaccgtctccagagacaacgccaataactccctgtctcttcagatgaatggtctgagatctgaggacacggccctctattactgt 51 52 56 54 +JY8QFUQ01A1OLP IGA1 ggattcccctttagtgtgtactgg atgtactgggtccgccaaagtcccgggaaggggccggtatgggtcgcacgt atcagtgatgatggcaagagtatc agttatgcggactccgtgaggggccgattcaccatctctagggacaacgcccagaacacactgtctctgcaaatggacaatgtgagagccgacgactcgtctgtctattattgt 48 51 63 51 +JY8QFUQ01A1PLD IGA1 ggattcaccttcagtaggtactgg atgcactgggtccgccaagttccagggaaggggccggtgtgggtctcacgt attaatgaagacggcagctacaca gatcacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaacaagctgtttttgcaaatgaacagtctgagaggcgaggacacggctgtctattactgt 55 52 62 44 +JY8QFUQ01A1Q3N IGA1 ggattcacctttagtagctatggc atgagttgggtccgccagtctccaaataagggactggagtgggtcgcaggc attagtgcaaatggtggcagtata aattatctggacgccgtgaagggccggtttatcatctctagagacaattccaagaacacgttgtatctgcaaatggacagcctgacagtcgaggacacggccgtttattactgt 55 44 60 54 +JY8QFUQ01A1QLN IGG1 ggattcacgttcagtaattacgac atgcactgggtccgccaacctagaggaagaggtctggagtgggtctcagct attggcactggtggtgacaca tactatccagactccgtgaagggccgattcaccatctccagagaaaatgccaagaactccttatatcttcagatgaacagcctgagagccgggacacggctgtgtattactgt 55 51 55 48 +JY8QFUQ01A1R7K IGA1 ggatacatcttcaaaactactat atattctgggtgcgacgggcccctggacaagggcttgagtggatgggttgg gtcaaccctaacagtggtgccaca cactatgcaccgaaatatcagggccgggtcaccatgaccagggacacgtcattcgccacagcctacatggatttgagcatgttgacatctgacgacacggccatgtattactgt 54 54 56 48 +JY8QFUQ01A1RAE IGA1 ggattcaccttccgaagttatgat ctgcactgggtccgccaggctccaggcaaggggctagagtgggtggcattt atttcaaacgatggaagtgacaca gactacgcagactccgtgaagggccgattcaccatctccagagacaattccaagaagacgctatatctgcaaatgaacagcctgagagttgaggacacggctgtgtattactgt 58 50 58 47 +JY8QFUQ01A1SIW IGG1 ggattcaccttcagtgtccatagc atgaactgggtccgccaggctccagggaaggggctggagtgggtttcatac cttagtagtggtagtgataccata tactacgcagactctgtgaggggccggttcaccatctccagagacaacgccaagaactcactgtatctgcaaatgagtggcctgagagacgaggacacggctgtttattactgt 52 50 61 50 +JY8QFUQ01A1U7S IGG1 tctgatacaattagtcgttatggc atgcactgggtccgccaggctccaggcaaggggctggagtggctggcaatt atttcatatgatggaaataggata tatgttggagactccgtgaagggccgcttcaccgtttccagagacaacgccgggaggactctgtttctgcaaatgaacagtctgagaggtgatgacaccgccacatatttttgt 52 45 61 55 +JY8QFUQ01A1U87 IGA2 ggattcaccttcagtagctactgg atgcactgggtccgccaagctccagggaaggggctggtttgggtctcacgt gttaatggtgatgggggtaggaca gcctacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaacactctctatctccaaatgaacagtctgagagccgaggacacggcaatatattactgt 53 54 61 45 +JY8QFUQ01A1UND IGG1 ggattcacctttggttattatggc atgactggtccgccaactccgggggagggggctgagtgggtctctggt attaatcggaatggtgatagcaca ggttatgcagactctgtgcaggaccgattcaccatctccagagacaacgccaagaactccctgtatctcgaaatgttcagtctgacagccgaggacacggccttatatcactgt 49 51 58 52 +JY8QFUQ01A1UXL IGA2 ggattcaacttccgatcttatgcc atgtactgggtccgccaggccccaggcaaggggctggactgggtggcagtt atttggcatgatggcagtaatcaa tactatgcagattccgtgaagggccgattcaccatctccagagacaattccaagaacacattgtttctgcaaatgaacagcctgagagtcgaggacacggctgtctattactgt 54 51 56 52 +JY8QFUQ01A1UXZ IGG1 agtgcctccatgatcagttactat tggacctggattcggcagcccccagggaagggactggagtggattggggac atctattcctttggaggcacc agatacaacccgtcccttggcagtcgagtctccatatcactggacacgtccaataatgagttctccctgcaactgaactctgtgaccgctgcggacacggccttatatcactgt 47 59 53 51 +JY8QFUQ01A1W6G IGG1 ggtggctccatcaggagtggtagttactac tggagctggatccggcagcccgccgggaagggactggagtggattgggcgt atatatagcagtgggagcatc gacgccaacccctccctcaagagccgagtcaccatatcaattgacacgtccaagaaccaggtctccctgaaactgggctctgtgaccgccgcagacacggccgtctattattgt 49 60 64 43 +JY8QFUQ01A1WCP IGA2 ggattctccgtcagtagttactgg atgcactgggtccgccaggctccaggggaggggctggagtgggtctcacgt attaatgaagatggtagtcggaca gactacgcggactccgtgaagggccgattcaccatttacagagacagcgccaagaacacactgtatctgcaaatgaacagtctgagagtcgaagacacggctgtctattattgt 54 48 64 47 +JY8QFUQ01A1X35 IGA1 ggtggctccatcaacagtggtgattcctcc tggacctggatccgccagtacccagggaagggcctggagtggattgggtac atctctggcagtggggactcc tactccaacccggccctcaagagtcgagttaccatatcagtggacacgtctaagagccagttcttcctggaactgagttctgtgactgccgcggacacggccgtctattactgt 43 61 62 50 +JY8QFUQ01A1X52 IGA1 ggattcaccttcagtagctatagc atgaattgggtccgccaggctccagggaagggactggagtgggtttcatac attagtggaagtagtaataccatg tactacgcagactctgtgaagggccgattcaccatctccagagacaatgcccagaattcactacatctgcaaatgaacagcctgagagacgaggacacggctgtgtattactgt 60 48 56 49 +JY8QFUQ01A1Y2H IGA1 ggattcagcttcagtagctacagt atgaactgggtccgccaggctccagggaaggggctggagtggatttcatct attagcaccaccagtagtaccata ggctacgcagactctgtgaagggccgattcaccatctccagagacaacgccaagaactcactgtttctgcaaatgaacagcctgagagacgaggacacggctgtgtactactgt 57 54 57 45 +JY8QFUQ01A1YN6 IGA1 ggactcaccttcagcagctatagt atgaactgggtccgccaggctccagggaaggggctggagtgggtttcatat attagtagtactagtagtaccata aactacgcagactctgtgaagggccgattcaccatctccagagacaatgccaagaactcactgtatctgcaaatgaacagcctgagagacgaggacacggctgtgtattactgt 60 49 56 48 +JY8QFUQ01A1Z5H IGA2 ggattcattttcagtacttatcct atgcactgggtccgccaggctccagggaagggactggaatatgtttcagct attagtcgtaatggggataacgca tattatgcagactctgtgaagggcagattcaccatgtccagagacaattccaagagcacactgtatcttcagatgggcagcctgagagctgaggacatggctgtgtattactgt 55 44 57 57 +JY8QFUQ01A23OB IGG2 ggattcacctttaccaactatggc atgagctgggtccgccaggctccagggaaggggctggagtgggtctcaggt attagtggtagtggtgaaaccaca taccacgcagaatccgtgcagggccggttcaccatctccagagacaactccaagaacaatctgtatctgcaaatgaacagtctgagagccgaggacacggccatttattactgt 56 53 59 45 +JY8QFUQ01A23UZ IGG2 ggtacctccatcagcacttactat tggagttggttccggcagcccgccgagaagggactggagtggattgggcgt atctctgtctttgaaaactct aactacaacccctccctcgagagtcgcatcaccatgtcaatggacacgtccaagaaccagttctccctgacggtgaactctgtgaccgccgcggacacggccgtgtatttttgt 45 61 53 51 +JY8QFUQ01A26C2 IGG1 acattcgcctttagcaactatgcc atgagctgggtccgccaggctccagggaaggggctggagtgggtgtcagat attagtgggagtggtgttagcaca cactacgcggactccgtgcagggccggttcaccatctccagagacaattcgaagaacacgctgtatctgcaaatgaacagcctgagtgccgaggacacggccgtatattactgt 51 53 64 45 +JY8QFUQ01A26DA IGA1 ggattcgccttcaatatcaagtgg atgagttgggtccgccaggctccggggaaggggcttgagtgggtcggccgc atcaagagcagcgctgatggtgcgacaaca gacaccattgagcgcgtgagagacagattcaccatctcaagagatgactcaaaaaatacactgtacttgcacatgaccagcctgagaaccgaggacacaggcatgtattattgt 61 51 64 43 +JY8QFUQ01A27H2 IGA2 ggattcaccttcagcaagtatgcc atgagctgggtccgccaggctccaggggaggggctgcagtgggtctcagca attagtggaaatggtgctgatata tactacgcagactccgtgaacggccagttcaccatctccagagacaattccaagaacacgctatatctgcaaatgaacagcctgagagccgaggacacggccgtatactactgt 57 55 58 43 +JY8QFUQ01A27QT IGA1 ggtggctccatgagtagtcactat tggagttggatccggcaatcttcagggaagggactggagtggcttggctac atacattacagtgggagcacc aggttcaacccctccctcaacagtcgagtcaccatatcggtggacacgtccaagagtcagttcttcctgctactgaactctgtgaccgctgcggacacggccacatattactgt 48 56 56 50 +JY8QFUQ01A287O IGG1 ggattcacgttcagtaattacgac atgcactgggtccgccaacctagaggaagaggtctggagtgggtctcagct attggcactggtggtgacaca tactatccagactccgtgaagggccgattcaccatctccagagaaaatgccaagaactccttatatcttcagatgaacagcctgagagccggggacacggctgtgtattactgt 55 51 56 48 +JY8QFUQ01A29EP IGG2 ggattcacctttagcagctatgcc atgagctgggtccgccaggctccagggaaggggctggagtgggtctcagct attagtggtagtggtggtagcaca tactacgcagactccgtgaagggccggttcaccatctccagagacaattccaagaacacgctgtatctgcaaatgaacagcctgagagccgaggacacggccgtatattactgt 52 53 63 45 +JY8QFUQ01A2AEH IGA1 ggattcacctttaacacttattgg atgaactgggtccgccaggctccagggaagggactggagtgggtggccaac ataaaccaagatgggagcaggaga cactatgtggactctgtgatgggccgattcaccatctccagagacaacaccaaggactcactgtatctgcaaatggacagcgtgagagccgaagacacggctgtctattactgt 59 50 61 43 +JY8QFUQ01A2ANY IGA1 ggattcacctcgccgacttatagt atgagttgggtccgccaggctccaggaaaggggctggagtgggtctcaggt attagtgatcatggtattgacata tactatgcagactccgtgaggggccggtttaccatctccagagacatttccaagaacacggtgtatctacaaatgaacagcctgggagtcgaggacacggccgtatattactgt 53 47 61 52 +JY8QFUQ01A2AVP IGA2 ggattcaccttcagtagctactgg atgcactgggtccgccaagctccagggaaggggctggtgtgggtctcacgt gttaatggtgatgggggtagcaca gcctacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaacactctctatctccaaatgaacagtctgagagccgaggacacggctgtatattactgt 51 55 62 45 +JY8QFUQ01A2B2A IGG1 ggtggctccatcagtagttactac tggagctggatccggcagacccccaggaagggactggagtggattgggtat atctattacagtgggagcacc aactacaacccctccctcaagagtcgagtcaccatatcagtagacacgtccaagaaccagttctccctgaagctgagctctgtgaccgctgcggacacggccgtgtattactgt 51 58 56 45 +JY8QFUQ01A2BDN IGG2 ggattcaccttcagtacatactgg atgcactgggtccgccaagctccagggaaggggctggtgtgggtctcccgt atcaatcctgatgggcgaatcaca aactacgcggactccgtgaatggccgattcaccatctccagagacaacgccaagaacacgctgtatctgcaaatgaacagtctgagagccgaggactcggctgtgtactactgt 53 58 58 44 +JY8QFUQ01A2CO4 IGA1 ggattcacctttagcagctatgcc atgagctgggtccgccaggctccagggaaggggctggagtgggtctcaact attagtggtagtggtggtaggaca tactacgcagactccgtgaagggccggttcaccatctccagagacaattccaagaacacactatatctgcaaatgaacagcctgagagccgaggacacggccatatattactgt 56 52 60 45 +JY8QFUQ01A2ECA IGA1 gggttcgttttcagtgatgcctgg atgagttgggtccgccaggctccaggcaaggggctggagtggattggtcgt atcaagaacaaagctgacggagaggcaaca gattacgccgcgcccgtgaaaggcagattcgtcatctcaagggatgactcgaaaaacatggtgtatctgcaattgaaccgcctaagagccgaggacggaggcttgtacttctgt 54 47 71 47 +JY8QFUQ01A2EKG IGG4 ggatttaactttgatcaatatgcc atgtattgggtccggcaagctccagggaagggcctggagtgggtctccggt atcactgggaatagtggttccata ggctatgcggactctgtgaggggccgattcaccatctccagagacaacgccaagaagtcactatatttggaaatgaatagtctgagtgttgaggacacggccttgtatttctgt 51 43 62 57 +JY8QFUQ01A2FAU IGG1 ggattcactttcagtgacgcctgg atgagctgggtccgccaggctccagggaaagggctggagtgggttggccgt attccaagcaaagctgatggtgggacaaca gactacgctgcgcccgttaaaggcagattcaccatctcaagagaggattcaaaaaatatgctgtatctgcaattgaacagcctgaaaaccgaggacacagccgtgtatttctgt 59 50 63 47 +JY8QFUQ01A2FHS IGG1 ggtggctccatcagcagtagtagttactac tggggctggatccgccagcccccagggaaggggctggagtggattgggagt atctattatagtgggagcacc tactacaacccgtccctcaagagtcgagtcaccatatccgtagacacgtccaagaaccagttctccctgaagctgagctctgtgaccgccgcagacacggctgtgtattactgt 49 59 61 47 +JY8QFUQ01A2FU8 IGA1 ggtggctccatcaccaataataattacttc tggggctggatccgccagcccccagggaaggggctggagtggattggggat gtccagtatagtgggagcacc tactccagcccgtccctcaagaggcgggtcaccatgtctgtggacgtgtccaaaagtcaggtctccctgagactgagctctgtgaccgccacagacacggctatttattactgt 46 59 63 48 +JY8QFUQ01A2G8U IGG1 gggttcaccatcagtcactactcc atggcctgggtccgccaggctccgggaaaggggctggagtgggtctcatta atttatcccggcgggagcaca ttccacgcagactccgtgaggggcggcttatcatctccagagacgaatccaagagtgaactgtatcttcggatgaagaaagtgaaagtcgaagacacggccgtatattattgt 51 51 61 46 +JY8QFUQ01A2JAS IGA1 ggtggctccatcgccacttatcattgg tggacttgggtccgccagaccccgggaagggactggagtggattggggaa gtctattatagtcgacagact aattacaacccgtccctccagagtcgcgttgacatttccattgacagtcccaacggtcagttcaccctatatctgagagatgtgaccgtcgcggacacggccgtttattattgc 46 56 57 53 +JY8QFUQ01A2MSQ IGA2 ggattcacctttagtaactattac atgagttgggtccgccaggctccagggaaggggctggagtacgtggccagc ataaaacaagatgaaggtcagaca tactatgcgggctctgtgaagggccgattcaccatctccagagacaacgccaagaactcactgtatcttcaaatgaacagcctgagagtcgaggacacggctgtgtatcactgt 60 50 58 45 +JY8QFUQ01A2PDE IGG1 ggattctccttcagcaattatgcc atccactgggtccgccaggctccaggcaaggggctggagtgggtggcgacc atttcatatgatattaataaaaga tattatgcagagtccgtgaggggccgattcaccctctccagagacaattccaagaacactctcgatctgctcatggatacccttcggttcgacgacacggctgtctattattgt 51 55 52 55 +JY8QFUQ01A2Q7N IGG1 ggattccctttcagcgactatggc atgcactgggtccgccagactccagacaagggactagaaattgtggccatt atctggcatgacggaagtcagcaa ttctatgcagactccgtgctgggtcgattcaccgtctccagagacaattccgacaacactctccagttgcagctgagcaggttgacagccgaagacacggctatttattattgt 53 56 53 51 +JY8QFUQ01A2QEG IGA1 ggattcagtttcagtgactatgcc atgcactgggtccgccagactccaggcaaggggctggagtgggtggcagtt atttcatatgatgggagagagaag tactatgcagactccctgaagggccgattcaccacctccagagacaactccaagaaaatgctgtatctccaagtgaatagcctgagacctggagacacggctgtgtattactgt 56 49 60 48 +JY8QFUQ01A2S2S IGA1 ggattcacctttaaaagttctgct atacagtgggtgcgacaggcccgtggacaacgccttgagtggataggatgg accgccgttggcagcggtaacaca gactacgcacagaagttccaggaaagagtcaccattacgagggacatgtccacaagcacagtctacatggagatgatcaacctgggatccgaggacacggccgtgtattactgt 59 51 61 42 +JY8QFUQ01A2WHC IGA1 ggaatcagcgtcgggagcaactac atgaactgggtccgccaggctccggggaaggggctggagtgggtctcagtt atttataccgggggtagcaca tactatgcagactccgtgaagggccgattcaccatctccagagacaattccaagaacaccctttatcttcaaatgaacagcctgagagctgaggacacggctgtgtacttctgt 53 52 60 45 +JY8QFUQ01A2XE9 IGA2 ggattcacgttcagtagctactgg atgcactgggtccgccaagctccagggaaggggctggtgtgggtgtcacgt agtaatacgggggggactgacaca gcctacgcggactccgtgaagggccgattcaccatctcccgagacaacgggaagaacacgctgtatctgcaaatgaacagtctgagagccgaggacacggctgtttattactgt 51 52 68 42 +JY8QFUQ01A2YCO IGA1 ggatccaccgtcagtacctatagc ctgaactgggtccgccaggctccagggaaggggctggagtgggtctcatcc attagtagtagtggtttttatata tactacgcggattcagtgaagggccgagtcaccatctccagagacaacgccaagaattcgctatttctgcaaatgaacaacctgcgagccgaggacacggctgtctattactgt 53 53 57 50 +JY8QFUQ01A2YPP IGA1 ggattcaccttcagtgcctctggc ataaactgggtccgccaggctccagggaaggggctggaatgggtctcatcc atcactgggagtagtagtcacaca ttttatgcagactcagtgaagggccgattcaccatctccagagacaacgccgagaactcagtgtacctgcaaatgaacagcctgagagacgaggacacggctgtttattactgt 55 54 58 46 +JY8QFUQ01A2YVQ IGG1 ggattcaacttggcgaagttcgcc atgagctgggtccgccaggctcctgggaaggggctggagtgggtctcagag atcagtggctccggtagtaaagtc ggatatgcggagtccgtgaagggccgattcaccatctccaaagacaattccaagaacacattgtacttgcaaatgaccgacctgagacccggcgacacggccatttattactgt 52 53 63 45 +JY8QFUQ01A2ZLE IGG1 gacttcacctttaatagctatgcc atggcctgggtccgccaggctccagggaaggggctggagtgggtctcggct attggtgccagtggctacagcaca tactacgcagactccgtcaagggccgcttcaccatctccagagaccattccaacagcacgctgcatctgcaaatgaacagcctgagagccgaagacacggccgtttattactgt 49 63 57 44 +JY8QFUQ01A30CD IGG2 ggattcaacctcaatacctttggc atgaactgggtccgccaggcgccagggaagggactggagtgggtctcacac gtcaatcggggtagtactcacata tactacgcaggctcagtgaggggccggttcaccatctccagagacgacgccgggaactcagtctatctgcaaatgaatagcctgagagccgaggacacgggtttatattattgt 53 53 62 45 +JY8QFUQ01A312M IGA2 ggattcaggtttagcatctattgg atgagctgggtccgccaggctccagggaaggggctggagtgggtggccaac ataaagcaagatggaagtgagaaa tactatgtggactctgtgaagggccgattcaccatctccagagacaacgccaagaactcactgtatctgcaaatgagcagcctgagagccgaggacacggctgtgtattactgt 58 45 66 44 +JY8QFUQ01A313A IGG2 ggactcatgtttagcagctatgcc atgacctgggtccgccaggctccagggaaggggctggagtgggtctcagtc agtagtagtactggttatttcaca tactacacagactccgtgaagggccggttcaccatctccagagacaattccaagaacacgctgtatctgcaaatgagcagcctgagagccgaagacacggccgtatattattgc 54 54 58 47 +JY8QFUQ01A33TY IGG2 ggtgggtccatcagcagtactagttactac tggagctggatccggcagcccgccgggaagggactggagtggatggggcgt atctataccagtgggatcacc aactacaacccctccctcgagagtcgagtcaccttttcagtggacacgtccaagaaccagttctccctgaagctgaagtctgtgacccccgcagacacggccgtttattactgt 48 62 60 46 +JY8QFUQ01A33U2 IGG1 ggtggctccatcaacagtagaaattattat tggggctggatccgccagccccccagggaagggtttgagtggattggaaat atctattatagtgggaacacc tactacaatccgtccctcaagagtcgagtcaccgtatccgtagacaggtctaagaaccagttgtccctgaagctgacctctctgaccgccgcagacacggccgtatattactgt 55 56 54 51 +JY8QFUQ01A33ZY IGA1 ggattctccgtcagtaattactgg atgcactgggtccgccaggctccaggggaggggctggagtgggtctcacgt attaatgaagatggtagtcggaca gactacgcggactccgtgaagggccgattcaccatttacagagacagcgccaagaacacactgtatctgcaaatgaacagtctgagagtcgaagacacggctgtctattattgt 55 48 63 47 +JY8QFUQ01A3552 IGA1 ggattcacgttcagcagctatgcc atgacctgggtccgccagactccagggaaggggctggagtgggtctcaact attcatggcggtggtggcaccaca gactacgcggtctccgcccagggtcgattcaccatctccagagacaattccaagagcacactgtatttgcaaatgagcgacctgagacccgaggacacggccctctatttctgt 48 62 59 44 +JY8QFUQ01A35C3 IGA1 ggtgggtccctcaggggttacccc tggacctggatccgccacaccgcagagaagggactggagtggattggtcaa atcaatagtgatggaaggaca acctacaactcggccctcatgggtcgagtcaccatttcaacagacacatccaagaatcagttctcgctgactgtggtttctgttgtcgccgcggacacggcaatgtattattgt 50 54 58 48 +JY8QFUQ01A35F3 IGA1 ggattcacgtttagagactattgg atgagttgggtccgccaggctcctgggagggggctggagtgggtggccaac ataaagcaagatgcaagtgaggaa tactatgtggactctgtgaagggccggttcaccatctccagagacaacgccaagagctcactgcatttgcaaatgaacagcctgagagccgaggacacggctatgtattactgt 56 45 67 45 +JY8QFUQ01A35NF IGA1 aatggctccatcagcggaagtgtttactac tgggcctggatccgccagcccccagagaagggtctggagtacattggaagc atcttttatagtgggagcact tacttcaatccgtccctcaagagtcgagtcaccctatccgtagacacgtccaggaaccagttctccctgaggctgaagtctgtgaccgccgcagacacggctgtttattattgt 49 59 55 53 +JY8QFUQ01A365U IGA2 ggattccccatcagtggctttaga atgaactgggtccgccaggctccagggaaggggctggagtgggtctcatcc attgatagttttagtcagaacata tactacagagactcagtgaggggccgattcaccatctccagagacaacgccaggaactcattgtatctgcaaatgaacagcctgagagccgaggacacggctgtgtattactgt 56 50 59 48 +JY8QFUQ01A36CM IGG2 ggattccccttcaatatatggagc atgaattgggtccgccaggctccggggaagggactggagttgatcgcatac atcacaagtgatgaaagaaccata tactacgcagactctgtgaagggccgcttcaccatctctagagacaatgccaggaacctagtacatctggaaatgaacagcctgagggacggcgatctggctatctattactgc 60 51 56 46 +JY8QFUQ01A39KY IGA1 ggaggctccttcggcagctacact atcacctgggtgcgacaggcccctggacaagggcttgagtggatgggaagg atcacccctatccttggttcaaca agctactcacagaagttccagggcagagtcacgattaccgcggacacattcacgggcacagcctacatggagctgagcagcctgacatctgaagacacggccgtatattactgt 53 60 59 41 +JY8QFUQ01A3A5F IGA1 ggatacaccttcaccgattatgag atcaactgggtgcgacaggccactggacaagggcttgagtggatgggaagg ataaagcccaatactggttacaca gaatatgtacagaagttccagggcagagtcaccctgaccagggacacgtccatgggtacagcctacatggagttgcacagcctgagatctgacgacacggccgtgtattattgc 60 50 61 42 +JY8QFUQ01A3BD5 IGG1 ggcgactccatcagtggtcactac tggagctggatcaggcagcccccagggaagggactgcagtggattggttac atctatcacagtgggagcacc aactacaacccctccctcgagagtcgagtctccatttcagtagacacgtccaagaaccagttctccctgaggttgagttctgtgaccgctgcggacacggccgtgtattactgt 47 60 57 46 +JY8QFUQ01A3C67 IGA1 ggattcaccttcagtcgttatagc atgaactgggtccgccaggctccagggaaggggctggagtgggtctcatac attagtaggactactactgacata tactacgcagactcagtgaagggccgattcaccatctccagagacaacgccaagaactcactgtatctgcaaatgaacagcctgagagccgaggacacggctgtatatttctgt 58 53 55 47 +JY8QFUQ01A3DG1 IGA1 ggattcacctttagcaactatgcc atgagttgggtccgccaggctcaagggaaggggctggactgggtctcagat attagtaatagtggtggtgacaca ttctacgcaggctccgtgaagggccgcttcaccatctccagagacaacgccaagaacaccctgtatctgcaaatgaacagtctgagagtcgacgacacggctgtatattattgt 55 51 58 49 +JY8QFUQ01A3EUV IGG1 ggattcacctttaacaactacgcc atgtcctgggtccgccaggctccagggaaggggcttgagtgggtctcagct ataactgatagcggtctttacaca tactacgcagactccgtgaggggccggttcaccgtctccagagacacttccaagaacacgctgtttctgcaaatggacagcctgagagccgaggacacggccgtatatttctgt 49 59 57 48 +JY8QFUQ01A3F5T IGA1 ggattcacctttgatgattttggc atgagatgggtccgccaagtcccagggaaggggctacagtgggtctctggg attaattggaatggtgctaaaaca ggttatgcagcctctgtgcagggccgattcaccatctccagagacaacgacaacaacgtcctgtatctgcaaatgaacagtttgagacccgaggacacggccttgtatcgctgt 53 49 60 51 +JY8QFUQ01A3H9O IGG1 ggattcacctttagtaattatgcc ctgagctgggtccgccaggctccagggaaggggctggagtgggtctcagga atcagtagtagtggtgagatccca aactacgcagactccgtgaagggccggttcaccatctccagagacaattccaggaacacgctgtatctgcaaatgaacagcctgagagtcgaggacacggccgtatattactgt 54 52 62 45 +JY8QFUQ01A3HCE IGA1 ggattcaccttcaaagactactat atgacctggatccgccaagttccagggaaggggctggagcggatctcatat atcagtggcagtggtggcaccatt tactacgcagactctgtgaagggccggttcgccatctccagggacaacgccaagaacttactatacttacagatgaacagcctgagagtcgaggacacggccatatatcactgt 58 54 55 46 +JY8QFUQ01A3I1N IGA2 ggatacaactttgacaccgattgg atcgcctgggtgcgccagatgcccgggaaaggcctggagtggatggggatc atctatcctgctgactctgatacc agatacagtccgtccttccaaggccaagtcaccatctcagccgacaagtccatcaacaccgcctacctgcagtggagcggcctgaaggcctcggacaccgccatctattattgt 49 65 55 44 +JY8QFUQ01A3I5W IGG2 ggattcacctttagaagctatgcc atgagctgggtccgccaggttccagggaaggggctggagtgggtctcagct attagtggtaatggtgctaacaca tactacgcagactccgtgaagggccgattcaccatctccagagacaatttcaagaacacgctgtctctgcaaatgaacagcctgagagccgaggacacggccctatattactgt 55 53 58 47 +JY8QFUQ01A3IIQ IGA1 ggattcaacttcagaacctattgg atgggctgggtccgccaggctccagggaaggggctggagtgggtggccaac ataaagcacgatggaagtgacaag tactatgtggactctgtgaagggccgattcaccgtctccagagacaacgccaagaactcattgtttttgcaaatggacagcctgagagccgaggacacggctgtgtactactgt 55 48 66 44 +JY8QFUQ01A3IMB IGG1 ggattcatgttcagcagttattgg atgagctgggtccgccaggatccagggaaggggctggagtgggtggccaat ataaacgaagaaggaagtgagaaa tattatgtggactctgggaagggccgattcaggatctccagagacaacgccaagaattccgtgtatctgcaaatggacagcctgagagccgaggacacggctgtgtattactgt 59 39 70 45 +JY8QFUQ01A3IWM IGG2 ggattcacctttagaagctatgcc atgagctgggtccgccaggttccagggaaggggctggagtgggtctcagct attagtggtaatggtgctaacaca tactacgcagactccgtgaagggccgattcaccatctccagagacaatttcaagaacacgctgtctctgcaatgaacagcctgagagccgaggacacggccctatattactgt 54 53 58 47 +JY8QFUQ01A3KYL IGA2 ggattcaccttcagtagctactgg atgcattgggtccgccaagctccagggaaggggctggagtgggtctcacgt attcatagtgatgggactaccaca tactacgcggactccgtgaagggccgattcaccatctccagagacaacgccaggaacacgttgtatctgcaattgaacagtctgagagccgaggacacggctgtgtattattgt 52 52 61 48 +JY8QFUQ01A3MV4 IGA1 ggattcaccttcagtagctactgg atgcactgggtccgccaagctccagggaaggggctggtttgggtctcacgt gttaatggtgatgggggtaggaca gcctacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaacactctctatctccaaatgaacagtctgagagccgaggacacggcaatatattactgt 53 54 61 45 +JY8QFUQ01A3NLN IGA1 ggattcacctttagtaggtttgg atgacctgggtccgccagggtccagggaaggggctggagtgggtggccaac ataaagcaagttggaaatgagaga tactatgtggactctgtgaagggccgattcaccatctccagagacaacgccaagaactcattgtatctgcaaatgaacagcctgagagtcgacgacacggctgtgtattactgt 57 44 64 47 +JY8QFUQ01A3OS9 IGA1 ggtgaccccatcggcaacactgcttactcc tggggctggatccgccagcccccagggaaggggctggagtggatcgcgact gtacattatgctggcagcacc tactacaacccgtccctcaggagtcgagtcaccatctctgtggacacgtccaagaatcacttctccctgaagctgaattctgtgaccgcctcagacacggctgtatacttctgt 45 69 55 47 +JY8QFUQ01A3QD4 IGG1 ggtggctccatcagtagttcctac tggagctggatccggcagcccccagggaagggactggagtggattgggtat atctattacagtgggagcacc aactacaacccctccctcaagagtcgagtcaccatatcagtagacacgtccaagaaccagttctccctgaagctgacctctgtgaccgctgcggacacggccgtgtattactgt 49 60 56 45 +JY8QFUQ01A3QEB IGA1 ggattcacctttgatggttatgcc atgcactgggtccggcaagctccaggggagggcctggaatgggtctcaagt attaactggaatagtgatacaata gactacgcggactctgtgaagggccgattcactatctccagagacaacgccaagcactccctgtatctacaaatgaacaatctgagaaatgaggacacggccttgtattactgt 59 49 55 50 +JY8QFUQ01A3QNJ IGA1 ggggactccattagtggttactat tggacgtggatccggcaggccccagggaagggactggagtggattggaaat gtccattacactgggagtacc aagtacagcccctccctcaagagtcgagtcaccatgtcagttgacatgtccaggaaccagttcaccctcaaattgacctctgtagccgctgcggacacggccgtctattactgt 49 56 58 47 +JY8QFUQ01A3R6Q IGA2 ggggacagtgtctctaccaacagagctgct tggaactggatcaggcagtccccatcgagaggccttgagtggctgggaagg acatactacaggtccaagtggtataat gattatgcagtgtctgtgaaaagtcgaataaccatcaacccagacacatccaagaaccagttctccctgcagttgaattctgtgactcccgaggacacggctgtgtattactgt 60 53 58 51 +JY8QFUQ01A3SN3 IGA2 ggatttagctttagaaccttttgg atgagctgggtccgccaggctccagggagggggctggagtgggtggccaac ataaagtcagatggaagtgacaaa tggtatgtggactctgtgaagggccgattcaccatctccagagacaacgcgaagaactcactgtatctgcaaatgaacagcctgagagccgaggacacggctatatattactgt 58 44 65 46 +JY8QFUQ01A3V0Z IGG2 ggtttcagcttaagtgactattgg atgaactgggtccgccaggctccagggaaggggctcgagtgggtggccatc ataaagaaagatggaagtgaagaa ctctatttggactctgtgaagggccgattcaccgtctccagagacaacgccaagaactcactgtatctggaaatgaacagcctgagccccgaggacacggctgtatatttctgt 57 47 62 47 +JY8QFUQ01A3VGZ IGG1 ggattcacctttggttattatggc atgactggtccgccaagctccggggagggggctggagtgggtctctggt attaatcggaatggtgatagcaca ggttatgcagactctgtgcaggaccgattcaccatctccagagacaacgccaagaactccctgtatctcgaaatgttcagtctgacagccgaggacacggccttatatcactgt 49 51 59 52 +JY8QFUQ01A3VOS IGG1 ggattcaccttcagtacatactgg atgcactgggtccgccaagctccagggaaggggctggtgtgggtctcccgt atcaatcctgatgggcgaatcaca aactacgcggactccgtgaatggccgattcaccatctccagagacaacgccaagaacacgctgtatctgcaaatgaacagtctgagagccgaggactcggctgtgtactactgt 53 58 58 44 +JY8QFUQ01A3W9F IGA1 gatgggtccatcggaagttactac tggacttggatccggcagcccgccgggaaggcaatggagtggatcgggcgt gtctttagaactgggaacacg aattacaacccctccctcaagagtcgggtcaccatgtcagttgacacgtccaagaatcaattctccctgaagctgagctctgtgaccgccgcggacacggccgtgttttactgt 47 57 60 46 +JY8QFUQ01A3YON IGG1 ggattcaccttcagtagttataac atgcactgggtccgccaggctccaggcaaggggctggagtgggtggcagtt atatcatatgatggaagaaataaa tactatgcagactccgtgaagggccgactcaccatctccagagacaattccaagaacatgttgtatctgcaaatgaacagcctgagacctgaggacacggctgtgtattactgt 61 47 56 49 +JY8QFUQ01A3ZB9 IGA1 ggatacaccttcagtaattatgct atacattggttgcgccaggcccccggacaaaggcttgagtggatgggatgg atcaacgctggcacgggtaacaca aaatattcacagaagttccagggcagagtcaccattaccagggacacagccgcgaccacagcctacatggaattgagcagcctgaaatctgaggacacggccgtgtattactgt 61 53 57 42 +JY8QFUQ01A3ZD4 IGA1 ggtgactctcacttc tggagctggatccggcagcccccagggaagggcccggagtggattggttat gtctataacagtgggaccacc aactacaacccctccctcaggagtcgagtcaccatttctatcgacacgtccaagaagcagatctccctgaagttgaactctgtgaccgctgcggacacggccgtgtattactgt 45 59 53 44 +JY8QFUQ01A44PN IGG1 ggtggctccatcaacagtggtggttactac tggagttggatccgccagcacccagggaagggcctggagtggattgggtac atctattacagtgggagtacc tactacaacccgtccctcaagagtcgagttaccatatcagtagacacgtctaagaaccagttctccctgaagctgagctctgtgactgccgcggacacggccgtgtattactgt 50 56 60 50 +JY8QFUQ01A453G IGA1 ggattcaccttcagtgactatgcc atgagctgggtccgccaggctccagcgaaggggctggaatgggtctcagcg attagcagtagtggtgatagaaca tactacgcagactccgtgaagggccgattcaccatctccagagacagttccagggggactctgtatttgcaaatgaaccgcctgagcgccgaggacacggccctatatttctgt 50 55 62 46 +JY8QFUQ01A45ND IGA1 ggatacaccttcaccagctactat atacactgggtgcgacaggcccctggacaagggcttgagtggatgggaata atcgaccctagtggtggtgccaca agctacgcacagcagttccagggcagagtcaccatgaccagggacacgtccacgagcacagtctatatggagctgagcagcctgagatctgacgacacggccgtgtattactgt 55 57 61 40 +JY8QFUQ01A465M IGG1 ggattcacatttagaagctattcc atgaattgggtccgccaggctccagggaaggggctggagtgggtctcagct gtcagtggtggtggggggcgcaca aactacgcggagtccgtgaagggccggttcaccatctccagagacaattccagggggacggtgttcttacaaatgaacagcctgagagtcgaagacacagccttatattattgt 51 47 68 47 +JY8QFUQ01A476X IGA1 ggattcacgtttagtgactactac atgacctggattcgtcaggctccagggaagggcctggagtgggttacatat attagtagtagtggtggtaacaca cattacgcagactctgtgaagggccgattcaccatctccagggacaacgccaagaacgcactgtatctgcaaatgaacagcctgagggccgaggacacggccgtgtattactgt 56 49 60 48 +JY8QFUQ01A47U3 IGA2 ggattcaccttcagtagctatggc atacactgggtccgccaggctccaggcaaggggctggagtgggtggcagtt atatggtatgatggaagtgaaata tactatgcagactccgtgaagggccgcttcaccatctccagagacaattccaagaacacgctgtatctgcaaatgaacagcctgagagccgaggacacggctgtgtattactgt 56 49 61 47 +JY8QFUQ01A481H IGG2 ggattcacctttaccaactatggc atgagctgggtccgccaggctccagggaaggggctggagtgggtctcaggt attagtggtagtggtgatagaaca taccacgcagactccgtgcagggccggttcaccatctccagagacaactccaagaacactctgtatctgcaaatgaacagtctgagagccgacgacgcgggcgtatattactgt 53 53 62 45 +JY8QFUQ01A48DI IGA2 ggattcaccttcagcaagtatgcc atgagctgggtccgccaggctccaggggaggggctgcagtgggtctcagca attagtggaaatggtgctgatata tactacgcagactccgtgaacggccggttcaccatctccagagacaattccaagaacacgctatatctgcaaatgaacagcctgagagccgaggacacggccgtatactactgt 56 55 59 43 +JY8QFUQ01A4AB0 IGG4 ggattcaccttcagtagctatgct atgcactgggtccgccagactccaggcaagggactagagtgggtggcagtt atatcatatgatggaagtgactac gactacgcaggctccgtgaagggccgattcaccatctccagagacagttccaagaacatgctgtatctgcaaatgaacagcctgagacctgaggacacggctgtgtatcactgt 56 52 58 47 +JY8QFUQ01A4BI4 IGA1 ggatttacctttagcagttatgcc atgaactgggtccgccaggctccagggaaggggctgcagtgggtctctggt attagtggtggtggtgatgacaca tactacgcagactccgtgaagggccggttcaccgtctccagagacaattccaagaacacgctgtatctgcaaatgagcagcctgagagccgaagacacggccgtgtattactgt 50 51 64 48 +JY8QFUQ01A4C55 IGG1 ggtgactccttcagaactcactac tggagttggattcgacagcccccggggaggagattggaatggattggcaat atatattatattgggaccacc aactacaacccctccctcaagagtcgagtcaccatgttagtggacacgtccaagaagcagttctccctgagactgagttctgtgaccgctgcggacacggccatgtattattgt 53 53 53 51 +JY8QFUQ01A4D0Z IGA2 ggatacaccttcagtacctatact atgaattgggtgcgccaggcccccggacaaaggcttgagtggatgggatgg atcaacgctgaccttggcaacaca aaatattcacagaagttccagggcagactcaccattaccagggacacatccgcgaacacagcctacatggagctgagcagcctgacatctgaagacacggctgtgtattactgt 61 56 54 42 +JY8QFUQ01A4E73 IGA2 ggattcacctttagtagatattgg atgcactgggtccgccaagctccagggaaggggctggtgtgggtctcacgt attaatgaagatgggaggaccaca acctacgcggactccgtgaatggccgattcctcatctccagagacaacgccaagaatacgttgtatctgcagatgagcagtctgagagtcgaggacacggccatgtattattgt 54 48 62 49 +JY8QFUQ01A4ENF IGA2 ggattcaccttcaaaaagtatggc atgaactggctccgccaggctccagggaaggggctggagtgggtcgcaacc attcgcagtagtggtacttccata cactatgccgactccgtgaagggccgattcactatcaccagagacaacgccaacaactcactgtatctgcaattgaacagcctgggagtcgaggactcggctgtgtatttctgt 53 56 57 47 +JY8QFUQ01A4HOH IGG1 ggattcaccttcagtagctatagc atgaactgggtccgccaggctccagggaaggggctggagtgggtctcatcc attagtagtagtagtagttacata tactacgcagactcagtgaagggccgattcaccatctccagagacaacgccaagaactcactgtatctgcaaatgaacagcctgagagccgaggacacggctgtgtattactgt 58 51 57 47 +JY8QFUQ01A4HT0 IGG1 ggattcacctttggttattatggc atgagctgggtccgccaagctccggggagggggctggagtgggtctctggt attaatcggaatggtgatagca ggttatgcagactctgtgcaggaccgattcaccatctccagagacaacgccaagaactccctgtatctcgaaatgttcagtctgacagccgaggacacggccttatatcactgt 48 50 61 52 +JY8QFUQ01A4I3A IGG1 ggattcaccttcagtagttatagc atgcactgggtccgccaggctccagggaagggactggagtgggtctcctcc attagtagtaatagtgcctacaca gaccacgcagactcagtgaagggccgattcaccatctccagagacaacgacaagaggtcactgtatctgcaaatgaacagcctgagagccgaggacacggctgtgtattactgt 57 54 58 44 +JY8QFUQ01A4IGN IGG2 ggattcacatttagtaattattgg atgatctgggtccgccaggctccagggaaggggctggagtgggtggccaac ataaaccaagatggaggtgacatg gcctatgtggactctgtgaagggccgattcaccatctccagagacaacgccaagaactctctgtatctgcaaatgaacagcctgagagccgaggacacggctatatattactgt 58 47 61 47 +JY8QFUQ01A4IHW IGA1 ggattcagtttcagagacgcctgg atgaattgggtccgccagtctccagggaaggggctggagtgggttggccgt gttaaaaggaaaactgatggtgggacgtcg gaatatgctgcattcgtgaaaggcagattcaccatctcaagagatgattcagaaaacacactgtatctgcaaatgaacagcctggaaatcgacgacacagctgtgtatcgttgt 61 42 66 50 +JY8QFUQ01A4J2Q IGA1 gggttctccgtcagtttcaactac atgagctgggtccgccaggctccagggaaggggctggagtgggtctcagtt atctatgccgatggaagtaca ttctatgcagactccgtgaagggccgattcatcatctccagagacaattcaaagaacacgctcaatcttcaaatgaatagtttgagagttgacgacacggctgtgtattactgt 53 47 56 54 +JY8QFUQ01A4JI5 IGG1 ggattcaccttcggtaactcaacc atgaactgggtccgccaggctccagggaaggggctggaatggctgtcatat cttagtagtggtggtgatgtcaaa tactacgcaggctctctgaagggccgattcaccatctccagagacagtgccaggaactcactgtatctgcaaatgaacagcctgacagacgaggacacggccgtatattactgt 55 53 58 47 +JY8QFUQ01A4KIH IGG1 ggattcatcttcagtagctatgcc atgaattgggtccgccagactccagggaaggggctggagtgggtctcagcc attagtggtagtggtggtaacaca tactacgcagactccgtgaagggccggttcaccgtctccagagacaattccaacaacacgctgtatctgcaattggacagcctgcgagccgaggacacggccgtatattactgt 51 54 61 47 +JY8QFUQ01A4KIW IGA2 ggattcacctttactagttacagt ttcaactgggtccgccaggctccagggaaggcgctggagtggatttcatac atcactatcaatggtaatgacaag ttctacgcaggctctgtgaagggccgattcgccgtctccagagacgatgccaagaattctctgtatctgcaaatgagcagcctgagagccgaagacacgggtgtttattactgt 53 50 56 54 +JY8QFUQ01A4LR9 IGG3 ggtgggtccatcagcagtactagttactac tggagctggatccggcagcccgccgggaagggactggagtggatggggcgt atctataccagtgggatcacc aactacaacccctccctcgagagtcgagtcaccttttcagtggacacgtccaagaaccagttctccctgaagctgaagtctgtgaccccgcagacacggccgtttattactgt 48 61 60 46 +JY8QFUQ01A4LRG IGA2 ggatacaccttcaccgtctactat ctattctgggtgcgacgggcccctggacaagggcttgagtggatgggatgg atcaaccctaagagtggtgacaca cactatgcaccgaaattccagggcagggtcaccatgaccagggacacgtccatcagcacagcctacatggaactgaataggctgagatctgacgacacggccgtgtattactgt 55 56 59 43 +JY8QFUQ01A4LRU IGG2 ggattcacctttaccacctccgcc atggcctgggtccgccaggttccagggaaggggctggagtgggtctcaact attagacctagtggtgagagaacc tactacgcagagtccgtgaggggccgcttcaccatctccagagacaattccgagaacacgttgtatctacaactgaacaacctgagagtcgaggacacggccatatattactgt 53 58 57 45 +JY8QFUQ01A4MB9 IGG1 ggtggctccgtcagcagtggaaattcctac tggacctggatccgccagtcccccgagaagggactggagtggcttgcatat attcgaaacactgggacaacc aactacaacccctccctcaagagtagactcaccatgtctctggacatgtctaggaatcagttctccctgaggctgaacgatgtgaccgctgcggacacggccatatattactgt 53 62 54 47 +JY8QFUQ01A4MZ9 IGA1 ggattcacctttagtgactatgcc ataagctgggtccgccaggctccaggaaaggggctggagtgggtctcctct attagtgctactggtggaattaca tcttacgcagattccgtgaagggccggttcaccattttcagagacaactccaaagacacgctgtatctgcaaatgggcagcctgagagacgaggacacggccatttattactgt 52 51 58 52 +JY8QFUQ01A4NWM IGG2 ggattcacctctagcgcctatacc atgagttgggtccgccaggctccagggaaggggctggagtgcgtctcagct attagtggtggtggtactagcaca tactacgcagactccgtgaagggccggttcaccatctccagagacacttccaagaacacactgtctctgcacctgaacagcctgagagtcgaggacacggccatatatttctgt 49 59 58 47 +JY8QFUQ01A4ORW IGG1 ggattcgactttaaggaatatgcc atacactgggtccggcaagttccaggaaagggcctggagtgggtcgcgggc atcaactggaatcggggcaaagca ttgtatggggactctgtgaggggccgattcaccatctccagagacaacgcccagaactccgtgtctctgcaaatgaacagtctgaggcctgacgacacggccttgtatatctgt 52 52 64 45 +JY8QFUQ01A4P7X IGG2 ggattcacctttagcagctatgcc atgagctgggtccgccaggctccagggaagggctggagtgggtctcagct attagtggtagtggtggtagcaca tactacgcagactccgtgaagggccggttcaccatctccagagacaattccaagaacacgctgtatctgcaaatgaacagcctgagagccgaggacacggccgtatattactgt 52 53 62 45 +JY8QFUQ01A4PSY IGG2 ggattcgactttagcggctttgcc atgagctgggtccgccaggccccagggaaggggctggagtgggtctcaact attactagtggtggtggtgtcgta ctctacgcagactccgtgaagggccgattcaccatctccagagacaatgccaagaacacactgtatctgcagatgaacagcctgcgagccgaggacacggccgtttatttctgt 46 55 64 48 +JY8QFUQ01A4RGQ IGA1 ggattcatcctcagtgactaccac atggagtgggtccgccaggctccagggaaggggctggagtgggttggccgt agtagaaagaaagctaatagttacagtaca gaatatgccgcgtctgtgaaaggcagattctccatttcaagagatgattcaaagaactcactgtatctgcaaatgaacagcctgaaaatcgacgacacggccgtgtattattgt 64 45 60 50 +JY8QFUQ01A4RRU IGA1 ggattcacctttcgcagctatgcc atgacctgggtccgccaggctccagggaaggggctggaatgggtctcaact attagtggtagtgctggtagcaca ttctacgcagactccgtgaagggccggttcaccatctccagagacaattccaagaacacgctgtatctgcaaatgaacagcctgagagccgacgacacggccatctacttctgt 51 59 57 46 +JY8QFUQ01A4SGO IGA1 ggatacaccttcaccgtctactat ctattctgggtgcgacgggcccctggacaagggcttgagtggatgggatgg atcaaccctaagagtggtgacaca cactatgcaccgaaattccagggcagggtcaccatgaccagggacacgtccatcagcacagcctacatggaactgaataggctgagatctgacgacacggccgtgtattactgt 55 56 59 43 +JY8QFUQ01A4U6K IGG1 ggtggctccatcagcagtggtagtcactac tggagttggatccggcagcccgccgggaagggactggagtggattgggcgt atctatgccggttggaccacc aattacaatccctccctcaagagtcgagtcaccatatctatagacacgtcccagaaccagttctccctgaagctgagctctgtgaccgccgcggacacggccgtgtattactgt 46 62 61 47 +JY8QFUQ01A4UD9 IGA2 ggattcaccttcagtaactatagt atgaactgggtccgccaggctccagggaagggcctggagtgggtctcatcc atcagtagtggtggtagtttcaaa caccacgcagactcagcgaagggccgattcaccatctccagagacaacgccaagaactcactgtatctgcaaatgaacagcctgagagccgaggacacggctgtgtattattgt 57 54 57 45 +JY8QFUQ01A4UI3 IGA1 ggattcacctttaccaactatggc atgaggtgggtccgccaggctccagggaaggggctggagtgggtctcagat attagcgctggtggcgataacaca tactacgcagactccgtgaagggccggttcaccatctccagagacaatttcaggaacacgctgtatctgcaaatgagcagcctgagagccgaggacacggccctttattactgt 52 54 62 45 +JY8QFUQ01A4VB0 IGA2 ggtgcctccatcaccagtggtactttttac tgggcctggatccgccagcccccagggaaggggctggagtgggttggcaat atctattctagtggtgtcgcc tattacaacccgtccctcaagagtcgagtcaccatgtccgtcgacacgtccaagaatgagttttccctgacactgacctctgtgaccgccgcagacacggctgtatatttctgt 42 63 56 55 +JY8QFUQ01A4W5D IGA2 gggttcaccgtcagtagcaagttc atgagctgggtccgccaggctccagggaaggggctggagtgggtctcaatt acttatcctgatggtactaca tattatggagactccgtgaagggccgattcaccatctccagagacaattccaagaacacgctggatcttcaaatgaacagcctgagagccgaggacacggccgtttattattgt 53 50 58 49 +JY8QFUQ01A4X8T IGA1 ggattcacctttgacgactatggc atgcactgggtccggcaaggtccagggaagggcctggagtgggtctcaagt atcagttggaacagtgctaagata gactatgcggacgctgtgaagggccgattcaccacatccagagacaacgccaagaactccatctttttgcaaatgaacagtctgagaaatgacgacacggccttctacttttgt 57 50 58 48 +JY8QFUQ01A4XPO IGA1 ggattcaccttcagttctcacact atgaactgggtccggcaggctccagggaaggggccggagtgggtctcaacc attggtactagaggtagatccata tactacgcggactcagtgaagggccgattcaccacctccagagacaacgccaagaaatcactttatctggatatgcacagcctgagagccgaggacacggctatctattactgt 56 56 56 45 +JY8QFUQ01A4XSE IGA1 ggatatagttttgccacctactgg atcggctgggtgcgccagaggcccgggaagggcctggagtggatgggggtc atctatcctggtgactctgatacc agatacagcccgtccttccaaggccgggtcaccatttcagccgacaagtccctcagtatcgcctacctgcagtggagcagcctgaaggcctcggacaccgccatatattactgt 43 62 62 46 +JY8QFUQ01A528Y IGA2 ggatttaccttcagtggctatggc atgcactgggtccgccaggctccaggcaagggcctggagtgggtgacagtt gtttcatatgatggaagtattaag aattatgcagactccgtgaagggccgattcaccatctccagagacgattccaagaatacgctgtatctgcaaatgagcagcctgggacctgaagacacggctatatattactgt 55 47 59 52 +JY8QFUQ01A53DH IGA1 ggattcaccttcggaacctatgcc atgacgtgggtccgcctgactcctgggaaagggctggagtgggtttcatgg attagtgatatcggtgacaca cgctatgcagattctgtgaagggccgattcaccatctccagagacaatgccaagaattcactgtttctgcaaatggacagtctcagagccgacgacacggctatatattattgt 52 49 56 53 +JY8QFUQ01A53VQ IGG2 ggattcacctttagtagttttgcc atgacctgggtccgtcaggctccagggaaggggctggagtgggtctcaact attcattataatggtgataacaca tactacgcagactccgtgaggggccgattcaccatctccagagacgattccaagaccacgctgtatctgcaaatgaacagcctgagagccgaggacacggccgtatattactgt 54 53 56 50 +JY8QFUQ01A554Z IGG2 ggattcacctttagtacctatggc atgctctgggtccgccatgttgcaggcaaggggctggagtgggtggcaact atatcagctgatggacgaaataaa tactatgcagattccgtgatgggccgattcgccctctccagagacaaatccaagaacacggattatctgcaaatgaacagcctgagaactgacgacacggctgtatattactgt 58 49 56 50 +JY8QFUQ01A55FP IGA2 ggattcagctttagttactattgg atgagctgggtccgccaggctccagggaaggggctggagtgggtggccaac ataaaggaagatggaagtgagaga cactatgtggactctgtgaagggccgattcaccatctccagagacaacgccaagagctcactgtatctgcaaatgaacagcctgagagccgaggacacggctgtatattactgt 58 45 66 44 +JY8QFUQ01A56UP IGA1 ggtggccccatcagcagtggtacttactac tggacttggatccggcaggccgccggggagggactggagtggatcggacgt gtttatattagtgggagcacc acctacaatccctccctcaagagtcgaatcaccatatcactagacacgtccaagaaccagatcttcctgaagttgaggtctgtgaccgccgctgacacggccgtatattactgt 50 59 59 48 +JY8QFUQ01A572P IGA1 agattcaccttcagtagctataat atgcactgggtccgccaggctccaggcaaggggctagagtgggtggcagtc atattatatgatggaagtaacagt tattacgcagactccgtgaagggccgattcaccgtctccagagacaattccaagaacacactgtatctgcaaatgaacagcctgagagctgaggacacggctgtgtattactgt 60 48 56 49 +JY8QFUQ01A58UD IGG1 ggattccttttagaacctattgg atgagttgggtccgccaggctccagggaaagggctggagtgggtggcccac ataaaccaagatggacgtgaggca tactatgtggactctgtgaagggccgattcaccatctccagagacaacggcaagaattcagtatatctgcaaatgaacagtctgagagccgaggacaccgctatgtattattgt 58 45 61 48 +JY8QFUQ01A5935 IGA1 ggtggccccatcagcagcagcacttactac tggacttggatccggcaggccgccggggagggactggagtggatcggacgt gtttatattagtgggagcacc aactacaatccctccctcaagagtcgaatcaccatatcactagacacgtccaagaaccagatcttcctgaagttgaggtctgtgaccgcctctgacacggccgtatattactgt 52 60 57 47 +JY8QFUQ01A5AND IGA1 ggattcacctttagtaaatattcc atgaactgggtccgccaggctccaggcaaggggctcgagtgggtggcactt atatcatacgatggaagtagaaaa atctacgcagattccgtgaagggccgattcaccatctccagagacaattccaagaacacggtatatctccaaatgagtagcctgagacctgaggacacggctgtctattactgt 61 50 53 49 +JY8QFUQ01A5ATC IGA2 ggatacaccttcaccaggcactat atgcactgggtgcgacaggcccctggacaaggacttgagtacatgggagta atcaaccctagtggtggcgacaca agctacgcacagaggttccggggcagagtcgccgtgaccagagacacgtccacgagcacagtctatatggacttgagcagcctgagacctgaggacacggccatgtattattgt 56 56 62 39 +JY8QFUQ01A5BO8 IGA2 ggattcacctttagtagttactgg atgcactgggtccgccaagctccaggggagggactggtgtgggtctcacgg actaatgaagatgggagtatcaca aactacgcggactccgtggaggaccgattcaccatctccagagacaacgccaagaacaggctgtatctgcaaatgaacagtctgagagccgaggacacggctgtgtattactgt 56 50 63 44 +JY8QFUQ01A5C4M IGA1 ggattcatttttagaaattttgcc atgagttggctccgccaggcaccagggaaggggctggaatgggtctcgact atcagcagcagtggtgacacggca tattactcagactccgtgaggggccgcttttccatctccagagacaactccaagagcactctgttcttgcagatgaacagcctgagtgccgaagacacggccatttactactgt 51 54 57 51 +JY8QFUQ01A5D4P IGA1 ggattcgactttagcagcgcttcc atggcctgggtccgccaggctccagggaaggggctggagtggatctcagct gtcagtggacgtggtgacaacacc ttctacgcagcctccgtgaagggccggttcaccatctccagagaccattccaagaacacgctgtggcttcaaatgaacaacctgagagccgaagacacggccctatattactgt 49 61 60 43 +JY8QFUQ01A5FS2 IGA2 ggattcaccttcagtaactatagc atgaactgggtccgccaggctccagggaaggggctggagtgggtctcatcc attagtagtagtgctaggtacata tactacgcagactcagtgaagggccgattcaccatctccagagacaacgccaagaactcactgtctctgcaaatgaacagcctgagagccgaggacacggctgtgtattactgt 57 53 57 46 +JY8QFUQ01A5FUX IGG2 ggattcaccttcagtacctatgct atgtactgggtccgccaggctccaggcaaggggccagagtgggtgtcagtg atatcacatgatggaaataaggaa gaatacgcagactccgtgaagggccgattcaccatttccagagacaactccaagaaaatgttgtacctgcaaatgaacaaccagcgacctgatgacacggctgtttattattgt 62 49 54 48 +JY8QFUQ01A5GJK IGG2 ggattcaccttcagtagttactgg atgcactgggtccgccaagttccagggaagggactggtgtgggtctcacga attaatactgatgggagtgccaca agttacgcggactccgtgaggggccgattcaccatctccagagacaacgccaagaacacgctatatcttcaaatgaacagtctgagagtcgaagacacggctgtctattactgt 56 51 58 48 +JY8QFUQ01A5HXY IGG1 ggtgggtccttcagtggttacttc tggaactggatccgccagcccccagggaaggggccggagtggattggagaa gtcagtcatgatggaagtacc aacttcaatccgtccctcaagagtcgagtctccatgtcagttgacacgatcaagaagcaggtcttcctgaaactgagctctgtgactgccggggacacggctatatattattgt 49 50 61 50 +JY8QFUQ01A5I8W IGA1 ggattcaccttcagtagctactgg atgcattgggtccgccaagctccagggaaggggctggagtgggtctcacgt attcatagtgatgggactaccaca tactacgcggactccgtgaagggccgattcaccatctccagagacaacgccaggaacacgttgtatctgcaattgaacagtctgagagccgaggacacggctgtgtattattgt 52 52 61 48 +JY8QFUQ01A5IKH IGG1 ggattcgctttaccacgtactgg atcggctgggtgcgccagatgcccgggaagggcctggagttgatgggaatc atctttcctggtgactctgaggcc agatacagcccgtccttccaaggccaggtcaccctctcagccgacacgtccaccaccaccgtctatctgcagtggagcagtctgaggacctcggacaccgccgtgtattactgt 40 66 60 46 +JY8QFUQ01A5IOF IGG1 ggattcacatttggtgactacgtc atgacttggatccgccaggctccagggaaggggctggagtggatttcgtac atcaccactgatggttctttgata gaatatgcagaatctgtgaagggccggttcaccatttccagggacaacgccaagaactcactgtggctgcagatggacaacctgagagtcgacgacacggccgtttattactgt 52 49 60 52 +JY8QFUQ01A5JVK IGA1 ggattcgccttcagtagttccagc atgaactgggtccgccagggtccagggaaggggctggagtggatttcacac attaggggtagtagtagtaccacc cactacgcagactctgtgaagggccggttcaccatctccagagacaatgccaagaactcactgtatctgcaaatgaacagtctgagagccgaggacacggctgtttattactgt 54 52 60 47 +JY8QFUQ01A5MH8 IGG1 ggattcacctacagcagctatgcc atgagctggtccgccaggctccagggaaggggctggagtgggtctcagca attagtggtggtggtgctagtaca taccacgcagactccgtgaagggccgattcaccatctccagagacaattccaagaacacgctgtatttgcaaatgaacagcctgagagccgacgacacggccgtatattactgt 54 55 60 43 +JY8QFUQ01A5NL9 IGA1 ggatacagcttcactaatcacatt atccattgggtgcgccaggcccccggacaagggcttgagtgggtggggtcg atcaacgctggcaatggcaataca agatattcacagaagttgcagggcagagtcaccatttccagggacacatccgcgagcatcgccaacatggagttgagcagtctgagatatgaagacacggctgtatattattgt 58 49 60 46 +JY8QFUQ01A5OJ5 IGG1 ggattcaacttcaatagttttggc atgcactgggtccgccaggctccgggcaagggactggagtgggtggcaaac atatggtatgatggaggtagtcaa cactatgcagacctcgtgaagggccgattcaccatctctagagacaattccaagaacatcttgttcctgcaaatgagcgacctgagagccgaggacacggctgtttattattgt 55 47 60 51 +JY8QFUQ01A5SB0 IGG1 ggattcagcttcagtacctataac atgaactgggtccgccaggctccagggaaggggctggagtgggtctcatcc ataagtagtggtagtacttacata tatcacgcagactcagtgaagggccgattcaccatctccagagacaacgccaagaagacactttacctgcaaatgaacagcctgagagccgaggacacggctgtgtattactgt 60 52 56 45 +JY8QFUQ01A5U3W IGA1 ggattcattttcagtacttatcct atgcactgggtccgccaggctccagggaagggactggaatatgtttcagct attagtcgtaatggggataacgca tattatgcagactctgtgaagggcagattcaccatgtccagagacaattccaagagcacactgtatcttcagatgggcagcctgagagctgaggacatggctgtgtattactgt 55 44 57 57 +JY8QFUQ01A5V9M IGA1 ggattcacctttagtgattataga atgaattgggtccgccaggctccagggatggggctggaatgggttgcacac attagtaccagtggtagtagtata tactatgcagactctgtgaagggccgattcaccgtctccagagacgatgccaagaattcactttttctgcaaatggacagcctgagagacgacgacacggctgtatattactgt 56 44 58 55 +JY8QFUQ01A5VSB IGA1 ggattcaccttcagcaagtatgcc atgagctgggtccgccaggctccaggggaggggctgcagtgggtctcagca attagtggaaatggtgctgatata tactacgcagactccgtgaacggccggttcaccatctccagagacaattccaagaacacgctatatctgcaaatgaacagcctgagagccgaggacacggccgtatactactgt 56 55 59 43 +JY8QFUQ01A5WKX IGG1 ggattcacgtttggcagccacgcc atgagctgggtccgccaggctccagggaaggggctggagtacgtctcaatt gttactggtagcggacgcagcaca tactacgcagagtctgtgaagggccggttcaccgtctccagagacaattccaaggacaccctgtatctgcaaatggacagcctgagagccgaggacacggccgtgtattattgt 49 56 65 43 +JY8QFUQ01A5XDS IGA1 ggatacaccttcaccggctactat ctattctgggtgcgacgggcccctggacaagggcttgagtggatgggatgg atcaaccctaagagtggtgacaca cactatgcaccgaaattccagggcagggtcaccatgaccagggacacgtccatcagcacagcctacatggaactgaataggctgagatctgacgacacggccgtgtattactgt 55 56 60 42 +JY8QFUQ01A5ZKW IGA2 ggattcactttcagtgacgcctgg atggtctgggtccgccaggctccagggaaggggctggagtgggttggcctt attaagaccaaacctgatggttggacaaca atctactctgcacccgtgaaaggcagattcatcatttcaagagatgattcaaaaaacatggtgtttctgcaaatgaacaacctgagaaccgaggacacagccctttattactgt 60 49 57 53 +JY8QFUQ01A60V7 IGA1 ggattcctcttcagtagctttaac atgaactgggtccgccaggttccagggaagggtctggagtgggtttcatac attaatagtagaggtactaacata tactacgcagactctgtgaagggccgattcaccatctccagagacaatgccaggaattcactgtatctgcaaatgaacagcctgagagccgacgacacggccatctactactgt 59 51 52 51 +JY8QFUQ01A64VB IGA1 ggtggctccatcaccagtagtctttaccgc tggggctggatccgccagtccccagggaagggcctggagtggatagggaat atcttttatggtgggaccacc tactacaacccgtccctcaagagtcgagtcaccttatccatagacacgtccaagagccagttctccctgaagctgtcctctgtgaccgccgcagacacggctctatattactgt 46 65 55 50 +JY8QFUQ01A666E IGA1 ggattcacctttagtcgttatagc atgaactgggtccgccaggctccagggaaggggctggagtgggtctcatac attagtaagactactaatgacata tactatgcagactcagtgaagggccgattcaccatctccagagacaacgccaagaactcactgtatctgcaaatgaacagcctgagagccgaggacacggctgtgtatttctgt 59 50 55 49 +JY8QFUQ01A68J9 IGA2 ggattcaccttcagtaactatagc atgaactgggtccgccaggctccagggaagggctggagtgggtctcatcc attagtagtagtgctaggtacata tactacgcagactcagtgaagggccgattcaccatctccagagacaacgccaagaactcactgtctctgcaaatgaacagcctgagagccgaggacacggctgtgtattactgt 57 53 56 46 +JY8QFUQ01A698F IGA1 ggattcacgtttaggacctatgcc atgacctgggtccgccaggctccagggaaggggctggagtgggtctccggt attggtggtagtggtcgaaccaca cactacgcagactccgtgcagggccggttcaccatctccagagacaattccaagaacacggtggatctgcaaatgaacagcctgagagccgaggacacggccatatattactgt 51 56 64 42 +JY8QFUQ01A699S IGA1 ggattcccctttagcaactatgcc atgacctgggtccgccaggctccaggggagggactggaatgggtctcaagt attagaggtagtggtgacaggaca tcctacgcagactccgtgaggggccggttcaccatctccagagacaattccaagaacacggtgtatctgcagctgaacaacctgagagccgaggacagggccgaatattactgt 54 54 63 42 +JY8QFUQ01A69S0 IGG1 ggattcaccttcagtagctatagc atgaactgggtccgccaggctccagggaaggggctggagtgggtttcatac attagtagtagtagtagtaccata tactacgcagactctgtgaagggccgattcaccatctccagagacaatgccaagaactcactgtatctgcaaatgaacagcctgagagccgaggacacggctgtgtattactgc 58 50 57 48 +JY8QFUQ01A6BXT IGG2 ggattcacttttgatgactctgcc atgcactgggtgcggcaagctccagggaagggcccggagtgggtcgcaggt attagtggaaatagtggaaatata ggatatgcggactcagtgaagggccgatgcaccatctccagagacaacgccaagaagtccctgtttctgcaaattaaaagtctgagagttgaggacacggccttatattattgt 57 43 63 50 +JY8QFUQ01A6CNG IGG1 ggtggctccgtcagcagtggaaattcctac tggacttggatccgccagtcccccgagaagggactggagtggcttgcatat attcgaaacactgggacaacc aactacaacccctccctcaagagtagactcaccatgtctctggacatgtctaggaatcagttctccctgaggctgaacgatgtgaccgctgcggacacggccatatattactgt 53 61 54 48 +JY8QFUQ01A6CSB IGA1 ggatacaactttcccagatattgg atcgcctgggtgcgccagattcccgggagaggcctggagtgggtggggatg atctatcctggtgactctgagacc agatacagtccgtccttccaaggccaggtcaccatctcagccgacgcgtccatgaacaccgcctacctgcagtggagcagcctgaaggcctccgacaccgccatatacttctgt 45 65 59 44 +JY8QFUQ01A6HGP IGA1 gcattcatgttcaacaaagcctgg atgaattgggtccgccaggctccaggaaagggactggagtgggttggccgt attaaaagtaacggcgacggtgcgacagtc gactacgctgcacccgtgaaaggccgattcaccatctcaagagatgattcacagaataccctcttcttacaaatgagcagcctgaaagccgaggacacagccgtctattattgt 61 54 58 46 +JY8QFUQ01A6IQL IGA2 ggtggctccatcagcagtgttaactgg tggagttgggtccgccagcccccagggaaggggctggagtggattggggag atctctcacagtgggaacacc aactacagcccgtccctcaagggtcgagtcaccatatcaataaacaagtccaagaaccaattctccctgaagctgagctctgtgaccgccgcggacacggccgtgtattactgt 50 59 62 42 +JY8QFUQ01A6IZH IGG2 ggattcacctctcctagatactgg atgaattgggtccgccaggcttccgggaaggggctggagtgggtggccaac ataaagcaagacggaagtgagaaa aactttgtggactctgtgaagggccggttcaccatctccagagacagcgccaagaattcaatgtctctacaaatgaacagcctgagagtcgaggacacggctgtatattattgc 59 47 62 45 +JY8QFUQ01A6JX4 IGG1 ggattcaccttcgacagatacagt atgaactgggtccgccaggctccagggaggggactggagtggatttcatac ataagtactactactagtaacaga tactacgcagacgctgtgaagggccgattcaccatctccagagacaatgccaagaactcgctgtatttgcaaatggacagcctgagagacgaggacacggctgtatattattgt 62 48 56 47 +JY8QFUQ01A6L65 IGG4 ggattcacctttcatgattatacc atgcactgggtccggcaagctccagggaagggcctggagtgggtctcaagt attagttggaatagtggtaacata gactatgcggcctctgtgaggggccgattcaccgtctccagagacaacgccaataactccctgtctcttcagatgaatggtctgagatctgaggacacggccctctattactgt 50 52 57 54 +JY8QFUQ01A6LFT IGA2 ggttacacctttaccagatatggt attagttgggtgcgacaggcccctggacaagggcttgagtggatgggatgg atcagcgtttccaatggtgacaca aactatgcacagaagctccagggcagagtcaccatgaccgcagacccatccacgagcacagcctacttggaactgaggagcctgacatctgacgacacggccgtatattactgt 56 54 59 44 +JY8QFUQ01A6MYW IGA1 ggatcacctttggtgattatagt atgagttggttccgccaggctccagggaaggggctggagtgggtcggtttc attagaagcaaagctgatgatgggacaaca gaatacgccgcgtctgtgaaaggcagattcaccatctcaagagatgattccaaaagcatcgcctatctgcaaatgaatagcctgaaaaccggggacacagccgtgtattactgt 61 45 62 50 +JY8QFUQ01A6PW0 IGG3 ggattcaccttcagtagctatgct atgcactgggtccgccagactccaggcaagggactagagtgggtggcagtt atatcatatgatggaagtgactac gactacgcaggctccgtgaagggccgattcaccatctccagagacagttccaagaacatgctgtatctgcaaatgaacagcctgagacctgaggacacggctgtgtatcactgt 56 52 58 47 +JY8QFUQ01A6T5J IGA1 ggattcaacttcagtggctatggc atgcactgggtccgccaggctccaggcaagggcctggagtgggtggcagtc attgcatacaatggaggaaatata tactacgcagactccgtgaagggccgattcaccatctccagagacaattccaaggataccctgtacttgcacatgaccagtctgagacctgatgacacggccatgtattactgt 55 54 57 47 +JY8QFUQ01A6UEX IGA2 ggattcgccttcagtacatatatc atgaattgggtccgccaggctccagggaaggggctggagtgggtctcatcc attagttttagtagtgattacata tactacgcagactcagtgaagggccgattcaccatctccagagacaacgccaagaactcactgtatctgcaaatgaacagcctgagagccgacgacacggccgtgtattactgt 57 52 54 50 +JY8QFUQ01A6V15 IGA2 ggattcacctttaacgactatggc atgacttgggtccgccaggctccagggatggggctgcagtgggtcgcaacc attagtggaagtggcgacagaaca ttctacgcagactccgtgaagggccgcttcatcgtttccagagacaactccaagaacacgctgtatctgcaaattaccagcccgagagccgaggacacggccgttttttattgt 51 56 59 47 +JY8QFUQ01A6VGQ IGG1 ggatacacgtttatgaattactgg atcggctgggtgcgccagatgcccgggaaaggcctggagtggatggggatc atctatcctggtacctctgagacc agatacagcccgtcctttcaaggccaggtcaccatttcagccgacaagtccaccagcaccgccttcgtgcagtggagcagcctgaaggccccggacaccgccatatattactgt 48 62 59 44 +JY8QFUQ01A6VPK IGG1 ggtggctccatgaggaattattac tggagctggatccggcagcccccagggaagggactggagttgatagggact gtctattacactgggcgcacg gagtacaacccctccctcaagagtcgactcaccttatcactagacacgtccaagaaccagttctccctaaagctgggctctgtgaccgctgcggactcggccatttattactgt 48 59 56 47 +JY8QFUQ01A6W08 IGA1 ggtttcacctttagtaacgattgg atggactgggtccgccaggctccagggaaggggctggagtgggtggccaat ataaagggagatggaagtgagaaa actatgtagactctgcgaagggccgattcatcatctccagagacaacgccaagaactcactgtatctgcaaatgaacagcctgagagtcgaggacacggctgtgtattactgt 59 43 65 45 +JY8QFUQ01A6XI0 IGG2 ggattcaccttcagtcgctatagc atgaactgggtccgccaggctccagggaaggggctggagtgggtctcaact attagtagtcatagtatttacata tactatgcagactcagtggagggccgattcaccgtctccagagacaacgccgagaactcgctgtatctgcacatgaacaccctcagagccgacgacacggctatatattactgt 55 55 54 49 +JY8QFUQ01A6ZD5 IGA1 ggattcagcttagttactattgg atgagctgggtccgccaggctccagggaaggggctggagtgggtggccaac ataaaggaagatggaagtgagaga cactatgtggactctgtgaagggccgattcaccatctccagagacaacgccaagagctcactgtatctgcaaatgaacagcctgagagccgaggacacggctgtatattactgt 58 45 66 43 +JY8QFUQ01A6ZI7 IGA2 ggattcaccttcagtacctttggc atgcactgggtccgccaggctcccggcaaggggctggagtgggtggcaatc atatcaaatgatggaagtaagaaa tactacgcagactccgtgaagggccgattcaccatttccagagaaaattccgagaacacgctgtatctgcaaatgagcagcctgagagctgaggacacggctgtgtattactgt 57 50 60 46 +JY8QFUQ01A70EP IGA1 ggatacaccttcagcgactactac atacactggctgcgacaggcccctggacaacgacttgagtggatgggatgg ctgaaccctaataatggtgacaca gcttatggccagagctttcagggccgggtcaccatgaccagggacacgtccgtcagcacagtgtacgtggaggtgaggaggctgagatctgacgacacagccctttatttctgt 52 55 62 44 +JY8QFUQ01A70L0 IGG1 ggattccccttcaatatatggagc atgaattgggtccgccaggctccggggaagggactggagttgatcgcatac atcacaagtgatgaaagaaccata tactacgcagactctgtgaagggccgcttcaccatctctagagacaatgccaggaacctagtacatctggaaatgaacagcctgagggacggcgatctggctatctattactgc 60 51 56 46 +JY8QFUQ01A720R IGA1 ggattcacatttgctgaatatacc atgcactgggtccgtcaagttccggggaagggtccggagtgggtctctctt attagttgggatggtggcagcaca tactatgcagactctgtgaagggccgattcaccatctccagagacaacagcaaggactccctgtatctgcaaatgaacagtctgagaactgaggacaccgccttgtattactgt 53 50 57 53 +JY8QFUQ01A72BF IGA1 ggtggctccgtcagcagagatatttactac tggagctggatccggcagcccccagggaagggactggagtggattgggtat atgtatcacagagggaacact aagtataatccctccctcgagagtcgagtcaccatttcagtagacacgtccaagaaccagttctccctgaagctgagctctgtgaccgctgcggacacggccgtgtattactgt 52 55 61 48 +JY8QFUQ01A72FV IGA1 ggattcaccttcagtgactaccac atgggctggatccgccaggctccagggaaggggctggagtgcgtttcatac attagcactagtggtcgtgacata tacaacgcagactctgtgaagggccgattcaccatctccagggacaacgcccagaagtcactgtatctgcaaatgaacagcctgagagccgaggacacagccgtgtatttctgt 54 56 58 45 +JY8QFUQ01A79R5 IGG2 ggattcaactttaataattatgcc atgcactgggtccggcaagctccagggaagggcctggagtgggtctcaagt attagttggaataatggtaacaca gactatgcgggctctgtgaagggccgattcaccatctccagagacaacgccaagaactccctgtatctgcaaatgaacagtctgagaactgaggacacggccttatattactgt 60 48 55 50 +JY8QFUQ01A7AMF IGA1 ggtggctccatcagtagttactac tggagctggatccggcagcccccagggaagggactggagtggattgggtat atctataaaagtgggagcacc aactacaacccctccctcaagagtcgagtcaccatatcagtagacacgtccaagaagcagttctccctgaaactgacctctgtgaccgctgcggacacggccgtgtattactgt 53 57 56 44 +JY8QFUQ01A7C1U IGG1 ggattcaccttcagtagttactgg atgcactgggtccgccaagttccagggaagggactggtgtgggtctcacga attaatactgatgggagtgccaca agttacgcggactccgtgaggggccgattcaccatctccagagacaacgccaagaacacgctatatcttcaaatgaacagtctgagagtcgaagacacggctgtctattactgt 56 51 58 48 +JY8QFUQ01A7C84 IGG1 ggattcacctttggttattatggc atgagctgggtccgccaagctccggggaggggctgggatgggtctctggt attaatcggaatggtgatagcaca ggttatgcagactctgtgcaggaccgattcaccatctccagagacaacgccaagaactccctgtatctcgaaatgttcagtctgacagccgaggacacggccttatatcactgt 49 51 60 52 +JY8QFUQ01A7G35 IGA1 ggatacagcttcagcaattatgat atcaactgggtgcggcaggccactggacaagggcttcagtggatggggtgg atgaacccccacagtgccaatatc gtctacgcgcagaaatttcagggcagagtcaccatgaccagtgacgcctccataaccacagcctacatggaactgagcaacctgaaatctgacgacacggccgtgtattattgt 59 55 56 43 +JY8QFUQ01A7GLV IGA1 ggaggctccatcagcagtggaagttactac tggacctggatccggcagcccgccgggaagactctggagtggattgggcgc ttctacagtcgtgggggtgtc gactacaacccctccctcaggggtcgagtcaccatttcagcggacacgtccaagagccagttctcccttaatctgacttctgcgaccgccactgacacggccgtgtatttctgt 41 65 62 48 +JY8QFUQ01A7HLN IGA1 ggattcacttttagcagccatatg atgagttgggtccgccaggctccagggaaggggctggaatgggtctcaact attcgtgccagtggtgataggaca cactatgcagactccgtgaggggccgcttcaccatctccagagacaattccaagaacacgctgcatttgcaaatgtacagcctgagagtcgaggacacggccgtatactactgt 53 53 60 47 +JY8QFUQ01A7KJZ IGA1 ggattcacctttagtgactatttg atgacttgggtccgccaggctccaggaaagggactggagtgggtggccaac ataaaagaagatggacttgctaca ttctatgtggactctgtgagggaccgattcaccatctccagagacaacgccaagaactcactttatttgcaaatgaattacctgagagtcgaggacacggctgtttattattgt 58 44 55 56 +JY8QFUQ01A7LQC IGG1 ggtggctccgtcagcagttattac tggagctggatccgacagcccccagggaagggactggagtggattggctat atccatgacagtgggagcagc aactacaacccctccctcaagagtcgagtcaccatatctgtggacacgtccaagaaccagttctccctgaagctgacttctgtgaccgctgcggacacggccgtatattactgt 49 59 57 45 +JY8QFUQ01A7MBK IGA1 ggattcaccttcagtagatactgg atgcactgggtccgccaggctccagggaaggggctggagtgggtcgcacgt actaatgaagatgggagtactaaa aactacgcggactccgtgaagggccgattcaccatcttcagagacaacaccaagaacacactatatctgcaaatgaacagtctgagagacgaggacacggctgtgtattattgt 62 48 60 43 +JY8QFUQ01A7MWW IGA1 ggattcaggtttgatgattatgcc atgcactgggtccggcaagctccagggaagggcctggagtgggtctcaagt atcagctggggtggtgctagtatc ctctatgcggactccgtgaagggccgattcaccatctccagagacaatgccaggaactccctctacttgcaaatggacagtctgagacctgatgacacggccttctattactgt 47 53 61 52 +JY8QFUQ01A7NVO IGA1 ggatacaccttcacttcttatgct gtaaactgggtgcgccaggcccccggacaaaggcttgagtggatgggatgg atcaacgctggcacgggtaacaca aaatattcacagaagtttcagggcagagtcaccattaccagggacacatccgcggacacagtcttcatggagctgagcagtctaagatctgaagacacggctgtgtattattgt 58 50 58 47 +JY8QFUQ01A7QC0 IGG1 ggattctccttcagcaattatgcc atccactgggtccgccaggctccaggcaagggctggagtgggtggcgacc atttcatatgatttaatgaaaaga tattatgcagagtccgtgaggggccgattcaccctctccagagacaattccaagaacactctcgatctgctcatggatacccttcggttcgacgacacggctgtctattattgt 50 55 52 55 +JY8QFUQ01A7S16 IGA2 cacaactttaccggctactgg atcggctgggtgcgccagatgcccgggaaaggcctggagtggatggggatc atctatcctggtgactctgatacc agatacagcccgtccttccaaggccaggtcaccatctcagccgacaagtccatcagcaccgcctacctgcagtggagcagcctgaaggcctcggacaccgccgtgtattactgt 45 66 58 41 +JY8QFUQ01A7TR1 IGA2 ggattcacctttagtagtttctgg atgcactgggtccgccaagttccaggggagggactggtgtgggtcgcacgg actaatgagtatgggagtatcaca aactacgcggactccgtggagggccgattcaccatctccagagacaacaccaagaacaggctatatctgcaaatgaacagtctgagagccgaggacacggctatttattactgt 56 49 61 47 +JY8QFUQ01A7TRV IGA1 gggttcacctttagcagctatgcc atgacttgggtccgccaggctccagggaaggggctggagtgggtctcaagt atcagttttagtggtgagagaaca tattatgcagactccgtgaagggccggttcaccatctccagagacaactccaagaacacagtacatttgcaaatggacagcctgagagccgaggacacggccgtatattactgt 55 50 61 47 +JY8QFUQ01A7TW1 IGA1 ggattcaccttcagtagttatacc atgcactgggtccgccaggctccagggaaggggctggaatgggtctcatcc attagtagtagtagtactaccata tactacgcagactctgtgaagggccgattcaccatctccagagacaacgccaagaactcactgtatctgcaaatgaacggcctgagagccgaggacacggctgtttattcctgt 55 55 54 49 +JY8QFUQ01A7XAB IGG2 ggtggctccttcagtaattaccac tggagctggatccggaagcccgccgggaaggaactggagtggattgggcgt atccatcacagtgggctcacc aactccaacccctccctcaagaatcgagtcgtcgtgtcagtggatacgtccaagaatcagttgtccctggagctgagctctgtgaccgccgcggacacggccgtgtattactgt 44 60 61 45 +JY8QFUQ01A7XDX IGA2 ggattcacctttagtacctattgg atgagctgggtccgccaggctccagggaaggggctggagtgggtggccaac ataaagcatgatgcaagtgagaaa tactatgtggactctgtaaaaggccgattcaccatctccagagacaacgccaagaactcattgtatttacaaatgaacaacctgagagccgaggacacggctgtgtattactgt 62 46 58 47 +JY8QFUQ01A7Z2B IGG1 ggatacatgtttatgaattactgg atcggctgggtgcgccagatgcccgggaaaggcctggagtggatggggatc atctatcctggtacctctgagacc agatacagcccgtcctttcaaggccaggtcaccatttcagccgacaagtccaccagcaccgcctacgtgcagtggagcagcctgaaggccccggacaccgccatatattactgt 49 61 59 44 +JY8QFUQ01A7Z8B IGA1 ggagtcaattcagaaacgcctgg atgaattgggtccgccaggctccagggaaggggctggagtgggttggccgt attaagagcaaagctgatggtgggacaaca gactacgccacacccgtgagaggcagattcaccatctcaagagatgattcaaaaaacacgttttatctgcaaatgaatagcctaaaaaccgaagacacagccgtctattactgt 68 48 59 43 +JY8QFUQ01A82FB IGA1 ggtggctccgtcaacagtggtgattactac tggacctggatccgccagcaccctgggaagggcctggagtggattggatac atctattacagtgggagcact tactacaatccgtccctggagagtcgagttaccatatcaatagacatgtctaagaaccagttctccctgaaagtgagctctgtgactgccgcggatacggccgtgtatcattgt 51 53 59 53 +JY8QFUQ01A82HJ IGA1 ggattcaccttcagtgaccactac atagactgggtccgccaggctccaggaaaggggctggagtgggttggccgt actcgaaataaagctaacggttacagtaca gagtatgccgcgtctgtgaaaggcagattcaccgtctcaagagataactcagagaacttagtgcatctgcaaatgaacagcctgaaaagcgaggacacggccctgtattactgt 63 51 60 45 +JY8QFUQ01A82RF IGA1 gacttaagcgtcagtgacaattac atgacctgggtccgccaggctccagggaaggggctggagtgggtctcaatt atgtatagcggaggtcgcaca tactacgcagagtccgtgaagggccgattcgccgtctccagagacaattcccagaatacactgtatcttcaaatgaacagcctgaggaccgaagacacggccgtgtactattgt 55 52 59 44 +JY8QFUQ01A82RW IGG1 ggattcaacttcagtaactatgct gtgcactgggtccgccgggctccaggcaaggggctagagtggatgggagtt atatcatttgatggagataataaa tactacacagactccgtgaagggccgattcaccatgtctagagacaattccaagaacacactatatctccaaatgaacagcctgtcagctgaggacacggctgtctattactgt 61 48 53 51 +JY8QFUQ01A8412 IGA2 agattcacctttaatggttactgg atgagttgggtccgccaggctccaggaaaggggctggagtggctggccaac ataaagccggatggaaatgagaaa tgctatgcggactctgtgaagggccgattcaccatctccagagacaacgccaagagttcgctgtttctgcaaatgaacagcctgagagccgaggacacggctgtatatttctgt 56 47 63 47 +JY8QFUQ01A8464 IGG2 ggtggctccgtcaacagtggtaatttctac tggagctggatccggcagcccgccgggaagggactggagtggatagggcgt atctatgccagtgggagcacc aactacaacccctccctcaagagtcgaatcaccatatcagcagacacatccaagaatcagttctccctgaggctgagttctgtgaccgccgcagacacaggcgtttattattgt 52 59 59 46 +JY8QFUQ01A86GB IGA1 ggattcatgtttaggaactatgcc atgagttgggtccgccaggctccagggagggggctggagtgggtctcaact attagcaataatggaagccacaca tactacgcagactccgtcaagggccggttcaccatctccagagacaattccaagaacacggtgtatatgcagatgaacaggctgagagtcgaggagacggccctgtactactgt 57 50 62 44 +JY8QFUQ01A86IT IGG1 gggttgaccgtcggtgccgaccac atgtactgggtccgccaggctccagggaaggggctgaagtgggtctcagtt ctttatggcggtggcaccttg gactacgcagactccgtgaagggccgattcaccatctccagagacaactcgaggaacactgtgtatcttcagatggagagactgagccccgaggacacggccgtctactactgt 44 57 66 43 +JY8QFUQ01A87BG IGA2 ggattcacctttagcagctatgcc atgaactgggtccgccaggctccagggaaggggctggagtgggtctcagtt attagtggaagtggtgataccaca tcgtacgcagactccgtgaagggccggttcaccatctcccgagacaattccaagaacacgatgtatctgcaaatgagtagcctgagagccgacgacacggccctttattactgt 52 54 60 47 +JY8QFUQ01A87UU IGG2 ggtttcaccttcaggagctctggc atgaactgggtccgccaggctccagggaaggggctggagtgggtttcatac attagcagtagtactactaccaaa tactgcgcagactctgtgaagggccgattcaccatctccagagacaatgccaagagctcactgtatctgcaaatgaacagcctgagagccgaggacacggctgtgtattactgt 54 53 59 47 +JY8QFUQ01A8AJT IGA1 ggattcacttttagcagccatatg atgacttgggtccgccaggctccagggaaggggctggaatgggtcgcaagt attcgtgccagtggtggtaggaca cactacgcagactccgtgaagggccgcttcaccatctccagagacaactccaagaacacgttgtatttgcaaatgtacagtctgagagtcgaggacacggccttatattattgt 53 50 60 50 +JY8QFUQ01A8ALV IGA2 ggattcaccttcggcagttatagg atgagctgggtccgccaggctccagggaaggggctggagtggatttcatac attagtagtagtagtagtgccatc tattacgcagactctgtgaagggccgattcaccatctccagagacaatgccaagaactcagtgtatctgcaaatgaacagcctgagagacgaggacacggctatatattactgt 58 46 59 50 +JY8QFUQ01A8BTW IGA2 gatgggtcgttcatgggttacctc tggaattggatccgccagcccccagggaaggggctggagtggattggggaa atcagtcctagcggcgtcagt aagtacaatacgtccctcaagagtcgcgttgttatgagaatggacacgtcgaagaagcaattctccctggagatcaactctgtgaccgccgcggacacggctacttattattgt 49 49 63 49 +JY8QFUQ01A8CRV IGG1 ggcttcagtttgagtacttatacc atgaactgggtccgccaggctccagggaaggggctggagtgggtttcactc attagtaagactagtaatgtcata tactacgcggactctgtgaagggccggttcaccatctccagagacaatgccgagaattcactgtttctgcaaatggacagcctgagtgccgaggacacgggtgtatattactgt 52 47 60 54 +JY8QFUQ01A8FGD IGG4 ggactcatgtttagcagctatgcc atgacctgggtccgccaggctccagggaaggggctggagtgggtctcagtc agtagtagtactggttatttcaca tactacacagactccgtgaagggccggttcaccatctccagagacaattccaagaacacgctgtatctgcaaatgagcagcctgagagccgaagacacggccgtatattattgc 54 54 58 47 +JY8QFUQ01A8FJO IGA1 ggatacagctttaccgcctactgg atcggctgggtgcgccagatgcccgggaaaggcctggagtgggtggcgatc atctatcctggtgactctgaaacc agatacagcccgtccttccaaggccaggtcaccatctcagccgacaagtccatcaccaccgcctacctgcattggaccagcctgaaggcctcggacaccgccatgtattactgt 46 69 56 42 +JY8QFUQ01A8FM1 IGA1 ggatacaccctcaatgaattatcc atgcactgggtgcgacagactcctggaaaagggcttgagtcgatgggcggt tttgatcctgaatatggtaaaaca atctacgcgcagaagttccagggcagagtcaccatgaccgaggacacatctgcagacacagcctacatggagttgagaagcctgagatttgaggacacggccgtgtattattgt 60 47 59 47 +JY8QFUQ01A8FSV IGG1 ggatttatcttcagtgattatagc atgaattgggtccgccagactccagggaaggggctggagtgggtctcttcc attagtagtcgaagtactttcgaa tattacgcggactcagtgaagggccgattcaccatctccagagacaactccaataactcagtgtatctgcagatgaacagggtgacagccgacgacgcggcagtctatttctgt 54 48 57 54 +JY8QFUQ01A8G0E IGA1 ggattcaccttcagtgactactac atgagctggatccgccaggctccagggaagggactggagtgggtctcatat attagcagtactggtggttccata tattacgcagactctgtgaagggccgcttcaccacctccagggacaacaccaaaactcaatgtctctgcaaatgaacagcctgagcgtcgacgacacgggcgtctattattgc 54 56 54 48 +JY8QFUQ01A8GGU IGG1 acattcgcctttagcaactatgcc atgagctgggtccgccaggctccagggaagggctggagtgggtgtcagat attagtgggagtggtgttagcaca cactacgcggactccgtgcagggccggttcaccatctccagagacaattcgaagaacacgctgtatctgcaaatgaacagcctgagtgccgaggacacggccgtatattactgt 51 53 63 45 +JY8QFUQ01A8GWB IGA2 gatgggtcctgcagaaactgcttc tggagttggatccgccagtccccagggaaggggctggagtggattggggag gtcaatgatagaggaggcatc gactacaacccgtccctcaagagtcgagtcaccatatcattagacacgtccaacaaccaagtctccctgaggttgagctctgtgaccgccgcggacacggctgtgtattactgt 49 54 63 44 +JY8QFUQ01A8JNL IGA1 gggttctcactcagtaacagtggagtgggt gtgggctgggtccgtcagcccccaggaaaggccctggagtggcttggacac attttttgggatgatgataag cgctacagtccctctctgaaaagcaggctcaccctcaccaaggatacctccaaagaccaggtggtccttgaaatgaccaacatggaccctgtggacacagccacttattactgt 52 57 59 48 +JY8QFUQ01A8JZF IGA2 ggattcagctttagttattattgg atgagctgggtccgccaggctccagggaaggggctggagtgggtggccaac ataaaggaagatggaagtgagaga cactatgtggactctgtgatgggccggttcaccatctccagagacaacgccaagaggtcactgtatctgcaaatgaacagcctgagagccgaggacacggctgtatattactgt 56 43 68 46 +JY8QFUQ01A8KHD IGA1 ggattcacttttaatgaacatggc atgcagtgggtccggcaagctccagggaagggcctggagtgggtcgcaggt atcagcggtaatggtgatgtcata ggatatgcggactctgtgaagggccgagtcaccgtctccagagacaacgccaaagactctctatatttgcagatggacagtctgagagttaatgacacggccttatattattgt 54 43 64 52 +JY8QFUQ01A8KQW IGG2 ggattcacctttagttatcactgg atgagttgggtccgccaggctccagggaaggggctggagtgggtggccctc ataaggcaagatggaagtgaggaa tactatgtggactctgtgaggggccgattcagcatctccagagacaacgccaagaattcagtgtacttggaaatgaacaacctgagagccgaggacacggctgtttattactgt 55 43 67 48 +JY8QFUQ01A8KZQ IGA1 ggattcacttttagtgactattgg atgagttgggtccgccaggctccagggaagggactggagtgggtggccacc acaaacgaggacgagactaagaaa tactctgcggactctgtgaggggccgattcaccatctccagagacaacgccaagaactcactgtacttgcagatgagcagcctgagagccgacgacgcggccgtctattattgt 54 52 64 43 +JY8QFUQ01A8LEY IGG1 ggattcaccttcagtagctatagc atgaactgggtccgccaggctccagggaagggctggagtgggtttcatac attagtagtagtagtagtaccata tactacgcagactctgtgaagggccgattcaccatctccagagacaatgccaagaactcactgtatctgcaaatgaacagcctgagagccgaggacacggctgtgtattactgt 58 49 56 49 +JY8QFUQ01A8MAI IGA2 ggtggctccatgagcagtggtaattactgc tggggctggggccgccagcccccaggaaaggggctggagtggattggaagt atgtgttatggtgggagcacc tactacagcttgtcccccaagggtcgagtcaccatatccatagactcgtcgaagaaccagttctccctgaagctgagctctgtgaccgccgcagacacggctgtgtattactgt 45 55 68 48 +JY8QFUQ01A8MS3 IGA1 ggtggctccatcgatagttactac tggacctggatccggcagcccccagggaagggactggagtggattggctat atgtattacagtaggagctcc aactacaacccctccctcaagagtcgagtcaccatttcagtagacacgtccaagaagcagttctccctaaacctgagctctgtgaccgctgcggacacggccgtgtattactgt 50 59 54 47 +JY8QFUQ01A8NED IGG1 ggattcaccttcagtgaccatggc atgcactgggtccgccaggctccagggaagggtctgcagtgggtggcagtt gtttggcatactggagacaataaa tattatgcagagtccgtgaggggccgattcaccatctccagggacaattccaagaacacactgtatctgcaaatggacgacctgagaggcgaggacacggctatgtattattgt 54 48 63 48 +JY8QFUQ01A8SUT IGG1 ggattcacctttaccaactatggc atgagctgggtccgccaggctccagggaaggggctggagtgggtctcaggt attagtggtagtggtgatagaaca taccacgcagactccgtgcagggccggttcaccatctccagagacaactccaagaacactctgtatctgcaaatgaacagtctgagagccgacgacgcgggcgtatattactgt 53 53 62 45 +JY8QFUQ01A8VFH IGA2 ggattcagcttcaatagttactgg atgcactgggtccgccaagctccagggaaggggctggtgtgggtctcacat attaatattgatgggagtaccaca gactacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaacacactgtatctgcaaatgaacagtctgagagccgaggacacggctgtgtattactgt 57 51 59 46 +JY8QFUQ01A8WCU IGG1 ggattcacctttagcagctatgcc atgagctgggtccgccaggctccagggaaggggctggagtgggtctcagct attagtggtagtggtggtagcaca tactacgcagactccgtgaagggccggttcaccatctccagagacaattccaagaacacgctgtatctgcaaatgaacagcctgagagccgaggacacggccgtatattactgt 52 53 63 45 +JY8QFUQ01A8XXA IGA1 gattcaccctcagtgactactac atgacttggatccgccaggctccagggaaggggctggagtgggtttcgtac attagtagtctcactagttccata tattacgcagactctgtgaagggccgattcaccatctccagggacaacgccaagaactcactatatctgcaaatggacagcctgagagccgaggacacggccgtgtattactgt 54 55 54 49 +JY8QFUQ01A8Y0H IGA2 agattcacctttaggacatattgg atgagttgggtccgccaagctccagggaaggggctggagtgggtggccaac ataaaggaagatggaagtgagata cactatgtggactctgtgaagggccgattcaccatctccagagacaacgccaagaacacactgtttctccaaatgaacagcttgagagtcgatgacacggctgtgtattactgt 61 44 61 47 +JY8QFUQ01A8Y8J IGA1 ggattcaccttcagtacctatggc acacattgggtccgccaggctccaggcaaggggctggactgggtggcagtt agttggcatgatggaagtcaggaa tattatgcagactccgtgaggggccgattcactgtctccagagacaattccaagaacacggcatatctgcatatgaatgtcctgagaggcgaagacacggctgtctactactgt 53 50 62 48 +JY8QFUQ01A91GC IGA1 ggtggctccatcagcagtagtagttactac tggggctggatccgccagcccccagggaaggggctggagtggattgggagt atccaatatagtgggagcacc tattacaatccgtccctcaagagtcgagtcaccatatccgtagacacgtccaagaaccagttctccctgaagctgacctctgtggccgccgcagacacggctgtgtattactgt 49 59 61 47 +JY8QFUQ01A91H2 IGA1 agattcacctttaggacatattgg atgagttgggtccgccaagctccagggaaggggctggagtgggtggccaac ataaaggaagatggaagtgagata cactatgtggactctgtgaagggccgattcaccatctccagagacaacgccaagaacacactgtttctccaaatgaacagcttgagagtcgatgacacggctgtgtattactgt 61 44 61 47 +JY8QFUQ01A91ZM IGA2 ggattcagatttagcagctatgcc atgagctgggtccgccagactccagaaaaggggcttgaatgggtctcaggc atcaatgataacggtcgaagcata aactacgcgggctccgtgaagggccggttcaccatctccagagacaattccaagagcacgttgtatctgcagatggatagcctgagccccgaggactcgggcatatattattgt 56 51 60 46 +JY8QFUQ01A9228 IGG2 ggattcacgtttggcagccacgcc atgagctgggtccgccaggctccagggaaggggctggagtacgtctcaatt gttactggtagcggacgcagcaca tactacgcagagtctgtgaagggccggttcaccgtctccagagacaattccaaggacaccctgtatctgcaaatggacagcctgagagccgaggacacggccgtgtattattgt 49 56 65 43 +JY8QFUQ01A928N IGG1 ggattcagcttcagtacctataac atgaactgggtccgccaggctccagggaaggggctggagtgggtctcatcc ataagtagtggtagtacttacata tatcacgcagactcagtgaagggccgattcaccatctccagagacaacgccaagaagacactttacctgcaaatgaacagcctgagagccgaggacacggctgtgtattactgt 60 52 56 45 +JY8QFUQ01A94FS IGA2 ggattcacctctggaaagtatgcc atgcactgggtccggcaagctccagggaaggacctggagtgggtctcaggc ttgggtttggataatggtaggata gactacgcggactctgtgaagggccgattcaccatctccaaagacaacgccaagaattccctgtatctgcaaatgaacagcctgagagttgaggacacggccatgtattactgt 55 49 62 47 +JY8QFUQ01A96A4 IGA1 ggatacagcttcactaactacaat atccattgggtgcgccaggcccccggacaagggcttgagtgggtgggatgg atcaacgctggcaatggcaataca agatattcacagaaattgcagggcagagtcaccatttccagggacacatccgcgagcattgccaacatggagttgagcagcctgagatatgaagacacggctgtatattattgt 61 48 59 45 +JY8QFUQ01A96T1 IGA2 ggattccctttcagtagagatgcc atgcactgggtccgccaggctccaggcaaggggctggagtgggtggcaatg gtatggtatgatggaagtaataca caccatgcagattccgtgaagggccgattcatcatttccagagacaattccaagaataaagtgtatctgcaaatgaacagtctgagagacgaggacacggctgtctattattgt 59 43 61 50 +JY8QFUQ01A98LD IGG2 ggattcatttttagcaattatgcc atgaactgggtccgccaggctccagggaaggggccggagtgggtctcagct tttagtggtggtggcactaagacc tactacgcagactccgtgaagggccggttcttcatctccagagacaattccaagaacactctacatctgcatatgagcagcctgagggccgaggacacggccacatattactgt 51 54 59 49 +JY8QFUQ01A98NE IGG1 ggtggctccatgaggaattattac tggagctggatccggcagtccccaggaagggactggagttgatagggact gtctattacactgggcgcacg gagtacaacccctccctcaagagtcgactcaccttatcactagacacgtccaagaaccagttctccctaaagctgggctctgtgaccgctgcggactcggccatttattactgt 48 58 55 48 +JY8QFUQ01A9C87 IGG1 ggtgactccatcagtactaataattactac tgggcctggatccgccagcccccagggagggggctggagtggattgggaat atctattatagcgggaccacc tactacaatccgtccctcaagagtcgagtcaccatgtccgtagacacgtccaagaaccacttctccctgaggttgagttctgtgaccgccgcagacacggctctctattactgc 50 63 54 49 +JY8QFUQ01A9CIV IGG1 ggattcacctttggttattatggc atgagctgggtccgccaagctccggggagggggctggagtgggtctctggt attaatcggaatggtgatagcaca ggttatgcagactctgtgcaggaccgattcaccatctccagagacaacgccaagaactccctgtatctcgaaatgttcagtctgacagccgaggacacggccttatatcactgt 49 51 61 52 +JY8QFUQ01A9D9E IGA2 ggattcgcctttaggagtgagtgg atgaactgggtccgccaagccccagggaaggggctggagtgggtcgcacac attgacactgatgggagtatcgca gtctacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaatactttgtatctgcaaatggacagtctgagagccgacgacacggctatatattactgt 54 51 64 44 +JY8QFUQ01A9DAX IGG1 ggattcctttttagaacctattgg atgagttgggtccgccaggctccagggaaagggctggagtgggtggcccac ataaaccaagatggacgtgaggca tactatgtggactctgtgaagggccgattcaccatctccagagacaacggcaagaattcagtatatctgcaaatgaacagtctgagagccgaggacaccgctatgtattattgt 58 45 61 49 +JY8QFUQ01A9DEW IGG1 ggattcagtttcagtacttataac atgaattgggtccgccaggctccagggaaggggctggagtgggtctcatcc atgggtagtagtagtatttacata tattacgcagactcagtgaagggccgattcaccatctccagagacgacgccaagagttcactgtatctgcaaatgaacagcctgagagccgaggacacggctatatattactgt 58 46 57 52 +JY8QFUQ01A9DTT IGG1 ggtgcctccatcaggagttattat tggagttggatccggcagcccccaggaaagggactggagtggattggttat attaattatgttggggacacc gattacaaccctccctcaagagtcgagtctccatgtcagcagccacgtccaagaaccaggtcttcctgcagctgacctctgtgaccgctgcggacaccgcctattatttctgt 46 56 54 53 +JY8QFUQ01A9E7L IGA1 ggttacacctttaccagctatggt ctcagctgggtgcgacaggcccctggccaagggcttgagtggatgggatgg atcttcgtttttaacggtaacaca aaatatgcacagcacctccagggcagagtcaccatgaccacagacacatccacggacacagcctacatggagctgaggagcctgagatctgacgacacggccgtgtattactgt 54 57 58 44 +JY8QFUQ01A9FXS IGA2 ggattcaccttcagttcttatgcc atgaactgggtccgcctggtccaggcaaggggctggaatggctttcattt attggtaatactggtagtgtcata tactacgcagactctgtgaaggggcgattcaccatctccagagacaatgccaagaactcaatgtctctacaaatgagcagcctgagagccgaggacacggctctatattattgt 54 49 53 56 +JY8QFUQ01A9G63 IGA2 ggattcaactttggcatctatacc atggcctgggtccgccaggctccagggaaggggctggagtgggtctcagct attcgtgatcatgatagcaca tactacgcagactccgtgcagggccggtttttcatctcgagagacaatttcaataatacattgtatctgcaaatggatggcctgcgagccgacgacacggccgtctattactgt 48 52 57 53 +JY8QFUQ01A9GRS IGG2 ggcgactccatcagtggtcactac tggagctggatcaggcagcccccagggaagggactgcagtggattggttac atctatcacagtgggagcacc aactacaacccctccctcgagagtcgagtctccatttcagtagacacgtccaagaaccagttctccctgaggttgagttctgtgaccgctgcggacacggccgtgtattactgt 47 60 57 46 +JY8QFUQ01A9HIP IGA2 ggattcacgtttggcatctatgcc atgagttgggtccgccaggctccagggagggggctggagtgggtcgcaagc atgggtaatagtgctggcagtaca tactacgcaggctccgtgaagggtcgcttcaacatctccagagacaattccaagaaaaccctgtatcttcaaatggacagcctgagagtcgacgacacggccagatattactgt 53 51 63 46 +JY8QFUQ01A9JOS IGG1 ggattcaccttcagtgactactac atgagctggatccgccaggctccagggaaggggctggagtggatttcacac attagtagtagtggtagcatggta tacctggcagactctgtgaagggccgattcatcatctccagggacaacggcgagaactcactgtatcttcaaatgaacagcctgagagccgaagacacggccgtgtattactgt 55 50 60 48 +JY8QFUQ01A9KHI IGA1 ggatacacgttcaccgactactat gtccactgggtgcgacaggcccctggacaagggcttgagtggatggcgtgg atcaaccctaacattggtgtcacc aagtctgcacaaaaatttcagggcagggtcaccatgaccagggacacgtccatcagcacagccttcatggagctgagcagcctgagatctgacgacacggccgtttattactgt 53 58 58 44 +JY8QFUQ01A9LZM IGA1 ccggtcaacagtaatgactgctct tggacatggatccgagagtccgccgggaggggactggagtggattggccgt gtccatatgaatggccagacc gactacaatccatccttcggcagtcgtctcgccatgtccattgacacagtcaagaatgaattctcccttcgaatggtctctgtgaccgccgcagacacggccctatattactgt 47 59 55 49 +JY8QFUQ01A9M1O IGA2 ggtgactctgtcactatgtcttat tgggcctggatacgtcagcccgccgggggaggcctggagttaattggacga acttctgccagtccaaaagtt acctacaatccctccctcaggagtcgagccaccatattcgaagacacttcaaagaatcaacttatcttgaaattggcctctgtgaccgccgcggacacggccatctactactgt 50 60 49 51 +JY8QFUQ01A9M5C IGA1 ggattcaccttcagcaaccataac atgaactgggtccgccaggctccagggaagggctggagtgggtctcatgt attggtagtagtagtagtgacata tactacgcagactcagtgaagggccgattcaccatctccagagacaacgccaagaactcactgtatctgcaaatgaacagcctgagagtcgaagacacggctgtgtattactgt 60 50 56 46 +JY8QFUQ01A9MMF IGA1 ggattcacctttagtaggttttgg atgacctgggtccgccagggtccagggaaggggctggagtgggtggccaac ataaagcaagttggaaatgagaga tactatgtggactctgtgaagggccgattcaccatctccagagacaacgccaagaactcattgtatctgcaaatgaacagcctgagagtcgacgacacggctgtgtattactgt 57 44 64 48 +JY8QFUQ01A9OA6 IGA2 ggattcacctttaccaactatggc atgagctgggtccgccaggctccagggaaggggctggagtgggtctcaggt attagtggtagtggtgataccaca taccacgcagactccgtgcagggccgattcaccatctccagagacaactccaagaacactctgtatctgcaaatgaacagtctgagagtcgaggacacggccgtttattactgt 53 54 59 47 +JY8QFUQ01A9PH6 IGG1 ggattcaccttcagcagctataac atgaactgggtccgccaggctccagggaaggggctggagtgggtttcatac attagtagtaggagtagtaccaaa aactacgcagactctgtgaagggccgattcaccatctccagagacaatgccaagaattcactgtatctgcaaatgaacagcctgagagtcgaggacacggctgtgtattattgt 61 47 57 48 +JY8QFUQ01A9PP5 IGA1 ggattcaccttcagtagctacggc atgcactgggtccgccaggctccaggcaaggggctggagtgggtggcagtt gtctcatttgatggaattcttgaa cactatgcagactccgtgaagggccgattcaccatctccagagacaattccaggaacacgctgtatctgcaaatgaacagcctgagagctgaggacacggccgtgtattcctgt 50 54 61 48 +JY8QFUQ01A9R46 IGA1 ggattcacgttcagtagttatggc atgcactgggtccgccaggctccaggcaaggggctggagtgggtggcaatc atctggtatgatggaagtaatcaa tattatgcagactccgtgaagggccgattcaccgtctccagagacaattccaagaacacggtgtatctacaaatgaacagcctgagagccgaggacacggctgtctattattgt 56 47 61 49 +JY8QFUQ01A9S2H IGA1 ggatacaccttcaccgactacttc atacactggctgcgacaggcccctggacaacgacttgagtggatgggatgg atcaaccctaagaatggtgacaca aagtatgcacagaactttcagggccgggtcaccatgaccagggacacgtccgtcagcaccatatatgtggaggtgagcagcctggaatctgacgacgcagccacttattactgt 58 57 56 42 +JY8QFUQ01A9W4E IGA1 ggtgtctccatgagcagtcttacttactac tggggctggattcgccagccccccgggaagggcctggagtggattgggact ctcttttatagtgggagcacc tactacaatccgtccctcaggagtcgagtcaccatatccgctgactcgtccaagaaccagttctccctgaacctaaggtctgtgaccgccgcagacacggctgtctatttctgt 42 64 56 54 +JY8QFUQ01A9XRP IGG1 ggattcaccttcagtagttatagc atgaactgggtccgcctggctccagggaaggggctggagtgggtctcggcc attagtattactagtagttccaca tattacgcagactcagtgaagggccgattcaccatctccagagacaacgccaagacctcactgtttctgcaaatgaacagcctgagagccgaggacacggctctgtattactgt 53 54 56 50 +JY8QFUQ01A9YO5 IGA1 ggtggctccatcaccggaagtagttattat tggggctggattcgccagcccccagggaaggggctggagtggattggaagt atgtattacactgggagcacc gactacaacccgtccctcaagagtcgggtcacgatatccgcagacaagtcgaagagccaggtctacctgaagttggactctgtgaccgccgcagacacaggtgtttattactgc 51 54 65 46 +JY8QFUQ01A9ZDI IGG1 ggattgcatttcaacagctatgcc atgcactgggtccgccaggctccaggcaagggcctggagtgggtggcagtt atatggtttgatggaagtaaaaa tattacgcagactcagtgaagggccgatccaccgtctccagagacaactccaagaacacgttgtatctgcaaatgaacagcctgagagccggggacacggccgtgtattattgt 56 49 61 46 +JY8QFUQ01AA0DL IGA1 ggattcacctttagtagatattcc atgcactgggtccgccaggctccaggcaaggggctagagtgggtggcactt atatcatacgatggaagtagaaga atctacgcagactccgtgaagggccgattcaccatctccagagacacttccaagaacacggtgtatctgcaaatgagtagcctgagacctgaggacacggctgtgtattactgt 57 50 58 48 +JY8QFUQ01AA0M8 IGA2 ggattcatcttcagcaaccttgcg atgcactgggtccgccaggctccaggcaaggggctggagtgggtggcaatt atatcatatgatggaggtattaag tactatgcagactccgtgaagggccgattcaccatctccagagacaattccaagaacacgctgtatctacaaatgaacaacctgagacttgaggacacggctgtgtattactgt 58 49 56 50 +JY8QFUQ01AA3GK IGA1 aaattcacttttagtaactattgg atgaattgggtccgccaggctccagcgaagggactggagtgggtggccagt ataaagcaggatggggggagaca tattatgcggactctgtgaagggccgattcaccatctccagagacaacgccaagaagtcactgtatctgcaaatgaacagcctgggagtcgaagacacggctgtttattactgt 59 43 62 48 +JY8QFUQ01AA57U IGA1 gggttcgtttttgagaaatacgcc atgagttgggtccgccaggctcccggaaaggggctggagtgggtctcggct attggtgttgatgatgttggcaca tactacgcagcctccgtgaagggtcggttcaccatatccagagacgattccagggagattctctatctacaaatgagtaacctgagagtcgacgatacggccgtctattactgt 47 47 64 55 +JY8QFUQ01AA63Y IGA1 ggatttgtctttagtagatatgcc atggcctgggtccgccaggctccagggcaggggctggagtgggtcgccagt attggcgggagtggtgataacaca tactacgcggactccgtgaagggccggttcaccatctccagagacaactccaataacaaactgtttctgcaaatggacagtttgcgagccggggacacggccagatatttctgt 48 51 66 48 +JY8QFUQ01AA9O7 IGG1 ggacgctccttgagaagctttggc atgcactgggtccgccaggctccaggcaagggactggagtgggtggcactt acttcgtatgacggaataggaaa tattatgcagactccgtgaagggccgattcaccatctccagagacaactccaagaatacgttatttctgcaaatggacagtctgagagctgaggacacggctctttattactgt 54 49 59 50 +JY8QFUQ01AA9UM IGG1 ggtggctccatcggcagtggtagttattac tggagctggatccggcagcccgccgggaagggactggaataccttgggcgt atctataccagtgggagcacc aactacaacccctccctcaagagtcgagtcaccatttcagtagacacgtccaagaaccagttctccctgaagctgagctctgtgaccgccgctgacacggccatttattactgt 49 63 57 47 +JY8QFUQ01AAQL2 IGA1 ggtggctccgtcagaagtaccagttactac tggggctggatccgccagcccccagggaaggggctggagtggattagtaac attcattctagtggaaccacc tactacaacccgtccctcaacagtcgagtcaccatgtccgtaaacacgtccaagaaccagttctccctgaggctgagttctgtgaccgccgcggacacggctgtatattactgt 50 63 56 47 +JY8QFUQ01AARBP IGA2 ggattaaccctcagtgaccactac atggactgggtccgccaggctccagggaaggggctggagtgggttggccgt actagaaacaaagctaacagttacaccaca gaatacgccgcgtctgtgaagggcagattcaccatctcaagagatgattcaaagaactcactgtatctgcaaatgaacagcctgaaaaccgaggacacggccgtgtattactgt 65 54 58 42 +JY8QFUQ01AARXS IGG1 ggattcattttcaacagctatgcc atgcactgggtccgccaggctccaggcaagggcctggagtgggtggcagtt atatggtttgatggaagtaaaaaa tattacgcagactcagtgaagggccgatccaccgtctccagagacaactccaagaacacgttgtatctgcaaatgaacagcctgagagccggggacacggccgtgtattattgt 57 49 60 47 +JY8QFUQ01AAS9C IGG1 gggttctcactcaccactactggagtgggt gtgggctggatccgtcagcccccaggaaaggccctggagtggcttgcagtc attttttgggatgatgatgag cgccacagcccatctctgaggagaaggctcaccatcaccaaggacatctccaaaaaccaggtggtccttacaatgaccaacatggaccctgtggacacagccacatattactgt 53 60 57 46 +JY8QFUQ01AATZ4 IGA1 ggatacaccttcatcggccattat atacattgggtgcgacaggcccctggacaagggcttgaatgggtggggtgg atcaaccctaacagtggtgttaca aactatgcacagcagtttcaggacagggtcaccatgaccgtcgacacgtccatcagcactgcctacatggacctcaaaagtctaaagtctgacgacacggccatctattactgt 57 56 53 47 +JY8QFUQ01AAUM2 IGA2 ggattcaccttcaaaagtatggc atgaactggctccgccaggctccagggaaggggctggagtgggtcgcaacc attcgcagtagtggtacttccata cactatgccgactccgtgaagggccgattcactatcaccagagacaacgccaacaactcactgtatctgcaattgaacagcctgggagtcgaggactcggctgtgtatttctgt 52 56 57 47 +JY8QFUQ01AAUWG IGA1 ggatatagttttgccacctactgg atcggctgggtgcgccagaggcccgggaagggcctggagtggatgggggtc atctatcctggtgactctgatacc agatacagcccgtccttccaaggccaggtcaccatttcagccgacaagtccctcagtatcgcctacctgcagtggagcagcctgcaggcctcggacaccgccatatattactgt 43 63 61 46 +JY8QFUQ01AAWVK IGA1 ggattcacctttagtaaccattgg atgaactgggtccgccaggctccagggaaggggctggagtgggtggccaac ataatgccagatggaggtgagaaa ttctatgtggactctgtgaagggccggttcaccatctccagagacagcgccaagaactcactgtatttgcaaatgaacagcctgagagccgaggacacggctgtgtattactgt 55 47 65 46 +JY8QFUQ01AAZ6M IGA1 ggtgactccatcagcagtagttcttactac tggggctggatccgccagcccccagggaaggggctggagtggattgggagt atctttcatagagggagcacc tactccaacccgtccctcaagagtcgagtcaccatatccgtagacacgtccaagaaccttttctccctgaatctgagctctgtgaccgccacagacacggctgtttattactgt 48 62 55 51 +JY8QFUQ01AB19P IGG1 ggattcagttttagtgacttttgg atgcactgggtccgccaggctccagggaaggggctggagtgggtggcccac gtgaaccaagacgggactgagaga tactatgccgactctgtgaagggccgcttcaccatctccagagacaacgccaagaaatcactgtttctgcaaatgaatggcctgagagccgaggacacggctctttattggtgt 50 50 66 47 +JY8QFUQ01AB1K5 IGG2 ggattcacctttaacaactacgcc atgtcctgggtccgccaggctccagggaaggggcttgagtgggtctcagct ataactgatagcggtctttacaca tactacgcagactccgtgaggggccggttcaccgtctccagagacacttccaagaacacgctgtttctgcaaatggacagcctgagagccgaggacacggccgtatatttctgt 49 59 57 48 +JY8QFUQ01AB3G5 IGA1 ggtggctccgtcagcagtagcacttactac tggggctggctccgccagtccccagggaaggctctggagtggattgggact atccatcatagtgggagcacc taccagaacccgtccctcaagagtcgagtcaccatgtccgtagacacgtccaggaaccagttctccctgaggctgagctctgtgaccgccgcagacacggctctttattactgt 44 66 60 46 +JY8QFUQ01AB3KI IGA1 ggattcaccctcagtgactactac atgagttggttccgccaggctccagggaaggggctggagtggctttcatac attgcaggaagtggaaccaca tattacgcagattctgtgaagggccgattcaccatctccagggacaatgccgagcactcggtatacctgcaaatgaacagcctgagagtcgaagacacggccgtgtattactgt 54 52 58 46 +JY8QFUQ01AB51E IGA1 ggattcgccttcagtagttccagc atgaactgggtccgccagggtccagggaaggggctggagtggatttcacac attaggggtagtagtagtaccacc cactacgcagactctgtgaagggccggttcaccatctccagagacaatgccaagaactcactgtatctgcaaatgaacagcctgagagacgaggacacggctgtctattactgt 55 53 60 45 +JY8QFUQ01ABDY1 IGA2 ggattcaccttcagtacctactgg atgcactgggtccgccaagttccagggaaggggctggtgtgggtctcacgt gttgatagtgatgggactagcaca gtctacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaacacgctatatctgcaaatgaacagtctgaaagccgaggacacggctgtatattactgt 54 53 60 46 +JY8QFUQ01ABF8G IGA1 ggtgactccattggtagcagtgcctactac tggggctgggtccgccagccccccgggaaggggctggagtggattggaagt atctattatggtggcaacacc tactacaacccgtccctcaggagtcgagtcagcatttccgcagacacgtccaagaaccagttctccctgcatctctactccgtgaccgccgcagacacggctctgtattactgt 44 66 58 48 +JY8QFUQ01ABFPI IGG1 ggattcaccttcaacaactatgcc atgagttgggtccgccaggctccagggaaggggctggaatgggtctcaact attactagtggtggtggtagtaca ttgtacgcagactccgtgaagggccggttcaccatctccagagacaatttcaaggacacgctatatctgcaaatgaacagcctgagagccgaggacacggccgtatattactgt 55 51 59 48 +JY8QFUQ01ABGCX IGA2 ggatatagttttgccacctactgg atcggctgggtgcgccagaggcccgggaagggcctggagtggatgggggtc atctatcctggtgactctgatacc agatacagcccgtccttccaaggccaggtcaccatttcagccgacaagtccctcagtatcgcctacctgcagtggagcagcctgcaggcctcggacaccgccatatattactgt 43 63 61 46 +JY8QFUQ01ABI4U IGG1 ggtggctccatcaacagtagaattattat tggggctggatccgccagcccccagggaagggtttggagtggattggaaat atctattatagtgggaacacc tactacaatccgtccctcaagagtcgagtcaccgtatccgtagacaggtctaagaaccagttgtccctgaagctgacctctctgaccgccgcagacacggccgtatattactgt 54 55 55 51 +JY8QFUQ01ABKJ7 IGA1 ggattcagtttcagtgactactac atgagttggatccgccaggctccagggagggggctggagtgggtttcatat attgatagcggtggtaccgccatg tactactcagactccgtgaagggccgattcaccatctccagggacaacgccaagaagtcactgtttctgcaaatgagtagcctgagagccgaagacacggccgtgtactattgt 51 50 62 50 +JY8QFUQ01ABL5K IGA1 ggattcaccttcagtatttattct atgcattgggtccgccaggccccaggcaaggggctagagtgggtggcagtt atatcacatgatggaactaataaa tattactcagactccgtgaagggccgattcaccatctccagagacaattccaagagcgcgctgtatctgcagctgaacgtcctgagcgccgaggacacggctgtctatttctgt 52 53 55 53 +JY8QFUQ01ABTVQ IGA1 ggttacattgttaccacctctggt ttcagctgggtgcgacaggcccctggacaaggcctggagtggatgggatgg gtcagcggttataatgataaatcc aactatgcacagaagttcaaagacagaattatcatgaccacagacatatcaacgagcacagcctacatggagctgaggagcctgagatctgacgacacggccatgtattattgt 61 47 57 48 +JY8QFUQ01ABYQ3 IGA1 ggattcgcttttggagattatgcc atgaactgggtccgccaggccccagggaagggactggagtgggtctcaggt ttgagcggtagaggcgtcagcaaa tattatgcagactccgtgaggggccggttctccatttccagagacaactccgggagcgaggcagtccttcaaatgagcagcctgagagtcgaggacacggccacttactactgt 48 51 69 45 +JY8QFUQ01ABZLF IGG1 acattcacgtttagtcggtattgg atgagctgggtccgccaggctccagggaagggcctggagtgggtggccaac ataaaggaagacggaagtgagaga tattatgtggactctgtgaagggccgattcaccatctccagagacaatgccaagaactctctgtatctgcaattgaacagcttgagagccgaggacacggctgtgtattactgt 56 44 65 48 +JY8QFUQ01ABZPQ IGG1 gaattcatccttgacagttatgcc atgagttgggtccgccaggccccagggaagggctggagtgggtctcggct attagtggaagtggtgcaaccaca tactacgcagactccgtgaagggccggttcgccatctccagagacaattccaagaacacgctatatctacaaatgaacaacctaggggccgaggacacggccgtttattactgt 54 54 59 45 +JY8QFUQ01AC0DA IGG3 ggtttcaccttcaggagctctggc atgaactgggtccgccaggctccagggaaggggctggagtgggtttcatac attagcagtagtactactaccaaa tactgcgcagactctgtgaagggccgattcaccatctccagagacaatgccaagagctcactgtatctgcaaatgaacagcctgagagccgaggacacggctgtgtattactgt 54 53 59 47 +JY8QFUQ01AC0DP IGA1 ggtggctccatcagcggtacttctcattac tggggctgggtccgccagcccccagggaaggggctggagtggattggcagt atctactctggtgggaccacc tactacaacccgtccctcaagagtcgactcaccatgtccgtcgacacgtccaagaaccagatgtccctgcggctgagctctgtgaccgccgcagacacggctgtctattactgt 41 68 61 46 +JY8QFUQ01AC0IS IGA2 ggattcacctttagccactttgcc gtgacctgggtccgccaggctccagggaagggtctggaatgggtctcaact attagcggtagtgatggtagcaag tactacgcagactccgtgaggggccggttcaccatctccagagacaattccaagaacaccctatatctgcaaatgaccagcctgagagccgaggacacggccgtatatttctgc 51 58 58 46 +JY8QFUQ01AC33X IGA1 ggtagttccatcagtagcagtgattactac tggggctgggtccgccagtccccagggaagggtctggagtggattggaagt gtctattacagggggacgcag tacctcaacccgtccctccagagtcgagtttccatttccattggcacgtccaagacgcaattctccctgagactgaggtctgtgaccgccgcagacacggctatgtattactgt 45 57 62 52 +JY8QFUQ01AC5GC IGA1 ggtggctccgtcagcagtggtaattactac tggaactggatccgccagtccccagggaaggggctggagtggattgggagc gtctcctatggtgggaacacc tactacaacccgtccctcatgagtcgagtcgacatattcgtcgacacgtccaagagtcagttgtccctgaaggtgagctctgtgaccgccgcggacacggctgtgtattactgt 44 57 66 49 +JY8QFUQ01AC792 IGG1 ggattcaccttcagtagttatagc atgaactgggtccgccaggctccagggaaggggctggagtggatttcatac attagtggtagtggcggtaccata tactatgcagactctgtgaagggccgcttcaccatctccagagacaatgccaagaagtcactgtatcttcaaatggacagcctgagagacgaggacacggctgtgtattactgt 55 47 60 51 +JY8QFUQ01AC7WH IGA2 ggattcaccttcagtagctataga atgaactgggtccgccaggctccagggaaggggctggagtgggtctcatcc attgatagtagtagtcacaacata tactacagagactcagtgaagggccgattcaccatctccagagacaacgccaagaactcactgtatctgcaaatgaacagcctgagagccgaggacacggctgtgtattactgt 61 51 56 45 +JY8QFUQ01ACBLB IGA2 ggattcatatttactagatatgcc atgacctgggtccgccaggctccagggaagggtctggagtgggtcgcttct atcagtggtagtgggattagtaaa aagtacgcagacggcgtggagggccgattcaccatctccagagacagttccgagagaacactgtatctacaaatgaacagcctgagagtcgaggacacggccacatattattgt 57 46 62 48 +JY8QFUQ01ACCKZ IGA2 ggattcacttttagtggcgcctgg atgagctgggtccgccaggctccagggaagggctggagtgggttggccgt gttagaagcggtgggacaaca gactaccctgcacccgtggaaggcagattcaccatctctagagatgatcgaaaaaacacgttgtatctggaaataagtagcctgaaaatcgaagacacagccgtatattactgt 56 45 63 45 +JY8QFUQ01ACENJ IGA1 ggattcgccttcagtacatatatc atgaattgggtccgccaggctccagggaaggggctggagtgggtctcatcc attagttttagtagtgattacata tactacgcagactcagtgaagggccgattcaccatctccagagacaacgccaagaactcactgtatctgcaaatgaacagcctgagagccgacgacacggccgtgtattactgt 57 52 54 50 +JY8QFUQ01ACFOO IGA1 ggattcaggtttgatgattatgcc atgcactgggtccggcaagctccagggaagggcctggagtgggtctcaggt attagctggaatagtggtagtata gggtatgcggactctgtgaagggccgattcaccatctccagagacaacgccaagaactccctgtatctgcaaatgaacagtctgcgacctgaggacacggccttgtattactgt 51 47 64 51 +JY8QFUQ01ACH9Z IGA1 ggattcacctttaacaactatgcc atgacctgggtccgccaggctccggggaaggggctggagtgggtctcagct atcagtggcagtggcggtaccact tactacgcagactccgtgcagggccgcttcaccatttccagagacaatcacgaaaacaccctgtatctggaaatgagtagcctgagagccgaggacgcggccgtctattactgt 49 59 61 44 +JY8QFUQ01ACHS4 IGA2 ggtggctccatcagtagtcattac tggagctggatccggcagcccccaggggagggactggagtggattggctat atctctgacagtggaagcacc aattacaacccctccctcaagagtcgagtcactatatcagtagacacgtccgagaggcagatctccctgaagctgacctctgtgaccgctgcggacacggccgtatattactgt 49 58 58 45 +JY8QFUQ01ACLAL IGG1 ggtgcctccatcaggagttattat tggagttggatccggcagcccccaggaaagggactggagtggattggttat attaattatgttggggacacc gattacaacccctccctcaagagtcgagtctccatgtcagcagccacgtccaagaaccaggtcttcctgcagctgacctctgtgaccgctgcggacaccgcctattatttctgt 46 57 54 53 +JY8QFUQ01ACLRQ IGA1 ggtggctccatcagcagtgataattgg tggagttgggtccgccagcccccagggaagggactggaatggattggggaa atatatcatagtgggagcacc tactacaacccgtccctcaagagtcgagtcaccatatccctagacaagtccaagagtcaattcttcctggagctgaggtctgtgaccgccgcggacacggccgtatattattgt 52 53 61 47 +JY8QFUQ01ACLU1 IGA2 ggattcacctttagtacctattgg atgggctgggtccgccaggctccagggaaggggctggagtgggtggccaac ataaaacaagatggaagtgacaaa tactatgtggactctgtgaagggccgattcaccatctccagagacaacggcaagaactcactgtatttgcaaatgaacagcctgagagccgaggacacggctgtctattactgt 59 47 62 45 +JY8QFUQ01ACRP3 IGA1 ggattcatcttcagcaaccttgcg atgcactgggtccgccaggctccaggcaaggggctggagtgggtggcaatt atatcatatgatggaggtattaag tactatgcagactccgtgaagggccgattcaccatctccagagacaattccaagaacacgctgtatctacaaatgaacaacctgagacttgaggacacggctgtgtattactgt 58 49 56 50 +JY8QFUQ01ACRUV IGA2 gggttcagcgtcagtaataacttc atgacctgggtccgccaggttccagggaaggggctggagtgggtctcagtt atttatagcaatggtgaaaca atctacgcagactccgtgaagggccgattcactatgtccagagacaattccaagaacacactgtttcttcaaatgaacagcctgagaggcgaggacacggccgtgtaccactgt 56 49 58 47 +JY8QFUQ01ACT7P IGG1 ggattcaccttcagtgaccacttc atgagttggatccgccaggctccagggaaggggctggagtgggtttcatac attagtggcagtggtagtataata tattacgcagactctgtgaggggccgattcaccatctccagggacaacgccaagaattccctctatctgcaaatggacagcctgagagacgaggacacggccgtgtatttttgt 52 49 60 52 +JY8QFUQ01ACURH IGA1 ggtggctccatcaccacttactac atcagctggctccggcagcccccagggaagggactggagtggattgggtgt atctcttatggtggggacact acctacaactcctccctcaagagtcgagtcaccatatcaggacaagggtccacgcgccagttctccctgaggctgagctccgtgaccgttgcggacacggccgtgtattactgt 42 63 59 46 +JY8QFUQ01ACVQ4 IGA1 ggtggccccatcaacacacatgacttctat tggacgtggatccggcagtccgccgggaggggactggagtggctcggacgt gtctatatgaatggcattagt gaccacaatccagtcttcactagtcgtctcaccatgtccattgacacgtccaagaaccagttctccctgaggctgacctctgtgaccgccgcggactcggccctatattactgt 45 64 56 51 +JY8QFUQ01ACXAI IGG1 ggattcacctttaccaactacgcc atgagctgggttcgccaggttccagggaaggggctggagtgggtctcactt attagtgttcgtggcgatgacacc ttctatgcagactccgtgaagggccggttcaccatctccagagacaactccaagaacacgctgtatctgcaaatggacatcctgaaacccgaggacacggccgtttatttttgc 49 57 56 51 +JY8QFUQ01ACXLB IGA1 ggattcaccgtcagtaccaagttc atgagctgggtccgccaggctccagggaaggggctggagtgggtctcagta atttatcctgatggtactaca cactatggagcctccgtgaggggccggttcaccatctccagagacaattccaagaacacgctggatcttcaaatgaacagcctgagagccgaggacacggccgtttattattgt 51 53 59 47 +JY8QFUQ01ACXOG IGA1 ggattcaccttcaattcctatacc atgatgtgggtccgccaggctccggggaagggactggagtgggtctcaacc attagtcctagtagtcagtacata tactatgcagactctgtggagggccgattcaccatctccagagtcgacgcccggagttcagtgtttctgcaaatgaacagcctgagagacgacgacacggctgtgtattactgt 50 53 58 52 +JY8QFUQ01ACXS7 IGA2 ggattcacgtttggcatctatgcc atgagttgggtccgccaggctccagggaggggcgtggagtgggtcgcaagc atgggtaatagtgctggcagtaca tactacgcaggctccgtgaagggtcgcttcaacatctccagagacaattccaagaaaaccctgtatcttcaaatggacagcctgagagtcgacgacacggccagatattactgt 53 51 63 46 +JY8QFUQ01ACXSL IGG1 ggtgagtccttcactaattactac tggagctggatccgccagtcccccaggaagggtctggagtggcttggggag gtccatcatagtggacgcacc gactacaacccgtccctcaagagtcgaatcaccatgtcgttagacacgtccgaaaatcagttctccctgaagttgacttctttgaccgccgcggacacggcagtatattattgt 48 58 54 50 +JY8QFUQ01AD4KE IGA1 ggtggccccatcagcagcagcacttactac tggacttggatccggcaggccgccgggagggactggagtggatcggacgt gtttatactagtgggagcacc aactacaatccctccctcaagagtcgaatcaccatatcactagacacgtccaagaaccagatcttcctgaagttgaggtctgtgaccgcctctgacacggccgtatattactgt 52 61 56 46 +JY8QFUQ01AD5QJ IGA2 ggattcatgtttagtagctttccc atggcctgggtccgccaggctccagggaaggggctggagtgggtctctagt attagtggtaggggtggtaacaca tacttcgcagactccgtgaagggccggttcaacatctccagagacaattccaagaacacgatgtatttgcaaatgaacagcctgagagccgaggacacggccttatattactgt 52 48 62 51 +JY8QFUQ01AD5UE IGA1 ggattcaccttcagtaattactgg atgtactgggtccgccaagttccagggaaggggctggtgtgggtcgcccgt attaataacgatgggagtagcaaa acttacgcagactccgtgaggggccgattcaccatctccagagacaacgccaagaacacactgtttctgcaaatgaacagtctgagaggcgaggacacggcttcatattattgt 57 49 59 48 +JY8QFUQ01AD74T IGA2 ggattcaccttcatcagttatggc atgagttgggtccgccagtttccagggaaggggctggagtgggtctcatct attagtgattatggtaataccgca ttctacgcagactccgtgaagggccggttcaccatctccagagacaattccaacaacacgctgtttctgcaaatgagcagcctgagagccgaggacacggccgtttattattgt 50 51 57 55 +JY8QFUQ01AD79A IGG1 ggaatcaactttcgtgatcatgcc atgagctggttccgccaggttccagggaaggggctggagtgggtaggtttc attagaagttctcaatacggtggagataca gaatacgccgcgtctgtggaaggcagattcaccatctcaagagacgattccaaaagcatcgcctatttggatatgaatagcctgaaaatcgacgacacagccctatattactgt 61 47 58 53 +JY8QFUQ01ADCX5 IGG2 ggtggctccatgagaagtggaagcaactac tgggcctggatccggcagcccgccgggaagggactggagtggcttgggcgt atatatgccactgggagcagc aaccacaacccctccctgcagggtcgagtcaccatgtcagtagacacgtccaaaaaccagttctccctgaggctgatctctgtgaccgccgcagacacggccgtgtacttctgt 47 64 65 40 +JY8QFUQ01ADDDA IGA1 ggtgactccatcagtagtaactac tggaactggatccggcagcccccagggaagggactggagtggattgggtat atctatcacagtgggagcacc agctacaacccctccctcaggagtcgagtcaccatatcattagacacgtccaagaaccagttctccctgaaactgagctctgtgaccgctgcggacacggccgtgtattactgt 52 59 55 44 +JY8QFUQ01ADG23 IGG1 ggtggctccatcgacactcaaaattactac tggggctggattcgccagcccccagggacgggactggagtgggttggcagt gtccgctatggcgagagcacc tattacaacccgaccctcaaaagtcgactcaccatatccatagacacgtccaggagccagttatccctgagactgagttctgtcaccgccgccgacacggcagtttactactgt 50 66 56 44 +JY8QFUQ01ADGL2 IGA1 ggattcgactttggtagttattgg atgagttgggtccgccaggctccagggaagggactggagtgggtggccagc ataaagcgagatgcaagtgagaag taccatgtggaatctgtgcagagacgattcaccatcttcagagacaacgtcaggaactcactgtatttgcagatgaacagcctgagagacgaggacacggctgtgtattactgt 57 40 68 48 +JY8QFUQ01ADMJX IGG1 ggtgcctccatcaggagttattat tggagttggatccggcagcccccaggaaagggactggagtggattggttat attaattatgttgggggcacc gattacaacccctccctcaagagtcgagtctccatgtcagcagccacgtccaagaaccaggtcttcctgcagctgacctctgtgaccgctgcggacaccgcctattatttctgt 45 57 55 53 +JY8QFUQ01ADN3R IGA1 ggattctcactcagcaccaatggaatgggt gtgggttggatccgccagcccccgggagaggccccagactggctcgctctc atttattgggatgatgataag cgataccggccatccctagagagtagactcaccatcaccaaggacatctccacaaaccaggtggtccttagaatgaccgacatgggccctgcagacacagccacatatttctgt 54 63 55 44 +JY8QFUQ01ADNKP IGA1 ggattcagatttagcagctatgcc atgagctgggtccgccagactccagaaaaggggcttgaatgggtctcaggc atcaatgataacggtcgaagcata aactacgcgggctccgtgaagggccggttcaccatctccagagacaattccaagagcacgttgtatctgcagatggatagcctgagccccgaggactcgggcatatattattgt 56 51 60 46 +JY8QFUQ01ADOO5 IGA1 ggtggccccatcaatagtagtgactactat tggacttggatccggcagcccgccgggaggggactggaatgggtcgggcgt gtcttcatgaatggccttacc gactacaatccatccttcggcagccgtctcaccatgtccattgacatgtcgaagaaccaattctccctgaagttgacctctgtgaccggcgctgacacggccctttattactgt 44 62 57 53 +JY8QFUQ01ADRD7 IGA1 ggtgactcccacttc tggagctggatccggcagcccccgggaaagggcctggagtggattggttat gtctataacagtgggaccacc aactacaacccctccctcaggagtcgagtcaccatgtctatagacacgtccaagaagcagatctctctgaggttgaactctgtgaccgctgcggacacggccgtgtattactgt 45 57 55 44 +JY8QFUQ01ADTQJ IGG2 ggattcacctctcctagatactgg atgaattgggtccgccaggcttccgggaaggggctggagtgggtggccaac ataaagcaagacggaagtgaggaa aactttgtggactctgtgaagggccggttcaccatctccagagacagcgccaagaattcaatgtctctacaaatgaacagcctgagagtcgaggacacggctgtatattattgc 58 47 63 45 +JY8QFUQ01ADV0A IGA1 ggtggctccatcatcagagacagtgcctac tggggctggatccgccagcccccagggaaggggctggagtggcttgggagc atctattatagtgggagtacc tactacaatccctccctcaagagtcgagtcaccatatccgtagacacgtccaagaagcagttctccctgaagctgagctctgtgaccgccgcagacacggctgtatattactgt 49 61 60 46 +JY8QFUQ01ADWZ0 IGA1 ggattcagtttcagtagctttggc atgcactgggtccgccaggctccaggcaaggggctggagtgggtggcaatg atctggtatgatggaactaataaa tattatgcagactccgtgaagggccgattcaccatctcgagagacaattccaagaacacactgtttctgctcatggacagcctgacagccgacgacacggctgtctattactgt 53 50 59 51 +JY8QFUQ01ADZFS IGG1 ggatttacttttaacaactattgg atgacctgggttcgccaggctccagggaaggggctggaatgggtggccaac ataaagcaacatggaggtgaaacg tactatgcggactctgtgaagggccgattcaccatctccagagacaacgccgagacctcagtgtatctgcaaatgaacagcctgagagccgaggacacggctgtctattactgt 58 49 61 45 +JY8QFUQ01AE2LT IGA1 ggattcacgttcaatgactatgcc atgagctgggtccgccaggcgccagataaggggctggagtgggtctcgact gtgagtagtaggggtgataccaca cactacgcagacttcgtgaagggccggctcaccatctccagagacaattccaggaacacactgtatctgcaaatgaacagcctgacagccgaggacacggccatatattactgt 56 55 60 42 +JY8QFUQ01AE3XC IGG1 ggtgactccatcagtactaataattactac tgggcctggatccgccagccccagggagggggctggagtggattgggaat atctattatagcgggaccacc tactacaatccgtccctcaagagtcgagtcaccatgtccgtagacacgtccaagaaccacttctccctgaggttgagttctgtgaccgccgcagacacggctctctattactgc 50 62 54 49 +JY8QFUQ01AE4GX IGA2 ggagtcactttcactaacgtgtgg atgagttgggtccggcaggctccagggaaggggccggagtgggttggccgt attaaaagggagactgagggggggacaata gactacgctgcacccgtgacagcaagattcaccatgtcaaaagatgattcaaaaaacacactatatctgcaaatgaacaacctgaaaatggaggacacagccgtgtattactgt 67 44 65 43 +JY8QFUQ01AE6UZ IGA2 ggattcatcttcagtgactatggc atgcactgggtccgccaggctccaggcgaggggctggattgggtggcattt atacgatatgatggaaatgagata cactatccagactccgtgaggggccgattcaccatctccagagacaattccaagaacaccctatatctagaaatgaacaatgtgagacctgaggacacggctgtgtattactgt 58 48 57 50 +JY8QFUQ01AEDZX IGG1 ggatttacctttagctcctatgcc atgacctgggtccgccaggctccagggaaggggctggagtgggtcgcaatt attagtggtagtgatggtcgcaca tactacgccgactccgtgaagggccggttcaccatctccagagacaattccaagaacacgctgtatctgcaaataaacagcctgagagccgaggacacggccgtatattactgt 52 55 59 47 +JY8QFUQ01AEE83 IGA2 ggattcagtttcactggttttacc gtgatctgggtccgccaggctccaaggaaggggctggaatggatctcatcc gtcactactaatggtctcacg tactacgcagactcagtagagggccgattcaacatctccagggacaacgccaacaatttagtgtttctgcaaatgaacagcctgagagtcgaggacactggtgtatattattgt 53 49 54 54 +JY8QFUQ01AEF8J IGA1 ggattcaccttcagtagttatggc atgcactgggtccgccaggctccaggcaaggggctggagtgggtggcagtt atatcatatgatggaagtgataaa tactatgcagactccgtgaagggccggttcaccatctccagagacaattccaagaacacgctgtttctgcaaatgaacagcctgagaagtgaagacacggctgactattactgt 58 47 59 49 +JY8QFUQ01AEH4G IGG1 ggcttcagtttgagtacttatacc atgaactgggtccgccaggctccaggaaggggctggagtgggtttcactc attagtaagactagtaatgtcata tactacgcggactctgtgaagggccggttcaccatctccagagacaatgccgagaattcactgtttctgcaaatggacagcctgagtgccgaggacacgggtgtatattactgt 52 47 59 54 +JY8QFUQ01AEM2N IGA1 ggtgactccatcagtagttacttc tggagttggatccggcagcccccagggaagggactggagtggattggatat gtctattacagtggaagtacc aagtataatccttccctcgaaagtcgagtcaccatatcattagacacgcccaacaaccagttctccctgagcctgacctatgtcaccgctgcggacacggccatatactactgt 53 57 50 50 +JY8QFUQ01AEMXL IGA2 ggattcacctttggcacctctgac atggcctgggtccgccaggttccaggggaggggctggagtgggtctcacac attgatatcagaggtgccaca cagtataaagactccgtgaagggccggttcaccatctccagagacaattccaagagcactctatatctgcaaatgaacaccttgcgagccgaggacacggccgtatattactgt 52 56 57 45 +JY8QFUQ01AENJP IGG1 ggattcaccttcaacaactatgcc atgagttgggtccgccaggctccagggaaggggctggaatgggtctcaact attactagtggtggtggtagtaca ttgtacgcagactccgtgaagggccggttcaccatctccagagacaatttcaaggacacgctgtatctgcaaatgaacagcctgagagccgaggacacggccgtatattactgt 54 51 60 48 +JY8QFUQ01AEQU4 IGG1 ggtggctccatcaacagtagaaattattat tggggctggatccgccagccccccagggaagggttggagtggattggaaat atctattatagtgggaacacc tactacaatccgtccctcaagagtcgagtcaccgtatccgtagacaggtctaagaaccagttgtccctgaagctgacctctctgaccgccgcagacacggccgtatattactgt 55 56 55 50 +JY8QFUQ01AEU6X IGA2 gaattcagtttcactgaccaccac atgagctggatccgccgggctccagggaaggggctggagtgggtgtcatac attagtcctacaggtagtgccata ttttacgcagactctgtgaaggcccgtttcaccatctctagggacaacgccaagaatttactatatctacaaatgaacagcctgagacccgaggacacggccatctattactgt 56 55 52 50 +JY8QFUQ01AEVWH IGG1 ggaatcaccttgagtccctattgg atgacctgggtccgccaggctcccgggaaggggctggagtgggtggccaac ataaaccaagatggaggtgagaga aattatgtggcctctgtgaggggccggttcaccatctccagagacaacgccaggaattcactgtatctgcaaatgaacagcctgagagtcgacgacacggctgtatattattgt 54 49 65 45 +JY8QFUQ01AEX25 IGA2 ggattcaccttcagtgactactac atgaactggatccgccaggctccagggaaggggctggagtggatttcaaac atcaatagtagtgggaggaccata tattacgcagactctgtgaagggccgattcaccatctccagggacaacgccaagaactcactgtatctgcaaatgaacagcctgagagccgaggacacggccgtatattactgt 61 52 56 44 +JY8QFUQ01AEYEY IGA1 ggattcaccttcagtagctactgg atgcactgggtccgccaagctccagggaaggggctggtgtgggtctcacgt gttaatggtgatgggggtagcaca gcctacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaacactctctatctccaaatgaacagtctgagagccgaggacacggctgtatattactgt 51 55 62 45 +JY8QFUQ01AEYN1 IGA2 ggattcacctttagtaaccattgg atgaactgggtccgccaggctccagggaaggggctggagtgggtggccaac ataatgccagatggaggtgagaaa ttctatgtggactctgtgaagggccggttcaccatctccagagacagcgccaagaactcactgtatttgcaaatgaacagcctgagagccgaggacacggctgtgtattactgt 55 47 65 46 +JY8QFUQ01AEYTS IGG3 ggattcctttttagaacctattgg atgagttgggtctgccaggctccagggaaagggctggagtgggtggcccac ataaaccaagatggacgtgaggca tactatgtggactctgtgaagggccgattcaccatctccagagacaacggcaagaattcagtatatctgcaaatgaacagtctgagagccgaggacaccgctatgtattattgt 58 44 61 50 +JY8QFUQ01AF30Y IGA2 gggttcaccgtcagtagcaagttc atgagctgggtccgccagggtccagggaaggggctggagtgggtctcagtt acttatcctgatggtactaca cattatagagactccgtgaagggccgattcaccatctccagagacaattccaagaacacgctggatcttcaaatgaacagcctgagagccgaggacacggccgtttattattgt 53 50 59 48 +JY8QFUQ01AF3QZ IGG1 ggattcacgtttagtagatttgtc atccattgggtccgccagactccaggcaaggcgctggagtgggtggcagtt atttggtatgatggaactaacaaa tactatacagaatccgtgaagggccgattcaccatctccagagacaattccaagaacatgctgtatctgcaaatgaacagcctgagagccgaggacacggctgtttactactgt 59 47 55 52 +JY8QFUQ01AF3TS IGA2 ggattcacgtttagtaacagttgg atgggctgggcccgccaggctccagggaaggggctggagtgggtggccagc acaaaccaagatgcaagtgagaaa aagtatgtggactctgtgaggggccgattcaccatctcaagagacaacgccaagaactcactgtatttacaaatgaacagcctaagagccgaggacacggctttatatttctgt 61 46 63 43 +JY8QFUQ01AF4Q3 IGA1 ggattcagcctcgccacttatagt atgagttgggtccgccaggctccaggaaaggggctggagtgggtctcaggt attagtgatcatggtattgacata tactatgcagactccgtgaggggccggtttaccatctccagagacatttccaagaacacggtgtatctacaaatgaacagcctgggagtcgaggacacggccgtatattactgt 53 47 61 52 +JY8QFUQ01AF4Z9 IGG4 ggattcagctttagcgattttgcc atgagttgggtccgccaacctccaggaaaggggctggagtgggtcgcaagt gttgacagaggtggcactaca tactatgcaggctccatgaagggccggctcgccgtctctagagacgatgtcgacaagacagtgagtctgcagatgaacaatctgacagtcgaggacacggccacatatcactgt 52 50 64 44 +JY8QFUQ01AF664 IGA1 ggtggctccataagaagttactat tggagttggatacggcactccgccgggaagggactggagtggatcgggcgc atatatgacagtggtagtaca aactacaatccctccctcaagagtcgagtcagcatgtcagtggacacgtccaagaaccaggtctccctgaagttgatctctgtgaccgccgcggacacggccatgtattattgt 52 51 60 47 +JY8QFUQ01AF6U3 IGG2 ggattcaacctcaatacctttggc atgaactgggtccgccaggcgccagggaagggactggagtgggtctcacac gtcaatcggggtagtactcacata tactacgcaggctcagtgaggggccggttcaccatctccagagacgacgccgggaactcagtctatctgcaaatgaatagcctgagagccgaggacacgggtttattattgt 52 53 62 44 +JY8QFUQ01AF7Y6 IGA2 ggtttcacctttagtaacgattgg atggactgggtccgccaggctccagggaaggggctggagtgggtggccaat ataaagggagatggaagtgagaaa actatgtagactctgcgaagggccgattcatcatctccagagacaacgccaagaactcactgtatctgcaaatgaacagcctgagagtcgaggacacggctgtgtattactgt 59 43 65 45 +JY8QFUQ01AF8I8 IGG1 ggattcactttcagtaatgtttgg atgagttgggtccgtcaggctccagggaaggggctggaatgggttggccgt attaaaagcacaattgatggtgggacaaca tcctacgctgcccccgtgaaagacagattcatcatctcacgagaggactcagaaaacaccttgtctctgcaaatgaacagcctgaaaaccgaggacacagccgtgtattactgt 61 49 59 50 +JY8QFUQ01AF8ND IGG2 ggtggctccatcagcagcggttattactac tggagctggatccggcagcccgccggggagggactggagtgggttgggcgt atctctgccagtggggacacc aactacaacccctccctcaagagtcgagtcaccatatcagtgaacacgtccaagaaccagttctccttgaggctgacctctgtgaccgccgcagacacggccgtgtattactgt 45 64 63 44 +JY8QFUQ01AF8SZ IGA1 ggattcactgtcaataacaactac atgggttgggtccgccaggctccagggaaggggctggagtgggtctcgact atttattacggtggcaccaca tattacgcagactccgcgaagggccgattcaccatctccagagacacctccaggaacacactttttcttcagatgaacagcctgagaagcgacgacacggctctatattattgt 54 55 53 48 +JY8QFUQ01AF9LD IGA1 ggattctcctttgatatatattgg atgagatgggtccgcctggctccagggaaggggctggagtgtgtggccgac ataaagcaagatggaagtgagaag tactatgtggactctgtgaagggccgattcaccatctccagagacaacgccaagaactcactgtttctgcaaatgaacagcctgagagtcgaggacacgggtgtgtatttctgt 55 42 65 51 +JY8QFUQ01AFBN6 IGG4 ggtggctccgtcagcagtggtagttactac tggagctggatccggcagcccccagggaagggactggagtggattgggtat atctattacagtgggagcacc aactacaacccctccctcaagagtcgagtcaccatatcagtagacacgtccaagaaccagttctccctgaagctgagctctgtgaccgctgcggacacggccgtgtattactgt 50 59 61 46 +JY8QFUQ01AFCKU IGA1 ggattcacctttaacctctatgtc atgcactggttccgccaggctccagggaaggggctagagtgggtctcaact attcgtgccaggggtgataggaca cactacgcagactccgtgaagggccgcttcaccatctccagagacaattccaagaacacgctgtttttgcaaatgtacagcctgagagtcgaggacacggccatatattactgt 53 56 55 49 +JY8QFUQ01AFCRV IGG1 ggattcacgtttagtagttttgtc atccattgggtccgccagactccaggcaaggcgctggagtgggtggcagtt atttggtatgatggaactaacaaa tactatacagaatccgtgaagggccgattcaccatctccagagacaattccaagaacatgctgtatctgcaaatgaacagcctgagagccgaggacacggctgtttactactgt 58 47 55 53 +JY8QFUQ01AFDCM IGA2 ggtgactccatcagtaatactgattactac tgggtctggatccgccagaccccagggaagggactggagtggattgggagt atcgatttcagtgggagcacc tactacaacccgtccctcaagagtcgagtcaccatatccatagacacgtccgagaaccggttctccctgaggttgacctctatgaccgccgcagacacggccgtctattactgt 51 61 56 48 +JY8QFUQ01AFE1S IGA1 ggattctcctttgatatatattgg atgagatgggtccgcctggctccagggaagggctggagtgtgtggccgac ataaagcaagatggaagtgagaag tactatgtggactctgtgaagggccgattcaccatctccagagacaacgccaagaactcactgtttctgcaaatgaacagcctgagagtcgaggacacgggtgtgtatttctgt 55 42 64 51 +JY8QFUQ01AFE74 IGA1 ggattcacctctggaaagtatgcc atgcactgggtccggcaagctccagggaaggacctggagtgggtctcaggc ttgggtttggataatggtaggata gactacgcggactctgtgaagggccgattcaccatctccaaagacaacgccaagaattccctgtatctgcaaatgaacagcctgagagttgaggacacggccatgtattactgt 55 49 62 47 +JY8QFUQ01AFES7 IGA2 ggattcactttcagtgacgcctgg atgagctgggtccgccagattccagggaaggggctggagtgggttggccgt ataaaaaacaaagctatgggtgagacaaca gacttcgctgcacccgtgagaggcagattcagtatctcaagagatgattcaaaaaatacactgtatctgcacatgagtggcctgaaaaccgaggacacagccgtctattattgt 63 46 62 48 +JY8QFUQ01AFGYG IGA1 ggattcacgttcaacatttatggt ctacactgggtccgccaggctccaggcaaggggctagagtgggtggcacac atatcatatgatggaaataagaaa tactacgcagactccgtgaagggccgattcaccatctccagagacaattccaagaacacgctgtatctgcaaatgaacagcctgacagctgaagacacggctatttattactgt 64 51 51 47 +JY8QFUQ01AFJBJ IGG1 ggatacagctttaccaattactgg atcggctgggtgcgccaggtgcccggaaaaggcctggagtggatggggagc atctatcctcgtgactctgacacc agatacagcccgtccttccaaggccaggtcaccttctcagccgacaagtccatcagtaccgcctaccttcagtggagcagtctagcgacctcggacaccgccatgtattactgt 47 65 56 45 +JY8QFUQ01AFKEB IGA1 ggagacacattccccagccatgac atcaactgggtgcgacaggccactggagaagggcttgagtggatgggacgg atgaaccctaagactggtgacaca agctttgcacagaagttccacgatagagtcaccatgatcagtgacacctccataagtacagtgtacatggagctgagtagcctgagatctgaagacacggccatttactattgt 62 50 58 43 +JY8QFUQ01AFSUH IGA1 ggattcaggtttagcatctattgg atgagctgggtccgccaggctccagggaaggggctggagtgggtggccaac ataaagcaagatggaagtgagaaa tactatgtggactctgtgaagggccgattcaccatctccagagacaacgccaagaactcactgtatctgcaaatgagcagcctgagagccgaggacacggctgtgtattactgt 58 45 66 44 +JY8QFUQ01AFUZV IGG2 ggattcgtctttactaatcattgg atgagttgggtccgccaggccacagggaaggggccggagtgggtggccaac atatccccagacggaaatacgaaa tattttggggactctgtgaggggccgattcagcgtctccagagacaacggcaagcagtcatcgtatctggaaatgaataccctgacagtcgatgacacggctgtatacttctgt 54 48 63 48 +JY8QFUQ01AFVJM IGG1 ggattctccttcagcaattatgcc atccactgggtccgccaggctccaggcaaggggctggagtgggtggcgacc atttcatatgatattaataaaaaa tattatgcagagtccgtgaggggccgattcaccctctccagagacaattccaagaacactctcgatctgctcatggatacccttcggttcgacgacacggctgtctattattgt 52 55 51 55 +JY8QFUQ01AFVUY IGA1 ggatacatctttaccgactattgg atcggctgggtgcgccagacggccgggaaaggcctggagtggatgggaatc atctatcctggtgactctgacacc agttatggcccgtccttccaaggccaggtcaccatttcagccgaccagtccatcaccaccgcctacctgcagtggagcagcctgaaggcctcggacaccgccatatattactgt 46 65 57 45 +JY8QFUQ01AFZBJ IGA2 ggattccagttagcaactatgcc atgagctgggtccgtcaggctcctgggaaggggctggagtgggtctcaact attagtaaagacggtgtttacacc tactaccccgactccgcgaagggccgggtcaccatctccagagacaattccaagaatacaatttatttgcaaatgaacagcctgacagccgaggacacggccagatattactgt 57 54 55 46 +JY8QFUQ01AG0D6 IGA1 ggattcaccttcaatctattcggg atgctctgggtccgccaacttccggggaagggactggtgtgggtctcacat attaatactgatggtactaaaata gatcacgcggactccgtgaagggccgattcaccacctccagagacaacgccaagaacaccctctatctgcaaatgaacagtctgagagccgaggacacggccgtatatttctgt 56 56 53 48 +JY8QFUQ01AG2OG IGA1 ggatttagtatcagtaattatggt attcactgggtccgccaggctccagggaggggactggaacttgtttcagct attaccaacaatgcgcatagtgta gtctatgtagactctgtgaagggcagattcatcatctccagagactattccaagaacacgttgtatcttcaaatgggcagactgagaccagaagacacggctgtgtactactgt 58 44 54 57 +JY8QFUQ01AG5LX IGA2 ggattcaacgtcagtggatactgg atgcactgggtccgccaagtgccagggaaggggctggtatgggtctctagg ctttcggatgatgaaattactata acttacgcggactttgtggagggccgattcaccatctccagagacaacgccaggaacgaggtctatctgcaaatgaatgatttgagagtcgacgatacggctgtatacttttgt 53 43 63 54 +JY8QFUQ01AG60V IGG2 ggattcaccttcagtagttatagc atgcactgggtccgccaggctccagggaagggactggagtgggtctcctcc attagtagtaatagtgcctacaca gaccacgcagactcagtgaagggccgattcaccatctccagagacaacgacagaggtcactgtatctgcaaatgaacagcctgagagccgaggacacggctgtgtattactgt 56 54 58 44 +JY8QFUQ01AG93B IGA2 ggatcacctttggcacctctgac atggcctgggtccgccaggttccaggggaggggctggagtgggtctcacac attgatatcagaggtgccaca cagtataaagactccgtgaagggccggttcaccatctccagagacaattccaagagcactctatatctgcaaatgaacaccttgcgagccgaggacacggccgtatattactgt 52 56 57 44 +JY8QFUQ01AG9DV IGG2 ggacgctccttgagaagctttggc atgcactgggtccgccaggctccaggcaagggactggagtgggtggcactt acttcgtatgacggaaataggaaa tattatgcagactccgtgaagggccgattcaccatctccagagacaactccaagaatacgttatttctgcaaatggacagtctgagagctgaggacacggctctttattactgt 55 49 59 50 +JY8QFUQ01AGDKF IGA1 gaattcacctttagcagttttgcc atgagctgggtccgccaggctccagggaaggggctggagtgggtctcaagc attggtactagtgttgttaacaca tggtacgcagactcagtgaagggccggttcgccatttccagagacaattccaagagcacgctgtatttgcaaatgaatagcctgagagtcgaggacacggccgtatattactgt 52 47 62 52 +JY8QFUQ01AGDVH IGG2 ggattcaccttaagtgatcactac atggactgggtccgccaggctccagggaaggggctggagtgggttggccgt actaaaaacaaagctaacggttacactaca cactacgccgcgtctgtgagaggcagattcattctttcaagagacgattcaaagaactcagtgtatctgcaaatgaacagcctgaaaatcgaggacacggccgtctattactgt 63 51 57 48 +JY8QFUQ01AGDVR IGA1 ggattcaccttcaatattttttct atgcactgggtccgccaggctccaggcaagggactagagtgggtgtcactt gtttcatatgatggatctaagaaa aagtacgcagactccgtgaagggccgattcaccatctccagagacaattccaagaacacggtgtatctgcaaatgaacagcctgagacctgaggacacggctgtgtattactgt 58 49 53 53 +JY8QFUQ01AGGIL IGA2 ggattcacatttagcaacttttgg atgagctgggtccgccagactccagggaaggggctggagtgggtggccaaa ataaacccagacggaagtgagaaa tactatgtggactctgtgaagggccgattcaccacctccagagacaactctagaaactcgctgtgtctgcaaatggacagcctgagagccgaggacacggctgtgtattactgt 58 48 63 44 +JY8QFUQ01AGHV3 IGG1 ggtgactccatcagtagtgattctcactac tggagttggatccggcagcccgccgggaagggactggagtggattgggcgt gtctacgccagtgggaccacc aattacagccctccctcaagagtcgagtcaccatttcagtggacacgtccaggaatcaattctccctgaagttgaattctgtgaccgccgctgacacggccgtttatttctgt 45 59 59 52 +JY8QFUQ01AGKNE IGA2 ggattcacctttagtagttactgg atgcactgggtccgccaaactccaggggagggactggtgtgggtctcacgg actaatgaagatgggagtatcaca aactacgcggactccgtggaggaccgattcaccatctccagagacaacgccaagaacaggctgtatctgcaaatgaacagtctgagagccgaggacacggctgtgtattactgt 57 50 62 44 +JY8QFUQ01AGKQB IGA2 ggattcacctttagtaaccattgg atgaactgggtccgccaggctccagggaaggggctggagtgggtggccaac ataatgccagatggaggtgagaaa ttctatgtggactctgtgaagggccggttcaccatctccagagacagcgccaagaactcactgtatttgcaaatgaacagcctgagagccgaggacacggctgtgtattactgt 55 47 65 46 +JY8QFUQ01AGMKR IGA1 ggtgtctccatcagtagtaattactgg tggatttgggtccgccagtccccaggggaggggctggagtggattggagaa gtctatcatactgggaccacc tattacaacccgtccctgaagagtcgagtcaccctgtcagtagacaagtccaggaatcagttctccctggagatgacttctgtgaccgccgcggacacggccgtgtatttctgt 45 54 62 52 +JY8QFUQ01AGQWQ IGA2 ggattcaccttcagtgactacagc atgaactgggtccgccaggctccagggcaggggctggagtgggtctca tatagtcgcggaagaaccaca tactacgcagactctgtgcagggccgattcaccatctccagagacaatgccaagaactcactgtatctgcaaatgaacagcctgacagccgaggacacggctgtttattactgt 54 56 55 42 +JY8QFUQ01AGRBK IGA1 ggattcaccttcagctcccattgg atgagctgggtccgccagactccagggaagggctggagtgggtggccaac ataaaggaagatggaagtgtgaag tattatgtggactctgtgaggggccgattcaccatctccagagacaacgccaagaattcattgtatctgcagatgaacagcctgagaggcgaggacacggctgtctattactgt 55 46 65 46 +JY8QFUQ01AGS4P IGG1 ggattcaccttcagtacctatgct atgtactggatccgccaggctccaggcaaggggccagagtgggtgtcagtg atatcacatgatggaaataaggaa gaatacgcagactccgtgaagggccgattcaccatttccagagacaactccaagaaaatgttgtacctgcaaatgaacaaccagcgacctgatgacacggctgtttattattgt 63 49 53 48 +JY8QFUQ01AGSEB IGA2 ggattcacctttagcagctatgcc atgggctgggtccgccaggctccagggaaggggctggaatgggtctcaact attagtgggagtggtcggagcaca tactacgcagactccgtgaagggccggtacaccatctccagagacaattccaagaatacgatgtctgtgcaaatgagcagcctgagagtcgaggacacggccatatattattgt 54 50 64 45 +JY8QFUQ01AGTKI IGG3 ggattcacgtttggcagccacgcc atgagctgggtccgccaggctccagggaaggggctggagtacgtctcaatt gttactggtagcggacgcagcaca tactacgcagagtctgtgaagggccggttcaccgtctccagagacaattccaaggacaccctgtatctgcaaatggacagcctgagagccgaggacacggccgtgtattattgt 49 56 65 43 +JY8QFUQ01AGWXH IGA1 ggattcagttttgcagattatggc atgggctgggtccgccaacttccagggaaggggctggaatgggtcggtggt gttaattggaatgggggcagcgca ggttatgcagtctctgtggagggccgattcatcatctccagagacaacggcaagaagtccctgtatttgcaaatgaacagtctgagagtcgaggacacggccgtgtattactgt 48 41 72 52 +JY8QFUQ01AGXB8 IGA2 ggattcgacttcagtagatatatc atgaattgggtccgccaggctccagggaaggggctggagtgggtctcatcc attagttttgatagtaattacata tactacgcagactcagtgaagggccgattcaccatctccagagacaacgccaagaactcgctgtttctgcaaatgaacagcctgagagccgatgacacggccgtgtattactgt 57 49 55 52 +JY8QFUQ01AGXOC IGA1 ggattcaccgtcagtggcaagtac atgagctgggtccgccaggctccagggcagggactggagtgggtctcagtt atctatagtactggtagtaca tactacgcagattccgtgaaagggcggttcaccatctccagagacagttccaacaacactctatatcttcaaatttacggcctgagagctgacgacacggctacttactactgt 53 53 54 50 +JY8QFUQ01AGZC5 IGG1 ggattcacctttagtagttctgcc atgaactgggtccgccaggctccagggaagggactggagtggatttcatac attagtgatagtggtagtcgcatt tactatgcagactctgtgaggggccgattcaccatctccagagacgacgccaagaacgtgctgtatctgcaaatgaacggactgcgagacgaagacacggctctttattactgt 53 48 59 53 +JY8QFUQ01AH0X0 IGA1 gatgactccgtcagcagtggtcgttactac tggagttgggtccggcagcccccagggaagggactggagtggattggtcat ttctatcacattgggggcact aagtacaacccctccctcgcgagtcgagtcaccatatcagtagacacgtccaagagccagttctccctgatgctgaactctgtgaccgctgcggacacggccgtatatttctgt 45 60 60 51 +JY8QFUQ01AH32A IGA1 ggattcatctttagtaattatgcc atgagttgggtccgccaggccccagggagggggctggagtgggtctcaact atcagtgccaatggagacaacaca tactacgcggactccgtgaagggccgattcaccatctccagagacaattccaagagcacagtgtatatgcaaatgaacagcctgaaagccgaggagacggccgtctatcattgt 58 52 59 44 +JY8QFUQ01AH38B IGA1 ggtggccccatcagaggcggtggtttctac tggacctggctccggcagtccgccgggaagggcctggagtggatcggacgt atttatgacagtggcagt gactacaatccttctctcaagagtcgagtcaccatgtcagtagacacgtccaagagccagttctccctgaggctgagttctgtggccgccgcagacacggccgtttacttctgt 40 59 65 49 +JY8QFUQ01AH5A1 IGA1 ggtggctccatcatcagagacagtgcctac tggggctggatccgccagccccagggaaggggctggagtggcttgggagc atctattatagtgggagtacc tactacaatccctccctcaagagtcgagtcaccatatccgtagacacgtccaagaagcagttctccctgaagctgagctctgtgaccgccgcagacacggctgtatattactgt 49 60 60 46 +JY8QFUQ01AH5X7 IGA1 ggggacagtgtctctaccaacagagctgct tggaactggatcaggcagtccccatcgagaggccttgagtggctgggaagg acatactacaggtccaagtggtataat gattatgcagtgtctgtgaaaagtcgaataaccatcaacccagacacatccaagaaccagttctccctgcagttgaattctgtgactcccgaggacacggctgtgtattactgt 60 53 58 51 +JY8QFUQ01AH715 IGG2 ggattcattttagcaattatgcc atgaactgggtccgccaggctccagggaaggggccggagtgggtctcagct tttagtggtggtggcactaagacc tactacgcagactccgtgaagggccggttcttcatctccagagacaattccaagaacactctacatctgcatatgagcagcctgagggccgaggacacggccacatattactgt 51 54 59 48 +JY8QFUQ01AHAA1 IGA1 ggattcagcttcagttcctatagc atgagctgggtccgccaggctccggggaaggggctggagtgggtctcatat attagtagtagtggtaggaccatc tactacgctgactccgtgaagggccgattcaccatgtccagagacaatgccaagaattcactgtatctacaaatgaacagcctgagagccgaggacacggccgtctattactgt 53 51 60 49 +JY8QFUQ01AHB8A IGA1 ggattcaccttcagtatctacacc atgaagtgggtccgccaggctccagggaagggactggagtgggtctcatcc atcactagccgtggtgcttacata cactacgcagcctcagtgaggggccgattcaccatctccagagacaacgccagggactcactgtatttgcaaatgaacagcctgagtgccgaggacacggctgtttattactgt 51 58 57 47 +JY8QFUQ01AHBK2 IGA1 ggtgggtccttcagtacttactac tggacatggatccgccagcacccagagaagggactggagtggattggggaa atcaatcacagtggaagcccc aactacagcccgtccctcaagagtcgagtcctcatatcgatagacacgtccaagaatcaggtctccctcaacctcttctctgtgaccgccgcggacacgggtgtgtattattgt 51 59 54 46 +JY8QFUQ01AHEWI IGG1 ggattcactttcagtgacgcctgg atgagctgggtccgccaggctccagggaaagggctggagtgggttggccgt attccaagcaaagctgatggtgggacaaca gactacgctgcgcccgttaaaggcagattcaccatctcaagagaggattcgaaaaatatgctgtatctgcaattgaacagcctgaaaaccgaggacacagccgtgtatttctgt 58 50 64 47 +JY8QFUQ01AHHJ6 IGA1 ggattctccttcagaagttactct ttccactgggtccgccaggctccaggcaaggggctagagtgggtggctgtt atttcacatgatggcattactaac tattatgcagactccgtgcagggccgattcatcatctccagagacaattccaagaacacgctgtttctgcacatgaacagcctgagagttgaggacacggctgtttatttttgt 49 51 53 60 +JY8QFUQ01AHIDS IGA2 ggattcaccttcagtagatatagt atgaactgggtccgccaggctccaggaaaggggctggagtgggttgcatac attagaagtagcagtagtgtcata tactacgcagactctgtgaagggccgattcaccatctccagagacaatgccaagaactcactgtatctgcaaatgaacagcctgagagccgaggacacggctgtgtattactgt 60 47 58 48 +JY8QFUQ01AHK2I IGG2 ggattcattgtcaatagcaactac atgagttgggtccgccaggctccagggaaggggctggactgcgtctcagtt atttatcccggtggtagcaca tactatgcagactccgtgaagggccgattcaccatctccagagacatctccaagaacacactgtatcttcaaatgaacagcctgagagccgaggacacggctgtatattactgt 55 53 53 49 +JY8QFUQ01AHMI8 IGA1 ggattcacctttagtagttattgg atgacctgggtccgccaggctccagggaaggggctggagtgggtggccaac ataaaggaagatgggaatgataaa tactatgtcgactctgtgaggggccggttcaccatctccagagacaacgccaagagctcactgtttctgcaagtgaacagcctgagagccgacgacacggctgtttattactgt 54 47 64 48 +JY8QFUQ01AHN93 IGG1 ggatcaccctttggttattatggc atgagctgggtccgccaagctccggggagggggctggagtgggtctctggt attaatcggaatggtgatagcaca ggttatgcagactctgtgcaggaccgattcaccatctccagagacaacgccaagaactccctgtatctcgaaatgttcagtctgacagccgaggacacggccttatatcactgt 49 52 61 51 +JY8QFUQ01AHRBA IGA1 gatgggtcgttcatgggttacctc tggaattggatccgccagcccccagggaaggggctggagtggattggggaa atcagtcctagcggcgtcagt aagtacaatacgtccctcaagagtcgcgttgttatgagaatggacacgtcgaagaagcaattctccctggagatcaactctgtgaccgccgcggacacggctacttattattgt 49 49 63 49 +JY8QFUQ01AHSTY IGG1 ggattcacatttagaagctattcc atgaattgggtccgccaggctccagggaaggggctggagtgggtctcagct gtcagtggtggtgggggcgccaca aactacgcggagtccgtgaagggccggttcaccatctccagagacaattccaggggacggtgttcttacaaatgaacagcctgagagtcgaagacacagccttatattattgt 51 48 66 47 +JY8QFUQ01AHTOX IGG1 tgtgactccatcagtagtactcattactat tggggctggatccggcagcccccagggaggggactggagtgggttgggagt atccactacactgggagcacc tactacaactggtccctcaagcatcgagtctctatatcggtggacacatcgagtaaccagttctccctgaggttgaggtctgtgaccgccgctgacacggctgtatactactgt 46 57 61 52 +JY8QFUQ01AHX1B IGG1 ggattcacctttaccacctatgcc atgagctgggtccgccaggctccagggaaggggctggaatgggtctcaact attagtggtagtggtggcaggaca tactacgcagactccgtgaagggccggttctccatctccagagacaattccaagaacacactatatctgcaaatgaacagcctgagagtcgaggacacggccgtatattactgt 55 54 58 46 +JY8QFUQ01AHY6K IGA2 ggatacaccttcactaattatgct ctgcaatgggtgcgccgggcccccggacaaacttttgagtggctgggatgg atcaactctgccaatggcaacaca aaatattctcagaagtttcagggcagagtcgccattaccagggacacatccgcgaggacaacttacatggaattgagcagtctgacatctgaagacacggcgacatattattgt 60 52 53 48 +JY8QFUQ01AHY6R IGA1 aaattcacctttagcaactatgcc atgagctgggtccgccaggctccagggaaggggctggagtgggtcacaggt attagtggtggtggtgaaaacaca tactacgcagactccgtgaagggccggttcaccatctccagagacaattccaagagcatgttgtatctgcaaatgaacagcctgagagccgaagacacggccgtattttactgt 57 50 60 46 +JY8QFUQ01AHYWT IGG1 gggttcaccatcagtcactactcc atggcctgggtccgccaggctccgggaaaggggctggagtgggtctcatta atttatcccggcgggagcaca ttccacgcagactccgtgaggggcgggcttatcgactccagagacgaatccaagagtgaactgtatcttcggatgaagaaagtgaaagtcgaagacacggccgtatattattgt 51 51 63 45 +JY8QFUQ01AI3Y4 IGA2 ggattcacgttcagtagttatggc atgcactgggtccgccaggctccaggcaaggggctggagtgggtggcaatc atctggtatgatggaagtaatcaa tattatgcagactccgtgaagggccgattcaccgtctccagagacaattccaagaacacggtgtatctacaaatgaacagcctgagagccgaggacacggctgtctattattgt 56 47 61 49 +JY8QFUQ01AI4NA IGA1 ggattcacctttagcaattttgcc atgacctgggtccgccaggctccagggaaggggctggagtgggtctcagtt gtgagtggtagtggcgatagaaca gactacgcagactccgtgaagggccggttcactatctccagagacaattccaagagtacactattcctgcaaatgcacagcctgagagtcgaggacacggccgtatattactgt 52 51 62 48 +JY8QFUQ01AIAC1 IGA1 ggattcacctttggcagctatatc atgagctgggtccgccaggctccagggaaggggctggagtgggtctcagct attagtggtaggggtgttgacaca tactactcagactccgtgaggggccggttcaccatctccagagacaacgccaagaacacgatgtatctgcaaatgaacaccctgagagacgaggacacggccgtctatttctgc 51 54 63 45 +JY8QFUQ01AIAF1 IGA1 ggctacaccttcaccgactactat atacactgggtgcgacaggcccctggacaagggcttgagtggatgggatgg atcaaccctgacggtggtagcaca aagtatgcacagaaatttcagggcagggtcgccgtgaccagggacacgtcaattagcacagcctacattgaggtgaccagactgacatctgacgacacggccgtgtattattgt 56 53 61 43 +JY8QFUQ01AIE5T IGA1 ggtggctccaccaataataactac tggacttggatccggcagcccccagggaagggaatggagtgggttgggtat gtcaattatgctgggaccacc aactacaacccctccctcaagagtcgagtcactatttcagtggactcgtccaagaaccagttctccctgagggtgaactctgtgaccgctgcggacacggccgtgtattactgt 49 57 57 47 +JY8QFUQ01AIN7Q IGA1 ggattcaacttcaattactttagc atgaactgggtccgccaggctccagggaaggggctggagtgggtctcatcc attagtagtgatggtacttacata tactacgcagactcagtgaagggccgattcgccatctccagagacaacgccaaagactcactgtatctacaaatgaacatcctgagagccgaggacgcggctgtttattactgt 57 51 54 51 +JY8QFUQ01AITB3 IGA2 ggtggctccatcagcagtagtaactgg tggagttgggtccgccagcccccagggaaggggctggagtggattggacaa atccatcatgtgggggcacc aattacaacccgtccctcgagagtcgagtcactatatcagtagacaagtccaagaaccacctctccctgaccctgaactctgtgaccgccgcggacacggccgtttatcactgt 49 62 59 42 +JY8QFUQ01AITV3 IGA1 ggattcacctttggtgattatgct atgagttggttccgccaggctccagggaaggggctggagtgggtaggtttc attggaggcagagctcatggtggggcaaca gaatacgccgcgtctgtgaaaggcagattcatcatctcaagagatgattccaaaagcatcgcctatctgcaaatgaacagcctgaaaaccgaggacacagccgtgtattattgt 57 45 65 52 +JY8QFUQ01AJ3EX IGA2 ggattcaccctcagtagctataac atgaactgggtccgccaggctccagggaaggggctggagtgggtttcatac attagtattagtagtggtaccata tactatgcagactctgtgaagggccgattcaccatctccagggacaatgccgagaactcactgtatctgcaaatgagcagcctgagagccgacgacacggctgtgtattactgt 55 50 58 50 +JY8QFUQ01AJ3KH IGA1 ggatacattttcaccggctactat ttacactgggtgcgccaggccgctggacaagggcttgagtggatgggatac atggaccctcatagtggtgacaca agctttgcaaagaaatttcagggcagggtaaccttgaccagtgacacgtccatcagtacagcctacatggaaatgagcgggctgacgtctgaggacacggccatcttttactgt 54 50 60 49 +JY8QFUQ01AJ891 IGG1 ggattcacctttggttattatggc atgagctgggtccgccaagctccggggaggggcgtggagtgggtctctgt attaatcggaatggtgatagcaca ggttatgcagactctgtgcaggaccgattcaccatctccagagacaacgccaagaactccctgtatctcgaaatgttcagtctgacagccgaggacacggccttatatcactgt 49 51 60 52 +JY8QFUQ01AJCMG IGA2 gggttctccttcagcgactacttc atgagttgggtccgccaggctccagggaagggactggagtgggttgcatac attagtagtagtggtactactaaa tactacgcagactctgtgaagggccgattcaccatctccagggacaacggcaagaattcattgtttctgcaaatggacagcctgagagtcgacgacacggccatgtatttctgt 52 49 59 53 +JY8QFUQ01AJEE9 IGA2 gggttcaccgtcagtagcaagttc atgagctgggtccgccaggctccagggaaggggctggagtgggtctcaatt acttatcctgatggtattaca tattatggagactccgtgaagggccgattcaccatctccagagacaattccaacaacacgctgtttctgcaaatgagcagcctgagagccgaggacacggccgtttattattgt 51 50 58 51 +JY8QFUQ01AJEL4 IGA1 ggattcacctttagcaactatgcc atgagttgggtccgccaggctcaagggaaggggctggactgggtctcagat attagtaatagtggtggtgacaca ttctacgcaggctccgtgaagggccgcttcaccatctccagagacaattccaggaacactctatatctgcaaatggacagcctgagagccgaggacacggccgtgtattactgt 53 52 60 48 +JY8QFUQ01AJF1Y IGG1 ggattcacctttaccaactatggc atgagctgggtccgccaggctccagggaaggggctggagtgggtctcaggt attagtggtagtggtgaaaccaca taccacgcagaatccgtgcagggccggttcaccatctccagagacaactccaagaacaatctgtatctgcaaatgaacagtctgagagccgaggacacggccatttattactgt 56 53 59 45 +JY8QFUQ01AJGDO IGG1 ggatacgtctttccctcctactgg atcgcctgggtgcgccagatgcccggtaaaggcctggagtggctgggaacc atctatcccggcgactctgacacc acatacagcccgtcattccaaggccaggtcaccatgtcagtcgacacgtccgtcagcaccgcctacttgcagtggagcagcctgaaggcctcggacagcgccatttactattgt 43 70 56 44 +JY8QFUQ01AJJ06 IGA1 ggattcccctttaaggactactcc atgaactggatccgccaggctccagggaagggactggagtggatttcatac atgagcagcactggtgagaccata tattacgcggactttgtgaagggccgattcaccatctccagggacaccgccaagaatctgttgtttctgcaaatgaattacctgcgagacgaggacacggccatgtattactgt 55 52 56 50 +JY8QFUQ01AJOAH IGA1 ggattcacctttagtaataattgg atgagttgggtccgccaggctccagggaaggggctggagtgggtggccaac atcaagcaagatggaagtgagaaa gtctatgtggactctgtgaagggccgattcaccatctccagagacaacgccaagaacgcactgtttctgcaaatgaacagcctgagagtcgaggacacggctgtgtactactgt 58 45 65 45 +JY8QFUQ01AJQ24 IGA1 ggatttaccttcagtctctataga atgaactgggtccgccaggctccagggaagggactggagtgggtctcatcc attactagtaccagtagttacatt tattatgcagacccagtgaagggccgattcaccatctccagagacaacgccaagaactcattatatctccatatgaacagcctgagagtcgaggacacggctatatattattgt 60 50 49 54 +JY8QFUQ01AJRGU IGG4 ggaggcaccttcagcagctatgtc atcagctggctgcgacaggcccctggacaagggcttgagtggatgggacat gtcattcctatgtttggtgtatct aacctcgcgcagaggttccagggcagagtcacaataaccgcggacacatccacgaccacagcctacatggaggtgaccaggctgagatctgaagacacggccgtctattattgt 51 56 61 45 +JY8QFUQ01AJRNU IGG3 ggtggctccatcagcagtggtagttactac tggagctggatccggcagcccgccgggaagggactggagtggattgggcgt atctataccagtgggagcacc aactacaacccctccctcaagagtcgagtcaccatatcagtagacacgtccaagaaccagttctccctgaagctgagctctgtgaccgccgcagacacggccgtgtattactgt 50 62 61 43 +JY8QFUQ01AJTUX IGA1 ggattcaccttcagcaaccataac atgaactgggtccgccaggctccagggaaggggctggagtgggtctcatgt attggtagtagtagtagtgac aaatgaacagcctgagagtcgaagacacggctgtgtattactgt 37 28 43 32 +JY8QFUQ01AJUSF IGA1 ggattcacttttaggggctactgg atgcactgggtccgtcaggttccaggtaaggcgccggagtggctcgcacgt ctgaatactgatggagatagtaca agttatgcggactccgtgaagggccgcttcaccatctccagagacaacgccaggagcacattgttcctgcaaatgagcagtctgagagtcgaagacacggccatttattactgt 51 51 62 49 +JY8QFUQ01AJVOK IGA1 ggattcaccttcagcagctatggc atgcactggttccgccaggctccaggcaaggggctggagtgggtggcagct atctcatatgatggaattgacaaa tattatgcagactccgtgaagggccgattcaccatctccagagacaatgccaaaaacacgctgtatctgcaattgaacagcctgagaagtgaagacactgctgattactactgt 59 51 55 48 +JY8QFUQ01AJWQ7 IGG1 ggattcacctttggttattatggc atgagctgggtccgccaagctccgggggaggggctggagtgggtctctgt attaatcggaatggtgatagcaca ggttatgcagactctgtgcaggaccgattcaccatctccagagacaacgccaagaactccctgtatctcgaaatgttcagtctgacagccgaggacacggccttatatcactgt 49 51 60 52 +JY8QFUQ01AJWSY IGA2 ggattcacctttagccactatgcc gtgacctgggtccgccaggctccagggaagggtctggagtgggtctcaact attagtggtagtgatggtagcacg tactacgcagactccgtgaggggccggttcaccatctccagagacaattccaagaacacgctgtatctgcaaatgaacagcctgagagccgaggacacggccgtatattactgt 51 55 61 46 +JY8QFUQ01AJYIB IGA1 gggttcatctttagtagacattgg atggcctgggtccgccaggctccagggaagaggctggagtgggtggccaac ataaaacaagatggaagtctgaga tactttgtggactctgtgaagggccgattcaccatctccagagacaacgccgagagctcactgtttctgcaaatggacagcctgagaggcgaggacacggctgtgtattactgt 53 46 67 47 +JY8QFUQ01AJYWV IGA1 ggattcacctttagcaactatgcc atgaactgggtccgccaggttccaggggaggggctggagtgggtctcagcc attagtggcagtggtggtagcaca ttctacacagacgccttgcagggccgattcaccatctccagagacaattccaagaacacgttatatttgcaaatgaaaagcctgagagccggggacacggccgtgtattactgt 53 52 61 47 +JY8QFUQ01AJZDU IGA2 ggattcaccgtcagtgggaagtat atgagttgggtccgccaggctccaggcaaggggctggagtgggtctcagtc ttatttagtactggcactgca tactacgcagactccgtgaaaggccggttcaccatctccagagacaattccaacaacaccctatatcttcagatgaacaacatcagacctgaagacgcggccacttattattgt 55 54 52 49 +JY8QFUQ01AK0SS IGA1 ggattcaacttcataggttatggc atgcactgggtccgccaggctccaggcaaggggctagagtgggtggcagtt atatcgtatgatggcaagaacatc ttttatgcagactccgtgaggggccgatccatcatttccagagacgattctaagagaacactgtttctgcaaatggacagcctgagagctgaggacacggctgtctattattgt 53 45 61 54 +JY8QFUQ01AK1KM IGG2 ggattcagttttagtacacatggc atgaactgggtccgccaggctccagggaagggccggaatgggtctcattc gttaatagtggaagtagttacatc tactacgcagactcagtgaggggccgattcaccatctccagagacgacgccaggaattcactgtatctgcaaatgcaccgcctgcgagtcgaggacacggctctctactattgt 52 53 58 49 +JY8QFUQ01AK5T8 IGA2 gatgactccgtcagcagtggtcgttactac tggagttgggtccggcagcccccagggaagggactggagtggattggtcat ttctatcacattgggggcact aagtacaacccctccctcgcgagtcgagtcaccatatcagtagacacgtccaagagccagttctccctgatgctgaactctgtgaccgctgcggacacggccgtatatttctgt 45 60 60 51 +JY8QFUQ01AK7F3 IGA1 ggcttcaccttcagtgactactac atgaactgggtccgccaggctccagggaaggggctggagtgggtttcatac attagtggaagtggaactaccata tcctacggagactctgtgaagggccgattcaccatctccagggacaacgccaagaactcagtgtatctccagatgaacagcctgagagccgaggacacggccgtatattactgt 55 54 59 45 +JY8QFUQ01AKA7I IGA2 ggattcatcttcagcaactactgg atgcactgggtccgccaagctccagggaaggggctggtgtgggtctcacgt attactggtgatgggagtaaccca atctacgcggaccccgtgaagggtcgattcaccatctccagagacaacgccaagaacacactatatctgcaaatgaacagtctgagagtcgaggacacggctgtgtattactgt 55 53 59 46 +JY8QFUQ01AKBIM IGA1 ggattcagtttcagtgactatagc atgaactgggtccgccaggctccagggaaggggctggagtgggtttcatac attagtagttctagtagtacccta tattatgcagactctgtgaagggccgattcaccgtctccagagacaatgacaagagttctctgtatctgcaaatgaccggcctgagagccgaagacacggcgacttattactgt 54 47 58 54 +JY8QFUQ01AKC4T IGG2 ggattcacgttcagtaattacgac atgcactgggtccgccaacctagaggaagaggtctggagtgggtctcagct attggcactggtggtgacaca tactatccagactccgtgaagggccgattcaccatctccagagaaaatgccaagaactccttatatcttcagatgaacagcctgagagccggggacacggctgtgtattactgt 55 51 56 48 +JY8QFUQ01AKFJR IGA1 ggattcatcttcagtagctactgg atgcactgggtccgccaagctccagggaaggggctggtgtgggtgtcacgt agtaatacgggggggactgacaca gcctacgcggactccgtgaagggccgattcaccatctcccgagacaacgggaagaacacgctgtatctgcaaatgaacagtctgagagccgaggacacggctgtttattactgt 51 52 67 43 +JY8QFUQ01AKG3P IGA1 ggtgtctcaatcacgagtggaagtcactac tggaattggattcggcagcccgccgggaagggaccggagtggattgggcgt ttctataccagtgggagcacc aactacaacccctccctcaagagtcgagtcaccgtatcagcagacacgtccaagaaccggctctccctgaagctgagatctttgaccgccgcagacacggctgtttattactgt 51 61 59 45 +JY8QFUQ01AKHC5 IGA2 gggttcatctttagtagacattgg atggcctgggtccgccaggctccagggaagaggctggagtgggtggccaac ataaaacaagatggaagtctgaga tactttgtggactctgtgaagggccgattcaccatctccagagacaacgccgagagctcactgtttctgcaaatggacagcctgagaggcgaggacacggctgtgtattactgt 53 46 67 47 +JY8QFUQ01AKHCX IGA2 ggattcaccgtcagtaccaagttc atgagctgggtccgccaggctccagggaaggggctggagtgggtctcagta atttatcctgatggtactaca cactatggagcctccgtgaggggccggttcaccatctccagagacaattccaagaacacgctggatcttcaaatgaacagcctgagagccgaggacacggccgtttattattgt 51 53 59 47 +JY8QFUQ01AKI3P IGA1 ggtgtttccgtcagtaacactattttctat tggggctgggtccgccagtccccagggaagggactggagtggattggcagt gtagattatagtgggagcgct tcctacagccctgccctcaagagtcgagtcatcatatccatagacacgtccaagaaccagttctccatagctctgagttctgtgaccgccgcagacacggctgtctattattgt 46 55 58 57 +JY8QFUQ01AKJVX IGA2 ggtggctccatcagtagttactac tggagctggatccggcagcccccaggaaagggactggagtggattgggtat atcttttacactgggaccacc aactacaacccctccctcaagagtcgagtcaccatgtcaatagacacgtccaagaaccagttctccctgaagctgagctctgtgaccgctgcggacacggccgtctattactgt 50 61 53 46 +JY8QFUQ01AKKV6 IGA1 ggattccagtttagcaactatgcc atgagctgggtccgtcaggctcctgggaaggggctggagtgggtctcaact attagtaaagacggtgtttacacc tactaccccgactccgcgaagggccgggtcaccatctccagagacaattccaagaatacaatttatttgcaaatgaacagcctgacagccgaggacacggccagatattactgt 57 54 55 47 +JY8QFUQ01AKM0W IGA2 ggattcaccttcagtggctttgct ttgcactggctccgccaggctccagacaaggggctagagtgggtgggattt acatcatttgatgggagtaacaga gactacgcagactccgtgaagggccgattcacgatctccagagacaattccaagaacacactgtatctgcaaatgaacagcctgagacctgacgacacggctgtatattactgt 56 52 56 49 +JY8QFUQ01AKNSQ IGA2 ggattcacctttagtggctattgg atgagttgggtccgccaggctccggggaagggtctggagtgggtggccaac atagagaaagatggaagtgacata aagtatgtggactctgtgaagggccgattcaccatctccagagacaacgccaagaattcactgtctctgcaaatgaacagcctgagagccgacgacacggctatttattactgt 57 45 63 48 +JY8QFUQ01AKOZJ IGG1 ggatacagtttaccagttactgg atcggctgggtgcgccagatgcccgggaaaggcctggagtggatgggtatc atctatcctgctgactctgatacc agatacagcccgtccttccaaggccaggtcagcatctcagccgacaagtccatcgacaccgcctacctgcagtggagcagcctgaaggcctcggacaccgccatgtattactgt 47 63 58 44 +JY8QFUQ01AKQ1X IGG2 ggattcaccttcaggagttatatc atgaactgggtccgccaggctccagggaaggggctggagtggatttcatac attagtagtagtggtattatcata tactacgcagactctgtgaagggccgattcaccatctccagagacaatgccaagaactcactgtatctgcaaatgaacagcctgagagtcgaggacacggctgtgtattattgt 58 45 56 54 +JY8QFUQ01AKROJ IGA1 ggatttacatttagtgattataat atgaattgggtccgccgggctccagggaaggggctggaatatgtcgcaacc attacaactgggagtggtcaaatc tactacagtgactcagtgaggggccgcttcaccatctctagagacgacgccaagaattcactttatctgcagatgaacaacctgagaggcgaggacacggctgtctatttttgt 57 45 57 54 +JY8QFUQ01AKUKJ IGA1 ggagtcaaattcagaaacgcctgg atgaattgggtccgccaggctccagggaaggggctggagtgggttggccgt attaagagcaaagctgatggtgggacaaca gactacgccacacccgtgagaggcagattcaccatctcaagagatgattcaaaaaacacgttttatctgcaaatgaatagcctaaaaaccgaagacacagccgtctattactgt 69 48 59 43 +JY8QFUQ01AKVLH IGA1 ggattcacctttggcacctctgac atggcctgggtccgccaggttccaggggaggggctggagtgggtctcacac attgatatcagaggtgccaca cagtataaagactccgtgaagggccggttcaccatctccagagacaattccaagagcactctatatctgcaaatgaacaccttgcgagccgaggacacggccgtatattactgt 52 56 57 45 +JY8QFUQ01AKY8Y IGA2 ggattcaccttcggaacctatgcc atgacgtgggtccgcctgactcctgggaaagggctggagtgggtttcatgg attagtgatatcggtgacaca cgctatgcagattctgtgaagggccgattcaccatctccagagacaatgccaagaattcactgtttctgcaaatggacagtctcagagccgacgacacggctatatattattgt 52 49 56 53 +JY8QFUQ01AKZ0I IGG1 ggtggctccatcaacagtagaattattat tggggctggatccgccagcccccagggaagggtttggagtggattggaaat atctattatagtgggacacc tactacaatccgtccctcaagagtcgagtcaccgtatccgtagacaggtctaagaaccagttgtccctgaagctgacctctctgaccgccgcagacacggccgtatattactgt 53 55 55 51 +JY8QFUQ01AKZW4 IGA1 ggtgggtccttcagtggttacacc tggaactggatccgccagcccccagggaaggggctggagtggattggggaa atcaatcatagtggcaggacc aactacaacccgtccctcaagagtcgagtcaccatatcaatagacacgaccaacaaccagttctccctgaagttgacctctgtgaccgccgcggacacggctgtatatttctgt 52 59 56 43 +JY8QFUQ01AL1GZ IGA1 ggattcaccttcagtggctctgct atgcactgggtccgccaggtttccgggaaagggctggagtgggttggccgt attagaagcaaagcttacaattccgcgaca gcatatgctgcgtcggtgaaaggcaggttcaccatctccagagatgattcaaagaacacggcgtatttggaaatgaacagtttgaagagggaggacacggccgtgtattactgt 55 46 67 51 +JY8QFUQ01AL1N5 IGG2 ggattcacgtttggcagccacgcc atgagctgggtccgccaggctccagggaaggggctggagtacgtctcaatt gttactggtagcggacgcagcaca tactacgcagagtctgtgaagggccggttcaccgtctccagagacaattccaaggacaccctgtatctgcaaatggacagcctgagacccgaggacacggccgtgtattattgt 49 57 64 43 +JY8QFUQ01AL2CW IGG3 ggattcacctttggtgattatgct atgagctggttccgccaggctccagggaaggggctggagtgggtaggtttc attagaagcaaagcttatggtgggacaaca gaatacgccgcgtctgtgaaaggcagattcaccatctcaagagatgattccaaaagcatcgcctatctgcaaatgaacagcctgaaaaccgaggacacagccgtgtattactgt 61 47 61 50 +JY8QFUQ01AL2IL IGA1 aaattcacttttagtaactattgg atgaattgggtccgccaggctccagcgaagggactggagtgggtggccagt ataaagcaggatgggggggagaca tattatgcggactctgtgaagggccgattcaccatctccagagacaacgccaagaagtcactgtatctgcaaatgaacagcctgggagtcgaagacacggctgtttattactgt 59 43 63 48 +JY8QFUQ01AL7F1 IGG2 ggattcagttttagtacacatggc atgaactgggtccgccaggctccagggaaggggccggaatgggtctcattc gttaatagtggaagtagttacatc tactacgcagactcagtgaggggccgattcaccatctccagagacgacgccaggaattcactgtatctgcaaatgcaccgcctgcgagtcgaggacacggctctctactattgt 52 53 59 49 +JY8QFUQ01AL8VS IGA1 gggtacagcttgcgaggctctgtt ttgcactgggtccgccaggcttccgggaaaggactggagtgggttggccgt gtcggaaggcagggcgcgaca acatacgctgcgtcggtgaaaggcaggttcctcatctccagagatgatccagcgaacacggcttatctggaaatgaacagcctgaaaaccgaggacacggccgtctattactgt 47 52 69 42 +JY8QFUQ01AL9MI IGA1 ggattcagctttaatgccttctat atgggttgggtccgccaggctccaggaaaggggctggagtggatttcgtac attaactctggtggtagtgacaca tattacgcagactctgtgaagggccgattcaccatctccagggacaacgcctgggacacaatgtacttggaaatgaacagcctgagagccgaagacacggccgtctactattgt 53 49 60 51 +JY8QFUQ01AL9ZT IGA1 ggattcacgttcgacaactatgcc atgagctgggtccgccaggcaccaggaaaggggctggagtgggtctccagt attagtggtaatggagaaattgta caccacgcagacgccgtgaagggccggttcaccatctccagagacaactccaagaacacgctgtttttgcaaatgaatggagtgagagacgacgacacggccatttactactgt 58 51 61 43 +JY8QFUQ01ALDY2 IGA1 ggtgactccatcactcctaactcc tggagctggatccggcagcccccagggaagggactggagtggattggttat atctattacagtggaatcacc aagcacaacccctccctcaagagtcgagtcgccatttcagtagacacgtccaagaaccaattttccctgaggctgagttctgtgaccgctgcggacacggccgtttatttctgt 48 60 52 50 +JY8QFUQ01ALFPF IGG1 ggtgactccatcaccagtggtaattattat tggagttggatccggcagcccgccgagaagggactggagtggattgggcgt atctccatcggtgggatcacc aactacaatccctccctcaagagtcgagtcaccatactattagacacgtccagcaaccggttctccctgaagctcagctctgtgaccgccgcagacacggccgtgtattactgt 49 62 56 49 +JY8QFUQ01ALJ94 IGG1 ggtttcagcttaagtgactattgg atgaactgggtccgccaggctccagggaaggggctcgagtgggtggccatc ataaagaaagatggaagtgaagaa ctctatttggactctgtgaagggccgattcaccgtctccagagacaacgccaagaactcactgtatctggaaatgaacagcctgagccccgaggacacggctgtatatttctgt 57 47 62 47 +JY8QFUQ01ALJS1 IGG2 ggattcaccttcagtagttatagc atgcactgggtccgccaggctccagggaagggactggagtgggtctcctcc attagtagtaatggtgctaacaca tactacgcagactccgtgaagggccgattcaccatctccagagacaatttcaagaacacgctgtctctgcaaatgaacagcctgagagccgaggacacggccctatattactgt 56 56 54 47 +JY8QFUQ01ALKNG IGA2 ggattcacatttagcaacttttgg atgagctgggtccgccagactccagggaaggggctggagtgggtggccaaa ataaacccagtcggaagtgagaaa tactatgtggactctgtgaagggccgattcaccacctccagagacaactctagaaactcgctgtgtctgcaaatggacagcctgagagccgaggacacggctgtgtattactgt 57 48 63 45 +JY8QFUQ01ALMSJ IGG2 ggattcattgtcaatagcactac atgagttgggtccgccaggctccagggaaggggctggactgcgtctcagtt atttatcccggtggtagcaca tactatgcagactccgtgaagggccgattcaccatctccagagacatctccaagaacacactgtatcttcaaatgaacagcctgagagccgaggacacggctgtatattactgt 54 53 53 49 +JY8QFUQ01ALN7I IGA2 ggtggctccgtcagcagtggtagttatttc tggagctggatccggcagcccccagggcaggggctggaatggatcggttat gtctataacaatgggaacacc aattacaacccttccctcaagagtcgagtcaccatttctatagacacgtccgagaatcacgtctccctgaagctggcctctgtgaccgctgcggacacggccgtgtactactgt 47 60 59 50 +JY8QFUQ01ALPR0 IGG1 ggattcagcattagcgactatgcc atggcctgggtccgccaggctccagggaaggggccggagtgggtctcaagt gttactaatggttttggcaca tactacgcagactctgtgaagggccggttcaccgcctccagagacaattccaagaacgcattgttcttggaaatgaacatcctcagagccgaggacacggccgtatattattgt 50 52 60 48 +JY8QFUQ01ALW0Z IGA1 ggattcacctttagtgactattgg atgagctgggtccgccaggctccagggaaggggctagagtgggtggccaac ataaatagagatggaagtgagcaa cactatgtggactccgtgaagggccgattcaccatctccagagacaacgccaagaacaagctgtatttgcaaatgaacagtctgagagccgaggacacggctgtctattactgt 60 46 63 44 +JY8QFUQ01ALZYF IGG1 ggtggctccatgaggaattattac tggagctggatccggcagtccccagggaagggactggagttgatagggact gtctattacactgggcgcacg gagtacaacccctccctcaagagtcgactcaccttatcactagacacgtccaagaaccagttctccctaaagctgggctctgtgaccgctgcggactcggccatttattactgt 48 58 56 48 +JY8QFUQ01AM056 IGA1 ggattcacctttagcaatgctgcc atgacgtgggtccgccaggctccagggaaggggctagagtgggtctcaggt attagtattagtggtgatagaaca tattacgcagactccgtgaagggccggttcaccatctctagagacaattccaagaataccgtgtatctgcaaatgaacagcctgagagccgaggacacggccatatattattgt 57 47 59 50 +JY8QFUQ01AM0T6 IGA2 gggttcaccgtcagtagcaagtac atgacctgggtccgccaggctccggggaagggactggagtctgtctcggtt ttttatagcggtgatcaaaca tactacgcagactccgtgaggggccgattcaccatctccatagacaattccaagaacacactgtatcttcaaatgaacggcctgcgagccgaggacacggccgtgtattattgt 51 54 57 48 +JY8QFUQ01AM4ZR IGG1 ggacgctccttgagaagctttggc atgcactgggtccgccaggctccaggcaagggactggagtgggtggcactt acttcgtatgacggaaataggaaa tattatgcagactccgtgaagggccgattcaccatctccagagacaactccaagaatacgttatttctgcaaatggacagtctgagagctgaggacacggctctttattactgt 55 49 59 50 +JY8QFUQ01AM701 IGA1 ggatacaccttcaccaggcactat atgcactgggtgcgacaggcccctggacaaggacttgagtacatgggagta atcaaccctagtggtggcgacaca agctacgcacagaggttccggggcagagtcgccgtgaccagagacacgtccacgagcacagtctatatggacttgagcagcctgagacctgaggacacggccatgtattattgt 56 56 62 39 +JY8QFUQ01AMBSZ IGG1 ggattcacctttagcagctatgcc atgagctgggtccgccaggctccagggaaggggctggagtgggtctcaact tttggtggtagtggtggttctaca tactacgcagactccgtgaagggccggttcaccatctccagagacaattccaagaacacgctatatcttcaaatgagcagcctgagagccgaggacacggccatatacttctgt 50 54 60 49 +JY8QFUQ01AMDQC IGA2 ggattcaactttaacagctttgcc atgagctgggtccgccaggttccagggatggggctggagtgggtctcagcc attagtggtagtggcgggagcaca ttctacgcagactccgtgaagggccggttcaccatctccagagacaactccaacaacacgctgtatctgcaaatgaacagcctgagagccgaggacacggccttatattattgt 51 54 61 47 +JY8QFUQ01AMI66 IGA1 ggtggctccctcagtacttactac tggaactgggtccggcagcccgccgggaagggactggagtggattgggcgt aaatatcccagtggggacacc aactataatccctccctcaaaagtcgagtcaccatgtcactagacacgtccaagaaccagttctccctgaggctgacctctgtgaccgccgcggacacggccgtgtattactgt 47 63 57 43 +JY8QFUQ01AMIC0 IGA1 ggtggctccatcagcagtagtaactgg tggacttgggtccgccagcccccagggaaggggctggagtggattggggaa atctatcatggtggaaacacc tactacaacccgtccctcaagagtcgagtcaccatatcactagacaagtccaagaaccaattctctctgaacctgaactctgtgaccgccgcggacacggccatatattactgt 55 59 55 44 +JY8QFUQ01AMK5G IGA2 gggttcaccttcagtaactcctgg atgcactgggtccgccaagctccagggaaggggccggagtgggtctcacgt attaatagtgatgggagtaataca atctacgcggactccgtgaagggccgactcaccatctccagagacaacgccaaaaacacggtgtatctgcaattgaacagtctgagagccgaggacacggctgtgtactactgt 55 54 61 43 +JY8QFUQ01AMLKN IGA1 gcattcaccttcagtagttatgct atgcactgggtccgccaggccccaggcaaggggctagagtgggtggcagtt atatcaaatgatggaaattataac gactatgcagactccgtgaaggggcgattcaccatttccagagacaactccaagaacacgctatttctacaaatgaatagcctgagagttgaggacacggctgtctataactgt 61 48 54 50 +JY8QFUQ01AMPZY IGA1 ggagacaccttcagtagccaagcc atcagctgggtgcgacaggcccctggacaaggacttgagtggatgggcggg atcatccctatttttgatatgacg aggtacccacagaggttcgagggcagaatcacgattaccgcggacacgtccacgaccacactttacatggaactgagcagcctgaggtctgaggacacggccgtgtatttttgt 52 54 63 44 +JY8QFUQ01AMTHS IGG2 ggtggctccatcagcagtgataatttctac tggggctggatccgccagcccccagggaagggactgcagtggattgggact ttctattatagagggagtatc tattacaacccgtccctcaagagtcgagtcaccatatccgtggacacatccaagaaccagttctccctgaggctgacctctgtgaccgccgcagacacggctgtctattattgt 49 59 56 52 +JY8QFUQ01AMUT4 IGG2 ggattcacctttaccacctccgcc atggcctgggtccgccaggttccagggaaggggctggagtgggtctcaact attagccctagtggtgagagaacc tactacgcagagtccgtgaggggccgcttcaccatctccagagacaattccgagaacacgttgtatctacaactgaacaacctgagagtcgaggacacggccatatattactgt 52 59 57 45 +JY8QFUQ01AMX59 IGG1 ggattcattttcaacagctatgcc atgcactgggtccgccaggctccaggcaagggcctggagtgggtggcagtt atatggtttgatggaagtaaaaa tattacgcagactcagtgaagggccgatccaccgtctccagagacaactccaagaacacgttgtatctgcaaatgaacagcctgagagccggggacacggccgtgtattattgt 56 49 60 47 +JY8QFUQ01AMXZ6 IGA2 gggttcaccgtcagtagcaagtac atgacctgggtccgccaggctccggggaagggactggagtctgtctctgtt ttttatagcggtgatcaaaca tactacgcagactccgtgaggggccgattcaccatctccatagacaattccaagaacacactgtatcttcaaatgaacggcctgcgagccgaggacacggccgtgtattattgt 51 54 56 49 +JY8QFUQ01AMZ6W IGG1 ggtaactccatcacagattattac tggagctggctccggcagtctccagggaagggactggagtggattggaaat gtcttttacagtgggagagcc aactacaacccctccctcaagagtcgagtcaccatatcagtagccacgtccaggaaccagttctccctgaagctcaggtctgtgaccactgcggacacggccatatattattgt 53 56 53 48 +JY8QFUQ01AN3IA IGA1 ggattcaccttcagtcgttatagc atgaactgggtccgccaggctccagggaaggggctggagtgggtctcatac attagtaggagtagtactgacata tactacgcagactcagtgaagggccgattcaccatctccagagacaacggcaagaactcactgtatctgcaaatgaacagcctgagagccgaggacacggctgtgtatttctgt 57 50 59 47 +JY8QFUQ01AN5X2 IGA2 ggattcatcttcagtagctactgg atgcactgggtccgccaagctccagggaagggctggtgtgggtgtcacgt agtaatacggggggactgacaca gcctacgcggactccgtgaagggccgattcaccatctcccgagacaacgggaagaacacgctgtatctgcaaatgaacagtctgagagccgaggacacggctgtttattactgt 51 52 65 43 +JY8QFUQ01AN6Q8 IGG2 ggattctctttcagtaatgcctgg atgaattgggtccgccaggctccagggaaggggctggaatgggttggccat attaaaagggaaattgatggtgggataaca aactacgctgcacccgtgaagggcagattctccatcgcaagagatgattcaaagaatatgatgtatttgcaaatgaacagcctgaacaccgaggacacaggcgtgtattactgt 64 41 63 51 +JY8QFUQ01AN8DC IGA1 ggattcacgtttagcaactatgcc atgagctgggtccgccaggctccagggaaggggccggagtgggtctcagct attactggtcttgatggtagaaca ttctacgcagactccgtgaagggccgtttctccatctccagagacaattccaagaacacgttgtatttgggaatgaacagcctgagagccgaggacacggccgtatattattgt 51 50 61 51 +JY8QFUQ01AN937 IGA2 cgtgtctccatttccattaatgattactac tggggctggatccgccagcccccaggaaagccgctggagtggattgggact gtccattcccttgggtacaat tacaacaacccgtccctcaagagtcgactcaccatttccgcagacacgtccaggaatcagatctccctgaaactgacgtctgtgaccgccgcagacacggctgtctatttctgt 48 67 49 52 +JY8QFUQ01AND2L IGA1 ggtggctccgtcagcagtaggggttactac tggaactggatccgccagttcccagggaagggcctggagtggattgggaac atcttttacagtgggggcacc tacgacaacccgtccctcaggagtcgaatttctatatcattagacacgtctaagaaccaattctccctgaagttgacctctgtgaccgccgcggacacggccgtgtattactgt 48 57 60 51 +JY8QFUQ01ANGEF IGA1 ggtggttcgatcgtcagttactac tggagttggatccggcagtccgccgggaagggactggagtggattgggcgc atctactccaatggagatacg aactacaatccctccctcaagggtcgagtcaccatgtcagtagacccttccaacaaccagttctccctgaaattgacttctgtgaccgccgcggacacggccatatattactgt 48 58 55 49 +JY8QFUQ01ANI1H IGA2 ggattcagcctcattgactttaga atgaactgggtccgccaggctccagggaaggggctggagtgggtctcatcc attgatagtgttggtcaaaacata tactacagagactcagtgcggggccgattcaccatctccagagacaacgccaagaacaggctgtatctgcaaatgaacagtctcagagtcgaggacacggctatatattactgt 59 49 57 48 +JY8QFUQ01ANJ9X IGA1 ggattcaccttcagtagatactgg atgcactgggtccgccaagctccagggaaggggccggtgtgggtctcacgt actaatgaagatggcacccacata aattacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaacaagctgtatttgcaaatgaacagtctgagagccgaggacacggctgtctattactgt 58 54 58 43 +JY8QFUQ01ANKJV IGA2 ggatacacctttatcacctactgg atcgcctgggtgcgccaaatgcccgggaaaggcctggagttgatgggagtc atctatcctggtgactctgagacc agatacagcccgtccttccaaggccacatcaccctctcagtcgacaagtccatcgataccgcctacctggagtggagcagcctgaaggcctcggacaccgccatgtacttctgt 47 67 54 45 +JY8QFUQ01ANLMX IGA1 ggattcacctttggtgactttgct atgagctggtttcgccaggctccagggaaggggctggagtggctaggtttc attagaagcaaaatttatggtgggacacca gaatacgccgcgtctgtgaaaggcagatgtcccatctcaagagatgattccaaaaacatcgcctatctgcaaataaacggcctgaaaaccgaggacacagccatgtatttctgt 60 48 58 53 +JY8QFUQ01ANO71 IGA1 ggattcgccttcagttggtattgg atgcactgggtccgccaagctccaggggagggactggtgtgggtctcacgg actaatgaagatgggagtatcaca aactacgcggactccgtggaggaccgattcaccatctccagagacaacgccaagaacaggctgtttctgcaaatgaacagtctcagagtcgaggacacggctgtttattactgt 53 50 63 47 +JY8QFUQ01ANOOW IGG2 ggtggctccatcaccacttggcattac tggggctggatccgccagcccccaggggagggtctggaatggattggaaat gtctatcataatggcaatatc gcctatagcccgtcgcagaggagtcgaatcaccatatcagtagacacgtccaggaaccagttctccctgaagatgacctctgtgaccgccgcggacacggctgtctattactgt 49 59 58 47 +JY8QFUQ01ANR0Z IGA1 ggttacacctttactacctatggc gtcacctgggtgcgacaggcccctggacaagggcctgagtgggtgggatgg atcagcgcttacaatggtaataca aactctgcacagaagtttcaggacagagtcaccctgaccacagacacatccacgaacacagcctacatggaactgaggaacttgagatctgacgacacagccgtatattattgt 60 55 54 44 +JY8QFUQ01ANSMV IGG1 gaattcatccttgacagttatgcc atgagttgggtccgccaggccccagggaaggggctggagtgggtctcggct attagtggaagtggtgcaaccaca tactacgcagactccgtgaagggccggttcgccatctccagagacaattccaagaacacgctatatctacaaatgaacaacctaggggccgaggacacggccgtttattactgt 54 54 60 45 +JY8QFUQ01ANV52 IGG2 ggattcatcttcagtagctatgcc atgaattgggtccgccagactccagggaaggggctggagtgggtctcagcc attagtggtagtggtggtaacaca tactacgcagactccgtgaagggccggttcaccgtctccagagacaattccaacaacacgctgtatctgcaattggacagcctgcgagccgaggacacggccgtatattactgt 51 54 61 47 +JY8QFUQ01ANVJX IGA2 ggattcaccttcagtaggtactgg atgcactgggtccgccaagttccagggaaggggccggtgtgggtctcacgt attaatgaagacggcagctacaca gatcacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaacaagctgttttgcaaatgaacagtctgagaggcgaggacacggctgtctattactgt 55 52 62 43 +JY8QFUQ01ANXAZ IGA1 ggatacagcttcactaactacaat atccattgggtgcgccaggcccccggacaagggcttgagtgggtgggatgg atcaacgctggcaatggcaataca agatattcacagaagttgcagggcagagtcaccatttccagggacacatccgcgagcattgccaacatggagttgagcagcctgagatatgaagacacggctgtatattattgt 60 48 60 45 +JY8QFUQ01ANXRG IGA1 ggattcaccttcagtagctactgg atgcactgggtccgccaaggtccaggggaggggctaatgtgggtctcacga atcaatactgatgggagtaacaca atgtacgcggactccgtaaagggccggttcaccatttccagagacaatgccaagaatacggtgtttctgcaaatgaacagtctgaaagccgacgacacggctgtctattattgt 57 49 59 48 +JY8QFUQ01AO0HA IGA2 ggattcacctttactaattattgg atgcactgggtccgccaagctccaggggagggactggtgtgggtctcacgg actaatgaagatgggagtatcaca aactacgcggactccgtggaggaccgattcaccatctccagagacaacgccaagaacaggctgtatctgcaaatgaacagtctcagagtcgaggacacggctatatattactgt 59 50 58 46 +JY8QFUQ01AO14S IGA2 ggattcaccttcaggagctattgg atgagctgggtccgccaggctccagggaaggggctggagtgggtggccaac ataaagcaagatggaggtgacaaa ttctatgtggactctgtgaagggccgattcaccatctccagagacaacgccaagaactcactgtatctgcaaatgaacagcctgagagccgaggacacggctgtatattactgt 58 48 64 43 +JY8QFUQ01AO38F IGA1 ggtggctccatcaacagtggtagttatcac tgggcctggatccgccagcccccagggaaggggctggagtggattgggagc gtctcctatggtgggaacacc tactacaacccgtccctcatgagtcgagtcgacatattcgtcgacacgtccaagagtcagttgtccctgaaggtgagctctgtgaccgccgcggacacggctgtgtattactgt 43 59 66 48 +JY8QFUQ01AO5H2 IGA1 ggattcaagtttcatgaatatgcc atgatctgggtccgccaggctccaggcaagggtccggaatgggtctcgtct attagtagtactagtaaatacatc tattatgcacagtcagtggagggccgattcaccatctccagagacgacgccgagaacgcactgttcctccagatgagcagcctgagtgtcgacgacacggctatctattactgc 53 54 55 51 +JY8QFUQ01AO7UP IGA2 gagttcacctttagtagtttctgg atgcactgggtccgccaagttccaggggagggactggtgtgggtcgcacgg actaatgagtatgggagtatcaca aactacgcggactccgtggagggccgattcaccatctccagagacaacaccaagaacaggctatatctgcaaatgaacagtctgagagccgaggacacggctatttattactgt 56 49 61 47 +JY8QFUQ01AO8B3 IGG1 ggattcacctttggttattatggc atgactgggtccgccaactccgggggagggggctgagtgggtctctggt attaatcggaatggtgatagcaca ggttatgcagactctgtgcaggaccgattcaccatctccagagacaacgccaagaactccctgtatctcgaaatgttcagtctgacagccgaggacacggccttatatcactgt 49 51 59 52 +JY8QFUQ01AO8X8 IGA2 ggattctccttcgaggggtctgtc gtgacctgggtccgacaggctccagggaaggggctggagtgggtctcaggt atctacggtggtgatggtacatca ttttacgcagacttcgcgaagggccgattcaccgtctccagagacaattccaaggacacggtctatctgcagatgaacggcctgagagtcgaagactcggcccgttattattgt 44 51 67 51 +JY8QFUQ01AOCIF IGG2 ggattcaccttcagtgccacctgg atgcactgggtccgccaagctccagggcaggggctggtgtgggtctctcat attaatggtgatgggagtagcaca agttacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaacacggtgtatttgcaaatgaacagtctgagagccgaggacacggctgtatactactgt 52 53 63 45 +JY8QFUQ01AODPS IGA1 cgtgggtctttcactggttatcgc tggagctggatccgccaggccccagggaagggactggagtgggtgggggac atcaactttaaaggaagcacc aattacaacccgtccctgaagagtcgactcaccatattagcagacttgtccaggaatcggttctctctagacctaagtggtgtgaccgccgcggacacggctatgtattattgt 48 52 61 49 +JY8QFUQ01AODUI IGG1 ggatacgactttaacaactactgg atcggctgggtgcgccagatgcccgggaaaggcctggagtggatgggaatc atctttcctggtgactctgatatc agatatagtccgtcgttccaaggccaggtcaccatctcagtcgacaagtccatcggcaccgcctacctgcaatggagcggcctgaaggcctcggacaccgccacttattattgt 48 59 58 48 +JY8QFUQ01AOFCE IGA1 ggattcaccttcaatacctattct atgcactgggtccgccaggctccaggcaaggggctagagtgggtgtcagtt atttcatatgatggaagtaagaaa tactacgcggactccgtgaagggccgattcaccatctccagagacaattccaagaacacggtgtatctgcaaatgaacagcctgagacctgaggacacggctgtttattactgt 58 50 54 51 +JY8QFUQ01AOFPE IGG2 ggattcagcctcacttcctatggc atgaactgggtccgccaggctccagggagggggctggagtgggtctcacac gttaatatgggtagtactcacata tactacgtaggctccgtgaggggccgattcaccatctccagagacgacgccaagaactcagtgtatctgcagatgaacaacttgagagccgaggacacggctctatattactgt 52 54 60 47 +JY8QFUQ01AOGGT IGA1 ggattcacctttagtaactattac atgagttgggtccgccaggctccagggaaggggctggagtacgtggccagc ataaaacaagatgaaggtcagaca tactatgcgggctctgtgaagggccgattcaccatctccagagacaacgccaagaactcactgtatcttcaaatgaacagcctgagagtcgaggacacggctgtgtatcactgt 60 50 58 45 +JY8QFUQ01AOGS5 IGA1 ggatacaccttcatcagttatgat atcaattgggtgcgacaggccactggacaaggcttgagtggatgggatgg atgaaccctaacagcggtaacaca gggtttgcacagaggttccagggcagagtaaccatgaccaggaacatctccataaacacggcctacatggagctgaccaacctgacatctgatgacacggccgtatattattgt 62 49 56 45 +JY8QFUQ01AOJXD IGA1 gggggcaccatgagtagtttctac tggagctgggttcggcagtccccagggaggggactggagtggattggattt gtttcttacagtgggcccacc aactacagcccctccctcaagagtcgagtcaacttatcactggacgcggccaacaaacagttctctttgcagctgcgttctgtgaccgctgcggacacggccatttattactgt 42 56 60 52 +JY8QFUQ01AOLHE IGA1 cgtgggtctttcactggttatcgc tggagctggatccgccaggccccagggaagggactggagtgggtggggac atcaactttaaaggaagcacc aattacaacccgtccctgaagagtcgactcaccatattagcagacttgtccaggaatcggttctctctagacctaagtggtgtgaccgccgcggacacggctatgtattattgt 48 52 60 49 +JY8QFUQ01AOMW2 IGA1 ggattcacgtttggttcgtattgg atgagttgggtccgccaggctccagggaaggggctggagtgggtggccaac attcacgaagaaggaagtgaaaag aattatgtggactctgtgaagggccggttcgtcatctccagagacaacgccaagaattccctctatctgcaaatgaacagcctgagagtcgaggacacggccatatattattgt 56 43 65 49 +JY8QFUQ01AOQZO IGA1 ggtggccccatcggcagtggtgcctactac tggacctggatccggcagcccgccgggaagggattggagtggctcgggcgt gtttatagtggtgggatcatc aattacagtccctccctcaagagtcgaatcaccatgtcgatagacacgtccaagaaccagttctccctgaagttgacctctgtgaccgccgcagacacggccttatattactgt 45 61 61 49 +JY8QFUQ01AOR4M IGA2 ggattcaacttcagaacctattgg atgggctgggtccgccaggctccagggaaggggctggagtgggtggccaac ataaagcacgatggaagtgacaag tactatgtggactctgtgaagggccgattcaccgtctccagagacaacgccaagaactcattgtttttgcaaatggacagcctgagagccgaggacacggctgtgtactactgt 55 48 66 44 +JY8QFUQ01AOY3W IGA2 ggattcaccttcagttcttatgc atgaactggtccgcctgtccaggcaaggggctggaatggctttcattt attggtaatactggtagtgtcata tactacgcagactctgtgaaggggcgattcaccatctccagagacaatgccaagaactcaatgtctctacaaatgagcagcctgagagccgaggacacggctctatattattgt 54 48 51 56 +JY8QFUQ01AP05X IGA1 ggattcaccttcaggagctattgg atgagctgggtccgccaggctccagggaaggggctggagtgggtggccaac ataaagcaagatggaggtgacaaa ttctatgtggactctgtgaagggccgattcaccatctccagagacaacgccaagaactcactgtatctgcaaatgaacagcctgagagccgaggacacggctgtatattactgt 58 48 64 43 +JY8QFUQ01AP0TZ IGA1 ggcttcatctttgatgattatgcc atgcactgggtccggcaagctccagggaagggcctggagtgggtctcaggt attagttggaatagcgctaccata gaatatgcggactctgtgaagggccgattcaccatctccagagacaacgccaagaactccctgtatctggaaatcaacagtctgagacctgaagacacggccttatactactgc 55 53 56 49 +JY8QFUQ01AP21C IGA1 ggttacccctttaatacctatggt atcacctgggtgcgacaggcccctggacacggccttgagtggatggggtgg atcagcgttcacgatggcaacaca aactatgcacagaatctccagggcagagtcaccctgaccacagacacatctacgagcacagcctacatggaactgaggggtctcagatctgacgacacggccgtttattattgt 54 58 56 45 +JY8QFUQ01AP263 IGA1 ggattcacctttaccaactatgcc atgacctgggtccgccaggctccagggaaggggctggaatgggtctcaact attagtaatcgtggtactggagtg tactacgcagactccgtgaagggccgcttcaccatctccagagacaattccaagaacacggtgtatctgcaaatgaacagcctgagagccgaggacacggccctttattactgt 54 56 56 47 +JY8QFUQ01AP2Y1 IGA1 ggattcacctttggcctctatgcc atgaactgggtccgccagactccagggaaggggctggagtggctcgcaact attagtggtagtggaagtagatca ttttacgcagactccctgaagggccggttcaccatctccagagacaattccaagggcacggtatacctggaaatgaccaccctgagagccgaggacacggccgtatattactgt 52 55 60 46 +JY8QFUQ01AP3M5 IGG1 ggattcacctttaccacctccgcc atggcctgggtccgccaggttccagggaaggggctggagtgggtctcatcc ataagtagtggtagtacttacata tatcacgcagactcagtgaagggccgattcaccatctccagagacaacgccaagaagacactttacctgcaaatgaacagcctgagagccgaggacacggctgtgtattactgt 55 57 56 45 +JY8QFUQ01AP4KF IGG2 ggattcaactttaataattatgcc atgcactggtccggcaagctccagggaagggcctggagtgggtctcaagt attagttggaataatggtaacaca gactatgcgggctctgtgaagggccgattcaccatctccagagacaacgccaagaactccctgtatctgcaaatgaacagtctgagaactgaggacacggccttatattactgt 60 48 54 50 +JY8QFUQ01AP6HU IGA1 gaattaacgtttgatatatatgcc atgacttgggtccgccaggctccagggaaggggctggaatgggtctcaact attactggtagtggtgataatgcc tactacgcagacttcgtgaagggccgattcgccatctccagagacaattccaagaacatgttgtatttgcaaatgaacaacctgcgaggcgaggacacggccgtttattactgt 56 46 57 54 +JY8QFUQ01AP72B IGG2 ggattcgtctttactaatcattgg atgagttgggtccgccaggccacagggaaggggccggagtgggtggccaac atatccccagacggaatacgaaa tattttggggactctgtgaggggccgattcagcgtctccagagacaacggcaagcagtcatcgtatctggaaatgaataccctgacagtcgatgacacggctgtatacttctgt 53 48 63 48 +JY8QFUQ01AP9Y7 IGG2 ggatacactttcaccagttattat atacactgggtgcgacaggcccctggacaggggcttgagtggatgggagtt gtcaaccctggtgctgaatacaca ctctacgcacagaagttccagggcagactcaccttgaccagggacacgtccacgagcacagtctacatggagttgagtagcctgagatctgaggacacggccctgtattactgt 53 54 59 47 +JY8QFUQ01APECD IGA1 ggattcaccttcagtagctatagc atgaactgggtccgccaggctccagggaaggggctggagtgggtctcatcc attagtagtagtagtagttacata tactacgcagactcagtgaagggccgattcaccatctccagagacaacgccaagaactcactgtatctgcaaatgagcagcctgagagccgaggacacggctgtgtattactgt 57 51 58 47 +JY8QFUQ01APENB IGA1 ggattcacctttaccaactatggc atgagctgggtccgccaggctccagggaaggggctggagtgggtctcaggt attagtggtagtggtgataccaca taccacgcagactccgtgcagggccgattcaccatctccagagacaactccaagaacactctgtatctgcaaatgaacagtctgagagtcgaggacacggccgtttattactgt 53 54 59 47 +JY8QFUQ01APGRW IGG2 gaattcaccgttagcagtcattgg atgaattgggtccgccaggctccagggaaggggctggaatgggtggccaac ataaaacaagatgcaagtgagaaa aactatgtggactctgtgaagggccgattcaccatctcccgagacaacgccaagaattcactgtatctgcaaatgaacagcctgagactcgaggacacggctgtgtatttctgt 62 47 59 45 +JY8QFUQ01APICN IGG1 ggattcaacctcaatacctttggc atgaactgggtccgccaggcgccagggaagggactggagtgggtctcacac gtcaatcggggtagtactcacata tactacgcaggctcagtgaggggccggttcaccatctccagagacgacgccgggaactcagtctatctgcaaatgaatagcctgagagccgaggacacgggtttatattattgt 53 53 62 45 +JY8QFUQ01APJMN IGG2 ggattcagcctcacttcctatggc atgaactgggtccgccaggctccagggagggggctggagtgggtctcacac gttaatatgggtagtactcacata tactacgtaggctccgtgaggggccgattcaccatctccagagacgacgccaagaactcagtgtatctgcagatgaacaacctgagagccgaggacacggctctatattactgt 52 55 60 46 +JY8QFUQ01APK7S IGA1 ggtgggtccctcagggttaccc tggacctggatccgccacaccgcagagaagggactggagtggattggtcaa atcaatagtgatggaaggaca acctacaactcggccctcatgggtcgagtcaccatttcaacagacacatccaagaatcagttctcgctgactgtggtttctgttgtcgccgcggacacggcaatgtattattgt 50 53 57 48 +JY8QFUQ01APLRK IGG2 ggacgctccttgagaagctttggc atgcactgggtccgccaggctccaggcaagggactggagtgggtggcactt acttcgtatgacggaataggaaa tattatgcagactccgtgaagggccgattcaccatctccagagacaactccaagaatacgttatttctgcaaatggacagtctgagagctgaggacacggctctttattactgt 54 49 59 50 +JY8QFUQ01APM60 IGA1 gggttcaccgtcagtagcaactac atgagctgggtccgccaggctccagggaaggggctggagtgggtctcagtt atttatagcggtggtaccaca ttctacgcagactccgtgaagggccgattcaccatctccagagacaattccaagaacacggtgcatcttcaaatgaacagcctgagagccgaggacacggccgtgtattactgt 52 54 60 44 +JY8QFUQ01APOZ1 IGG1 ggattcgagtttagtgcttattgg atgacttgggtccgccaggctccaggaaaggggctggagtgggtggccagt attaagaaagatggacatgagaag aattatttggactccgtcaaggagcgattcaccatatccagagacaacgccagggactcggtgtctttgcaaatgaacagcctgcgagtcgaggacacggctgtgtatttctgt 54 41 67 51 +JY8QFUQ01APYPD IGG2 ggattcaccttcagtacatactgg atgcactgggtccgccaagctccagggaaggggctggtgtgggtctcccgt atcaatcctgatgggcgaatcaca aactacgcggactccgtgaatggccgattcaccatctccagagacaacgccaagaacacgctgtatctgcaaatgaacagtctgagagccgaggattcggctgtgtactactgt 53 57 58 45 +JY8QFUQ01AQ0K4 IGG1 ggattcaccttgggttattatggc atggactggtccgccaactccgggggagggggctgagtgggtctctggt attaatcggaatggtgatagcaca ggttatgcagactctgtgcaggaccgattcaccatctccagagacaacgccaagaactccctgtatctcgaaatgttcagtctgacagccgaggacacggccttatatcactgt 49 51 60 51 +JY8QFUQ01AQ18D IGA1 ggattccctttcagcaacacctac atgagctgggtccgccaggctccagggaaggggctggagtgggttggccgt attaaaagcaaaactgatggtgggacaata gaatacgctgcacccgtgaaaggcagattaaccatatcaagagacgattcaaaaaacacgctgtatctgcatatgagcagcctgaagatcgaggacacagccgtgtattactgt 66 49 60 44 +JY8QFUQ01AQ576 IGA1 ggattcagatttagtaactactgg atgagttgggtccgccaggctccagggaaggggctggagtgggtggccaac ataaagcaagatggaggtgagaag tattatgtgggctctgtgaagggccgattcaccatctccagagacaacgccaagaactcagtgtatctgcaaatgaacagcctgagagccgaggacacggctgtatattattgt 59 41 67 46 +JY8QFUQ01AQ8YC IGA1 ggattcaccttcagtgactattac atgagttggtaccgccaggctccaggtcaggggctggagtggctttcatat ataagtcaaactggcaaaaccaca tacttcgcagactctgtgaagggccgattcaccatctccagggacaatgccaagacatcagtgtttctgcaaatgaacagcctgagagttgacgacacggccgtgtatttttgt 56 51 53 53 +JY8QFUQ01AQAEH IGA2 gggttcacctttgcccactttgcc atgacctgggtccgccaggctccagggaaggggctggagtgggtctcaact attagtggtggtgatgattccaca tactacgcagactccgtgaagggccggttcaccatctccagagacaattccaagaacacgctgtatctgcaaatggacagcctgagagccgaggacacggccgtatatcactgt 49 58 60 46 +JY8QFUQ01AQAXR IGA1 ggattcaccttcagtcactatggt atacactgggtccgccaggctccaggcaaggggctagattgggtggcattt atatcatatgatggaagtaatgag ttttacgcagactccgtgaggggccgattcaccatctccagagacaactccaagaacatgatgtatctgcaaatgaacatcctgagacgtgaggacacggctctttattactgt 57 48 54 54 +JY8QFUQ01AQMNE IGG2 ggattcaccgtcagtagcagcttc atgacttggtccgccagctccaggaaaggactggagtgggtctcagtg ctttatgtcggtggtaacaca tactacgcagactccgtgaagggccgattcaccacctccagagacaattccgagaacactctgtatcttcaaatgaacaacctgagacctgaggactcggctgtgtattattgt 52 53 52 50 +JY8QFUQ01AQOEM IGA2 ggattcaccttcagtgactatagc atgaactgggtccgccagactccagggaagggggtggagtggatttcatac atcggccgtggtggtgatgggata tactacgcagactctgtgaagggccgaatcaccatctccagagacaatgccaagaactcactttttctgcaaatgaacaccctgagagacgacgacacggctgtgtattactgt 56 50 59 48 +JY8QFUQ01AQS9S IGA2 gagttcaccttagtagtttctgg atgcactgggtccgccaagttccaggggagggactggtgtgggtcgcacgg actaatgagtatgggagtatcaca aactacgcggactccgtggagggccgattcaccatctccagagacaacaccaagaacaggctatatctgcaaatgaacagtctgagagccgaggacacggctatttattactgt 56 49 61 46 +JY8QFUQ01AQUPN IGA1 ggattcaccttcaatacctatagc atgaactgggtccgccaggctccagggaaggggctggagtgggtctcatcc attagtagtggtagtacttacata aagtacgcagactcagtgaagggccgattcaccatctccagagacaacgccaagaactcactgtatctgcaaatgaacagcctgagagccgaggacacggctgtgtattactgt 59 52 56 46 +JY8QFUQ01AQWBS IGA1 ggtgactccatttccagtactagttattac tggggctgggtccgccagccccagggaaggggctggagtggattgggggt atctattctagtgggaccacc tactacaacccgtccctcaagagtcgagtcaccatatccgtagacacgtccaacaactacttctccctgaagctgagttctgtgaccgccgcagacacggctgtgtattactgt 46 60 57 52 +JY8QFUQ01AQXAS IGA1 ggtggccccatgggcagtagtttatacttc tggaattgggtccgacagcccgccgggaagagactggagtggatcggacgt gtttatgatgatgggagtacc cgctacaatccctccctcaggggtcgagtcaccatgtcagtagacacgtccaagaaccagttctccctgaggttgagttttgtgaccgccgcagacacggcccgttattactgt 45 56 64 51 +JY8QFUQ01AQXWF IGG2 ggtgagtccttcactaattactac tggagctggatccgccagtccccaggaaagggtctggagtggcttggggag gtccatcatagtggacgcacc gactacaacccgtccctcaagagtcgaatcaccatgtcgttagacacgtccgaaaatcagttctccctgaagttgacttctttgaccgccgcggacacggcagtatattattgt 49 57 54 50 +JY8QFUQ01AQZ7D IGG1 ggattcacctttagtagtttctgg atgcactgggtccgccaagttccaggggagggactggtgtgggtcgcacgg actaatgagtatgggagtatcaca aactacgcggactccgtggaggaccgattcaccatctccagagacaacaccaagaacaggctatatctgcaaatgaacagtctgagagccgaggacacggctgtttattactgt 56 49 61 47 +JY8QFUQ01AR4F8 IGA1 ggattcacctttggtgattatagt atgagttggttccgccaggctccagggaaggggctggagtgggtcggtttc attagaagcaaagctgatgatgggacaaca gaatacgccgcgtctgtgaaaggcagattcaccatctcaagagatgattccaaaagcatcgcctatctgcaaatgaatagcctgaaaaccggggacacagccgtgtattactgt 61 45 62 51 +JY8QFUQ01AR4XZ IGA1 ggattcctcttcagtagctttaac atgaactgggtccgccacgttccagggaagggtctggagtgggtttcatac attaatagtagaggtactaacata tactacgcagactctgtgaagggccgattcaccatctccagagacaatgccaggaattcactgtatctgcaaatgaacagcctgagagccgacgacacggccgtatactactgt 59 51 52 51 +JY8QFUQ01AR7NH IGG2 ggtggctccatcagtactggttattactac tggagctggatccggcagtccgccgggaagggactggaatggattgggcgc atgtctgccagaggggacagc aactacaacccctccctccagagtcgagtcaccatatccatagacacgtccaagaaccagttctccctgaggctgacctctgtgagcgccgcagacacggccgtgtatttttgt 47 62 61 46 +JY8QFUQ01AR8K0 IGA2 gaattcacctttagcagttttgcc atgagctgggtccgccaggctccagggaaggggctggagtgggtctcaagc attggtactagtgttgttaacaca tggtacgcagactcagtgaagggccggttcgccatttccagagacaattccaagagcacgctgtatttgcaaatgaatagcctgagagtcgaggacacggccgtatattactgt 52 47 62 52 +JY8QFUQ01AR8UJ IGG1 ggattcactttcagtgacgcctgg atgagctgggtccgccaggctccagggaaagggctggagtgggttggccgt attccaagcaaagctgatggtgggacaaca gactacgctgcgcccgttaaaggcagattcaccatctcaagagaggattcaaaaatatgctgtatctgcaattgaacagcctgaaaaccgaggacacagccgtgtatttctgt 58 50 63 47 +JY8QFUQ01AR91V IGA1 ggtgcctccatcactagtggtaactac tggagttggttccggcagcccgccgggaagacactggaatgggttgggcgt atctatacaactgggagcacc tattacaacccctctctcaaaagccgagtcaccgtttcagtcgacgagtcccagaatcagctcttcctggacctgacttctgtgaccgccgcggacacggccgtctacttctgt 44 65 55 49 +JY8QFUQ01ARJHI IGA1 ggattcagcatcagtagttatagc atgaactgggtccgccaggctccagggaaggggctggagtgggtctcatcc attagtgcaagtactacttccata cattatgcagactcagtgaagggccgattcaccatctccagagacgacgccaagagttccctgtatttgcaaatgaacagcctgagagccgaggacacggctgtatattactgt 56 51 57 49 +JY8QFUQ01ARLMX IGA1 ggtggcctcatcagtaattactat tggacctggatccggcagcccccaggaaagggactggagtggattgggaac atctattacagtgggagcgcc acctacaacccctccctcaagagtcgagtcaccatatcaatagactcgtccaagaaccagttctccctgaggctgaccgctgtgaccgctgcggacacggccgtgtattactgt 50 61 55 44 +JY8QFUQ01AROW2 IGA1 ggattcaccttcagtaactatagc atgagctgggtccgccaggctccagggaaggggccggagtgggtctcagct attactggtcttgatggtagaaca ttctacgcagactccgtgaagggccgtttctccatctccagagacaattccaagaacacgttgtatttgggaatgaacagcctgagagccgaggacacggccgtatattattgt 52 50 60 51 +JY8QFUQ01ARPRY IGG2 ggattcaccttcagtgactatcac atgtactgggtccgccaggctccaggcaaggggctggagtgggtggcagtt atatcatatgatggaagtaataaa tactatgtagactccgtgaagggccgattcaccatctccagagacaattccaagaatgcgctgtttctgcagatgaacagcctgagagctgacgacacggctgtgtattactgt 56 47 58 52 +JY8QFUQ01ARWZ0 IGA2 ggattcacgtttagagactattgg atgagttgggtccgccaggctcctgggagggggctggagtgggtggccaac ataaagcaagatgcaagtgaggaa tactatgtggactctgtgaagggccggttcaccatctccagagacaacgccaagagctcactgcatttgcaaatgaacagcctgagagccgaggacacggctatgtattactgt 56 45 67 45 +JY8QFUQ01ARYWV IGA1 ggattcacctttagcggctatgcc atggcttgggtccgccaggctccagggaaggggctggagtgggtctcaact agtactactgatggagctggccca tactacgcagactccgtgaggggccggttcaccgtcttcagagacaattccaagaacactctgtatctacaaatggacaccctgagagccgacgacacggccatgtattactgt 49 58 60 46 +JY8QFUQ01AS13P IGA1 ggatttaccttcagtggctatggc atgcactgggtccgccaggctccaggcaagggcctggagtgggtgacagtt gtttcatatgatggaagtattaag aattatgcagactccgtgaagggccgattcaccatctccagagacgattccaagaatacgctgtatctgcaaatgagcagcctgggacctgaagacacggctatatattactgt 55 47 59 52 +JY8QFUQ01AS1T0 IGA1 ggattcatctttgatgattttggc atgaattgggtccgccaagctccagggaaggggctggagtgggtcgctggt atcagttggaatggtggcaaagca ggtcacgcagactctgtgaagggccgattcaccatctccagagacaacgccaagaactccctgtatctgcaaatgaacagtctgagagccgaggacacggccgtgtatcactgt 52 49 65 47 +JY8QFUQ01AS22B IGG1 gggttgaccgtcagtgccgaccac atgtactgggtccgccaggctccagggaaggggctggagtgggtctcagtt ctttatggcggtggcaccttg gactacgcagactccgtgaagggccgattcaccatctccagagacaattcgaggaacactgtgtatcttcagatggagagactgagccccgaggacacggccgtctactactgt 44 56 66 44 +JY8QFUQ01AS24X IGA2 ggattcaccttcagtagctactgg atgcactgggtccgccaagctccagggaaggggctggcgtgggtctcacgt attaaaagtgatggcagtggcaca aactacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagagcacgctgtttctgcaaatgaacagtctgagagccgaggacacggctgtatattactgt 54 54 62 43 +JY8QFUQ01AS28D IGA1 gaagacatgtttaagagtttcgga ttgacgtgggtccgtcaggctccagggaaggggctggagtgggtcgcagga ataaacaattacaatggtgcaact ttctatgctggccccgtaaagggccgcttcaccgtctctcgagataaagaaaagaccattttttatctacaaatggacaacgtgagggtcgacgacacgggcgtttatttctgt 56 43 61 53 +JY8QFUQ01AS5EL IGA2 ggtggctccatcagtagtttctac tggagctggatccggcagcccgccgggaagggactggagtggattgggcgt atctataccagtgggagcacc aactacaacccctccctcaagagtcgagtcaccatgtcagtagacacgtccaagaaccagttctccctgaagctgagctctgtgaccgccgcggacacggccgtgtattactgt 46 61 60 43 +JY8QFUQ01AS6B9 IGA1 gggttcaccttcagtaactcctgg atgcactgggtccgccaagctccagggaaggggccggagtgggtctcacgt attaatagtgatgggagtaataca atctacgcggactccgtgaagggccgactcaccatctccagagacaacgccaaaaacacggtgtatctgcaattgaacagtctgagagccgaggacacggctgtgtactactgt 55 54 61 43 +JY8QFUQ01AS9TS IGA1 ggattcacctttaggagctatgcc atgagttgggtccgccaggctccagggaaggggctagagtgggtctcgtct atcagtggcagtggtgataagaca aagtatgcagattcagtgaggggccggttcaccatctccagagacaattacgacaacacattatatctgcgaatggagggcctgagagccgaggacacggccacatattactgt 55 47 65 46 +JY8QFUQ01ASBBA IGA1 ggattcatcttcagtgactactac atgacctggatccgccaggctccagggaaggggctggagtgggtttcatac attcgtagtaatgggagtcccata tacaacgcagactctgggaggggccgattcaccatctccagggacaacgccaagaactcactgtatctgcaaatgaatagtctgagagtcgaggacacggccgtgtattactgt 55 51 59 48 +JY8QFUQ01ASGTL IGA1 ggattcacctttagtgattatgcc ttgagctgggtccgccagactcccgggaaggggctggagtggatctcagaa atcactggtgatggcggtaacaaa tactatgcagactccgtgagggaccggttcaccatctccagagacaactccaagaatattttgtatctgcagatgagcagcctgagagccgaagacacggccatgtattactgt 55 50 59 49 +JY8QFUQ01ASIFV IGG2 ggattcacctttaccacctatgcc atgagctgggtccgccaggctccagggaaggggctggaatgggtctcaact attagtggtagtggtggcaggaca tactacgcagactccgtgaagggccggttctccatctccagagacaattccaagaacacactatatctgcaaatgaacagcctgagagtcgaggacacggccgtatattactgt 55 54 58 46 +JY8QFUQ01ASKXZ IGA1 ggattcaccttcagtacctattcc atgcactgggtccgccaggctccaggcaaggggctagagtgggtggcagtt atatcatatgatggaaaaaaag tattatggagactccgtgaagggccgattcaccatctccagagacaattccaagaacacggtgtacctgcaaatggacagcctgaggcctgaagacacggctgtatattactgt 59 49 56 47 +JY8QFUQ01ASLW8 IGA1 ggaggcaccttcgacagttatgtt atcagctgggtgcgacaggcccctggacaagggcttgagtggatgggcggg atcatccctatctttggttcggca aagtatgcacagaagttccagggcagagtcaggattaccgcggacgaatccacgagcacggcctacatggagctgagcagcctgagatctgaggacacggccgtgtattactgt 49 51 69 44 +JY8QFUQ01ASMJE IGG1 ggattcacctttggttattatggc atgagctgggtccgccaagctccggggaggggctgggagtgggtctctggt attaatcggaatggtgatagcaca ggttatgcagactctgtgcaggaccgattcaccatctccagagacaacgccaagaactccctgtatctcgaaatgttcagtctgacagccgaggacacggccttatatcactgt 49 51 61 52 +JY8QFUQ01ASMT6 IGA2 ggtggctccatcagcagtgatagttactac tggggctggatccgccagtccccagggaaggggctggagtggattgggaat atctattatcgtgggagcacc tattacaacccatccctcgagagtcggctcaccatgtcggtagacacgtccaggaacctcttctccctgaggctgagctctgtgaccgccgcagacacggctgtatattactgt 45 59 62 50 +JY8QFUQ01ASO1O IGA1 ggattcaccgtcagtaactaccac atgaggtgggtccgccaggctccagggaaggggctggagtgggtctcagtt atttacagcggtggtagtaca tattacatagactccgtgaagggccgattcaccatctcgagagacgattccgagaacacagtgtatcttcaaatgaagagcctgagagctgaggacacggctgtatattactgt 55 46 61 48 +JY8QFUQ01ASOW0 IGA1 ggattcatcttcagcaactactgg atgcactgggtccgccaagctccagggaaggggctggtgtgggtctcacgt attactggtgatgggagtaaccca atctacgcggaccccgtgaagggtcgattcaccatctccagagacaacgccaagaacacactatatctgcaaatgaacagtctgagagtcgaggacacggctgtgtattactgt 55 53 59 46 +JY8QFUQ01ASS6V IGG1 ggattcacctttagtagttttgcc atgacctgggtccgtcaggctccagggaaggggctggagtgggtctcaact attcattataatggtgataacaca tactacgcagactccgtgaggggccgattcaccatctccagagacgattccaagaccacgctgtatctgcaaatgaacagcctgagagccgaggacacggccgtatattactgt 54 53 56 50 +JY8QFUQ01ASSCV IGA2 ggattcacctttagtaaccattgg atgaactgggtccgccaggctccagggaaggggctggagtgggtggccaac ataatgccagatggaggtgagaaa ttctatgtggactctgtgaagggccggttcaccatctccagagacagcgccaagaactcactgtatttgcaaatgaacagcctgagagccgaggacacggctgtgtattactgt 55 47 65 46 +JY8QFUQ01ASTYN IGG1 agtgcctccatgatcagttactat tggacctggattcggcagcccccagggaagggactgagtggattggggac atctattcctttggaggcacc agatacaacccgtcccttggcagtcgagtctccatatcactggacacgtccaataatgagttctccctgcaactgaactctgtgaccgctgcggacacggccttatatcactgt 47 59 52 51 +JY8QFUQ01ASUCZ IGA1 ggatttaggtttgatgattttggc atgagctgggtccgccaagttccagggaagggcctggaatgggtctctggt agtgactggagtggtggaagaaca ggttatggtgactctgtgaagggacgattcatcatctccagagacaacgccaagaactccctatatctacaaatgaacgatctgcgagccgatgacacggccgtctattattgt 53 42 64 54 +JY8QFUQ01ASUXV IGG2 ggtggctccgtcaacagtggtattttctac tggagctggatccggcagcccgccgggaagggactggagtggatagggcgt atctatgccagtgggagcacc aactacaacccctccctcaagagtcgaatcaccatatcagcagacacatccaagaatcagttctccctgaggctgagttctgtgaccgccgcagacacaggcgtttattattgt 51 59 59 47 +JY8QFUQ01ASVJP IGA1 ggattcgtctttggcgactatgcg atgagctgggtccggcaggctccagggagggggctggagtgggtctcaagt attagtggtagtggtgtcagcaca tactacgtgggctccgtgaagggccgcttcaccatctccagagacaattccaagaatgtgttgtatctgcaaatgaacggcctgagagtcgaggacacggccacatatcactgt 47 48 69 49 +JY8QFUQ01ASZ0M IGA1 ggtgactccattagtggttactat tggacgtggatccgacagcgcccagggatgagcctggagtggattggacaa gtccattacactgggagcacc aagtacagccctccctcaagagtcgagtcaccatttctgttgacatgtccaagaaccaattcaccctcatcttgacctctgtggccgctgcggacacggccgtctattactgt 47 59 53 50 +JY8QFUQ01AT4NT IGG1 ggattcacctttaccaactacgcc atgagctgggttcgccaggttccagggaaggggctggagtgggtctcactt attagtgttcgtggcgatgacacc ttctatgcagactccgtgaagggccggttcaccatctccagagacaactccaagaacacgctgtatctgcaaatggacatcctgaaacccgaggacacggccgtttattttgc 49 57 56 50 +JY8QFUQ01AT5TS IGA1 ggaaaaaccctcactgaagtatcc atgcactgggtgcgacaggctcctggaaaagggcttgagtggatgggagga tttgatcctgaagatggtgaaata atctacgcacagaagttccagggcagaatcaccgtgaccgaggacacatctacagacacagcctacatggagctgagcagcctgagatctgaagacacggccgtgtattactgt 63 48 61 41 +JY8QFUQ01AT8HH IGA2 ggtggctccttttctaatcatggttaccac tgtagttggctccgccagttcccagggaaggacctggagtggattgcctac atctattacactgggagcacc gagtataacccgtccctcaggagtcgagttgccatatcagtggacacgtctgggaaccagtgttccctggagttgaactctgtgagtgccgcggacacggccgtctattactgt 43 57 60 56 +JY8QFUQ01ATA76 IGG3 ggattcacctttggtgattatgct atgagctggttccgccaggctccagggaaggggctggagtgggtaggtttc attagaagcaaagcttatggtgggacaaca gaatacgccgcgtctgtgaaaggcagattcaccatctcaagagatgattccaaaagcatcgcctatctgcaaatgaacagcctgaaaaccgaggacacagccgtgtattactgt 61 47 61 50 +JY8QFUQ01ATDOT IGG3 ggattcagcttcagtgactactac atgagttgggtccgccaggctccagggaagggactggagtgggtttcatgc atcactactagtggtaccaca ttctacacggactctgtgaggggccgattcaccatgtccagggacaacgccaagaactcactgtatctgcaaatgaacagcctgagagccgaggacacggccgtgtattactgt 52 53 59 46 +JY8QFUQ01ATIZV IGA2 ggattcaccgtcagtggcaagtac atgagctgggtccgccaggctccagggcagggactggagtgggtctcagtt atctatagtactggtagtaca tactacgcagattccgtgaaagggcggttcaccatctccagagacagttccaacaacactctatatcttcaaatttacggcctgagagctgacgacacggctacttactactgt 53 53 54 50 +JY8QFUQ01ATJ6D IGA1 ggattcaccttcagtgactactac atgaactggatccgccaggctccagggaaggggctggagtggatttcaaac atcaatagtagtgggaggaccata tattacgcagactctgtgaagggccgattcaccatctccagggacaacgccaagaactcactgtatctgcaaatgaacagcctgagagccgaggacacggccgtatattactgt 61 52 56 44 +JY8QFUQ01ATK2N IGA1 gaattctccgtcagtgacagtcac atgagttgggtccgccaggctccagggaaggggctggagtgggtctcagtt atttatagcggtggtagtgca tattatgcagactccgtgaggggccgattcaccatcgccagagacaaatctaagaacgtgttgtatcttcaaatgaacagtctgagacctgaggacacggctgtgtactactgt 51 45 62 52 +JY8QFUQ01ATP88 IGG1 ggtgagtccttcactaattactac tggagctggatccgccagtccccaggaaagggtctggagtggcttggggag gtccatcatagtggacgcacc gactacaacccgtccctcaagagtcgaatcaccatgtcgttagacacgtccgaaaatcagttctccctgaagttgacttctttgaccgccgcggacacggcagtatattattgt 49 57 54 50 +JY8QFUQ01ATQIC IGA1 ggattcactttcagtagctactgg atgcactgggtccgccaagctccagggaaggggctggtgtgggtctcacgt gttaatggtgatgggggtaggaca gcctacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaacactctctatctccaaatgaacagtctgagagccgaggacacggctgtatattactgt 51 53 63 46 +JY8QFUQ01ATVSF IGG2 ggattcaccttcagtacatactgg atgcactgggtccgccaagctccagggaaggggctggtgtgggtctcccgt atcaatcctgatgggcgaatcaca actacgcggactccgtgaatggccgattcaccatctccagagacaacgccaagaacacgctgtatctgcaaatgaacagtctgagagccgaggactcggctgtgtactactgt 52 58 58 44 +JY8QFUQ01ATWCJ IGA1 ggattcaccttcagtgcctttact atgcactgggtccgccaggctccaggcgagggactagagtgggtggcagct atatcatatgatggcagtaaaaa tactatgcggactttgtgaagggccgattcaccatctccagagacaatcccaagagtacactgtatctacaaatgaacggcctgggaggtgatgacacggctttgtattactgt 55 48 57 52 +JY8QFUQ01ATX94 IGG2 ggattcaccttaagtgatcactac atggactgggtccgccaggctccagggaaggggctggagtggttggccgt actaaaaacaaagctaacggttacactaca cactacgccgcgtctgtgagaggcagattcattctttcaagagacgattcaaagaactcagtgtatctgcaaatgaacagcctgaaaatcgaggacacggccgtctattactgt 63 51 56 48 +JY8QFUQ01AU02Q IGA1 ggtggctccatcagcgacactagttatcac tgggcctggatgcgccagcccccagggaagggcctggagtggattgctaat gttcattatactggcagcgcc cactacaacccgtccctcaagagtcgagtcaccatactagtagacacgtcccagaatcagttctccctgatgctgagttctgtgaccgccacagacacggctgtgtattactgt 48 64 55 49 +JY8QFUQ01AU76E IGA2 ggattcaccttcagttcttatgcc atgaactgggtccgcctggttccaggcaaggggctggaatggctttcattt attggtaatactggtagtgtcata tactacgcagactctgtgaaggggcgattcaccatctccagagacaatgccaagaactcaatgtctctacaaatgagcagcctgagagccgaggacacggctctatattattgt 54 49 53 57 +JY8QFUQ01AUADL IGA1 ggattcctcttcagtagttatgct atacactgggtccgccaggctccaggcaaggggcttgagtgggtggcggtt gtttcatatgatggaaataataaa ttttacgcagactctgtgaagggtcgattcagcctctccagagacaactccaagagcacggttgatctgcaaatggacaacttgagatccgaagacacggctgtatattattgt 55 44 57 57 +JY8QFUQ01AUD41 IGA1 ggattcaccttcagttcttatgcc atgaactgggtccgcctggttccaggcaaggggctggaatggctttcattt attggtaatactggtagtgtcata tactacgcagactctgtgaaggggcgattcaccatctccagagacaatgccaagaactcaatgtctctacaaatgagcagcctgagagccgaggacacggctctatattattgt 54 49 53 57 +JY8QFUQ01AUF6C IGA1 ggattcacgtttagagactattgg atgagttgggtccgccaggctccggggaagggactggagtgggtctcaacc attagtcctagtagtcagtacata tactatgcagactctgtggagggccgattcaccatctccagagtcgacgcccggagttcagtgtttctgcaaatgaacagcctgagagacgacgacacggctgtgtattactgt 50 48 63 52 +JY8QFUQ01AUH73 IGA1 ggattcacctttgatgattatgtc atgcactgggtccggcaagctccagggaagggcctggagtgggtctcaagt attagttggggaagtgctcatata cactatgcggactctgtgaaggaccggttcaccatctccagagacaacgccatgaactccctttatttgcaaatggacagtctgagagctgacgactcggccttgtattactgt 50 49 58 56 +JY8QFUQ01AUI48 IGA1 ggattcaccttcagtgactactac atgaactggatccgccaggctccagggaaggggctggagtggctttcatac attagtggtagtggaactaccata tcctacgcagactctgtgaagggccgattcaccatctccagggacaacgccaggaactcactgtatctgcaaatgaacagcctgagagccgaggacacggccgtgtattattgt 55 54 57 47 +JY8QFUQ01AUJ6M IGG2 acattcacgtttagtcggtattgg atgagctggtccgccaggctccagggaagggcctggagtgggtggccaac ataaaggaagacggaagtgagaga tattatgtggactctgtgaagggccgattcaccatctccagagacaatgccaagaactctctgtatctgcaattgaacagcttgagagccgaggacacggctgtgtattactgt 56 44 64 48 +JY8QFUQ01AURES IGA1 ggatacatattcaccgccttttat atacactgggtgcgacaggcccctggacaagggcttgagtggatgggatcc atcaatcccaacagtggtgtcaca acctacgaagagaagtttcgggcagggtcaccatgaccagggacacgtccatcactacagcctacatggaactgacaagccttacatcagacgacacggccgtatattactgt 59 57 52 44 +JY8QFUQ01AUU0J IGA2 agattcacctttaggacatattgg atgagttgggtccgccaagctccagggaaggggctggagtgggtggccaac ataaaggaagatggaagtgagata cactatgtggactctgtgaagggccgattcaccatctccagagacaacgccaagaacacactgtttctccaaatgaacagcttgagagtcgatgacacggctgtgtattactgt 61 44 61 47 +JY8QFUQ01AUUPD IGG1 ggattcagcttcagtgactactac atgagttgggtccgccaggctccagggaagggactggagtgggtttcatgc atcactactagtggtaccaca ttctacacggactctgtgaggggccgattcaccatgtccagggacaacgccaagaactcactgtatctgcaaatgaacagcctgagagccgaggacacggccgtgtattactgt 52 53 59 46 +JY8QFUQ01AUVXR IGA2 ggattcagcttcagagactatggc atggcctgggtccgccaggctccagggaaggggctggagtgggtctcatac attggtaggattattagtgacata tactacgcagactctgtgaagggccgattcaccatctccagagacaatgccaagaactcactgtatctgcaaatgaacagcctgagggacgacgacacggctgtctatttctgt 54 50 60 49 +JY8QFUQ01AUYQV IGA1 ggattcagcgtcaacaacaactac atgaactgggtccgcctggctccagggaagggtctggagtgggtctcagtt atttatagaggtggtaataca ttctacacagactccgtgaagggccggttcaccatctccagagacatttccaagaacactttgtatcttcaaatgaacagtctgacaactgaggacacggctgtgtactattgt 57 48 52 53 +JY8QFUQ01AV09F IGA1 ggtgcttccatgacgagtactaatttctac tggagttgggtccgccaacgctcagggaagggcctagagtggcttggatac atctatcacagtgggggcacc tattacaacccgtctctcaagagtcgacttgccctgtcattagacgcgtctaataatgttttctccctgaaattggcctctgtaaccgccgcggacacggccgtatattactgt 47 57 54 58 +JY8QFUQ01AV2V7 IGA2 ggactcacgttcagtgaccactac atggactgggtccgccagactccagggaggggactggagtgggttggccgt attagagacaaagctcgcaggtacaccaca gaatacgccgcgtctgtgaaaggcagattcaccattttaggagatgatttaaagaattcactgtatctacaaatgaacaacctgagaaccgacgactcggccgtgtattactgt 62 51 59 47 +JY8QFUQ01AV3HD IGA1 ggattcacctttagtagatattgg atgcactgggtccgccaagctccagggaaggggctggtgtgggtctcacgt attaatgaagatgggaggaccaca acctacgcggactccgtgaatggccgattcctcatctccagagacaacgccaagaatacgttgtatctgcagatgagcagtctgagagtcgaggacacggccatgtattattgt 54 48 62 49 +JY8QFUQ01AV3VG IGG1 ggattcagtcctaccgattttgg atcggctgggttcgccagctgcccggcaaaggcctggagtggatgggcctc atttatcctggtgactctgagacc agattcaacccgtccttccaaggccaggtcaccatctcagccaacaagtccataaataccgcctacctacagtggagcagcctgaaggcctcggacactgccgtgtattactgt 46 64 54 48 +JY8QFUQ01AV7LU IGG2 ggattcgcctttagccgttatgcc atgacttgggtccgccagactccagggagggggctggagtgggtctcaggt ctcagtggtagtggtgatagcaca tactactcaaactccgtgaagggccggttcatcatcttcagagacaattccaagaacacgctgtatctgcaaataaacgccctgagagacgaagacacggccgtttactactgt 52 53 59 49 +JY8QFUQ01AV8RW IGA1 ggattcatctttgatgattttggc atgagatgggtccgccaagttccagggaaggggctacagtgggtctctggt attaattggaatggtggtaaaaca ggttatgcagactctgtgaggggccgattcatcatctccagagacaacgccaagaacgccctgtatctgcaaatgaacagtctcagagccgaggacacggccttatattactgt 55 44 60 54 +JY8QFUQ01AVA0Q IGA1 ggattctcacttagcactagtgggatgggt gtgggctggatccgtcagcccccaggaaaggccctggaatggcttacactc atttattgggatgatgataag cgctacagcccatctctgaagagcaggctcgccatcaccaaggacacctccaaaaatcaggtggtccttacaatgaccaacatggaccctgtggacacagccacatattattgt 57 57 54 48 +JY8QFUQ01AVB4I IGG2 ggattcagttttagtacctattgg atgagctgggtccgccaggctccagggaaggggctggaatgggtggccacc ataaacgaggatggaagtgacaga acctatgtggactctgtgaagggccgattcaccatctccagagacaacgccaaaaattcattgtatctacaaatgaatagcctgagaaccgacgacacggctcgatattactgt 61 47 59 46 +JY8QFUQ01AVBM5 IGA1 gaaatcaccttcagcgaccactac atgagctggatccgccaggctccaggaaaggggctggaatggatttcatat attagcaccagtggtaatatgatc tattacgcagactctgtgaagggccgattcaccgtctccagggacaacgccaagaggtcgatgtatttgcagatgaacagtctgagagccgaggacacggccgtctatttctgt 57 51 57 48 +JY8QFUQ01AVDHQ IGA1 ggattcaactttgataaatatgac atgcactgggtccgacaagctccagggaagggcctggagtgggtctcaggt attaagtggaatggcggtcgcgtc ggctatgcagactctgtgaagggccgattcaccatctccagagacaacgccaagaactccctgtatctgcaaatgaacagtctgagacctgaggacacggccttctattactgt 55 51 59 48 +JY8QFUQ01AVEUZ IGA2 ggattcaccttcagcagctttagt atgaactgggtccgccaggctccagggaagggactggagtggctttcatac attagtaatactggtagtaacaaa tactacgcagactctgtgaagggccgattcaccatctccagagacgatgccaagaactcactgtatctgcaaatgaacagcctgagagtcgaggacacggctgtgtattactgt 59 49 55 50 +JY8QFUQ01AVHAA IGG1 ggattcaacttcaattattatagc atgagttgggtccgccaggctccgggaaagggactggagtgggtttcatac attagtactagtagtagttacatg tattacacggactccgtgaagggccgcttcaccgtctccagagacaacgccaagaaatctctgtatctggaaatgaacagcctaagggacgaggacacggctgtctacttttgt 57 46 56 54 +JY8QFUQ01AVLE1 IGA2 ggattctccgtcagtaattactgg atgcactgggtccgccaggctccaggggaggggctggagtgggtctcacgt attaatgaagatggtagtcggaca gactacgcggactccgtgaagggccgattcaccatttacagagacagcgccaagaacacactgtatctgcaaatgaacagtctgagagtcgaagacacggctgtctattattgt 55 48 63 47 +JY8QFUQ01AVMZN IGG1 gggttcaccatcagtacgtactcc atgggctgggtccgccaggctccgggaaaggggctggagtgggtctcatta atttatcccggcgggagcaca ttccacgcagactccgtgagggggcggcttatcatctccagagacgaatccaagagtgaactgtatcttcggatgaagaaagtgaaagtcgaagacacggccgtatattattgt 51 49 64 46 +JY8QFUQ01AVNE7 IGA2 ggattcaccttcagttactcctgg atgcactgggtccgccaagttccaggaaaggggccggtgtgggtctcacga atcaaaagtgatgggagtacccca agttacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaacacgctgtatctgcaaatgaacagtctgagagtcgaggacacggctgtttattactgt 55 54 59 45 +JY8QFUQ01AVOVU IGA2 caactttaccggctactgg atcggctgggtgcgccagatgcccgggaaaggcctggagtggatggggatc atctatcctggtgactctgatacc agatacagcccgtccttccaaggccaggtcaccatctcagccgacaagtccatcagcaccgcctacctgcagtggagcagcctgaaggcctcggacaccgccgtgtattactgt 44 65 58 41 +JY8QFUQ01AVPMG IGA2 ggtggcgccatcagcagtaatagttactac tgggactggatccgccagcccccagggaaggggctggagtggattgggagt atgttttatactggggtcacc ttctacaacccgtccctcaagagtcgagttaacatttccgtggacacgtccaagagccagttctccctgaggctgagctctgtgaccgccgcagacacggctgtgtatcactgt 45 58 63 50 +JY8QFUQ01AVQ0D IGA1 ggatacaccttcaccagctactat ttgcactgggtgcgacaggcccctggacaagggcttgagtggatgggaata atcgaccctagtggtggtgccaca agctacgcacagcagttccagggcagagtcaccatgaccagggacacgtccacgagcacagtctacatggagctgagcagcctgagatctgaagacacggccgtgtattactgt 54 57 62 40 +JY8QFUQ01AVQBY IGG1 ggattcaccttcagtcgctatagc atgaactgggtccgccaggctccagggaaggggctggagtgggtctcaact attagtagtcatagtatttacata tactatgcagactcagtggagggccgattcaccgtctccagagacaacgccgagaactcgctgtatctgcacatgaacaccctcagagccgacgacacggctatatattactgt 55 55 54 49 +JY8QFUQ01AVT39 IGA2 ggattcacttttagtgactattgg atgagttgggtccgccaggctccagggaagggactggagtgggtggccacc acaaacgaggacgagactaagaaa tactctgcggactctgtgaggggccgattcaccatctccagagacaacgccaagaactcactgtacttgcagatgagcagcctgagagccgacgacgcggccgtctattattgt 54 52 64 43 +JY8QFUQ01AVZKB IGA1 ggattcaccctcagtgactacagt atgagttgggtccgccaggctccagggaaggggctggagtgggtctcatac atcagccgaagtggaagtaatgtg gaaactgcggactctgtgaggggccgattcaccgcctccagggacaccgccaataattcactgtttctgcggatgaatagcctgacagtcgaggacacggccctctattactgt 49 54 64 46 +JY8QFUQ01AW02O IGA1 ggattcatcttcagtaactataga atgaactgggtccgtcaggctccagggaaggggctcgagtgggtctcgtcc atcaccagttccagtagttacatc tactatgcagactcggtgacgggccgattcaccatctccagagacaactccaaggggtcactctatctgcacatgaacgaccttagggccgaagacacggctgtctattactgt 52 57 54 50 +JY8QFUQ01AW9GE IGG4 ggtggctcactcagaagtagtagtcaccat tggggctggattcgtcagtcccccgggaaggggctggagtggcttgggact gtcgactttcgtgggaccacc cactacaacccgtccctcatgggtcgactcacgatatccgtcgacgcgcccaagagtcaaatgtccctgcacttgagctctgtgaccgccgcagacacggctttttacttctgt 40 65 61 50 +JY8QFUQ01AWGJ4 IGA2 ggatacagcttcactaactacaat atccattgggtgcgccaggcccccggacaagggcttgagtgggtgggatgg atcaacgctggcaatggcaataca agatattcacagaaattgcagggcagagtcaccatttccagggacacatccgcgagcattgccaacatggagttgagcagcctgagatatgaagacacggctgtatattattgt 61 48 59 45 +JY8QFUQ01AWIJ1 IGA1 ggggccaccatgagtagtttctac tggagctgggttcggcagtccccagggaggggactggagtggattggattt gtttcttacagtgggcccacc aactacagcccctccctcaagagtcgagtcaacttatcactggacgcggccaacaaacagttctctttgcagctgcgttctgtgaccgctgcggacacggccatttattactgt 42 57 59 52 +JY8QFUQ01AWLNY IGA2 ggggacagtgtctctagcaacagtgccact tggaactggatcaggcagtccccaacgggaggccttgagtggctgggaagg acatcctacaggtccaaatggtatagt gattatgcggtgtctgtgaaaagtcgaataaccatcaacccagacacatccaagaaccagttctccctgcaattgaactccgttagtcccgaggacacggctgtgtattactgt 59 55 59 49 +JY8QFUQ01AWOLO IGG1 ggatacacgtttatgaattactgg atcggctgggtgcgccagatgcccgggaaaggcctggagtggatggggatc atctatcctggtacctctgagacc agatacagcccgtcctttcaaggccaggtcaccatttcagccgacaagtccaccagcaccgccttcgtgcagtggagcagcctgaaggcccggacaccgccatatattactgt 48 61 59 44 +JY8QFUQ01AWOO7 IGA2 ggattcacattcggtagttttatg atgaactgggtccgccaggctccagggaagggactggagtgggtcgcatcg attagccctactagtactttcata gactacgcagactcagtgaggggccggttcaccatctccagagataacgccgagaacttactgtatctgcaaatgaacggcctgagagtcgaagacacggctgtctattactgt 53 50 59 51 +JY8QFUQ01AWPED IGG1 ggatttacttttaacaactattgg atgacctgggttcgccaggctccagggaaggggctggaatgggtggccaac ataaagcaacatggaggtgagacg tactatgcggactctgtgaagggccgattcaccatctccagagacaacgccgagacctcagtgtatctgcaaatgaacagcctgagagccgaggacacggctgtctattactgt 57 49 62 45 +JY8QFUQ01AWSX6 IGG4 ggtttcaccttcaggagctctggc atgaactgggtccgccaggctccagggaaggggctggagtgggtttcatac attagcagtagtactactaccaaa tactgcgcagactctgtgaagggccgattcaccatctccagagacaatgccaagagctcactgtatctgcaaatgaacagcctgagagccgaggacatggctgtgtattactgt 54 52 59 48 +JY8QFUQ01AX0TL IGG2 ggtggctccatcagtactggttattactac tggagctggatccggcagtccgccgggaagggactgaatggattgggcgc atgtctgccagagggggcagc aactacaacccctccctccagagtcgagtcaccatatccatagacacgtccaagaaccagttctccctgaggctgacctctgtgagcgccgcagacacggccgtgtatttttgt 46 62 61 46 +JY8QFUQ01AX3JG IGA1 ggattcatctttagtagctatgcc atgggctgggtccgccaggctccagggaaggggctggagtgggtctcaact attagtgccagtggtaagagcaca tactacgcagactccgtgaagggccggttcagcatctccagagacaattccaagaacacgatgtctgtgcaaatgagcagcctgagagccgaagacacggccatatattactgt 55 51 62 45 +JY8QFUQ01AX7BT IGA1 ggggactccattagtggttactat tggacgtggatccggcagaccccagggaagggactggagtggattggaaat gtccattacactgggagtacc aagtacagcccctccctcaagagtcgagtcaccatgtcagttgacatgtccaggaaccagttcaccctcaaattgacctctgtagccgctgcggacacggccgtctattactgt 50 56 57 47 +JY8QFUQ01AX7OK IGA2 ggtttcacctttagtaacgattgg atggactgggtccgccaggctccagggaaggggctggagtgggtggccaat ataaagggagatggaagtgagaaa aactatgtagactctgcgaagggccgattcatcatctccagagacaacgccaagaactcactgtatctgcaaatgaacagcctgagagtcgaggacacggctgtgtattactgt 60 43 65 45 +JY8QFUQ01AXASL IGA1 ggattcagcttcagtacctactgg atgcactgggtccgccaagctccagggaaggggctggtgtgggtctcacgt actaatacggggggactgacaca gcctacgcggactccgtgaagggccgattcaccatctcccgagacaacgggaagaacacggtgtatctgcaaatgaacagtctgagagccgaggacacggctgtttattattgt 51 53 65 43 +JY8QFUQ01AXCGR IGA2 ggattcacctttggtagctattgg atggcctgggtccgccaggctccagggaaggggctggagtgggtggccaac ataaagcaagatggaagtggtaca tactatgtggactctgtgaagggccgattcaccgtctccagagacaacgccaagaattcactgtttctgcaaatggacagcctgagagtcgaggacacggctctgtattactgt 52 47 66 48 +JY8QFUQ01AXE56 IGG1 ggattcgactttaaggaatatgcc atacactgggtccggcaagttccaggaaagggcctggagtgggtcgcgggc atcaactggaatcggggcaaagca ttgtatgggactctgtgaggggccgattcaccatctccagagacaacgcccagaactccgtgtctctgcaaatgaacagtctgaggcctgacgacacggccttgtatatctgt 52 52 63 45 +JY8QFUQ01AXNWU IGA1 ggattcccctttagcaactatgac atgaattgggtccgccaggctccagggaaggggctggagtgggtctccggt attagtggtagtggcggtagcaca tactacgcagactccgtgaagggccggttcaccatctccagagacaattccaagaacacgctggatctgcaaatgaacagcctgagagccgaggacacggccgtatattactgt 53 53 63 44 +JY8QFUQ01AXTRO IGG2 ggattcacctttaccaactatggc atgagctgggtccgccaggctccagggaaggggctggagtgggtctcaggt attagtggtagtggtgaaaccaca taccacgcagaatccgtgaggggccggttcaccatctccagagacaactccaagaacaatctgtatctgcaaatgaacagtctgagagccgaggacacggccatttattactgt 56 52 60 45 +JY8QFUQ01AXVCI IGG1 acattcgcctttagcaactatgcc atgagctgggtccgccaggctccagggaaggggctggagtgggtgtcagat attagtgggagtggtgttagtaca cactacgcggactccgtgcagggccggttcaccatctccagagacaattcgaagaacacgctgtatctgcaaatgaacagcctgagtgccgaggacacggccgtatattactgt 51 52 64 46 +JY8QFUQ01AXXC6 IGG1 ggattcaccttcagtgtccatagc atgaactgggtccgccaggctccagggaaggggctggagtgggtttcatac cttagtagtggtagtgataccata tactacgcagactctgtgaggggccggttcaccatctccagagacaacgccaagaactcactgtatctgcaaatgagtggcctgagagacgaggacacggctgtttattactgt 52 50 61 50 +JY8QFUQ01AY7GI IGA1 ggattcagttttgcagattatggc atgggctgggtccgccaacttccagggaaggggctggaatgggtcggtggt gttaattggaatggggcagcgca ggttatgcagtctctgtggagggccgattcatcatctccagagacaacggcaagaagtccctgtatttgcaaatgaacagtctgagagtcgaggacacggccgtgtattactgt 48 41 71 52 +JY8QFUQ01AY8MO IGA1 agtgggtccttcagtggttacctc tggacctggatccgccagtcccccgggaaggggctggagtggattggagaa attaattatagtgggagaacc aactacaacccgacccttgagagtcaagtcaccatttctgtagacacgtccaagaaccaattctccctgaagcttacctctgtgaccgccgcggacacggctgtctattactgt 50 57 54 49 +JY8QFUQ01AY94E IGA2 ggtgactccatcagcagtagttcttactac tggggctggatccgccagcccccagggaaggggctggagtggattgggagt atctttcatagagggagcacc tactccaacccgtccctcaagagtcgagtcaccatatccgtagacacgtccaagaaccttttctccctgaatctgagctctgtgaccgccacagacacggctgtttattactgt 48 62 55 51 +JY8QFUQ01AYCCC IGA1 ggatacaccttcagcaactactat agacactgggtgcgacaggcccctggacaagggcttgagtggatgggaatg atcaaccctagtagtgattacaaa tattacgcacagaaatttcagggcagagtcaccatgaccagggacacgtccacgagcacagtcttcatggagctgagtagcctgagatctgacgacacggccgtgtattattgt 61 50 57 45 +JY8QFUQ01AYFQ1 IGA2 ggatacagttttaacagttatgcc atgacttgggtccgccaggctccagggaaggggctggagtgggtctcaact attagtggcactggtggtaaccaa tactacgcagactccgtgaggggccggctcaccatctccagagacaattccaagaacacactatttctgcagatgagcagcctgagagccgaggacacggccgtttattactgt 53 53 60 47 +JY8QFUQ01AYG87 IGG1 ggattcaccttcagtacctatgct atgtactgggtccgccaggctccaggcaaggggccagagtgggtgtcagtg atatcacatgatggaaataaggaa gaatacgcagactccgtgaagggccgattcaccatttccagagacaactccaagaaaatgttgtacctgcaaatgaacaaccagcgacctgatgacacggctgttattattgt 62 49 54 47 +JY8QFUQ01AYHQQ IGA1 ggattcactttcagtaacgtctgg atgcactgggtccgccaggctccagggaaggggctggagtgggttggccgt attagaagcaaaactgctggtggggcaaca gaatacgctgcgcccgtgagaggcatattctccatctcaagagatgattcaaagaacacgttgtatctgcaaatgaacagcctgaagaccgaggacacagccgtgtattactgt 58 49 65 47 +JY8QFUQ01AYHQY IGA2 ggattcagcttagttactattgg atgagctgggtccgccaggctccagggaaggggctggagtgggtggccaac ataaaggaagatggaagtgagaga cactatgtggactctgtgaagggccgattcaccatctccagagacaacgccaagagctcactgtatctgcaaatgaacagcctgagagccgaggacacggctgtatattactgt 58 45 66 43 +JY8QFUQ01AYINE IGG2 ggattcacctttcatgattatacc atgcactgggtccggcaagctccagggaagggcctggagtgggtctcaagt attagttggaatagtggtaacata gactatgcggcctctgtgaggggccgattcaccgtctccagagacaacgccaataactccctgtctcttcagatgaatggtctgagatctgaggacacggccctctattactgt 50 52 57 54 +JY8QFUQ01AYL0X IGG2 ggattcaccttcagtagttactgg atgcactgggtctcacga attaatactgatgggagtgccaca agttacgcggactccgtgaggggccgattcaccatctccagagacaacgccaagaacacgctatatcttcaaatgaacagtctgagagtcgaagacacggctgtctattactgt 50 44 44 42 +JY8QFUQ01AYR4C IGA2 ggattcaccttcagcagctatgcc atgagctgggtccgccaggctccagggaagggcctggagtgggtctcagct attagtggtattggtgggagtaca ttctacgcagactccgtgaagggccggttcaccatcaccagagacaattccaacaacacgctgtttctgcaaatgaatagcctgagagccgaggacacggccatatattactgt 52 54 60 47 +JY8QFUQ01AYTLP IGG1 ggattcgtctttactaatcattgg atgagttgggtccgccaggccacagggaaggggccggagtgggtggccaac atatccccagacggaatacgaaa tattttggggactctgtgaggggccgattcagcgtctccagagacaacggcaagcagtcatcgtatctggaaatgaataccctgacagtcgatgacacggctgtatacttctgt 53 48 63 48 +JY8QFUQ01AYXP4 IGG2 ggtgggtccatcagcagtactagttactac tggagctggatccggcagcccgccgggaagggactggagtggatggggcgt atctataccagtgggatcacc aactacaacccctccctcgagagtcgagtcaccttttcagtggacacgtccaagaaccagttctccctgaagctgaagtctgtaacccccgcagacacggccgtttattactgt 49 62 59 46 +JY8QFUQ01AYY7V IGA2 ggactcagtttcactaacgcctgg atgagctgggtccgccaggctccggggaagggactggagtctgtctctgtt ttttatagcggtgatcaaaca tactacgcagactccgtgaggggccgattcaccatctccatagacaattccaagaacacactgtatcttcaaatgaacggcctgcgagccgaggacacggccgtgtattattgt 50 54 56 50 +JY8QFUQ01AZ2OV IGA1 ggattcaactttgcagattatggc ttgggctgggtccgccaacttccagggaaggggctggaatgggtcggtggt gttaattggaatgggggcagcgca ggttatgcagtctctgtggagggccgattcatcatctccagagacaatggcaagaagtccctatatttgcaaatgaacagtctgagagtcgaggacacggccgtgtattactgt 49 41 70 53 +JY8QFUQ01AZ3Q8 IGA2 ggtggctccatcaccacttactac atcagctggctccggcagcccccagggaagggactggagtggattgggtgt atctcttatggtggggacact acctacaactcctccctcaagagtcgagtcaccatatcaggacaagggtccacgcgccagttctccctgaggctgagctccgtgaccgttgcggacacggccgtgtattactgt 42 63 59 46 +JY8QFUQ01AZ72P IGA1 ggatacaccttcaccagctactat atgcactggatacgacaggcccctggacaaggcttgagtggatgggaata atcaaccctagtggtggtaccaca aggtacgcacagaagttccagggcagagtcttcatgaccagagacacgtccacgagcacagtccacatggaggtgaacggcgtaagatctgacgacacggccgtgtattactgt 60 54 58 40 +JY8QFUQ01AZ89E IGA2 ggtggctccatcaacagtggtagttactac tggagttggattcggcagcccgccgggaagggactggagtggattgggcgt atctataccagtgggagcacc aactacaacccctccctcaagagtcgagtcaccatatcaatggacacgtccaagaaccagttctccctgaagctgaactctgtgaccgccgcagacacggccgtctattattgt 52 60 58 46 +JY8QFUQ01AZAYV IGA2 ggcttcagattccgtgactactac atgacgtgggtccgccaggctccagggaagggtcttgagtggctttcctcc atcagcagcggtagtaataccatc cactactcagactcggtgaggggccgcttcaccatctccagggacaacaccaggaactcagtggatctgcaaatgaatagtctgagagccgaagacacggccgtctattattgt 51 58 57 47 +JY8QFUQ01AZCLU IGG2 ggattcacctttagaagctatgcc atgagctgggtccgccaggttccagggaaggggctggagtgggtctcagct attagtggtaatggtgctaacaca tactacgcagactccgtgaagggccgattcaccatctccagagacaatttcaagaacacgctgtctctgcaaatgaacagcctgagagccgaggacacggccctatattactgt 55 53 58 47 +JY8QFUQ01AZEES IGA1 ggattcaccttcagtgaccactac atagactgggtccgccaggctccaggaaaggggctggagtgggttggccgt actcgaaataaagctaacggttacagtaca gagtatgccgcgtctgtgaaaggcagattcaccgtctcaagagatgactcagagaacttagtgcatctgcaaatgaacagcctgaaaagcgaggacacggccctgtattactgt 62 51 61 45 +JY8QFUQ01AZK7Y IGA2 ggattcaccttcagtagctactgg atgcactgggtccgccaagctccggggaaggggctggtgtgggtctcacgt atgaatagtgatggcagtgacata aggtacgcggactccgtgaggggccgattcaccatctccagagacaacaccaagaacacgctgtatctacaaatgaacagtctgagagccgaggacacggctgtgtattactgt 54 51 64 44 +JY8QFUQ01AZQ2B IGA1 ggtggctccatcgccacttatcattgg tggaattgggtccgccagacccccgggaagggactggagtggattggggaa gtctattatagtcgacagact aattacaacccgtccctccagagtcgcgttgacatttccattgacagtcccaacggtcagttcaccctatatctgagagatgtgaccgtcgcggacacggccgtttattattgc 47 56 57 53 +JY8QFUQ01AZRH6 IGG2 ggattcaccttcagtagttatagc atgcactgggtccgccaggctccagggaagggactggagtgggtctcctcc attagtagtaatagtgcctacaca gaccacgcagactcagtgaagggccgattcaccatctccagagacaacgacaagaggtcactgtatctgcaaatgaacagcctgagagccgaggacacggctgtgtattactgt 57 54 58 44 +JY8QFUQ01AZRKU IGA2 ggattcattttggtgactattgg atgagctgggtccgccaggttccagggaagggcctggagtgggtggccact acaaacgaggacgaaagtgacaag cggtatgtggactctgtgaagggccgcttcaccatctccagagacaacgccaagaactcactgtatttgcaaatgaacagcctgagaggccaggacgcggccgtgtattactgt 53 48 67 44 +JY8QFUQ01AZTNG IGG1 ggattcacctttggtgattatgct atgagctggttccgccaggctccagggaaggggctggagtgggtaggtttc attagaagcaaagcttatggtgggacaaca gaatacgccgcgtctgtgaaaggcagattcaccatctcaagagatgattccaaaagcatcgcctatctgcaaatgaacagcctgaaaaccgaggacacagccgtgtattactgt 61 47 61 50 +JY8QFUQ01AZU0Q IGG2 gggttcaccatcagtcactactcc atgggctgggtccgccaggctccgggaaaggggctggagtgggtctcatta atttatcccggcgggagcaca ttccacgcagactccgtgagggggcggcttatcatctccagagacgaatccaagagtgaactgtatcttcggatgaagaaagtgaaagtcgaagacacggccgtatattattgt 51 50 63 46 +JY8QFUQ01AZUTN IGA2 ggattcacctttagcacctatgcc atgagctgggtccgccaggctccagggaaggggctggagtgggtctcagtt attagtggtagtggtggcagcaca ttctactcagactccgtgaagggccggttcaccatctccagagacaattccaagaacacactggatctgcaaatgaatagcctgagaggcgaagacacggccgcatattactgt 53 53 61 46 +JY8QFUQ01AZZ31 IGA1 ggtggctccgtcagcagtggtagttatttc tggagctggatccggcagcccccagggcaggggctggaatggatcggttat gtctataacaatgggaacacc aattacaacccttccctcaagagtcgagtcaccatttctatagacacgtccgagaatcacgtctccctgaagctggcctctgtgaccgctgcggacacggccgtgtactactgt 47 60 59 50 +JY8QFUQ01B00R6 IGA1 ggattcaccttcagtgaccactac atgagctgggtccgccaggctccggggaagggtctggaatggatctcatat atcagtacaagtggtaatatggtt tattacgcggactctgtgaagggccgattcaccgtctccagggacaacaccaagagctcactgtatctgcaaatgaacggcctcagagtcgaggacacggccgtctattactgt 53 53 58 49 +JY8QFUQ01B02KX IGG2 ggattcaccttcagtagctatagc atgaactgggtccgccaggctccagggaagggctggagtgggtttcatac attagtagtagtagtagtaccata tactacgcagactctgtgaagggccgattcaccatctccagagacaatgccaagaactcactgtatctgcaaatgaacagcctgagagccgaggacacggctgtgtattactgt 58 49 56 49 +JY8QFUQ01B03TR IGA1 ggattcaccttcagtagctatagc atgaactgggtccgccaggctccagggaaggggctggagtgggtttcatac attagtagtagcagtagcaccata aaatacgcagactctgtgaagggccgattcaccatctccagagacaatgccaagaactcactgtatctgcaaatgaacagcctgagagtcgaggacacggctgtctattactgt 60 50 56 47 +JY8QFUQ01B07O4 IGA1 ggattcacctttggtagctattgg atggcctgggtccgccaggctccagggaaggggctggagtgggtggccaac ataaagcaagatggaagtggtaca tactatgtggactctgtgaagggccgattcaccgtctccagagacaacgccaagaattcactgtttctgcaaatggacagcctgagagtcgaggacacggctctgtattactgt 52 47 66 48 +JY8QFUQ01B08DF IGA2 ggtgcctccatcaacagtggtagttactac tggagttgggttcggcagcccgccgggaagggactggagtggattgggcgt atctacaccagtgggagcacc aactacaacccctccctcaagagtcgagtcgccatatcaatggacacgtccaagaaccagttctccctgaagctgaactctgtgaccgccgcagacacggccgtctatttttgt 49 62 59 46 +JY8QFUQ01B09U4 IGG1 ggattcacctttaacagccatgcc atgagttgggtccgccaggctccagggagggggctggagtgggtcgcagat tctggtggcagtggtcgtaccaca tactacgcagactccgtgaagggccggttcaccatctccagagacaattccgagaacacgctgtatctgcaaatgaacagcctgagagccgaggacacggccgtttattactgc 49 57 64 43 +JY8QFUQ01B0B79 IGG2 ggattcaccctcagttcctatgtc atacactgggtccgccaggctccaggcaaggggctggagtgggtggcagtc attggatttaatggacgcagcgag tattatgcagactccgtgaagggccgattcaccatctccagagacaattctctgcaaatgaacaatctgagagtcgaggacacggctgtctattactgt 48 48 55 47 +JY8QFUQ01B0BDK IGA1 ggattcactttcagtgactactac atgaattgggtccgccaggctccagggaagggcctggagtggctttcatac attactgcaagtggtgccatcata cactatgcagactctgtgaagggccgattcatcatctccagggacaacgccaagaactcactgtctctgcagatgaacagcctgagagccgacgacacggccgtctattattgt 53 56 54 50 +JY8QFUQ01B0DOB IGA2 ggattcaccttcaggacccatagc atgaactgggtccgccaggctccagggaaggggctggagtggatttcattc attagtagtagtagtggtaccata ttttatgcagactctgtgaagggccggttcaccatctccagagacaatgccaagaactcactttatctgcaaatgaacagcctgagagacgaggatgcggctgtgtattactgt 55 47 58 53 +JY8QFUQ01B0E0W IGG1 ggattcaccttcaggagttatatc atgaactgggtccgccaggctccagggaagggctggagtggatttcatac attagtagtagtggtattatcata tactacgcagactctgtgaagggccgattcaccatctccagagacaatgccaagaactcactgtatctgcaaatgaacagcctgagagtcgaggacacggctgtgtattattgt 58 45 55 54 +JY8QFUQ01B0E54 IGA1 ggattcaccttcaggaatcatgct atgcactgggtccgccaggcaccaggcaagggactagagtgggtggcacgc atctcacatgatggtgttagcgag atgtatacagaccccgtgaggggccgattctccatctccagagacaattccaaaagtattctatctctgcaaattaatggcctgagaagtgacgacacggctgtgtattattgt 55 50 57 51 +JY8QFUQ01B0F0W IGA1 ggattcacctttgatgattttggc atgagttgggtccgccaagttccagggaaggggctggagtgggtcgctggt atcagttggaatggaggcaaaaca ggtcacgcagactctgtgaagggccgattcaccatctccagagacaacgccaagaactccctgtatctgcaaatgaacagtctgagagccgaggacacggccgtgtatcactgt 53 49 65 46 +JY8QFUQ01B0GQK IGA1 ggattcaccttcagtgactactac atgaactggatccgccaggctccagggaaggggctggagtgggtttcatac attagtggcagtgctactaccata tcctacgcagactctgtgaagggccgattcaccatctccagggacaacgccaaaaactcactttatctgcaaatggacagcctgagagccgaggacacggccatatattactgt 57 56 53 47 +JY8QFUQ01B0JWX IGA1 ggtggccccaccatcgatgatggtgatttg tggacctggatccggcagcccgccggcaagggactggaatggatcggttat gtctatgatgggcggggcacc aactccaacccctccctccggagtcgcgttaccctgtcacaagacacctcaaacaatcagttcttcttgaggttgaagtctgtgaccgcctcagacacggccgtctattactgt 44 64 59 49 +JY8QFUQ01B0K72 IGA1 ggtgtctccatcagtagttcctac tggagttggatccggcagcccccagggaagggcctggagtggattggttat gtctattatactgggggcacc gactccaacccctccctcaagagtcgtgtcaccctgtcaatggacacgtccaagaaccagttctccttggaactgagctctgtgaccgctgcggacacggccgtctattactgt 41 61 57 51 +JY8QFUQ01B0M6T IGA1 ggatatactttcaccgaccattat gtttactggatgcgacaggcccctggacaaggccttgagtggatgggatgg attaaccctcaaagtggtggcaca aactatgcactgaaatttcagggcagggtcaccatgaccacagacacgtccaccagcacagtgtacatggatctgagtggactgaattctgacgacacgggcgtgtattactgt 57 50 57 49 +JY8QFUQ01B0MEN IGA2 ggattcaccttcagtagctactgg atgcactgggtccgccaagctccagggaaggggctggtgtgggtctcacgt gttaatggtgatggggtagcaca gcctacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaacactctctatctccaaatgaacagtctgagagccgaggacacggctgtatattactgt 51 55 61 45 +JY8QFUQ01B0SLO IGA1 ggatacagctttgccaccttctgg atcggctgggtgcgccagatgcccgggaaaggcctggagtggatgggaatg atctttcctggtgactccgatacc agatacagcccgtccttccaaggccaggtcaccttctcagccgacaagtccatcaacaccgcctacctgcagttgaacagcctgacggcctcagacaccgccgtttattactgt 45 67 55 46 +JY8QFUQ01B0YFD IGG1 ggtgactccatcagtactaataattactac tgggcctggatccgccagcccccagggaggggctggagtggattgggaat atctattatagcgggaccacc tactacaatccgtccctcaagagtcgagtcaccatgtccgtagacacgtccaagaaccacttctccctgaggttgagttctgtgaccgccgcagacacggctctctattactgc 50 63 53 49 +JY8QFUQ01B0Z32 IGA2 ggattcaccttcagtagatactgg atgcactgggtccgccaagctccagggaaggggccggtgtgggtctcacgt actaatgaagatggcacccacata aattacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaacaagctgtatttgcaaatgaacagtctgagagccgaggacacggctgtctattactgt 58 54 58 43 +JY8QFUQ01B0ZM2 IGG2 ggattcaccttcaacaactatgcc atgagttgggtccgccaggctccagggaaggggctggaatgggtctcaact attactagtggtggtggtagtaca ttgtacgcagactccgtgaagggccggttcaccatctccagagacaatttcaaggacacgctgtatctgcaaatgaacagcctgagagccgaggacacggccgtatattactgt 54 51 60 48 +JY8QFUQ01B11DU IGG1 ggatacagttttaccagttactgg atcggctgggtgcgccagatgcccgggaaaggcctggagtggatgggtatc atctatcctgctgactctgatacc agatacagcccgtccttccaaggccaggtcagcatctcagccgacaagtccatcgacaccgcctacctgcagtggagcagcctgaaggcctcggacaccgccatgtattactgt 47 63 58 45 +JY8QFUQ01B14S8 IGG1 ggattctccttcagcaattatgcc atccactgggtccgccaggctccaggcaagggctggagtgggtggcgacc atttcatatgatattaataaaaga tattatgcagagtccgtgaggggccgattcaccctctccagagacaattccaagaacactctcgatctgctcatggatacccttcggttcgacgacacggctgtctattattgt 51 55 51 55 +JY8QFUQ01B1B92 IGA1 ggattcacctttagtaactatgac atgggctgggtccgccaggctccagggaagggactggagtgggtctcaagt attacgactggtggtgagagaact tactatgcagactccgtgaagggccgattcaccatcgccagagacaactcccagagcacgatgtttctgcaaatgaacagcctgagggccgacgacgcggccatctactactgt 53 54 62 44 +JY8QFUQ01B1CH3 IGG2 ggattcacctttaccaactacgcc atgagctgggttcgccaggttccagggaaggggctggagtgggtctcactt attagtgttcgtggcgatgacacc ttctatgcagactccgtgaagggccggttcaccatctccagagacaactccaagaacacgctgtatctgcaaatggacatcctgaaacccgaggacacggccgtttatttttgc 49 57 56 51 +JY8QFUQ01B1HDC IGG3 ggtgactccatcaccagtactaattattac tggggctgggtccgccagcccccagggaagggtctggagtggattggaagt gtctattatcgggggacccag tacctcaacccgtctctccacaatcgagtcaccatatccattggcacgtccaagacccaattctccatgagactgacctctgtgaccgccgcagacacggctgtatatttctgt 48 64 53 51 +JY8QFUQ01B1HSY IGA1 ggatttaccttcagtaagttctg atgcattgggtccgccaagctccagggaagggctgacttgggtctcacgt ataatcctgatgggactatcacg aactacacggactccgtgaggggccgattcatcacttccagagacaacgccaagaacacagtatatctgcagatgaacagtctgcgagtcgaggacacaggtgtatattactgt 56 50 55 49 +JY8QFUQ01B1L81 IGA1 ggtgtctccatcagtagttcctac tggagttggatccggcagcccccagggaagggcctggagtggattggttat gtctattatactgggggcacc gactccaacccctccctcaagagtcgtgtcaccctgtcaatggacacgtccaagaaccagttctccttggaactgagctctgtgaccgctgcggacacggccgtctattactgt 41 61 57 51 +JY8QFUQ01B1N7G IGA1 ggattcgcctctggtgattatgct atgagttggttccgccaggctccgggaaaggggctggagtgggtggggttc atcagaagcagagcttacactgggacacca gaatacgccgcgtctgtgaaaggcagattcaccatctccagagatgcttccaaaagtattggctatctgcaaatgaacaatctgaggatcgaggacacagccgtctattattgc 55 49 64 51 +JY8QFUQ01B1RUY IGG1 ggaggcgccttcagcacctttcat atcacctgggtgcgacaggcccctggacaagggcttgtctggctggggaat atcattcctatttttggaacagtc gactacgcacgggggttccagggcagagtcacgattaccgcggacgaatccaccaacacagcctacatggagttgagcagcctgacatctgaggactcagccgtctatttctgc 47 60 59 47 +JY8QFUQ01B1TCN IGA1 gggttcagcgtcagtaataacttc atgacctgggtccgccaggttccagggaaggggctggagtgggtctcagtt atttatagcaatggtgaaaca atctacgcagactccgtgaagggccgattcactatgtccagagacaattccaagaacacactgtttcttcaaatgaacagcctgagaggcgaggacacggccgtgtaccactgt 56 49 58 47 +JY8QFUQ01B1UHR IGA1 ggattcatcttcagtagctactgg atgcactgggtccgccaagctccagggaaggggctggtgtgggtctcacgt actaatacgggggggactagcaca gcctacgcggactccgtgaagggccgattcaccatctcccgagacaacgggaagaacacggtgtatctgcaaatgaacagcctgagagtcgacgacacggctgtgtattactgt 51 54 66 42 +JY8QFUQ01B1UYR IGG3 ggtttcatcttcagtcacttcagc atgaactgggtccgccaggctccaggaaagggcctggagtggatcgccgac atcagtagttcaagtgcatacatc acctatgcagattcagtcaggggccgattcgtcgtctccagggacgacgccaaggactccctgtacttgcaaatggacaacctgggagtcgacgatacggccacctattattgt 50 58 57 48 +JY8QFUQ01B1W4F IGG1 acattcccctttagcaactatgcc atgagctgggtccgccaggctccagggaaggggctggagtgggtctcatcc atgggtagtagtagtatttacata tattacgcagactcagtgaagggccgattcaccatctccagagacgacgccaagagttcactgtatctgcaaatgaacagcctgagagccgaggacacggctatatattactgt 56 52 56 49 +JY8QFUQ01B1X3U IGA1 ggattcaccttcagaaactatgcc atgcattgggtccgccaggctccaggcaaggggctggagtgggtggcactt atatggtttgatggaagaaatgaa tattatgcagactccgtgaagggccgattcaccatctccagagacaattccaagaatacggtgtatctgcaaatggacagcctgagagccgaggacacggctttgtattactgt 57 46 60 50 +JY8QFUQ01B1Y16 IGA1 ggattcacttttagaagttatgcc atgagttgggtccgccaggctccagggaaggggctagagtgggtctcatct atcagtggtaatggtgataagaca aagtacgcagactccgtgaagggccggttcaccatctccagggacaattttaagaatacgttgtatctgcaaatgaacagcctgagagccgaggacacggccgtatattattgt 57 43 61 52 +JY8QFUQ01B20H0 IGG3 ggattcaccttcagtagctatagc atgaactgggtccgccaggctccagggaaggggctggagtgggtcgcatcc attagtagtagtagtggttacata tactacgcagactcagtgaagggccgattcaccgtctccagagacaacgccaagaactcactgtatctgcaaatgaacagcctgagagccgaggacacggctgtgtattactgt 56 51 60 46 +JY8QFUQ01B27X3 IGA1 ggattcaccttcagtcgttatagc atgaactgggtccgccaggctccagggaagggctggagtgggtctcatac attagtaggactactactgacata tactacgcagactcagtgaagggccgattcaccatctccagagacaacgccaagaactcactgtatctgcaaatgaacagcctgagagccgaggacacggctgtatatttctgt 58 53 54 47 +JY8QFUQ01B2ARX IGA1 ggattcaccttcagtacctatggc atgcactgggtccgccaggctccaggcaaggggctggagtgggtggcaatg atttggtatgatggaagccttaca tattatgaagactccgtgaagggccgattcaccatctccagagacaactccaagaacacgctgtttctgcaaatgaatagcctgagagtcgaggacacggctctgtattactgt 54 50 59 50 +JY8QFUQ01B2D9Z IGG1 acattcgcctttagcaactatgcc atgagctgggtccgccaggctccagggaaggggctggagtgggtgtcagat attagtgggagtggtgttagcaca cactacgcggactccgtgcagggccggttcaccatctccagagacaattcgaagaacacgctgtatctgcaaatgaacagcctgagtgccgaggacacggccgtatattactgt 51 53 64 45 +JY8QFUQ01B2ERL IGA1 ggattcaccttcagtaggtattgg atgtattgggtccgccaagctccaggcaaggggctggtgtgggtctcacgc attaaaagtgatgggacgagtgca acctacgcggactccgtgaagggccgattcaccacctccagagacaacgccaaggaaacgatgtatctgcacatgaacagcctgagagtcgacgacacggcgacatatttttgt 55 52 62 44 +JY8QFUQ01B2GU8 IGA1 ggtgtctccatcagtagtttctac tggagttggatgaggcagcccccagggaggggactggagtggattggatat gtccatggcagtgggagcacc aactccaacccctccctcaagagtcgagtcaccatgtcagtggacacgtccaagaaccaattctccctgaagctgggctctgtgaccgctgcggacacggccgtgtattactgt 45 57 62 46 +JY8QFUQ01B2JOM IGA2 ggattcaccttagcagccatccc atgagctgggtccgccaggctccgggaaaagggctggagtggatctcagct ttcgttcgtagtggtaacaca tactacgtagactccgtgaagggccggttcaccatctccagagacaattccaagaacacgctgtatctgcaaatgaacagcctgagagccgaggacacggccgtatattactgt 53 56 56 44 +JY8QFUQ01B2LDP IGA2 ggattcacctttagtaattattgg atgcactgggtccgccaggtttcagggagggggctggagtgcgtggccacc ataaacgaagatggaagtgagaga cactatgtggactctgtgaagggccgattcaccgtctccagagacaacgccaagaactctctgtttttgcagatgaacagcctgagagccgaggacacggctgtctactactgt 53 48 64 48 +JY8QFUQ01B2NHE IGA2 gggttcaccgtcagtagcaagttc atgagctgggtccgccaggctccagggaaggggctggagtgggtctcaatt acttatcctgatggtactaca tattatggagactccgtgaagggccgattcaccatctccagagacaattccaagaacacactggatcttcaaatgaacagcctgagagccgaggacacggccgtttattattgt 54 50 57 49 +JY8QFUQ01B2PNO IGA1 ggattcacgtttagaaactatgcc atgagctgggtccgccaggctccagggaaggggctggagtgggtctcaagt attagtgataatggtgacagcata ttccacgcagactccgtgaagggccggttcaccatcaccagagacaactctaagaacatcctgtatctgcacatgaacagcctgagagccgaggactcggccgtatattactgt 56 52 59 46 +JY8QFUQ01B325I IGG4 ggtggctcactcagaagtagtagtcaccat tggggctggattcgtcagccccccgggaaggggctggagtggcttgggact gtcgactttcgtgggaccacc cactacaacccgtccctcatgggtcgactcacgatatccgtcgacgcgcccaagagtcaaatgtccctgcacttgagctctgtgaccgccgcagacacggctttttacttctgt 40 66 61 49 +JY8QFUQ01B3AX2 IGA1 ggattcacttttagcggctatggc atgagctgggtccgccaggctgcagggaaggggctggaatgggtctcattt attagtggtaagagcggcaacata tactatgcagaccccgtgaagggccggttcaccatctccagagacaactccaagaataggctcttcctgcagatgaacagcctgagagtcgaggacacggccaaatattactgt 55 50 62 46 +JY8QFUQ01B3AYN IGA2 ggattcaccttcagtagatactgg atgcactgggtccgccaggctccagggaaggggctggagtgggtcgcacgt actaatgaagatgggagtactaaa aactacgcggactccgtgaagggccgattcaccatcttcagagacaacaccaagaacacactatatctgcaaatgaacagtctgagagacgaggacacggctgtgtattattgt 62 48 60 43 +JY8QFUQ01B3G3T IGG2 ggactcaccttcagtcgcctctgg atgcactgggtccgccaagctccagggaaggggctggtgtgggtctcacgt atagatagtgatgggaataacata atctacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaaacgctgtatctgcaaatgaacagtctgagagccgaggacacggctgtatattactgt 55 53 60 44 +JY8QFUQ01B3HMA IGG2 ggtggctccatcagtactggttattactac tggagctggatccggcagtccgccgggaagggactgaatggattgggcgc atgtctgccagaggggacagc aactacaacccctccctccagagtcgagtcaccatatccatagacacgtccaagaaccagttctccctgaggctgacctctgtgagcgccgcagacacggccgtgtatttttgt 47 62 60 46 +JY8QFUQ01B3IOP IGA1 ggcttcatcttcagtgaccactat atggactgggtccgccaggctccagggaaggggctggagtgggttggccgt actagagttgcatctaacacttacgccaca gaatacgccgcgtctttcaaaggcagattcgtcatctcaagagacaattcaaggaactcattgtttctccaaatgaacagcctgaaaaccgacgacacggccatgtattattgt 58 55 54 52 +JY8QFUQ01B3JLF IGG3 ggtgactccatcaccagtactaattattac tggggctgggtccgccagtccccagggaagggtctggagtggattggaagt gtctattatggggggacccag tacctcaacccgtctctccacaatcgagtcaccatatccattggcacgtccaagacccaattctccatgagactgacctctgtgaccgccgcagacacggctgtatatttctgt 48 62 54 52 +JY8QFUQ01B3L4U IGG1 ggattcacctttggttattatggc atgagctgggtccgccaagctccgggggaggggctggagtgggtctctggt attaatcggaatggtgatagcaca ggttatgcagactctgtgcaggaccgattcaccatctccagagacaacgccaagaactccctgtatctcgaaatgttcagtctgacagccgaggacacggccttatatcactgt 49 51 61 52 +JY8QFUQ01B3OBX IGG1 ggattcactttcactaacgcgtgg atgagttgggtccgccaggctccagggaaggggctggagtgggttgcccgt gttaaaactaagactgacgatggggcaaca gactacgctgcacccgtgaaaggcagattccttatctcaagagatgattcaaacaacatactgtatctgcaaatgaacagcctgagaaccgaggacacagccatgtactactgt 62 51 60 46 +JY8QFUQ01B3P0G IGG2 ggattcacctttaccacctccgcc atggcctgggtccgccaggtccagggaaggggctggagtgggtctcaact attagacctagtagtgagagaacc tactacgcagagtccgtgaggggccgcttcaccatctccagagacaattccgagaacacgttgtatctacaactgaacaacctgagagtcgaggacacggccatatattactgt 54 58 56 44 +JY8QFUQ01B3S4F IGA2 ggattcactttcagtagctactgg atgcactgggtccgccaagctccagggaaggggctggtgtgggtctcacgt gttaatggtgatgggggtaggaca gcctacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaacactctctatctccaaatgaacagtctgagagccgaggacacggctgtatattactgt 51 53 63 46 +JY8QFUQ01B3TI8 IGA1 ggattcacctttagtaattattgg atgcactgggtccgccaggtttcagggagggggctggagtgcgtggccacc ataaacgaagatggaagtgagaga cactatgtggactctgtgaagggccgattcaccgtctccagagacaacgccaagaactctctgtttttgcagatgaacagcctgagagccgaggacacggctgtctactactgt 53 48 64 48 +JY8QFUQ01B3TT1 IGA1 ggatacatcttcaatgacttctac atatattgggtgcgacaggcccctggacaagggcttgagtggatgggatgg ttcaaccctaatagtcgtgtcaca gactatgcagagaaatttcagggcagggtcaccatgaccggggacccgtcccgcagcacagtccacctgaaactgacccgcctgaagtcggacgacacggccgtctattactgc 53 58 58 44 +JY8QFUQ01B3XMD IGA2 ggattcacctttagtaggtattgg atgagctgggtccgccagtctccagggaagggactggagtggctggcccac ataggaggagatggaagtgaggct ggttatgtggactctgtgaggggccgattcttcatctccagagacaacgccaagagctccctctatctgcagatgaacagcctgagccccgaggacacgggtgtgtattattgt 47 47 70 49 +JY8QFUQ01B4CN9 IGG1 ggtgactccatcaccagtggtagttattat tggagttggatccggcagcccgccgagaagggactggagtggattgggcgt atctccatcggtgggagcacc aactacaatccctccctcaagagtcgagtcaccatagtattagacacgatcaacaaccggttctccctgcagctcaggtctgtgaccgccgcagacacggccgtatattactgt 50 60 58 48 +JY8QFUQ01B4F4Q IGA1 ggatttacctttagccgctacgcc atgagctgggtccgccaggctccggggaaggggctggagtgggtctcaggc attattgatgttaattctttcaca tactacgcagactctgttcggggccggttcaccgtgtccagagacgattccaagaacacggtatatctgcaaatgaacagtttgagacccgacgacacggccgtttattattgt 47 52 59 55 +JY8QFUQ01B4FE6 IGA2 ggattcagatttagtaactactgg atgagttgggtccgccaggctccagggaaggggctggagtgggtggccaac ataaagcaagatggaggtgagaag tattatgtgggctctgtgaagggccgattcaccatctccagagacaacgccaagaactcagtgtatctgcaaatgaacagcctgagagccgaggacacggctgtatattattgt 59 41 67 46 +JY8QFUQ01B4FME IGG4 ggattcacatttagtaactactgg atgagctgggtccgccaggctccagggaaggggctggagtgggtggccaac ataaagaaagatggaagtgagaag tactatgtggactctgtgaagggccgattcaccatctccagagacgacgccaagaatacattgtatctgcaaatgaacagcctgagggccgaagacacggctgtatatttctgt 61 43 64 45 +JY8QFUQ01B4L0R IGA1 ggattcctcttcagtagctttaac atgaactgggtccgccacgttccagggaagggtctggagtgggtttcatac attaatagtagaggtactaacata tactacgcagactctgtgaagggccgattcaccatctccagagacaatgccaggaattcactgtatctgcaaatgaacagcctgagagtcgacgacacggccgtatactactgt 59 50 52 52 +JY8QFUQ01B4VTT IGG2 acattcacgtttagtcggtattgg atgagctgggtccgccaggctccagggaagggcctggagtgggtggccaac ataaaggaagacggaagtgagaga tattatgtggactctgtgaagggccgattcaccatctccagagacaatgccaagaactctctgtatctgcaattgaacagcttgagagccgaggacacggctgtgtattactgt 56 44 65 48 +JY8QFUQ01B4X7N IGG2 ggattcaccttcagtagctatagc atgaactgggtccgccaggctccagggaaggggctggagtgggtttcatac attagtagtagtagtagtaccata tactacgcagactctgtgaagggccgattcaccatctccagagacaatgccaagaactcactgtatctgcaaatgaacagcctgagagccgaggacacggctgtgtattactgt 58 49 57 49 +JY8QFUQ01B4XPK IGG1 gggttctcactcagcactggtggagtgggt gtgggctggatccgtcagcccccaggaaaggccctggagtggcttgcactc atttattgggatgatgataag cgctacagcccatctctgaagagcagactcaccatcaccaaggacacgtccaagaaccaggtggtcctcacaatgaccaacatggaccctgtggacacagccacatattactgt 54 60 58 44 +JY8QFUQ01B4Y1N IGA1 ggggacagtgtctctagcagcagtgttgtt tggaactggatcaggcagtccccattgagaggccttgagtggctgggaagg acattctacaggtccaggtggtataat gattattcattatctctgaaaagtcgaataaccatcaacccagacgcatccaagaaccagttgtccctgcagctgaagtctgtgactcccgaggacacggctgtatattactgt 57 50 59 56 +JY8QFUQ01B50HH IGG2 ggattcacgtttagcaggtatgcc atgaactgggtccgccaggctccagagaaggggctggagtgggtctccgct gttagtgatactggtggtacaaca gagtacgccgactccgtgaaggggcggttcaccgtctccagagacaattccaagaatacggtgtatctgcaaatgaacagcctgagagtcgaggacacggccgtatattactgt 52 49 66 46 +JY8QFUQ01B53SB IGG1 gggttcaccatcagtcactactcc atggcctgggtccgccaggctccgggaaaggggctggagtgggtctcatta atttatcccggcgggagcaca ttccacgcagactccgtgaggggcggcttatcgatctccagagacgaatccaagagtgaactgtatcttcggatgaagaaagtgaaagtcgaagacacggccgtatattattgt 51 51 62 46 +JY8QFUQ01B569F IGA1 ggattcatcttcagcaactactgg atgcactgggtccgccaagctccagggaaggggctggtgtgggtctcacgt attactggtgatgggagtaaccca atctacgcggaccccgtgaagggtcgattcaccatctccagagacaacgccaagaacacactatatctgcaaatgaacagtctgagagtcgaggacacggctgtgtattactgt 55 53 59 46 +JY8QFUQ01B56F9 IGA2 ggattcagcctcattgactttaga atgaactgggtccgccaggctccagggaaggggctggagtgggtctcatcc attgatagtgttggtcaaaacata tactacagagactcagtgcggggccgattcaccatctccagggacaacgccaagaactcactgtatctgcaaatgaacagcctgagagccgaggacacggctgtgtattactgt 56 51 59 47 +JY8QFUQ01B56VC IGA1 ggagtcaaattcagaaacgcctgg atgaattgggtccgccaggctccagggaaggggctggagtgggttggccgt attaagagcaaagctgatggtgggacaaca gactacgccacacccgtgagaggcagattcaccatctcaagagatgattcaaaaacacgttttatctgcaaatgaatagcctaaaaaccgaagacacagccgtctattactgt 68 48 59 43 +JY8QFUQ01B58W5 IGA1 ggattcagcatcagtagttatagc atgaactgggtccgccaggctccagggaaggggctggagtgggtctcatcc attagtgctagtactacttccata cactatgcagactcagtgaagggccgattcaccatctccagagacgacgccaagagttccctgtatttgcaaatgaacagcctgagagccgaggacacggctgtatattactgt 55 52 57 49 +JY8QFUQ01B5F34 IGA1 ggatttcccttcaccagttactgg atgcagtgggtccgccaagctccagggaaggggctggtctgggtctcactt agtaatagtgatgggagcactact acctacgcggacgccgtgaagggccgattcaccatctccagagacaacgccaagaacacactgtatcttcaaatgaatcatctgagagtcgaggacaccgctgtatatttctgt 53 55 56 49 +JY8QFUQ01B5GFJ IGA1 ggatttacctttacaaattattgg atgagctgggtccgccaggctccagggagggggctggagtgggtggccagc gtaaaacaagatggaggtgagaaa tactatgtggactctgtgaagggccgattcaccatctccagagacaacgccgagacctcactgtatctgcaaatgaacagcctgagagccgaggacacggctgtgtattactgt 56 46 66 45 +JY8QFUQ01B5QDY IGA2 aaattcacttttagtaactattgg atgaattgggtccgccaggctccagcgaagggactggagtgggtggccagt ataaagcaggatgggggggagaca tattatgcggactctgtgaagggccgattcaccatctccagagacaacgccaagaagtcactgtatctgcaaatgaacagcctgggagtcgaagacacggctgtttattactgt 59 43 63 48 +JY8QFUQ01B5SAT IGA1 ggattcaccttcagtagctatagc atgaactgggtccgccaggctccagggaagggctggagtgggtctcatcc attagtagtagtagtagttacata tactacgcagactcagtgaagggccgattcaccatctccagagacaacgccaagaactcactgtatctgcaaatgaacagcctgagagccgaggacacggctgtgtattactgt 58 51 56 47 +JY8QFUQ01B5VR4 IGA2 cggaaaaccctcactgaagtatcc atgcactgggtgcgacaggctcctggaaaagggcttgagtggatgggagga tttgatcctgaagatggtgaaata atctacgcacagaagttccagggcagaatcaccgtgaccgaggacacatctacagacacagcctacatggagctgagcagcctgagatctgaagacacggccgtgtattactgt 62 49 61 41 +JY8QFUQ01B5XE3 IGG1 ggtgcctccataataggggtaattattac tggaactggatccggcagcccgccgggaagggcctggaatggattggccga atctatacaagtgggagcacc atctacaacccctccctcgggggtcgagtcaccatgactgtagacccgtccgagaatcagttcttcctgagactgagttctgtgaccgccgcagacacggccgtttatttttgt 47 58 60 50 +JY8QFUQ01B5XEH IGA2 ggattcactttcagtagctactgg atgc aca gcctacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaacactctctatctccaaatgaacagtctgagagccgaggacacggctgtatattactgt 40 41 33 31 +JY8QFUQ01B641M IGA2 ggattcacgttcagtggctatggc atgcactgggtccgccaggctccaggcaaggggctggagtgggtggcagtt gtatcatatgatggaagtaataaa tactatgcagactccgtgaagggccgattcaccatctccagagacaattccaagaacacgctctctctgcaaatgaacagcctgagagctgaggacacggctgtatattactgt 56 49 60 48 +JY8QFUQ01B64QD IGA1 ggtgggtccttcagtggttactac tggagttggatccgccagccccagggaaggggctggagtggattggggaa atcaattatagaggaagtacc aactacaatccgtccctcaaaagtcgagtcaccgtgtcttcagacacgtccaagaatcagttctccctggagttgatctctgtgaccgccgcggacacggccatatattattgt 50 51 58 50 +JY8QFUQ01B6832 IGG1 ggtggctccatgaggaattattac tggagctggatccggcagtccccagggaagggactggagttgatagggact gtctattacactgggcgcacg gagtacaacccctccctcaagagtcgactcaccttatcactagacacgtccaagaaccagttctccctaaagctggctctgtgaccgctgcggactcggccatttattactgt 48 58 55 48 +JY8QFUQ01B68YS IGA2 ggattcaccttcgataactatggc atgcactgggtccgccaggctccaggcaaggggctggagtgggtggcagtt atatcaaaggatggaagtattgaa tactatgcagactccgtgaagggccgattcaccatctccagagacaattccaagaacacaatttatctgcaaatgaacattgtgagggttgaggacacggctatgtattactgt 60 44 58 51 +JY8QFUQ01B6BDJ IGA2 ggattcacctttagcaactttgcc atgacctgggtccgccaggctccagggaggggactggagtgggtctcaact attagtggtagtgatggtagcaca tacttcgcagactccgtgaagggccgattcaccatctccagggacaatttcaagaacacgctgtatctgcaaatggacagcctgagagccgaggacacggccgtatattactgt 52 53 60 48 +JY8QFUQ01B6CFI IGA2 ggattcaggtttgatgattatgcc atgcactgggtccggcaagctccagggaagggcctggagtgggtctcaagt atcagctggggtggtgctagtatc ctctatgcggactccgtgaagggccgattcaccatctccagagacaatgccaggaactccctctacttgcaaatggacagtctgagacctgatgacacggccttctattactgt 47 53 61 52 +JY8QFUQ01B6DDX IGA2 ggattcatttttggtgactattgg atgagctgggtccgccaggttccagggaagggcctggagtgggtggccact acaaacgaggacgaaagtgacaag cggtatgtggactctgtgaagggccgcttcaccatctccagagacaacgccaagaactcactgtatttgcaaatgaacagcctgagaggccaggacgcggccgtgtattactgt 53 48 67 45 +JY8QFUQ01B6G3Q IGA1 ggtgcctccatcagtaatgataattatttc tgggcctgggtccgccagtccccagggaagggtctgcagtggattggcagt atgtattatagtgggggcacc ttttacgacccgtccctcaagggtcgaatcaagttgtccgttgacgtgtcgaagagccacttcctcctgaacctgacctctgcgaccgccgcagacacggctgtctattactgt 42 59 59 56 +JY8QFUQ01B6LHF IGA1 ggatttgtcttcagtggcactaat atgaattggctccgccaggctccagggaaggggctggagtggatttcacac attagtcacaatagtgaaaccata ttctatgcagactctgtgaggggccgagtcaccatctccagagacaatgccaggaactcactgtatctgcacatgagcagcctgagagccgaggacacggcagtatattactgt 57 50 57 49 +JY8QFUQ01B6LVM IGA1 ggattcatcttcagtagttatagt ttgaactgggtccgccaggctccagggaaggggctggagtgggtctcatcc attgatatgagtagttcttacatc tattatggagactcagtgaggggccgatttaccatctccagagacaacgccgagagctcactgtatctgcagatgagcagcctgagagccgaggacacggctttatattattgt 51 45 60 57 +JY8QFUQ01B6UYE IGA2 agattcacctttaggacatattgg atgagttgggtccgccaagctccagggaaggggctggagtgggtggccaac ataaaggaagatggaagtgagata cactatgtggactctgtgaagggccgattcaccatctccagagacaacgccaagaacacactgtttctccaaatgaacagcttgagagtcgatgacacggctgtgtattactgt 61 44 61 47 +JY8QFUQ01B70J3 IGA1 cggaaaaccctcactgaagtatcc atgcactgggtgcgacaggctcctggaaaagggcttgagtggatgggagga tttgatcctgaagatggtgaaata atctacgcacagaagttccagggcagaatcaccgtgaccgaggacacatctacagacacagcctacatggagctgagcagcctgagatctgaagacacggccgtgtattactgt 62 49 61 41 +JY8QFUQ01B71ED IGA1 gggttcagttttagcaattatgcc atgcactgggtccgtcaagctccagggaagggcctgcaatgggtctcacgt attaattggaacagtggaaacata gcctatgcggcctctgtgaggggccgattcaccgtctccagagacgacgccgagcactccctgtatttacaaatgaatggtctgacaactgaagacacggccttatactattgt 53 52 56 52 +JY8QFUQ01B757D IGA2 ggtggcccgatcaaaagtcctgattaccat tggacgtggatccggcaggccgccgggaaggggctggagtgggtcgggcgt gtctatatgactggctatgtc gagaacaatccatccctctccgggcgtctctccatgtcgattgacacggcgaagaatcagttttctatgacattgacttctgtgaccgccgcagacacggccctttatttttgt 42 56 63 55 +JY8QFUQ01B791I IGA1 ggatacaccttcaccagtttcagt atccattgggtgcgccaggcccccggacaaaggcttgagtggatgggatgg atcaacggtggcaatggtaacaca aaatattcacagaagttccaggacagactcaccattactagagacacatccgcgagcacagcctacatggacctgagcagcctgagatctgaagacacggctgtctattactgt 61 55 54 43 +JY8QFUQ01B7921 IGA1 ggattcaccttcaggaactattgg atgcactgggtccgccaagctccagggaaggggctggagtgggtctcacgt atcaatggcgacggaagtagcaca agctacgcggactccgtgaagggccgattcaccatctccagagacaacgccgagaacacgctgtatctgcaaatgaacagtctgagagccgaggacacagccgtatatttttgt 56 54 62 41 +JY8QFUQ01B7B1B IGA1 ggattcacctttagtacctattgg atgggctgggtccgccaggctccagggaaggggctggagtgggtggccaac ataaaacaagatggaagtgacaaa tactatgtggactctgtgaagggccgattcaccatctccagagacaacggcaagaactcactgtatttgcaaatgaacagcctgagagccgaggacacggctgtctattactgt 59 47 62 45 +JY8QFUQ01B7DZ7 IGA2 ggattcaccttcagtacctatggc atgcactgggtccgccaggctccaggcaaggggctggagtgggtggcaatg atttggtatgatggaagccttaca tattatgaagactccgtgaagggccgattcaccatctccagagacaactccaagaacacgctgtttctgcaaatgaatagcctgagagtcgaggacacggctctgtattactgt 54 50 59 50 +JY8QFUQ01B7GYB IGA1 ggatacactgtcataaatgcctgg atgagttgggtccgccaggctccagggaaggggctggagtgggttggccgt attaaaggtgatggtgtgacaaca gaatacgctgcatccgtgaaaggcagattcaccatcacaagagatgactcaaggaacacgttgtatctacaaatgaacagcctgaaaaccgaggacacagccatatattattgc 65 44 60 44 +JY8QFUQ01B7L1I IGA1 ggattcaccttcagtaactatagc atgaactgggtccgccaggctccagggaaggggctggagtgggtctcatcc attagtagtagtgctaggtacata tactacgcagactcagtgaagggccgattcaccatctccagagacaacgccaagaactcactgtctctgcaaatgaacagcctgagagccgaggacacggctgtgtattactgt 57 53 57 46 +JY8QFUQ01B7Q12 IGG2 ggattcaccttcagtagctatgct atgcactgggtccgccagactccaggcaagggactagagtgggtggcagtt atatcatatgatggaagtgactac gactacgcaggctccgtgaagggccgattcaccatctccagagacagttccaagaacatgctgtatctgcaaatgaacagcctgagacctgaggacacggctgtgtatcactgt 56 52 58 47 +JY8QFUQ01B7TWW IGG1 ggtttcaccttcaggagctctggc atgaactgggtccgccaggctccagggaaggggctggagtgggtttcatac attagcagtagtactactaccaaa tactgcgcagactctgtgaagggccgattcaccatctccagagacaatgccaagagctcactgtatctgcaaatgaacagcctgagagccgaggacacggctgtgtattactgt 54 53 59 47 +JY8QFUQ01B7VBT IGG2 ggtggctccatcagtaattactac tggagctggatccggcagtccgccgggaagggactgaatggattgggcgc atgtctgccagagggggcagc aactacaacccctccctccagagtcgagtcaccatatccatagacacgtccaagaaccagttctccctgaggctgacctctgtgagcgccgcagacacggccgtgtatttttgt 46 61 59 43 +JY8QFUQ01B7XXQ IGA2 ggattcagttttggtgattattct atgatctggttccgccaggcaccggggaaggggctggagtgcgtaggtttc attagaagcagagcatatggtgggacaaca caatacgccgcgtctgtgaaagacagattcaccatctcaagagatgatcccaaaggcatcgcctatttgcaaatgagcagtctgaaagtcgacgacacaggcgtgtatttttgt 58 44 62 55 +JY8QFUQ01B81W4 IGA2 ggtggctccatcagcagtagtaactgg tggagttgggtccgccagcccccagggaaggggctggagtggattggacaa atccatcatggtgggggcacc aattacaacccgtccctcgagagtcgagtcactatatcagtagacaagtccaagaaccacctctccctgaccctgaactctgtgaccgccgcggacacggccgtttatcactgt 49 62 60 42 +JY8QFUQ01B84I1 IGA2 ggtggctccatcaacagtggtagttatcac tgggcctggatccgccagtccccagggaaggggctggagtggattgggagc gtctcctatggtgggaacacc tactacaacccgtccctcatgagtcgagtcgacatattcgtcgacacgtccaagagtcagttgtccctgaaggtgagctctgtgaccgccgcggacacggctgtgtattactgt 43 58 66 49 +JY8QFUQ01B8ABJ IGA2 ggctacaccttcaccgactactat atacactgggtgcgacaggcccctggacaagggcttgagtggatgggatgg atcaaccctgacggtggtagcaca aagtatgcacagaaatttcagggcagggtcgccgtgaccagggacacgtcaattagcacagcctacattgaggtgaccagactgacatctgacgacacggccgtgtattattgt 56 53 61 43 +JY8QFUQ01B8AC6 IGA1 ggattcaccttcatcagttatggc atgagttgggtccgccagtttccagggaaggggctggagtgggtctcatct attagtgattatggtaataccgca ttctacgcagactccgtgaagggccggttcaccatctccagagacaattccaacaacacgctgtttctgcaaatgagcagcctgagagccgaggacacggccgtttattattgt 50 51 57 55 +JY8QFUQ01B8DLI IGA2 ggattcgactttggtagttattgg atgagttgggtccgccaggctccagggaagggactggagtgggtggccagc ataaagcgagatgcaagtgagaag taccatgtggaatctgtgcagagacgattcaccatcttcagagacaacgtcaggaactcactgtatttgcagatgaacagcctgagagacgaggacacggctgtgtattactgt 57 40 68 48 +JY8QFUQ01B8DVS IGG4 ggactcatgtttagcagctatgcc atgacctgggtccgccaggctccagggaaggggctggagtgggtctcaagt gtcagtagtagtactggtttcaca tactacacagactccgtgaagggccggttcaccatctccagagacaattccaagaacacgctgtatctgcaaatgagcagcctgagagccgaagacacggccgtatattattgc 54 54 59 46 +JY8QFUQ01B8JYP IGA1 ggattcaccctcagtgactactac atgagttggttccgccaggctccagggaagggctggagtggctttcatac attgcaggaagtggaaccaca tattacgcagattctgtgaagggccgattcaccatctccagggacaatgccgagcactcggtatacctgcaaatgaacagcctgagagtcgaagacacggccgtgtattactgt 54 52 57 46 +JY8QFUQ01B8T6Y IGA1 ggattcacctttgatgactatggc atgcactgggtccggcaaggtccagggaagggcctggagtgggtctcaagt attagttggaacagtggtaagata gactatgcggacgctgtgaagggccgattcatcacatccagagacaatgccaagaactccatctatttgcaaatgaacagtctgagagatgacgacacggccttctacttctgt 57 46 60 50 +JY8QFUQ01B8WF3 IGA2 ggattcaccttcagtgaccactac atggactgggtccgccaggctccagggaaggggctggagtgggttggccgt agtagagacaaaattaacagttacagtaca gaatatgccgcgtctgcgaagggcagattcaccatctcaagagatgaatcaaagaatttactgtatctgcaaatgaacagcctgagaagcgaggacacggccgtatattactgt 65 47 61 46 +JY8QFUQ01B8YQQ IGA1 ggattcaccttcaggaactatgct atgcactgggtccgccaggctcctggcaaggggctagaatgggtggctttt atatcatatgatggaagtagtcaa tactacgcagactccgtgaagggccgattcaccatctccagagacaactccaagaacacactttatctgcaaatgaacagcctgagaggtgacgacacggctgtgttttactgt 57 51 54 51 +JY8QFUQ01B90UJ IGG1 ggattcacctttggttattatggc atgactgggtccgccaactccgggggagggggctggagtgggtctctggt attaatcggaatggtgatagcaca ggttatgcagactctgtgcaggaccgattcaccatctccagagacaacgccaagaactccctgtatctcgaaatgttcagtctgacagccgaggacacggccttatatcactgt 49 51 60 52 +JY8QFUQ01B93WH IGG2 ggtgggtccatcagcagtactagttactac tggagctggatccggcagcccgccgggaagggactggagtggatggggcgt atctataccagtgggatcacc aactacaacccctccctcgagagtcgagtcaccttttcagtggacacgtccaagaaccagttctccctgaagctgaagtctgtgaccccgcagacacggccgtttattactgt 48 61 60 46 +JY8QFUQ01B978H IGA1 ggattcacgttcacacctcctgga tggcactgggtccgccaaggtccaggggaggggctaatgtgggtctcacga atcaatactgatgggagtaacaca atgtacgcggactccgtaaagggccggttcaccatttccagagacaatgccaagaatacggtgtttctgcaaatgaacagtctgaaagccgacgacacggctgtctattattgt 56 51 59 47 +JY8QFUQ01B9C4B IGA2 ggattcaccgtcagtgatagttac atgagctgggtccgccaggctccagggaaggggctggagtgggtctcgatt atttataggggaggtaccaca tattatgccgactccgtgaagggccgattcaccatctccagagacaattccaagaacacgctatatcttcaaatgaacaccctgagaggtgaggacacggctctatattactgt 55 49 57 49 +JY8QFUQ01B9DAH IGG1 ggtgcctccatcacatttggcagttactac tggaattggatccggcagcccgccgggaagggactggagtgggtaggacgt atctatgcaagtgggaccacc cattccaacccctctctcgagactcgagtcatcatgtcactagacacgtccaacaaccagatctccctgaagctgacctctgtgaccgccgcggacacggccgtgtattactgt 48 66 56 46 +JY8QFUQ01B9L1U IGG2 gggttctcactcaccactactggagtgggt gtgggctggatccgtcagcccccaggaaaggccctggagtggcttgcagtc attttttgggatgatgatgag cgccacagcccatctctgaggagaaggctcaccatcaccaaggacatctccaaaaaccaggtggtccttacaatgaccaacatggaccctgtggacacagccacatattactgt 53 60 57 46 +JY8QFUQ01B9LAE IGA2 ggattcacctttagtagtttctgg atgcactgggtccgcaagttccaggggagggactggtgtgggtcgcacgg actaatgagtatgggagtatcaca aactacgcggactccgtggagggccgattcaccatctccagagacaacaccaagaacaggctatatctgcaaatgaacagtctgagagccgaggacacggctatttattactgt 56 48 61 47 +JY8QFUQ01B9LAR IGG2 ggattcacctttggttattatggc atgagctgggtccgccaagctccgggggaggggctggagtgggtctctgt attaatcggaatggtgatagcaca ggttatgcagactctgtgcaggaccgattcaccatctccagagacaacgccaagaactccctgtatctcgaaatgttcagtctgacagccgaggacacggccttatatcactgt 49 51 60 52 +JY8QFUQ01B9NGM IGA2 ggattcactttcagtaacgtctgg atgcactgggtccgccaggctccagggaaggggctggagtgggttggccgt attagaagcaaaactgctggtggggcaaca gaatacgctgcgcccgtgagaggcatattctccatctcaagagatgattcaaagaacacgttgtatctgcaaatgaacagcctgaagaccgaggacacagccgtgtattactgt 58 49 65 47 +JY8QFUQ01B9QXU IGG1 ggtgggtccttcagtggttacttc tggaactggatccgccagcccccagggaaggggccggagtggattggagaa gtcagtcatgatggaagtacc aacttcaatccgtccctcaagagtcgagtctccatgtcagttgacacgatcaagaagcaggtcttcctgaaactgagctctgtgactgccgggacacggctatatattattgt 49 50 60 50 +JY8QFUQ01B9RA3 IGA2 ggattcatcttcagtagctactgg atgcactgggtccgccaagctccagggaaggggctggtgtgggtgtcacgt agtaatacggggggactgacaca gcctacgcggactccgtgaagggccgattcaccatctcccgagacaacgggaagaacacgctgtatctgcaaatgaacagtctgagagccgaggacacggctgtttattactgt 51 52 66 43 +JY8QFUQ01B9S8H IGG1 acattcgcctttagcaactatgcc atgagctgggtccgccaggctccagggaagggactggagtgggtgtcagat attagtgggagtggtgttagcaca cactacgcggactccgtgcagggccggttcaccatctccagagacaattcgaagaacacgctgtatctgcaaatgaacagcctgagtgccgaggacacggccgtatattactgt 52 53 63 45 +JY8QFUQ01B9TMK IGG1 ggtggctccatgaggagtggaattaattcc tggacatggatccggcagcccgccgggaagggactggagtggattgggcgt atctatatcaatggagacacc aactacaatccctccctcaagagtcgggccagcatatcaatggacacgtccaagaaccagttctccctgcacttgacctctgtgaccgccgcagattcggccgtctattattgc 51 60 58 47 +JY8QFUQ01B9UZ4 IGA1 ggttacacctttactacctatggc atcagctgggtgcgacaggcccctggacaagggcctgagtgggtgggatgg atcagcgcttacaatggaaataca aactctgcacagaagttccaggacagagtcaccctgaccacagacacatccacgagcacagcctacatggagctgaggaacctgagatctgacgacacggccgtgtattactgt 58 57 58 40 +JY8QFUQ01B9XU2 IGA1 ggtgactccatcagcagtactagttactac tggggctggatccgccagcccccagggagggggctggagtggattggaagc atctattatagtgggagcacc tcctacaacccgtccctcaagagtcgaatcaccatgtccatagacatgtccaagaaccaattctccctgaggctgagctctgtgaccgccgcagacacggctgtttatttctgt 49 61 57 49 +JY8QFUQ01BAB5T IGA2 ggattcaccttcagtgaccactac atggactgggtccgccaggctccagggaaggggctggagtgggttggccgt agtagagacaaagttaacagttacagcaca gaatacgccgcgtctgcgaagggcagattcaccatctcaagagatgaatcaaagaactcactgtatctgcaaatgaacagcctgaaaagcgaggacacggccgtgtattactgt 64 51 62 42 +JY8QFUQ01BACNA IGA2 ggattcaccttcagtagctactgg atgcactgggtccgccaagctccagggaaggggctggtttgggtctcacgt gttaatggtgatggggtaggaca gcctacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaacactctctatctccaaatgaacagtctgagagccgaggacacggcaatatattactgt 53 54 60 45 +JY8QFUQ01BAGKP IGG2 ggtgactccatcagtagtactcattactat tggggctggatccggcagcccccagggaggggactggagtgggttgggagt atccactacactgggagcacc tactacaactggtccctcaagcatcgagtctctatatcggtggacacatcgagtaaccagttctccctgaggttgaggtctgtgaccgccgctgacacggctgtatactactgt 46 57 62 51 +JY8QFUQ01BAGOW IGA2 ggggacagtgtctctagcaacagtgccact tggaactggatcaggcagtccccaacgggaggccttgagtggctgggaagg acatactacaggtccaaatgggatact gattatgcggcgtctgtgaaaagtcgaataaccctcaccccagacacatccaagaaccagttctccctgcaattgaactccgttagtcccgaggacacggctgtgtattattgt 58 57 59 48 +JY8QFUQ01BAKGF IGA1 ggtggctccgtcagcagtggtaattactac tggaactggatccgccaacccccagggaagggactggagtggattggatat atctactatgctggggccacc aacgtcgccccctccctcaagaaccgagtcaccataacgagagacacgtccaagaaccaattttccctgaggttgacttctgtgaccgctgcggacacggccgtatattactgt 52 62 56 46 +JY8QFUQ01BAR1C IGG1 ggattcacctttgatgattttggc atgcactgggtccggcaagttccagggaagggcccggagtgggtcgcaggt attagttggaatggtggacatatg gactatgcggactctgtgaagggccgattcaccgtgtcccgagacaacgccgagaattccctgtatctgcaaatgaacagtctgacacctgaagacacggccctgtattactgt 49 49 64 51 +JY8QFUQ01BB73D IGA2 gggttcaccatcactcactactcc atggcctgggtccgccaggctccggggaaggggctggagtgggtctcatta atttatcccggcgggagcaca ttccacgcagactccgtgagggggcgcctcatcatctccagagacgaatccaagagtgagctgtatcttcggatgacgaaagtgaaagccgaagacgcggccgtatattactgt 47 57 63 43 +JY8QFUQ01BB93X IGG1 ggatacaccttcaccgactactat atgcactgggtgcgacaggccccaggacaagggcttgagtggatgggatgg atcaaccctaaaagtggcggcaca aattatgcacggaagtttcaggctgggtcaccatgaccagggacacatccatcaacactgtctacatggagttgagcaggttgaaatctgacgacacggccatttattactgt 59 51 57 45 +JY8QFUQ01BB9AK IGA2 gggggctccattagtggttactat tggacgtggatccggcagcccccagggaagggactggagtggattggaaat gtccattacactgggagtacc aagtacagcccctccctcaagagtcgagtcaccatgtcagttgacatgtccaggaaccagttcaccctcaaattgacctctgtagccgctgcggacacggccgtctattactgt 48 57 58 47 +JY8QFUQ01BBDL1 IGA1 ggattcaccttcagtgactatgcc atgagctgggtccgccaggctccagcgaaggggctggaatgggtctcagcg attagcagtagtggtgatagaaca tactacgcagactccgtgaagggccgattcaccatctccagagacagttccaggggactctgtatttgcaaatgaaccgcctgagcgccgaggacacggccctatatttctgt 50 55 61 46 +JY8QFUQ01BBLQU IGA1 ggattcaccttcagtgaccactac atgagttggatccgccaggctccagggaaggggctggagtggatttcatat attagtactagtggtaatatgatt tattacgcagactctgtgaagggccgattcaccgtctccagggacaacgccaagaactcactgtatctgcagatgaacagcctgagagccgaggacacggccgtctatttctgt 54 50 57 52 +JY8QFUQ01BBQG8 IGG1 ggtggctccatcattaatcactac tggagttggatccggcagcccgccgggaagggactggagtggattgggcgt agtcataccagtggaagcacc aggtacaacccctccctcaagagtcgagtcaccgtgtcagcagacacgtccaagaaccagttctccctgaagcttagctctgtgaccgccgcggacacggccgtgtattactgt 47 61 60 42 +JY8QFUQ01BBSRC IGA1 ggtgactctctgagtagtagcagtttctac tggggctgggtccgccaggccccagggaagggactggagtgggttgggact gtttattatagtgggagcgcc cactacaatccgtccctcaagagtcgagtcgccatatccgtggacacggcccaaaaccaggtctccctgactttgaactctgtgaccgccgcagacgccgctgtctatttctgt 41 60 64 51 +JY8QFUQ01BBTVQ IGG1 ggattcacctttggttattatggc atgactggtccgccaactccgggggagggggctggagtgggtctctggt attaatcggaatggtgatagcaca ggttatgcagactctgtgcaggaccgattcaccatctccagagacaacgccaagaactccctgtatctcgaaatgttcagtctgacagccgaggacacggccttatatcactgt 49 51 59 52 +JY8QFUQ01BBVFC IGA1 ggattcacctttactagttacagt ttcaactgggtccgccaggctccagggaaggcgctggagtggatttcatac atcactatcaatggtaatgacaag ttctacgcaggctctgtgaagggccgattcgccgtctccagagacgatgccaagaattctctgtatctgcaaatgagcagcctgagagccgaagacacgggtgtttattactgt 53 50 56 54 +JY8QFUQ01BBZEX IGA1 ggattcacctttagtgactattgg atgaggtggttccgccagcctccaggaagggggctggagtgggtggccagc ataaaagaagatggaagtgagaaa ggttatgtggactctgtgaagggccgcttcaccatcgccagagacaacgcccagaaatcactgtttttgcagatgaacagcctgagaggcgaggacacggctgtgtatttctgt 54 43 69 47 +JY8QFUQ01BC153 IGA1 ggattcaccttagtaggtttgg atgacctgggtccgccagggtccagggaaggggctggagtgggtggccaac ataaagcaagttggaaatgagaga tactatgtggactctgtgaagggccgattcaccatctccagagacaacgccaagaactcattgtatctgcaaatgaacagcctgagagtcgacgacacggctgtgtattactgt 57 44 64 46 +JY8QFUQ01BCH7Y IGG2 acattcgcctttagcaactatgcc atgagctgggtccgccaggctccagggaaggggctggagtgggtgtcagat attagtgggagtggtgttagcaca cactacgcggactccgtgcagggccggttcaccatctccagagacaattcgaagaacacgctgtatctgcaaatgaacagcctgagtgccgaggacacggccgtatattactgt 51 53 64 45 +JY8QFUQ01BCMPS IGA2 ggtgtctccatcagtagtttctac tggagttggatgaggcagcccccagggaggggactggagtggattggatat gtccatggcagtgggagcacc aactccaacccctccctcaagagtcgagtcaccatgtcagtggacacgtccaagaaccaattctccctgaagctgggctctgtgaccgctgcggacacggccgtgtattactgt 45 57 62 46 +JY8QFUQ01BCV43 IGA2 ggattcatcttcagcaactactgg atgcactgggtccgccaagctccagggaaggggctggtgtgggtctcacgt attactggtgatgggagtaaccca atctacgcggaccccgtgaagggtcgattcaccatctccagagacaacgccaagaacacactatatctgcaaatgaacagtctgagagtcgaggacacggctgtgtattactgt 55 53 59 46 +JY8QFUQ01BD04C IGA1 ggattcacctttagcaactttgcc atgagctgggtccgccaggctccagggaagggactggagtgggtctcgact attagtcctagtggtggtaccaca tattacgcagactccgtgaagggccggttcaccatctccagagacagttccaagaacacgctgtatctgcaaatgaacatcctgagagccgaggacacggccacatattactgt 53 56 57 47 +JY8QFUQ01BDGDZ IGA2 ggtggctccatcagcagtagtagttactac tggggctggatccgccagcccccagggaaggggctggagtggattgggagt atccaatatagtgggagcacc tattacaatccgtccctcaagagtcgagtcaccatatccgtagacacgtccaagaaccagttctccctgaagctgacctctgtggccgccgcagacacggctgtgtattactgt 49 59 61 47 +JY8QFUQ01BDIEE IGA2 ggtgggtccttcagtggttactac tggagttggatccgccagcccccagggaaggggctggagtggattggggaa atcaatcatagtggaagcacc aactacaactcgtccctcaagagtcgagccaccatctcagtagacacgtccaagaagcagttgtccctgaacgtgagctctgtgaccgccgcggacacggctgtgtattactgt 49 55 62 44 +JY8QFUQ01BDNIC IGA1 ggatacatcttcacgaaccactgg atcggctgggtgcgccagatgccgggtagaggcctggagtggatggggatc atctatcctggtgactccgattcc agatacggcccgtccgcccaaggccaggtcaccttctcagtcgacaagtccatcgccaccgcctaccttcagtggagtagcctgaaggcctcggataccgccacgtactactgc 43 68 60 42 +JY8QFUQ01BDPXU IGA1 aatggctccatcagcggaagtgtttactac tgggcctggatccgccagcccccagagaagggtctggagtacattgggagc atcttttatagtgggagcact tacttcaatccgtccctcaagagtcgagtcaccctatccgtagacacgtccaggaaccagttctccctgaggctgaagtctgtgaccgccgcagacacggctgtttattattgt 48 59 56 53 +JY8QFUQ01BDTL8 IGG2 ggattcagtttagtacacatggc atgaactgggtccgccaggctccagggaagggccggaatgggtctcattc gttaatagtggaagtagttacatc tactacgcagactcagtgaggggccgattcaccatctccagagacgacgccaggaattcactgtatctgcaaatgcaccgcctgcgagtcgaggacacggctctctactattgt 52 53 58 48 +JY8QFUQ01BE0DI IGA1 ggattcaccttcagtagctactgg atgcactgggtccgccaagctccagggaaggggctggcgtgggtctcacgt attaaaagtgatggcagtggcaca aactacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagagcacgctgtttctgcaaatgaacagtctgagagccgaggacacggctgtatattactgt 54 54 62 43 +JY8QFUQ01BE108 IGA2 gggctcagcgtcagtaactaccgc atgggctgggtccgccaggctccagggaaggggctggagtgggtctcagtt atttatagagatgatagtaca gatcatgtagattccgtgaagggccgattcaccgtttcccgagacaattccaagaacacattgtaccttcagatgaacagtgtgacagccgaggacacggccgtttattattgt 52 47 61 50 +JY8QFUQ01BE4D2 IGA1 ggattcaactttggcatctatacc atggcctgggtccgccaggctccagggaaggggctggagtgggtctcagct attcgtgatcatgatagcaca tactacgcagactccgtgcagggccggttttcatctcgagagacaatttcaataatacattgtatctgcaaatggatggcctgcgagccgacgacacggccgtctattactgt 48 52 57 52 +JY8QFUQ01BE5D4 IGA2 ggattcacctttggcacctctgac atggcctgggtccgccaggttccaggggaggggctggagtgggtctcacac attgatatcagaggtgccaca cagtataaagactccgtgaagggccggttcaccatctccagagacaattccaagaacacactggatctgcaaatgaatagcctgagaggcgaagacacggccgcatattactgt 55 54 59 42 +JY8QFUQ01BE8AK IGG1 ggatttacttttagcaactattgg atgacctgggttcgccaggctccagggaaggggctggagtgggtggccaac ataaaacaacatggaggtgaaacg tactatgtggactctgtgaagggccgattcaccatctccagagacaacgccgagacctcactgcatctgcaaatgaacagcctgagagccgaggacacggctgtctattattgt 57 49 61 46 +JY8QFUQ01BEABE IGA2 ggattcacctttagtgactattgg atgaggtggttccgccagcctccaggaagggggctggagtgggtggccagc ataaaagaagatggaagtgagaaa ggttatgtggactctgtgaagggccgcttcaccatcgccagagacaacgcccagaaatcactgtttttgcagatgaacagcctgagaggcgaggacacggctgtgtatttctgt 54 43 69 47 +JY8QFUQ01BEJQP IGA1 tctgtccccataagcagtggtggttactat tggaactggatccggcagcccgccgggaaggggctggagtggatcggacgt gttgacagtaatgggttcgtc aggtacaacagttccctcaagagtcgactttctatgtcggtggacatgtccaagagtcaggtctccctgaggttgaggtctgtgatcgccgcggacacggccgtatactattgt 43 50 69 54 +JY8QFUQ01BEQ83 IGG3 ggattcacctctcctagatactgg atgaattgggtccgccaggcttccgggaaggggctggagtgggtggccaac ataaagcaagacggaagtgaggaa aactttgtggactctgtgaagggccggttcaccatctccagagacagcgccaagaattcaatgtctctacaaatgaacagcctgagagtcgaggacacggctgtatattattgc 58 47 63 45 +JY8QFUQ01BERKI IGA2 ggtttccccttcagtgaccacttc atggactgggtccgccaggctccagggaagggcctggagtgggttggtcgt atcagaaagaaaaccaccggttacaccaca gaatatgccgcgtctgttaaaggcagattcatcatttcaagagatgattcagagaactcactgcatctgcaaatgaatggcctgaaaatcgaggacacggccgtgtattactgt 59 52 58 50 +JY8QFUQ01BESQ8 IGA2 ggattcacctttagcagccatccc atgagctgggtccgccaggctccgggaaaagggctggagtggatctcagct ttcgttcgtagtggtaacaca tactacgtagactccgtgaagggccggttcaccatctccagagacaattccaagaacacgctgtatctgcaaatgaacagcctgagagccgaggacacggccgtatattactgt 53 56 56 45 +JY8QFUQ01BETLC IGA2 ggattcaccttcagcaaccataac atgaactgggtccgccaggctccagggaaggggctggagtgggtctcatgt attggtagtagtagtagtgacata tactacgcagactcagtgaagggccgattcaccatctccagagacaacgccaagaactcactgtatctgcaaatgaacagcctgagagtcgaagacacggctgtgtattactgt 60 50 57 46 +JY8QFUQ01BEUNL IGA2 ggattcaccttcagtagctactgg atgcattgggtccgccaagctccagggaaggggctggagtgggtctcacgt attcatagtgatgggactaccaca tactacgcggactccgtgaagggccgattcaccatctccagagacaacgccaggaacacgttgtatctgcaattgaacagtctgagagccgaggacacggctgtgtattattgt 52 52 61 48 +JY8QFUQ01BF8CL IGG1 ggtggctccatcagcagtggtcgttactac tggagctggatccggcagcccgccgggaagggactggaatggattgggcgt atttataccagtgggagcacc aactacaacccctccctcaagagtcgagtcaccatatcagtagacacgtccaagaaccagctctccctgaagttgagttctgtgaccgccgcagacacggccgtatattactgt 51 61 59 45 +JY8QFUQ01BF9YK IGA1 ggaggctccattagtaattactac tggagttggatccggcagcccccagggaagggactggagtggattgggtat atctattacagtgggagcacc aactacaacccctccctcaagagtcgagtcaccatatcagtagacacgtccaagaatcagttcttcctgaagctgacctctgtgaccgctgcggacacggccgtgtattactgt 52 55 55 48 +JY8QFUQ01BFB0Q IGA1 ggattcagctttagcaactttgcc atgacttgggtccgccaggctccagggaaggggctggagtgggtctcaggt attagtggtagtactttagcacc cattatgccgactccgtgaagggccgcttcaccatctccagagacaatttcaggagcaccttatatctgcagatgaacaacctgagagccgacgacacggccatatattactgt 51 54 56 51 +JY8QFUQ01BFHSP IGG1 ggtacctccatcagcacttactat tggagttggttccggcagcccgccgagaagggactggagtggattgggcgt atctctgtctttgaaaactct aactacaacccctccctcgagagtcgcatcaccatgtcaatggacacgtccaagaaccagttctccctgacggtgaactctgtgaccgccgcggacacggccgtgtatttttgt 45 61 53 51 +JY8QFUQ01BFI4C IGA2 ggattcacctttggtagctattgg atggcctgggtccgccaggctccagggaaggggctggagtgggtggccaac ataaagcaagatggaagtggtaca tactatgtggactctgtgaagggccgattcaccgtctccagagacaacgccaagaattcactgttctgcaaatggacagcctgagagtcgaggacacggctctgtattactgt 52 47 66 47 +JY8QFUQ01BFROD IGG1 ggtgtctccattagtagtgatacttaccac tggggctggatccgccagcccccagggaaggaaccggagtggatcggcaag atctctaacagtgggagcacc ttctacagtccgtctttccagagtcgagtcactgtatcgatggaagcgcccaagaaccacatctccctgaaactgaggtctgtgaccgccgcagacacggctgtttattattgt 50 59 58 49 +JY8QFUQ01BFWP5 IGA2 ggatttacctttacaaattattgg atgagctgggtccgccaggctccagggagggggctggagtgggtggccagc gtaaaacaagatggaggtgagaaa tactatgtggactctgtgaagggccgattcaccatctccagagacaacgccgagacctcactgtatctgcaaatgaacagcctgagagccgaggacacggctgtgtattactgt 56 46 66 45 +JY8QFUQ01BFXYS IGG2 gggtttacctttagcaactttgcc atggcttgggtccgccaggctccaagaaaggggctggagtgggtctcagct attgctcgtggcggtgacaca cactaccgagactccgtgaagggccgattcaccatctccagagacaattctaagaacacactgattctgcagatgagcagcctaagagccgaggacacggccttatattactgt 51 55 57 47 +JY8QFUQ01BFYFA IGA1 ggattcaccttcagtagctatgcc atgcattgggtccgccaggctccaggcaaggggccggagtgggtggcagtt atatcatatgatggaagtcataaa gactatgcagcctccgtgaagggccgattcaccatctccagagacaattccaagagtacgttgtatctgcaaatgaacagcctgagacctgaggacacggctttatattcctgt 55 51 57 50 +JY8QFUQ01BFZOR IGA1 ggattcacttttaggagtcatatg atgagttgggtccgccagactccagggaaggggctggaatgggtctcaagt attcgagccagtggtgataggaca cactatgcagactccgtgaggggccgcttcaccatctccagagacaactccaagaacacgatgtatttgcaaatgcacagcctgagagtcgacgacacggccgtatactactgt 56 51 60 46 +JY8QFUQ01BG2F7 IGA1 ggattcaccttcactacctcctgg atgcactgggtccgccaagctccagggaaggggctaatgtgggtcgcacgt attaataaggatggcagtagtaca agttatgaggactccgtgaagggccgattcaccatctccagagacaacgccaagaccacactgtacttggaaatggacagtctgagagtcgaggacacggctatgtattattgt 57 50 59 47 +JY8QFUQ01BG5T6 IGA2 ggattcagctttagaacctattgg atgggctgggtccgccaggctccagggaaggggctggagtgggtggccaac ataaagcacgatggaagtgacaaa tactatgtggactctgtgaagggccgattcaccgtctccagagacaacgccaagaactcactgtttttgcaaatgaacagcctgagagccgaggacacggctgtgtactactgt 56 48 65 44 +JY8QFUQ01BG66X IGA1 ggattcagctttagcaactttgcc atgacttgggtccgccaggctccagggaaggggctggagtgggtctcaggt attagtggtagtacttttagcacc cattatgccgactccgtgaagggccgcttcaccatctccagagacaatttcaggagcaccttatatctgcagatgaacaacctgagagccgacgacacggccatatattactgt 51 54 56 52 +JY8QFUQ01BG922 IGG3 ggattcaccttcagtacatactgg atgcactgggtccgccaagctccagggaaggggctggtgtgggtctcccgt atcaatcctgatgggcgaatcaca aactacgcggactccgtgaatggccgattcaccatctccagagacaacgccaagaacacgctgtatctgcaaatgaacagtctgagagccgaggactcggctgtgtactactgt 53 58 58 44 +JY8QFUQ01BGDEX IGG1 ggattcgtctttactaatcattgg atgagttgggtccgccaggccacagggaaggggccggagtgggtggccaac atatccccagacggaaatacgaaa tattttggggactctgtgaggggccgattcagcgtctccagagacaacggcaagcagtcatcgtatctggaaatgaataccctgacagtcgatgacacggctgtatacttctgt 54 48 63 48 +JY8QFUQ01BGEYK IGA1 gggttctccttcagcgactacttc atgagttgggtccgccaggctccagggaagggactggagtgggttgcatac attagtagtagtggtactactaaa tactacgcagactctgtgaagggccgattcaccatctccagggacaacggcaagaattcattgtttctgcaaatggacagcctgagagtcgacgacacggccatgtatttctgt 52 49 59 53 +JY8QFUQ01BGFCA IGA1 ggattcacctttagtaattattgg atgcactgggtccgccaggtttcaggggaggggctggagtgcgtggccacc ataaacgaagatggaagtgagaga cactatgtggactctgtgaagggccgattcaccgtctccagagacaacgccaagaactctctgtttttgcagatgaacagcctgagagccgaggacacggctgtctactactgt 53 48 64 48 +JY8QFUQ01BGGO2 IGA2 ggattcaccctcaacagcaatggc atgcactgggtccgccagactccagacaaggggctggagtgggtggcagtg atttcatatgatggaaatgataaa tactatggagatgcagtgacgggccgattcaccatctccagagacacttccaagaacacagtatatctggagatgtacagcctgagacctgaggacacggctgtgtattactgt 60 48 59 46 +JY8QFUQ01BGI0O IGG1 ggattcacgtttagcaggtatgcc atgaactgggtccgccaggctccagagaaggggctggagtgggtctccgct gttagtgatactggtggtacaaca gagtacgccgactccgtgaaggggcggttcaccgtctccagagacaattccaagaatacggtgtatctgcaaatgaacagcctgagagtcgaggacacggccgtatattactgt 52 49 66 46 +JY8QFUQ01BGMBI IGA2 ggattcacccttcgcagatatggc atggcgtgggtccgccaggctccggggaaggggctggagtgggtctcatct tctaacagtagtgatgaatccaca tactatgcagactccgtgaagggccgcttcaccatttccagagaccattccaagaacacggtgtttttgcaaatgtacagcctgagagccgaagacacggccctctattactgt 50 56 58 49 +JY8QFUQ01BGNSE IGA1 gttgacgccataagcgacctcggttatttc tgggcctgggtccgccagcccgccgcgaagggactggagtggatcggacat gcccttggtgatggatatacc gaatacaaccccgccctagagagtcgaatcaccgtgtcagtggacaagtccaagaaccagttttccctgacgttggagtccgtgaccgccgcagacacggccacttatttctgt 46 63 61 46 +JY8QFUQ01BGR80 IGA1 ggattcaccttcagtagctactgg atgcactgggtccgccaagctccagggaaggggctggtgtgggtctcacgt gttaatggtgatggggtagcaca gcctacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaacactctctatctccaaatgaacagtctgagagccgaggacacggctgtatattactgt 51 55 61 45 +JY8QFUQ01BGUIW IGA2 ggattcaccttcagtagctactgg atgcactgggtccgccaagctccagggaaggggctggtttgggtctcacgt gttaatggtgatgggggtaggaca acctacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaacactctctatctccaaatgaacagtctgagagccgaggacacggcaatatattactgt 54 54 60 45 +JY8QFUQ01BGVCA IGA1 ggattcacctttagtagttactgg atgcactgggtccgccaaactccaggggagggactggtgtgggtctcacgg actaatgaagatgggagtatcaca aactacgcggactccgtggaggaccgattcaccatctccagagacaacgccaagaacaggctgtatctgcaaatgaacagtctgagagccgaggacacggctgtgtattactgt 57 50 62 44 +JY8QFUQ01BGY6V IGA1 ggtgcctccgtcagcagtggtagtttctac tggacctggattcgtcagcacccagggaagggcctggagtggattgggtac atctattacagtgggagcgcc tactacaacccgtccctcaagagtcgagttgccatatcaatagacacgtctaagaaccagttctccctgaacttgagttctgtgactgtcgcggacacggccgtttattactgt 47 56 58 55 +JY8QFUQ01BH03V IGA1 gatgggtcctgcagaaactgcttc tggagttggatccgccagtccccagggaaggggctggagtggattggggag gtcaatgatagaggaggcatc gactacaacccgtccctcaagagtcgagtcaccatatcattagacacgtccaacaaccaagtctccctgaggttgagctctgtgaccgccgcggacacggctgtgtattactgt 49 54 63 44 +JY8QFUQ01BH0GH IGA1 ggattcacattcggtagttttatg atgaactgggtccgccaggctccagggaagggactggagtgggtcgcatcg attagccctactagtactttcata gactacgcagactcagtgaggggccggttcaccatctccagagataacgccgagaacttactgtatctgcaaatgaacggcctgagagtcgaagacacggctgtctattactgt 53 50 59 51 +JY8QFUQ01BH1QX IGA2 ggattcaccttcagtaggtattgg atgtattgggtccgccaagctccaggcaaggggctggtgtgggtctcacgc attaaaagtgatgggacgagtgca acctacgcggactccgtgaagggccgattcaccacctccagagacaacgccaaggaaacgatgtatctgcacatgaacagcctgagagtcgacgacacggcgacatatttttgt 55 52 62 44 +JY8QFUQ01BH2A1 IGA1 ggatacacattcaccgacaactat atgcactgggtgcggcaggcccctggacaggggcttgagtggatgggatgg atcgaacctaacagtggagacaca aactatgcacaaaagtttcagggcagggtcaccatgacgagggacacgtccatcgccacagcctacatggagttgagcaggctgagagctgacgacacggccgtgtactactgt 58 53 65 37 +JY8QFUQ01BH7NG IGA1 ggattcaccgtcagagataactac gtgacctgggtccgccaggctccagggaaggggctggagtgggtctcaatt atttatatcagtggtagcaca tactacgcagactccgtgaagggccgattcaccatctccagagacaattcgaagaacacggtgtatcttcagatgaacagtctgagagctgaggacacggctgtgtattactgt 55 48 59 48 +JY8QFUQ01BHCZE IGA1 ggattcagcttcaatagttatact ttgagttgggtccgccaggctccagggaaggggctggagtgggtctcagct atcagtggaacaggtgaaacaacc ttctacgcggactccgtgaggggccggttcaccgtctccagagacaatttcaagaatactctgtacttgcaattgagcgacctgagagccgaagacacggccgtctattactgt 51 51 61 50 +JY8QFUQ01BHGDW IGA1 ggattccccatcagtggctttaga atgaactgggtccgccaggctccagggaaggggctggagtgggtctcatcc attgatagttttagtcagaacata tactacagagactcagtgaggggccgattcaccatctccagagacaacgccaggaactcattgtatctgcaaatgaacagcctgagagccgaggacacggctgtgtattactgt 56 50 59 48 +JY8QFUQ01BHITL IGA2 ggtttcacgtttgacaactatgcc atgacttgggtccgccagactccagggaaggggctgcagtggctctcaact attactgcttatgggactctcaca tactacgctgcctccgtgaagggccggttcaccctctccagggacaactccaacaacacggtgtatctgcaaatggacagtctgagagccgaagacacggccgtattttactgt 49 60 54 50 +JY8QFUQ01BHN1C IGA1 ggtgtctccatcagtagttcctac tggagttggatccggcagcccccagggaagggcctggagtggattggttat gtctattatactgggggcacc gactccaaccctccctcaagagtcgtgtcaccctgtcaatggacacgtccaagaaccagttctccttggaactgagctctgtgaccgctgcggacacggccgtctattactgt 41 60 57 51 +JY8QFUQ01BI347 IGG2 ggtgtctccgtcaccagcagtcactgg tggacctgggtccgccagcccccagggaagggactggagtggattggagaa atctattattatggcatcacc aatttcaacccgtccctcaagagtcgaatcagcatgtcagtggacgagtccaagaaccagttctccctgagactgacttctgttaccgccgcggacacggccgtttattattgt 48 59 56 50 +JY8QFUQ01BIGLC IGG1 ggattcaccttcaggagttatatc atgaactgggtccgccaggctccaggaaggggctggagtggatttcatac attagtagtagtggtattatcata tactacgcagactctgtgaagggccgattcaccatctccagagacaatgccaagaactcactgtatctgcaaatgaacagcctgagagtcgaggacacggctgtgtattattgt 58 45 55 54 +JY8QFUQ01BIHI6 IGG2 ggattcaccttcagtagttataac atgcactgggtccgccaggctccaggcaaggggctggagtgggtggcagtt atatcatatgatggaagaaataaa tactatgcagactccgtgaagggccgactcaccatctccagagacaattccaagaacatgttgtatctgcaaatgaacagcctgagacctgaggacacggctgtgtattactgt 61 47 56 49 +JY8QFUQ01BIM6Q IGA1 ggatacagctttaccagctactgg atcggctgggtgcgccagatgcccgggaaaggcctggagtggatggggatc atctatcctggtgactctgattcc agatacagcccgtccttccaaggccaggtcaccatctcagccgacaagtccatcagcaccgcctacctgcagtggagcagcctgaaggcctcggacaccgccatgtattactgt 46 65 59 43 +JY8QFUQ01BISS5 IGA1 gggttcgttttgagaaatacgcc atgagttgggtccgccaggctcccggaaaggggctggagtgggtctcggct attggtgttgatgatgttggcaca tactacgcagcctccgtgaagggtcggttcaccatatccagagacgattccagggagattctctatctacaaatgagtaacctgagagtcgacgatacggccgtctattactgt 47 47 64 54 +JY8QFUQ01BIVV0 IGA2 ggattcacctttagcacttttgcc gtgacctgggtccgccaggctccagggaagggtctggaatgggtctcaact attagcggtagtgatggtagcaag tactacgcagactccgtgaggggccggttcaccatctccagagacaattccaagaacaccctatatctgcaaatgaccagcctgagagccgaggacacggccgtatatttctgc 51 57 58 47 +JY8QFUQ01BIWEF IGG2 acattcgcctttagcaactatgcc atgagctgggtccgccaggctccagggaaggggctggagtgggtgtcagat attagtgggagtggtgttagcaca tactacgcagactccgtgaagggccgattcaccatctccagagacaatttcaagaacacgctgtctctgcaaatgaacagcctgagagccgaggacacggccctatattactgt 54 53 60 46 +JY8QFUQ01BJ4VI IGA1 ggattcacgtttagtaacagttgg atgggctgggcccgccaggctccagggaaggggctggagtgggtggccagc acaaaccaagatgcaagtgagaaa aagtatgtggactctgtgaggggccgattcaccatctcaagagacaacgccaagaactcactgtatttacaaatgaacagcctaagagccgaggacacggctttatatttctgt 61 46 63 43 +JY8QFUQ01BJN3B IGA1 gacttaacggtcagtgacaattac atgagttgggtccgccaggctccagggaaggggctggagtgggtctcaatt atttatagcggaggtcgcaca tactacgcagagtccgtgaagggccgattcgccgtctccagagacggttcccagaacacactgtatcttcaaatgaacagcctgaggaccgaagacacggccgtgtatttttgt 52 50 61 47 +JY8QFUQ01BJPU6 IGA2 ggattcagcttaagtgactactac atgacctgggtccgccaggccccagggaagggactggagtggctcgcctac attagtcgaactgatgattccgta tattccgcagagtctgtggtgggccgattcaccgtctccagggacaacgtccaaaactcactgtttttgcagatgattggcctgagagacgaggacacggccgtatattactgt 49 53 60 51 +JY8QFUQ01BJT4G IGG1 ggattcacctttaccaactatggc atgagctgggtccgccaggctccagggaaggggctggagtgggtctcaggt attagtggtagtggtgaaaccaca taccacgcagaatccgtgcagggccggttcaccatctccagagacaactccaagaacaatctgtatctgcaaatgaacagtctgagagccgaggacacggccatttattactgt 56 53 59 45 +JY8QFUQ01BJUHM IGA1 ggattcaccttcagtgactactac atgaactggatccgccaggctccagggaaggggctggagtggatttcatac attagtgggagtgcgactaccata tcctacgcagactttgcgaagggccgattcaccatctccagggacaacgccaagaactcggtgtatctgcaaatgaacagcctgagagccgaggacacggccacgtattattgt 56 54 58 45 +JY8QFUQ01BJURD IGA1 ggtgcctccatcaacagtggtagttactac tggagttgggttcggcagcccgccgggaagggactggagtggattgggcgt atctacaccagtgggagcacc aactacaacccctccctcaagagtcgagtcgccatatcaatggacacgtccaagaaccagttctccctgaagctgaactctgtgaccgccgcagacacggccgtctatttttgt 49 62 59 46 +JY8QFUQ01BJV9I IGA1 ggattcaccttcagtagatactgg atgcactgggtccgccaggctccagggaaggggctggagtgggtcgcacgt actaatgaagatgggagtataaaa agctacgcggactccgtgaagggccgattcaccatcttcagagacaacaccaagaacacactatatctgcaaatgaacagcctgacagccgaggacacggccagatattactgt 63 52 59 39 +JY8QFUQ01BJVZ3 IGG1 ggattcacctttggttattatggc atggactgggtccgccaactccgggggagggggctggagtgggtctctggt attaatcggaatggtgatagcaca ggttatgcagactctgtgcaggaccgattcaccatctccagagacaacgccaagaactccctgtatctcgaaatgttcagtctgacagccgaggacacggccttatatcactgt 49 51 61 52 +JY8QFUQ01BJWBZ IGA2 ggattcaacttcaattactttagc atgaactgggtccgccaggctccagggaaggggctggagtgggtctcatcc attagtagtgatggtacttacata tactacgcagactcagtgaagggccgattcgccatctccagagacaacgccaaagactcactgtatctacaaatgaacatcctgagagccgaggacgcggctgtttattactgt 57 51 54 51 +JY8QFUQ01BJYH6 IGA1 ggattcatctttagtaattatgcc atgagttgggtccgccaggccccagggaggggctggagtgggtctcaact atcagtgccaatggagacaacaca tactacgcggactccgtgaagggccgattcaccatctccagagacaattccaagagcacagtgtatatgcaaatgaacagcctgaaagccgaggagacggccgtctatcattgt 58 52 58 44 +JY8QFUQ01BKBQY IGA1 ggatatgactttatcaactactgg atcggctgggtgcgccagatgcccgggagaggcctggaatggatgggaatc atctttcctgatgactctgatgcc agatatagtccgtccttccagggccacgtcaccatctcagccgacaagtccacaagcaccgcctacctggagtggagcagcctgaaggcctcggacaccgccatctactactgt 48 63 57 45 +JY8QFUQ01BKF2J IGA1 ggattcattttagaaaattttgcc atgagttggctccgccaggcaccagggaaggggctggaatgggtctcgact atcagcagcagtggtgacacggca tattactcagactccgtgaggggccgcttttccatctccagagacaactccaagagcactctgttcttgcagatgaacagcctgagtgccgaagacacggccatttactactgt 52 54 57 50 +JY8QFUQ01BKJ53 IGA1 ggattcatcttcagtagctactgg atgcactgggtccgccaagctccagggaaggggctggtgtgggtgtcacgt agtaatacggggggactgacaca gcctacgcggactccgtgaagggccgattcaccatctcccgagacaacgggaagaacacgctgtatctgcaaatgaacagtctgagagccgaggacacggctgtttattactgt 51 52 66 43 +JY8QFUQ01BKRE0 IGA1 ggatacaccttcaccagttactat atgcactgggtccgacaggcccctggacaagggcttgagtggatgggaatg atcaaccctagtggcggaagcaca atctacgcacagaacttccagggcagagttgccatgaccagggacacgtccacgagcacagtctacatggagctgagcagcctgagatctgaggacacggccgtgtattactgt 56 56 61 40 +JY8QFUQ01BKUNY IGA1 atgggctccatcagcggaagtgtttactac tgggcctggatccgccagcccccagagaagggtctggagtacattggaagc atcttttatagtgggagcact tacttcaatccgtccctcaagagtcgagtcaccctatccgtagacacgtccaggaaccagttctccctgaggctgaagtctgtgaccgccgcagacacggctgtttattattgt 48 59 56 53 +JY8QFUQ01BKXS7 IGA1 ggattcaactttggcatctatacc atggcctgggtccgccaggctccagggaaggggctggagtgggtctcagct attcgtgatcatgatagcaca tactacgcagactccgtgcagggccggtttttcatctcgagagacaatttcaataatacattgtatctgcaaatggatggcctgcgagccgacgacacggccgtctattactgt 48 52 57 53 +JY8QFUQ01BL6V1 IGA2 ggattcagtttcactggttttacc gtgatctgggtccgccaggctccaaggaaggggctggaatggatctcatcc gtcactactaatggtctcacg tactacgcagactcagtagagggccgattcaacatctccagggacaacgccaacaatttagtgtttctgcaaatgaacaccctgagacttgaggacacggctgtgtattactgt 52 52 53 53 +JY8QFUQ01BLAI9 IGA1 ggattcacctttagcaactttgcc atgacctgggtccgccaggctccagggaagggactggagtgggtctcaact attagtggtggtgatgatagcaca tactacgcagactccgtgaagggccggttcaccatctccagagacaattccaagaacacgctgtatctgcaaatgaacagcctgagagccgaggacacggccgtatatcactgt 55 55 58 45 +JY8QFUQ01BLEDM IGG2 ggattcaccttcagtggttactgg atgcactgggtccgccaagctccagggaaggggctggtgtgggtctcacga attgatagttctgcgaatctcatc aaatacgcggactccgtggagggccgattcaccgtctccagagacaacgccaagaacacggtgtatctgcaaatgaacagtctgagagccgacgacacggctgtttactactgt 51 54 61 47 +JY8QFUQ01BLGCA IGG1 ggtggctccatcagtacttattac tggaactggatccggcagcccccagggaagggactggagtggattgggtat atccataacagtgggagtagc aactacaacccctccctcaagagtcgagtcaacatatctgtagacgcgtccaagaaccagttctccctgaagctgacctctgtgaccgctgcggacacggccgtttattactgt 51 57 55 47 +JY8QFUQ01BLGYX IGA1 ggatacacctttatcacctactgg atcgcctgggtgcgccaaatgcccgggaaaggcctggagttgatgggagtc atctatcctggtgactctgagacc agatacagcccgtccttccaaggccacatcaccctctcagtcgacaagtccatcgataccgcctacctggagtggagcagcctgaaggcctcggacaccgccatgtacttctgt 47 67 54 45 +JY8QFUQ01BLTJO IGA1 ggattccccttcagcacctatccc atgagctgggtccgccaggctccagggaggggactggagtgggtcgcaact ataagtggtggaggttatagtata tatgacgcagactccgtgaagggcaggttcaccatctccagagacaactccaagaccaccttgtttctggaaatgaaaagtctgagagtcgatgatacggccgtctattactgt 53 51 60 49 +JY8QFUQ01BLX8G IGA2 ggatacaccttcaccagctactat ttgcactgggtgcgacaggcccctggacaagggcttgagtggatgggaata atcgaccctagtggtggtgccaca agctacgcacagcagttccagggcagagtcaccatgaccagggacacgtccacgagcacagtctacatggagctgagcagcctgagatctgaagacacggccgtgtattactgt 54 57 62 40 +JY8QFUQ01BM58O IGA1 ggattcatcttcagtgaccactac atgagctgggtccgccaggctccggggaagggtctggagtggatctcatac atcagtacaagtggtaatatggtt tattacgcggactctgtgaagggccgattcaccgtctccagggacaacgccaagaactcactgtatctgcaaatgaacggcctcagagtcgaggacacggccgtctattactgt 52 53 59 49 +JY8QFUQ01BM6Z0 IGA2 ggattcacctttagcggctatgcc atggcttgggtccgccaggctccagggaaggggctggagtgggtctcaact agtactactgatggagctggccca tactacgcagactccgtgaggggccggttcaccgtcttcagagacaattccaagaacactctgtatctacaaatggacaccctgagagccgacgacacggccatgtattactgt 49 58 60 46 +JY8QFUQ01BM80W IGA1 ggattcacctttagccactttgcc gtgacctgggtccgccaggctccagggaagggtctggaatgggtctcaact attagcggtagtgatggtagcaag tactacgcagactccgtgaggggccggttcaccatctccagagacaattccaagaacaccctatatctgcaaatgaccagcctgagagccgaggacacggccgtatatttctgc 51 58 58 46 +JY8QFUQ01BM96X IGA1 ggattcacctttgatgagcatgcc atgcactgggtccggcaagttccggggaagggcctggagtgggtctctggt gttacttggaatagtggtgtcata gactatgcggactctgtgaagggccgattcaccatctccagagacaacgccaggaattccctgtatctacaaatgaacagtctgagaactgatgacacggccttctatttctgt 49 49 60 55 +JY8QFUQ01BMLGO IGA2 ggattcacattcagcaattatgcc atgggctgggtccgccaggctccagggaaggggctggagtgggtcgctgct attgatggcagtggtgaaagaact cactatgcagactccgaacagggccgcgtcaacatctctagagacaattccaagaacatgatatatgtgcaattgagcagcctgagagccgaggacacggccatgtattactgt 56 49 63 45 +JY8QFUQ01BMOB5 IGA2 ggattcaccttcagtaactatagc atgaactgggtccgccaggctccagggaaggggctggagtgggtctcatcc attagtagtagtgctaggtacata tactacgcagactcagtgaagggccgattcaccatctccagagacaacgccaagaacactctctatctccaaatgaacagtctgagagccgaggacacggctgtatattactgt 59 53 54 47 +JY8QFUQ01BMQ8K IGA2 ggattcacctttagtagttattgg atgacctgggtccgccaggctccagggaaggggctggagtgggtggccaac ataaaggaagatgggaatgataaa tactatgtcgactctgtgaggggccggttcaccatctccagagacaacgccaagagctcactgtttctgcaagtgaacagcctgagagccgacgacacggctgtttattactgt 54 47 64 48 +JY8QFUQ01BN0IG IGA2 ggaaaaaccctcactgaagtatcc atgcactgggtgcgacaggctcctggaaaagggcttgagtggatgggagga tttgatcctgaagatggtgaaata atctacgcacagaagttccagggcagaatcaccgtgaccgaggacacatctacagacacagcctacatggagctgagcagcctgagatctgaagacacggccgtgtattactgt 63 48 61 41 +JY8QFUQ01BN1A6 IGG1 ggattcagcctcacttcctatggc atgaactgggtccgccaggctccagggagggggctggagtgggtctcacac gttaatatgggtagtactcacata tactacgtaggctccgtgaggggccgattcaccatctccagagacgacgccaagaactcagtgtatctgcagatgaacaacttgagagccgaggacacggctctatattactgt 52 54 60 47 +JY8QFUQ01BN76B IGA1 ggatttaccttcagtaattatgac atgaattgggtccgccaggctccagggaaggggctggagtgggtctcatcc atcaccagtagtggtagttatgtc taccattcagactcaacgaagggccgattcaccatctccagagacaacgcccagaattcactatttctgcaaatgaacaacctgagacccgaggacacggctatatattactgt 59 53 50 51 +JY8QFUQ01BNHM6 IGA1 ggattcatctttgatgatttggc atgagatgggtccgccaagttccagggaaggggctacagtgggtctctggt attaattggaatggtggtaaaaca ggttatgcagactctgtgaggggccgattcatcatctccagagacaacgccaagaacgccctgtatctgcaaatgaacagtctcagagccgaggacacggccttatattactgt 55 44 60 53 +JY8QFUQ01BNNYX IGA1 gggttctcactcaacactgttggaatgggt gtgggctgggtccgtcagcccccaggaaaggccctggagtggcttgcactt gtttattgggatgatgataag cgctacagctcatctctgaagagcagactcaccatcaccaaggacacctccaaaaaccaggtggtccttacaatgactaacatggaccctatggacacagccacatattactgt 56 57 54 49 +JY8QFUQ01BNQ6N IGG2 ggattcacctttggttattatggc atgagttgggtccgccaggctccagggaaggggctggactgcgtctcagtt atttatcccggtggtagcaca tactatgcagactccgtgaagggccgattcaccatctccagagacatctccaagaacacactgtatcttcaaatgaacagcctgagagccgaggacacggctgtatattactgt 51 52 55 52 +JY8QFUQ01BNS72 IGA2 ggtggctccatcagcatcaatacttacttc tggagttggatccggcagcccccagggaagggactggagtggattgggtat atctctcacagtgggagtgcc aactacaacccctccctcgagagtcgagtcaccatcttaagagacacgtccaagaaccagttctctctgaggctgagggctgtaaccgcggcggacacggccgtgtatttctgt 48 59 61 48 +JY8QFUQ01BNVKG IGG2 gatgggtcctgtagagagtgcttc tggagttggatccgccagtccccagggaagggtctggagtggattggggac gtcaattatagacgaggcgtc gactacaacccgtccctcaagagtcgagtgaccatatcattggacacgtccaacaaacaagtctccctgagtctgagttctgtcaccgccgcggacacggccatgtattattgt 48 53 61 48 +JY8QFUQ01BNXKI IGG1 ggattcacctttggttattatggc atggactggtccgccaactccgggggagggggctggagtgggtctctggt attaatcggaatggtgatagcaca ggttatgcagactctgtgcaggaccgattcaccatctccagagacaacgccaagaactccctgtatctcgaaatgttcagtctgacagccgaggacacggccttatatcactgt 49 51 60 52 +JY8QFUQ01BNYDH IGA1 ggtgctccatcagcagtggtagtttctac tggagctggatccggcagcccgccgggaagggactggagtggatggggcgt gtctatgccagtggaaccacc aagttcaacccctccctcaagagtcgagtcactttatcagtagacacgtccaagaaccagttctccctgaaactgacctctgtgaccgctgcggacacggccgtgtattactgt 46 61 61 47 +JY8QFUQ01BO1TD IGG1 ggattcatttttagcaattatgcc atgaactgggtccgccaggctccagggaaggggccggagtgggtctcagct tttagtggtggtggcactaagacc tactacgcagactccgtgaagggccggttcttcatctccagagacaattccaagaacactctacatctgcatatgagcagcctgagggccgaggacacggccacatattactgt 51 54 59 49 +JY8QFUQ01BO2JV IGG1 ggagacaactttagcagatactgg atcggctgggtccgccagatgcccgggaaaggcctggagtggatggggatc atctatcctggtgactctgacacc agatacagtccgtccttccaaggccaggtcaccatctcagccgacaagtccaccagtaccgtctacctgcagtggagcagtctgaaggtctcggacaccgccacgtattactgt 49 62 59 43 +JY8QFUQ01BO2V4 IGA1 ggattcacatttagtcactatacc atgaattgggtccgccaggctccagggaaggggctggagtgggtctcagcc attaatcaagatgccattaccaca cactacccagactccgtgaagggccgcttcaccgtctccagagacaattccaagaacacactctatctgcaaatgagcagcctgagagccgacgacacggccgtatattattgt 58 60 50 45 +JY8QFUQ01BO4ET IGA2 ggattcaccttcagtagctactgg atgcactgggtccgccaagctccagggaaggggctggtttgggtctcacgt gttaatagtgatgggggtaggaca gcctacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaacactctctatctccaaatgaacagtctgagagccgaggacacggcaatatattactgt 54 54 60 45 +JY8QFUQ01BO7P5 IGA1 ggcggccccatcagtggtggtggttac tggagttggatccggcagcccgccgggaagggactggagtggatcggacat atttataatagtgggaacatc aactacagtccctccctcaagagtcgggttttcatgtcagtagacacctctaagaagcagttttccctgaggttgaactctgtgaccgccgcggacacggccgtgtattattgt 46 51 64 52 +JY8QFUQ01BO8WN IGG1 ggtgcctccataaataggggtaattattac tggaactggatccggcagcccgccgggaagggcctggaatggattggccga atctatacaagtgggagcacc atctacaacccctccctcgggggtcgagtcaccatgactgtagacccgtccgagaatcagttcttcctgagactgagttctgtgaccgccgcagacacggccgtttatttttgt 48 58 60 50 +JY8QFUQ01BOBY3 IGA1 ggtgactccgtcagcagtgataactgg tggagttgggtccgccagaccccagggaaggggctggagtggattggagaa atctatcatggtgggaccacc aactacaatccgtccctcaagggtcgagtcaccttatcggtcgacaagtccaagaaccaattctctctgagaatgacctcttttaccgccgcagacacggccgtgtattactgt 51 56 59 47 +JY8QFUQ01BOMV5 IGA1 ggattcacctttagtagtttctgg atgcactgggtccgccaagttccaggggagggactggtgtgggtcgcacgg actaatgagtatgggagtatcaca aactacgcggactccgtggagggccgattcaccatctccagagacaacaccaagaacaggctatatctgcaaatgaacagtctgagagccgaggacacggctatttattactgt 56 49 61 47 +JY8QFUQ01BP3RA IGA1 ggtgggtccttcagtggttactac tggagctggatccgccagcccccaggggaggggctgcagtggattggaaga gtcaatcatagtggaagcacc agctacaacccgtccctcaagagtcgagtcaccatgtcactagacacgtccaagacccacttttccctgaagctgacctctgtgaccgccgcggacacggctgtgtattactgt 46 61 59 44 +JY8QFUQ01BP55P IGG1 ggatttacttttacaactattgg atgacctgggttcgccaggctccagggaaggggctggaatgggtggccaac ataaaacaacatggaggtgaaacg tactatgtggactctgtgaagggccgattcaccatctccagagacaacgccgagacctcagtgtatctgcaaatgaacagcctgagagccgaggacacggctgtctattactgt 58 48 60 46 +JY8QFUQ01BPG8K IGG2 ggtggctccatcagtaattactac tggagctggatccggcagtccgccgggaagggactggaatggattgggcgc atgtctgccagagggggcagc aactacaacccctccctccagagtcgagtcaccatatccatagacacgtccaagaaccagttctccctgaggctgacctctgtgagcgccgcagacacggccgtgtatttttgt 46 61 60 43 +JY8QFUQ01BPT7N IGA2 ggattcacctttaggagttattgg atcagctgggtccgccaggctccagggaaggggctggagtgggtggccaac ataaacccagatggaagtgagaaa tactatgtggactctgtgaggggccgattcaccatctccagagacaacgccaagaactcactgtatctgcaaatggacagcctgagagccgaggacacggctgtgtattactgt 56 48 65 44 +JY8QFUQ01BQ0GT IGA1 ggattcagctctgagaattatgcc atgcactgggtccggcagcctccagggaagggcctagagtgggtctcacac atcagttggaatggcgaaggcatc gactacgcggactcagtgaagggccgattcaccgtctccagagacaacggcaagaattccctgtatttgcaaatgaacagtctgacaactgacgacacggccttgtattactgt 55 54 59 45 +JY8QFUQ01BQ3I3 IGA1 ggattcatcttcagtgactatggc atgcactgggtccgccaggctccaggcgaggggctggattgggtggcattt atacgatatgatggaaatgagata cactatccagactccgtgaggggccgattcaccatctccagagacaattccaagaacaccctatatctagaaatgaacaatgtgagacctgaggacacggctgtgtattactgt 58 48 57 50 +JY8QFUQ01BQ9G8 IGG2 ggattcacctttagcggctatgcc atgagctgggtccgccaggctccagggaaggggctggactgggtctcatct attagttataatggtggtagcaca tactacgcagactccgtgaagggccggttcaccatctccagagacaattccaagaacacgctgtatctccaaatgaacagcctgagagccgaggacacggccgtatattactgt 53 55 58 47 +JY8QFUQ01BQAON IGA1 gatttcaacgtcggtgactttgac atgcactgggtccgccagactccagacaaggggctggagtgggtggcactt ttttggtatgacggaaagaggaaa tattatgcagactccgtgaagggccggttcaccatctccagagacaattccaagaacaccctgtatctgcaaatggacagcctgagagccgacgacacggctacctacttttgt 55 52 58 48 +JY8QFUQ01BQCNP IGG1 ggtggctccgtcagcagtggaaattcctac tggacttggatccgccagccccccgagaagggactggagtggcttgcatat attcgaaacactgggacaacc aactacaacccctccctcaagagtagactcaccatgtctctggacatgtctaggaatcagttctccctgaggctgaacgatgtgaccgctgcggacacggccatatattactgt 53 62 54 47 +JY8QFUQ01BQERB IGA1 ggattcacctttaagaactatgcc ttaaactgggtccgccaggctccagggaaggggctgaagtgggtctccgga atcagtgctactggtgaaagcaca cactacgcagactccgtaattggccggttcaccatctccagagacgattccaagaatacgttatatctgcaaatgaacagcctgagagccgaggacacggccgtatatttctgt 57 54 55 47 +JY8QFUQ01BQLNQ IGG2 ggatacacgtttatgaattactgg atcggctgggtgcgccagatgcccgggaaaggcctggagtggatggggatc atctatcctggtacctctgagacc agatacagcccgtcctttcaaggccaggtcaccatttcagccgacaagtccaccagcaccgccttcgtgcagtggagcagcctgaaggccccggacaccgccatatattactgt 48 62 59 44 +JY8QFUQ01BQMY8 IGA2 ggattcaccttcagtagctactgg atgcactgggtccgccaagctccagggaaggggctggtgtgggtctcacat attaatattgatgggagtaccaca gactacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaacacactgtatctgcaaatgaacagtctgagagccgaggacacggctgtgtattactgt 56 53 59 45 +JY8QFUQ01BQQG5 IGA1 ggattcaaattcaataattatgca atgcactgggtccgccagtctccaagagcggggctgcaatgggtggcggct atatcgactgacggcaataaagaa tatcatgcagactccgtgaagggccggctcaccctctccagagacaattcgaggagtacgctgtctctgcaattgcgcaacctgacagctgacgactcggctctgtattattgt 54 54 56 49 +JY8QFUQ01BR1YM IGA2 ggattcacctttagaaactattgg atgagttgggtccgccaggctccagggaaggggctggagtgggtggccaac ataatgacagatggaggtgacaaa tactatgtggactctgtgaagggccgattcaccatctccagagacaacgccaagaactcactgtatctgcaaatgaacagcctgagagccgaggacacggctgtgtattactgt 59 46 63 45 +JY8QFUQ01BR9Q4 IGA2 ggattcacctttagcagcttttcc atggggtgggtccgccaggctccagggcggggactggagtgggtctcagcc attgacggtcttactggtggtaca tattacgcggactccgtgaggggccgattcaccatctccagagacgattccaagaacacactgtatctgcaaatgaatagcctgagagccgaggacacagccatatatcactgt 49 55 61 48 +JY8QFUQ01BRBL7 IGA2 ggggactccattagtggttactat tggacgtggatccggcagaccccagggaagggactggagtggattggaaat gtccattacactgggagtacc aagtacagcccctccctcaagagtcgagtcaccatgtcagttgacatgtccaggaaccagttcaccctcaaattgacctctgtagccgctgcggacacggccgtctattactgt 50 56 57 47 +JY8QFUQ01BREFM IGG1 ggattcacttttgatgactctgcc atgcactgggtgcggcaagctccagggaagggcccggagtgggtcgcaggt attagtggaaatagtggaaatata ggatatgcggactcagtgaagggccgatgcaccatctccagagacaacggcaagaattcagtatatctgcaaatgaacagtctgagagccgaggacaccgctatgtattattgt 59 43 64 47 +JY8QFUQ01BRF2O IGA1 gggttcacctttgcccactttgcc atgacctgggtccgccaggctccagggaaggggctggagtgggtctcaact attagtggtggtgatgattccaca tactacgcagactccgtgaagggccggttcaccatctccagagacaattccaagaacacgctgtatctgcaaatggacagcctgagagccgaggacacggccgtatatcactgt 49 58 60 46 +JY8QFUQ01BRIHD IGA1 ggattcagctttagttactattgg atgagctgggtccgccaggctccagggaaggggctggagtgggtggccaac ataaaggaagatggaagtgagaga cactatgtggactctgtgaagggccgattcaccatctccagagacaacgccaagagctcactgtatctgcaaatgaacagcctgagagccgaggacacggctgtatattactgt 58 45 66 44 +JY8QFUQ01BRQMG IGA1 ggggacagtgtctctagcaacagtgccact tggaactggatcaggcagtccccaacgggaggccttgagtggctgggaagg acatcctacaggtccaaatggtatagt gattatgcggtgtctgtgaaaagtcgaataaccatcaacccagacacatccaagaaccagttctccctgcaattgaactccgttagtcccgaggacacggctgtgtattactgt 59 55 59 49 +JY8QFUQ01BRZIH IGA2 ggattcatgttcggtagttatagt ctgaattgggtccgccaggctccagggaaggggctggagtggatttcatat attagtagcagtagtcaaacgatt tactacgcagactctgtgaagggccgattcaccatctccagagacaatgccaagaactcactgtatctgcaaatgaacagcctgcgagacgacgacacggccatttactacttt 58 48 54 53 +JY8QFUQ01BS2Q3 IGA2 ggattcaccttcaattcctatacc atgatgtgggtccgccaggctccggggaagggactggagtgggtctcaacc attagtcctagtagtcagtacata tactatgcagactctgtggagggccgattcaccatctccagagtcgacgcccggagttcagtgtttctgcaaatgaacagcctgagagacgacgacacggctgtgtattactgt 50 53 58 52 +JY8QFUQ01BS2WD IGA1 ggattcatcttcagtagctactgg atgcactgggtccgccaagctccagggaaggggctggtgtgggtctcacgt actaatacgggggggactgacaca gcctacgcggactccgtgaagggccgattcaccatctcccgagacaacgggaagaacacggtgtatctgcaaatgaacagtctgagagccgaggacacggctgtttattattgt 51 52 66 44 +JY8QFUQ01BSD92 IGG2 ggtgcctccatcagcagtggtagttac tgggactggatccggcagcccgccgggaagggactggagtggattgggcgt atccataccagtgggggcacc aactacaccccctccctcaagagtcgactcaccatatcagtagacgcgtccaagaaccaggtctccctgaggctgagctctgtgaccgccgcagacacggccgtgtattactgt 45 65 63 40 +JY8QFUQ01BSDSX IGG1 ggattcacctttagaagctatgcc atgagctgggtccgccaggttccagggaaggggctggagtgggtctcagct attagtggtaatggtgctaacaca tactacgcagactccgtgaagggccgattcaccatctccagagacaatttcaagaacacgctgtctctgcaaatgaacagcctgagagccgaggacacggccctatattactgt 55 53 58 47 +JY8QFUQ01BSGWN IGA2 ggattcgccttcagtagttccagc atgaactgggtccgccagggtccagggaaggggctggagtggatttcacac attaggggtagtagtagtaccacc cactacgcagactctgtgaagggccggttcaccatctccagagacaatgccaagaactcactgtatctgcaaatgaacagcctgagagacgaggacacggctgtctattactgt 55 53 60 45 +JY8QFUQ01BSOH5 IGG2 ggattcacctttggttattatggc atgagctgggtccgccaagctccggggaggggcgtggagtgggtctctgt attaatcggaatggtgatagcaca ggttatgcagactctgtgcaggaccgattcaccatctccagagacaacgccaagaactccctgtatctcgaaatgttcagtctgacagccgaggacacggccttatatcactgt 49 51 60 52 +JY8QFUQ01BSRSP IGA1 ggtggctccatgagtagttactac tggaactggattcggcagcccccagggaagggactggagtggattgggtat atctattacactgggatcacc aactacaatccctccctcaagagtcgagtcaccatgtcaatagacacgtccaggaagcagttctccctgaccctgacctctgtgaccgctgcggacacggccgtctatttctgt 48 59 54 49 +JY8QFUQ01BSZDV IGG1 acattcgcctttagcaactatgcc atgagctgggtccgccaggctccgagggaagggctggagtgggtgtcagat attagtgggagtggtgttagcaca cactacgcggactccgtgcagggccggttcaccatctccagagacaattcgaagaacacgctgtatctgcaaatgaacagcctgagtgccgaggacacggccgtatattactgt 51 53 64 45 +JY8QFUQ01BT5A6 IGG1 ggattcacctttggttattatggc atgagctgggtccgccaagctccggggaggggctgggagtgggagtctggt attaatcggaatggtgatagcaca ggttatgcagactctgtgcaggaccgattcaccatctccagagacaacgccaagaactccctgtatctcgaaatgttcagtctgacagccgaggacacggccttatatcactgt 50 50 62 51 +JY8QFUQ01BT5S9 IGA1 ggtgactccatttccagtactagttattac tggggctgggtccgccagcccccagggaaggggctggagtggattgggggt atctattctagtgggaccacc tactacaacccgtccctcaagagtcgagtcaccatatccgtagacacgtccaacaactacttctccctgaagctgagttctgtgaccgccgcagacacggctgtgtattactgt 46 61 57 52 +JY8QFUQ01BTAHR IGG1 ggattcacctttagtacctatggc atgctctgggtccgccatgttgcaggcaaggggctggagtgggtggcaact atatcagctgatggacgaaataaa tactatgcagattccgtgatgggccgattcgccctctccagagacaaatccaagaacacggattatctgcaaatgaacagcctgagaactgacgacacggctgtatattactgt 58 49 56 50 +JY8QFUQ01BTCL3 IGA2 ggattcaagtttgatgattccggc atgagctgggtccgccaagctccagggaaggggctggagtgggtctctggt attaattggaatggtggtaagaca ggttatggagactctgtgaagggccgattcaccatctccagagacaacgccaagaactccctgtatttgcaaatgaacagtctgagagccgaggacacggccttgtattactgt 53 44 65 51 +JY8QFUQ01BTIAT IGG3 ggattcacctttcatgattatacc atgcactgggtccggcaagctccagggaagggcctggagtgggtctcaagt attagttggaatagtggtaacata gactatgcggcctctgtgaggggccgattcaccgtctccagagacaacgccaataactccctgtctcttcagatgaatggtctgagatctgaggacacggccctctattactgt 50 52 57 54 +JY8QFUQ01BTOR9 IGA2 tggagtcaattcagaaacgcctgg atgaattgggtccgccaggctccagggaaggggctggagtgggttggccgt attaagagcaaagctgatggtgggacaaca gactacgccacacccgtgagaggcagattcaccatctcaagagatgattcaaaaaacacgttttatctgcaaatgaatagcctaaaaaccgaagacacagccgtctattactgt 68 48 59 44 +JY8QFUQ01BU31Q IGG1 ggattcacttttgatgactctgcc atgcactgggtgcggcaagctccagggaagggcccggagtgggtcgcaggt attagtggaaatagtggaaatata ggatatgcggactcagtgaagggccgatgcaccatctccagagacaacgccaagaagtccctgtttctgcaaattaaaagtctgagagttgaggacacggccttatattattgt 57 43 63 50 +JY8QFUQ01BU3DY IGA2 ggattcaccttcactgactactac atgacctggatccgccaggctccagggaaggggctggagtgggtttcacac attagtagtggtggtagaaccatt gcctacgcagactctgtgaagggccgattcaccatctccagggacaacgccaagaactcagtgtttctgcaaatgaacagcctgagagccgaggacacggccgtgtattattgt 53 54 59 47 +JY8QFUQ01BU5NL IGA1 ggcttcaccgtcaataacaactac atgggctgggtccgccaggctccagggaaggggctggagtgggtctcgatt atttattacggtggaaccaca tattacgctgactccgtgaagggccgattcaccatctctagagacacctccaagaacacgttatttcttcaaatgaataccctaagaggtgaggacacggctgtgtactactgt 54 52 54 50 +JY8QFUQ01BUAPX IGA1 ggattcagcttcaacagctacagc atgaactgggtccgccaggctccagggaagggactggaatggatctcatca attagtaccgctggcaccaccata ggctacgcagactctgtgaagggccgattcactatttccagagacaacgccaagaactcagtatctctgcagatggacagcctgagagacgaggacacggcggtatattattgt 59 54 57 43 +JY8QFUQ01BUG1S IGA1 ggatacaccttcaccgtctactat ctattctgggtgcgacgggcccctggacaagggcttgagtggatgggatgg atcaaccctaagagtggtgacaca cactatgcaccgaaattccagggcagggtcaccatgaccagggacacgtccatcagcacagcctacatggaactgaataggctgagatctgacgacacggccgtgtattactgt 55 56 59 43 +JY8QFUQ01BUJ4F IGA2 ggcttcaccgtcaataacaactac atgggctgggtccgccaggctccagggaaggggctggagtgggtctcgatt atttattacggtggaaccaca tattacgctgactccgtgaagggccgattcaccatctctagagacacctccaagaacacgttatttcttcaaatgaataccctaagaggtgaggacacggctgtgtactactgt 54 52 54 50 +JY8QFUQ01BUOZE IGA1 ggattcaccttcaaaagtatggc atgaactggctccgccaggctccagggaaggggctggagtgggtcgcaacc attcgcagtagtggtacttccata cactatgccgactccgtgaagggccgattcactatcaccagagacaacgccaacaactcactgtatctgcaattgaacagcctgggagtcgaggactcggctgtgtatttctgt 52 56 57 47 +JY8QFUQ01BV8FF IGA2 ggaatcaccttcagtgactccgac atgcactgggtccgccaagctccaggagaaggtctggagtgggtcgcagct attggaactgctggtgataca tactatgcagactccgtgaagggccgattctccattaccagagagaatgccaagaactccttgtttcttcaaatgaacagcctgagagccgacgacacggctatttattactgt 54 53 54 49 +JY8QFUQ01BVBOA IGA1 ggattcaccgtcaatagttatcac atgagttgggttcgccaggctccagggaaggggccggagtgggtctcaatt atttatccggatggtgacgca ttctacgcagactccgtgaagggccgattcaccttctccagagacatttccaagaacacggtgtatctccaaattaacagagtgacaactgaggacacggctatgtactactgt 54 50 55 51 +JY8QFUQ01BVHS5 IGA1 ggattcaccttcagtgactacagc atgaactgggtccgccaggctccagggcaggggctggagtgggtctca tatagtcgcggaagaaccaca tactacgcagactctgtgcagggccgattcaccatctccagagacaatgccaagaactcactgtatctgcaaatgaacagcctgacagccgaggacacggctgtttattactgt 54 56 55 42 +JY8QFUQ01BVMIC IGA1 ggatacaattttaactacgactgg atcggctgggtgcgccagatgcccgggaaaggcctggagtggatggggatg gtctatgttggtgactctgatgct agatacagcccgtcctccgaaggccaggtcaccatctcagccgacaaggccatcagtaccgcctacctgcagtggagtagcctgaaggcctcggacaccgccatgtattactgt 47 57 64 45 +JY8QFUQ01BVRVR IGG2 ggattcattgtcaatagcaactac atgagttgggtccgccaggctccagggaaggggctggactgcgtctcagtt atttatcccggtggtagcaca tactatgcagactccgtgaagggccgattcaccatctccagagacatctccaagaacacactgtatcttcaaatgaacagcctgagagccgaggacacggctgtatattactgt 55 53 53 49 +JY8QFUQ01BWBZS IGA1 ggattcaccttcagtgaccactac atagactgggtccgccaggctccaggaaaggggctggagtggttggccgt actcgaaataaagctaacggttacagtaca gagtatgccgcgtctgtgaaaggcagattcaccgtctcaagagatgactcagagaacttagtgcatctgcaaatgaacagcctgaaaagcgaggacacggccctgtattactgt 62 51 60 45 +JY8QFUQ01BWD62 IGA1 ggtgggtccttcagtacttactac tggacatggatccgccagcacccagagaagggactggagtggattggggaa atcaatcacagtggaagcccc aactacagcccgtccctcaatagtcgagtcatcatatcgatagacacgtccaagaaccaggtctccctgaagctcttctctgtgaccgccgcggacacgggtgtgtactattgt 52 58 55 45 +JY8QFUQ01BWIHJ IGG1 ggatttacttttaacaactattgg atgacctgggttcgccaggctccagggaaggggctggaatgggtggccaac ataaaacaacatggaggtgaaaag tactatgtggactctgtgaagggccgattcaccatctccagagacaacgccgagacctcagtgtatctgcaaatgaacagcctgagagccgaggacacggctgtctattactgt 60 47 60 46 +JY8QFUQ01BX0QN IGA1 ggattcaccttcagtagctatact atgaactgggtccgccaggctccagggaaggggctggagtacgtctcatcc attagtagcaatggtgcttacata tactacgcagactcaatggagggccgattcaccatctccagagacaacgccaggaactcactgtatttgcaaatgaacagcctgagagccgaggacacggctgtctattactgt 57 54 54 48 +JY8QFUQ01BX1DY IGG1 ggattcaccttcagaaaatatgct atgcactgggtccgccaggctccaggcaaggggctggaatgggtggcgatt atatcctatgatggaagaagtcca tactacgcagactccgtgaggggccgattcaccatctccagagacaattccaggagtactctggatctgcagatgaacagcctgagacctgaggacacggctgtatattcctgt 55 52 59 47 +JY8QFUQ01BX1X7 IGA1 ggatatgactttagcagattttgg atcgcctgggtgcgccagatgcccgggaaaggcctggagtggattggaatc atctatcctagtgactctgatacg agatacagtcccaccttccaaggccaggtcattatctcagccgacaagtccctcagtaccgcctacctactttttagcagtctgagggcctcggacaccgccatgtatttttgt 47 57 53 56 +JY8QFUQ01BX764 IGA1 ggatacatcttcaccggctactat ttgcactgggtgcgacaggcccctggacaagggcttgagtggatgggatac atcgacccttacactggtgacaca aattatgcacagaggtttcagggcagggtctccatgaccagggacacgtccatcagtacagcctacatggaactgaacaggctgatgtctgacgacacggccatgttttactgt 53 54 58 48 +JY8QFUQ01BXBPF IGG3 ggattcaccttcagtcgctatagc atgaactgggtccgccaggctccagggaaggggctggagtgggtctcaact attagtagtcatagtatttacata tactatgcagactcagtggagggccgattcaccgtctccagagacaacgccgagaactcgctgtatctgcacatgaacaccctcagagccgacgacacggctatatattactgt 55 55 54 49 +JY8QFUQ01BXDPP IGA1 ggattcaccttcagttcttatagt gtaaactgggtccgccaggctccagggaagggcctagagtttgtctcatac attgatagtagtggttctaccata tactacgcagactctgtgaagggccgattcaccatctctagagacaatgcccagaactcactgtttctgcaaatgaacaacctgcgagtcgacgacacggccgtatattactgt 55 53 49 56 +JY8QFUQ01BXEXG IGG1 gatggctccatcagcactagtaattactac tggggctgggtccgccagcccccagggaaggggctggagtggattggaagt atatattatagtgggagcacc gactacagctcgtccctcaggagtcgcgtcaccatatccagagacacgtccaagaaccacttctccctgaaggtgacctctgtgaccgccgcagacacggctatatattactgt 52 60 58 46 +JY8QFUQ01BXNFF IGA2 ggatacagctttgccaccttctgg atcggctgggtgcgccagatgcccgggaaaggcctggagtggatgggaatg atctttcctggtgactccgatacc agatacagcccgtccttccaaggccaggtcaccttctcagccgacaagtccatcaacaccgcctacctgcagttgaacagcctgacggcctcagacaccgccgtttattactgt 45 67 55 46 +JY8QFUQ01BXTDZ IGA1 cgtgcctccatcaatatttcctac tggagctggatccggcagcccccagggaggggactggagtggattggatat atctatgatagtgggagtacc aactacaacccctccctcaagagtcgagtcaccatatctatagacacgtccaagaaccagttctccctgaggctgaactctgtgaccgctgcggacacggccgtgtattactgt 50 59 53 48 +JY8QFUQ01BXZRW IGG1 ggattcacctccatctcctatggc atgcactgggtccgccagattccaggaaaggggctggagtcggttgcatac attagtgatagtaatagcagcata tactatgcagactctgtgaagggccgattcaccatctcccgagacaaagacaagaagtcagtatatctgcaaatgagcagcctgagagacgaggacacggctatttattactgt 61 49 54 49 +JY8QFUQ01BY0E2 IGA1 ggatacatctttaccgactattgg atcggctgggtgcgccagacggccgggaaaggcctggagtggatggggatc atctatcctggtgactctgacacc agttatggcccgtccttccaaggccaggtcaccatttcagccgaccagtccatcaccaccgcctacctgcagtggagcagcctgaaggcctcggacaccgccatatattactgt 45 65 58 45 +JY8QFUQ01BY2NW IGA2 ggattcatcttcagtagctactgg atgcactgggtccgccaagctccagggaaggggctggtgtgggtgtcacgt agtaatacgggggggactgacaca gcctacgcggactccgtgaagggccgattcaccatctcccgagacaacgggaagaacacgctgtatctgcaaatgaacagtctgagagccgaggacacggctgtttattactgt 51 52 67 43 +JY8QFUQ01BY2RR IGA2 ggattcacttttaatgaacatggc atgcagtgggtccggcaagctccagggaagggcctggagtgggtcgcaggt atcagcggtaatggtgatgtcata ggatatgcggactctgtgaagggccgagtcaccgtctccagagacaacgccaaagactctctatatttgcagatggacagtctgagagttaatgacacggccttatattattgt 54 43 64 52 +JY8QFUQ01BY3HN IGA2 ggattcaccttcagtgcctttact atgcactgggtccgccaggctccaggcgagggactagagtgggtggcagct atatcatatgatggcagtaaaaaa tactatgcggactttgtgaagggccgattcaccatctccagagacaatcccaagagtacactgtatctacaaatgaacggcctgggaggtgatgacacggctttgtattactgt 56 48 57 52 +JY8QFUQ01BYDVO IGA1 ggcttcagattccgtgactactac atgacgtgggtccgccaggctccagggaagggtcttgagtggctttcctcc atcagcagcggtagtaataccatc cactactcagactcggtgaggggccgcttcaccatctccagggacaacaccaggaactcagtggatctgcaaatgaatagtctgagagccgaagacacggccgtctattattgt 51 58 57 47 +JY8QFUQ01BYFAI IGG1 gctttcagtttgagtacttatacc atgaactgggtccgccaggctccagggaaggggctggagtgggtttcactc attagtaagactagtaatgtcata tactacgcggactctgtgaagggccggttcaccatctccagagacaatgccgagaattcactgtttctgcaaatggacagcctgagtgccgaggacacgggtgtatattactgt 52 47 59 55 +JY8QFUQ01BYGMF IGA1 ggattccccttcagcacctatccc atgagctgggtccgccaggctccagggaaggggctggagtgggtctcatac attagtaagactactaatgacata tactatgcagactcagtgaagggccgattcaccatctccagagacaacgccaagaactcactgtatctgcaaatgaacagcctgagagccgaggacacggctgtgtatttctgt 57 56 54 46 +JY8QFUQ01BYOYM IGA1 ggattcatcttcagtaattatggc atgcactgggtccgccaggctccaggcaaggggctggagtgggtggctgtt ctgtggttcaatggaaatacgaag tattatgcagactccgtgaagggccgcttcaccatctccagagacacatccacgaacacgctgtttttgcaaatggacagcctgagagccgaggacacggctgtctattattgt 50 50 61 52 +JY8QFUQ01BYP0E IGA1 ggattcaccttcagcaaccataac atgaactgggtccgccaggctccagggaaggggctggagtgggtctcatgt attggtagtagtagtagtgacata tactacgcagactcagtgaagggccgattcaccatctccagagacaacgccaagaactcactgtatctgcaaatgaacagcctgagagtcgaagacacggctgtgtattactgt 60 50 57 46 +JY8QFUQ01BYRXT IGG1 ggtttcatcttcagtcacttcagc atgaactgggtccgccaggctccaggaaagggcctggagtggatcgccgac atcagtagttcaagtgcatacatc acctatgcagattcagtcaggggccgattcgtcgtctccagggacgacgccaaggactccctgtacttgcaaatggacaacctgggagtcgacgatacggccacctattattgt 50 58 57 48 +JY8QFUQ01BYXJU IGG1 ggattcacctttggttattatggc atgagctgggtccgccaagctccgggggaggggcgtgagtgggtctctggt attaatcggaatggtgatagcaca ggttatgcagactctgtgcaggaccgattcaccatctccagagacaacgccaagaactccctgtatctcgaaatgttcagtctgacagccgaggacacggccttatatcactgt 49 51 61 52 +JY8QFUQ01BZEWU IGA1 gattttaccttcagtaagttctgg atgcattgggtccgccaagctccagggaaggggctgacttgggtctcacgt attaatcctgatgggactatcacg aactacacggactccgtgaggggccgattcatcacttccagagacaacgccaagaacacagtatatctgcagatgaacagtctgcgagtcgaggacacaggtgtatattactgt 56 50 56 51 +JY8QFUQ01C0J5I IGG3 ggattcaccttcagtgtccatagc atgaactgggtccgccaggctccagggaaggggctggagtgggtttcatac cttagtagtggtagtgataccata tactacgcagactctgtgaggggccggttcaccatctccagagacaacgccaagaactcactgtatctgcaaatgagtggcctgagagacgaggacacggctgtttattactgt 52 50 61 50 +JY8QFUQ01C0LHV IGA1 ggattcacctttcgcagctatgcc atgagctgggtccgccaggctccaggaagggggctagagtgggtctcatct atcagtggtagtggtgataaaaca aagtacgcagactccgtgaagggccggttcaccatctccagagacaacgccaggaacactttttatctgcaaatggacagcctcagagccgaggacacggccgtctattactgt 53 55 60 45 +JY8QFUQ01C0T0E IGA2 ggattcacctttagcaactatgcc atgaactgggtccgccaggttccaggggaggggctggagtgggtctcagcc attagtggcagtggtggtagcaca ttctacacagacgccttgcagggccgattcaccatctccagagacaattccaagaacacgttatatttgcaaatgaaaagcctgagagccggggacacggccgtgtattactgt 53 52 61 47 +JY8QFUQ01C0V8V IGG1 ggattcatgttcagcagttattgg atgagctgggtccgccaggatccagggaagggctggagtgggtggccaat ataaacgaagaaggaagtgagaaa tattatgtggactctgggaagggccgattcaggatctccagagacaacgccaagaattccgtgtatctgcaaatggacagcctgagagccgaggacacggctgtgtattactgt 59 39 69 45 +JY8QFUQ01C0YWV IGG1 ggattcactttcactaacgcgtgg atgagttgggtccgccaggctccagggaaggggctggagtgggttgcccgt gttaaaactaagactgacgatggggcaaca gactacgctgcacccgtgaaaggcagattccttatctcaagagatgattcaaacaacatactgtatctgcaaatgaacagcctgagaaccgaggacacagccatgtactactgt 62 51 60 46 +JY8QFUQ01C13EL IGA1 ggatacaccttcatcagttatgat atcaattgggtgcgacaggccactggacaagggcttgagtggatgggatgg atgaaccctaacagcggtaacaca gggtttgcacagaggttccagggcagagtaaccatgaccaggaacatctccataaacacggcctacatggagctgaccaacctgacatctgatgacacggccgtatattattgt 62 49 57 45 +JY8QFUQ01C160X IGG1 ggtggctccatcaggagtggtagttactac tggagctggatccggcagcccgccgggaagggactggagtggattgggcgt atatatagcagtgggagcatc gcacgcaacccctccctcaagagccgagtcaccatatcaattgacacgtccaagaaccaggtctccctgaaactgggctctgtgaccgccgcagacacggccgtctattattgt 49 60 64 43 +JY8QFUQ01C17HE IGG2 ggattcagcctcacttcctatggc atgaactgggtccgccaggctccagggaggggcgtggagtgggtctcacac gttaatatgggtagtactcacata tactacgtaggctccgtgaggggccgattcaccatctccagagacgacgccaagaactcagtgtatctgcagatgaacaacttgagagccgaggacacggctctatattactgt 52 54 60 47 +JY8QFUQ01C185F IGA1 gggttcgtgttcggtaacttcttt atgaattggttccgccagcctccgggaaaggggctggagtgggttggccgc atcaaaaccaaagttgatggtgagacaaca gactacgctgcagccgtgaaagacagattcatcatttcaagagatgattcaaaaaatacgatgtatctgcaaatgaacgacctgaagaccgaggacacggccgtatattattgt 64 44 59 52 +JY8QFUQ01C1QUY IGA2 gggttcagtttcattgactatggc atacactgggtccgccaggctccaggcaaggggctggagtggatggcaatt atatggtatgatgggaaaaataaa tattatgaagagtccgtgaaggaccgattcaccgtctccagagacaattccaagaacacggtgtatttggaagtgaatagtctgagagtcgacgacacggctgtgtattactgt 60 38 62 53 +JY8QFUQ01C1UWI IGA1 ggattcaccttcagtgactactac atgaactggatccgccaggctccagggaaggggctggagtggctttcatac attagtggtagtggaactaccata tactacgcagactccgtgaagggccgcttcaccatctccagagacaattccaagaacacactgtatttacaaatgtacagcctgagagtcgaggacacggccgtatattactgt 59 53 52 49 +JY8QFUQ01C1WLX IGA2 ggatacaccttcaccagttatgat atcaactgggtgcgacaggccgctggacaagggcttgagtggatgggatgg gtgaaccctaatagtggtgccaca ggctatgcacagaagttccagggcagagtcaccatgagcagggacacctccgaaagtacagcctacgtggagctgagcagcctgggatctgaggacacggccgtgtatttctgt 53 50 68 42 +JY8QFUQ01C24ZT IGA1 ggattcacctttgatgattatgcc atgcactgggtccggcaagctccagggaagggcctggagtgggtctcaggt attacttggaacagtggtaggata ggctatgcggactctgtgaagggccgattcaccatctccagagacaacgccaagaactccctgtatctgcaaatgaacagtctgcgacctgaggacacggccttgtattattgt 51 50 61 51 +JY8QFUQ01C2553 IGG2 ggattcaccttcaccaactacgcc atgacctgggtccgccaggctccagggaaggggctggagtggatctcgact gttgtgggtggcggtggtaacaca tactacgcagactccgtgaagggccggttcaccatctccagagacaattcccagaacacgctgtatttgcaaatgtacaatttgggagccgaggacacggccctatattactgt 50 57 60 46 +JY8QFUQ01C26ES IGG1 ggtgtcgccaccagtagttactac tggagctggatccggcagtccgccggggcgggactagagtggattgggcgc atctataccggtcacaccacc atttacaaccctccctcaagggtcgagtcaccatgtcacttgacatgtccaagaaccagatctccctgaggctgacctctgtgaccgccgcagatacggccgtgtattactgt 44 64 56 45 +JY8QFUQ01C28D8 IGA1 ggataccccttcgacagttatgat atcagctgggtgcgacaggccactggacaagggcttgagtggatgggatgg atgaaccctaacagtgggaataca gcctatgcacagaagttccagggccgagtcacgatgaccagggacacctccacaagcacagcctacatggaggtgagcagcctcagatctgaggacacggccgtctattactgt 57 54 63 39 +JY8QFUQ01C2A2E IGA2 ggaatcaccttcagtgactccgac atgcactgggtccgccaagctccaggagaaggtctggagtgggtcgcagct attggaactgctggtgataca tactatgcagactccgtgaagggccgattctccattaccagagagaatgccaagaactccttgtttcttcaaatgaacagcctgagagccggggacacggctgtttattattgt 52 51 57 50 +JY8QFUQ01C2JVO IGA1 ggatacaactttgccacctattgg atcggctgggtgcgccacatgcccgggaaaggcctggaatggatggggatg atctttgctggtgactctgacacc agatacagtccgtccttccgaggccaggtcaccatgtcagccgacaagtccatcaacaccgcctacctgcagtggagcagcctgatggcctcggacaccgccatatattactgt 47 63 58 45 +JY8QFUQ01C2XG5 IGA2 ggattcacctttagtagatattcc atgcactgggtccgccaggctccaggcaaggggctagagtgggtggcactt atatcatacgatggaagtagaaga atctacgcagactccgtgaagggccgattcaccatctccagagacacttccaagaacacggtgtatctgcaaatgagtagcctgagacctgaggacacggctgtgtattactgt 57 50 58 48 +JY8QFUQ01C2XX8 IGA1 ggattcagatttagcagctatggc atgagctgggtccgccaggctccaaaaaaggggctggagtgggtctcagga attagtgcgaatggtggtagtata aattatgcagactccgtgaagggccgattcatcatctccagagacaattccaagaacacattgtttctgcaaatgaatagcctgagagccgaagacacggccgtatattactgt 61 43 59 50 +JY8QFUQ01C33GJ IGA2 agttcagccttcagtagctactgg atgcactgggtccgccaagctccagggaaggggctggtttgggtctcacgt gttaatggtgatgggggtaggaca gcctacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaacactctctatctccaaatgaacagtctgagagccgaggacacggcaatatattactgt 53 54 61 45 +JY8QFUQ01C39LJ IGA1 ggattcaccttcagtagctacggc atgcactgggtccgccaggctccaggcaaggggctggagtgggtggcagtt gtctcatttgatggaattcttgaa cactatgcagactccgtgaagggccgattcaccatctccagagacaattccaagaacacggtatatctccaaatgagtagcctgagacctgaggacacggctgtctattactgt 52 53 58 50 +JY8QFUQ01C3FR9 IGA1 ggtggctccgtcagcagtaggggttactac tggaactggatccgccagttcccagggaagggcctggagtggattgggaac atcttttacagtgggggcacc tacgacaacccgtccctcaggagtcgaatttctatatcattagacacgtctaagaaccaattctccctgaagttgacctctatgaccgccgcggacacggccgtgtattactgt 49 57 59 51 +JY8QFUQ01C3HIA IGA1 ggattcaacttcaggacctattct atgcactggctccgccaggctccaggcaagggactagagtgggtatcagtt atttcatatgatggaactaagaag aattatgcagactccgtgaagggccgattcaccatctccagagacaattccaagaacacggtgtatctacaaatggacagcctgagacctgaggacacggctgtgtattactgt 61 49 53 50 +JY8QFUQ01C3HRU IGA1 ggattcaactttgatgattacggc atgcactgggtccggcaacgcccagggatgggcctggagtgggtcgcaggt attagttataataatggccacaaa gaatatgcggactctgtgaggggccgattcaccatctctagagacaacgccaggaagtccctgtatctgcagatggacagtctgagagttgaggacacggccttgtattattgt 53 45 64 51 +JY8QFUQ01C3JTT IGG1 ggattccttttagaacctattgg atgagttggtccgccaggctccagggaaagggctggagtgggtggcccac ataaaccaagatggacgtgaggca tactatgtggactctgtgaagggccgattcaccatctccagagacaacggcaagaattcagtatatctgcaaatgaacagtctgagagccgaggacaccgctatgtattattgt 58 45 60 48 +JY8QFUQ01C3KAU IGA2 ggattcaccttcagtatctatgcc atgacctgggtccgccaggctccagggaaggggctggagtggatttcattt atcactgataggggtagtacccaa tactacgcagactctgtgaagggccgattcaccgtctccagggaccaagccaagaactcactgtatctacaaatgaacaacctgggagtcgaggacacggctgtgtattattgt 54 52 57 50 +JY8QFUQ01C4D0M IGG1 ggattcaccgtcagtagcagcttc atgacttgggtccgccaggctccaggaaagggactggagtgggtctcagtg ctttatgtcggtggtaacaca tactacgcagactccgtgaagggccgattcaccatctccagagacaattccaagaacacggtgtatttgcaactgaacagcctgagagccgaggacacggctgtgtattactgt 52 52 59 47 +JY8QFUQ01C50HS IGA1 ggtggcccgatcaaaagtcctgattaccat tggacgtggatccggcaggccgccgggaaggggctggagtgggtcgggcgt gtctatatgactggctatgtc gagaacaatccatccctctccgggcgtctctccatgtcgattgacacggcgaagaatcagttttctatgacattgacttctgtgaccgccgcagacacggccctttatttttgt 42 56 63 55 +JY8QFUQ01C5CP6 IGA2 ggattcacctttagtacctattgg atgagctgggtccgccaggctccagggaaagggctggagtgggtggccaac ataaagcatgatgcaagtgagaaa tactatgtggactctgtaaaaggccgattcaccatctccagagacaacgccaagaactcattgtatttacaaatgaacaacctgagagccgaggacacggctgtgtattactgt 63 46 57 47 +JY8QFUQ01C5MCI IGG1 ggatcacctttggttattgatggc atgagctgggtccgccaagctccggggagggggctggagtgggtctctggt attaatcggaatggtgatagcaca ggttatgcagactctgtgcaggaccgattcaccatctccagagacaacgccaagaactccctgtatctcgaaatgttcagtctgacagccgaggacacggccttatatcactgt 49 51 62 51 +JY8QFUQ01C6DDZ IGA1 ggattctcctttagcaactatgcc ctggcctgggtccgccaggctccagggaaggggctggagtgggtctcaatt gttagtggaagtggtactggcaca ggccacgcagactccgtgaggggccggttcaccatctccagagacaattccaagaacacgctatatctgcaaatgaacagcctgagagccgaggacacggccgtatattactgt 50 56 63 44 +JY8QFUQ01C6GOS IGG2 ggtggctccatcaacagtagaaattattat tggggctggatccgccagcccccagggaagggtttggagtggattggaaat atctattatagtgggaacacc tactacaatccgtccctcaagagtcgagtcaccgtatccgtagacaggtctaagaaccagttgtccctgaagctgacctctctgaccgccgcagacacggccgtatattactgt 55 55 55 51 +JY8QFUQ01C71OC IGA2 ggattcaccttcatcagttatggc atgagttgggtccgccaggttccagggaaggggctggagtgggtctcatct attagtgattatggtaataccgca ttctacgcagactccgtgaagggccggttcaccatctccagagacaattccaacaacacgctgtttctgcaaatgagcagcctgagagccgaggacacggccgtttattattgt 50 51 58 54 +JY8QFUQ01C73TY IGA1 ggtggcgccatcagcagtaatagttactac tgggactggatccgccagcccccagggaaggggctggagtggattgggagt atgttttatactggggtcacc ttctacaacccgtccctcaagagtcgagttaacatttccgtggacacgtccaagagccagttctccctgaggctgagctctgtgaccgccgcagacacggctgtgtatcactgt 45 58 63 50 +JY8QFUQ01C7540 IGA1 ggattcatcttcagcaaccttgcg atgcactgggtccgccaggctccaggcaaggggctagagtgggtggcacac atatcatatgatggaaataagaaa tactacgcagactccgtgaagggccgattcaccatctccagagacaattccaagaacacgctgtatctgcaaatgaacagcctgacagctgaagacacggctatttattactgt 63 53 52 45 +JY8QFUQ01C7QU9 IGA1 ggattcaccttcagtacctatggc atgcactgggtccgccaggctccaggcagggggctggagtgggtggcaatt atatggcatgatggaaccaataaa tactatgcagactccgtgaagggccgattcaccgtctccagagacaattccaagaacacagtgtatctgcaaatgaatagcctgagagccgaggacacggctgtgtattattgt 57 49 60 47 +JY8QFUQ01C7ZZV IGA2 ggattcacctttagcaatgctgcc atgacgtgggtccgccaggctccagggaaggggctagagtgggtctcaggt attagtattagtggtgatagaaca tattacgcagactccgtgaagggccggttcaccatctctagagacaattccaagaataccgtgtatctgcaaatgaacagcctgagagccgaggacacggccatatattattgt 57 47 59 50 +JY8QFUQ01C819B IGA1 ggattcacctttagcaactttgcc atgacctgggtccgccaggctccagggaggggactggagtgggtctcaact attagtggtagtgatggtagcaca tacttcgcagactccgtgaagggccgattcaccatctccagggacaatttcaagaacacgctgtatctgcaaatggacagcctgagagccgaggacacggccgtatattactgt 52 53 60 48 +JY8QFUQ01C847F IGG1 ggattcaccttcagtgactactac atgatctggatccgccaggctccagggaaggggctggagtgggtttcatac attactagtcgtggtactatcatg tacgcagactctgtgaagggccgattcaccatctccagggacaacgccaagaactcactgtctctgcaaatgaacagcctgagagccgaggacacggccatttattactgt 53 54 54 49 +JY8QFUQ01C8AA1 IGA1 ggatacaactttgacaccgattgg atcgcctgggtgcgccagatgcccgggaaaggcctggagtggatggggatc atctatcctgctgactctgatacc agatacagtccgtccttccaaggccaagtcaccatctcagccgacaagtccatcaacaccgcctacctgcagtggagcggcctgaaggcctcggacaccgccatctattattgt 49 65 55 44 +JY8QFUQ01C8ASE IGA1 ggattcgccttcaaaagttttaac atgaattgggtccgccaggcttcagggaaggggccggagtggattgcatac attaatggaagagggactaacatc tactatgcagactctgtgaagggccggttcaccatctccagagacaacgcccagaacgcagtgcatctgcagatggaccgcctgagagtcgaggacacggccctatattactgt 57 51 60 45 +JY8QFUQ01C8FEX IGG1 ggattcaccttcaatagccatggc atgcactgggtccgccaggcgccaggcaaggggctggagtgggtggctgct attcggtttgatggaagtaataaa tactatgcagactccgtgaagggacgattcaccatctccagagacaattccaagaacacgttgtatctgcaaatgaacagcctgagagccgaggacacggctgtgtactactgt 56 50 61 46 +JY8QFUQ01C8GT7 IGA1 ggattcaccttcagttcttatagt gtaaactgggtccgccaggctccagggaagggcctagagtttgtctcatac attgatagtagtggttctaccata tactacgcagactctgtgaagggccgattcaccatctctagagacaatgcccagaactcactgtttctgcaaatgaacaacctgcgagtcgacgacacggccgtatattactgt 55 53 49 56 +JY8QFUQ01C8YUG IGG2 ggtgcctccatcaggagttattat tggagttggatccggcagcccccaggaaagggactggagtggattggttat attaattatgttggggacacc gattacaacccctccctcaagagtcgagtctccatgtcagcagccacgtccaagaaccaggtcttcctgcagctgacctctgtgaccgctgcggacaccgcctattatttctgt 46 57 54 53 +JY8QFUQ01C9KPR IGA1 ggattcagcttcggcaattacgcc atgcactgggtccgccaggctccaggcaagggcctagagtgggtggctgtc ataaataaggctgggaagactaaa cattatatagactccgtgaagggccgattcaacgtctccagagacaactccgaaaaacactctatttggagatgaataacgtgggagttgaggacacggctgtatattattgt 60 45 59 48 +JY8QFUQ01C9RTB IGA1 ggtgactccatcagcagtaatagtttctac tggggctggatccgccagcccccagggaaggggctggagtggattgggaat atctattatagtgggagcacc tactacaacccgtccctcgagagccgagtcaccatatccgtagatacatccaggaaccagttctccctgaagctgaggtttgtgaccgccgcagacacggctgtgtattactgt 50 57 60 49 +JY8QFUQ01C9UFU IGA2 ggattcaccttcagtagctactgg atgcactgggtccgccaagctccagggaaggggctggtgtgggtctcacgt gttaatggtgatgggggtagcaca gcctacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaacactctctatctccaaatgaacagtctgagagccgaggacacggctgtatattactgt 51 55 62 45 +JY8QFUQ01CA1G6 IGA1 ggtggctccatcagtagttactac tggagctggatccggcagcccccaggaaagggactggagtggattgggtat atcttttacactgggaccacc aactacaacccctccctcaagagtcgagtcaccatgtcaatagacacgtccaagaaccagttctccctgaagctgagctctgtgaccgctgcggacacggccgtctattactgt 50 61 53 46 +JY8QFUQ01CA2ZN IGG2 ggattcacctttagcatctatgcc atgagctgggtccgccaggctccagggaaggggctggaatgggtctcgact attagtggtagtggaaatagtaca taccatgcagactccatgaagggccggttcaccctctccagagacaattccaagaacacgctgtatctgcaaatgaacagcctgagagccgaggacacggccgtatattactgt 56 53 58 46 +JY8QFUQ01CA830 IGG1 gacttcacctttaatagctatgcc atggcctgggtccgccaggctccagggaaggggctggagtgggtctcggct attggtgccagtggctacagcaca tactacgcagactccgtcaagggccgcttcaccatctccagagaccattctaacagcacgctgcatctgcaaatgaacagcctgagagccgaagacacggccgtttattactgt 49 62 57 45 +JY8QFUQ01CABXM IGG2 ggattcacctttaccaactacgcc atgagctgggttcgccaggttccagggaaggggctggagtgggtctcactt attagtgttcgtggcgatgacacc ttctatgcagactccgtgaagggccggttcaccatctccagagacaactccaagaacacgctgtatctgcaaatggacatcctgaaacccgaggacacggccgtttattttgc 49 57 56 50 +JY8QFUQ01CAI7Q IGA1 ggtgcctccatgagcagtagtgcatactac tggggctgggtccgccagacccccgggaaggggccggagtggattgggagt gtctactatggtgggagcacc tactacaacccgtccctcaagagtcgggcctccatttctgtcgacacgtccaggaacgagttctccctgaggctgaactctgtgaccgccacagacacggctatgtattactgc 43 63 65 45 +JY8QFUQ01CAN9N IGA2 gggttcaccttcagtgactactac atgggctggatccgccaggctccagggaaggggctggagtggattgcgtac attagtggtagtggtgataccata tactacgcagactctgtgaagggccgattcaccatctccagggtcaacgccaagaactcactgtctctgcaaatgaacagcctgagagccgaggacacggccgtgtattactgt 51 53 62 47 +JY8QFUQ01CAR29 IGA2 ggattcaccttcagtagctactgg atgcactgggtccgccaagctccagggaagggctggtgtgggtctcacgt gttaatggtgatggggtagcaca gcctacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaacactctctatctccaaatgaacagtctgagagccgaggacacggctgtatattactgt 51 55 60 45 +JY8QFUQ01CB275 IGG1 gggttctcactcagcactggtggagtgggt gtgggctggatccgtcagccccaggaaaggccctggagtggcttgcactc atttattgggatgatgataag cgctacagcccatctctgaagagcagactcaccatcaccaaggacacgtccaagaaccaggtggtcctcacaatgaccaacatggaccctgtggacacagccacatattactgt 54 59 58 44 +JY8QFUQ01CB2DX IGG2 gggttcaccttcagtggctctgct atgcactgggtccgccaggcttccgggaaagggctggagtgggttggccgt attagaagcaaagctaacagttacgcgaca gcatatgctgcgtcggtgaaaggcaggttcaccatctccagagatgattcaaagaacacggcgtatctgcaaatgaacagcctgaaaaccgaggacacggccgtgtattactgt 56 52 65 46 +JY8QFUQ01CBC07 IGA1 ggtggttctactcgcactaaccattgg tggaattgggtccgccagccccccgacaagggactggagtggattggagaa gtctataagagtggacagacc aactacaacccgtcactccagagtcgcgttgacctcttcattgacaactccaggaatcagatctccctaaatatgagagatgtgaccgccgcggacacggccgtctattactgc 54 59 55 45 +JY8QFUQ01CBLRN IGG3 ggattcacctttaacaactacgcc atgtcctgggtccgccaggctccagggaaggggcttgagtgggtctcagct ataactgatagcggtctttacaca tactacgcagactccgtgaggggccggttcaccgtctccagagacacttccaagaacacgctgtttctgcaaatggacagcctgagagccgaggacacggccgtatatttctgt 49 59 57 48 +JY8QFUQ01CBORW IGG2 ggattcagttttagttcttatggc atgaactgggtccgccaggctccatggggggggctggagtgggtctcattc attaacagtgttagtagttacaaa tactatgtggacccagtgaggggccgattcaccatctccagagacaacgccaagaacgcactgtatttgcaaatgaacagcctgagagccgaggacacggctgtttactactgt 53 47 60 53 +JY8QFUQ01CBST2 IGA1 ggattcaacttcggtgactactac atgaactggatccgccaggctccagggaaggggctggagtgggtttcattc attagtagtcctggtatcaggagt ttctacgcagactctgtgaagggccgattcactatttccagggacaacgccaagaactcattgtatctgcaaatgaacagcctgagagtcgaggacacggccatatattactgt 55 48 57 53 +JY8QFUQ01CBUHR IGA1 aatgtacccatcagtcgtggaggttactac tggaattggatccggcaggccgccgggaaggggctggagtggcttggacgt gttgacagtaatggattcgtc aggtacaattcttccctcaaaagtcgcctttctatgtcactagacacgtccaagaatcagatctccctgatattgaggtctgtgatcgccgcagacacggccgtatatttctgt 49 51 59 57 +JY8QFUQ01CC9VV IGA2 ggattcacctttagtaattactgg atgcactgggtccgccaagctccaggggagggactggtgtgggtctcacgg actaatgaagatgggagtatcaca aactacgcggactccgtggaggaccgattcaccatctccagagacaacgccaagaacaggctgtttctgcaaatgaacagtctcagagtcgaggacacggctgtttattactgt 56 50 60 47 +JY8QFUQ01CCN00 IGA1 ggcttcacgttcagtagttatggc atgcaatgggtccgccaggctccaggcaaggggctggagtgggtggcagtt atttggtatgatggaagtaataaa tattatgcagactccgtgaagggccgattcgacatctccagagacaattccaagaacacactatatctgcaaatgaacaacctgagagccgaggacacggctatgtaccattgt 60 45 59 49 +JY8QFUQ01CCO0W IGG1 ggattcagtttcagtagctatgca atgcattgggtccgccaggctccaggcaaggggctagagtgggtgacagtt atatcagctgatgcaactaccagt cactacgcagactccgtgaagggccgattcacccactccagagacaattccaagaacacgctgtctctgcaaatggacagcctgagacctgaagacacggctgtatattactgt 57 55 55 46 +JY8QFUQ01CCV7N IGG1 ggaatcacttttcccagctatgtc atgagttgggtccgccaggcccagggaaggggctggagtgggtcgcaagc attagtgccaggggcgacagttca tactacgcagactccgtgaagggccgattcaccatctccagggacaatcccaggaccacattgtatctggaaatgaacagtctgagagtcgaagacacggccacatattattgt 54 53 61 44 +JY8QFUQ01CCYR6 IGA1 ggatacagcttcactaatcacatt atccattgggtgcgccaggcccccggacaagggcttgagtgggtggggtcg atcaacgctggcaatggcaataca agatattcacagaagttgcagggcagagtcaccatttccagggacacatccgcgagcatcgccaacatggagttgagcagcctgagatatgaagacacggctgtatattattgt 58 50 60 45 +JY8QFUQ01CCYZD IGA2 ggtggctccatcagtggtactccttactac tggggctggatccgccagcccccaggtaagggctggagtggattgggcat gtatatcacagagggaccacc tactacaacccgtccctcaagagtcgagtcgccatatccgtagacacgtccgagaaccggttctccctgcagttgaactctgtgaccgccgcagacacggctgtatattactgt 46 64 58 47 +JY8QFUQ01CCZ8L IGA1 ggattcacgtttagagactattgg atgagttgggtccgccaggctcctgggaggggctggagtgggtggccaac ataaagcaagatgcaagtgaggaa tactatgtggactctgtgaagggccggttcaccatctccagagacaacgccaagagctcactgcatttgcaaatgaacagcctgagagccgaggacacggctatgtattactgt 56 45 66 45 +JY8QFUQ01CD8PO IGG2 gggttctcactcagcactggtggagtgggt gtgggctggatccgtcagccccaggaaaggccctggagtggcttgcactc atttattgggatgatgataag cgctacagcccatctctgaagagcagactcaccatcaccaaggacacgtccaagaaccaggtggtcctcacaatgaccaacatggaccctgtggacacagccacatattactgt 54 59 58 44 +JY8QFUQ01CDA18 IGA1 ggtggctccgtcagtagtggttcttactac tggagctggacccggcagcccgccgggaagggactggagtggattgggcgt gtccacagcggtggcagttcc gactacaacccgtccctcacgggtcgagccaccatcttagtggactcctccaagaatcagttctccctgaggctgacctctgtgacggccgcagacgcggccgagtatttctgt 37 65 68 46 +JY8QFUQ01CDA2Z IGA1 ggattcacctttagtagtttctgg atgcactgggtccgccaagttccaggggagggactggtgtgggtcgcacgg actaatgagtatgggagtatcaca aactacgcggactccgtggagggccgattcaccatctccagagacaacagcaaaaactccctgtatctgcaaatgaacagtctgagaactgaggacaccgccttgtattactgt 55 51 59 48 +JY8QFUQ01CDCEV IGG2 ggattcaccgtcagtagcagcttc atgacttgggtccgccagctccaggaaagggactggagtgggtctcagtg ctttatgtcggtggtaacaca tactacgcagactccgtgaagggccgattcaccacctccagagacaattccgagaacactctgtatcttcaaatgaacaacctgagacctgaggactcggctgtgtattattgt 52 53 54 50 +JY8QFUQ01CDHKA IGG2 ggactcatgtttagcagctatgcc atgacctgggtccgccaggctccagggaaggggctggagtgggtctcaagt gtcagtagtagtactggtttcaca tactacacagactccgtgaagggccggttcaccatctccagagacaattccaagaacacgctgtatctgcaaatgagcagcctgagagccgaagacacggccgtatattattgc 54 54 59 46 +JY8QFUQ01CDYHQ IGG1 ggattcaccgtcagtagcagcttc atgacttgggtccgccaggctccaggaaagggactggagtgggtctcagtg ctttatgtcggtggtaacaca tactacgcagactccgtgaagggccgattcaccacctccagagacaattccgagaacactctgtatcttcaaatgaacaacctgagacctgaggactcggctgtgtattattgt 52 53 55 50 +JY8QFUQ01CE2OJ IGA1 ggtgggtccttaagtgactcctac tgggcctggatccgccagcccccagggaagggcctggagtacattggggag atcagtcatgatggtagaacc atgttcaattggtccctcaagagtcgactcaccatctcagtagacacgtccaagaatcaattctccctgagattgacctctgtgaccgccgcggacacggctgtttattactgc 47 58 56 49 +JY8QFUQ01CE4MI IGG3 gggttcaccttcagtggctctgct atgcactgggtccgccaggcttccgggaaagggctggagtgggttggccgt attagaagcaaagctaacagttacgcgaca gcatatgctgcgtcggtgaaaggcaggttcaccatctccagagatgattcaaagaacacggcgtatctgcaaatgaacagcctgaaaaccgaggacacggccgtgtattactgt 56 52 65 46 +JY8QFUQ01CEBF1 IGA1 ggattcaccttcagttactcctgg atgcactgggtccgccaagttccaggaaaggggccggtgtgggtctcacaa attaaaagtgatgggagtacccca agttacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaacacgctgtatctgcaaatgaacagtctgagagtcgaggacacggctgtttattactgt 56 53 58 46 +JY8QFUQ01CEEUJ IGA2 ggattctcctttagtgcatatggc atacactgggtccgccagactccaggcaaggggctggagtgggtggctgtt atgtattttgatggagttagaaca ttttatgcagactccgtgaagggccgattcaccctctccaaagactattccaagaacacggtgcatctgcaaatgaacagcctgcgagccgaggacacggctgtatattactgt 52 49 58 54 +JY8QFUQ01CEH7I IGG1 ggattcaccttcagtgactatggc atgcactgggtccgccaggctccaggcaaggggctggagtgggtgacagtt attttatatgatggaagtagaaaa tactatgcagactccgtgaagggccgattcgccatctccagagacgtttcgaggaacacgttgtatctgcagatgaatagcctgagacctgaggacacggctgtatactactgc 54 47 62 50 +JY8QFUQ01CF2KP IGG1 ggattcagtcctaccgatttttgg atcggctgggttcgccagctgcccggcaaaggcctggagtggatgggcctc atttatcctggtgactctgagacc agattcaacccgtccttccaaggccaggtcaccatctcagccaacaagtccataaataccgcctacctacagtggagcagcctgaaggcctcggacactgccgtgtattactgt 46 64 54 49 +JY8QFUQ01CF6ST IGA2 ggattcaccgttagtaggtattgg atgagctgggtccgccagtctccagggaagggactggagtggctggcccac ataggaggagatggaagtgaggct ggttatgtggactctgtgaggggccgattcttcatctccagagacaacgccaagagctccctctatctgcagatgaacagcctgagccccgaggacacgggtgtgtattattgt 47 47 71 48 +JY8QFUQ01CF885 IGA2 ggattcagcttcggcaattacgcc atgcactgggtccgccaggctccaggcaagggcctagagtgggtggctgtc ataaataaggctgggaagactaaa cattatatagactccgtgaagggccgattcaacgtctccagagacaactccgaaaaacactctatttggagatgaataacgtgggagttgaggacacggctgtatattattgt 60 45 59 48 +JY8QFUQ01CGAYM IGA1 ggattcacgtttaaaacacatgcc atgagctgggtccgccaggctccaggaaaggggctggagtgggtctcaaat atcagtggcagtggtggcacaaca aattacgcggagtccgtgaagggccggttcaccatctccagagacaatgacaagaatatcctgtatctacaaatgaacaccctgagagtcgaggacacggccatatattactgt 62 50 58 43 +JY8QFUQ01CGPNS IGG2 ggtgtcgccaccagtagtggcacttactac tggagctggatccggcagtccgccggggcgggactagagtggattgggcgc atctataccggtcacaccacc atttacaacccctccctcaagggtcgagtcaccatgtcacttgacatgtccaagaaccagatctccctgaggctgacctctgtgaccgccgcagatacggccgtgtattactgt 45 67 58 46 +JY8QFUQ01CGQAI IGA1 ggtttcacgtttgacaactatgcc atgacttgggtccgccagactccagggaaggggctgcagtggctctcaact attactgcttatgggactctcaca tactacgctgcctccgtgaagggccggttcaccctctccagggacaactccaacaacacggtgtatctgcaaatggacagtctgagagccgaagacacggccgtattttactgt 49 60 54 50 +JY8QFUQ01CGQES IGG1 ggattcactttcagtagttatagc atgaactgggtccgccaggctccagggaaggggctggagtgggtctcatca attactagaagttctagttatatg tcctacgcagactcagtgaagggccgattcaccatctccagagacaatgccgagaattcactgtatctgcaaatggacagcctgagagccgaggacacggctgtgtattactgt 55 48 58 52 +JY8QFUQ01CH326 IGA2 ggatacagctttaccagctactgg atcggctgggtgcgccagatgcccgggaaaggcctggagtggatggggatc atctatcctggtgactctgattcc agatacagcccgtccttccaaggccaggtcaccatctcagccgacaagtccatcagcaccgcctacctgcagtggagcagcctgaaggcctcggacaccgccatgtattactgt 46 65 59 43 +JY8QFUQ01CH338 IGA1 ggattcatttcagtacttatcct atgcactgggtccgccaggctccagggaagggactggaatatgtttcagct attagtcgtaatggggataacgca tattatgcagactctgtgaagggcagattcaccatgtccagagacaattccaagagcacactgtatcttcagatgggcagcctgagagctgaggacatggctgtgtattactgt 55 44 57 56 +JY8QFUQ01CHBJS IGA1 ggattcacctttactagttacagt ttcaattgggtccgccaggctccagggaaggggctggagtgggtctcaact atcaatactagtggtagtagcaca tactacgcagactccgtgaagggccggttcaccatctccagagacaattccaagaacgaggtgtatctgcaaatgaacagcctgagagccgaggacacggccatatattactgt 58 51 56 48 +JY8QFUQ01CHFYS IGA2 ggattcattttagaaaattttgcc atgagttggctccgccaggcaccagggaaggggctggaatgggtctcgact atcagcagcagtggtgacacggca tattactcagactccgtgaggggccgcttttccatctccagagacaactccaagagcactctgttcttgcagatgaacagcctgagtgccgaagacacggccatttactactgt 52 54 57 50 +JY8QFUQ01CHKDD IGA2 ggattcacctttagcaactatgcc atgagctgggtccgccaggctccagggaaggggctggagtgggtcgcaact attatttatagtggcgatagtaca tactacgcagattccgtgaggggccggttcaccatctccagagacaattccaagaacactctgcatctgcatatgaacagcctgagagccgaggacacggccgtatattactgt 54 53 58 48 +JY8QFUQ01CHVJ1 IGG2 ggattccttttagaacctattgg atgagttgggtccgccaggctccagggaaagggctggagtgggtggcccac ataaaccaagatggacgtgaggca tactatgtggactctgtgaagggccgattcaccatctccagagacaacggcaagaattcagtatatctgcaaatgaacagtctgagagccgaggacaccgctatgtattattgt 58 45 61 48 +JY8QFUQ01CI12B IGA1 caactttaccggctactgg atcggctgggtgcgccagatgcccgggaaaggcctggagtggatggggatc atctatcctggtgactctgatacc agatacagcccgtccttccaaggccaggtcaccatctcagccgacaagtccatcagcaccgcctacctgcagtggagcagcctgaaggcctcggacaccgccgtgtattactgt 44 65 58 41 +JY8QFUQ01CIMAM IGA1 gggttcaccgtcagtagcaagttc atgagctgggtccgccaggctccagggaaggggctggagtgggtctcaatt acttatcctgatggtactaca tattatggagactccgtgaagggccgattcaccatctccagagacaattccaagaacacactggatcttcaaatgaacagcctgagagccgaggacacggccgtttattattgt 54 50 57 49 +JY8QFUQ01CIOY1 IGA1 ggattcaccttcaggacccatagc atgaactgggtccgccaggctccagggaaggggctggagtggatttcattc attagtagtagtagtggtaccata ttttatgcagactctgtgaagggccggttcaccatctccagagacaatgccaagaactcactttatctgcaaatgaacagcctgagagacgaggatgcggctgtgtattactgt 55 47 58 53 +JY8QFUQ01CIQUI IGG4 ggattcacctttagaagctatgcc atgagctgggtccgccaggttccagggaaggggctggagtgggtctcagct attagtggtaatggtgctaacaca tactacgcagactccgtgaagggccgattcaccatctccagagacaatttcaagaacacgctgtctctgcaaatgaacagcctgagagccgaggacacggccctatattactgt 55 53 58 47 +JY8QFUQ01CJ5TF IGG3 ggattcatcttcttgaaatatggc atgcactgggtccgccaggctccaggcaaggggctggagtgggtggcaggt atatggtttgatggaagtaataca tactatgcggactccgtgaagggccgattcaccatctccagagacaattccaagaacacggtgtatttgcaactgaacagcctgagagccgaggacacggctgtgtattactgt 54 46 63 50 +JY8QFUQ01CJ990 IGA1 ggattcaccttcagtcgttatagc atgaactgggtccgccaggctccagggaagggctggagtgggtctcatac attagtaggagtagtactgacata tactacgcagactcagtgaagggccgattcaccatctccagagacaacggcaagaactcactgtatctgcaaatgaacagcctgagagccgaggacacggctgtgtatttctgt 57 50 58 47 +JY8QFUQ01CJG1W IGA1 ggattcacctttggcctctatgcc atgaactgggtccgccagactccagggaaggggccggagtggctcgcaact atcagtggtagtggaagtaggtca ttctacgcagactccctcaggggccgtttcaccatctccagagacaattccaagggcacggtgtacctggacatgaccaccctgggagccgacgactcggccgtgtattactgt 45 61 62 45 +JY8QFUQ01CJV6U IGA2 ggattccagtttagcaactatgcc atgagctgggtccgtcaggctcctgggaaggggctggagtgggtctcaact attagtaaagacggtgtttacacc tactaccccgactccgcgaagggccgggtcaccatctccagagacaattccaagaatacaatttatttgcaaatgaacagcctgacagccgaggacacggccagatattactgt 57 54 55 47 +JY8QFUQ01CJYGN IGG2 ggattcacatttagtattcattgg atgatctgggtccgccaggctccagggaaggggctggagtgggtggccaac ataaaccaagatggaggtgacatg gcctatgtggactctgtgaagggccgattcaccatctccagagacaacgccaagaactctctgtatctgcaaatgaacagcctgagagccgaggacacggctatatattactgt 57 48 61 47 +JY8QFUQ01CK280 IGA1 ggtggctccatgagcagtggtaattactgc tggggctggggccgccagcccccaggaaaggggctggagtggattggaagt atgtgttatggtgggagcacc tactacagcttgtcccccaagggtcgagtcaccatatccatagactcgtcgaagaaccagttctccctgaagctgagctctgtgaccgccgcagacacggctgtgtattactgt 45 55 68 48 +JY8QFUQ01CKFL6 IGA1 ggattcaccttcagtaggtactgg atgcactgggtccgccaagttccagggaaggggccggtgtgggtctcacgt attaatgaagacggcagccacaca gatcacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaacaagttgtatttgcaaatgaacagtctgagaggcgaggacacggctgtctattattgt 56 51 62 44 +JY8QFUQ01CKI1Y IGA2 ggatacaccttcaccggctactct atacactgggtgcgacaggcccctggacaagggcttgagtggatgggatgg atcaaccctaacagtggtggcaca aactatgcacagaaatttcagggcagggtcaccatgaccagggacacgtccatcagcacagcctacatggagctgagcaggctgacatctgacgacacggccgtgtattactgt 56 57 60 40 +JY8QFUQ01CKO1P IGA1 ggattcaccttcaatatcaagtgg atgagttgggtccgccaggctccgggaaggggctggagtgggttggccgc atcaagagcacctctgatggtgggacaaca gactccattgcacacgtcaaagacagattcatcatctcaagagatgattcaagaaatacactgtacttacaaatgaacaacctgagagtcgaggatacaggcgtctattattgt 64 47 58 49 +JY8QFUQ01CKPJN IGA1 ggattcaggtttgatgattatgcc atgcactgggtccggcaagctccagggaagggcctggagtggatctcaggt attagctggaatagtggtagtata gggtatgcggactctgtgaagggccgattcaccatctccagagacaacgccaagaactccctgtatctgcaaatgaacagcctgagagccgaggacacggccgtatattactgt 54 47 64 48 +JY8QFUQ01CKX6X IGA2 gggttcaccgtcagtagcaagtac atgacctgggtccgccaggctccggggaagggactggagtctgtctctgtt tttatagcggtgatcaaaca tactacgcagactccgtgaggggccgattcaccatctccatagacaattccaagaacacactgtatcttcaaatgaacggcctgcgagccgaggacacggccgtgtattattgt 51 54 56 48 +JY8QFUQ01CL7VE IGA1 ggtgggtccttcagtacttactac tggacatggatccgccagcacccagagaaggactggagtggattggggaa atcaatcacagtggaagcccc aactacagcccgtccctcaagagtcgagtcctcatatcgatagacacgtccaagaatcaggtctccctcaacctcttctctgtgaccgccgcggacacgggtgtgtattattgt 51 59 53 46 +JY8QFUQ01CLEAH IGA2 ggattcaccttcactacctcctgg atgcactgggtccgccaagctccagggaaggggctaatgtgggtcgcacgt attaataaggatggcagtagtaca agttatgaggactccgtgaagggccgattcaccatctccagagacaacgccaagaccacactgtacttggaaatggacagtctgagagtcgaggacacggctatgtattattgt 57 50 59 47 +JY8QFUQ01CLIT1 IGA1 gggggctccattagtggttactat tggacgtggatccggcagaccccagggaagggactggagtggattggaaat gtccattacactgggagtacc aagtacagcccctccctcaagagtcgagtcaccatgtcagttgacatgtccaggaaccagttcaccctcaaattgacctctgtagccgctgcggacacggccgtctattactgt 49 56 58 47 +JY8QFUQ01CLMWX IGG4 ggattaacctttgatcaatatgcc atgtattgggtccggcaagctccagggaagggcctggagtgggtctccggt atcactgggaatagtggttccata ggctatgcggactctgtgaggggccgattcaccatctccagagacaacgccaagaagtcactatatttggaaatgaatagtctgagtgttgaggacacggccttgtatttctgt 51 44 62 56 +JY8QFUQ01CLR99 IGA1 ggattcacctttagcagccatccc atgagctgggtccgccaggctccgggaaaagggctggagtggatctcagct ttcgttcgtagtggtaacaca tactacgtagactccgtgaagggccggttcaccatctccagagacaattccaagaacacgctgtatctgcaaatgaacagcctgagagccgaggacacggccgtatattactgt 53 56 56 45 +JY8QFUQ01CLXOH IGA2 ggattcaccttcagtgactaccac atgggctggatccgccaggctccagggaaggggctggagtgcgtttcatac attagcactagtggtcgtgacata tacaacgcagactctgtgaagggccgattcaccatctccagggacaacgcccagaagtcactgtatctgcaaatgaacagcctgagagccgaggacacagccgtgtatttctgt 54 56 58 45 +JY8QFUQ01CM33P IGA2 ggtggctccatcatcagagacagtgcctac tggggctggatccgccagcccccagggaaggggctggagtggcttgggagc atctattatagtgggagtacc tactacaatccctccctcaagagtcgagtcaccatatccgtagacacgtccaagaagcagttctccctgaagctgagctctgtgaccgccgcagacacggctgtatattactgt 49 61 60 46 +JY8QFUQ01CM5UQ IGA1 ggattcaccttcagtagctactgg atgcactgggtccgccaagctccggggaaggggctggtgtgggtctcacgt atgaatagtgatggcagtgacata aggtacgcggactccgtgaggggccgattcaccatctccagagacaacaccaagaacacgctgtatctacaaatgaacagtctgagagccgaggacacggctgtgtattactgt 54 51 64 44 +JY8QFUQ01CN7M5 IGG1 ggattcattgtcaatagcaactac atgagttgggtccgccaggctccagggaaggggctggagtggatttcatac attagtagtagtggtattatcata tactacgcagactctgtgaagggccgattcaccatctccagagacaatgccaagaactcactgtatctgcaaatgaacagcctgagagtcgaggacacggctgtgtattattgt 59 44 56 54 +JY8QFUQ01CNEDF IGG2 ggagacaactttagcagatactgg atcggctgggtccgccagatgcccgggaaaggcctggagtggatggggatc atctatcctggtgactctgacacc agatacagtccgtccttccaaggccaggtcaccatctcagccgacaagtccaccagtaccgcctacctgcagtggagcagtctgaaggtctcggacaccgccacgtattactgt 49 63 59 42 +JY8QFUQ01CNH24 IGA2 ggatacagtttcaccaactactgg atcggctgggtgcgccagatgcccgggaaaggcctggagtggatgggtatc atctatcctggtgactctgatacc cggtacaacccgtccttccaaggccaggtcaccttctccgtcgacaagtccatcaacaccgcctacctgcagtgggacagcctgaagacctcggacaccgccaagtattactgt 48 66 55 44 +JY8QFUQ01CNLWR IGG2 ggattcaacctcaatacctttggc atgaactgggtccgccaggcgccagggaagggactggagtgggtctcacac gtcaatgggggtagtactcacata tactacgcaggctcagtgaggggccggttcaccatctccagagacgacgccgggaactcagtctatctgcaaatgaatagcctgagagccgaggacacgggtttatattattgt 53 52 63 45 +JY8QFUQ01CNYY7 IGG1 ggattcacatttagaagctattcc atgaattgggtccgccaggctccagggaaggggctggagtgggtctcagct gtcagtggtggtggggcgccaca aactacgcggagtccgtgaagggccggttcaccatctccagagacaattccagggggacggtgttcttacaaatgaacagcctgagagtcgaagacacagccttatattattgt 51 48 66 47 +JY8QFUQ01CO06K IGA2 ggtggctccatcaacagtggtagttatcac tgggcctggatccgccagcccccagggaaggggctggagtggattgggagc gtctcctatggtgggaacacc tactacaacccgtccctcatgagtcgagtcgacatattcgtcgacacgtccaagagtcagttgtccctgaaggtgagctctgtgaccgccgcggacacggctgtgtattactgt 43 59 66 48 +JY8QFUQ01CO7ZE IGA2 ggtgggtccttcagtacttactac tggacatggatccgccagcacccagagaagggactggagtggattggggaa atcaatcacagtggaagcccc aactacagcccgtccctcaatagtcgagtcatcatatcgatagacacgtccaagaaccaggtctccctgaagctcttctctgtgaccgccgcggacacgggtgtgtactattgt 52 58 55 45 +JY8QFUQ01COIZ4 IGA2 ggatacagctttaccgcctactgg atcggctgggtgcgccagatgcccgggaaaggcctggagtgggtggcgatc atctatcctggtgactctgaaacc agatacagcccgtccttccaaggccaggtcaccatctcagccgacaagtccatcaccaccgcctacctgcattggaccagcctgaaggcctcggacaccgccatgtattactgt 46 69 56 42 +JY8QFUQ01COT7A IGG1 ggattcctttttagaacctattgg atgagttgggtctgccaggctccagggaaagggctggagtgggtggcccac ataaaccaagatggacgtgaggca tactatgtggactctgtgaagggccgattcaccatctccagagacaacggcaagaattcagtatatctgcaaatgaacagtctgagagccgaggacaccgctatgtattattgt 58 44 61 50 +JY8QFUQ01COULV IGG1 ggtggctccatcagtactggttattactac tggagctggatccggcagtccgccgggaagggactggaatggattgggcgc atgtctgccagaggggacagc aactacaacccctccctccagagtcgagtcaccatatccatagacacgtccaagaaccagttctccctgaggctgacctctgtgagcgccgcagacacggccgtgtatttttgt 47 62 61 46 +JY8QFUQ01CP6A0 IGA2 ggattcaccttcagtggctctgct atgcactgggtccgccaggtttccgggaaagggctggagtgggttggccgt attagaagcaaagcttacaattccgcgaca gcatatgctgcgtcggtgaaaggcaggttcaccatctccagagatgattcaaagaacacggcgtatttggaaatgaacagtttgaagagggaggacacggccgtgtattactgt 55 46 67 51 +JY8QFUQ01CPEX7 IGG2 ggtgtctccgtcaccagcggtcactgg tggacctgggtccgccagcccccagggaagggactggagtggattggagaa atctattattatggcatcacc aatttcaacccgtccctcaagagtcgaatcagcatgtcagtggacgagtccaagaaccagttctccctgagactgacttctgttaccgccgcggacacggccgtttattattgt 47 59 57 50 +JY8QFUQ01CPKFW IGA2 ggattcaccttaagtgacttctac atggactggctccgccaggctccagggaaggggctggagtgggttggtcgc agtagaaacaaagctaatggttacagtaca caattcgccgcatctgtgatgggcagattcaccatctcaagagatgactcaaagaatttactatatctacaaatgagcagcctgaaaaccgaggacacggccatttattactgt 64 49 55 51 +JY8QFUQ01CQ2DI IGA2 cgattcacctttagcagctatgtc atgaactgggtccgccaggctccagggaaggggctggagtgggtctcacgt attcatagtgatgggactaccaca tactacgcggactccgtgaagggccgattcaccatctccagagacaacgccaggaacacgttgtatctgcaattgaacagtctgagagccgaggacacggctgtgtattattgt 52 53 60 48 +JY8QFUQ01CQFLG IGA2 ggtggctccgtcagcagtaggggttactac tggaactggatccgccagttcccagggaagggcctggagtggattgggaac atcttttacagtgggggcacc tacgacaacccgtccctcaggagtcgaatttctatatcattagacacgtctaagaaccaattctccctgaagttgacctctatgaccgccgcggacacggccgtgtattactgt 49 57 59 51 +JY8QFUQ01CQHUH IGA1 ggattcacctttactaattattgg atgcactgggtccgccaagctccaggggagggactggtgtgggtctcacgg actaatgaagatgggagtatcaca aactacgcggactccgtggaggaccgattcaccatctccagagacaacgccaagaacaggctgtatctgcaaatgaacagtctcagagtcgaggacacggctatatattactgt 59 50 58 46 +JY8QFUQ01CQKI9 IGA1 ggattcacctttggcaactatgcc atgacctgggtccgccaggctccagggaaggggctggagtgggtctcagct attagtggtagaggtgaccacaca tactacgcagactccgtgaagggccggttcaccatctccagagacaattccaggaacacactgtttctgcaaatgaatagcctgggagtcgaggacacgaccgtatattactgt 53 54 60 46 +JY8QFUQ01CQOIV IGA1 ggattcgactttgccagccacgcc atggcttgggtccgccggactccaaggaagggcctggagtgggtctcaggc ataagtagtagtggtggaaccacg tattacgcagacttcgtgaagggccgcgccactgtctccagagacaattccgagaacacagtgtctctggaactccacagcctgagagccgatgacacggccatatattattgt 50 57 62 44 +JY8QFUQ01CQRVK IGA2 ggtggctccatcagcagtgttaactgg tggagttgggtccgccagcccccagggaaggggctggagtggattgggag atctctcacagtgggaacacc aactacagcccgtccctcaagggtcgagtcaccatatcaataaacaagtccaagaaccaattctccctgaagctgagctctgtgaccgccgcggacacggccgtgtattactgt 50 59 61 42 +JY8QFUQ01CQSBL IGG1 ggtggctccatcagtaattactac tggagctggatccggcagtccgccgggaagggactggaatggattgggcgc atgtctgccagagggggcagc aactacaacccctccctccagagtcgagtcaccatatccatagacacgtccaagaaccagttctccctgaggctgacctctgtgagcgccgcagacacggccgtgtatttttgt 46 61 60 43 +JY8QFUQ01CQWKF IGG1 ggattcaactcaatagttttggc atgcactgggtccgccaggctccgggcaagggactggagtgggtggcaaac atatggtatgatggaggtagtcaa cactatgcagacctcgtgaagggccgattcaccatctctagagacaattccaagaacatcttgttcctgcaaatgagcgacctgagagccgaggacacggctgtttattattgt 55 47 60 50 +JY8QFUQ01CR76J IGG1 ggtgactccatcaccagtactaattattac tggggctgggtccgccagtccccagggaagggtctggagtggattggaagt gtctattatggggggacccag tacctcaacccgtctctccacaatcgagtcaccatatccattggcacgtccaagacccaattctccatgagactgacctctgtgaccgccgcagacacggctgtatatttctgt 48 62 54 52 +JY8QFUQ01CR7U0 IGA2 ggattcaactttggcatctatacc atggcctgggtccgccaggctccagggaaggggctggagtgggtctcagct attcgtgatcatgatagcaca tactacgcagactccgtgcagggccggttttcatctcgagagacaatttcaataatacattgtatctgcaaatggatggcctgcgagccgacgacacggccgtctattactgt 48 52 57 52 +JY8QFUQ01CR8IO IGA1 ggattcgccttcagtacatatatc atgaattgggtccgccaggctccagggaggggactggagtgggtcgcaact ataagtggtggaggttatagtata tatgacgcagactccgtgaagggcaggttcaccatctccagagacaactccaagaccaccttgtttctggaaatgaaaagtctgagagtcgatgatacggccgtctattactgt 56 45 60 52 +JY8QFUQ01CRBJ3 IGA2 ggtgaccccatcggcaacactgcttactcc tggggctggatccgccagcccccagggaaggggctggagtggatcgcgact gtacattatgctggcagcacc tactacaacccgtccctcaggagtcgagtcaccatctctgtggacacgtccaagaatcacttctccctgaagctgaattctgtgaccgcctcagacacggctgtatacttctgt 45 69 55 47 +JY8QFUQ01CRNW3 IGA1 gaattcagtttcactgaccaccac atgagctggatccgccgggctccagggaaggggctggagtgggtgtcatac attagtcctacaggtagtgccata ttttacgcagactctgtgaaggcccgtttcaccatctctagggacaacgccaagaatttactatatctacaaatgaacagcctgagacccgaggacacggccatctattactgt 56 55 52 50 +JY8QFUQ01CRPMT IGA1 ggattcacctttagggggtactgg atgacctgggtccgccaggctccagggaaggggctggagtgggtggccacc ataaatcacgatggaagtcaaatt tactatatggaccttgtgaagggccggttcaccatctccagagacaacgccgagacctcactctatttgcaaatgaacaccctgagagccgaagacacggctgtctattactgt 54 53 60 46 +JY8QFUQ01CRXKV IGA1 ggtggccccatcagcagtagtggcttcgcc tggacctggatccggcagaccgccgggaagggactggagtggatcggacgt gtttatggtagtgggaatacc aattacagtccttccctccagagtcgagtcaccatatcagtagagacgtccaagaatcagttctccctgaggttgacttctgtgaccgccgcagacacgggcctatattactgt 47 57 63 49 +JY8QFUQ01CRXS1 IGA1 ggattcaccgtcagtaacaactac atgacctgggtccgccaggctccagggaaggggctggagtgggtctcagtt ctttatggcggtggtgacaca tactacgcagactccgtgaagggccgattcaccatctccagagacaacgccaagaatacactttttcttcaaatgacttccctgagagtcgaagatacggccatttattactgt 53 54 53 50 +JY8QFUQ01CS8O3 IGA2 ggattcacctttagcaactatgcc atgacctgggtccgccaggctccagggaaggggctggagtgggtctcaggt attacaagtggtggtagcaca tactacgcaaactccgtgaagggccggttcaccgtctccagagacagttccaagaacacgctgtatctgcaaatgaacagcctgagagccgaggacacggccgtatattactgt 53 54 60 43 +JY8QFUQ01CSGBR IGG1 ggatttacttttaacaactattgg atgacctgggttcgccaggctccagggaaggggctggaatgggtggccac ataaaacaacatggaggtgaaacg tactatgtggactctgtgaagggccgattcaccatctccagagacaacgccgagacctcagtgtatctgcaaatgaacagcctgagagccgaggacacggctgtctattactgt 58 48 60 46 +JY8QFUQ01CSVFI IGA2 ggattcaccttcagtagctactgg atgcactgggtccgccaagctccagggaaggggctggagtgggtctcagta atttatcctgatggtactaca cactatggagcctccgtgaggggccggttcaccatctccagagacaattccaagaacacgctggatcttcaaatgaacagcctgagagccgaggacacggccgtttattattgt 51 53 58 48 +JY8QFUQ01CSWQD IGA2 ggattcacctttagtgactattgg atgagctgggtccgccaggctccagggaaggggctagagtgggtggccaac ataaatagagatggaagtgagcaa cactatgtggactctgtgaagggccgattcaccatctccagagacgacgccaagagctcactgtatctgcaaatgaacagcctgagagccgaggacatggctatgtatttttgt 57 45 64 47 +JY8QFUQ01CT0HD IGG2 ggattccttttagaacctattgg atgagttggtccgccaggctccagggaaagggctggagtgggtggcccac ataaaccaagatggacgtgaggca tactatgtggactctgtgaagggccgattcaccatctccagagacaacggcaagaattcagtatatctgcaaatgaacagtctgagagccgaggacaccgctatgtattattgt 58 45 60 48 +JY8QFUQ01CT3CN IGA1 ggattcaccttcagtaggtactgg atgcactgggtccgccaagttccagggaaggggccggtgtgggtctcacgt attaatgaagacggcagctacaca gatcacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaacaagctgttttgcaaatgaacagtctgagaggcgaggacacggctgtctattactgt 55 52 62 43 +JY8QFUQ01CTI25 IGA1 ggattcaccttcagtagctataga atgaactgggtccgccaggctccagggaaggggctggagtgggtctcatcc attgatagtagtagtcacaacata tactacagagactcagtgaagggccgattcaccatctccagagacaacgccaagaactcactgtatctgcaaatgaacagcctgagagccgaggacacggctgtgtattactgt 61 51 56 45 +JY8QFUQ01CTJ46 IGA2 ggattcatcttcgatagttatgct ctgcactgggtccgccaggctccaggcaaggggctagagtgggtggcactt gtttcatatgatggaaaatataag caatatgcagattctgtggagggccgattcaccatctccagagacaactccaagaacacaggatatctgcaaatgaacagcctgacatctgacgatacggctgtgtatttttgt 57 46 55 55 +JY8QFUQ01CU8BS IGA1 ggattcatcttcagtagctactgg atgcactgggtccgccaagctccagggaagggctggtgtgggtgtcacgt agtaatacggggggactgacaca gcctacgcggactccgtgaagggccgattcaccatctcccgagacaacgggaagaacacgctgtatctgcaaatgaacagtctgagagccgaggacacggctgtttattactgt 51 52 65 43 +JY8QFUQ01CU8RS IGG2 ggattcaccgtcaatagaaactac atgagctgggtccgccaggctccagggaagggactggagtgggtctcagtt atttccagcggtggttccaca tactacgcaaactccgtgaagggccgattcaccatctccagagacaattccaagaacacggtatatcttcaaatgaacagcctgagagtcgacgacacggctgtgtattactgt 57 53 54 46 +JY8QFUQ01CVKGA IGG2 ggattcaccttcagtacatactgg atgcactgggtccaccaagctccagggaaggggctggtgtgggtctcccgt atcaatcctgatgggcgaatcaca aactacgcggactccgtgaatggccgattcaccatctccagagacaacgccaagaacacgctgtatctgcaaatgaacagtctgagagccgaggactcggctgtgtactactgt 54 58 57 44 +JY8QFUQ01CVRND IGG1 ggattctccttcagcaattatgcc atccactgggtccgccaggctccaggcaaggggctggagtgggtggcgacc atttcatatgatttaatgaaaaga tattatgcagagtccgtgaggggccgattcaccctctccagagacaattccaagaacactctcgatctgctcatggatacccttcggttcgacgacacggctgtctattattgt 50 55 53 55 +JY8QFUQ01CVY8N IGA1 ggcgggtccttcaaaggttactat tggagctggatccgccagcccccaggaaaggggctggagtggattggagaa atcgaccatagtggaaacacc aactacaacccgtccctcaagagtcgagtcaccgtgacagttgacacatccaagaaccaaatttccctgaatttgacctctgtgaccgccgcggacacggctatttattactgt 56 57 53 44 +JY8QFUQ01CW65U IGG2 acattcacgtttagtcgatattgg atgagctgggtccgccaggctccagggaagggcctggagtgggtggccaac ataaaggaagacggaagtgagaga tattatgtggactctgtgaagggccgattcaccatctccagagacaatgccaagaactctctgtatctgcaattgaacagcttgagagccgaggacacggctgtgtattactgt 57 44 64 48 +JY8QFUQ01CWEVR IGA1 ggattcaccttcagtaactatagt atgaactgggtccgccaggctccagggaagggcctggagtgggtctcatcc atcagtagtggtggtagtttcaaa caccacgcagactcagcgaagggccgattcaccatctccagagacaacgccaagaactcactgtatctgcaaatgaacagcctgagagccgaggacacggctgtgtattattgt 57 54 57 45 +JY8QFUQ01CWPJP IGA1 ggtgcctccatcaccagtggtactttttac tgggcctggatccgccagcccccagggaaggggctggagtgggttggcaat atctattctagtggtgtcgcc tattacaacccgtccctcaagagtcgagtcaccatgtccgtcgacacgtccaagaatgagttttccctgacactgacctctgtgaccgccgcagacacggctgtatatttctgt 42 63 56 55 +JY8QFUQ01CWQZU IGA2 ggattcactttcagtaactactgg atgtactgggtccgccaagctccagggaaggggctggagtgggtctcacgt attaatggtgatggaagtagtaca agttacgtggactccgtgaagggccgattcaccatctccagagacaacgccaagaacaccctgtatctgcaaatgaacagtctgagagtcgacgacacggctgtttattactgt 56 48 59 50 +JY8QFUQ01CWYA5 IGG1 gggttcaccatcagtcactactcc atggcctgggtccgccaggctccgggaaaggggctggagtgggtctcatta atttatcccggcgggagcaca ttccaggcagactccgtgagggggcggcttatcatctccagagacgaatccaagagtgaactgtatcttcggatgaagaaagtgaaagtcgaagacacggccgtatattattgt 51 50 63 46 +JY8QFUQ01CXAGM IGA1 ggattcacttttagcagtcatatg atgagttgggtccgccaggctccagggaagggactggaatgggtctcaagt attcgtgccagtggtgataggaca cactacgcagactccgtgaagggccgcttcaccatctccagagacaactccaagaacacgctgtatttgcaaatgtacagcctgagagtcgaggacacggccttatattactgt 55 51 58 49 +JY8QFUQ01CXD17 IGA1 ggattcattttcagtaactactgg atgcactgggtccgccaagctccagggaaggggctgctctgggtctcagtc attaatagtgacggcagtgaaatt cactacgcggactccgtgaggggccgattcaccatctcccgagacaacgccaagaacacgctgtatttgcaaatggacaatctcagaggcgacgacacggctctatattattgt 54 54 56 49 +JY8QFUQ01CXIGS IGA2 gatttcaacgtcggtgactttgac atgcactgggtccgccagactccagacaaggggctggagtgggtggcactt ttttggtatgacggaaagaggaaa tattatgcagactccgtgaagggccggttcaccatctccagagacaattccaagaacaccctgtatctgcaaatggacagcctgagagccgacgacacggctacctacttttgt 55 52 58 48 +JY8QFUQ01CXM4M IGA2 ggggacagtgtctctagcaacagtgccact tggaactggatcaggcagtccccaacggaggccttgagtggctgggaagg acatcctacaggtccaaatggtatagt gattatgcggtgtctgtgaaaagtcgaataaccatcaacccagacacatccaagaaccagttctccctgcaattgaactccgttagtcccgaggacacggctgtgtattactgt 59 55 58 49 +JY8QFUQ01CY2HZ IGA1 ggattcaccttcagtagctatggc atacactgggtccgccaggctccaggcaaggggctggagtgggtggcagtt atatggtatgatggaagtgaaata tactatgcagactccgtgaagggccgcttcaccatctccagagacaattccaagaacacgctgtatctgcaaatgaacagcctgagagccgaggacacggctgtgtattactgt 56 49 61 47 +JY8QFUQ01CY3ZT IGA2 ggattctccgtcagtaattactgg atgcactgggtccgccaggctccagggagggctggagtgggtctcacgt attaatgaagatggtagtcggaca gactacgcggactccgtgaagggccgattcaccatttacagagacagcgccaagaacacactgtatctgcaaatgaacagtctgagagtcgaagacacggctgtctattattgt 55 48 61 47 +JY8QFUQ01CYT8I IGA2 ggattcaccttcagtcgttatagc atgaactgggtccgccaggctccagggaaggggctggagtgggtctcatac attagtaggactactactgacata tactacgcagactcagtgaagggccgattcaccatctccagagacaacgccaagaactcactgtatctgcaaatgaacagcctgagagccgaggacacggctgtatatttctgt 58 53 55 47 +JY8QFUQ01CYTAI IGG1 gggttcaccatcagtcactactcc atgggctgggtccgccaggctccgggaaaggggctggagtgggtctcatta atttatcccggcgggagcaca ttccacgcagactccgtgagggggcggcttatcatctccagagacgaatccaagagtgaactgtatcttcggatgaagaaagtgaaagtcgaagacacggccgtatattattgt 51 50 63 46 +JY8QFUQ01CYU3K IGG3 ggattcatcttcagtagctatgcc atgaattgggtccgccagactccagggaaggggctggagtgggtctcagcc attagtggtagtggtggtaacaca tactacgcagactccgtgaagggccggttcaccgtctccagagacaattccaacaacacgctgtatctgcaattggacagcctgcgagccgaggacacggccgtatattactgt 51 54 61 47 +JY8QFUQ01CYX7E IGA2 ggtgactccattggtagcagtgcctactac tggggctgggtccgccagccccccgggaaggggctggagtggattggaagt atctattatggtggcaacacc tactacaacccgtccctcaggagtcgagtcagcatttccgcagacacgtccaagaaccagttctccctgcatctctactccgtgaccgccgcagacacggctctgtattactgt 44 66 58 48 +JY8QFUQ01CZ1IL IGA2 ggattcacctttagcaactatgcc atgagttgggtccgccaggctcaagggaaggggctggactgggtctcagat attagtaatagtggtggtgacaca ttctacgcaggctccgtgaagggccgcttcaccatctccagagacaattccaggaacactctatatctgcaaatggacagcctgagagccgaggacacggccgtgtattactgt 53 52 60 48 +JY8QFUQ01CZDE0 IGA1 ggattcacctttcgcagctacgcc atgagttgggtccgccaggctccaggaagggggctggagtgggtctcctca atcagtggcagtggtgataaaaca aaatatgcagactccgtgaagggccgattcaccatctccagagacaatgcgaggaacactttttatctgcatatgaacagcctcagagccgcggacacgggcgtctactattgt 53 54 60 46 +JY8QFUQ01CZH0L IGA2 ggattcaccttcagcaagtatgcc atgagctgggtccgccaggctccaggggagggctgcagtgggtctcagca attagtggaaatggtgctgatata tactacgcagactccgtgaacggccggttcaccatctccagagacaattccaagaacacgctatatctgcaaatgaacagcctgagagccgaggacacggccgtatactactgt 56 55 58 43 +JY8QFUQ01DABGE IGG2 ggactcaccttcagtcgcctctgg atgcactgggtccgccaagctccagggaaggggctggtgtgggtctcacgt atagatagtgatgggaataacata atctacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaaaacgctgtatctgcaaatgaacagtctgagagccgaggacacggctgtatattactgt 56 53 60 44 +JY8QFUQ01DARQJ IGA2 ggcttcacgttcagtagttatggc atgcaatgggtccgccaggctccaggcaaggggctggagtgggtggcagtt atttggtatgatggaagtaataaa tattatgcagactccgtgaagggccgattcgacatctccagagacaattccaagaacacactatatctgcaaatgaacaacctgagagccgaggacacggctatgtaccattgt 60 45 59 49 +JY8QFUQ01DDQ8A IGG2 acattcacgtttagtcggtattgg atgagctgggtccgccaggctccaggggaagggcgggagtgggtggccaac ataaaggaagacggaagtgagaga tattatgtggactctgtgaagggccgattcaccatctccagagacaatgccaagaactctctgtatctgcaattgaacagcttgagagccgaggacacggctgtgtattactgt 56 43 67 47 +JY8QFUQ01DECT5 IGG2 ggattccctttcagcgactatggc atgcactgggtccgccagactccagacaagggactagaaattgtggccatt atctggcatgacggaagtcagcaa ttctatgcagactccgtgctgggtcgattcaccgtctccagagacaattccgacaacactctccagttgcagctgagcaggttgacagccgaagacacggctatttattattgt 53 56 53 51 +JY8QFUQ01DEK3I IGG3 ggattcaccttcagtagttatagc atgaactgggtccgcctggctccagggaaggggctggagtgggtctcggcc attagtattactagtagttccaca tattacgcagactcagtgaagggccgattcaccatctccagagacaacgccaagacctcactgtttctgcaaatgaacagcctgagagccgaggacacggctctgtattactgt 53 54 56 50 +JY8QFUQ01DEX6Z IGG1 ggtggctccatcagtactggttattactac tggagctggatccggcagtccgccgggaagggactgaatggattgggcgc atgtctgccagaggggacagc aactacaacccctccctccagagtcgagtcaccatatccatagacacgtccaagaaccagttctccctgaggctgacctctgtgagcgccgcagacacggccgtgtatttttgt 47 62 60 46 +JY8QFUQ01DFG5Q IGA1 gggggctccattagtggttactat tggacgtggatccggcagcccccagggaagggactggagtggattggaaat gtccattacactgggagtacc aagtacagcccctccctcaagagtcgagtcaccatgtcagttgacatgtccaggaaccagttcaccctcaaattgacctctgtagccgctgcggacacggccgtctattactgt 48 57 58 47 +JY8QFUQ01DFJK6 IGG2 ggattcaccttcagtgtccatagc atgaactgggtccgccaggctccagggaaggggctggagtgggtttcatac cttagtagtggtagtgataccata tactacgcagactctgtgaggggccggttcaccatctccagagacaacgccaagaactcactgtatctgcaaatgagtggcctgagagacgaggacacggctgtttattactgt 52 50 61 50 +JY8QFUQ01DFMQ1 IGA1 ggattcacctttagcaactatgcc atgacctgggtccgccaggctccagggaaggggctggagtgggtctcaggt attacaagtggtggtagcaca tactacgcaaactccgtgaagggccggttcaccgtctccagagacagttccaagaacacgctgtatctgcaaatgaacagcctgagagccgaggacacggccgtatattactgt 53 54 60 43 +JY8QFUQ01DFNKY IGA1 ggattaaccctcagtgaccactac atggactgggtccgccaggctccagggaaggggctggagtgggttggccgt actagaaacaaagctaacagttacaccaca gaatacgccgcgtctgtgaagggcagattcaccatctcaagagatgattcaaagaactcactgtatctgcaaatgaacagcctgaaaaccgaggacacggccgtgtattactgt 65 54 58 42 +JY8QFUQ01DFY56 IGA1 ggattcaccttcaaaaagtatggc atgaactggctccgccaggctccagggaaggggctggagtgggtcgcaacc attcgcagtagtggtacttccata cactatgccgactccgtgaagggccgattcactatcaccagagacaacgccaacaactcactgtatctgcaattgaacagcctgggagtcgaggactcggctgtgtatttctgt 53 56 57 47 +JY8QFUQ01DG3GX IGA2 ggattcaccttcagtcagtactgg atgtactgggtccgccaagctccagggaaggggctggtgtgggtctcacgt attaatggtgatggaagtagcaca agctatgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaacaccctgtatctgcaaatgaacagtctgagagtcgacgacacggctgtatattattgt 55 50 60 48 +JY8QFUQ01DG853 IGA1 ggattcacctttagcaactatgcc atgagttgggtccgccaggctcaagggaaggggctggactgggtctcagat attagtaatagtggtggtgacaca ttctacgcaggctccgtgaagggccgcttcaccatctccagagacaattccaggaacactctatatctgcaaatggacagcctgagagccgaggacacggccgtgtattactgt 53 52 60 48 +JY8QFUQ01DGFLY IGA2 ggaggctccttcggcagctacact atcacctgggtgcgacaggcccctggacaagggcttgagtggatgggaagg atcacccctatccttggttcaaca agctactcacagaagttccagggcagagtcacgattaccgcggacacattcacgggcacagcctacatggagctgagcagcctgacatctgaagacacggccgtatattactgt 53 60 59 41 +JY8QFUQ01DGFY7 IGA1 ggattcaccttcagtacctactgg atgcactgggtccgccaagttccagggaaggggctggtgtgggtctcacgt gttgatagtgatgggactagcaca gtctacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaacacgctatatctgcaaatgaacagtctgaaagccgaggacacggctgtatattactgt 54 53 60 46 +JY8QFUQ01DH08T IGA1 gggttcaccgtcagtagcaagttc atgagctgggtccgccagggtccagggaaggggctggagtgggtctcagtt acttatcctgatggtactaca cattatagagactccgtgaagggccgattcaccatctccagagacaattccaagaacacgctggatcttcaaatgaacagcctgagagccgaggacacggccgtttattattgt 53 50 59 48 +JY8QFUQ01DH0MW IGA2 ggattcaccttcagtcgctactgg atgcactgggtccgccaagctccagggaagggcctggtgtgggtctcacgt attaaaagtgatgggattagcaca acgtacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaacacggtgtatctgcaaatgaacagtctgagagccgaggacacggctgtgtactactgt 54 54 62 43 +JY8QFUQ01DHC55 IGG1 ggattcacctttaccacctccgcc atggcctgggtccgccaggttccagggaaggggctggagtgggtctcaact attagacctagtggtgagagaacc tactacgcagagtccgtgaggggccgcttcaccatctccagagacaattccgagaacacgttgtatctacaactgaacaacctgagagtcgaggacacggccatatattactgt 53 58 57 45 +JY8QFUQ01DHH0D IGG3 ggattcaccttaagtgatcactac atggactgggtccgccaggctccagggaaggggctggagtgggttggccgt actaaaaacaaagctaacggttacactaca cactacgccgcgtctgtgagaggcagattcattctttcaagagacgattcaaagaactcagtgtatctgcaaatgaacagcctgaaaatcgaggacacggccgtctattactgt 63 51 57 48 +JY8QFUQ01DHJ30 IGA2 ggattcactttcaataacgcctgg atgagctgggtccgccaggctccagggaaggggctggagtgggttggccgt attaaaagcaaaactgatggtgggacaaca gagtacgctgcacccgtgaaaggcagatttaccatctcaagagatgattcaaaaaacacgctttatctgcaaatgaacagcctgaaaatcgaggacacagccgtgtattactgt 66 47 60 46 +JY8QFUQ01DI98R IGA2 ggattcgtctttggcgactatgcg atgagctgggtccggcaggctccagggagggggctggagtgggtctcaagt attagtggtagtggtgtcagcaca tactacgtgggctccgtgaagggccgcttcaccatctccagagacaattccaagaatgtgttgtatctgcaaatgaacggcctgagagtcgaggacacggccacatatcactgt 47 48 69 49 +JY8QFUQ01DIWKI IGG3 ggattcacctttagaagctatgcc atgagctgggtccgccaggttccagggaaggggctggagtgggtctcagct attagtggtaatggtgctaacaca tactacgcagactccgtgaagggccgattcaccatctccagagacaatttcaagaacacgctgtctctgcaaatgaacagcctgagagccgaggacacggccctatattactgt 55 53 58 47 +JY8QFUQ01DJ168 IGG1 ggattcaccttcagtagttatagc atgcactgggtccgccaggctccagggaagggactggagtgggtctcctcc attagtagtaatagtgcctacaca gaccacgcagactcagtgaagggccgattcaccatctccagagacaacgacagaggtcactgtatctgcaaatgaacagcctgagagccgaggacacggctgtgtattactgt 56 54 58 44 +JY8QFUQ01DJCKC IGA2 ggattcacctttcgcagatatgcc atgagctgggtccgccaggctccagggaaggggctggagtgggtctcaggt attaataatagtggtggtagcaca tactacgcagactccgtgcagggccggttcaccatctccagagacaattccaagaacacggtgtatctgcaactgagcagcctgagagccgaggacacggccatgtatttctgt 51 53 63 46 +JY8QFUQ01DJQ7I IGA1 ggtttcacctttagtaacgattgg atggactgggtccgccaggctccagggaaggggctggagtgggtggccaat ataaagggagatggaagtgagaaa aactatgtagactctgcgaagggccgattcatcatctccagagacaacgccaagaactcactgtatctgcaaatgaacagcctgagagtcgaggacacggctgtgtattactgt 60 43 65 45 +JY8QFUQ01DJU2K IGA1 gggggcaccatgagtagtttctac tggagctgggttcggcagcccccagggaggggactggagtggattggattt gtttcttacagtgggcccacc aactacagcccctccctcaagagtcgagtcaacttatcactggacgcggccaacaaacagttctctttgcagctgcgttctgtgaccgctgcggacacggccatttattactgt 42 57 60 51 +JY8QFUQ01DKCDX IGG3 ggatttacttttaacaactattgg atgacctgggttcgccaggctccagggaaggggctggaatgggtggccaac ataaaacaacatggaggtgaaacg tactatgtggactctgtgaagggccgattcaccatctccagagacaacgccgagacctcagtgtatctgcaaatgaacagcctgagagccgaggacacggctgtctattactgt 59 48 60 46 +JY8QFUQ01DKKJ0 IGA1 ggattcatatttactagatatgcc atgacctgggtccgccaggctccagggaagggtctggagtgggtcgcttct atcagtggtagtgggattagtaaa aagtacgcagacggcgtggagggccgattcaccatctccagagacagttccgagagaacactgtatctacaaatgaacagcctgagagtcgaggacacggccacatattattgt 57 46 62 48 +JY8QFUQ01DLA1D IGA1 ggattcaccttcagtaactatagc atgaactgggtccgccaggctccagggaagggctggagtgggtctcatcc attagtagtagtgctaggtacata tactacgcagactcagtgaagggccgattcaccatctccagagacaacgccaagaactcactgtctctgcaaatgaacagcctgagagccgaggacacggctgtgtattactgt 57 53 56 46 +JY8QFUQ01DM6TL IGA2 ggattcacctttagggggtactgg atgacctgggtccgccaggctccagggaaggggctggagtgggtggccacc ataaatcacgatggaagtcaaatt tactatatggaccttgtgaagggccggttcaccatctccagagacaacgccgagacctcactctatttgcaaatgaacaccctgagagccgaagacacggctgtctattactgt 54 53 60 46 +JY8QFUQ01DN21P IGA1 ggattcaccttcggcagttatagg atgagctgggtccgccaggctccagggaaggggctggagtggatttcatac attagtagtagtagtagtgccatc tattacgcagactctgtgaagggccgattcaccatctccagagacaatgccaagaactcagtgtatctgcaaatgaacagcctgagagacgaggacacggctatatattactgt 58 46 59 50 +JY8QFUQ01DNADY IGG2 ggattcacatttagaagctattcc atgaattgggtccgccaggctccagggaaggggctggagtgggtctcagct gtcagtggtggtgggggcgccaca aactacgcggagtccgtgaagggccggttcaccatctccagagacaattccaggggcacggtgttcttacaaatgaacagcctgagagtcgaagacacagccttatattattgt 51 49 66 47 +JY8QFUQ01DO347 IGA2 ggattcacgtttaggacctatgcc atgacctgggtccgccaggctccagggaaggggctggagtgggtctccggt attggtggtagtggtcgaaccaca cactacgcagactccgtgcagggccggttcaccatctccagagacaattccaagaacacggtggatctgcaaatgaacagcctgagagccgaggacacggccatatattactgt 51 56 64 42 +JY8QFUQ01DP55Y IGG1 ggtggctccgtcagcagtagtcattactac tggggctggatccgccagaccccaggaaaggggctggagtggcttgggaca atctattatagcggaagcgcc tacatcaacccgtccctcaagagtcgagtcaccatttccgttgacatatctaagaaccagttctccctgaggctgacctctgtgaccgccgcagacacggctgtctattactgt 48 62 57 49 +JY8QFUQ01DP8YH IGG2 gaattcatccttgacagttatgcc atgagttgggtccgccaggccccagggaaggggctggagtgggtctcggct attagtggaagtggtgcaaccaca tactacgcagactccgtgaagggccggttcgccatctccagagacaattccaagaacacgctatatctacaaatgaacaacctaggggccgaggacacggccgtttattactgt 54 54 60 45 +JY8QFUQ01DPFIO IGA1 ggattcaccttcagtagctactgg atgcactgggtccgccaagctccagggaaggggctggtgtgggcctcacgt gttaatggtgatgggggtagcaca gcctacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaactccctgtatctgcaaatgaacagtctgcgacctgaggacacggccttgtattactgt 48 57 63 45 +JY8QFUQ01DQV12 IGG4 ggattcacctttaccaactatggc atgagctgggtccgccaggctccagggaaggggctggagtgggtctcaggt attagtggtagtggtgaaaccaca taccacgcagaatccgtgcagggccggttcaccatctccagagacaactccaagaacaatctgtatctgcaaatgaacagtctgagagccgaggacacggccatttattactgt 56 53 59 45 +JY8QFUQ01DQVYX IGG2 ggattcaccttcgacagatacagt atgaactgggtccgccaggctccagggaggggactggagtggatttcatac ataagtactactactagtaacaga tactacgcagacgctgtgaagggccgattcaccatctccagagacaatgccaagaactcgctgtatttgcaaatggacagcctgagagacgaggacacggctgtatattattgt 62 48 56 47 +JY8QFUQ01DRFXI IGG2 ggtgactccatcagtagtgattctcactac tggagttggatccggcagcccgccgggaagggactggagtggattgggcgt gtctacgccagtgggaccacc aattacagccctccctcaagagtcgagtcaccatttcagtggacacgtccaggaatcaattctccctgaagttgaattctgtgaccgccgctgacacggccgtttatttctgt 45 59 59 52 +JY8QFUQ01DSBEO IGA2 ggattcagcttcaacagctacagc atgaactgggtccgccaggctccagggaagggactggaatggatctcatca attagtaccgctggcaccaccata ggctacgcagactctgtgaagggccgattcactatttccagagacaacgccaagaactcagtatctctgcagatggacagcctgagagacgaggacacggcggtatattactgt 59 55 57 42 +JY8QFUQ01DU1MH IGA2 gggttcaccgtcagtagcaactac atgagctgggtccgccaggctccagggaaggggctggagtgggtctcagtt atttatagcggtggtaccaca ttctacgcagactccgtgaagggccgattcaccatctccagagacaattccaagaacacggtgcatcttcaaatgaacagcctgagagccgaggacacggccgtgtattactgt 52 54 60 44 +JY8QFUQ01DUKA9 IGG1 ggattcacatttagaagctattcc atgaattgggtccgccaggctccagggaaggggctggagtgggtctcagct gtcagtggtggtgggggcgccaca aactacgcggagtccgtgaagggccggttcaccatctccagagacaattccaggggcacggtgttcttacaaatgaacagcctgagagtcgaagacacagccttatattattgt 51 49 66 47 +JY8QFUQ01DVTFY IGA1 ggattcaccttcagtatctatgcc atgacctgggtccgccaggctccagggaaggggctggagtggatttcattt atcactgataggggtagtacccaa tactacgcagactctgtgaagggccgattcaccgtctccagggaccaagccaagaactcactgtatctacaaatgaacaacctgggagtcgaggacacggctgtgtattattgt 54 52 57 50 +JY8QFUQ01A0JN8 unmatched, IGA2 ggattcaccttcagtaggtactgg atgcactgggtccgccaagttccagggaaggggccggtgtgggtctcacgt attaatgaagacggcagccacaca gatcacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaacaagttgtatttgcaaatgaacagtctgagaggcgaggacacggctgtctattattgt 56 51 62 44 +JY8QFUQ01A0KG1 unmatched, IGA2 ggattcaactttaacagctttgcc atgagctgggtccgccaggttccagggatggggctggagtgggtctcagcc attagtggtagtggcgggagcaca ttctacgcagactccgtgaagggccggttcaccatctccagagacaactccaacaacacgctgtatctgcaaatgaacagcctgagagccgaggacacggccttatattattgt 51 54 61 47 +JY8QFUQ01A0XAA unmatched, IGA2 gatgggtcctgcagaaactgcttc tggagttggatccgccagtccccagggaaggggctggagtggattggggag gtcaatgatagaggaggcatc gactacaacccgtccctcaagagtcgagtcaccatatcattagacacgtccaacaaccaagtctccctgaggttgagctctgtgaccgccgcggacacggctgtgtattactgt 49 54 63 44 +JY8QFUQ01A1201 unmatched, IGA2 ggattcaccttcagtacctactgg atgcactgggtccgccaagttccagggaaggggctggtgtgggtctcacgt gttgatagtgatgggactagcaca gtctacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaacacgctatatctgcaaatgaacagtctgaaagccgaggacacggctgtatattactgt 54 53 60 46 +JY8QFUQ01A1J69 unmatched, IGA2 ggattcaacttcagaacctattgg atgggctgggtccgccaggctccagggaaggggctggagtgggtggccaac ataaagcacgatggaagtgacaag tactatgtggactctgtgaagggccgattcaccgtctccagagacaacgccaagaactcattgtttttgcaaatggacagcctgagagccgaggacacggctgtgtactactgt 55 48 66 44 +JY8QFUQ01A2Y02 unmatched, IGA2 ggtgaccccatcggcaacactgcttactcc tggggctggatccgccagcccccagggaaggggctggagtggatcgcgact gtacattatgctggcagcacc tactacaacccgtccctcaggagtcgagtcaccatctctgtggacacgtccaagaatgagttttccctgacactgacctctatgaccgccgcagacacggctgtatatttctgt 45 68 56 47 +JY8QFUQ01A2ZKE unmatched, IGG2 ggattcagttttagtacacatggc atgaactgggtccgccaggctccagggaaggggccggaatgggtctcattc gttaatagtggaagtagttacatc tactacgcagactcagtgaggggccgattcaccatctccagagacgacgccaggaattcactgtatctgcaaatgcaccgcctgcgagtcgaggacacggctctctactattgt 52 53 59 49 +JY8QFUQ01A36OR unmatched, IGA2 ggattcgccttcagtacatatatc atgaattgggtccgccaggctccagggaaggggctggagtgggtctcatcc attagttttagtagtgattacata tactacgcagactcagtgaagggccgattcaccatctccagagacaacgccaagaactcactgtatctgcaaatgaacagcctgagagccgacgacacggccgtgtattactgt 57 52 54 50 +JY8QFUQ01A3PZ4 unmatched, IGA2 ggattcaccttcagcaagtatgcc atgagctgggtccgccaggctccaggggaggggctgcagtgggtctcagca attagtggaaatggtgctgatata tactacgcagactccgtgaacggccggttcaccatctccagagacaattccaagaacacgctatatctgcaaatgaacagcctgagagccgaggacacggccgtatactactgt 56 55 59 43 +JY8QFUQ01A3U1I unmatched, IGA2 ggattcatcttcagtgactactac atgacctggatccgccaggctccagggaaggggctggagtgggtttcatac attcgtagtaatgggagtcccata tacaacgcagactctgggaggggccgattcaccatctccagggacaacgccaagaactcactgtatctgcaaatgaatagtctgagagtcgaggacacggccgtgtattactgt 55 51 59 48 +JY8QFUQ01A4H9C unmatched, IGA2 ggattcaccttcagtgactatagc atgaactgggtccgccagactccagggaagggggtggagtggatttcatac atcggccgtggtggtgatgggata tactacgcagactctgtgaagggccgaatcaccatctccagagacaatgccaagaactcactttttctgcaaatgaacaccctgagagacgacgacacggctgtgtattactgt 56 50 59 48 +JY8QFUQ01A55QU unmatched, IGG1 ggtgcctccatcaggagttattat tggagttggatccggcagcccccaggaaagggactggagtggattggttat attaattatgttggggacacc gattacaacccctccctcaagagtcgagtctccatgtcagcagccacgtccaagaaccaggtcttcctgcagctgacctctgtgaccgctgcggacaccgcctattatttctgt 46 57 54 53 +JY8QFUQ01A56OJ unmatched, IGA2 ggattcactttcagtagctactgg atgcactgggtccgccaagctccagggaaggggctggtgtgggtctcacgt gttaatggtgatgggggtaggaca gcctacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaacactctctatctccaaatgaacagtctgagagccgaggacacggctgtatattactgt 51 53 63 46 +JY8QFUQ01A5K3B unmatched, IGA2 ggatacaccttcactagttttagt atacattgggtgcgccaggcccccggacagaggcttgagtggatgggatgg atcaacgcaggcaacggtcacaca aaatattcacagaagttccaggacagagtcaccattataagggacacatccgcgagcacagcctacatggacctgagcaccctgagatctgaagacacggctgtctattactgt 61 54 55 43 +JY8QFUQ01A6DSA unmatched, IGA2 ggattcaccttcggaacctatgcc atgacgtgggtccgcctgactcctgggaaagggctggagtgggtttcatgg attagtgatatcggtgacaca cgctatgcagattctgtgaagggccgattcaccatctccagagacaatgccaagaattcactgtttctgcaaatggacagtctcagagccgacgacacggctatatattattgt 52 49 56 53 +JY8QFUQ01A6FSC unmatched, IGG2 ggattcacctttagttatcactgg atgagttgggtccgccaggctccagggaaggggctggagtgggtggccctc ataaggcaagatggaagtgaggaa tactatgtggactctgtgaggggccgattcagcatctccagagacaacgccaagaattcagtgtacttggaaatgaacaacctgagagccgaggacacggctgtttattactgt 55 43 67 48 +JY8QFUQ01A6GAE unmatched, IGA2 ggattcacgtttggcatctatgcc atgagttgggtccgccaggctccagggaggggcgtggagtgggtcgcaagc atgggtaatagtgctggcagtaca tactacgcaggctccgtgaagggtcgcttcaacatctccagagacaattccaagaaaaccctgtatcttcaaatggacagcctgagagtcgacgacacggccagatattactgt 53 51 63 46 +JY8QFUQ01A72DW unmatched, IGG1 ggaatcaccttgagtccctattgg atgacctgggtccgccaggctcccgggaaggggctggagtgggtggccaac ataaaccaagatggaggtgagaga aattatgtggcctctgtgaggggccggttcaccatctccagagacaacgccaggaattcactgtatctgcaaatgaacagcctgagagtcgacgacacggctgtatattattgt 54 49 65 45 +JY8QFUQ01A75AZ unmatched, IGA2 ggattcaccttcagtagctactgg atgcactgggtccgccaagctccagggaaggggctggtgtgggtctcacgt gttaatggtgatgggggtagcaca gcctacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaacactctctatctccaaatgaacagtctgagagccgaggacacggctgtatattactgt 51 55 62 45 +JY8QFUQ01A7UAO unmatched, IGG2 ggattcacctttaccacctccgcc atggcctgggtccgccaggttccagggaaggggctggagtgggtctcaact attagacctagtggtgagagaacc tactacgcagagtccgtgaggggccgcttcaccatctccagagacaattccgagaacacgttgtatctacaactgaacaacctgagagtcgaggacacggccatatattactgt 53 58 57 45 +JY8QFUQ01A9CSP unmatched, IGA2 ggattcacttttaggggctactgg atgcactgggtccgtcaggttccaggtaaggcgccggagtggctcgcacgt ctgaatactgatggagatagtaca agttatgcggactccgtgaagggccgcttcaccatctccagagacaacgccaggagcacattgttcctgcaaatgagcagtctgagagtcgaagacacggccatttattactgt 51 51 62 49 +JY8QFUQ01A9KBS unmatched, IGA2 ggtggctccatgagcagtggtaattactgc tggggctggggccgccagcccccaggaaaggggctggagtggattggaagt atgtgttatggtgggagcacc tactacagcttgtcccccaagggtcgagtcaccatatccatagactcgtcgaagaaccagttctccctgaagctgagctctgtgaccgccgcagacacggctgtgtattactgt 45 55 68 48 +JY8QFUQ01A9XMX unmatched, IGA1 ggattcactttcaataacgcctgg atgagctgggtccgccaggctccagggaaggggctggagtgggttggccgt attaaaagcaaaactgatggtgggacaaca gagtacgctgcacccgtgaaaggcagatttaccatctcaagagatgattcaaaaaacacgctttatctgcaaatgaacagcctgaaaatcgaggacacagccgtgtattactgt 66 47 60 46 +JY8QFUQ01AAWJ6 unmatched, IGG4 ggtttcaccttcaggagctctggc atgaactgggtccgccaggctccagggaaggggctggagtgggtttcatac attagcagtagtactactaccaaa tactgcgcagactctgtgaagggccgattcaccatctccagagacaatgccaagagctcactgtatctgcaaatgaacagcctgagagccgaggacacggctgtgtattactgt 54 53 59 47 +JY8QFUQ01AB8R5 unmatched, IGA2 ggattcattttcagtacttatcct atgcactgggtccgccaggctccagggaagggactggaatatgtttcagct attagtcgtaatggggataacgca tattatgcagactctgtgaagggcagattcaccatgtccagagacaattccaagagcacactgtatcttcagatgggcagcctgagagctgaggacatggctgtgtattactgt 55 44 57 57 +JY8QFUQ01ABJSU unmatched, IGA2 ggattcacctttagtagttactgg atgcactgggtccgccaaactccaggggagggactggtgtgggtctcacgg actaatgaagatgggagtatcaca aactacgcggactccgtggaggaccgattcaccatctccagagacaacgccaagaacaggctgtatctgcaaatgaacagtctgagagccgaggacacggctgtgtattactgt 57 50 62 44 +JY8QFUQ01ACF7S unmatched, IGA2 ggattctcctttgatatatattgg atgagatgggtccgcctggctccagggaaggggctggagtgtgtggccgac ataaagcaagatggaagtgagaag tactatgtggactctgtgaagggccgattcaccatctccagagacaacgccaagaactcactgtttctgcaaatgaacagcctgagagtcgaggacacgggtgtgtatttctgt 55 42 65 51 +JY8QFUQ01ACGK8 unmatched, IGA1 ggattcaccttcagtcagtactgg atgtactgggtccgccaagctccagggaaggggctggtgtgggtctcacgt attaatggtgatggaagtagcaca agctatgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaacaccctgtatctgcaaatgaacagtctgagagtcgacgacacggctgtatattattgt 55 50 60 48 +JY8QFUQ01ACMHQ unmatched, IGA1 ggattcagcatcagtagttatagc atgaactgggtccgccaggctccagggaaggggctggagtgggtctcatcc attagtgcaagtactacttccata cattatgcagactcagtgaagggccgattcaccatctccagagacgacgccaagagttccctgtatttgcaaatgaacagcctgagagccgaggacacggctgtatattactgt 56 51 57 49 +JY8QFUQ01AD6VN unmatched, IGA2 ggattcacctttaccaactatggc atgagctgggtccgccaggctccagggaaggggctggagtgggtctcaggt attagtggtagtggtgataccaca taccacgcagactccgtgcagggccgattcaccatctccagagacaactccaagaacactctgtatctgcaaatgaacagtctgagagtcgaggacacggccgtttattactgt 53 54 59 47 +JY8QFUQ01ADNPS unmatched, IGA2 ggattcacctttagtgactattgg atgagctgggtccgccaggctccagggaaggggctagagtgggtggccaac ataaatagagatggaagtgagcaa cactatgtggactctgtgaagggccgattcaccatctccagagacgacgccaagagctcactgtatctgcaaatgaacagcctgagagccgaggacatggctatgtatttttgt 57 45 64 47 +JY8QFUQ01ADX4W unmatched, IGA2 ggattcaccttcagtagctatggc atacactgggtccgccaggctccaggcaaggggctggagtgggtggcagtt atatggtatgatggaagtgaaata tactatgcagactccgtgaagggccgcttcaccatctccagagacaattccaagaacacgctgtatctgcaaatgaacagcctgagagccgaggacacggctgtgtattactgt 56 49 61 47 +JY8QFUQ01AEXEP unmatched, IGA2 ggattcaccttcagcaagtatgcc atgagctgggtccgccaggctccaggggagggctgcagtgggtctcagca attagtggaaatggtgctgatata tactacgcagactccgtgaacggccggttcaccatctccagagacaattccaagaacacgctatatctgcaaatgaacagcctgagagccgaggacacggccgtatactactgt 56 55 58 43 +JY8QFUQ01AFU74 unmatched, IGA2 gggttcaccgtcagtagcaagttc atgagctgggtccgccaggctccagggaaggggctggagtgggtctcaatt acttatcctgatggtactaca tattatggagactccgtgaagggccgattcaccatctccagagacaattccaagaacacactggatcttcaaatgaacagcctgagagccgaggacacggccgtttattattgt 54 50 57 49 +JY8QFUQ01AG0BX unmatched, IGG2 ggattcacctttaccaactatggc atgagctgggtccgccaggctccagggaaggggctggagtgggtctcaggt attagtggtagtggtgatagaaca taccacgcagactccgtgcagggccggttcaccatctccagagacaactccaagaacactctgtatctgcaaatgaacagtctgagagccgacgacgcgggcgtatattactgt 53 53 62 45 +JY8QFUQ01AGTXI unmatched, IGA2 ggattcacctttagccactttgcc gtgacctgggtccgccaggctccagggaagggtctggaatgggtctcaact attagcggtagtgatggtagcaag tactacgcagactccgtgaggggccggttcaccatctccagagacaattccaagaacaccctatatctgcaaatgaccagcctgagagccgaggacacggccgtatatttctgc 51 58 58 46 +JY8QFUQ01AHQN6 unmatched, IGA2 cgtgtctccatttccattaatgattactac tggggctggatccgccagcccccaggaaagccgctggagtggattgggact gtccattcccttgggtacaat tacaacaacccgtccctcaagagtcgactcaccatttccgcagacacgtccaggaatcagatctccctgaaactgacgtctgtgaccgccgcagacacggctgtctatttctgt 48 67 49 52 +JY8QFUQ01AIE5M unmatched, IGG2 ggattcacctttagcagctatgcc atgagctgggtccgccaggctccagggaaggggctggagtgggtctcagct attagtggtagtggtggtagcaca tactacgcagactccgtgaagggccggttcaccatctccagagacaattccaagaacacgctgtatctgcaaatgaacagcctgagagccgaggacacggccgtatattactgt 52 53 63 45 +JY8QFUQ01AIYO5 unmatched, IGA1 ggattcacctttagtagttattgg atgacctgggtccgccaggctccagggaaggggctggagtgggtggccaac ataaaggaagatgggaatgataaa tactatgtcgactctgtgaggggccggttcaccatctccagagacaacgccaagagctcactgtttctgcaagtgaacagcctgagagccgacgacacggctgtttattactgt 54 47 64 48 +JY8QFUQ01AJFOA unmatched, IGA2 ggattctccgtcagtaattactgg atgcactgggtccgccaggctccaggggaggggctggagtgggtctcacgt attaatgaagatggtagtcggaca gactacgcggactccgtgaagggccgattcaccatttacagagacagcgccaagaacacactgtatctgcaaatgaacagtctgagagtcgaagacacggctgtctattattgt 55 48 63 47 +JY8QFUQ01AJTH3 unmatched, IGA2 ggtggctccatcagcagtgatagttactac tggggctggatccgccagtccccagggaaggggctggagtggattgggaat atctattatcgtgggagcacc tattacaacccatccctcgagagtcggctcaccatgtcggtagacacgtccaggaacctcttctccctgaggctgagctctgtgaccgccgcagacacggctgtatattactgt 45 59 62 50 +JY8QFUQ01AMBVG unmatched, IGA1 ggattcagcctcgccacttatagt atgagttgggtccgccaggctccaggaaaggggctggagtgggtctcaggt attagtgatcatggtattgacata tactatgcagactccgtgaggggccggtttaccatctccagagacatttccaagaacacggtgtatctacaaatgaacagcctgggagtcgaggacacggccgtatattactgt 53 47 61 52 +JY8QFUQ01AMG29 unmatched, IGA1 ggattcaccttcagtgtccatagc atgaactgggtccgccaggctccagggaaggggctggagtgggtttcatac cttagtagtggtagtgataccata tactacgcagactctgtgaggggccggttcaccatctccagagacaacgccaagaactcactgtatctgcaaatgagtggcctgagagacgaggacacggctgtttattactgt 52 50 61 50 +JY8QFUQ01AMV93 unmatched, IGA2 ggattcacctttagtggctattgg atgagttgggtccgccaggctccggggaagggtctggagtgggtggccaac atagagaaagatggaagtgacata aagtatgtggactctgtgaagggccgattcaccatctccagagacaacgccaagaattcactgtctctgcaaatgaacagcctgagagccgacgacacggctatttattactgt 57 45 63 48 +JY8QFUQ01ANFJ6 unmatched, IGA2 ggtgtctccatcagtagtttctac tggagttggatgaggcagcccccagggaggggactggagtggattggatat gtccatggcagtgggagcacc aactccaacccctccctcaagagtcgagtcaccatgtcagtggacacgtccaagaaccaattctccctgaagctgggctctgtgaccgctgcggacacggccgtgtattactgt 45 57 62 46 +JY8QFUQ01ANN07 unmatched, IGG4 ggtgtcgccaccagtagttactac tggagctggatccggcagtccgccggggcgggactagagtggattgggcgc atctataccggtcacaccacc atttacaaccctccctcaagggtcgagtcaccatgtcacttgacatgtccaagaaccagatctccctgaggctgacctctgtgaccgccgcagatacggccgtgtattactgt 44 64 56 45 +JY8QFUQ01ANOBA unmatched, IGG4 ggattcagctttagcgattttgcc atgagttgggtccgccaacctccaggaaaggggctggagtgggtcgcaagt gttgacagaggtggcactaca tactatgcaggctccatgaagggccggctcgccgtctctagagacgatgtcgacaagacagtgagtctgcagatgaacaatctgacagtcgaggacacggccacatatcactgt 52 50 64 44 +JY8QFUQ01ANT01 unmatched, IGA2 ggattcatcttcagtggctatggc atgcactgggtccgccaggtcccaggcaagggcctggagtgggtggcggtt attcggtatgatggaactaatgat gactatgcagactccgtgaagggccgattcaccatctccaaagacacctccaagaacactctctatctgcaaatgaacagcctgaggccgaggacacggctatatattattgt 53 52 58 49 +JY8QFUQ01ANU9C unmatched, IGA2 ggattcaccttcagtagctactgg atgcactgggtccgccaagctccagggaaggggctggtgtgggtctcacgt gttaatggtgatgggggtagcaca gcctacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaacactctctatctccaaatgaacagtctgagagccgaggacacggctgtatattactgt 51 55 62 45 +JY8QFUQ01AP4OP unmatched, IGA2 ggatttactttcagtaggtctgcc atgagctgggtccgccaggctccagggaaggggctggagtgggtctcaggc attagtggtggtggtcttagcaca tactacacagactccgtgaagggccggttcaccatctccagagacatttccaagaacacgctgtttctgcaaatgaacagcctgagagccgaggacacggccacatattactgt 50 53 62 48 +JY8QFUQ01APLX8 unmatched, IGA2 ggattcacattcggtagttttatg atgaactgggtccgccaggctccagggaagggactggagtgggtcgcatcg attagccctactagtactttcata gactacgcagactcagtgaggggccggttcaccatctccagagataacgccgagaacttactgtatctgcaaatgaacggcctgagagtcgaagacacggctgtctattactgt 53 50 59 51 +JY8QFUQ01APOB5 unmatched, IGA2 ggattcaccgtcagtaccaagttc atgagctgggtccgccaggctccagggaaggggctggagtgggtctcagta atttatcctgatggtactaca cactatggagcctccgtgaggggccggttcaccatctccagagacaattccaagaacacgctggatcttcaaatgaacagcctgagagccgaggacacggccgtttattattgt 51 53 59 47 +JY8QFUQ01APXHX unmatched, IGG2 ggattcaccttcagtagttactgg atgcactgggtccgccaagttccagggaagggactggtgtgggtctcacga attaatactgatgggagtgccaca agttacgcggactccgtgaggggccgattcaccatctccagagacaacgccaagaacacgctatatcttcaaatgaacagtctgagagtcgaagacacggctgtctattactgt 56 51 58 48 +JY8QFUQ01AQ36T unmatched, IGA2 ggattcagctttagttattattgg atgagctgggtccgccaggctccagggaaggggctggagtgggtggccaac ataaaggaagatggaagtgagaga cactatgtggactctgtgatgggccggttcaccatctccagagacaacgccaagaggtcactgtatctgcaaatgaacagcctgagagccgaggacacggctgtatattactgt 56 43 68 46 +JY8QFUQ01AQ6RF unmatched, IGA2 ggattcaccttcaggaactatgct atgcactgggtccgccaggctcctggcaaggggctagaatgggtggctttt atatcatatgatggaagtagtcaa tactacgcagactccgtgaagggccgattcaccatctccagagacaactccaagaacacactttatctgcaaatgaacagcctgagaggtgacgacacggctgtgttttactgt 57 51 54 51 +JY8QFUQ01AQQ9J unmatched, IGA2 ggattcacgtttaggacctatgcc atgacctgggtccgccaggctccagggaaggggctggagtgggtctccggt attggtggtagtggtcgaaccaca cactacgcagactccgtgcagggccggttcaccatctccagagacaattccaagaacacggtggatctgcaaatgaacagcctgagagccgaggacacggccatatattactgt 51 56 64 42 +JY8QFUQ01AR5SV unmatched, IGG1 ggattcaccttcagtagttatagc atgcactgggtccgccaggctccagggaagggactggagtgggtctcctcc attagtagtaatagtgcctacaca gaccacgcagactcagtgaagggccgattcaccatctccagagacaacgacaagaggtcactgtatctgcaaatgaacagcctgagagccgaggacacggctgtgtattactgt 57 54 58 44 +JY8QFUQ01ARLVF unmatched, IGA2 ggattcacctttagtaggtattgg atgagctgggtccgccagtctccagggaagggactggagtggctggcccac ataggaggagatggaagtgaggct ggttatgtggactctgtgaggggccgattcttcatctccagagacaacgccaagagctccctctatctgcagatgaacagcctgagccccgaggacacgggtgtgtattattgt 47 47 70 49 +JY8QFUQ01ARS0N unmatched, IGA2 ggattcaccttcagtaggtactgg atgcactgggtccgccaagttccagggaaggggccggtgtgggtctcacgt attaatgaagacggcagctacaca gatcacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaacaagctgtttttgcaaatgaacagtctgagaggcgaggacacggctgtctattactgt 55 52 62 44 +JY8QFUQ01AT43H unmatched, IGA2 ggattctccgtcagtaattactgg atgcactgggtccgccaggctccagggagggctggagtgggtctcacgt attaatgaagatggtagtcggaca gactacgcggactccgtgaagggccgattcaccatttacagagacagcgccaagaacacactgtatctgcaaatgaacagtctgagagtcgaagacacggctgtctattattgt 55 48 61 47 +JY8QFUQ01AT8N2 unmatched, IGA2 ggattcacctttagtagtttctgg atgcactgggtccgccaagttccaggggagggactggtgtgggtcgcacgg actaatgagtatgggagtatcaca aactacgcggactccgtggagggccgattcaccatctccagagacaacaccaagaacaggctatatctgcaaatgaacagtctgagagccgaggacacggctatttattactgt 56 49 61 47 +JY8QFUQ01ATKPT unmatched, IGG1 ggcttcagtttgagtacttatacc atgaactgggtccgccaggctccagggaaggggctggagtgggtttcactc attagtaagactagtaatgtcata tactacgcggactctgtgaagggccggttcaccatctccagagacaatgccgagaattcactgtttctgcaaatggacagcctgagtgccgaggacacgggtgtatattactgt 52 47 60 54 +JY8QFUQ01AU2BA unmatched, IGG1 ggattcatcttcttgaaatatggc atgcactgggtccgccaggctccaggcaaggggctggagtgggtggcaggt atatggtttgatggaagtaataca tactatgcggactccgtgaagggccgattcaccatctccagagacaattccaagaacacggtgtatttgcaactgaacagcctgagagccgaggacacggctgtgtattactgt 54 46 63 50 +JY8QFUQ01AUBMD unmatched, IGA1 ggttacacctttaccagctatggt ctcagctgggtgcgacaggcccctggccaagggcttgagtggatgggatgg atcttcgtttttaacggtaacaca aaatatgcacagcacctccagggcagagtcaccatgaccacagacacatccacggacacagcctacatggagctgaggagcctgagatctgacgacacggccgtgtattactgt 54 57 58 44 +JY8QFUQ01AVBV0 unmatched, IGG1 ggtggctccatgaggaattattac tggagctggatccggcagtccccaggaagggactggagttgatagggact gtctattacactgggcgcacg gagtacaacccctccctcaagagtcgactcaccttatcactagacacgtccaagaaccagttctccctaaagctgggctctgtgaccgctgcggactcggccatttattactgt 48 58 55 48 +JY8QFUQ01AVKTX unmatched, IGA1 ggattcacttttagcagccatatg atgagttgggtccgccaggctccagggaaggggctggaatgggtctcaact attcgtgccagtggtgataggaca cactatgcagactccgtgaggggccgcttcaccatctccagagacaattccaagaacacgctgcatttgcaaatgtacagcctgagagtcgaggacacggccgtatactactgt 53 53 60 47 +JY8QFUQ01AW6B3 unmatched, IGG2 ggattcacatttagtaattattgg atgatctgggtccgccaggctccagggaaggggctggagtgggtggccaac ataaaccaagatggaggtgacatg gcctatgtggactctgtgaagggccgattcaccatctccagagacaacgccaagaactctctgtatctgcaaatgaacagcctgagagccgaggacacggctatatattactgt 58 47 61 47 +JY8QFUQ01AWTQR unmatched, IGA2 ggtggctccatcagcatcaatacttacttc tggagttggatccggcagcccccagggaagggactggagtggattgggtat atctctcacagtgggagtgcc aactacaacccctccctcgagagtcgagtcaccatcttaagagacacgtccaagaaccagttctctctgaggctgagggctgtaaccgcggcggacacggccgtgtatttctgt 48 59 61 48 +JY8QFUQ01AY4JM unmatched, IGG1 ggattcaccgtcaatagaaactac atgagctgggtccgccaggctccagggaagggactggagtgggtctcagtt atttccagcggtggttccaca tactacgcaaactccgtgaagggccgattcaccatctccagagacaattccaagaacacggtatatcttcaaatgaacagcctgagagtcgacgacacggctgtgtattactgt 57 53 54 46 +JY8QFUQ01B0222 unmatched, IGA2 ggtgggtccttaagtgactcctac tgggcctggatccgccagcccccagggaagggcctggagtacattggggag atcagtcatgatggtagaacc atgttcaattggtccctcaagagtcgactcaccatctcagtagacacgtccaagaatcaattctccctgagattgacctctgtgaccgccgcggacacggctgtttattactgc 47 58 56 49 +JY8QFUQ01B19RC unmatched, IGG1 ggattcacctacagcagctatgcc atgagctgggtccgccaggctccagggaaggggctggagtgggtctcagca attagtggtggtggtgctagtaca taccacgcagactccgtgaagggccgattcaccatctccagagacaattccaagaacacgctgtatttgcaaatgaacagcctgagagccgacgacacggccgtatattactgt 54 55 61 43 +JY8QFUQ01B1HC5 unmatched, IGA2 ggtggctccatcagcagtagtaactgg tggagttgggtccgccagcccccagggaaggggctggagtggattggacaa atccatcatggtgggggcacc aattacaacccgtccctcgagagtcgagtcactatatcagtagacaagtccaagaaccacctctccctgaccctgaactctgtgaccgccgcggacacggccgtttatcactgt 49 62 60 42 +JY8QFUQ01B1QV9 unmatched, IGA2 ggattcacgttcgacaactatgcc atgagctgggtccgccaggcaccaggaaaggggctggagtgggtctccagt attagtggtaatggagaaattgta caccacgcagacgccgtgaagggccggttcaccatctccagagacaactccaagaacacgctgtttttgcaaatgaatggagtgagagacgacgacacggccatttactactgt 58 51 61 43 +JY8QFUQ01B1S6W unmatched, IGA1 ggtggctccatgagtagttactac tggaactggattcggcagcccccagggaagggactggagtggattgggtat atctattacactgggatcacc aactacaatccctccctcaagagtcgagtcaccatgtcaatagacacgtccaggaagcagttctccctgaccctgacctctgtgaccgctgcggacacggccgtctatttctgt 48 59 54 49 +JY8QFUQ01B2ACS unmatched, IGA2 gggttcaccttcagtgactactac atgagctggatccgccaggctccagggaaggggctggagtggctttcatat attagtagtgctggtagtaccata tactacgcagactctgtgaggggccgattcaccatctccagggacaacaccaagaactcactgtatctgcaaatgaacagcctgagggccgaggacacggccgtgtattactgt 53 53 59 48 +JY8QFUQ01B2E25 unmatched, IGA2 ggattcaccttcagtagctactgg atgcactgggtccgccaagctccagggaaggggctggtttgggtctcacgt gttaatggtgatggggtaggaca gcctacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaacactctctatctccaaatgaacagtctgagagccgaggacacggcaatatattactgt 53 54 60 45 +JY8QFUQ01B2GL4 unmatched, IGA2 ggtggctccatcaacagtggtagttatcac tgggcctggatccgccagtccccagggaaggggctggagtggattgggagc gtctcctatggtgggaacacc tactacaacccgtccctcatgagtcgagtcgacatattcgtcgacacgtccaagagtcagttgtccctgaaggtgagctctgtgaccgccgcggacacggctgtgtattactgt 43 58 66 49 +JY8QFUQ01B2XE6 unmatched, IGG2 ggtgtctccgtcaccagcggtcactgg tggacctgggtccgccagcccccagggaagggactggagtggattggagaa atctattattatggcatcacc aatttcaacccgtccctcaagagtcgaatcagcatgtcagtggacgagtccaagaaccagttctccctgagactgacttctgttaccgccgcggacacggccgtttattattgt 47 59 57 50 +JY8QFUQ01B2XKD unmatched, IGA2 ggattctccgtcagtagttactgg atgcactgggtccgccaggctccaggggaggggctggagtgggtctcacgt attaatgaagatggtagtcggaca gactacgcggactccgtgaagggccgattcaccatttacagagacagcgccaagaacacactgtatctgcaaatgaacagtctgagagtcgaagacacggctgtctattattgt 54 48 64 47 +JY8QFUQ01B37IT unmatched, IGG1 ggattcaccttcagtgaccatggc atgcactgggtccgccaggctccagggaagggtctgcagtgggtggcagtt gtttggcatactggagacaataaa tattatgcagagtccgtgaggggccgattcaccatctccagggacaattccaagaacacactgtatctgcaaatggacgacctgagaggcgaggacacggctatgtattattgt 54 48 63 48 +JY8QFUQ01B5KCJ unmatched, IGA2 ggcttcagattccgtgactactac atgacgtgggtccgccaggctccagggaagggtcttgagtggctttcctcc atcagcagcggtagtaataccatc cactactcagactcggtgaggggccgcttcaccatctccagggacaacaccaggaactcagtggatctgcaaatgaatagtctgagagccgaagacacggccgtctattattgt 51 58 57 47 +JY8QFUQ01B5XDW unmatched, IGA1 ggattcatcttcagcaaccttgcg atgcactgggtccgccaggctccaggcaaggggctagagtgggtggcacac atatcatatgatggaaataagaaa tactacgcagactccgtgaagggccgattcaccatctccagagacaattccaagaacacgctgtatctgcaaatgaacagcctgacagctgaagacacggctatttattactgt 63 53 52 45 +JY8QFUQ01B5ZV4 unmatched, IGG2 ggtggctccgtcaacagtggtaatttctac tggagctggatccggcagcccgccgggaagggactggagtggatagggcgt atctatgccagtgggagcacc aactacaacccctccctcaagagtcgaatcaccatatcagcagacacatccaagaatcagttctccctgaggctgagttctgtgaccgccgcagacacaggcgtttattattgt 52 59 59 46 +JY8QFUQ01B6IHX unmatched, IGA1 ggattcaccttcagttcttatagt gtaaactgggtccgccaggctccagggaagggcctagagtttgtctcatac attgatagtagtggttctaccata tactacgcagactctgtgaagggccgattcaccatctctagagacaatgcccagaactcactgtttctgcaaatgaacaacctgcgagtcgacgacacggccgtatattactgt 55 53 49 56 +JY8QFUQ01B8YFN unmatched, IGA1 ggattcacctttagtgactattgg atgaggtggttccgccagcctccaggaagggggctggagtgggtggccagc ataaaagaagatggaagtgagaaa ggttatgtggactctgtgaagggccgcttcaccatcgccagagacaacgcccagaaatcactgtttttgcagatgaacagcctgagaggcgaggacacggctgtgtatttctgt 54 43 69 47 +JY8QFUQ01B9KF0 unmatched, IGA2 ggtttcacgtttgacaactatgcc atgacttgggtccgccagactccagggaaggggctgcagtggctctcaact attactgcttatgggactctcaca tactacgctgcctccgtgaagggccggttcaccctctccagggacaactccaacaacacggtgtatctgcaaatggacagtctgagagccgaagacacggccgtattttactgt 49 60 54 50 +JY8QFUQ01BAG1V unmatched, IGA2 ggatacaccttcactaattatgct ctgcaatgggtgcgccgggcccccggacaaacttttgagtggctgggatgg atcaactctgccaatggcaacaca aaatattctcagaagtttcagggcagagtcgccattaccagggacacatccgcgaggacaacttacatggaattgagcagtctgacatctgaagacacggcgacatattattgt 60 52 53 48 +JY8QFUQ01BANLS unmatched, IGA2 gggctcagcgtcagtaactaccgc atgggctgggtccgccaggctccagggaaggggctggagtgggtctcagtt atttatagagatgatagtaca gatcatgtagattccgtgaagggccgattcaccgtttcccgagacaattccaagaacacattgtaccttcagatgaacagtgtgacagccgaggacacggccgtttattattgt 52 47 61 50 +JY8QFUQ01BAR2U unmatched, IGG2 ggattcaccttcaccaactacgcc atgacctgggtccgccaggctccagggaaggggctggagtggatctcgact gttgtgggtggcggtggtaacaca tactacgcagactccgtgaagggccggttcaccatctccagagacaattcccagaacacgctgtatttgcaaatgtacaatttgggagccgaggacacggccctatattactgt 50 57 60 46 +JY8QFUQ01BBGFU unmatched, IGA2 agattcacctttaggacatattgg atgagttgggtccgccaagctccagggaaggggctggagtgggtggccaac ataaaggaagatggaagtgagata cactatgtggactctgtgaagggccgattcaccatctccagagacaacgccaagaacacactgtttctccaaatgaacagcttgagagtcgatgacacggctgtgtattactgt 61 44 61 47 +JY8QFUQ01BCZ6T unmatched, IGA2 gggttcaccgtcagtagcaagttc atgagctgggtccgccagggtccagggaaggggctggagtgggtctcagtt acttatcctgatggtactaca cattatagagactccgtgaagggccgattcaccatctccagagacaattccaagaacacgctggatcttcaaatgaacagcctgagagccgaggacacggccgtttattattgt 53 50 59 48 +JY8QFUQ01BDHSG unmatched, IGA2 ggttacacctttaccagatatggt attagttgggtgcgacaggcccctggacaagggcttgagtggatgggatgg atcagcgtttccaatggtgacaca aactatgcacagaagctccagggcagagtcaccatgaccgcagacccatccacgagcacagcctacttggaactgaggagcctgacatctgacgacacggccgtatattactgt 56 54 59 44 +JY8QFUQ01BF6IL unmatched, IGA2 ggattcacctttagtaaccattgg atgaactgggtccgccaggctccagggaaggggctggagtgggtggccaac ataatgccagatggaggtgagaaa ttctatgtggactctgtgaagggccggttcaccatctccagagacagcgccaagaactcactgtatttgcaaatgaacagcctgagagccgaggacacggctgtgtattactgt 55 47 65 46 +JY8QFUQ01BG2KZ unmatched, IGA2 gggttcatctttagtagacattgg atggcctgggtccgccaggctccagggaagaggctggagtgggtggccaac ataaaacaagatggaagtctgaga tactttgtggactctgtgaagggccgattcaccatctccagagacaacgccgagagctcactgtttctgcaaatggacagcctgagaggcgaggacacggctgtgtattactgt 53 46 67 47 +JY8QFUQ01BG9LH unmatched, IGA2 agattcacctttaatggttactgg atgagttgggtccgccaggctccaggaaaggggctggagtggctggccaac ataaagccggatggaaatgagaaa tgctatgcggactctgtgaagggccgattcaccatctccagagacaacgccaagagttcgctgtttctgcaaatgaacagcctgagagccgaggacacggctgtatatttctgt 56 47 63 47 +JY8QFUQ01BGU0C unmatched, IGA2 gggttcagcgtcagtaataacttc atgacctgggtccgccaggttccagggaaggggctggagtgggtctcagtt atttatagcaatggtgaaaca atctacgcagactccgtgaagggccgattcactatgtccagagacaattccaagaacacactgtttcttcaaatgaacagcctgagaggcgaggacacggccgtgtaccactgt 56 49 58 47 +JY8QFUQ01BHYPA unmatched, IGA2 ggattcacctttagccactatgcc gtgacctgggtccgccaggctccagggaagggtctggagtgggtctcaact attagtggtagtgatggtagcacg tactacgcagactccgtgaggggccggttcaccatctccagagacaattccaagaacacgctgtatctgcaaatgaacagcctgagagccgaggacacggccgtatattactgt 51 55 61 46 +JY8QFUQ01BJC1Y unmatched, IGA2 ggattcagctttagttactattgg atgagctgggtccgccaggctccagggaaggggctggagtgggtggccaac ataaaggaagatggaagtgagaga cactatgtggactctgtgaagggccgattcaccatctccagagacaacgccaagagctcactgtatctgcaaatgaacagcctgagagccgaggacacggctgtatattactgt 58 45 66 44 +JY8QFUQ01BKLR9 unmatched, IGA2 ggattcaacttccgatcttatgcc atgtactgggtccgccaggccccaggcaaggggctggactgggtggcagtt atttggcatgatggcagtaatcaa tactatgcagattccgtgaagggccgattcaccatctccagagacaattccaagaacacattgtttctgcaaatgaacagcctgagagtcgaggacacggctgtctattactgt 54 51 56 52 +JY8QFUQ01BLF36 unmatched, IGA1 ggattcgactttgccagccacgcc atggcttgggtccgccggactccaaggaagggcctggagtgggtctcaggc ataagtagtagtggtggaaccacg tattacgcagacttcgtgaagggccgcgccactgtctccagagacaattccgagaacacagtgtctctggaactccacagcctgagagccgatgacacggccatatattattgt 50 57 62 44 +JY8QFUQ01BLJYE unmatched, IGA2 ggattcagcttaagtgactactac atgacctgggtccgccaggccccagggaagggactggagtggctcgcctac attagtcgaactgatgattccgta tattccgcagagtctgtggtgggccgattcaccgtctccagggacaacgtccaaaactcactgtttttgcagatgattggcctgagagacgaggacacggccgtatattactgt 49 53 60 51 +JY8QFUQ01BLLRQ unmatched, IGA2 ggattcaccttcagtaactatagt atgaactgggtccgccaggctccagggaagggcctggagtgggtctcatcc atcagtagtggtggtagtttcaaa caccacgcagactcagcgaagggccgattcaccatctccagagacaacgccaagaactcactgtatctgcaaatgaacagcctgagagccgaggacacggctgtgtattattgt 57 54 57 45 +JY8QFUQ01BM2SX unmatched, IGG1 ggattcaacttcaatagttttggc atgcactgggtccgccaggctccgggcaagggactggagtgggtggcaaac atatggtatgatggaggtagtcaa cactatgcagacctcgtgaagggccgattcaccatctctagagacaattccaagaacatcttgttcctgcaaatgagcgacctgagagccgaggacacggctgtttattattgt 55 47 60 51 +JY8QFUQ01BM631 unmatched, IGA2 gggttcaccttcagtgactactac atgggctggatccgccaggctccagggaaggggctggagtggattgcgtac attagtggtagtggtgataccata tactacgcagactctgtgaagggccgattcaccatctccagggtcaacgccaagaactcactgtctctgcaaatgaacagcctgagagccgaggacacggccgtgtattactgt 51 53 62 47 +JY8QFUQ01BMPYC unmatched, IGA2 ggattcaccttcagtaattactgg atgtactgggtccgccaagttccagggaaggggctggtgtgggtcgcccgt attaataacgatgggagtagcaaa acttacgcagactccgtgaggggccgattcaccatctccagagacaacgccaagaacacactgtttctgcaaatgaacagtctgagaggcgaggacacggcttcatattattgt 57 49 59 48 +JY8QFUQ01BMULR unmatched, IGA1 ggattcatcttcagcaactactgg atgcactgggtccgccaagctccagggaaggggctggtgtgggtctcacgt attactggtgatgggagtaaccca atctacgcggaccccgtgaagggtcgattcaccatctccagagacaacgccaagaacacactatatctgcaaatgaacagtctgagagtcgaggacacggctgtgtattactgt 55 53 59 46 +JY8QFUQ01BNJBB unmatched, IGA1 gggggctccattagtggttactat tggacgtggatccggcagaccccagggaagggactggagtggattggaaat gtccattacactgggagtacc aagtacagcccctccctcaagagtcgagtcaccatgtcagttgacatgtccaggaaccagttcaccctcaaattgacctctgtagccgctgcggacacggccgtctattactgt 49 56 58 47 +JY8QFUQ01BNJGF unmatched, IGA2 ggatttaccttcagtaagttctgg atgcattgggtccgccaagctccagggaaggggctgacttgggtctcacgt attaatcctgatgggactatcacg aactacacggactccgtgaggggccgattcatcacttccagagacaacgccaagaacacagtatatctgcagatgaacagtctgcgagtcgaggacacaggtgtatattactgt 56 50 57 50 +JY8QFUQ01BP3M1 unmatched, IGA2 ggattcacctttagtagttactgg atgcactgggtccgccaagctccaggggagggactggtgtgggtctcacgg actaatgaagatgggagtatcaca aactacgcggactccgtggaggaccgattcaccatctccagagacaacgccaagaacaggctgtatctgcaaatgaacagtctgagagccgaggacacggctgtgtattactgt 56 50 63 44 +JY8QFUQ01BPT8C unmatched, IGA2 ggtggcgccatcagcagtaatagttactac tgggactggatccgccagcccccagggaaggggctggagtggattgggagt atgttttatactggggtcacc ttctacaacccgtccctcaagagtcgagttaacatttccgtggacacgtccaagagccagttctccctgaggctgagctctgtgaccgccgcagacacggctgtgtatcactgt 45 58 63 50 +JY8QFUQ01BPXZS unmatched, IGA2 ggtgtctccatgagcaatgagtcctattac tggacgtggatccggcagcccgtcgggaagggaccggagtggattgggcgc atctacaccagtgggagcacc aattataatccttccctcaagagtcgagtcaccatgtccttagacacgtccaagaggcagttctccctgaagttgacctctatgaccgccgcagacacggccacatatttctgt 50 61 57 48 +JY8QFUQ01BR9V1 unmatched, IGA2 ggattcaccttcagtgactactac atgaactggatccgccaggctccagggaaggggctggagtggctttcatac attagtggtagtggaactaccata tcctacgcagactctgtgaagggccgattcaccatctccagggacaacgccaggaactcactgtatctgcaaatgaacagcctgagagccgaggacacggccgtgtattattgt 55 54 57 47 +JY8QFUQ01BRGSI unmatched, IGA2 ggattcaccctcagtagctataac atgaactgggtccgccaggctccagggaaggggctggagtgggtttcatac attagtattagtagtggtaccata tactatgcagactctgtgaagggccgattcaccatctccagggacaatgccgagaactcactgtatctgcaaatgagcagcctgagagccgacgacacggctgtgtattactgt 55 50 58 50 +JY8QFUQ01BRNFF unmatched, IGA1 ggtggctccatcagcagtgataattgg tggagttgggtccgccagcccccagggaagggactggaatggattggggaa atatatcatagtgggagcacc tactacaacccgtccctcaagagtcgagtcaccatatccctagacaagtccaagagtcaattcttcctggagctgaggtctgtgaccgccgcggacacggccgtatattattgt 52 53 61 47 +JY8QFUQ01BSGO4 unmatched, IGA1 agattcacctttagtaggttttgg atgacctgggtccgccagggtccagggaaggggctggagtgggtggccaac ataaagcaagttggaaatgagaga tactatgtggactctgtgaagggccgattcaccatctccagagacaacgccaagaactcattgtatctgcaaatgaacagcctgagagtcgacgacacggctgtgtattactgt 58 44 63 48 +JY8QFUQ01BT0O2 unmatched, IGA2 ggattcacctttagtaattactgg atgcactgggtccgccaagctccaggggagggactggtgtgggtctcacgg actaatgaagatgggagtatcaca aactacgcggactccgtggaggaccgattcaccatctccagagacaacgccaagaacaggctgtttctgcaaatgaacagtctcagagtcgaggacacggctgtttattactgt 56 50 60 47 +JY8QFUQ01BT4AX unmatched, IGG1 ggattcaccttcagtgactatcac atgtactgggtccgccaggctccaggcaaggggctggagtgggtggcagtt atatcatatgatggaagtaataaa tactatgtagactccgtgaagggccgattcaccatctccagagacaattccaagaatgcgctgtttctgcagatgaacagcctgagagctgacgacacggctgtgtattactgt 56 47 58 52 +JY8QFUQ01BT86M unmatched, IGA2 ggattcaccttcagtagctactgg atgcactgggtccgccaagctccggggaaggggctggtgtgggtctcacgt atgaatagtgatggcagtgacata aggtacgcggactccgtgaggggccgattcaccatctccagagacaacaccaagaacacgctgtatctacaaatgaacagtctgagagccgaggacacggctgtgtattactgt 54 51 64 44 +JY8QFUQ01BTQAH unmatched, IGA2 ggattctcctttagtgcatatggc atacactgggtccgccagactccaggcaaggggctggagtgggtggctgtt atgtattttgatggagttagaaca ttttatgcagactccgtgaagggccgattcaccctctccaaagactattccaagaacacggtgcatctgcaaatgaacagcctgcgagccgaggacacggctgtatattactgt 52 49 58 54 +JY8QFUQ01BURMR unmatched, IGA1 ggattcaccctcagtgactacagt atgagttgggtccgccaggctccagggaaggggctggagtgggtctcatac atcagccgaagtggaagtaatgtg gaaactgcggactctgtgaggggccgattcaccgcctccagggacaccgccaataattcactgtttctgcggatgaatagcctgacagtcgaggacacggccctctattactgt 49 54 64 46 +JY8QFUQ01BV9YG unmatched, IGG1 gacttcacctttaatagctatgcc atggcctgggtccgccaggctccagggaaggggctggagtgggtctcggct attggtgccagtggctacagcaca tactacgcagactccgtcaagggccgcttcaccatctccagagaccattccaacagcacgctgcatctgcaaatgaacagcctgagagccgaagacacggccgtttattactgt 49 63 57 44 +JY8QFUQ01BW9QL unmatched, IGG1 ggattcaccttcaggagttatatc atgaactgggtccgccaggctccagggaaggggctggagtggatttcatac attagtagtagtggtattatcata tactacgcagactctgtgaagggccgattcaccatctccagagacaatgccaagaactcactgtatctgcaaatgaacagcctgagagtcgaggacacggctgtgtattattgt 58 45 56 54 +JY8QFUQ01BWI2D unmatched, IGA2 ggattcatcttcgatagttatgct ctgcactgggtccgccaggctccaggcaaggggctagagtgggtggcactt gtttcatatgatggaaaatataag caatatgcagattctgtggagggccgattcaccatctccagagacaactccaagaacacaggatatctgcaaatgaacagcctgacatctgacgatacggctgtgtatttttgt 57 46 55 55 +JY8QFUQ01BXYLF unmatched, IGA2 ggatacaccttcaccgtctactat ctattctgggtgcgacgggcccctggacaagggcttgagtggatgggatgg atcaaccctaagagtggtgacaca cactatgcaccgaaattccagggcagggtcaccatgaccagggacacgtccatcagcacagcctacatggaactgaataggctgagatctgacgacacggccgtgtattactgt 55 56 59 43 +JY8QFUQ01BY231 unmatched, IGA1 ggtggctccgtcagcagtaggggttactac tggaactggatccgccagttcccagggaagggcctggagtggattgggaac atcttttacagtgggggcacc tacgacaacccgtccctcaggagtcgaatttctatatcattagacacgtctaagaaccaattctccctgaagttgacctctgtgaccgccgcggacacggccgtgtattactgt 48 57 60 51 +JY8QFUQ01BYGN8 unmatched, IGA2 gggttcacctttagcagctatgcc atgacttgggtccgccaggctccagggaaggggctggagtgggtctcaagt atcagttttagtggtgagagaaca tattatgcagactccgtgaagggccggttcaccatctccagagacaactccaagaacacagtacatttgcaaatggacagcctgagagccgaggacacggccgtatattactgt 55 50 61 47 +JY8QFUQ01C2NGE unmatched, IGG1 ggcgactccatcagtggtcactac tggagctggatcaggcagcccccagggaagggactgcagtggattggttac atctatcacagtgggagcacc aactacaacccctccctcgagagtcgagtctccatttcagtagacacgtccaagaaccagttctccctgaggttgagttctgtgaccgctgcggacacggccgtgtattactgt 47 60 57 46 +JY8QFUQ01C2ROO unmatched, IGA2 ggattcacctttagtacctattgg atgggctgggtccgccaggctccagggaaggggctggagtgggtggccaac ataaaacaagatggaagtgacaaa tactatgtggactctgtgaagggccgattcaccatctccagagacaacggcaagaactcactgtatttgcaaatgaacagcctgagagccgaggacacggctgtctattactgt 59 47 62 45 +JY8QFUQ01C3QHH unmatched, IGA2 gggttcaccttcagtaactcctgg atgcactgggtccgccaagctccagggaaggggccggagtgggtctcacgt attaatagtgatgggagtaataca atctacgcggactccgtgaagggccgactcaccatctccagagacaacgccaaaaacacggtgtatctgcaattgaacagtctgagagccgaggacacggctgtgtactactgt 55 54 61 43 +JY8QFUQ01C4MHW unmatched, IGA2 ggattcaccttcagtagctactgg atgcattgggtccgccaagctccagggaaggggctggagtgggtctcacgt attcatagtgatgggactaccaca tactacgcggactccgtgaagggccgattcaccatctccagagacaacgccaggaacacgttgtatctgcaattgaacagtctgagagccgaggacacggctgtgtattattgt 52 52 61 48 +JY8QFUQ01C5Q2O unmatched, IGA2 ggattcatcttcagtagctactgg atgcactgggtccgccaagctccagggaaggggctggtgtgggtgtcacgt agtaatacgggggggactgacaca gcctacgcggactccgtgaagggccgattcaccatctcccgagacaacgggaagaacacgctgtatctgcaaatgaacagtctgagagccgaggacacggctgtttattactgt 51 52 67 43 +JY8QFUQ01C8QWZ unmatched, IGA2 ggatacaccttcagtacctatact atgaattgggtgcgccaggcccccggacaaaggcttgagtggatgggatgg atcaacgctgaccttggcaacaca aaatattcacagaagttccagggcagactcaccattaccagggacacatccgcgaacacagcctacatggagctgagcagcctgacatctgaagacacggctgtgtattactgt 61 56 54 42 +JY8QFUQ01C92F8 unmatched, IGA1 ggggacagtgtctctagcagcagtgttgtt tggaactggatcaggcagtccccattgagaggccttgagtggctgggaagg acattctacaggtccaggtggtataat gattattcattatctgtgaaaggtcgaataactatcaagccagacgcatccaagaaccagttctccctgcagctgaactctgtgactcccgaggacacggctgtatattactgt 56 49 60 57 +JY8QFUQ01C966Y unmatched, IGA2 ggattcagctttagaacctattgg atgggctgggtccgccaggctccagggaaggggctggagtgggtggccaac ataaagcacgatggaagtgacaaa tactatgtggactctgtgaagggccgattcaccgtctccagagacaacgccaagaactcactgtttttgcaaatgaacagcctgagagccgaggacacggctgtgtactactgt 56 48 65 44 +JY8QFUQ01C98A9 unmatched, IGA2 ggttacatctttaccacctatggt atcagttgggtgcgacaggcccctggacaagggcttgagtggatgggatgg atcaacacttacaatggtaacacg aactatggacagaggatccagggcagagtcaccatgaccacagacacatccacgagcacagcctacatggagctgaggagcctgagatctgacgacacggccgtatattattgt 60 51 59 43 +JY8QFUQ01CANL1 unmatched, IGA2 ggattcacctctggaaagtatgcc atgcactgggtccggcaagctccagggaaggacctggagtgggtctcaggc ttgggtttggataatggtaggata gactacgcggactctgtgaagggccgattcaccatctccaaagacaacgccaagaattccctgtatctgcaaatgaacagcctgagagttgaggacacggccatgtattactgt 55 49 62 47 +JY8QFUQ01CD8ZK unmatched, IGA2 ggattcagcttcaacagctacagc atgaactgggtccgccaggctccagggaagggactggaatggatctcatca attagtaccgctggcaccaccata ggctacgcagactctgtgaagggccgattcactatttccagagacaacgccaagaactcagtatctctgcagatggacagcctgagagacgaggacacggcggtatattactgt 59 55 57 42 +JY8QFUQ01CD9VK unmatched, IGA1 ggatacacgtttatgaattactgg atcggctgggtgcgccagatgcccgggaaaggcctggagtggatggggatc atctatcctggtacctctgagacc agatacagcccgtcctttcaaggccaggtcaccatttcagccgacaagtccaccagcaccgcctacgtgcagtggagcagcctgaaggccccggacaccgccatatattactgt 49 62 59 43 +JY8QFUQ01CDZ5R unmatched, IGA1 ggattcaccttcagtgcctttact atgcactgggtccgccaggctccaggcgagggactagagtgggtggcagct atatcatatgatggcagtaaaaa tactatgcggactttgtgaagggccgattcaccatctccagagacaatcccaagagtacactgtatctacaaatgaacggcctgggaggtgatgacacggctttgtattactgt 55 48 57 52 +JY8QFUQ01CE8P9 unmatched, IGA2 ggattcacctttagcaactatgcc atgaactgggtccgccaggttccaggggaggggctggagtgggtctcagcc attagtggcagtggtggtagcaca ttctacacagacgccttgcagggccgattcaccatctccagagacaattccaagaacacgttatatttgcaaatgaaaagcctgagagccggggacacggccgtgtattactgt 53 52 61 47 +JY8QFUQ01CF06T unmatched, IGG1 ggagacaactttagcagatactgg atcggctgggtccgccagatgcccgggaaaggcctggagtggatggggatc atctatcctggtgactctgacacc agatacagtccgtccttccaaggccaggtcaccatctcagccgacaagtccaccagtaccgcctacctgcagtggagcagtctgaaggtctcggacaccgccacgtattactgt 49 63 59 42 +JY8QFUQ01CG8U2 unmatched, IGA2 ggattcaccgtcagtgatagttac atgagctgggtccgccaggctccagggaaggggctggagtgggtctcgatt atttataggggaggtaccaca tattatgccgactccgtgaagggccgattcaccatctccagagacaattccaagaacacgctatatcttcaaatgaacaccctgagaggtgaggacacggctctatattactgt 55 49 57 49 +JY8QFUQ01CGLTX unmatched, IGA1 ggattcacctttggtgactttgct atgagctggtttcgccaggctccagggaaggggctggagtggctaggtttc attagaagcaaaatttatggtgggacacca gaatacgccgcgtctgtgaaaggcagatgtcccatctcaagagatgattccaaaaacatcgcctatctgcaaataaacggcctgaaaaccgaggacacagccatgtatttctgt 60 48 58 53 +JY8QFUQ01CGQFF unmatched, IGA1 ggatacagttttaacagttatgcc atgacttgggtccgccaggctccagggaaggggctggagtgggtctcaact attagtggcactggtggtaaccaa tactacgcagactccgtgaggggccggctcaccatctccagagacaattccaagaacacactatttctgcagatgagcagcctgagagccgaggacacggccgtttattactgt 53 53 60 47 +JY8QFUQ01CHDDF unmatched, IGA2 ggagtcactttcactaacgtgtgg atgagttgggtccggcaggctccagggaaggggccggagtgggttggccgt attaaaagggagactgagggggggacaata gactacgctgcacccgtgacagcaagattcaccatgtcaaaagatgattcaaaaaacacactatatctgcaaatgaacaacctgaaaatggaggacacagccgtgtattactgt 67 44 65 43 +JY8QFUQ01CHKLB unmatched, IGA2 ggattcaccttcagtagctactgg atgcactgggtccgccaagctccagggaaggggctggcgtgggtctcacgt attaaaagtgatggcagtggcaca aactacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagagcacgctgtttctgcaaatgaacagtctgagagccgaggacacggctgtatattactgt 54 54 62 43 +JY8QFUQ01CHW93 unmatched, IGA1 ggattcacatttagaagctattcc atgaattgggtccgccaggctccagggaaggggctggagtgggtctcagca attagtggtggtggtgctagtaca taccacgcagactccgtgaagggccgattcaccatctccagagacaattccaagaacacgctgtatttgcaaatgaacagcctgagagccgacgacacggccgtatattactgt 56 51 59 47 +JY8QFUQ01CII5W unmatched, IGG1 gggttgaccgtcggtgccgaccac atgtactgggtccgccaggctccagggaaggggctgaagtgggtctcagtt ctttatggcggtggcaccttg gactacgcagactccgtgaagggccgattcaccatctccagagacaactcgaggaacactgtgtatcttcagatggagagactgagccccgaggacacggccgtctactactgt 44 57 66 43 +JY8QFUQ01CINZT unmatched, IGA2 ggattcaggtttagcatctattgg atgagctgggtccgccaggctccagggaaggggctggagtgggtggccaac ataaagcaagatggaagtgagaaa tactatgtggactctgtgaagggccgattcaccatctccagagacaacgccaagaactcactgtatctgcaaatgagcagcctgagagccgaggacacggctgtgtattactgt 58 45 66 44 +JY8QFUQ01CJLXK unmatched, IGA2 ggattccctttcagtagagatgcc atgcactgggtccgccaggctccaggcaaggggctggagtgggtggcaatg gtatggtatgatggaagtaataca caccatgcagattccgtgaagggccgattcatcatttccagagacaattccaagaataaagtgtatctgcaaatgaacagtctgagagacgaggacacggctgtctattattgt 59 43 61 50 +JY8QFUQ01CJT9B unmatched, IGA2 ggatttgtctttagtagatatgcc atggcctgggtccgccaggctccagggcaggggctggagtgggtcgccagt attggcgggagtggtgataacaca tactacgcggactccgtgaagggccggttcaccatctccagagacaactccaataacaaactgtttctgcaaatggacagtttgcgagccggggacacggccagatatttctgt 48 51 66 48 +JY8QFUQ01CK1VY unmatched, IGA1 ggtggctccgtcagcagtggtaattactac tggaactggatccgccaacccccagggaagggactggagtggattggatat atctactatgctggggccacc aacgtcgccccctccctcaagaaccgagtcaccataacgagagacacgtccaagaaccaattttccctgaggttgacttctgtgaccgctgcggacacggccgtatattactgt 52 62 56 46 +JY8QFUQ01CKN3U unmatched, IGG2 ggattcagttttagttcttatggc atgaactgggtccgccaggctccatggggggggctggagtgggtctcattc attaacagtgttagtagttacaaa tactatgtggacccagtgaggggccgattcaccatctccagagacaacgccaagaacgcactgtatttgcaaatgaacagcctgagagccgaggacacggctgtttactactgt 53 47 60 53 +JY8QFUQ01CLP4K unmatched, IGA2 ggattcacctttatcaactatggc atgagctgggtccgccaggctccagggaaggggctggagtgggtctcaggt attagtggtagtggtgataccaca taccacgcagactccgtgcagggccgattcaccatctccagagacaactccaagaacactctgtatctgcaaatgaacagtctgagagtcgaggacacggccgtttattactgt 53 53 59 48 +JY8QFUQ01CNCW4 unmatched, IGA1 cggaaaaccctcactgaagtatcc atgcactgggtgcgacaggctcctggaaaagggcttgagtggatgggagga tttgatcctgaagatggtgaaata atctacgcacagaagttccagggcagaatcaccgtgaccgaggacacatctacagacacagcctacatggagctgagcagcctgagatctgaagacacggccgtgtattactgt 62 49 61 41 +JY8QFUQ01CO019 unmatched, IGG1 ggattcaccttcagtgaccacttc atgagttggatccgccaggctccagggaaggggctggagtgggtttcatac attagtggcagtggtagtataata tattacgcagactctgtgaggggccgattcaccatctccagggacaacgccaagaattccctctatctgcaaatggacagcctgagagacgaggacacggccgtgtatttttgt 52 49 60 52 +JY8QFUQ01CPVUP unmatched, IGA2 ggattcaccttcagttcttatgcc atgaactgggtccgcctggttccaggcaaggggctggaatggctttcattt attggtaatactggtagtgtcata tactacgcagactctgtgaaggggcgattcaccatctccagagacaatgccaagaactcaatgtctctacaaatgagcagcctgagagccgaggacacggctctatattattgt 54 49 53 57 +JY8QFUQ01CPYJ0 unmatched, IGA2 ggattcaccttcagttactcctgg atgcactgggtccgccaagttccaggaaaggggccggtgtgggtctcacaa attaaaagtgatgggagtacccca agttacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaacacgctgtatctgcaaatgaacagtctgagagtcgaggacacggctgtttattactgt 56 53 58 46 +JY8QFUQ01CQH14 unmatched, IGG1 ggattcaccttcaacaactatgcc atgagttgggtccgccaggctccagggaaggggctggaatgggtctcaact attactagtggtggtggtagtaca ttgtacgcagactccgtgaagggccggttcaccatctccagagacaatttcaaggacacgctgtatctgcaaatgaacagcctgagagccgaggacacggccgtatattactgt 54 51 60 48 +JY8QFUQ01CST8T unmatched, IGA2 ggattcaccttcagtagatactgg atgcactgggtccgccaagctccagggaaggggccggtgtgggtctcacgt actaatgaagatggcacccacata aattacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaacaagctgtatttgcaaatgaacagtctgagagccgaggacacggctgtctattactgt 58 54 58 43 +JY8QFUQ01CU1XI unmatched, IGA2 gggttcaccgtcagtagcaagtac atgacctgggtccgccaggctccggggaagggactggagtctgtctctgtt tttatagcggtgatcaaaca tactacgcagactccgtgaggggccgattcaccatctccatagacaattccaagaacacactgtatcttcaaatgaacggcctgcgagccgaggacacggccgtgtattattgt 51 54 56 48 +JY8QFUQ01CU5CB unmatched, IGA2 ggattcacctttagtagatattgg atgcactgggtccgccaagctccagggaaggggctggtgtgggtctcacgt attaatgaagatgggaggaccaca acctacgcggactccgtgaatggccgattcctcatctccagagacaacgccaagaatacgttgtatctgcagatgagcagtctgagagtcgaggacacggccatgtattattgt 54 48 62 49 +JY8QFUQ01CUGFD unmatched, IGA2 ggattcacccttcgcagatatggc atggcgtgggtccgccaggctccggggaaggggctggagtgggtctcatct tctaacagtagtgatgaatccaca tactatgcagactccgtgaagggccgcttcaccatttccagagaccattccaagaacacggtgtttttgcaaatgtacagcctgagagccgaagacacggccctctattactgt 50 56 58 49 +JY8QFUQ01CURPS unmatched, IGA2 ggattcacctttagtagctatggc atgagttgggtccgccagtctccaaataagggactggagtgggtcgcaggc attagtgcaaatggtggcagtata aattatctggacgccgtgaagggccggtttatcatctctagagacaattccaagaacacgttgtatctgcaaatggacagcctgacagtcgaggacacggccgtttattactgt 55 44 60 54 +JY8QFUQ01CY2WW unmatched, IGA2 ggattcaccttcagtacctttggc atgcactgggtccgccaggctcccggcaaggggctggagtgggtggcaatc atatcaaatgatggaagtaagaaa tactacgcagactccgtgaagggccgattcaccatttccagagaaaattccgagaacacgctgtatctgcaaatgagcagcctgagagctgaggacacggctgtgtattactgt 57 50 60 46 +JY8QFUQ01CY6MC unmatched, IGA2 ggattcaccttcgataactatggc atgcactgggtccgccaggctccaggcaaggggctggagtgggtggcagtt atatcaaaggatggaagtattgaa tactatgcagactccgtgaagggccgattcaccatctccagagacaattccaagaacacaatttatctgcaaatgaacattgtgagggttgaggacacggctatgtattactgt 60 44 58 51 +JY8QFUQ01CYWC2 unmatched, IGA2 ggattcaccttcagcagctttagt atgaactgggtccgccaggctccagggaagggactggagtggctttcatac attagtaatactggtagtaacaaa tactacgcagactctgtgaagggccgattcaccatctccagagacgatgccaagaactcactgtatctgcaaatgaacagcctgagagtcgaggacacggctgtgtattactgt 59 49 55 50 +JY8QFUQ01DA9FW unmatched, IGA2 ggatatagttttgccacctactgg atcggctgggtgcgccagaggcccgggaagggcctggagtggatgggggtc atctatcctggtgactctgatacc agatacagcccgtccttccaaggccaggtcaccatttcagccgacaagtccctcagtatcgcctacctgcagtggagcagcctgcaggcctcggacaccgccatatattactgt 43 63 61 46 +JY8QFUQ01DA9S4 unmatched, IGG1 ggtggctccatcagcagtagtagttactac tggggctggatccgccagcccccagggaaggggctggagtggattgggagt atctattatagtgggagcacc tactacaacccgtccctcaagagtcgagtcaccatatccgtagacacgtccaagaaccagttctccctgaagctgagctctgtgaccgccgcagacacggctgtgtattactgt 49 59 61 47 +JY8QFUQ01DC4QI unmatched, IGA1 ggattcagtttcagtgactatagc atgaactgggtccgccaggctccagggaaggggctggagtgggtttcatac attagtagttctagtagtacccta tattatgcagactctgtgaagggccgattcaccgtctccagagacaatgacaagagttctctgtatctgcaaatgaccggcctgagagccgaagacacggcgacttattactgt 54 47 58 54 +JY8QFUQ01DC8OC unmatched, IGA2 ggattcacctttggcacctctgac atggcctgggtccgccaggttccaggggaggggctggagtgggtctcacac attgatatcagaggtgccaca cagtataaagactccgtgaagggccggttcaccatctccagagacaattccaagagcactctatatctgcaaatgaacaccttgcgagccgaggacacggccgtatattactgt 52 56 57 45 +JY8QFUQ01DCPGQ unmatched, IGG1 ggattcaccttcagtgactatggc atgcactgggtccgccaggctccaggcaaggggctggagtgggtgacagtt attttatatgatggaagtagaaaa tactatgcagactccgtgaagggccgattcgccatctccagagacgtttcgaggaacacgttgtatctgcagatgaatagcctgagacctgaggacacggctgtatactactgc 54 47 62 50 +JY8QFUQ01DEKWC unmatched, IGA2 ggattcatgtttagtagctttccc atggcctgggtccgccaggctccagggaaggggctggagtgggtctctagt attagtggtaggggtggtaacaca tacttcgcagactccgtgaagggccggttcaacatctccagagacaattccaagaacacgatgtatttgcaaatgaacagcctgagagccgaggacacggccttatattactgt 52 48 62 51 +JY8QFUQ01DG2P7 unmatched, IGA2 ggatacaccttcagtacctatact atgaattgggtgcgccaggcccccggacaaaggcttgagtggatgggatgg atcaacgctgaccttggcaaca aaatattcacagaagttccagggcagactcaccattaccagggacacatccgcgaacacagcctacatggagctgagcagcctgacatctgaagacacggctgtgtattactgt 60 55 54 42 +JY8QFUQ01DG5KX unmatched, IGA2 gggttctccgtcagtttcaactac atgagctgggtccgccaggctccagggaaggggctggagtgggtctcagtt atctatgccgatggaagtaca ttctatgcagactccgtgaagggccgattcatcatctccagagacaattcaaagaacacgctcaatcttcaaatgaatagtttgagagttgacgacacggctgtgtattactgt 53 47 56 54 +JY8QFUQ01DG6GC unmatched, IGA2 ggattcacctttagtagatattcc atgcactgggtccgccaggctccaggcaaggggctagagtgggtggcactt atatcatacgatggaagtagaaga atctacgcagactccgtgaagggccgattcaccatctccagagacacttccaagaacacggtgtatctgcaaatgagtagcctgagacctgaggacacggctgtgtattactgt 57 50 58 48 +JY8QFUQ01DHXHT unmatched, IGG1 ggtggctccgtcagtaggagtgcctactac tggggctggatccgccagcccccagggaaggggctggagtggattgggacc atctattatagtgggaccaca tactccaatccgtccctcaagactcgagtcaccatgtccttggacacgtccaagaaccacatctccctgaagctgaattctgtgaccgccgcagacacggctgtttattactgt 47 63 58 48 +JY8QFUQ01DI39D unmatched, IGA1 ggaaaaaccctcactgaagtatcc atgcactgggtgcgacaggctcctggaaaagggcttgagtggatgggagga tttgatcctgaagatggtgaaata atctacgcacagaagttccagggcagaatcaccgtgaccgaggacacatctacagacacagcctacatggagctgagcagcctgagatctgaagacacggccgtgtattactgt 63 48 61 41 +JY8QFUQ01DIBNC unmatched, IGG1 ggtggctccgtcagcagtggtagttactac tggagctggatccggcagcccccagggaagggactggagtggattgggtat atctattacagtgggagcacc aactacaacccctccctcaagagtcgagtcaccatatcagtagacacgtccaagaaccagttctccctgaagctgagctctgtgaccgctgcggacacggccgtgtattactgt 50 59 61 46 +JY8QFUQ01DJFIZ unmatched, IGG1 ggattcaacttggcgaagttcgcc atgagctgggtccgccaggctcctgggaaggggctggagtgggtctcagag atcagtggctccggtagtaaagtc ggatatgcggagtccgtgaagggccgattcaccatctccaaagacaattccaagaacacattgtacttgcaaatgaccgacctgagacccggcgacacggccatttattactgt 52 53 63 45 +JY8QFUQ01DLDLD unmatched, IGA1 ggatacaccttcaccagctactat atacactgggtgcgacaggcccctggacaagggcttgagtggatgggaata atcgaccctagtggtggtgccaca agctacgcacagcagttccagggcagagtcaccatgaccagggacacgtccacgagcacagtctatatggagctgagcagcctgagatctgacgacacggccgtgtattactgt 55 57 61 40 +JY8QFUQ01DMF0A unmatched, IGA1 gttgacgccataagcgacctcggttatttc tgggcctgggtccgccagcccgccgcgaagggactggagtggatcggacat gcccttggtgatggatatacc gaatacaaccccgccctagagagtcgaatcaccgtgtcagtggacaagtccaagaaccagttttccctgacgttggagtccgtgaccgccgcagacacggccacttatttctgt 46 63 61 46 +JY8QFUQ01DOVL5 unmatched, IGA2 ggattcatcttcagcaaccttgcg atgcactgggtccgccaggctccaggcaaggggctggagtgggtggcaatt atatcatatgatggaggtattaag tactatgcagactccgtgaagggccgattcaccatctccagagacaattccaagaacacgctgtatctacaaatgaacaacctgagacttgaggacacggctgtgtattactgt 58 49 56 50 +JY8QFUQ01DPT8R unmatched, IGA2 ggattcaccttcagtagctactgg atgcactgggtccgccaagctccagggaaggggctggtgtgggtctcacgt gttaatggtgatggggtagcaca gcctacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaacactctctatctccaaatgaacagtctgagagccgaggacacggctgtatattactgt 51 55 61 45 +JY8QFUQ01DUD3U unmatched, IGA2 ggattcacttttaggagtcatatg atgagttgggtccgccagactccagggaaggggctggaatgggtctcaagt attcgagccagtggtgataggaca cactatgcagactccgtgaggggccgcttcaccatctccagagacaactccaagaacacgatgtatttgcaaatgcacagcctgagagtcgacgacacggccgtatactactgt 56 51 60 46 +JY8QFUQ01DV4HU unmatched, IGG2 ggattcacctctcctagatactgg atgaattgggtccgccaggcttccgggaaggggctggagtgggtggccaac ataaagcaagacggaagtgaggaa aactttgtggactctgtgaagggccggttcaccatctccagagacagcgccaagaattcaatgtctctacaaatgaacagcctgagagtcgaggacacggctgtatattattgc 58 47 63 45 +JY8QFUQ01DV8LF unmatched, IGA2 ggattcaccttcagtcgctactgg atgcactgggtccgccaagctccagggaagggcctggtgtgggtctcacgt attaaaagtgatgggattagcaca acgtacgcggactccgtgaagggccgattcaccatctccagagacaacgccaagaacacggtgtatctgcaaatgaacagtctgagagccgaggacacggctgtgtactactgt 54 54 62 43 +JY8QFUQ01DVBU0 unmatched, IGA2 ggattcatcttcagtagctactgg atgcactgggtccgccaagctccagggaaggggctggtgtgggtgtcacgt agtaatacggggggactgacaca gcctacgcggactccgtgaagggccgattcaccatctcccgagacaacgggaagaacacgctgtatctgcaaatgaacagtctgagagccgaggacacggctgtttattactgt 51 52 66 43 +JY8QFUQ01DXDOM unmatched, IGA2 ggattcagtttcactggttttacc gtgatctgggtccgccaggctccaaggaaggggctggaatggatctcatcc gtcactactaatggtctcacg tactacgcagactcagtagagggccgattcaacatctccagggacaacgccaacaatttagtgtttctgcaaatgaacagcctgagagtcgaggacactggtgtatattattgt 53 49 54 54
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/sort_by_time.py Wed Sep 15 12:24:06 2021 +0000 @@ -0,0 +1,47 @@ +#!/usr/bin/env python3 + +"""Small script to profile bash scripts that have been run with the following +code inside: + + exec 5> debug_output.txt + BASH_XTRACEFD="5" + PS4='$(date +%s.%N) $LINENO: ' + set -x + + +""" +import calendar +import time +import sys + +import re + +SECONDS_FINDER = re.compile(r"^(\d+.\d+).*") + + +def file_to_timestamped_lines(input_file): + with open(input_file, "rt") as file_h: + for line in file_h: + time_since_epoch = float(SECONDS_FINDER.search(line).group(1)) + yield time_since_epoch, line + + +def time_delta_lines(input_file): + timestamped_lines = file_to_timestamped_lines(input_file) + current_time, current_line = next(timestamped_lines) + for next_time, next_line in timestamped_lines: + time_since = next_time - current_time + yield time_since, current_line + current_time = next_time + current_line = next_line + + +if __name__ == "__main__": + input_file = sys.argv[1] + # Sort by time ascending order. + sorted_time = sorted(time_delta_lines(input_file), key=lambda tup: tup[0]) + for time_since, line in sorted_time: + if time_since > 60*60*24*365: + # big times are probably nonsensical parsing errors. + continue + print(time_since, line.strip())
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test_shm_csr.py Wed Sep 15 12:24:06 2021 +0000 @@ -0,0 +1,108 @@ +# Copyright (c) 2021 Leiden University Medical Center +# +# 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. + +import os +import shutil +import subprocess +import sys +import tempfile +from pathlib import Path + +import pytest + +GIT_ROOT = str(Path(__file__).parent.parent.absolute()) +TEST_DIR = Path(__file__).parent +TEST_DATA_DIR = TEST_DIR / "data" +VALIDATION_DATA_DIR = TEST_DIR / "validation_data" +CONTROL_NWK377_PB_IGHC_MID1_40nt_2 = TEST_DATA_DIR / "CONTROL_NWK377_PB_IGHC_MID1_40nt_2.txz" + + +@pytest.fixture(scope="module") +def shm_csr_result(): + temp_dir = tempfile.mktemp() + shutil.copytree(GIT_ROOT, temp_dir) + input = str(CONTROL_NWK377_PB_IGHC_MID1_40nt_2) + out_files_path = os.path.join(temp_dir, "results") + out_file = os.path.join(out_files_path, "result.html") + infile_name = "input_data" + functionality = "productive" + unique = "Sequence.ID" + naive_output = "no" + naive_output_ca = "None" + naive_output_cg = "None" + naive_output_cm = "None" + naive_output_ce = "None" + naive_output_all = "None" + filter_unique = "remove" + filter_unique_count = '2' + class_filter = '70_70' + empty_region_filter = 'FR1' + fast = 'no' + cmd = [ + "bash", + "wrapper.sh", + input, + "custom", + out_file, + out_files_path, + infile_name, + "-", + functionality, + unique, + naive_output, + naive_output_ca, + naive_output_cg, + naive_output_cm, + naive_output_ce, + naive_output_all, + filter_unique, + filter_unique_count, + class_filter, + empty_region_filter, + fast + ] + subprocess.run(cmd, cwd=temp_dir, stdout=sys.stdout, stderr=sys.stderr, + check=True) + yield Path(out_files_path) + #shutil.rmtree(temp_dir) + + +def test_check_output(shm_csr_result): + assert shm_csr_result.exists() + + +@pytest.mark.parametrize("filename", os.listdir(VALIDATION_DATA_DIR)) +def test_results_match_validation(shm_csr_result, filename): + if filename == "shm_overview.txt": + # TODO: Fix errors in shm_overview. + return + with open(Path(shm_csr_result, filename)) as result_h: + with open(Path(VALIDATION_DATA_DIR, filename)) as validate_h: + for line in result_h: + assert line == validate_h.readline() + + +def test_nt_overview(shm_csr_result): + with open(Path(shm_csr_result, "sequence_overview", "ntoverview.txt") + ) as result_h: + with open(Path(TEST_DIR, "sequence_overview", "ntoverview.txt") + ) as validate_h: + for line in result_h: + assert line == validate_h.readline()
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/validation_data/IGA_pie.txt Wed Sep 15 12:24:06 2021 +0000 @@ -0,0 +1,3 @@ +Gene Freq label +IGA1 593 IGA1 - 593 +IGA2 324 IGA2 - 324
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/validation_data/IGG_pie.txt Wed Sep 15 12:24:06 2021 +0000 @@ -0,0 +1,5 @@ +Gene Freq label +IGG1 274 IGG1 - 274 +IGG2 150 IGG2 - 150 +IGG3 26 IGG3 - 26 +IGG4 19 IGG4 - 19
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/validation_data/aa_histogram_sum.txt Wed Sep 15 12:24:06 2021 +0000 @@ -0,0 +1,105 @@ +index mutations.at.position aa.at.position +1 0 1387 +2 0 1387 +3 0 1387 +4 0 1387 +5 0 1387 +6 0 1387 +7 0 1387 +8 0 1387 +9 0 1387 +10 0 1387 +11 0 1387 +12 0 1387 +13 0 1387 +14 0 1387 +15 0 1387 +16 0 1387 +17 0 1387 +18 0 1387 +19 0 1387 +20 0 1387 +21 0 1387 +22 0 1387 +23 0 1387 +24 0 1387 +25 0 1387 +26 0 1387 +27 123 1387 +28 180 1387 +29 528 1387 +30 167 1383 +31 78 183 +32 0 0 +33 0 0 +34 56 161 +35 692 1345 +36 1166 1385 +37 451 1387 +38 432 1387 +39 123 1387 +40 601 1387 +41 9 1387 +42 95 1387 +43 3 1387 +44 36 1387 +45 279 1387 +46 47 1387 +47 65 1387 +48 172 1387 +49 41 1387 +50 82 1387 +51 82 1387 +52 81 1387 +53 156 1387 +54 126 1387 +55 671 1387 +56 383 1387 +57 495 1386 +58 947 1386 +59 598 1382 +60 31 63 +61 14 54 +62 251 999 +63 730 1386 +64 1074 1386 +65 467 1386 +66 736 1387 +67 162 1387 +68 203 1387 +69 153 1387 +70 85 1387 +71 61 1387 +72 402 1387 +73 0 1387 +74 101 1387 +75 14 1387 +76 106 1387 +77 255 1387 +78 295 1387 +79 69 1387 +80 209 1387 +81 37 1387 +82 238 1387 +83 162 1387 +84 330 1387 +85 394 1387 +86 223 1387 +87 344 1387 +88 301 1387 +89 25 1387 +90 341 1387 +91 95 1387 +92 566 1387 +93 265 1387 +94 51 1387 +95 217 1387 +96 443 1387 +97 205 1387 +98 3 1387 +99 64 1387 +100 41 1387 +101 632 1387 +102 8 1387 +103 239 1387 +104 1 1387
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/validation_data/aa_histogram_sum_IGA.txt Wed Sep 15 12:24:06 2021 +0000 @@ -0,0 +1,105 @@ +index mutations.at.position aa.at.position +1 0 917 +2 0 917 +3 0 917 +4 0 917 +5 0 917 +6 0 917 +7 0 917 +8 0 917 +9 0 917 +10 0 917 +11 0 917 +12 0 917 +13 0 917 +14 0 917 +15 0 917 +16 0 917 +17 0 917 +18 0 917 +19 0 917 +20 0 917 +21 0 917 +22 0 917 +23 0 917 +24 0 917 +25 0 917 +26 0 917 +27 75 917 +28 99 917 +29 353 917 +30 88 913 +31 46 112 +32 0 0 +33 0 0 +34 43 98 +35 421 889 +36 759 915 +37 309 917 +38 319 917 +39 108 917 +40 429 917 +41 0 917 +42 82 917 +43 0 917 +44 28 917 +45 190 917 +46 24 917 +47 45 917 +48 112 917 +49 35 917 +50 38 917 +51 66 917 +52 50 917 +53 108 917 +54 89 917 +55 425 917 +56 263 917 +57 326 916 +58 685 916 +59 399 913 +60 23 47 +61 14 38 +62 181 674 +63 450 916 +64 754 916 +65 294 916 +66 552 917 +67 91 917 +68 155 917 +69 86 917 +70 73 917 +71 53 917 +72 236 917 +73 0 917 +74 53 917 +75 8 917 +76 63 917 +77 174 917 +78 179 917 +79 58 917 +80 137 917 +81 20 917 +82 142 917 +83 114 917 +84 207 917 +85 257 917 +86 141 917 +87 218 917 +88 202 917 +89 17 917 +90 199 917 +91 64 917 +92 353 917 +93 162 917 +94 29 917 +95 130 917 +96 314 917 +97 152 917 +98 3 917 +99 37 917 +100 29 917 +101 421 917 +102 8 917 +103 156 917 +104 1 917
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/validation_data/aa_histogram_sum_IGG.txt Wed Sep 15 12:24:06 2021 +0000 @@ -0,0 +1,105 @@ +index mutations.at.position aa.at.position +1 0 469 +2 0 469 +3 0 469 +4 0 469 +5 0 469 +6 0 469 +7 0 469 +8 0 469 +9 0 469 +10 0 469 +11 0 469 +12 0 469 +13 0 469 +14 0 469 +15 0 469 +16 0 469 +17 0 469 +18 0 469 +19 0 469 +20 0 469 +21 0 469 +22 0 469 +23 0 469 +24 0 469 +25 0 469 +26 0 469 +27 48 469 +28 81 469 +29 175 469 +30 79 469 +31 32 71 +32 0 0 +33 0 0 +34 13 63 +35 271 455 +36 407 469 +37 142 469 +38 113 469 +39 15 469 +40 172 469 +41 9 469 +42 13 469 +43 3 469 +44 8 469 +45 89 469 +46 23 469 +47 20 469 +48 60 469 +49 6 469 +50 44 469 +51 16 469 +52 31 469 +53 48 469 +54 37 469 +55 246 469 +56 120 469 +57 169 469 +58 262 469 +59 199 468 +60 8 16 +61 0 16 +62 70 324 +63 280 469 +64 320 469 +65 173 469 +66 184 469 +67 71 469 +68 48 469 +69 67 469 +70 12 469 +71 8 469 +72 166 469 +73 0 469 +74 48 469 +75 6 469 +76 43 469 +77 81 469 +78 116 469 +79 11 469 +80 72 469 +81 17 469 +82 96 469 +83 48 469 +84 123 469 +85 137 469 +86 82 469 +87 126 469 +88 99 469 +89 8 469 +90 142 469 +91 31 469 +92 213 469 +93 103 469 +94 22 469 +95 87 469 +96 129 469 +97 53 469 +98 0 469 +99 27 469 +100 12 469 +101 211 469 +102 0 469 +103 83 469 +104 0 469
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/validation_data/absolute_mutations.txt Wed Sep 15 12:24:06 2021 +0000 @@ -0,0 +1,37 @@ +Class Type value +IGA G/C transitions 5.8 +IGA1 G/C transitions 6.2 +IGA2 G/C transitions 5 +IGG G/C transitions 5.4 +IGG1 G/C transitions 5.6 +IGG2 G/C transitions 5.3 +IGG3 G/C transitions 3.8 +IGG4 G/C transitions 4.8 +IGM G/C transitions 0 +IGE G/C transitions 0 +un G/C transitions 5.2 +all G/C transitions 5.6 +IGA G/C transversions 4.3 +IGA1 G/C transversions 4.4 +IGA2 G/C transversions 3.9 +IGG G/C transversions 4.2 +IGG1 G/C transversions 4.4 +IGG2 G/C transversions 4 +IGG3 G/C transversions 3.1 +IGG4 G/C transversions 4.7 +IGM G/C transversions 0 +IGE G/C transversions 0 +un G/C transversions 4 +all G/C transversions 4.2 +IGA A/T 8.3 +IGA1 A/T 8.6 +IGA2 A/T 7.7 +IGG A/T 8.4 +IGG1 A/T 8.7 +IGG2 A/T 8 +IGG3 A/T 7 +IGG4 A/T 9.3 +IGM A/T 0 +IGE A/T 0 +un A/T 8 +all A/T 8.3
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/validation_data/frequency_ranges_classes.txt Wed Sep 15 12:24:06 2021 +0000 @@ -0,0 +1,16 @@ +best_match_class frequency_bins frequency_count class_sum frequency +IGA 0 or lower 2 917 0.22 +IGA 0 to 2 12 917 1.31 +IGA 2 to 5 111 917 12.1 +IGA 5 to 10 453 917 49.4 +IGA 10 to 15 264 917 28.79 +IGA 15 to 20 60 917 6.54 +IGA 20 or higher 15 917 1.64 +IGG 0 or lower 18 469 3.84 +IGG 0 to 2 5 469 1.07 +IGG 2 to 5 34 469 7.25 +IGG 5 to 10 245 469 52.24 +IGG 10 to 15 120 469 25.59 +IGG 15 to 20 41 469 8.74 +IGG 20 or higher 6 469 1.28 +IGM 0 or lower 1 1 100
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/validation_data/frequency_ranges_subclasses.txt Wed Sep 15 12:24:06 2021 +0000 @@ -0,0 +1,40 @@ +best_match best_match_class frequency_bins frequency_count class_sum frequency +IGA1 IGA 0 or lower 2 593 0.34 +IGA1 IGA 0 to 2 5 593 0.84 +IGA1 IGA 2 to 5 58 593 9.78 +IGA1 IGA 5 to 10 282 593 47.55 +IGA1 IGA 10 to 15 188 593 31.7 +IGA1 IGA 15 to 20 45 593 7.59 +IGA1 IGA 20 or higher 13 593 2.19 +IGA2 IGA 0 to 2 7 324 2.16 +IGA2 IGA 2 to 5 53 324 16.36 +IGA2 IGA 5 to 10 171 324 52.78 +IGA2 IGA 10 to 15 76 324 23.46 +IGA2 IGA 15 to 20 15 324 4.63 +IGA2 IGA 20 or higher 2 324 0.62 +IGG1 IGG 0 or lower 8 274 2.92 +IGG1 IGG 0 to 2 4 274 1.46 +IGG1 IGG 2 to 5 19 274 6.93 +IGG1 IGG 5 to 10 139 274 50.73 +IGG1 IGG 10 to 15 70 274 25.55 +IGG1 IGG 15 to 20 30 274 10.95 +IGG1 IGG 20 or higher 4 274 1.46 +IGG2 IGG 0 or lower 5 150 3.33 +IGG2 IGG 2 to 5 11 150 7.33 +IGG2 IGG 5 to 10 83 150 55.33 +IGG2 IGG 10 to 15 43 150 28.67 +IGG2 IGG 15 to 20 8 150 5.33 +IGG3 IGG 0 or lower 4 26 15.38 +IGG3 IGG 0 to 2 1 26 3.85 +IGG3 IGG 2 to 5 2 26 7.69 +IGG3 IGG 5 to 10 14 26 53.85 +IGG3 IGG 10 to 15 3 26 11.54 +IGG3 IGG 15 to 20 1 26 3.85 +IGG3 IGG 20 or higher 1 26 3.85 +IGG4 IGG 0 or lower 1 19 5.26 +IGG4 IGG 2 to 5 2 19 10.53 +IGG4 IGG 5 to 10 9 19 47.37 +IGG4 IGG 10 to 15 4 19 21.05 +IGG4 IGG 15 to 20 2 19 10.53 +IGG4 IGG 20 or higher 1 19 5.26 +IGM IGM 0 or lower 1 1 100
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/validation_data/mutation_by_id.txt Wed Sep 15 12:24:06 2021 +0000 @@ -0,0 +1,1577 @@ +Sequence.ID VRegionMutations VRegionNucleotides transitionMutations transversionMutations transitionMutationsAtGC transitionMutationsAtAT silentMutationsFR nonSilentMutationsFR silentMutationsCDR nonSilentMutationsCDR +JY8QFUQ01A0005 18 216 12 6 11 1 6 6 2 4 +JY8QFUQ01A004N 20 216 10 10 4 6 2 10 2 6 +JY8QFUQ01A006G 32 216 20 12 11 9 10 12 3 7 +JY8QFUQ01A018V 31 216 19 12 12 7 7 14 5 5 +JY8QFUQ01A019O 19 213 10 9 6 4 2 10 0 7 +JY8QFUQ01A01KX 29 213 18 11 8 10 6 13 3 7 +JY8QFUQ01A0207 16 213 6 10 4 2 2 8 0 6 +JY8QFUQ01A02HL 13 213 9 4 8 1 3 5 3 2 +JY8QFUQ01A02KS 14 213 9 5 6 3 3 7 1 3 +JY8QFUQ01A02XZ 10 213 6 4 3 3 3 2 1 4 +JY8QFUQ01A03E3 21 213 14 7 8 6 4 8 3 6 +JY8QFUQ01A03N6 39 213 22 17 11 11 8 19 2 10 +JY8QFUQ01A08XO 0 216 0 0 0 0 0 0 0 0 +JY8QFUQ01A0939 15 222 7 8 4 3 7 3 0 5 +JY8QFUQ01A09OY 12 213 6 6 5 1 2 5 1 4 +JY8QFUQ01A0C2Y 18 213 12 6 8 4 3 4 4 7 +JY8QFUQ01A0C33 13 213 5 8 3 2 2 3 0 8 +JY8QFUQ01A0C4X 13 213 4 9 3 1 2 3 0 8 +JY8QFUQ01A0D2K 10 213 4 6 0 4 0 2 2 6 +JY8QFUQ01A0D5E 28 212 14 14 11 3 5 10 2 11 +JY8QFUQ01A0DA8 23 213 12 11 4 8 5 11 4 3 +JY8QFUQ01A0DCS 22 213 12 10 6 6 4 9 0 9 +JY8QFUQ01A0EF3 12 213 8 4 7 1 4 3 1 4 +JY8QFUQ01A0ESJ 17 213 8 9 5 3 4 7 0 6 +JY8QFUQ01A0FII 26 213 15 11 8 7 5 9 3 9 +JY8QFUQ01A0FO5 11 213 6 5 2 4 4 4 0 3 +JY8QFUQ01A0GVR 24 216 17 7 10 7 9 5 4 6 +JY8QFUQ01A0GVY 30 213 22 8 15 7 8 9 4 9 +JY8QFUQ01A0HBK 0 213 0 0 0 0 0 0 0 0 +JY8QFUQ01A0IZI 18 213 11 7 7 4 3 5 0 10 +JY8QFUQ01A0LAJ 29 219 15 14 8 7 4 14 1 10 +JY8QFUQ01A0LBC 31 213 14 17 7 7 7 12 1 11 +JY8QFUQ01A0LEW 9 213 5 4 2 3 2 4 3 0 +JY8QFUQ01A0LZ5 20 213 14 6 11 3 4 5 2 9 +JY8QFUQ01A0N2E 0 213 0 0 0 0 0 0 0 0 +JY8QFUQ01A0N8H 13 222 9 4 5 4 2 6 0 5 +JY8QFUQ01A0OC8 12 212 6 6 2 4 3 5 0 4 +JY8QFUQ01A0OMH 26 213 16 10 12 4 9 8 2 7 +JY8QFUQ01A0OTP 15 209 10 5 3 7 6 4 1 4 +JY8QFUQ01A0QXW 0 210 0 0 0 0 0 0 0 0 +JY8QFUQ01A0RJS 17 212 11 6 7 4 3 4 3 7 +JY8QFUQ01A0S1H 16 213 10 6 4 6 5 3 5 3 +JY8QFUQ01A0TAV 12 213 4 8 2 2 2 5 1 4 +JY8QFUQ01A0TNI 24 213 12 12 7 5 8 11 0 5 +JY8QFUQ01A0UZS 20 213 12 8 8 4 2 11 2 5 +JY8QFUQ01A0VIE 23 213 16 7 8 8 5 12 1 5 +JY8QFUQ01A0WDV 18 210 10 8 6 4 5 7 0 6 +JY8QFUQ01A0WZB 34 210 20 14 11 9 11 9 3 11 +JY8QFUQ01A0X8W 10 213 5 5 2 3 5 1 1 3 +JY8QFUQ01A0XE3 27 211 17 10 8 9 6 12 2 7 +JY8QFUQ01A0Z64 9 213 7 2 5 2 1 3 0 5 +JY8QFUQ01A0ZW5 27 216 15 12 7 8 3 13 2 9 +JY8QFUQ01A0ZX6 12 213 8 4 5 3 4 3 1 4 +JY8QFUQ01A110D 14 213 8 6 6 2 3 8 1 2 +JY8QFUQ01A12BY 14 213 6 8 4 2 1 5 1 7 +JY8QFUQ01A12KV 29 213 17 12 11 6 8 11 1 9 +JY8QFUQ01A12V0 28 213 18 10 13 5 6 13 2 7 +JY8QFUQ01A14EE 30 213 20 10 8 12 8 10 1 11 +JY8QFUQ01A152R 19 213 12 7 8 4 4 7 1 7 +JY8QFUQ01A15L6 31 215 17 14 6 11 3 17 3 8 +JY8QFUQ01A15SR 48 216 21 27 13 8 6 17 1 24 +JY8QFUQ01A16XV 0 213 0 0 0 0 0 0 0 0 +JY8QFUQ01A17D9 17 213 10 7 6 4 2 7 2 6 +JY8QFUQ01A17TV 14 210 9 5 3 6 2 7 1 4 +JY8QFUQ01A18L5 12 213 7 5 4 3 3 3 2 4 +JY8QFUQ01A1963 12 212 8 4 5 3 2 2 1 7 +JY8QFUQ01A1ALH 22 216 15 7 6 9 3 10 1 8 +JY8QFUQ01A1AYP 14 213 6 8 4 2 5 1 2 6 +JY8QFUQ01A1BK7 14 213 10 4 6 4 2 5 2 5 +JY8QFUQ01A1BT3 24 210 16 8 11 5 7 12 2 3 +JY8QFUQ01A1CLZ 18 216 11 7 8 3 6 4 1 7 +JY8QFUQ01A1CTT 15 213 9 6 7 2 2 4 0 9 +JY8QFUQ01A1DJR 14 213 11 3 8 3 2 5 2 5 +JY8QFUQ01A1DVA 35 213 26 9 11 15 7 11 0 17 +JY8QFUQ01A1E6T 14 213 7 7 6 1 3 5 0 6 +JY8QFUQ01A1GYW 41 210 25 16 13 12 7 25 2 7 +JY8QFUQ01A1GZY 26 212 16 10 7 9 5 10 3 8 +JY8QFUQ01A1ISV 11 213 8 3 5 3 2 5 0 4 +JY8QFUQ01A1IV8 24 209 13 11 7 6 4 12 0 8 +JY8QFUQ01A1IYG 13 210 6 7 5 1 2 5 2 4 +JY8QFUQ01A1K37 9 213 6 3 5 1 1 2 1 5 +JY8QFUQ01A1KQO 20 213 12 8 6 6 2 9 3 6 +JY8QFUQ01A1L2W 12 213 5 7 3 2 3 7 0 2 +JY8QFUQ01A1LNA 14 213 7 7 5 2 5 4 0 5 +JY8QFUQ01A1MBV 21 213 11 10 4 7 1 10 2 8 +JY8QFUQ01A1MJG 17 210 11 6 8 3 5 8 0 4 +JY8QFUQ01A1MJU 16 213 9 7 5 4 5 8 0 3 +JY8QFUQ01A1OLP 38 213 22 16 14 8 9 14 4 11 +JY8QFUQ01A1PLD 20 213 12 8 6 6 2 9 3 6 +JY8QFUQ01A1Q3N 32 213 20 12 16 4 7 17 3 5 +JY8QFUQ01A1QLN 11 209 7 4 4 3 2 4 2 3 +JY8QFUQ01A1R7K 26 212 12 14 9 3 6 14 1 5 +JY8QFUQ01A1RAE 16 213 6 10 3 3 1 5 2 8 +JY8QFUQ01A1SIW 14 213 11 3 2 9 3 4 0 7 +JY8QFUQ01A1U7S 43 213 19 24 11 8 7 20 2 14 +JY8QFUQ01A1U87 13 213 6 7 2 4 5 4 0 4 +JY8QFUQ01A1UND 19 210 9 10 3 6 3 12 0 4 +JY8QFUQ01A1UXL 20 213 8 12 6 2 5 4 5 6 +JY8QFUQ01A1UXZ 34 210 17 17 9 8 4 19 2 9 +JY8QFUQ01A1W6G 15 216 7 8 4 3 4 7 1 3 +JY8QFUQ01A1WCP 22 213 13 9 8 5 6 7 2 7 +JY8QFUQ01A1X35 21 216 12 9 7 5 3 8 0 10 +JY8QFUQ01A1X52 10 213 8 2 5 3 4 2 0 4 +JY8QFUQ01A1Y2H 16 213 10 6 3 7 2 6 3 5 +JY8QFUQ01A1YN6 6 213 4 2 2 2 1 1 2 2 +JY8QFUQ01A1Z5H 13 213 9 4 6 3 2 2 0 9 +JY8QFUQ01A23OB 16 213 6 10 4 2 2 8 0 6 +JY8QFUQ01A23UZ 28 210 17 11 13 4 2 11 2 13 +JY8QFUQ01A26C2 13 213 5 8 2 3 3 4 1 5 +JY8QFUQ01A26DA 38 219 25 13 11 14 11 14 2 11 +JY8QFUQ01A27H2 17 213 11 6 7 4 3 4 2 8 +JY8QFUQ01A27QT 29 210 20 9 12 8 6 18 2 3 +JY8QFUQ01A287O 11 210 7 4 4 3 2 4 2 3 +JY8QFUQ01A29EP 0 213 0 0 0 0 0 0 0 0 +JY8QFUQ01A2AEH 20 213 15 5 7 8 3 7 2 8 +JY8QFUQ01A2ANY 29 213 18 11 14 4 5 6 0 18 +JY8QFUQ01A2AVP 9 213 5 4 1 4 4 2 0 3 +JY8QFUQ01A2B2A 3 210 1 2 1 0 1 2 0 0 +JY8QFUQ01A2BDN 13 213 3 10 1 2 2 3 1 7 +JY8QFUQ01A2CO4 5 213 4 1 4 0 2 2 0 1 +JY8QFUQ01A2ECA 38 219 29 9 11 18 11 14 5 8 +JY8QFUQ01A2EKG 22 213 9 13 7 2 5 8 4 5 +JY8QFUQ01A2FAU 12 219 6 6 3 3 4 4 0 4 +JY8QFUQ01A2FHS 0 216 0 0 0 0 0 0 0 0 +JY8QFUQ01A2FU8 28 216 21 7 11 10 4 16 0 8 +JY8QFUQ01A2G8U 39 209 22 17 12 10 5 25 2 7 +JY8QFUQ01A2JAS 46 212 22 24 14 8 10 21 1 14 +JY8QFUQ01A2MSQ 17 213 12 5 7 5 2 7 1 7 +JY8QFUQ01A2PDE 37 213 17 20 9 8 9 16 2 10 +JY8QFUQ01A2Q7N 41 213 21 20 13 8 11 20 2 8 +JY8QFUQ01A2QEG 23 213 14 9 6 8 3 9 3 8 +JY8QFUQ01A2S2S 15 213 10 5 4 6 2 7 2 4 +JY8QFUQ01A2WHC 13 210 5 8 2 3 5 2 1 5 +JY8QFUQ01A2XE9 16 213 4 12 1 3 3 4 1 8 +JY8QFUQ01A2YCO 18 213 9 9 5 4 7 4 1 6 +JY8QFUQ01A2YPP 20 213 12 8 4 8 4 6 1 9 +JY8QFUQ01A2YVQ 43 213 23 20 12 11 8 15 5 15 +JY8QFUQ01A2ZLE 22 213 13 9 5 8 5 6 1 10 +JY8QFUQ01A30CD 31 213 19 12 6 13 5 12 0 14 +JY8QFUQ01A312M 5 213 2 3 0 2 0 1 1 3 +JY8QFUQ01A313A 18 213 11 7 7 4 3 5 0 10 +JY8QFUQ01A33TY 13 216 4 9 2 2 2 7 1 3 +JY8QFUQ01A33U2 22 216 15 7 13 2 5 11 2 4 +JY8QFUQ01A33ZY 23 213 14 9 9 5 6 7 1 9 +JY8QFUQ01A3552 29 213 17 12 8 9 5 16 4 4 +JY8QFUQ01A35C3 40 210 18 22 11 7 9 21 1 9 +JY8QFUQ01A35F3 14 213 10 4 4 6 4 4 1 5 +JY8QFUQ01A35NF 24 216 14 10 9 5 6 10 1 7 +JY8QFUQ01A365U 18 213 8 10 4 4 1 4 0 13 +JY8QFUQ01A36CM 40 213 24 16 12 12 8 17 1 14 +JY8QFUQ01A39KY 15 213 9 6 4 5 2 7 1 5 +JY8QFUQ01A3A5F 25 213 15 10 9 6 4 12 2 7 +JY8QFUQ01A3BD5 15 210 10 5 3 7 6 4 1 4 +JY8QFUQ01A3C67 10 213 2 8 2 0 1 2 0 7 +JY8QFUQ01A3DG1 20 213 12 8 9 3 7 8 0 5 +JY8QFUQ01A3EUV 20 213 9 11 4 5 3 6 3 8 +JY8QFUQ01A3F5T 19 213 7 12 5 2 3 12 0 4 +JY8QFUQ01A3H9O 15 213 8 7 6 2 0 6 2 7 +JY8QFUQ01A3HCE 28 213 25 3 13 12 8 11 3 6 +JY8QFUQ01A3I1N 14 213 8 6 6 2 3 4 0 7 +JY8QFUQ01A3I5W 9 213 5 4 5 0 1 4 0 4 +JY8QFUQ01A3IIQ 14 213 8 6 2 6 3 4 2 5 +JY8QFUQ01A3IMB 18 213 8 10 5 3 4 6 3 5 +JY8QFUQ01A3IWM 9 212 5 4 5 0 1 4 0 4 +JY8QFUQ01A3KYL 11 213 5 6 4 1 3 5 0 3 +JY8QFUQ01A3MV4 13 213 6 7 2 4 5 4 0 4 +JY8QFUQ01A3NLN 9 212 4 5 3 1 1 4 0 4 +JY8QFUQ01A3OS9 29 216 18 11 7 11 7 7 1 14 +JY8QFUQ01A3QD4 2 210 0 2 0 0 0 1 0 1 +JY8QFUQ01A3QEB 17 213 13 4 9 4 4 7 0 6 +JY8QFUQ01A3QNJ 28 210 16 12 9 7 7 12 4 5 +JY8QFUQ01A3R6Q 5 222 3 2 2 1 3 0 0 2 +JY8QFUQ01A3SN3 14 213 6 8 4 2 1 5 1 7 +JY8QFUQ01A3V0Z 20 213 8 12 4 4 2 10 2 6 +JY8QFUQ01A3VGZ 16 211 8 8 3 5 3 9 0 4 +JY8QFUQ01A3VOS 13 213 3 10 1 2 2 3 1 7 +JY8QFUQ01A3W9F 22 210 10 12 6 4 6 5 2 9 +JY8QFUQ01A3YON 8 213 6 2 5 1 1 3 1 3 +JY8QFUQ01A3ZB9 14 213 8 6 6 2 4 5 0 5 +JY8QFUQ01A3ZD4 19 201 9 10 5 4 5 7 1 6 +JY8QFUQ01A44PN 3 216 3 0 3 0 1 0 1 1 +JY8QFUQ01A453G 23 213 14 9 7 7 5 10 3 5 +JY8QFUQ01A45ND 7 213 4 3 2 2 1 3 0 3 +JY8QFUQ01A465M 28 213 16 12 8 8 6 13 3 6 +JY8QFUQ01A476X 15 213 9 6 5 4 5 5 2 3 +JY8QFUQ01A47U3 5 213 2 3 1 1 1 1 0 3 +JY8QFUQ01A481H 14 213 6 8 3 3 3 6 0 5 +JY8QFUQ01A48DI 16 213 10 6 6 4 3 3 2 8 +JY8QFUQ01A4AB0 12 213 8 4 3 5 1 7 0 4 +JY8QFUQ01A4BI4 14 213 11 3 6 5 3 5 2 4 +JY8QFUQ01A4C55 28 210 19 9 13 6 10 9 2 7 +JY8QFUQ01A4D0Z 11 213 4 7 3 1 0 4 1 6 +JY8QFUQ01A4E73 20 213 13 7 9 4 5 7 2 6 +JY8QFUQ01A4ENF 25 213 10 15 5 5 4 11 0 10 +JY8QFUQ01A4HOH 0 213 0 0 0 0 0 0 0 0 +JY8QFUQ01A4HT0 14 211 7 7 3 4 3 7 0 4 +JY8QFUQ01A4I3A 14 213 8 6 3 5 2 6 1 5 +JY8QFUQ01A4IGN 14 213 6 8 4 2 1 5 1 7 +JY8QFUQ01A4IHW 24 219 17 7 9 8 3 13 1 7 +JY8QFUQ01A4J2Q 21 210 11 10 8 3 6 5 4 6 +JY8QFUQ01A4JI5 24 213 15 9 6 9 4 7 0 13 +JY8QFUQ01A4KIH 13 213 10 3 6 4 2 7 2 2 +JY8QFUQ01A4KIW 31 213 19 12 8 11 4 11 5 11 +JY8QFUQ01A4LR9 12 215 4 8 2 2 2 6 1 3 +JY8QFUQ01A4LRG 15 213 9 6 7 2 3 9 0 3 +JY8QFUQ01A4LRU 25 213 12 13 8 4 3 11 1 10 +JY8QFUQ01A4MB9 35 216 17 18 11 6 6 18 2 9 +JY8QFUQ01A4MZ9 25 213 16 9 11 5 6 11 2 6 +JY8QFUQ01A4NWM 17 213 9 8 6 3 2 8 0 7 +JY8QFUQ01A4ORW 34 213 16 18 6 10 3 16 2 13 +JY8QFUQ01A4P7X 0 212 0 0 0 0 0 0 0 0 +JY8QFUQ01A4PSY 22 213 13 9 5 8 6 5 0 11 +JY8QFUQ01A4RGQ 16 219 10 6 8 2 3 4 1 8 +JY8QFUQ01A4RRU 11 213 4 7 3 1 2 7 0 2 +JY8QFUQ01A4SGO 15 213 9 6 7 2 3 9 0 3 +JY8QFUQ01A4U6K 12 216 8 4 4 4 5 2 0 5 +JY8QFUQ01A4UD9 12 213 9 3 3 6 2 3 2 5 +JY8QFUQ01A4UI3 16 213 9 7 4 5 0 7 2 7 +JY8QFUQ01A4VB0 26 216 12 14 7 5 6 9 1 10 +JY8QFUQ01A4W5D 16 210 8 8 7 1 4 3 0 9 +JY8QFUQ01A4X8T 25 213 12 13 6 6 2 15 4 4 +JY8QFUQ01A4XPO 25 213 10 15 3 7 3 9 3 10 +JY8QFUQ01A4XSE 13 213 10 3 6 4 3 6 2 2 +JY8QFUQ01A528Y 18 213 13 5 7 6 3 9 2 4 +JY8QFUQ01A53DH 34 210 21 13 10 11 8 13 0 13 +JY8QFUQ01A53VQ 17 213 12 5 10 2 2 5 2 8 +JY8QFUQ01A554Z 23 213 8 15 6 2 2 15 1 5 +JY8QFUQ01A55FP 8 213 5 3 2 3 1 2 0 5 +JY8QFUQ01A56UP 22 216 14 8 10 4 6 10 0 6 +JY8QFUQ01A572P 11 213 9 2 5 4 3 1 1 6 +JY8QFUQ01A58UD 17 212 8 9 7 1 5 5 1 6 +JY8QFUQ01A5935 25 216 17 8 11 6 5 11 1 8 +JY8QFUQ01A5AND 20 213 8 12 5 3 5 7 2 6 +JY8QFUQ01A5ATC 20 213 17 3 8 9 5 10 1 4 +JY8QFUQ01A5BO8 14 213 10 4 6 4 2 5 2 5 +JY8QFUQ01A5C4M 39 213 26 13 14 12 13 11 2 13 +JY8QFUQ01A5D4P 25 213 11 14 5 6 2 10 2 11 +JY8QFUQ01A5FS2 5 213 2 3 1 1 0 1 0 4 +JY8QFUQ01A5FUX 24 213 12 12 7 5 8 11 0 5 +JY8QFUQ01A5GJK 14 213 9 5 7 2 7 3 1 3 +JY8QFUQ01A5HXY 25 210 17 8 12 5 6 13 1 5 +JY8QFUQ01A5I8W 11 213 5 6 4 1 3 5 0 3 +JY8QFUQ01A5IKH 19 212 10 9 5 5 4 9 0 6 +JY8QFUQ01A5IOF 34 213 18 16 9 9 6 12 5 11 +JY8QFUQ01A5JVK 15 213 10 5 3 7 3 4 1 7 +JY8QFUQ01A5MH8 10 212 6 4 3 3 3 2 1 4 +JY8QFUQ01A5NL9 25 213 17 8 10 7 5 11 2 7 +JY8QFUQ01A5OJ5 26 213 19 7 10 9 6 13 1 6 +JY8QFUQ01A5SB0 12 213 5 7 2 3 3 3 1 5 +JY8QFUQ01A5U3W 13 213 9 4 6 3 2 2 0 9 +JY8QFUQ01A5V9M 24 213 16 8 9 7 6 8 1 9 +JY8QFUQ01A5VSB 16 213 10 6 6 4 3 3 2 8 +JY8QFUQ01A5WKX 22 213 15 7 5 10 4 8 3 7 +JY8QFUQ01A5XDS 14 213 9 5 7 2 3 9 0 2 +JY8QFUQ01A5ZKW 20 219 9 11 5 4 1 14 1 4 +JY8QFUQ01A60V7 18 213 10 8 6 4 4 5 0 9 +JY8QFUQ01A64VB 19 216 8 11 4 4 4 7 0 8 +JY8QFUQ01A666E 12 213 5 7 5 0 1 2 1 8 +JY8QFUQ01A68J9 5 212 2 3 1 1 0 1 0 4 +JY8QFUQ01A698F 15 213 3 12 1 2 1 7 1 6 +JY8QFUQ01A699S 20 213 10 10 6 4 3 11 0 6 +JY8QFUQ01A69S0 1 213 1 0 0 1 1 0 0 0 +JY8QFUQ01A6BXT 21 213 9 12 7 2 5 8 3 5 +JY8QFUQ01A6CNG 36 216 18 18 12 6 6 19 2 9 +JY8QFUQ01A6CSB 19 213 9 10 5 4 3 11 1 4 +JY8QFUQ01A6HGP 34 219 21 13 12 9 10 8 2 14 +JY8QFUQ01A6IQL 11 213 9 2 4 5 2 4 1 4 +JY8QFUQ01A6IZH 21 213 13 8 8 5 5 10 2 4 +JY8QFUQ01A6JX4 21 213 13 8 7 6 5 4 3 9 +JY8QFUQ01A6L65 17 213 10 7 5 5 5 9 0 3 +JY8QFUQ01A6LFT 12 213 7 5 5 2 4 4 0 4 +JY8QFUQ01A6MYW 8 218 5 3 4 1 3 1 0 4 +JY8QFUQ01A6PW0 12 213 8 4 3 5 1 7 0 4 +JY8QFUQ01A6T5J 24 213 13 11 5 8 8 7 2 7 +JY8QFUQ01A6UEX 10 213 4 6 2 2 1 1 0 8 +JY8QFUQ01A6V15 28 213 15 13 8 7 4 15 2 7 +JY8QFUQ01A6VGQ 16 213 9 7 7 2 2 5 0 9 +JY8QFUQ01A6VPK 22 210 7 15 4 3 2 12 2 6 +JY8QFUQ01A6W08 12 212 9 3 6 3 2 5 1 4 +JY8QFUQ01A6XI0 17 213 9 8 5 4 3 10 0 4 +JY8QFUQ01A6ZD5 8 212 5 3 2 3 1 2 0 5 +JY8QFUQ01A6ZI7 11 213 5 6 2 3 2 5 0 4 +JY8QFUQ01A70EP 30 213 14 16 9 5 2 20 2 6 +JY8QFUQ01A70L0 40 213 24 16 12 12 8 17 1 14 +JY8QFUQ01A720R 8 213 5 3 1 4 1 3 2 2 +JY8QFUQ01A72BF 13 216 7 6 5 2 3 2 1 7 +JY8QFUQ01A72FV 13 213 5 8 1 4 1 6 1 5 +JY8QFUQ01A79R5 11 213 10 1 8 2 1 4 0 6 +JY8QFUQ01A7AMF 5 210 1 4 1 0 1 2 0 2 +JY8QFUQ01A7C1U 14 213 9 5 7 2 7 3 1 3 +JY8QFUQ01A7C84 15 212 8 7 4 4 2 9 0 4 +JY8QFUQ01A7G35 27 213 17 10 9 8 8 9 2 8 +JY8QFUQ01A7GLV 31 216 17 14 6 11 3 17 3 8 +JY8QFUQ01A7HLN 22 213 16 6 10 6 6 6 1 9 +JY8QFUQ01A7KJZ 25 213 13 12 11 2 7 8 1 9 +JY8QFUQ01A7LQC 12 210 7 5 4 3 5 2 2 3 +JY8QFUQ01A7MBK 18 213 11 7 8 3 4 6 0 8 +JY8QFUQ01A7MWW 23 213 13 10 4 9 5 8 4 6 +JY8QFUQ01A7NVO 17 213 11 6 8 3 4 8 3 2 +JY8QFUQ01A7QC0 37 212 15 22 7 8 9 16 2 10 +JY8QFUQ01A7S16 4 210 4 0 1 3 0 1 0 3 +JY8QFUQ01A7TR1 21 213 13 8 9 4 3 9 2 7 +JY8QFUQ01A7TRV 20 213 13 7 8 5 5 8 2 5 +JY8QFUQ01A7TW1 10 213 4 6 2 2 3 4 1 2 +JY8QFUQ01A7XAB 20 210 12 8 6 6 3 9 0 8 +JY8QFUQ01A7XDX 9 213 6 3 6 0 5 1 0 3 +JY8QFUQ01A7Z2B 15 213 9 6 7 2 2 4 0 9 +JY8QFUQ01A7Z8B 16 218 11 5 7 4 5 6 2 3 +JY8QFUQ01A82FB 17 216 13 4 10 3 6 7 1 3 +JY8QFUQ01A82HJ 18 219 13 5 7 6 3 10 2 3 +JY8QFUQ01A82RF 23 210 14 9 9 5 6 7 2 8 +JY8QFUQ01A82RW 17 213 9 8 6 3 5 7 0 5 +JY8QFUQ01A8412 19 213 15 4 8 7 4 7 1 7 +JY8QFUQ01A8464 16 216 12 4 8 4 7 4 0 5 +JY8QFUQ01A86GB 26 213 16 10 10 6 4 9 2 11 +JY8QFUQ01A86IT 30 210 15 15 3 12 6 11 1 12 +JY8QFUQ01A87BG 14 213 5 9 4 1 1 10 1 2 +JY8QFUQ01A87UU 10 213 4 6 0 4 0 2 2 6 +JY8QFUQ01A8AJT 25 213 15 10 11 4 7 9 1 8 +JY8QFUQ01A8ALV 12 213 9 3 5 4 1 5 2 4 +JY8QFUQ01A8BTW 40 210 22 18 13 9 6 20 3 11 +JY8QFUQ01A8CRV 24 213 13 11 7 6 4 7 1 12 +JY8QFUQ01A8FGD 18 213 11 7 7 4 3 5 0 10 +JY8QFUQ01A8FJO 8 213 2 6 0 2 0 5 0 3 +JY8QFUQ01A8FM1 12 213 7 5 5 2 4 5 0 3 +JY8QFUQ01A8FSV 28 213 12 16 7 5 7 10 1 10 +JY8QFUQ01A8G0E 20 212 11 9 6 5 8 8 1 3 +JY8QFUQ01A8GGU 13 212 5 8 2 3 3 4 1 5 +JY8QFUQ01A8GWB 23 210 15 8 8 7 4 6 0 13 +JY8QFUQ01A8JNL 16 216 8 8 4 4 5 7 1 3 +JY8QFUQ01A8JZF 12 213 7 5 3 4 2 4 0 6 +JY8QFUQ01A8KHD 30 213 20 10 11 9 8 9 3 10 +JY8QFUQ01A8KQW 19 213 12 7 6 6 5 7 0 7 +JY8QFUQ01A8KZQ 26 213 19 7 8 11 7 7 2 10 +JY8QFUQ01A8LEY 0 212 0 0 0 0 0 0 0 0 +JY8QFUQ01A8MAI 19 216 14 5 6 8 3 9 0 7 +JY8QFUQ01A8MS3 11 210 4 7 3 1 3 3 0 5 +JY8QFUQ01A8NED 25 213 18 7 8 10 6 8 0 11 +JY8QFUQ01A8SUT 14 213 6 8 3 3 3 6 0 5 +JY8QFUQ01A8VFH 9 213 6 3 5 1 1 3 1 4 +JY8QFUQ01A8WCU 0 213 0 0 0 0 0 0 0 0 +JY8QFUQ01A8XXA 13 212 8 5 4 4 3 3 0 7 +JY8QFUQ01A8Y0H 15 213 6 9 5 1 4 5 0 6 +JY8QFUQ01A8Y8J 26 213 15 11 7 8 7 12 0 7 +JY8QFUQ01A91GC 6 216 4 2 2 2 2 2 0 2 +JY8QFUQ01A91H2 15 213 6 9 5 1 4 5 0 6 +JY8QFUQ01A91ZM 31 213 20 11 12 8 6 15 1 9 +JY8QFUQ01A9228 22 213 15 7 5 10 4 8 3 7 +JY8QFUQ01A928N 12 213 5 7 2 3 3 3 1 5 +JY8QFUQ01A94FS 20 213 13 7 7 6 4 5 0 11 +JY8QFUQ01A96A4 21 213 13 8 8 5 4 10 3 4 +JY8QFUQ01A96T1 22 213 12 10 9 3 6 9 0 7 +JY8QFUQ01A98LD 24 213 17 7 10 7 3 9 2 10 +JY8QFUQ01A98NE 23 209 8 15 5 3 2 13 2 6 +JY8QFUQ01A9C87 18 216 13 5 8 5 4 7 2 5 +JY8QFUQ01A9CIV 14 213 7 7 3 4 3 7 0 4 +JY8QFUQ01A9D9E 26 213 15 11 7 8 4 11 2 9 +JY8QFUQ01A9DAX 19 213 9 10 8 1 5 5 0 9 +JY8QFUQ01A9DEW 15 213 11 4 8 3 2 5 0 8 +JY8QFUQ01A9DTT 29 209 14 15 9 5 4 14 4 7 +JY8QFUQ01A9E7L 13 213 5 8 3 2 1 6 1 5 +JY8QFUQ01A9FXS 24 212 10 14 7 3 6 9 2 7 +JY8QFUQ01A9G63 28 210 16 12 11 5 7 11 0 10 +JY8QFUQ01A9GRS 15 210 10 5 3 7 6 4 1 4 +JY8QFUQ01A9HIP 28 213 15 13 8 7 5 13 3 7 +JY8QFUQ01A9JOS 14 213 9 5 4 5 2 8 1 3 +JY8QFUQ01A9KHI 16 213 5 11 3 2 3 8 2 3 +JY8QFUQ01A9LZM 60 210 31 29 19 12 10 26 1 23 +JY8QFUQ01A9M1O 57 210 35 22 23 12 14 22 2 19 +JY8QFUQ01A9M5C 10 212 8 2 5 3 1 3 1 5 +JY8QFUQ01A9MMF 10 213 4 6 3 1 1 4 0 5 +JY8QFUQ01A9OA6 14 213 7 7 5 2 5 4 0 5 +JY8QFUQ01A9PH6 8 213 5 3 4 1 2 2 1 3 +JY8QFUQ01A9PP5 12 213 6 6 0 6 1 3 1 7 +JY8QFUQ01A9R46 12 213 7 5 5 2 4 4 3 1 +JY8QFUQ01A9S2H 29 213 17 12 11 6 3 20 0 6 +JY8QFUQ01A9W4E 21 216 5 16 3 2 6 8 0 7 +JY8QFUQ01A9XRP 12 213 4 8 2 2 2 5 1 4 +JY8QFUQ01A9YO5 26 216 14 12 7 7 9 9 3 5 +JY8QFUQ01A9ZDI 18 212 11 7 5 6 7 3 0 8 +JY8QFUQ01AA0DL 15 213 6 9 2 4 1 6 2 6 +JY8QFUQ01AA0M8 15 213 10 5 6 4 1 4 2 8 +JY8QFUQ01AA3GK 21 212 16 5 11 5 4 9 2 6 +JY8QFUQ01AA57U 39 213 27 12 15 12 10 12 2 15 +JY8QFUQ01AA63Y 31 213 18 13 10 8 5 16 3 7 +JY8QFUQ01AA9O7 24 212 13 11 6 7 7 5 2 10 +JY8QFUQ01AA9UM 10 216 5 5 4 1 3 5 1 1 +JY8QFUQ01AAQL2 20 216 14 6 7 7 3 8 2 7 +JY8QFUQ01AARBP 3 219 2 1 0 2 1 0 0 2 +JY8QFUQ01AARXS 17 213 12 5 6 6 7 3 0 7 +JY8QFUQ01AAS9C 9 216 4 5 1 3 0 5 0 4 +JY8QFUQ01AATZ4 26 213 16 10 11 5 6 15 0 5 +JY8QFUQ01AAUM2 23 212 9 14 4 5 4 11 0 8 +JY8QFUQ01AAUWG 13 213 9 4 6 3 3 6 2 2 +JY8QFUQ01AAWVK 10 213 7 3 3 4 2 3 0 5 +JY8QFUQ01AAZ6M 12 216 3 9 2 1 1 5 2 4 +JY8QFUQ01AB19P 26 213 13 13 4 9 2 12 2 10 +JY8QFUQ01AB1K5 20 213 9 11 4 5 3 6 3 8 +JY8QFUQ01AB3G5 17 216 9 8 1 8 0 12 1 4 +JY8QFUQ01AB3KI 22 210 14 8 7 7 7 7 1 7 +JY8QFUQ01AB51E 14 213 9 5 2 7 2 4 1 7 +JY8QFUQ01ABDY1 10 213 7 3 4 3 2 4 0 4 +JY8QFUQ01ABF8G 25 216 15 10 6 9 5 9 3 8 +JY8QFUQ01ABFPI 15 213 12 3 9 3 3 5 2 5 +JY8QFUQ01ABGCX 13 213 9 4 6 3 3 6 2 2 +JY8QFUQ01ABI4U 17 215 12 5 11 1 6 6 2 3 +JY8QFUQ01ABKJ7 22 213 17 5 7 10 6 6 1 9 +JY8QFUQ01ABL5K 18 213 9 9 3 6 5 8 0 5 +JY8QFUQ01ABTVQ 26 213 14 12 13 1 4 10 1 11 +JY8QFUQ01ABYQ3 43 213 29 14 11 18 8 20 2 13 +JY8QFUQ01ABZLF 14 213 6 8 4 2 5 1 2 6 +JY8QFUQ01ABZPQ 21 212 16 5 9 7 7 4 2 8 +JY8QFUQ01AC0DA 10 213 4 6 0 4 0 2 2 6 +JY8QFUQ01AC0DP 20 216 8 12 1 7 3 7 3 7 +JY8QFUQ01AC0IS 18 213 10 8 5 5 5 6 1 6 +JY8QFUQ01AC33X 34 216 19 15 11 8 5 15 3 11 +JY8QFUQ01AC5GC 22 216 16 6 7 9 3 11 0 8 +JY8QFUQ01AC792 11 213 8 3 3 5 3 3 1 4 +JY8QFUQ01AC7WH 9 213 5 4 3 2 0 2 0 7 +JY8QFUQ01ACBLB 32 213 16 16 10 6 5 16 3 8 +JY8QFUQ01ACCKZ 19 209 15 4 7 8 4 9 2 4 +JY8QFUQ01ACENJ 10 213 4 6 2 2 1 1 0 8 +JY8QFUQ01ACFOO 7 213 2 5 1 1 2 1 2 2 +JY8QFUQ01ACH9Z 22 213 13 9 5 8 5 10 4 3 +JY8QFUQ01ACHS4 15 210 9 6 5 4 4 6 1 4 +JY8QFUQ01ACLAL 29 210 14 15 9 5 4 14 4 7 +JY8QFUQ01ACLRQ 17 213 12 5 9 3 6 7 2 2 +JY8QFUQ01ACLU1 7 213 3 4 2 1 2 2 1 2 +JY8QFUQ01ACRP3 15 213 10 5 6 4 1 4 2 8 +JY8QFUQ01ACRUV 20 210 11 9 8 3 3 8 0 9 +JY8QFUQ01ACT7P 16 213 10 6 5 5 5 5 0 6 +JY8QFUQ01ACURH 27 210 13 14 5 8 1 17 2 7 +JY8QFUQ01ACVQ4 43 216 23 20 14 9 5 21 2 15 +JY8QFUQ01ACXAI 25 213 15 10 9 6 5 10 3 7 +JY8QFUQ01ACXLB 20 210 9 11 6 3 5 5 1 9 +JY8QFUQ01ACXOG 27 213 10 17 5 5 4 14 2 7 +JY8QFUQ01ACXS7 30 213 15 15 8 7 6 14 3 7 +JY8QFUQ01ACXSL 27 210 16 11 11 5 9 11 0 7 +JY8QFUQ01AD4KE 23 215 15 8 10 5 5 10 2 6 +JY8QFUQ01AD5QJ 17 213 6 11 5 1 2 8 1 6 +JY8QFUQ01AD5UE 19 213 12 7 9 3 4 10 0 5 +JY8QFUQ01AD74T 21 213 11 10 8 3 3 7 2 9 +JY8QFUQ01AD79A 28 219 13 15 7 6 3 8 4 13 +JY8QFUQ01ADCX5 22 216 9 13 1 8 3 10 3 6 +JY8QFUQ01ADDDA 8 210 6 2 3 3 1 4 0 3 +JY8QFUQ01ADG23 35 216 23 12 11 12 11 10 0 14 +JY8QFUQ01ADGL2 21 213 15 6 7 8 4 10 2 5 +JY8QFUQ01ADMJX 28 210 13 15 8 5 4 14 4 6 +JY8QFUQ01ADN3R 29 216 21 8 10 11 10 15 2 2 +JY8QFUQ01ADNKP 31 213 20 11 12 8 6 15 1 9 +JY8QFUQ01ADOO5 43 216 25 18 13 12 10 18 2 13 +JY8QFUQ01ADRD7 20 201 12 8 6 6 7 7 0 6 +JY8QFUQ01ADTQJ 22 213 14 8 8 6 5 10 2 5 +JY8QFUQ01ADV0A 14 216 7 7 4 3 4 2 1 7 +JY8QFUQ01ADWZ0 17 213 5 12 4 1 4 8 1 4 +JY8QFUQ01ADZFS 18 213 12 6 7 5 3 5 3 7 +JY8QFUQ01AE2LT 24 213 17 7 10 7 3 9 2 10 +JY8QFUQ01AE3XC 18 215 13 5 8 5 4 7 2 5 +JY8QFUQ01AE4GX 23 219 11 12 8 3 4 9 1 9 +JY8QFUQ01AE6UZ 21 213 13 8 8 5 3 10 1 7 +JY8QFUQ01AEDZX 11 213 5 6 5 0 1 5 3 2 +JY8QFUQ01AEE83 36 210 22 14 12 10 7 12 0 17 +JY8QFUQ01AEF8J 9 213 5 4 3 2 2 5 1 1 +JY8QFUQ01AEH4G 24 212 13 11 7 6 4 7 1 12 +JY8QFUQ01AEM2N 24 210 16 8 11 5 7 12 2 3 +JY8QFUQ01AEMXL 26 210 11 15 4 7 4 13 0 9 +JY8QFUQ01AENJP 14 213 11 3 8 3 2 5 2 5 +JY8QFUQ01AEQU4 21 216 15 6 13 2 6 9 2 4 +JY8QFUQ01AEU6X 25 213 13 12 9 4 6 8 0 11 +JY8QFUQ01AEVWH 20 213 10 10 5 5 5 8 0 7 +JY8QFUQ01AEX25 9 213 6 3 5 1 2 3 2 2 +JY8QFUQ01AEYEY 9 213 5 4 1 4 4 2 0 3 +JY8QFUQ01AEYN1 10 213 7 3 3 4 2 3 0 5 +JY8QFUQ01AEYTS 20 213 10 10 9 1 5 6 0 9 +JY8QFUQ01AF30Y 18 210 9 9 7 2 3 6 0 9 +JY8QFUQ01AF3QZ 17 213 7 10 5 2 3 6 4 4 +JY8QFUQ01AF3TS 20 213 11 9 5 6 4 9 1 6 +JY8QFUQ01AF4Q3 29 213 20 9 14 6 5 6 0 18 +JY8QFUQ01AF4Z9 43 210 29 14 14 15 7 25 1 10 +JY8QFUQ01AF664 23 210 12 11 8 4 8 6 6 3 +JY8QFUQ01AF6U3 29 211 18 11 5 13 6 9 0 14 +JY8QFUQ01AF7Y6 12 212 9 3 6 3 2 5 1 4 +JY8QFUQ01AF8I8 20 219 12 8 10 2 8 7 1 4 +JY8QFUQ01AF8ND 14 216 11 3 4 7 2 5 1 6 +JY8QFUQ01AF8SZ 28 210 19 9 11 8 7 14 2 5 +JY8QFUQ01AF9LD 14 213 5 9 2 3 0 8 1 5 +JY8QFUQ01AFBN6 0 216 0 0 0 0 0 0 0 0 +JY8QFUQ01AFCKU 22 213 11 11 9 2 3 9 0 10 +JY8QFUQ01AFCRV 17 213 8 9 6 2 3 6 5 3 +JY8QFUQ01AFDCM 20 216 13 7 8 5 3 8 1 8 +JY8QFUQ01AFE1S 14 212 5 9 2 3 0 8 1 5 +JY8QFUQ01AFE74 20 213 13 7 7 6 4 5 0 11 +JY8QFUQ01AFES7 22 219 15 7 10 5 4 10 1 7 +JY8QFUQ01AFGYG 17 213 8 9 6 2 1 8 1 7 +JY8QFUQ01AFJBJ 15 213 10 5 7 3 5 6 1 3 +JY8QFUQ01AFKEB 27 213 16 11 10 6 5 14 2 6 +JY8QFUQ01AFSUH 5 213 2 3 0 2 0 1 1 3 +JY8QFUQ01AFUZV 38 213 20 18 11 9 6 18 1 13 +JY8QFUQ01AFVJM 36 213 16 20 9 7 9 16 2 9 +JY8QFUQ01AFVUY 15 213 10 5 6 4 3 7 2 3 +JY8QFUQ01AFZBJ 28 212 14 14 11 3 5 10 2 11 +JY8QFUQ01AG0D6 28 213 14 14 9 5 6 10 1 11 +JY8QFUQ01AG2OG 34 213 20 14 12 8 3 14 2 15 +JY8QFUQ01AG5LX 42 213 23 19 16 7 10 16 0 16 +JY8QFUQ01AG60V 14 212 8 6 3 5 2 6 1 5 +JY8QFUQ01AG93B 26 209 11 15 4 7 4 13 0 9 +JY8QFUQ01AG9DV 25 213 14 11 7 7 7 5 2 11 +JY8QFUQ01AGDKF 21 213 14 7 9 5 4 8 1 8 +JY8QFUQ01AGDVH 16 219 10 6 7 3 2 9 2 3 +JY8QFUQ01AGDVR 17 213 4 13 3 1 1 6 2 8 +JY8QFUQ01AGGIL 17 213 11 6 4 7 1 9 3 4 +JY8QFUQ01AGHV3 24 215 16 8 10 6 10 4 4 6 +JY8QFUQ01AGKNE 15 213 11 4 7 4 2 6 2 5 +JY8QFUQ01AGKQB 10 213 7 3 3 4 2 3 0 5 +JY8QFUQ01AGMKR 23 213 12 11 7 5 3 13 1 6 +JY8QFUQ01AGQWQ 14 207 5 9 1 4 1 3 0 10 +JY8QFUQ01AGRBK 16 212 10 6 4 6 5 3 5 3 +JY8QFUQ01AGS4P 25 213 13 12 8 5 8 12 0 5 +JY8QFUQ01AGSEB 15 213 8 7 6 2 3 9 1 2 +JY8QFUQ01AGTKI 22 213 15 7 5 10 4 8 3 7 +JY8QFUQ01AGWXH 23 213 12 11 7 5 2 13 2 6 +JY8QFUQ01AGXB8 13 213 6 7 3 3 2 2 0 9 +JY8QFUQ01AGXOC 25 210 15 10 8 7 8 10 3 4 +JY8QFUQ01AGZC5 23 213 12 11 7 5 4 10 2 7 +JY8QFUQ01AH0X0 20 216 12 8 6 6 3 9 1 7 +JY8QFUQ01AH32A 27 213 21 6 13 8 6 9 3 9 +JY8QFUQ01AH38B 30 213 20 10 8 12 9 9 2 10 +JY8QFUQ01AH5A1 14 215 7 7 4 3 4 2 1 7 +JY8QFUQ01AH5X7 5 222 3 2 2 1 3 0 0 2 +JY8QFUQ01AH715 23 212 16 7 9 7 3 9 3 8 +JY8QFUQ01AHAA1 17 213 9 8 3 6 9 2 3 3 +JY8QFUQ01AHB8A 20 213 11 9 2 9 3 7 3 7 +JY8QFUQ01AHBK2 23 210 10 13 7 3 6 13 1 3 +JY8QFUQ01AHEWI 13 219 7 6 3 4 5 4 0 4 +JY8QFUQ01AHHJ6 24 213 8 16 6 2 4 9 4 7 +JY8QFUQ01AHIDS 8 213 5 3 3 2 1 1 2 4 +JY8QFUQ01AHK2I 14 210 8 6 7 1 5 4 0 5 +JY8QFUQ01AHMI8 14 213 7 7 2 5 3 6 2 3 +JY8QFUQ01AHN93 17 213 8 9 3 5 3 7 0 7 +JY8QFUQ01AHRBA 40 210 22 18 13 9 6 20 3 11 +JY8QFUQ01AHSTY 28 212 17 11 8 9 6 12 3 7 +JY8QFUQ01AHTOX 33 216 20 13 11 9 10 12 3 8 +JY8QFUQ01AHX1B 10 213 6 4 5 1 3 3 1 3 +JY8QFUQ01AHY6K 27 213 16 11 12 4 7 15 1 4 +JY8QFUQ01AHY6R 14 213 10 4 8 2 2 5 0 7 +JY8QFUQ01AHYWT 43 210 26 17 13 13 5 29 2 7 +JY8QFUQ01AI3Y4 12 213 7 5 5 2 4 4 3 1 +JY8QFUQ01AI4NA 20 213 13 7 9 4 3 9 1 7 +JY8QFUQ01AIAC1 17 213 8 9 3 5 3 7 0 7 +JY8QFUQ01AIAF1 18 213 11 7 7 4 5 8 1 4 +JY8QFUQ01AIE5T 21 210 12 9 6 6 3 8 1 9 +JY8QFUQ01AIN7Q 16 213 10 6 5 5 3 4 0 9 +JY8QFUQ01AITB3 14 212 9 5 4 5 4 8 0 2 +JY8QFUQ01AITV3 8 219 8 0 3 5 2 1 0 5 +JY8QFUQ01AJ3EX 9 213 7 2 2 5 2 3 0 4 +JY8QFUQ01AJ3KH 30 213 14 16 10 4 5 18 0 7 +JY8QFUQ01AJ891 16 212 7 9 3 4 4 8 0 4 +JY8QFUQ01AJCMG 20 213 11 9 7 4 4 9 3 4 +JY8QFUQ01AJEE9 19 210 9 10 7 2 5 5 0 9 +JY8QFUQ01AJEL4 17 213 11 6 6 5 5 7 0 5 +JY8QFUQ01AJF1Y 16 213 6 10 4 2 2 8 0 6 +JY8QFUQ01AJGDO 24 213 11 13 4 7 6 10 5 3 +JY8QFUQ01AJJ06 31 213 20 11 14 6 7 12 3 9 +JY8QFUQ01AJOAH 11 213 5 6 4 1 2 5 1 3 +JY8QFUQ01AJQ24 20 213 12 8 10 2 7 5 2 6 +JY8QFUQ01AJRGU 27 213 13 14 7 6 6 12 1 8 +JY8QFUQ01AJRNU 0 216 0 0 0 0 0 0 0 0 +JY8QFUQ01AJTUX 10 140 8 2 5 3 1 3 1 5 +JY8QFUQ01AJUSF 35 213 23 12 14 9 10 14 4 7 +JY8QFUQ01AJVOK 18 213 9 9 4 5 5 8 2 3 +JY8QFUQ01AJWQ7 14 212 7 7 3 4 3 7 0 4 +JY8QFUQ01AJWSY 9 213 6 3 3 3 1 4 1 3 +JY8QFUQ01AJYIB 17 213 10 7 3 7 0 9 2 6 +JY8QFUQ01AJYWV 18 213 13 5 8 5 6 10 1 1 +JY8QFUQ01AJZDU 34 210 20 14 11 9 11 9 3 11 +JY8QFUQ01AK0SS 28 213 17 11 9 8 6 10 3 9 +JY8QFUQ01AK1KM 27 212 17 10 8 9 5 10 2 10 +JY8QFUQ01AK5T8 20 216 12 8 6 6 3 9 1 7 +JY8QFUQ01AK7F3 13 213 5 8 2 3 3 5 2 3 +JY8QFUQ01AKA7I 13 213 10 3 7 3 3 3 1 6 +JY8QFUQ01AKBIM 21 213 12 9 7 5 5 9 2 5 +JY8QFUQ01AKC4T 11 210 7 4 4 3 2 4 2 3 +JY8QFUQ01AKFJR 16 213 5 11 2 3 3 4 0 9 +JY8QFUQ01AKG3P 19 216 10 9 4 6 3 9 2 5 +JY8QFUQ01AKHC5 17 213 10 7 3 7 0 9 2 6 +JY8QFUQ01AKHCX 20 210 9 11 6 3 5 5 1 9 +JY8QFUQ01AKI3P 33 216 19 14 12 7 6 12 2 13 +JY8QFUQ01AKJVX 7 210 3 4 2 1 2 2 0 3 +JY8QFUQ01AKKV6 29 213 14 15 11 3 5 10 1 13 +JY8QFUQ01AKM0W 18 213 8 10 3 5 3 8 2 5 +JY8QFUQ01AKNSQ 15 213 6 9 3 3 4 6 0 5 +JY8QFUQ01AKOZJ 6 212 3 3 2 1 1 3 1 1 +JY8QFUQ01AKQ1X 9 213 6 3 5 1 1 2 1 5 +JY8QFUQ01AKROJ 39 213 22 17 14 8 8 14 4 13 +JY8QFUQ01AKUKJ 17 219 11 6 7 4 5 6 1 5 +JY8QFUQ01AKVLH 26 210 11 15 4 7 4 13 0 9 +JY8QFUQ01AKY8Y 34 210 21 13 10 11 8 13 0 13 +JY8QFUQ01AKZ0I 16 214 11 5 10 1 6 6 2 2 +JY8QFUQ01AKZW4 12 210 4 8 4 0 2 6 1 3 +JY8QFUQ01AL1GZ 12 219 7 5 6 1 4 4 1 3 +JY8QFUQ01AL1N5 23 213 15 8 5 10 4 9 3 7 +JY8QFUQ01AL2CW 0 219 0 0 0 0 0 0 0 0 +JY8QFUQ01AL2IL 22 213 17 5 11 6 4 9 3 6 +JY8QFUQ01AL7F1 27 213 17 10 8 9 5 10 2 10 +JY8QFUQ01AL8VS 26 210 12 14 4 8 4 8 0 14 +JY8QFUQ01AL9MI 33 213 22 11 11 11 9 10 4 10 +JY8QFUQ01AL9ZT 33 213 19 14 11 8 7 13 3 10 +JY8QFUQ01ALDY2 18 210 7 11 4 3 5 5 1 7 +JY8QFUQ01ALFPF 20 216 14 6 9 5 3 7 2 8 +JY8QFUQ01ALJ94 20 213 8 12 4 4 2 10 2 6 +JY8QFUQ01ALJS1 19 213 10 9 6 4 4 8 1 6 +JY8QFUQ01ALKNG 18 213 11 7 4 7 1 9 2 6 +JY8QFUQ01ALMSJ 14 209 8 6 7 1 5 4 0 5 +JY8QFUQ01ALN7I 22 216 14 8 8 6 10 6 1 5 +JY8QFUQ01ALPR0 29 210 18 11 9 9 5 13 0 11 +JY8QFUQ01ALW0Z 15 213 9 6 4 5 5 4 0 6 +JY8QFUQ01ALZYF 23 210 8 15 5 3 2 13 2 6 +JY8QFUQ01AM056 19 213 10 9 10 0 6 5 0 8 +JY8QFUQ01AM0T6 18 210 9 9 5 4 6 6 0 6 +JY8QFUQ01AM4ZR 25 213 14 11 7 7 7 5 2 11 +JY8QFUQ01AM701 20 213 17 3 8 9 5 10 1 4 +JY8QFUQ01AMBSZ 12 213 7 5 4 3 3 4 3 2 +JY8QFUQ01AMDQC 13 213 6 7 3 3 3 5 2 3 +JY8QFUQ01AMI66 15 210 8 7 5 3 3 5 0 7 +JY8QFUQ01AMIC0 12 213 8 4 7 1 2 7 1 2 +JY8QFUQ01AMK5G 13 213 8 5 4 4 2 6 1 4 +JY8QFUQ01AMLKN 18 213 10 8 8 2 9 4 1 4 +JY8QFUQ01AMPZY 29 213 20 9 12 8 4 14 3 8 +JY8QFUQ01AMTHS 18 216 11 7 8 3 6 4 1 7 +JY8QFUQ01AMUT4 25 213 13 12 8 5 3 11 2 9 +JY8QFUQ01AMX59 16 212 12 4 6 6 7 3 0 6 +JY8QFUQ01AMXZ6 18 210 8 10 5 3 6 6 0 6 +JY8QFUQ01AMZ6W 24 210 15 9 11 4 3 10 1 10 +JY8QFUQ01AN3IA 8 213 1 7 1 0 0 3 0 5 +JY8QFUQ01AN5X2 15 211 6 9 2 4 3 4 1 7 +JY8QFUQ01AN6Q8 21 219 14 7 11 3 5 10 1 5 +JY8QFUQ01AN8DC 16 213 7 9 5 2 4 5 1 6 +JY8QFUQ01AN937 35 216 14 21 8 6 5 11 3 16 +JY8QFUQ01AND2L 19 216 11 8 7 4 3 11 0 5 +JY8QFUQ01ANGEF 27 210 19 8 13 6 5 9 5 8 +JY8QFUQ01ANI1H 28 213 15 13 8 7 2 10 0 16 +JY8QFUQ01ANJ9X 17 213 10 7 6 4 2 4 1 10 +JY8QFUQ01ANKJV 19 213 10 9 7 3 3 12 0 4 +JY8QFUQ01ANLMX 15 219 9 6 7 2 1 9 1 4 +JY8QFUQ01ANO71 20 213 11 9 6 5 4 7 1 8 +JY8QFUQ01ANOOW 32 213 18 14 11 7 7 12 1 12 +JY8QFUQ01ANR0Z 20 213 16 4 12 4 5 11 3 1 +JY8QFUQ01ANSMV 21 213 16 5 9 7 7 4 2 8 +JY8QFUQ01ANV52 13 213 10 3 6 4 2 7 2 2 +JY8QFUQ01ANVJX 19 212 12 7 6 6 2 8 3 6 +JY8QFUQ01ANXAZ 20 213 12 8 7 5 3 10 3 4 +JY8QFUQ01ANXRG 20 213 13 7 10 3 9 8 1 2 +JY8QFUQ01AO0HA 21 213 15 6 11 4 3 8 2 8 +JY8QFUQ01AO14S 6 213 3 3 1 2 1 1 1 3 +JY8QFUQ01AO38F 21 216 14 7 5 9 3 9 1 8 +JY8QFUQ01AO5H2 40 213 21 19 10 11 10 16 2 12 +JY8QFUQ01AO7UP 23 213 15 8 10 5 3 9 2 9 +JY8QFUQ01AO8B3 17 211 8 9 3 5 3 10 0 4 +JY8QFUQ01AO8X8 40 213 22 18 10 12 5 17 2 16 +JY8QFUQ01AOCIF 13 213 7 6 4 3 5 3 0 5 +JY8QFUQ01AODPS 36 210 23 13 15 8 9 16 3 8 +JY8QFUQ01AODUI 17 213 13 4 9 4 6 5 0 6 +JY8QFUQ01AOFCE 10 213 2 8 1 1 2 3 1 4 +JY8QFUQ01AOFPE 27 213 16 11 5 11 3 11 2 11 +JY8QFUQ01AOGGT 17 213 12 5 7 5 2 7 1 7 +JY8QFUQ01AOGS5 16 212 10 6 7 3 6 8 1 1 +JY8QFUQ01AOJXD 31 210 14 17 8 6 3 19 1 8 +JY8QFUQ01AOLHE 35 209 22 13 15 7 10 14 3 8 +JY8QFUQ01AOMW2 25 213 13 12 9 4 6 7 7 5 +JY8QFUQ01AOQZO 27 216 20 7 10 10 4 11 0 12 +JY8QFUQ01AOR4M 14 213 8 6 2 6 3 4 2 5 +JY8QFUQ01AOY3W 23 209 10 13 7 3 6 9 3 5 +JY8QFUQ01AP05X 6 213 3 3 1 2 1 1 1 3 +JY8QFUQ01AP0TZ 14 213 7 7 4 3 4 5 2 3 +JY8QFUQ01AP21C 21 213 11 10 6 5 7 6 1 7 +JY8QFUQ01AP263 19 213 10 9 7 3 2 5 0 12 +JY8QFUQ01AP2Y1 23 213 10 13 6 4 1 15 1 6 +JY8QFUQ01AP3M5 20 213 10 10 3 7 3 6 2 9 +JY8QFUQ01AP4KF 11 212 10 1 8 2 1 4 0 6 +JY8QFUQ01AP6HU 28 213 18 10 15 3 6 8 1 13 +JY8QFUQ01AP72B 37 212 19 18 10 9 6 18 1 12 +JY8QFUQ01AP9Y7 21 213 12 9 8 4 3 8 3 7 +JY8QFUQ01APECD 1 213 1 0 0 1 0 1 0 0 +JY8QFUQ01APENB 14 213 7 7 5 2 5 4 0 5 +JY8QFUQ01APGRW 16 213 10 6 8 2 3 6 3 4 +JY8QFUQ01APICN 31 213 19 12 6 13 5 12 0 14 +JY8QFUQ01APJMN 26 213 15 11 4 11 2 11 2 11 +JY8QFUQ01APK7S 41 208 17 24 11 6 9 21 1 10 +JY8QFUQ01APLRK 24 212 13 11 6 7 7 5 2 10 +JY8QFUQ01APM60 4 210 1 3 0 1 0 3 0 1 +JY8QFUQ01APOZ1 33 213 17 16 9 8 7 15 2 9 +JY8QFUQ01APYPD 14 213 4 10 2 2 3 3 1 7 +JY8QFUQ01AQ0K4 20 211 10 10 4 6 3 12 0 5 +JY8QFUQ01AQ18D 14 219 8 6 4 4 3 5 1 5 +JY8QFUQ01AQ576 12 213 9 3 5 4 4 2 2 4 +JY8QFUQ01AQ8YC 28 213 11 17 9 2 4 14 3 7 +JY8QFUQ01AQAEH 15 213 9 6 4 5 0 4 3 8 +JY8QFUQ01AQAXR 19 213 8 11 4 4 1 13 0 5 +JY8QFUQ01AQMNE 17 207 9 8 5 4 5 6 0 6 +JY8QFUQ01AQOEM 21 213 12 9 4 8 1 7 1 12 +JY8QFUQ01AQS9S 22 212 14 8 9 5 3 9 1 9 +JY8QFUQ01AQUPN 6 213 2 4 1 1 0 2 0 4 +JY8QFUQ01AQWBS 13 215 7 6 5 2 1 4 4 4 +JY8QFUQ01AQXAS 36 216 26 10 14 12 6 14 1 15 +JY8QFUQ01AQXWF 26 210 16 10 11 5 9 10 0 7 +JY8QFUQ01AQZ7D 21 213 13 8 9 4 4 8 2 7 +JY8QFUQ01AR4F8 8 219 5 3 4 1 3 1 0 4 +JY8QFUQ01AR4XZ 18 213 10 8 6 4 5 4 0 9 +JY8QFUQ01AR7NH 22 216 11 11 7 4 3 8 1 10 +JY8QFUQ01AR8K0 21 213 14 7 9 5 4 8 1 8 +JY8QFUQ01AR8UJ 12 218 6 6 3 3 4 4 0 4 +JY8QFUQ01AR91V 34 213 18 16 10 8 10 18 1 5 +JY8QFUQ01ARJHI 18 213 10 8 6 4 4 5 1 8 +JY8QFUQ01ARLMX 15 210 9 6 5 4 1 9 1 4 +JY8QFUQ01AROW2 19 213 10 9 7 3 4 5 2 8 +JY8QFUQ01ARPRY 11 213 8 3 5 3 2 5 0 4 +JY8QFUQ01ARWZ0 14 213 10 4 4 6 4 4 1 5 +JY8QFUQ01ARYWV 25 213 15 10 7 8 2 12 1 10 +JY8QFUQ01AS13P 18 213 13 5 7 6 3 9 2 4 +JY8QFUQ01AS1T0 14 213 10 4 4 6 0 6 2 6 +JY8QFUQ01AS22B 27 210 12 15 2 10 5 10 1 11 +JY8QFUQ01AS24X 8 213 5 3 2 3 1 4 1 2 +JY8QFUQ01AS28D 62 213 27 35 17 10 9 26 3 24 +JY8QFUQ01AS5EL 1 210 0 1 0 0 0 0 0 1 +JY8QFUQ01AS6B9 13 213 8 5 4 4 2 6 1 4 +JY8QFUQ01AS9TS 28 213 19 9 10 9 9 13 2 4 +JY8QFUQ01ASBBA 12 213 6 6 5 1 2 5 1 4 +JY8QFUQ01ASGTL 30 213 23 7 14 9 7 12 3 8 +JY8QFUQ01ASIFV 10 213 6 4 5 1 3 3 1 3 +JY8QFUQ01ASKXZ 15 211 9 6 4 5 6 4 1 4 +JY8QFUQ01ASLW8 11 213 7 4 4 3 3 2 1 5 +JY8QFUQ01ASMJE 17 213 8 9 4 4 4 9 0 4 +JY8QFUQ01ASMT6 16 216 12 4 6 6 5 8 0 3 +JY8QFUQ01ASO1O 16 210 11 5 7 4 4 7 2 3 +JY8QFUQ01ASOW0 13 213 10 3 7 3 3 3 1 6 +JY8QFUQ01ASS6V 17 213 12 5 10 2 2 5 2 8 +JY8QFUQ01ASSCV 10 213 7 3 3 4 2 3 0 5 +JY8QFUQ01ASTYN 34 209 17 17 9 8 4 19 2 9 +JY8QFUQ01ASUCZ 27 213 13 14 9 4 6 11 2 8 +JY8QFUQ01ASUXV 16 216 11 5 7 4 7 4 0 5 +JY8QFUQ01ASVJP 25 213 20 5 9 11 4 13 1 7 +JY8QFUQ01ASZ0M 31 209 13 18 8 5 9 15 2 5 +JY8QFUQ01AT4NT 24 212 15 9 9 6 6 8 3 7 +JY8QFUQ01AT5TS 8 213 4 4 3 1 2 2 0 4 +JY8QFUQ01AT8HH 33 216 18 15 11 7 5 18 3 7 +JY8QFUQ01ATA76 0 219 0 0 0 0 0 0 0 0 +JY8QFUQ01ATDOT 14 210 9 5 3 6 2 7 1 4 +JY8QFUQ01ATIZV 25 210 15 10 8 7 8 10 3 4 +JY8QFUQ01ATJ6D 9 213 6 3 5 1 2 3 2 2 +JY8QFUQ01ATK2N 22 210 18 4 11 7 7 6 1 8 +JY8QFUQ01ATP88 26 210 16 10 11 5 9 10 0 7 +JY8QFUQ01ATQIC 11 213 6 5 2 4 4 2 1 4 +JY8QFUQ01ATVSF 12 212 2 10 0 2 2 2 1 7 +JY8QFUQ01ATWCJ 23 212 16 7 8 8 5 12 2 4 +JY8QFUQ01ATX94 16 218 10 6 7 3 2 9 2 3 +JY8QFUQ01AU02Q 27 216 16 11 8 8 3 12 2 10 +JY8QFUQ01AU76E 25 213 11 14 8 3 6 10 2 7 +JY8QFUQ01AUADL 27 213 17 10 12 5 9 12 1 5 +JY8QFUQ01AUD41 25 213 11 14 8 3 6 10 2 7 +JY8QFUQ01AUF6C 30 213 14 16 7 7 4 14 2 10 +JY8QFUQ01AUH73 19 213 11 8 7 4 3 8 0 8 +JY8QFUQ01AUI48 8 213 4 4 2 2 1 4 1 2 +JY8QFUQ01AUJ6M 14 212 6 8 4 2 5 1 2 6 +JY8QFUQ01AURES 25 212 9 16 7 2 5 12 2 6 +JY8QFUQ01AUU0J 15 213 6 9 5 1 4 5 0 6 +JY8QFUQ01AUUPD 14 210 9 5 3 6 2 7 1 4 +JY8QFUQ01AUVXR 18 213 8 10 1 7 3 4 0 11 +JY8QFUQ01AUYQV 21 210 13 8 10 3 7 7 0 7 +JY8QFUQ01AV09F 39 216 23 16 15 8 12 16 0 11 +JY8QFUQ01AV2V7 20 219 15 5 9 6 4 9 1 6 +JY8QFUQ01AV3HD 20 213 13 7 9 4 5 7 2 6 +JY8QFUQ01AV3VG 23 212 12 11 9 3 6 8 3 6 +JY8QFUQ01AV7LU 22 213 14 8 9 5 3 13 0 6 +JY8QFUQ01AV8RW 14 213 8 6 7 1 3 7 0 4 +JY8QFUQ01AVA0Q 9 216 9 0 7 2 3 2 3 1 +JY8QFUQ01AVB4I 22 213 11 11 9 2 6 8 0 8 +JY8QFUQ01AVBM5 26 213 18 8 10 8 9 6 3 8 +JY8QFUQ01AVDHQ 15 213 7 8 4 3 2 2 0 11 +JY8QFUQ01AVEUZ 12 213 7 5 4 3 1 3 2 6 +JY8QFUQ01AVHAA 30 213 18 12 11 7 12 11 0 7 +JY8QFUQ01AVLE1 23 213 14 9 9 5 6 7 1 9 +JY8QFUQ01AVMZN 40 210 24 16 12 12 7 24 2 7 +JY8QFUQ01AVNE7 14 213 7 7 5 2 4 3 1 6 +JY8QFUQ01AVOVU 3 208 3 0 1 2 0 1 0 2 +JY8QFUQ01AVPMG 16 216 8 8 3 5 3 6 0 7 +JY8QFUQ01AVQ0D 6 213 3 3 1 2 1 2 0 3 +JY8QFUQ01AVQBY 17 213 9 8 5 4 3 10 0 4 +JY8QFUQ01AVT39 26 213 19 7 8 11 7 7 2 10 +JY8QFUQ01AVZKB 36 213 21 15 7 14 5 18 3 10 +JY8QFUQ01AW02O 28 213 15 13 6 9 10 8 5 5 +JY8QFUQ01AW9GE 38 216 17 21 7 10 8 18 1 11 +JY8QFUQ01AWGJ4 21 213 13 8 8 5 4 10 3 4 +JY8QFUQ01AWIJ1 32 210 14 18 8 6 3 19 1 9 +JY8QFUQ01AWLNY 14 222 10 4 4 6 6 3 2 3 +JY8QFUQ01AWOLO 15 212 8 7 7 1 2 4 0 9 +JY8QFUQ01AWOO7 25 213 12 13 6 6 6 7 3 9 +JY8QFUQ01AWPED 17 213 11 6 6 5 3 5 2 7 +JY8QFUQ01AWSX6 11 213 5 6 1 4 0 3 2 6 +JY8QFUQ01AX0TL 21 215 10 11 6 4 3 8 1 9 +JY8QFUQ01AX3JG 16 213 10 6 7 3 1 8 1 6 +JY8QFUQ01AX7BT 28 210 16 12 9 7 7 12 4 5 +JY8QFUQ01AX7OK 13 213 9 4 6 3 2 6 1 4 +JY8QFUQ01AXASL 17 212 7 10 2 5 3 5 1 8 +JY8QFUQ01AXCGR 12 213 7 5 2 5 1 7 0 4 +JY8QFUQ01AXE56 33 212 16 17 6 10 3 15 2 13 +JY8QFUQ01AXNWU 9 213 4 5 3 1 1 4 1 3 +JY8QFUQ01AXTRO 16 213 7 9 4 3 2 8 0 6 +JY8QFUQ01AXVCI 14 213 6 8 3 3 3 4 2 5 +JY8QFUQ01AXXC6 14 213 11 3 2 9 3 4 0 7 +JY8QFUQ01AY7GI 22 212 12 10 7 5 2 13 1 6 +JY8QFUQ01AY8MO 21 210 11 10 8 3 8 6 2 5 +JY8QFUQ01AY94E 12 216 3 9 2 1 1 5 2 4 +JY8QFUQ01AYCCC 19 213 12 7 11 1 4 8 0 7 +JY8QFUQ01AYFQ1 21 213 13 8 8 5 4 7 2 8 +JY8QFUQ01AYG87 23 212 12 11 7 5 7 11 0 5 +JY8QFUQ01AYHQQ 14 219 9 5 3 6 4 6 0 4 +JY8QFUQ01AYHQY 8 212 5 3 2 3 1 2 0 5 +JY8QFUQ01AYINE 17 213 10 7 5 5 5 9 0 3 +JY8QFUQ01AYL0X 12 180 7 5 5 2 6 2 1 3 +JY8QFUQ01AYR4C 11 213 4 7 3 1 2 5 3 1 +JY8QFUQ01AYTLP 37 212 19 18 10 9 6 18 1 12 +JY8QFUQ01AYXP4 14 216 5 9 3 2 3 7 1 3 +JY8QFUQ01AYY7V 27 210 14 13 8 6 6 5 1 15 +JY8QFUQ01AZ2OV 25 213 13 12 8 5 4 14 2 5 +JY8QFUQ01AZ3Q8 27 210 13 14 5 8 1 17 2 7 +JY8QFUQ01AZ72P 14 212 8 6 6 2 1 12 0 1 +JY8QFUQ01AZ89E 8 216 7 1 6 1 4 3 0 1 +JY8QFUQ01AZAYV 33 213 15 18 7 8 10 12 5 6 +JY8QFUQ01AZCLU 9 213 5 4 5 0 1 4 0 4 +JY8QFUQ01AZEES 17 219 12 5 6 6 4 8 2 3 +JY8QFUQ01AZK7Y 10 213 7 3 4 3 2 3 1 4 +JY8QFUQ01AZQ2B 47 213 23 24 15 8 11 21 1 14 +JY8QFUQ01AZRH6 14 213 8 6 3 5 2 6 1 5 +JY8QFUQ01AZRKU 24 212 15 9 6 9 3 9 3 9 +JY8QFUQ01AZTNG 0 219 0 0 0 0 0 0 0 0 +JY8QFUQ01AZU0Q 40 210 25 15 13 12 7 24 2 7 +JY8QFUQ01AZUTN 11 213 6 5 4 2 3 6 1 1 +JY8QFUQ01AZZ31 22 216 14 8 8 6 10 6 1 5 +JY8QFUQ01B00R6 25 213 18 7 8 10 8 8 1 8 +JY8QFUQ01B02KX 0 212 0 0 0 0 0 0 0 0 +JY8QFUQ01B03TR 6 213 3 3 1 2 1 3 2 0 +JY8QFUQ01B07O4 12 213 7 5 2 5 1 7 0 4 +JY8QFUQ01B08DF 13 216 10 3 6 4 2 8 1 2 +JY8QFUQ01B09U4 15 213 9 6 2 7 3 4 1 7 +JY8QFUQ01B0B79 23 198 15 8 8 7 4 4 3 12 +JY8QFUQ01B0BDK 22 213 13 9 7 6 5 8 1 8 +JY8QFUQ01B0DOB 13 213 8 5 4 4 4 5 0 4 +JY8QFUQ01B0E0W 9 212 6 3 5 1 1 2 1 5 +JY8QFUQ01B0E54 39 213 23 16 11 12 7 19 2 11 +JY8QFUQ01B0F0W 13 213 8 5 3 5 1 5 3 4 +JY8QFUQ01B0GQK 11 213 7 4 4 3 2 5 0 4 +JY8QFUQ01B0JWX 47 216 25 22 13 12 12 16 0 19 +JY8QFUQ01B0K72 20 210 11 9 5 6 6 8 1 5 +JY8QFUQ01B0M6T 27 213 17 10 13 4 3 16 3 5 +JY8QFUQ01B0MEN 8 212 4 4 1 3 4 2 0 2 +JY8QFUQ01B0SLO 15 213 7 8 4 3 2 8 1 4 +JY8QFUQ01B0YFD 17 215 12 5 8 4 4 6 2 5 +JY8QFUQ01B0Z32 17 213 10 7 6 4 2 4 1 10 +JY8QFUQ01B0ZM2 14 213 11 3 8 3 2 5 2 5 +JY8QFUQ01B11DU 7 213 4 3 3 1 1 3 2 1 +JY8QFUQ01B14S8 37 212 17 20 9 8 9 16 2 10 +JY8QFUQ01B1B92 30 213 16 14 9 7 6 12 2 10 +JY8QFUQ01B1CH3 25 213 15 10 9 6 5 10 3 7 +JY8QFUQ01B1HDC 32 216 15 17 10 5 5 15 1 11 +JY8QFUQ01B1HSY 28 210 18 10 13 5 6 13 2 7 +JY8QFUQ01B1L81 20 210 11 9 5 6 6 8 1 5 +JY8QFUQ01B1N7G 25 219 18 7 9 9 10 7 2 6 +JY8QFUQ01B1RUY 31 213 15 16 8 7 5 16 3 7 +JY8QFUQ01B1TCN 20 210 11 9 8 3 3 8 0 9 +JY8QFUQ01B1UHR 16 213 6 10 2 4 2 7 0 7 +JY8QFUQ01B1UYR 46 213 26 20 13 13 11 21 6 8 +JY8QFUQ01B1W4F 18 213 13 5 7 6 1 6 2 9 +JY8QFUQ01B1X3U 13 213 6 7 4 2 3 4 0 6 +JY8QFUQ01B1Y16 19 213 14 5 12 2 6 5 3 5 +JY8QFUQ01B20H0 3 213 2 1 0 2 0 2 0 1 +JY8QFUQ01B27X3 10 212 2 8 2 0 1 2 0 7 +JY8QFUQ01B2ARX 14 213 5 9 4 1 2 6 2 4 +JY8QFUQ01B2D9Z 13 213 5 8 2 3 3 4 1 5 +JY8QFUQ01B2ERL 26 213 14 12 8 6 4 15 2 5 +JY8QFUQ01B2GU8 15 210 9 6 2 7 4 5 0 6 +JY8QFUQ01B2JOM 13 209 9 4 6 3 3 2 2 6 +JY8QFUQ01B2LDP 20 213 12 8 6 6 5 10 0 5 +JY8QFUQ01B2NHE 17 210 9 8 8 1 5 3 0 9 +JY8QFUQ01B2PNO 19 213 11 8 8 3 2 9 1 7 +JY8QFUQ01B325I 37 216 16 21 6 10 8 17 1 11 +JY8QFUQ01B3AX2 26 213 18 8 11 7 6 10 2 8 +JY8QFUQ01B3AYN 18 213 11 7 8 3 4 6 0 8 +JY8QFUQ01B3G3T 11 212 7 4 4 3 1 1 1 8 +JY8QFUQ01B3HMA 22 215 11 11 7 4 3 8 1 10 +JY8QFUQ01B3IOP 24 219 14 10 8 6 4 9 2 9 +JY8QFUQ01B3JLF 33 216 17 16 11 6 5 16 1 11 +JY8QFUQ01B3L4U 14 213 7 7 3 4 3 7 0 4 +JY8QFUQ01B3OBX 20 219 14 6 8 6 2 9 3 6 +JY8QFUQ01B3P0G 25 212 12 13 8 4 3 10 1 11 +JY8QFUQ01B3S4F 11 213 6 5 2 4 4 2 1 4 +JY8QFUQ01B3TI8 20 213 12 8 6 6 5 10 0 5 +JY8QFUQ01B3TT1 33 213 18 15 12 6 6 17 2 8 +JY8QFUQ01B3XMD 27 213 13 14 5 8 5 13 0 9 +JY8QFUQ01B4CN9 22 216 13 9 10 3 4 10 2 6 +JY8QFUQ01B4F4Q 31 213 16 15 9 7 7 11 2 11 +JY8QFUQ01B4FE6 12 213 9 3 5 4 4 2 2 4 +JY8QFUQ01B4FME 13 213 9 4 5 4 5 3 3 2 +JY8QFUQ01B4L0R 19 213 11 8 7 4 5 5 0 9 +JY8QFUQ01B4VTT 14 213 6 8 4 2 5 1 2 6 +JY8QFUQ01B4X7N 0 213 0 0 0 0 0 0 0 0 +JY8QFUQ01B4XPK 5 216 4 1 1 3 4 0 0 1 +JY8QFUQ01B4Y1N 13 222 7 6 4 3 1 7 0 5 +JY8QFUQ01B50HH 18 213 7 11 5 2 4 7 1 6 +JY8QFUQ01B53SB 41 210 21 20 11 10 5 27 2 7 +JY8QFUQ01B569F 13 213 10 3 7 3 3 3 1 6 +JY8QFUQ01B56F9 21 213 11 10 4 7 1 4 0 16 +JY8QFUQ01B56VC 17 218 11 6 7 4 5 6 1 5 +JY8QFUQ01B58W5 16 213 9 7 5 4 4 4 1 7 +JY8QFUQ01B5F34 24 213 10 14 8 2 6 8 4 6 +JY8QFUQ01B5GFJ 12 213 9 3 4 5 0 4 2 6 +JY8QFUQ01B5QDY 22 213 17 5 11 6 4 9 3 6 +JY8QFUQ01B5SAT 0 212 0 0 0 0 0 0 0 0 +JY8QFUQ01B5VR4 10 213 5 5 3 2 2 2 0 6 +JY8QFUQ01B5XE3 29 215 17 12 11 6 7 15 2 5 +JY8QFUQ01B5XEH 7 145 3 4 2 1 4 2 1 0 +JY8QFUQ01B641M 6 213 3 3 1 2 2 1 1 2 +JY8QFUQ01B64QD 18 209 14 4 10 4 7 8 1 2 +JY8QFUQ01B6832 22 209 7 15 5 2 2 12 2 6 +JY8QFUQ01B68YS 16 213 9 7 6 3 2 7 0 7 +JY8QFUQ01B6BDJ 12 213 9 3 6 3 3 6 0 3 +JY8QFUQ01B6CFI 23 213 13 10 4 9 5 8 4 6 +JY8QFUQ01B6DDX 25 213 16 9 7 9 3 9 2 11 +JY8QFUQ01B6G3Q 36 216 20 16 10 10 5 21 2 8 +JY8QFUQ01B6LHF 28 213 19 9 11 8 4 9 1 14 +JY8QFUQ01B6LVM 23 213 15 8 9 6 5 8 5 5 +JY8QFUQ01B6UYE 15 213 6 9 5 1 4 5 0 6 +JY8QFUQ01B70J3 10 213 5 5 3 2 2 2 0 6 +JY8QFUQ01B71ED 32 213 23 9 13 10 8 13 3 8 +JY8QFUQ01B757D 58 216 28 30 16 12 9 29 1 19 +JY8QFUQ01B791I 14 213 7 7 5 2 3 4 2 5 +JY8QFUQ01B7921 15 213 12 3 6 6 3 4 4 4 +JY8QFUQ01B7B1B 7 213 3 4 2 1 2 2 1 2 +JY8QFUQ01B7DZ7 14 213 5 9 4 1 2 6 2 4 +JY8QFUQ01B7GYB 21 213 14 7 9 5 6 7 1 7 +JY8QFUQ01B7L1I 5 213 2 3 1 1 0 1 0 4 +JY8QFUQ01B7Q12 12 213 8 4 3 5 1 7 0 4 +JY8QFUQ01B7TWW 10 213 4 6 0 4 0 2 2 6 +JY8QFUQ01B7VBT 19 209 10 9 6 4 3 8 0 8 +JY8QFUQ01B7XXQ 22 219 12 10 6 6 4 13 1 4 +JY8QFUQ01B81W4 15 213 10 5 4 6 4 8 0 3 +JY8QFUQ01B84I1 22 216 15 7 6 9 3 10 1 8 +JY8QFUQ01B8ABJ 18 213 11 7 7 4 5 8 1 4 +JY8QFUQ01B8AC6 21 213 11 10 8 3 3 7 2 9 +JY8QFUQ01B8DLI 21 213 15 6 7 8 4 10 2 5 +JY8QFUQ01B8DVS 18 213 12 6 7 5 3 5 0 10 +JY8QFUQ01B8JYP 22 209 14 8 7 7 7 7 1 7 +JY8QFUQ01B8T6Y 21 213 10 11 6 4 3 13 2 3 +JY8QFUQ01B8WF3 15 219 11 4 7 4 4 5 0 6 +JY8QFUQ01B8YQQ 14 213 5 9 3 2 6 4 0 4 +JY8QFUQ01B90UJ 18 212 9 9 4 5 2 12 0 4 +JY8QFUQ01B93WH 12 215 4 8 2 2 2 6 1 3 +JY8QFUQ01B978H 33 213 17 16 13 4 9 10 2 12 +JY8QFUQ01B9C4B 18 210 11 7 8 3 5 5 1 7 +JY8QFUQ01B9DAH 22 216 11 11 6 5 2 14 0 6 +JY8QFUQ01B9L1U 9 216 4 5 1 3 0 5 0 4 +JY8QFUQ01B9LAE 21 212 13 8 9 4 3 9 2 7 +JY8QFUQ01B9LAR 14 212 7 7 3 4 3 7 0 4 +JY8QFUQ01B9NGM 14 219 9 5 3 6 4 6 0 4 +JY8QFUQ01B9QXU 24 209 17 7 12 5 6 12 1 5 +JY8QFUQ01B9RA3 15 212 6 9 2 4 3 4 1 7 +JY8QFUQ01B9S8H 14 213 6 8 3 3 4 4 1 5 +JY8QFUQ01B9TMK 29 216 15 14 10 5 7 10 2 10 +JY8QFUQ01B9UZ4 12 213 8 4 5 3 0 7 4 1 +JY8QFUQ01B9XU2 14 216 10 4 6 4 4 8 0 2 +JY8QFUQ01BAB5T 8 219 4 4 1 3 1 3 0 4 +JY8QFUQ01BACNA 12 212 5 7 2 3 5 4 0 3 +JY8QFUQ01BAGKP 32 216 20 12 11 9 10 12 3 7 +JY8QFUQ01BAGOW 18 222 11 7 5 6 6 7 2 3 +JY8QFUQ01BAKGF 28 216 19 9 12 7 7 14 2 5 +JY8QFUQ01BAR1C 21 213 12 9 6 6 4 9 1 7 +JY8QFUQ01BB73D 39 210 20 19 8 12 5 24 2 8 +JY8QFUQ01BB93X 15 212 11 4 9 2 6 6 1 2 +JY8QFUQ01BB9AK 26 210 15 11 8 7 7 11 4 4 +JY8QFUQ01BBDL1 22 212 13 9 7 6 5 9 3 5 +JY8QFUQ01BBLQU 14 213 9 5 6 3 5 3 1 5 +JY8QFUQ01BBQG8 13 210 9 4 4 5 2 4 1 6 +JY8QFUQ01BBSRC 31 216 18 13 9 9 5 16 3 7 +JY8QFUQ01BBTVQ 20 211 10 10 4 6 2 14 0 4 +JY8QFUQ01BBVFC 31 213 19 12 8 11 4 11 5 11 +JY8QFUQ01BBZEX 22 213 10 12 5 5 4 14 1 3 +JY8QFUQ01BC153 9 211 4 5 3 1 1 4 0 4 +JY8QFUQ01BCH7Y 13 213 5 8 2 3 3 4 1 5 +JY8QFUQ01BCMPS 15 210 9 6 2 7 4 5 0 6 +JY8QFUQ01BCV43 13 213 10 3 7 3 3 3 1 6 +JY8QFUQ01BD04C 13 213 8 5 5 3 3 5 0 5 +JY8QFUQ01BDGDZ 6 216 4 2 2 2 2 2 0 2 +JY8QFUQ01BDIEE 8 210 3 5 2 1 2 6 0 0 +JY8QFUQ01BDNIC 23 213 14 9 4 10 7 9 3 4 +JY8QFUQ01BDPXU 23 216 13 10 8 5 5 10 1 7 +JY8QFUQ01BDTL8 26 211 16 10 7 9 5 10 3 8 +JY8QFUQ01BE0DI 8 213 5 3 2 3 1 4 1 2 +JY8QFUQ01BE108 29 210 21 8 13 8 9 10 1 9 +JY8QFUQ01BE4D2 27 209 15 12 10 5 6 11 0 10 +JY8QFUQ01BE5D4 26 210 12 14 5 7 3 14 0 9 +JY8QFUQ01BE8AK 17 213 12 5 7 5 3 4 5 5 +JY8QFUQ01BEABE 22 213 10 12 5 5 4 14 1 3 +JY8QFUQ01BEJQP 46 216 31 15 16 15 10 18 2 16 +JY8QFUQ01BEQ83 22 213 14 8 8 6 5 10 2 5 +JY8QFUQ01BERKI 21 219 14 7 8 6 6 5 1 9 +JY8QFUQ01BESQ8 13 210 9 4 6 3 3 2 0 8 +JY8QFUQ01BETLC 10 213 8 2 5 3 1 3 1 5 +JY8QFUQ01BEUNL 11 213 5 6 4 1 3 5 0 3 +JY8QFUQ01BF8CL 7 216 6 1 5 1 4 1 1 1 +JY8QFUQ01BF9YK 7 210 5 2 5 0 2 2 2 1 +JY8QFUQ01BFB0Q 25 212 14 11 10 4 7 11 2 5 +JY8QFUQ01BFHSP 28 210 17 11 13 4 2 11 2 13 +JY8QFUQ01BFI4C 11 212 7 4 2 5 1 6 0 4 +JY8QFUQ01BFROD 36 216 23 13 13 10 8 18 2 8 +JY8QFUQ01BFWP5 12 213 9 3 4 5 0 4 2 6 +JY8QFUQ01BFXYS 26 210 17 9 10 7 5 12 3 6 +JY8QFUQ01BFYFA 13 213 6 7 4 2 2 9 0 2 +JY8QFUQ01BFZOR 29 213 18 11 12 6 7 9 2 11 +JY8QFUQ01BG2F7 22 213 13 9 11 2 7 8 2 5 +JY8QFUQ01BG5T6 10 213 4 6 1 3 2 3 0 5 +JY8QFUQ01BG66X 26 213 14 12 10 4 7 11 1 7 +JY8QFUQ01BG922 13 213 3 10 1 2 2 3 1 7 +JY8QFUQ01BGDEX 38 213 20 18 11 9 6 18 1 13 +JY8QFUQ01BGEYK 20 213 11 9 7 4 4 9 3 4 +JY8QFUQ01BGFCA 20 213 12 8 6 6 5 10 0 5 +JY8QFUQ01BGGO2 23 213 11 12 7 4 3 13 1 6 +JY8QFUQ01BGI0O 18 213 7 11 5 2 4 7 1 6 +JY8QFUQ01BGMBI 30 213 13 17 8 5 6 10 2 12 +JY8QFUQ01BGNSE 53 216 27 26 12 15 10 22 2 19 +JY8QFUQ01BGR80 8 212 4 4 1 3 4 2 0 2 +JY8QFUQ01BGUIW 12 213 5 7 2 3 5 3 0 4 +JY8QFUQ01BGVCA 15 213 11 4 7 4 2 6 2 5 +JY8QFUQ01BGY6V 14 216 9 5 6 3 5 5 0 4 +JY8QFUQ01BH03V 23 210 15 8 8 7 4 6 0 13 +JY8QFUQ01BH0GH 25 213 12 13 6 6 6 7 3 9 +JY8QFUQ01BH1QX 26 213 14 12 8 6 4 15 2 5 +JY8QFUQ01BH2A1 16 213 9 7 4 5 6 3 2 5 +JY8QFUQ01BH7NG 13 210 8 5 5 3 3 4 0 6 +JY8QFUQ01BHCZE 33 213 20 13 12 8 8 9 5 11 +JY8QFUQ01BHGDW 18 213 8 10 4 4 1 4 0 13 +JY8QFUQ01BHITL 31 213 13 18 9 4 5 12 3 11 +JY8QFUQ01BHN1C 20 209 11 9 5 6 6 8 1 5 +JY8QFUQ01BI347 28 213 16 12 9 7 7 11 2 8 +JY8QFUQ01BIGLC 9 212 6 3 5 1 1 2 1 5 +JY8QFUQ01BIHI6 8 213 6 2 5 1 1 3 1 3 +JY8QFUQ01BIM6Q 1 213 0 1 0 0 0 0 0 1 +JY8QFUQ01BISS5 37 212 25 12 14 11 10 12 2 13 +JY8QFUQ01BIVV0 18 213 10 8 5 5 5 6 1 6 +JY8QFUQ01BIWEF 12 213 5 7 4 1 2 4 1 5 +JY8QFUQ01BJ4VI 20 213 11 9 5 6 4 9 1 6 +JY8QFUQ01BJN3B 23 210 15 8 9 6 4 10 3 6 +JY8QFUQ01BJPU6 35 213 18 17 9 9 6 19 0 10 +JY8QFUQ01BJT4G 16 213 6 10 4 2 2 8 0 6 +JY8QFUQ01BJUHM 15 213 9 6 5 4 2 8 0 5 +JY8QFUQ01BJURD 13 216 10 3 6 4 2 8 1 2 +JY8QFUQ01BJV9I 21 213 12 9 7 5 5 8 0 8 +JY8QFUQ01BJVZ3 20 213 11 9 5 6 2 14 0 4 +JY8QFUQ01BJWBZ 16 213 10 6 5 5 3 4 0 9 +JY8QFUQ01BJYH6 26 212 20 6 13 7 6 8 3 9 +JY8QFUQ01BKBQY 20 213 15 5 9 6 6 6 1 7 +JY8QFUQ01BKF2J 42 213 28 14 15 13 13 11 2 16 +JY8QFUQ01BKJ53 15 212 6 9 2 4 3 4 1 7 +JY8QFUQ01BKRE0 9 213 5 4 2 3 2 4 3 0 +JY8QFUQ01BKUNY 25 216 13 12 8 5 6 10 1 8 +JY8QFUQ01BKXS7 28 210 16 12 11 5 7 11 0 10 +JY8QFUQ01BL6V1 35 210 21 14 11 10 4 14 0 17 +JY8QFUQ01BLAI9 9 213 7 2 5 2 1 3 0 5 +JY8QFUQ01BLEDM 20 213 9 11 4 5 3 6 0 11 +JY8QFUQ01BLGCA 12 210 5 7 3 2 2 4 2 4 +JY8QFUQ01BLGYX 19 213 10 9 7 3 3 12 0 4 +JY8QFUQ01BLTJO 30 213 14 16 10 4 9 10 3 8 +JY8QFUQ01BLX8G 6 213 3 3 1 2 1 2 0 3 +JY8QFUQ01BM58O 22 213 15 7 6 9 6 6 1 9 +JY8QFUQ01BM6Z0 25 213 15 10 7 8 2 12 1 10 +JY8QFUQ01BM80W 18 213 10 8 5 5 5 6 1 6 +JY8QFUQ01BM96X 17 213 10 7 5 5 4 7 0 6 +JY8QFUQ01BMLGO 30 213 15 15 8 7 2 17 3 8 +JY8QFUQ01BMOB5 10 213 4 6 3 1 4 2 0 4 +JY8QFUQ01BMQ8K 14 213 7 7 2 5 3 6 2 3 +JY8QFUQ01BN0IG 8 213 4 4 3 1 2 2 0 4 +JY8QFUQ01BN1A6 27 213 16 11 5 11 3 11 2 11 +JY8QFUQ01BN76B 26 213 20 6 13 7 3 11 3 9 +JY8QFUQ01BNHM6 13 212 8 5 7 1 3 7 0 3 +JY8QFUQ01BNNYX 11 216 10 1 7 3 3 3 0 5 +JY8QFUQ01BNQ6N 19 210 11 8 7 4 6 4 0 9 +JY8QFUQ01BNS72 20 216 11 9 7 4 5 8 1 6 +JY8QFUQ01BNVKG 33 210 18 15 11 7 7 11 0 15 +JY8QFUQ01BNXKI 20 212 11 9 5 6 2 14 0 4 +JY8QFUQ01BNYDH 14 215 7 7 4 3 4 5 1 4 +JY8QFUQ01BO1TD 24 213 17 7 10 7 3 9 2 10 +JY8QFUQ01BO2JV 13 213 9 4 6 3 4 4 1 4 +JY8QFUQ01BO2V4 28 213 17 11 11 6 5 7 2 14 +JY8QFUQ01BO4ET 12 213 5 7 2 3 5 4 0 3 +JY8QFUQ01BO7P5 30 213 26 4 16 10 11 9 3 7 +JY8QFUQ01BO8WN 30 216 17 13 11 6 7 15 3 5 +JY8QFUQ01BOBY3 22 213 14 8 8 6 7 9 0 6 +JY8QFUQ01BOMV5 21 213 13 8 9 4 3 9 2 7 +JY8QFUQ01BP3RA 13 210 8 5 3 5 2 10 0 1 +JY8QFUQ01BP55P 17 212 11 6 7 4 3 4 5 5 +JY8QFUQ01BPG8K 19 210 10 9 6 4 3 8 0 8 +JY8QFUQ01BPT7N 7 213 3 4 1 2 0 3 1 3 +JY8QFUQ01BQ0GT 26 213 16 10 8 8 6 10 2 8 +JY8QFUQ01BQ3I3 21 213 13 8 8 5 3 10 1 7 +JY8QFUQ01BQ9G8 7 213 3 4 2 1 1 2 0 4 +JY8QFUQ01BQAON 30 213 17 13 9 8 4 10 1 15 +JY8QFUQ01BQCNP 35 216 17 18 11 6 6 18 2 9 +JY8QFUQ01BQERB 24 213 13 11 10 3 5 11 1 7 +JY8QFUQ01BQLNQ 16 213 9 7 7 2 2 5 0 9 +JY8QFUQ01BQMY8 6 213 4 2 3 1 1 3 0 2 +JY8QFUQ01BQQG5 43 213 22 21 10 12 5 23 3 12 +JY8QFUQ01BR1YM 8 213 3 5 2 1 1 0 0 7 +JY8QFUQ01BR9Q4 27 213 20 7 10 10 8 8 0 11 +JY8QFUQ01BRBL7 28 210 16 12 9 7 7 12 4 5 +JY8QFUQ01BREFM 24 213 11 13 8 3 9 7 3 5 +JY8QFUQ01BRF2O 15 213 9 6 4 5 0 4 3 8 +JY8QFUQ01BRIHD 8 213 5 3 2 3 1 2 0 5 +JY8QFUQ01BRQMG 14 222 10 4 4 6 6 3 2 3 +JY8QFUQ01BRZIH 22 213 12 10 8 4 5 6 5 6 +JY8QFUQ01BS2Q3 27 213 10 17 5 5 4 14 2 7 +JY8QFUQ01BS2WD 17 213 7 10 3 4 3 5 0 9 +JY8QFUQ01BSD92 10 213 6 4 1 5 0 7 0 3 +JY8QFUQ01BSDSX 9 213 5 4 5 0 1 4 0 4 +JY8QFUQ01BSGWN 14 213 9 5 2 7 2 4 1 7 +JY8QFUQ01BSOH5 16 212 7 9 3 4 4 8 0 4 +JY8QFUQ01BSRSP 15 210 6 9 4 2 3 9 0 3 +JY8QFUQ01BSZDV 17 213 9 8 4 5 4 7 1 5 +JY8QFUQ01BT5A6 19 213 8 11 4 4 4 11 0 4 +JY8QFUQ01BT5S9 13 216 7 6 5 2 1 4 4 4 +JY8QFUQ01BTAHR 23 213 8 15 6 2 2 15 1 5 +JY8QFUQ01BTCL3 9 213 4 5 3 1 1 2 0 6 +JY8QFUQ01BTIAT 17 213 10 7 5 5 5 9 0 3 +JY8QFUQ01BTOR9 22 219 13 9 8 5 5 6 1 10 +JY8QFUQ01BU31Q 21 213 9 12 7 2 5 8 3 5 +JY8QFUQ01BU3DY 11 213 3 8 1 2 1 6 1 3 +JY8QFUQ01BU5NL 23 210 14 9 10 4 9 7 2 5 +JY8QFUQ01BUAPX 31 213 21 10 9 12 9 10 1 11 +JY8QFUQ01BUG1S 15 213 9 6 7 2 3 9 0 3 +JY8QFUQ01BUJ4F 23 210 14 9 10 4 9 7 2 5 +JY8QFUQ01BUOZE 23 212 9 14 4 5 4 11 0 8 +JY8QFUQ01BV8FF 20 210 9 11 6 3 2 12 2 4 +JY8QFUQ01BVBOA 28 210 16 12 10 6 4 12 1 11 +JY8QFUQ01BVHS5 14 207 5 9 1 4 1 3 0 10 +JY8QFUQ01BVMIC 17 213 10 7 7 3 2 4 0 11 +JY8QFUQ01BVRVR 14 210 8 6 7 1 5 4 0 5 +JY8QFUQ01BWBZS 17 218 12 5 6 6 4 8 2 3 +JY8QFUQ01BWD62 21 210 10 11 6 4 5 12 1 3 +JY8QFUQ01BWIHJ 17 213 12 5 8 4 3 4 5 5 +JY8QFUQ01BX0QN 14 213 10 4 5 5 2 5 1 6 +JY8QFUQ01BX1DY 21 213 11 10 5 6 5 8 1 7 +JY8QFUQ01BX1X7 28 213 14 14 12 2 6 13 2 7 +JY8QFUQ01BX764 18 213 11 7 8 3 3 10 0 5 +JY8QFUQ01BXBPF 17 213 9 8 5 4 3 10 0 4 +JY8QFUQ01BXDPP 25 213 14 11 9 5 7 9 6 3 +JY8QFUQ01BXEXG 17 216 10 7 7 3 2 11 1 3 +JY8QFUQ01BXNFF 15 213 7 8 4 3 2 8 1 4 +JY8QFUQ01BXTDZ 14 210 8 6 6 2 2 4 1 7 +JY8QFUQ01BXZRW 27 213 14 13 8 6 3 13 3 8 +JY8QFUQ01BY0E2 14 213 9 5 5 4 2 7 2 3 +JY8QFUQ01BY2NW 16 213 5 11 2 3 3 4 0 9 +JY8QFUQ01BY2RR 30 213 20 10 11 9 8 9 3 10 +JY8QFUQ01BY3HN 23 213 16 7 8 8 5 12 1 5 +JY8QFUQ01BYDVO 33 213 15 18 7 8 10 12 5 6 +JY8QFUQ01BYFAI 25 213 13 12 7 6 4 7 0 14 +JY8QFUQ01BYGMF 15 213 5 10 3 2 1 3 1 10 +JY8QFUQ01BYOYM 22 213 13 9 9 4 6 4 1 11 +JY8QFUQ01BYP0E 10 213 8 2 5 3 1 3 1 5 +JY8QFUQ01BYRXT 46 213 26 20 13 13 11 21 6 8 +JY8QFUQ01BYXJU 16 213 7 9 3 4 3 9 0 4 +JY8QFUQ01BZEWU 30 213 19 11 14 5 6 13 2 9 +JY8QFUQ01C0J5I 14 213 11 3 2 9 3 4 0 7 +JY8QFUQ01C0LHV 20 213 10 10 5 5 6 9 1 4 +JY8QFUQ01C0T0E 18 213 13 5 8 5 6 10 1 1 +JY8QFUQ01C0V8V 18 212 8 10 5 3 4 6 3 5 +JY8QFUQ01C0YWV 20 219 14 6 8 6 2 9 3 6 +JY8QFUQ01C13EL 16 213 10 6 7 3 6 8 1 1 +JY8QFUQ01C160X 17 216 9 8 4 5 4 9 1 3 +JY8QFUQ01C17HE 29 213 16 13 5 11 4 12 2 11 +JY8QFUQ01C185F 33 219 24 9 14 10 9 10 2 12 +JY8QFUQ01C1QUY 25 213 17 8 12 5 4 12 2 7 +JY8QFUQ01C1UWI 16 213 9 7 7 2 7 6 1 2 +JY8QFUQ01C1WLX 13 213 9 4 2 7 1 8 1 3 +JY8QFUQ01C24ZT 6 213 2 4 1 1 2 1 1 2 +JY8QFUQ01C2553 23 213 16 7 8 8 3 9 2 9 +JY8QFUQ01C26ES 24 209 13 11 7 6 4 12 0 8 +JY8QFUQ01C28D8 14 213 5 9 1 4 4 5 2 3 +JY8QFUQ01C2A2E 18 210 8 10 5 3 4 8 2 4 +JY8QFUQ01C2JVO 16 213 9 7 6 3 2 7 2 5 +JY8QFUQ01C2XG5 15 213 6 9 2 4 1 6 2 6 +JY8QFUQ01C2XX8 23 213 14 9 14 0 6 9 1 7 +JY8QFUQ01C33GJ 18 213 9 9 3 6 5 4 0 9 +JY8QFUQ01C39LJ 16 213 7 9 2 5 2 6 1 7 +JY8QFUQ01C3FR9 20 216 12 8 8 4 3 12 0 5 +JY8QFUQ01C3HIA 19 213 7 12 5 2 4 7 2 6 +JY8QFUQ01C3HRU 25 213 14 11 7 7 3 12 2 8 +JY8QFUQ01C3JTT 17 211 7 10 6 1 4 6 1 6 +JY8QFUQ01C3KAU 24 213 14 10 7 7 3 10 1 10 +JY8QFUQ01C4D0M 16 210 7 9 5 2 6 4 0 6 +JY8QFUQ01C50HS 58 216 28 30 16 12 9 29 1 19 +JY8QFUQ01C5CP6 9 213 6 3 6 0 5 1 0 3 +JY8QFUQ01C5MCI 21 213 9 12 5 4 3 7 0 11 +JY8QFUQ01C6DDZ 17 213 11 6 5 6 1 9 1 6 +JY8QFUQ01C6GOS 18 216 12 6 11 1 6 6 2 4 +JY8QFUQ01C71OC 20 213 11 9 8 3 3 6 2 9 +JY8QFUQ01C73TY 16 216 8 8 3 5 3 6 0 7 +JY8QFUQ01C7540 15 213 8 7 5 3 1 6 2 6 +JY8QFUQ01C7QU9 11 213 8 3 4 4 3 4 0 4 +JY8QFUQ01C7ZZV 19 213 10 9 10 0 6 5 0 8 +JY8QFUQ01C819B 12 213 9 3 6 3 3 6 0 3 +JY8QFUQ01C847F 9 210 3 6 2 1 0 4 0 5 +JY8QFUQ01C8AA1 14 213 8 6 6 2 3 4 0 7 +JY8QFUQ01C8ASE 32 213 16 16 8 8 5 13 2 12 +JY8QFUQ01C8FEX 11 213 6 5 2 4 5 1 1 4 +JY8QFUQ01C8GT7 25 213 14 11 9 5 7 9 6 3 +JY8QFUQ01C8YUG 29 210 14 15 9 5 4 14 4 7 +JY8QFUQ01C9KPR 41 212 25 16 13 12 12 12 3 14 +JY8QFUQ01C9RTB 11 216 9 2 6 3 3 5 0 3 +JY8QFUQ01C9UFU 9 213 5 4 1 4 4 2 0 3 +JY8QFUQ01CA1G6 7 210 3 4 2 1 2 2 0 3 +JY8QFUQ01CA2ZN 12 213 9 3 7 2 2 5 2 3 +JY8QFUQ01CA830 23 213 14 9 6 8 6 6 1 10 +JY8QFUQ01CABXM 24 212 15 9 9 6 6 8 3 7 +JY8QFUQ01CAI7Q 25 216 15 10 4 11 6 11 1 7 +JY8QFUQ01CAN9N 10 213 7 3 2 5 0 6 1 3 +JY8QFUQ01CAR29 8 211 4 4 1 3 4 2 0 2 +JY8QFUQ01CB275 5 215 4 1 1 3 4 0 0 1 +JY8QFUQ01CB2DX 0 219 0 0 0 0 0 0 0 0 +JY8QFUQ01CBC07 47 213 22 25 16 6 10 20 3 14 +JY8QFUQ01CBLRN 20 213 9 11 4 5 3 6 3 8 +JY8QFUQ01CBORW 25 213 17 8 8 9 4 9 4 8 +JY8QFUQ01CBST2 19 213 9 10 7 2 3 6 0 10 +JY8QFUQ01CBUHR 49 216 30 19 22 8 8 20 3 18 +JY8QFUQ01CC9VV 19 213 12 7 8 4 4 7 1 7 +JY8QFUQ01CCN00 15 213 10 5 7 3 4 7 4 0 +JY8QFUQ01CCO0W 21 213 9 12 5 4 3 7 1 10 +JY8QFUQ01CCV7N 32 212 22 10 14 8 8 11 3 10 +JY8QFUQ01CCYR6 24 213 16 8 9 7 4 11 2 7 +JY8QFUQ01CCYZD 21 215 12 9 5 7 3 7 1 10 +JY8QFUQ01CCZ8L 13 212 9 4 4 5 4 3 1 5 +JY8QFUQ01CD8PO 5 215 4 1 1 3 4 0 0 1 +JY8QFUQ01CDA18 30 216 16 14 4 12 5 13 5 7 +JY8QFUQ01CDA2Z 26 213 15 11 10 5 5 12 2 7 +JY8QFUQ01CDCEV 18 209 10 8 6 4 5 7 0 6 +JY8QFUQ01CDHKA 18 213 12 6 7 5 3 5 0 10 +JY8QFUQ01CDYHQ 18 210 10 8 6 4 5 7 0 6 +JY8QFUQ01CE2OJ 31 210 16 15 9 7 9 13 1 8 +JY8QFUQ01CE4MI 0 219 0 0 0 0 0 0 0 0 +JY8QFUQ01CEBF1 14 213 7 7 6 1 3 5 0 6 +JY8QFUQ01CEEUJ 26 213 12 14 7 5 3 9 1 13 +JY8QFUQ01CEH7I 19 213 14 5 6 8 7 6 1 5 +JY8QFUQ01CF2KP 25 213 15 10 11 4 6 8 2 9 +JY8QFUQ01CF6ST 28 213 13 15 5 8 5 13 0 10 +JY8QFUQ01CF885 41 212 25 16 13 12 12 12 3 14 +JY8QFUQ01CGAYM 27 213 14 13 9 5 4 12 4 7 +JY8QFUQ01CGPNS 27 216 15 12 7 8 3 13 2 9 +JY8QFUQ01CGQAI 31 213 13 18 9 4 5 12 3 11 +JY8QFUQ01CGQES 14 213 8 6 5 3 3 3 5 3 +JY8QFUQ01CH326 1 213 0 1 0 0 0 0 0 1 +JY8QFUQ01CH338 12 212 8 4 5 3 2 2 1 7 +JY8QFUQ01CHBJS 21 213 14 7 11 3 0 9 3 9 +JY8QFUQ01CHFYS 42 213 28 14 15 13 13 11 2 16 +JY8QFUQ01CHKDD 14 213 9 5 6 3 2 5 2 5 +JY8QFUQ01CHVJ1 17 212 8 9 7 1 5 5 1 6 +JY8QFUQ01CI12B 3 208 3 0 1 2 0 1 0 2 +JY8QFUQ01CIMAM 17 210 9 8 8 1 5 3 0 9 +JY8QFUQ01CIOY1 13 213 8 5 4 4 4 5 0 4 +JY8QFUQ01CIQUI 9 213 5 4 5 0 1 4 0 4 +JY8QFUQ01CJ5TF 13 213 4 9 3 1 2 3 0 8 +JY8QFUQ01CJ990 8 212 1 7 1 0 0 3 0 5 +JY8QFUQ01CJG1W 31 213 13 18 4 9 3 20 2 6 +JY8QFUQ01CJV6U 29 213 14 15 11 3 5 10 1 13 +JY8QFUQ01CJYGN 15 213 6 9 3 3 1 5 1 8 +JY8QFUQ01CK280 19 216 14 5 6 8 3 9 0 7 +JY8QFUQ01CKFL6 21 213 14 7 8 6 4 8 3 6 +JY8QFUQ01CKI1Y 4 213 2 2 2 0 1 2 0 1 +JY8QFUQ01CKO1P 34 218 23 11 15 8 11 12 3 8 +JY8QFUQ01CKPJN 10 213 6 4 3 3 3 3 2 2 +JY8QFUQ01CKX6X 17 209 8 9 5 3 6 6 0 5 +JY8QFUQ01CL7VE 23 209 10 13 7 3 6 13 1 3 +JY8QFUQ01CLEAH 22 213 13 9 11 2 7 8 2 5 +JY8QFUQ01CLIT1 27 210 15 12 8 7 7 12 4 4 +JY8QFUQ01CLMWX 21 213 8 13 6 2 5 8 3 5 +JY8QFUQ01CLR99 13 210 9 4 6 3 3 2 0 8 +JY8QFUQ01CLXOH 13 213 5 8 1 4 1 6 1 5 +JY8QFUQ01CM33P 14 216 7 7 4 3 4 2 1 7 +JY8QFUQ01CM5UQ 10 213 7 3 4 3 2 3 1 4 +JY8QFUQ01CN7M5 16 213 13 3 11 2 4 3 0 9 +JY8QFUQ01CNEDF 12 213 8 4 5 3 4 3 1 4 +JY8QFUQ01CNH24 15 213 10 5 7 3 4 8 2 1 +JY8QFUQ01CNLWR 31 213 20 11 6 14 5 12 0 14 +JY8QFUQ01CNYY7 28 212 18 10 8 10 6 13 2 7 +JY8QFUQ01CO06K 21 216 14 7 5 9 3 9 1 8 +JY8QFUQ01CO7ZE 21 210 10 11 6 4 5 12 1 3 +JY8QFUQ01COIZ4 8 213 2 6 0 2 0 5 0 3 +JY8QFUQ01COT7A 20 213 10 10 9 1 5 6 0 9 +JY8QFUQ01COULV 22 216 11 11 7 4 3 8 1 10 +JY8QFUQ01CP6A0 12 219 7 5 6 1 4 4 1 3 +JY8QFUQ01CPEX7 29 213 17 12 9 8 7 11 2 9 +JY8QFUQ01CPKFW 24 219 15 9 10 5 7 9 1 7 +JY8QFUQ01CQ2DI 19 213 8 11 5 3 3 6 3 7 +JY8QFUQ01CQFLG 20 216 12 8 8 4 3 12 0 5 +JY8QFUQ01CQHUH 21 213 15 6 11 4 3 8 2 8 +JY8QFUQ01CQKI9 15 213 11 4 7 4 2 6 0 7 +JY8QFUQ01CQOIV 38 213 21 17 10 11 6 21 3 8 +JY8QFUQ01CQRVK 11 212 9 2 4 5 2 4 1 4 +JY8QFUQ01CQSBL 19 210 10 9 6 4 3 8 0 8 +JY8QFUQ01CQWKF 26 212 19 7 10 9 6 13 1 6 +JY8QFUQ01CR76J 33 216 17 16 11 6 5 16 1 11 +JY8QFUQ01CR7U0 27 209 15 12 10 5 6 11 0 10 +JY8QFUQ01CR8IO 35 213 20 15 15 5 9 12 4 10 +JY8QFUQ01CRBJ3 29 216 18 11 7 11 7 7 1 14 +JY8QFUQ01CRNW3 25 213 13 12 9 4 6 8 0 11 +JY8QFUQ01CRPMT 23 213 10 13 5 5 5 8 1 9 +JY8QFUQ01CRXKV 32 216 21 11 13 8 6 12 0 14 +JY8QFUQ01CRXS1 22 210 13 9 10 3 8 8 1 5 +JY8QFUQ01CS8O3 9 210 5 4 3 2 0 5 0 4 +JY8QFUQ01CSGBR 18 212 12 6 8 4 3 4 4 7 +JY8QFUQ01CSVFI 24 210 12 12 8 4 6 7 1 10 +JY8QFUQ01CSWQD 14 213 10 4 5 5 1 7 0 6 +JY8QFUQ01CT0HD 17 211 7 10 6 1 4 6 1 6 +JY8QFUQ01CT3CN 19 212 12 7 6 6 2 8 3 6 +JY8QFUQ01CTI25 9 213 5 4 3 2 0 2 0 7 +JY8QFUQ01CTJ46 29 213 17 12 11 6 6 13 2 8 +JY8QFUQ01CU8BS 15 211 6 9 2 4 3 4 1 7 +JY8QFUQ01CU8RS 13 210 6 7 5 1 2 5 2 4 +JY8QFUQ01CVKGA 14 213 4 10 2 2 2 4 1 7 +JY8QFUQ01CVRND 37 213 15 22 7 8 9 16 2 10 +JY8QFUQ01CVY8N 22 210 15 7 10 5 6 9 2 5 +JY8QFUQ01CW65U 14 213 6 8 4 2 5 1 2 6 +JY8QFUQ01CWEVR 12 213 9 3 3 6 2 3 2 5 +JY8QFUQ01CWPJP 26 216 12 14 7 5 6 9 1 10 +JY8QFUQ01CWQZU 13 213 9 4 8 1 3 5 3 2 +JY8QFUQ01CWYA5 42 210 25 17 13 12 7 26 2 7 +JY8QFUQ01CXAGM 23 213 15 8 11 4 6 6 2 9 +JY8QFUQ01CXD17 28 213 15 13 10 5 4 14 2 8 +JY8QFUQ01CXIGS 30 213 17 13 9 8 4 10 1 15 +JY8QFUQ01CXM4M 13 221 9 4 4 5 6 2 2 3 +JY8QFUQ01CY2HZ 5 213 2 3 1 1 1 1 0 3 +JY8QFUQ01CY3ZT 22 211 13 9 9 4 6 6 1 9 +JY8QFUQ01CYT8I 10 213 2 8 2 0 1 2 0 7 +JY8QFUQ01CYTAI 40 210 25 15 13 12 7 24 2 7 +JY8QFUQ01CYU3K 13 213 10 3 6 4 2 7 2 2 +JY8QFUQ01CYX7E 25 216 15 10 6 9 5 9 3 8 +JY8QFUQ01CZ1IL 17 213 11 6 6 5 5 7 0 5 +JY8QFUQ01CZDE0 30 213 14 16 8 6 10 13 3 4 +JY8QFUQ01CZH0L 16 212 10 6 6 4 4 2 2 8 +JY8QFUQ01DABGE 12 213 7 5 4 3 1 2 1 8 +JY8QFUQ01DARQJ 15 213 10 5 7 3 4 7 4 0 +JY8QFUQ01DDQ8A 15 213 7 8 4 3 4 3 2 6 +JY8QFUQ01DECT5 41 213 21 20 13 8 11 20 2 8 +JY8QFUQ01DEK3I 12 213 4 8 2 2 2 5 1 4 +JY8QFUQ01DEX6Z 22 215 11 11 7 4 3 8 1 10 +JY8QFUQ01DFG5Q 26 210 15 11 8 7 7 11 4 4 +JY8QFUQ01DFJK6 14 213 11 3 2 9 3 4 0 7 +JY8QFUQ01DFMQ1 9 210 5 4 3 2 0 5 0 4 +JY8QFUQ01DFNKY 3 219 2 1 0 2 1 0 0 2 +JY8QFUQ01DFY56 25 213 10 15 5 5 4 11 0 10 +JY8QFUQ01DG3GX 12 213 8 4 7 1 4 3 1 4 +JY8QFUQ01DG853 17 213 11 6 6 5 5 7 0 5 +JY8QFUQ01DGFLY 15 213 9 6 4 5 2 7 1 5 +JY8QFUQ01DGFY7 10 213 7 3 4 3 2 4 0 4 +JY8QFUQ01DH08T 18 210 9 9 7 2 3 6 0 9 +JY8QFUQ01DH0MW 6 213 1 5 0 1 2 1 0 3 +JY8QFUQ01DHC55 25 213 12 13 8 4 3 11 1 10 +JY8QFUQ01DHH0D 16 219 10 6 7 3 2 9 2 3 +JY8QFUQ01DHJ30 5 219 3 2 3 0 2 2 0 1 +JY8QFUQ01DI98R 25 213 20 5 9 11 4 13 1 7 +JY8QFUQ01DIWKI 9 213 5 4 5 0 1 4 0 4 +JY8QFUQ01DJ168 14 212 8 6 3 5 2 6 1 5 +JY8QFUQ01DJCKC 13 213 6 7 4 2 0 8 0 5 +JY8QFUQ01DJQ7I 13 213 9 4 6 3 2 6 1 4 +JY8QFUQ01DJU2K 30 210 13 17 7 6 3 18 1 8 +JY8QFUQ01DKCDX 18 213 12 6 8 4 3 4 4 7 +JY8QFUQ01DKKJ0 32 213 16 16 10 6 5 16 3 8 +JY8QFUQ01DLA1D 5 212 2 3 1 1 0 1 0 4 +JY8QFUQ01DM6TL 23 213 10 13 5 5 5 8 1 9 +JY8QFUQ01DN21P 12 213 9 3 5 4 1 5 2 4 +JY8QFUQ01DNADY 28 213 18 10 8 10 6 12 3 7 +JY8QFUQ01DO347 15 213 3 12 1 2 1 7 1 6 +JY8QFUQ01DP55Y 21 216 10 11 6 4 5 10 2 4 +JY8QFUQ01DP8YH 21 213 16 5 9 7 7 4 2 8 +JY8QFUQ01DPFIO 13 213 7 6 1 6 2 8 0 3 +JY8QFUQ01DQV12 16 213 6 10 4 2 2 8 0 6 +JY8QFUQ01DQVYX 21 213 13 8 7 6 5 4 3 9 +JY8QFUQ01DRFXI 24 215 16 8 10 6 10 4 4 6 +JY8QFUQ01DSBEO 30 213 20 10 8 12 8 10 1 11 +JY8QFUQ01DU1MH 4 210 1 3 0 1 0 3 0 1 +JY8QFUQ01DUKA9 28 213 18 10 8 10 6 12 3 7 +JY8QFUQ01DVTFY 24 213 14 10 7 7 3 10 1 10 +JY8QFUQ01A0JN8 21 213 14 7 8 6 4 8 3 6 +JY8QFUQ01A0KG1 13 213 6 7 3 3 3 5 2 3 +JY8QFUQ01A0XAA 23 210 15 8 8 7 4 6 0 13 +JY8QFUQ01A1201 10 213 7 3 4 3 2 4 0 4 +JY8QFUQ01A1J69 14 213 8 6 2 6 3 4 2 5 +JY8QFUQ01A2Y02 31 216 18 13 8 10 7 9 1 14 +JY8QFUQ01A2ZKE 27 213 17 10 8 9 5 10 2 10 +JY8QFUQ01A36OR 10 213 4 6 2 2 1 1 0 8 +JY8QFUQ01A3PZ4 16 213 10 6 6 4 3 3 2 8 +JY8QFUQ01A3U1I 12 213 6 6 5 1 2 5 1 4 +JY8QFUQ01A4H9C 21 213 12 9 4 8 1 7 1 12 +JY8QFUQ01A55QU 29 210 14 15 9 5 4 14 4 7 +JY8QFUQ01A56OJ 11 213 6 5 2 4 4 2 1 4 +JY8QFUQ01A5K3B 15 213 7 8 5 2 2 6 3 4 +JY8QFUQ01A6DSA 34 210 21 13 10 11 8 13 0 13 +JY8QFUQ01A6FSC 19 213 12 7 6 6 5 7 0 7 +JY8QFUQ01A6GAE 30 213 15 15 8 7 6 14 3 7 +JY8QFUQ01A72DW 20 213 10 10 5 5 5 8 0 7 +JY8QFUQ01A75AZ 9 213 5 4 1 4 4 2 0 3 +JY8QFUQ01A7UAO 25 213 12 13 8 4 3 11 1 10 +JY8QFUQ01A9CSP 35 213 23 12 14 9 10 14 4 7 +JY8QFUQ01A9KBS 19 216 14 5 6 8 3 9 0 7 +JY8QFUQ01A9XMX 5 219 3 2 3 0 2 2 0 1 +JY8QFUQ01AAWJ6 10 213 4 6 0 4 0 2 2 6 +JY8QFUQ01AB8R5 13 213 9 4 6 3 2 2 0 9 +JY8QFUQ01ABJSU 15 213 11 4 7 4 2 6 2 5 +JY8QFUQ01ACF7S 14 213 5 9 2 3 0 8 1 5 +JY8QFUQ01ACGK8 12 213 8 4 7 1 4 3 1 4 +JY8QFUQ01ACMHQ 18 213 10 8 6 4 4 5 1 8 +JY8QFUQ01AD6VN 14 213 7 7 5 2 5 4 0 5 +JY8QFUQ01ADNPS 14 213 10 4 5 5 1 7 0 6 +JY8QFUQ01ADX4W 5 213 2 3 1 1 1 1 0 3 +JY8QFUQ01AEXEP 16 212 10 6 6 4 4 2 2 8 +JY8QFUQ01AFU74 17 210 9 8 8 1 5 3 0 9 +JY8QFUQ01AG0BX 14 213 6 8 3 3 3 6 0 5 +JY8QFUQ01AGTXI 18 213 10 8 5 5 5 6 1 6 +JY8QFUQ01AHQN6 35 216 14 21 8 6 5 11 3 16 +JY8QFUQ01AIE5M 0 213 0 0 0 0 0 0 0 0 +JY8QFUQ01AIYO5 14 213 7 7 2 5 3 6 2 3 +JY8QFUQ01AJFOA 23 213 14 9 9 5 6 7 1 9 +JY8QFUQ01AJTH3 16 216 12 4 6 6 5 8 0 3 +JY8QFUQ01AMBVG 29 213 20 9 14 6 5 6 0 18 +JY8QFUQ01AMG29 14 213 11 3 2 9 3 4 0 7 +JY8QFUQ01AMV93 15 213 6 9 3 3 4 6 0 5 +JY8QFUQ01ANFJ6 15 210 9 6 2 7 4 5 0 6 +JY8QFUQ01ANN07 24 209 13 11 7 6 4 12 0 8 +JY8QFUQ01ANOBA 43 210 29 14 14 15 7 25 1 10 +JY8QFUQ01ANT01 19 212 11 8 6 5 5 7 1 6 +JY8QFUQ01ANU9C 9 213 5 4 1 4 4 2 0 3 +JY8QFUQ01AP4OP 16 213 9 7 5 4 0 7 4 5 +JY8QFUQ01APLX8 25 213 12 13 6 6 6 7 3 9 +JY8QFUQ01APOB5 20 210 9 11 6 3 5 5 1 9 +JY8QFUQ01APXHX 14 213 9 5 7 2 7 3 1 3 +JY8QFUQ01AQ36T 12 213 7 5 3 4 2 4 0 6 +JY8QFUQ01AQ6RF 14 213 5 9 3 2 6 4 0 4 +JY8QFUQ01AQQ9J 15 213 3 12 1 2 1 7 1 6 +JY8QFUQ01AR5SV 14 213 8 6 3 5 2 6 1 5 +JY8QFUQ01ARLVF 27 213 13 14 5 8 5 13 0 9 +JY8QFUQ01ARS0N 20 213 12 8 6 6 2 9 3 6 +JY8QFUQ01AT43H 22 211 13 9 9 4 6 6 1 9 +JY8QFUQ01AT8N2 21 213 13 8 9 4 3 9 2 7 +JY8QFUQ01ATKPT 24 213 13 11 7 6 4 7 1 12 +JY8QFUQ01AU2BA 13 213 4 9 3 1 2 3 0 8 +JY8QFUQ01AUBMD 13 213 5 8 3 2 1 6 1 5 +JY8QFUQ01AVBV0 23 209 8 15 5 3 2 13 2 6 +JY8QFUQ01AVKTX 22 213 16 6 10 6 6 6 1 9 +JY8QFUQ01AW6B3 14 213 6 8 4 2 1 5 1 7 +JY8QFUQ01AWTQR 20 216 11 9 7 4 5 8 1 6 +JY8QFUQ01AY4JM 13 210 6 7 5 1 2 5 2 4 +JY8QFUQ01B0222 31 210 16 15 9 7 9 13 1 8 +JY8QFUQ01B19RC 10 213 6 4 3 3 3 2 1 4 +JY8QFUQ01B1HC5 15 213 10 5 4 6 4 8 0 3 +JY8QFUQ01B1QV9 33 213 19 14 11 8 7 13 3 10 +JY8QFUQ01B1S6W 15 210 6 9 4 2 3 9 0 3 +JY8QFUQ01B2ACS 8 213 6 2 2 4 2 3 1 2 +JY8QFUQ01B2E25 12 212 5 7 2 3 5 4 0 3 +JY8QFUQ01B2GL4 22 216 15 7 6 9 3 10 1 8 +JY8QFUQ01B2XE6 29 213 17 12 9 8 7 11 2 9 +JY8QFUQ01B2XKD 22 213 13 9 8 5 6 7 2 7 +JY8QFUQ01B37IT 25 213 18 7 8 10 6 8 0 11 +JY8QFUQ01B5KCJ 33 213 15 18 7 8 10 12 5 6 +JY8QFUQ01B5XDW 15 213 8 7 5 3 1 6 2 6 +JY8QFUQ01B5ZV4 16 216 12 4 8 4 7 4 0 5 +JY8QFUQ01B6IHX 25 213 14 11 9 5 7 9 6 3 +JY8QFUQ01B8YFN 22 213 10 12 5 5 4 14 1 3 +JY8QFUQ01B9KF0 31 213 13 18 9 4 5 12 3 11 +JY8QFUQ01BAG1V 27 213 16 11 12 4 7 15 1 4 +JY8QFUQ01BANLS 29 210 21 8 13 8 9 10 1 9 +JY8QFUQ01BAR2U 23 213 16 7 8 8 3 9 2 9 +JY8QFUQ01BBGFU 15 213 6 9 5 1 4 5 0 6 +JY8QFUQ01BCZ6T 18 210 9 9 7 2 3 6 0 9 +JY8QFUQ01BDHSG 12 213 7 5 5 2 4 4 0 4 +JY8QFUQ01BF6IL 10 213 7 3 3 4 2 3 0 5 +JY8QFUQ01BG2KZ 17 213 10 7 3 7 0 9 2 6 +JY8QFUQ01BG9LH 19 213 15 4 8 7 4 7 1 7 +JY8QFUQ01BGU0C 20 210 11 9 8 3 3 8 0 9 +JY8QFUQ01BHYPA 9 213 6 3 3 3 1 4 1 3 +JY8QFUQ01BJC1Y 8 213 5 3 2 3 1 2 0 5 +JY8QFUQ01BKLR9 20 213 8 12 6 2 5 4 5 6 +JY8QFUQ01BLF36 38 213 21 17 10 11 6 21 3 8 +JY8QFUQ01BLJYE 35 213 18 17 9 9 6 19 0 10 +JY8QFUQ01BLLRQ 12 213 9 3 3 6 2 3 2 5 +JY8QFUQ01BM2SX 26 213 19 7 10 9 6 13 1 6 +JY8QFUQ01BM631 10 213 7 3 2 5 0 6 1 3 +JY8QFUQ01BMPYC 19 213 12 7 9 3 4 10 0 5 +JY8QFUQ01BMULR 13 213 10 3 7 3 3 3 1 6 +JY8QFUQ01BNJBB 27 210 15 12 8 7 7 12 4 4 +JY8QFUQ01BNJGF 28 213 18 10 13 5 6 13 2 7 +JY8QFUQ01BP3M1 14 213 10 4 6 4 2 5 2 5 +JY8QFUQ01BPT8C 16 216 8 8 3 5 3 6 0 7 +JY8QFUQ01BPXZS 31 216 19 12 12 7 7 14 5 5 +JY8QFUQ01BR9V1 8 213 4 4 2 2 1 4 1 2 +JY8QFUQ01BRGSI 9 213 7 2 2 5 2 3 0 4 +JY8QFUQ01BRNFF 17 213 12 5 9 3 6 7 2 2 +JY8QFUQ01BSGO4 11 213 5 6 4 1 1 4 0 6 +JY8QFUQ01BT0O2 19 213 12 7 8 4 4 7 1 7 +JY8QFUQ01BT4AX 11 213 8 3 5 3 2 5 0 4 +JY8QFUQ01BT86M 10 213 7 3 4 3 2 3 1 4 +JY8QFUQ01BTQAH 26 213 12 14 7 5 3 9 1 13 +JY8QFUQ01BURMR 36 213 21 15 7 14 5 18 3 10 +JY8QFUQ01BV9YG 22 213 13 9 5 8 5 6 1 10 +JY8QFUQ01BW9QL 9 213 6 3 5 1 1 2 1 5 +JY8QFUQ01BWI2D 29 213 17 12 11 6 6 13 2 8 +JY8QFUQ01BXYLF 15 213 9 6 7 2 3 9 0 3 +JY8QFUQ01BY231 19 216 11 8 7 4 3 11 0 5 +JY8QFUQ01BYGN8 20 213 13 7 8 5 5 8 2 5 +JY8QFUQ01C2NGE 15 210 10 5 3 7 6 4 1 4 +JY8QFUQ01C2ROO 7 213 3 4 2 1 2 2 1 2 +JY8QFUQ01C3QHH 13 213 8 5 4 4 2 6 1 4 +JY8QFUQ01C4MHW 11 213 5 6 4 1 3 5 0 3 +JY8QFUQ01C5Q2O 16 213 5 11 2 3 3 4 0 9 +JY8QFUQ01C8QWZ 11 213 4 7 3 1 0 4 1 6 +JY8QFUQ01C92F8 13 222 9 4 5 4 2 6 0 5 +JY8QFUQ01C966Y 10 213 4 6 1 3 2 3 0 5 +JY8QFUQ01C98A9 11 213 8 3 6 2 3 3 1 4 +JY8QFUQ01CANL1 20 213 13 7 7 6 4 5 0 11 +JY8QFUQ01CD8ZK 30 213 20 10 8 12 8 10 1 11 +JY8QFUQ01CD9VK 15 213 9 6 7 2 2 4 0 9 +JY8QFUQ01CDZ5R 23 212 16 7 8 8 5 12 2 4 +JY8QFUQ01CE8P9 18 213 13 5 8 5 6 10 1 1 +JY8QFUQ01CF06T 12 213 8 4 5 3 4 3 1 4 +JY8QFUQ01CG8U2 18 210 11 7 8 3 5 5 1 7 +JY8QFUQ01CGLTX 15 219 9 6 7 2 1 9 1 4 +JY8QFUQ01CGQFF 21 213 13 8 8 5 4 7 2 8 +JY8QFUQ01CHDDF 23 219 11 12 8 3 4 9 1 9 +JY8QFUQ01CHKLB 8 213 5 3 2 3 1 4 1 2 +JY8QFUQ01CHW93 13 213 7 6 5 2 3 4 2 4 +JY8QFUQ01CII5W 30 210 15 15 3 12 6 11 1 12 +JY8QFUQ01CINZT 5 213 2 3 0 2 0 1 1 3 +JY8QFUQ01CJLXK 22 213 12 10 9 3 6 9 0 7 +JY8QFUQ01CJT9B 31 213 18 13 10 8 5 16 3 7 +JY8QFUQ01CK1VY 28 216 19 9 12 7 7 14 2 5 +JY8QFUQ01CKN3U 25 213 17 8 8 9 4 9 4 8 +JY8QFUQ01CLP4K 14 213 7 7 5 2 5 4 0 5 +JY8QFUQ01CNCW4 10 213 5 5 3 2 2 2 0 6 +JY8QFUQ01CO019 16 213 10 6 5 5 5 5 0 6 +JY8QFUQ01CPVUP 25 213 11 14 8 3 6 10 2 7 +JY8QFUQ01CPYJ0 14 213 7 7 6 1 3 5 0 6 +JY8QFUQ01CQH14 14 213 11 3 8 3 2 5 2 5 +JY8QFUQ01CST8T 17 213 10 7 6 4 2 4 1 10 +JY8QFUQ01CU1XI 17 209 8 9 5 3 6 6 0 5 +JY8QFUQ01CU5CB 20 213 13 7 9 4 5 7 2 6 +JY8QFUQ01CUGFD 30 213 13 17 8 5 6 10 2 12 +JY8QFUQ01CURPS 32 213 20 12 16 4 7 17 3 5 +JY8QFUQ01CY2WW 12 213 6 6 2 4 3 5 0 4 +JY8QFUQ01CY6MC 16 213 9 7 6 3 2 7 0 7 +JY8QFUQ01CYWC2 12 213 7 5 4 3 1 3 2 6 +JY8QFUQ01DA9FW 13 213 9 4 6 3 3 6 2 2 +JY8QFUQ01DA9S4 0 216 0 0 0 0 0 0 0 0 +JY8QFUQ01DC4QI 21 213 12 9 7 5 5 9 2 5 +JY8QFUQ01DC8OC 26 210 11 15 4 7 4 13 0 9 +JY8QFUQ01DCPGQ 19 213 14 5 6 8 7 6 1 5 +JY8QFUQ01DEKWC 17 213 6 11 5 1 2 8 1 6 +JY8QFUQ01DG2P7 11 211 4 7 3 1 0 4 1 6 +JY8QFUQ01DG5KX 21 210 11 10 8 3 6 5 4 6 +JY8QFUQ01DG6GC 15 213 6 9 2 4 1 6 2 6 +JY8QFUQ01DHXHT 20 216 10 10 4 6 2 10 2 6 +JY8QFUQ01DI39D 8 213 4 4 3 1 2 2 0 4 +JY8QFUQ01DIBNC 0 216 0 0 0 0 0 0 0 0 +JY8QFUQ01DJFIZ 43 213 23 20 12 11 8 15 5 15 +JY8QFUQ01DLDLD 7 213 4 3 2 2 1 3 0 3 +JY8QFUQ01DMF0A 53 216 27 26 12 15 10 22 2 19 +JY8QFUQ01DOVL5 15 213 10 5 6 4 1 4 2 8 +JY8QFUQ01DPT8R 8 212 4 4 1 3 4 2 0 2 +JY8QFUQ01DUD3U 29 213 18 11 12 6 7 9 2 11 +JY8QFUQ01DV4HU 22 213 14 8 8 6 5 10 2 5 +JY8QFUQ01DV8LF 6 213 1 5 0 1 2 1 0 3 +JY8QFUQ01DVBU0 15 212 6 9 2 4 3 4 1 7 +JY8QFUQ01DXDOM 36 210 22 14 12 10 7 12 0 17
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/validation_data/relative_mutations.txt Wed Sep 15 12:24:06 2021 +0000 @@ -0,0 +1,37 @@ +Class Type value +IGA A/T 42.7 +IGA1 A/T 42.3 +IGA2 A/T 43.6 +IGG A/T 43.9 +IGG1 A/T 43.7 +IGG2 A/T 43.6 +IGG3 A/T 47.9 +IGG4 A/T 46.2 +IGM A/T 0 +IGE A/T 0 +un A/T 43.5 +all A/T 43.1 +IGA G/C transitions 33 +IGA1 G/C transitions 33.6 +IGA2 G/C transitions 31.7 +IGG G/C transitions 31.4 +IGG1 G/C transitions 31.6 +IGG2 G/C transitions 31.9 +IGG3 G/C transitions 28.9 +IGG4 G/C transitions 27.2 +IGM G/C transitions 0 +IGE G/C transitions 0 +un G/C transitions 31.9 +all G/C transitions 32.5 +IGA G/C transversions 24.3 +IGA1 G/C transversions 24.1 +IGA2 G/C transversions 24.7 +IGG G/C transversions 24.7 +IGG1 G/C transversions 24.7 +IGG2 G/C transversions 24.6 +IGG3 G/C transversions 23.2 +IGG4 G/C transversions 26.6 +IGM G/C transversions 0 +IGE G/C transversions 0 +un G/C transversions 24.6 +all G/C transversions 24.4
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/validation_data/scatter.txt Wed Sep 15 12:24:06 2021 +0000 @@ -0,0 +1,1388 @@ +Sequence.ID best_match VRegionMutations VRegionNucleotides percentage_mutations +JY8QFUQ01A0005 IGG1 18 216 8.33 +JY8QFUQ01A004N IGG1 20 216 9.26 +JY8QFUQ01A006G IGG1 32 216 14.81 +JY8QFUQ01A018V IGA1 31 216 14.35 +JY8QFUQ01A019O IGG1 19 213 8.92 +JY8QFUQ01A01KX IGG1 29 213 13.62 +JY8QFUQ01A0207 IGG2 16 213 7.51 +JY8QFUQ01A02HL IGA1 13 213 6.1 +JY8QFUQ01A02KS IGA2 14 213 6.57 +JY8QFUQ01A02XZ IGG1 10 213 4.69 +JY8QFUQ01A03E3 IGA2 21 213 9.86 +JY8QFUQ01A03N6 IGG1 39 213 18.31 +JY8QFUQ01A08XO IGG1 0 216 0 +JY8QFUQ01A0939 IGA2 15 222 6.76 +JY8QFUQ01A09OY IGA2 12 213 5.63 +JY8QFUQ01A0C2Y IGG1 18 213 8.45 +JY8QFUQ01A0C33 IGG1 13 213 6.1 +JY8QFUQ01A0C4X IGG1 13 213 6.1 +JY8QFUQ01A0D2K IGG4 10 213 4.69 +JY8QFUQ01A0D5E IGA1 28 212 13.21 +JY8QFUQ01A0DA8 IGA1 23 213 10.8 +JY8QFUQ01A0DCS IGG1 22 213 10.33 +JY8QFUQ01A0EF3 IGA1 12 213 5.63 +JY8QFUQ01A0ESJ IGA1 17 213 7.98 +JY8QFUQ01A0FII IGA1 26 213 12.21 +JY8QFUQ01A0FO5 IGA2 11 213 5.16 +JY8QFUQ01A0GVR IGG1 24 216 11.11 +JY8QFUQ01A0GVY IGA1 30 213 14.08 +JY8QFUQ01A0HBK IGA1 0 213 0 +JY8QFUQ01A0IZI IGG1 18 213 8.45 +JY8QFUQ01A0LAJ IGA1 29 219 13.24 +JY8QFUQ01A0LBC IGA1 31 213 14.55 +JY8QFUQ01A0LEW IGA2 9 213 4.23 +JY8QFUQ01A0LZ5 IGA1 20 213 9.39 +JY8QFUQ01A0N2E IGM 0 213 0 +JY8QFUQ01A0N8H IGA1 13 222 5.86 +JY8QFUQ01A0OC8 IGA2 12 212 5.66 +JY8QFUQ01A0OMH IGA1 26 213 12.21 +JY8QFUQ01A0OTP IGG1 15 209 7.18 +JY8QFUQ01A0QXW IGG1 0 210 0 +JY8QFUQ01A0RJS IGG1 17 212 8.02 +JY8QFUQ01A0S1H IGA1 16 213 7.51 +JY8QFUQ01A0TAV IGG2 12 213 5.63 +JY8QFUQ01A0TNI IGG1 24 213 11.27 +JY8QFUQ01A0UZS IGA1 20 213 9.39 +JY8QFUQ01A0VIE IGA1 23 213 10.8 +JY8QFUQ01A0WDV IGG2 18 210 8.57 +JY8QFUQ01A0WZB IGA1 34 210 16.19 +JY8QFUQ01A0X8W IGG1 10 213 4.69 +JY8QFUQ01A0XE3 IGG1 27 211 12.8 +JY8QFUQ01A0Z64 IGA2 9 213 4.23 +JY8QFUQ01A0ZW5 IGG4 27 216 12.5 +JY8QFUQ01A0ZX6 IGG1 12 213 5.63 +JY8QFUQ01A110D IGA1 14 213 6.57 +JY8QFUQ01A12BY IGG1 14 213 6.57 +JY8QFUQ01A12KV IGG1 29 213 13.62 +JY8QFUQ01A12V0 IGA1 28 213 13.15 +JY8QFUQ01A14EE IGA1 30 213 14.08 +JY8QFUQ01A152R IGA1 19 213 8.92 +JY8QFUQ01A15L6 IGA1 31 215 14.42 +JY8QFUQ01A15SR IGA1 48 216 22.22 +JY8QFUQ01A16XV IGG1 0 213 0 +JY8QFUQ01A17D9 IGA1 17 213 7.98 +JY8QFUQ01A17TV IGG2 14 210 6.67 +JY8QFUQ01A18L5 IGA1 12 213 5.63 +JY8QFUQ01A1963 IGA2 12 212 5.66 +JY8QFUQ01A1ALH IGA1 22 216 10.19 +JY8QFUQ01A1AYP IGG2 14 213 6.57 +JY8QFUQ01A1BK7 IGA1 14 213 6.57 +JY8QFUQ01A1BT3 IGA2 24 210 11.43 +JY8QFUQ01A1CLZ IGG1 18 216 8.33 +JY8QFUQ01A1CTT IGG1 15 213 7.04 +JY8QFUQ01A1DJR IGG1 14 213 6.57 +JY8QFUQ01A1DVA IGG2 35 213 16.43 +JY8QFUQ01A1E6T IGA2 14 213 6.57 +JY8QFUQ01A1GYW IGG1 41 210 19.52 +JY8QFUQ01A1GZY IGG2 26 212 12.26 +JY8QFUQ01A1ISV IGG1 11 213 5.16 +JY8QFUQ01A1IV8 IGG4 24 209 11.48 +JY8QFUQ01A1IYG IGG1 13 210 6.19 +JY8QFUQ01A1K37 IGG1 9 213 4.23 +JY8QFUQ01A1KQO IGA2 20 213 9.39 +JY8QFUQ01A1L2W IGA1 12 213 5.63 +JY8QFUQ01A1LNA IGA2 14 213 6.57 +JY8QFUQ01A1MBV IGA1 21 213 9.86 +JY8QFUQ01A1MJG IGA1 17 210 8.1 +JY8QFUQ01A1MJU IGG4 16 213 7.51 +JY8QFUQ01A1OLP IGA1 38 213 17.84 +JY8QFUQ01A1PLD IGA1 20 213 9.39 +JY8QFUQ01A1Q3N IGA1 32 213 15.02 +JY8QFUQ01A1QLN IGG1 11 209 5.26 +JY8QFUQ01A1R7K IGA1 26 212 12.26 +JY8QFUQ01A1RAE IGA1 16 213 7.51 +JY8QFUQ01A1SIW IGG1 14 213 6.57 +JY8QFUQ01A1U7S IGG1 43 213 20.19 +JY8QFUQ01A1U87 IGA2 13 213 6.1 +JY8QFUQ01A1UND IGG1 19 210 9.05 +JY8QFUQ01A1UXL IGA2 20 213 9.39 +JY8QFUQ01A1UXZ IGG1 34 210 16.19 +JY8QFUQ01A1W6G IGG1 15 216 6.94 +JY8QFUQ01A1WCP IGA2 22 213 10.33 +JY8QFUQ01A1X35 IGA1 21 216 9.72 +JY8QFUQ01A1X52 IGA1 10 213 4.69 +JY8QFUQ01A1Y2H IGA1 16 213 7.51 +JY8QFUQ01A1YN6 IGA1 6 213 2.82 +JY8QFUQ01A1Z5H IGA2 13 213 6.1 +JY8QFUQ01A23OB IGG2 16 213 7.51 +JY8QFUQ01A23UZ IGG2 28 210 13.33 +JY8QFUQ01A26C2 IGG1 13 213 6.1 +JY8QFUQ01A26DA IGA1 38 219 17.35 +JY8QFUQ01A27H2 IGA2 17 213 7.98 +JY8QFUQ01A27QT IGA1 29 210 13.81 +JY8QFUQ01A287O IGG1 11 210 5.24 +JY8QFUQ01A29EP IGG2 0 213 0 +JY8QFUQ01A2AEH IGA1 20 213 9.39 +JY8QFUQ01A2ANY IGA1 29 213 13.62 +JY8QFUQ01A2AVP IGA2 9 213 4.23 +JY8QFUQ01A2B2A IGG1 3 210 1.43 +JY8QFUQ01A2BDN IGG2 13 213 6.1 +JY8QFUQ01A2CO4 IGA1 5 213 2.35 +JY8QFUQ01A2ECA IGA1 38 219 17.35 +JY8QFUQ01A2EKG IGG4 22 213 10.33 +JY8QFUQ01A2FAU IGG1 12 219 5.48 +JY8QFUQ01A2FHS IGG1 0 216 0 +JY8QFUQ01A2FU8 IGA1 28 216 12.96 +JY8QFUQ01A2G8U IGG1 39 209 18.66 +JY8QFUQ01A2JAS IGA1 46 212 21.7 +JY8QFUQ01A2MSQ IGA2 17 213 7.98 +JY8QFUQ01A2PDE IGG1 37 213 17.37 +JY8QFUQ01A2Q7N IGG1 41 213 19.25 +JY8QFUQ01A2QEG IGA1 23 213 10.8 +JY8QFUQ01A2S2S IGA1 15 213 7.04 +JY8QFUQ01A2WHC IGA1 13 210 6.19 +JY8QFUQ01A2XE9 IGA2 16 213 7.51 +JY8QFUQ01A2YCO IGA1 18 213 8.45 +JY8QFUQ01A2YPP IGA1 20 213 9.39 +JY8QFUQ01A2YVQ IGG1 43 213 20.19 +JY8QFUQ01A2ZLE IGG1 22 213 10.33 +JY8QFUQ01A30CD IGG2 31 213 14.55 +JY8QFUQ01A312M IGA2 5 213 2.35 +JY8QFUQ01A313A IGG2 18 213 8.45 +JY8QFUQ01A33TY IGG2 13 216 6.02 +JY8QFUQ01A33U2 IGG1 22 216 10.19 +JY8QFUQ01A33ZY IGA1 23 213 10.8 +JY8QFUQ01A3552 IGA1 29 213 13.62 +JY8QFUQ01A35C3 IGA1 40 210 19.05 +JY8QFUQ01A35F3 IGA1 14 213 6.57 +JY8QFUQ01A35NF IGA1 24 216 11.11 +JY8QFUQ01A365U IGA2 18 213 8.45 +JY8QFUQ01A36CM IGG2 40 213 18.78 +JY8QFUQ01A39KY IGA1 15 213 7.04 +JY8QFUQ01A3A5F IGA1 25 213 11.74 +JY8QFUQ01A3BD5 IGG1 15 210 7.14 +JY8QFUQ01A3C67 IGA1 10 213 4.69 +JY8QFUQ01A3DG1 IGA1 20 213 9.39 +JY8QFUQ01A3EUV IGG1 20 213 9.39 +JY8QFUQ01A3F5T IGA1 19 213 8.92 +JY8QFUQ01A3H9O IGG1 15 213 7.04 +JY8QFUQ01A3HCE IGA1 28 213 13.15 +JY8QFUQ01A3I1N IGA2 14 213 6.57 +JY8QFUQ01A3I5W IGG2 9 213 4.23 +JY8QFUQ01A3IIQ IGA1 14 213 6.57 +JY8QFUQ01A3IMB IGG1 18 213 8.45 +JY8QFUQ01A3IWM IGG2 9 212 4.25 +JY8QFUQ01A3KYL IGA2 11 213 5.16 +JY8QFUQ01A3MV4 IGA1 13 213 6.1 +JY8QFUQ01A3NLN IGA1 9 212 4.25 +JY8QFUQ01A3OS9 IGA1 29 216 13.43 +JY8QFUQ01A3QD4 IGG1 2 210 0.95 +JY8QFUQ01A3QEB IGA1 17 213 7.98 +JY8QFUQ01A3QNJ IGA1 28 210 13.33 +JY8QFUQ01A3R6Q IGA2 5 222 2.25 +JY8QFUQ01A3SN3 IGA2 14 213 6.57 +JY8QFUQ01A3V0Z IGG2 20 213 9.39 +JY8QFUQ01A3VGZ IGG1 16 211 7.58 +JY8QFUQ01A3VOS IGG1 13 213 6.1 +JY8QFUQ01A3W9F IGA1 22 210 10.48 +JY8QFUQ01A3YON IGG1 8 213 3.76 +JY8QFUQ01A3ZB9 IGA1 14 213 6.57 +JY8QFUQ01A3ZD4 IGA1 19 201 9.45 +JY8QFUQ01A44PN IGG1 3 216 1.39 +JY8QFUQ01A453G IGA1 23 213 10.8 +JY8QFUQ01A45ND IGA1 7 213 3.29 +JY8QFUQ01A465M IGG1 28 213 13.15 +JY8QFUQ01A476X IGA1 15 213 7.04 +JY8QFUQ01A47U3 IGA2 5 213 2.35 +JY8QFUQ01A481H IGG2 14 213 6.57 +JY8QFUQ01A48DI IGA2 16 213 7.51 +JY8QFUQ01A4AB0 IGG4 12 213 5.63 +JY8QFUQ01A4BI4 IGA1 14 213 6.57 +JY8QFUQ01A4C55 IGG1 28 210 13.33 +JY8QFUQ01A4D0Z IGA2 11 213 5.16 +JY8QFUQ01A4E73 IGA2 20 213 9.39 +JY8QFUQ01A4ENF IGA2 25 213 11.74 +JY8QFUQ01A4HOH IGG1 0 213 0 +JY8QFUQ01A4HT0 IGG1 14 211 6.64 +JY8QFUQ01A4I3A IGG1 14 213 6.57 +JY8QFUQ01A4IGN IGG2 14 213 6.57 +JY8QFUQ01A4IHW IGA1 24 219 10.96 +JY8QFUQ01A4J2Q IGA1 21 210 10 +JY8QFUQ01A4JI5 IGG1 24 213 11.27 +JY8QFUQ01A4KIH IGG1 13 213 6.1 +JY8QFUQ01A4KIW IGA2 31 213 14.55 +JY8QFUQ01A4LR9 IGG3 12 215 5.58 +JY8QFUQ01A4LRG IGA2 15 213 7.04 +JY8QFUQ01A4LRU IGG2 25 213 11.74 +JY8QFUQ01A4MB9 IGG1 35 216 16.2 +JY8QFUQ01A4MZ9 IGA1 25 213 11.74 +JY8QFUQ01A4NWM IGG2 17 213 7.98 +JY8QFUQ01A4ORW IGG1 34 213 15.96 +JY8QFUQ01A4P7X IGG2 0 212 0 +JY8QFUQ01A4PSY IGG2 22 213 10.33 +JY8QFUQ01A4RGQ IGA1 16 219 7.31 +JY8QFUQ01A4RRU IGA1 11 213 5.16 +JY8QFUQ01A4SGO IGA1 15 213 7.04 +JY8QFUQ01A4U6K IGG1 12 216 5.56 +JY8QFUQ01A4UD9 IGA2 12 213 5.63 +JY8QFUQ01A4UI3 IGA1 16 213 7.51 +JY8QFUQ01A4VB0 IGA2 26 216 12.04 +JY8QFUQ01A4W5D IGA2 16 210 7.62 +JY8QFUQ01A4X8T IGA1 25 213 11.74 +JY8QFUQ01A4XPO IGA1 25 213 11.74 +JY8QFUQ01A4XSE IGA1 13 213 6.1 +JY8QFUQ01A528Y IGA2 18 213 8.45 +JY8QFUQ01A53DH IGA1 34 210 16.19 +JY8QFUQ01A53VQ IGG2 17 213 7.98 +JY8QFUQ01A554Z IGG2 23 213 10.8 +JY8QFUQ01A55FP IGA2 8 213 3.76 +JY8QFUQ01A56UP IGA1 22 216 10.19 +JY8QFUQ01A572P IGA1 11 213 5.16 +JY8QFUQ01A58UD IGG1 17 212 8.02 +JY8QFUQ01A5935 IGA1 25 216 11.57 +JY8QFUQ01A5AND IGA1 20 213 9.39 +JY8QFUQ01A5ATC IGA2 20 213 9.39 +JY8QFUQ01A5BO8 IGA2 14 213 6.57 +JY8QFUQ01A5C4M IGA1 39 213 18.31 +JY8QFUQ01A5D4P IGA1 25 213 11.74 +JY8QFUQ01A5FS2 IGA2 5 213 2.35 +JY8QFUQ01A5FUX IGG2 24 213 11.27 +JY8QFUQ01A5GJK IGG2 14 213 6.57 +JY8QFUQ01A5HXY IGG1 25 210 11.9 +JY8QFUQ01A5I8W IGA1 11 213 5.16 +JY8QFUQ01A5IKH IGG1 19 212 8.96 +JY8QFUQ01A5IOF IGG1 34 213 15.96 +JY8QFUQ01A5JVK IGA1 15 213 7.04 +JY8QFUQ01A5MH8 IGG1 10 212 4.72 +JY8QFUQ01A5NL9 IGA1 25 213 11.74 +JY8QFUQ01A5OJ5 IGG1 26 213 12.21 +JY8QFUQ01A5SB0 IGG1 12 213 5.63 +JY8QFUQ01A5U3W IGA1 13 213 6.1 +JY8QFUQ01A5V9M IGA1 24 213 11.27 +JY8QFUQ01A5VSB IGA1 16 213 7.51 +JY8QFUQ01A5WKX IGG1 22 213 10.33 +JY8QFUQ01A5XDS IGA1 14 213 6.57 +JY8QFUQ01A5ZKW IGA2 20 219 9.13 +JY8QFUQ01A60V7 IGA1 18 213 8.45 +JY8QFUQ01A64VB IGA1 19 216 8.8 +JY8QFUQ01A666E IGA1 12 213 5.63 +JY8QFUQ01A68J9 IGA2 5 212 2.36 +JY8QFUQ01A698F IGA1 15 213 7.04 +JY8QFUQ01A699S IGA1 20 213 9.39 +JY8QFUQ01A69S0 IGG1 1 213 0.47 +JY8QFUQ01A6BXT IGG2 21 213 9.86 +JY8QFUQ01A6CNG IGG1 36 216 16.67 +JY8QFUQ01A6CSB IGA1 19 213 8.92 +JY8QFUQ01A6HGP IGA1 34 219 15.53 +JY8QFUQ01A6IQL IGA2 11 213 5.16 +JY8QFUQ01A6IZH IGG2 21 213 9.86 +JY8QFUQ01A6JX4 IGG1 21 213 9.86 +JY8QFUQ01A6L65 IGG4 17 213 7.98 +JY8QFUQ01A6LFT IGA2 12 213 5.63 +JY8QFUQ01A6MYW IGA1 8 218 3.67 +JY8QFUQ01A6PW0 IGG3 12 213 5.63 +JY8QFUQ01A6T5J IGA1 24 213 11.27 +JY8QFUQ01A6UEX IGA2 10 213 4.69 +JY8QFUQ01A6V15 IGA2 28 213 13.15 +JY8QFUQ01A6VGQ IGG1 16 213 7.51 +JY8QFUQ01A6VPK IGG1 22 210 10.48 +JY8QFUQ01A6W08 IGA1 12 212 5.66 +JY8QFUQ01A6XI0 IGG2 17 213 7.98 +JY8QFUQ01A6ZD5 IGA1 8 212 3.77 +JY8QFUQ01A6ZI7 IGA2 11 213 5.16 +JY8QFUQ01A70EP IGA1 30 213 14.08 +JY8QFUQ01A70L0 IGG1 40 213 18.78 +JY8QFUQ01A720R IGA1 8 213 3.76 +JY8QFUQ01A72BF IGA1 13 216 6.02 +JY8QFUQ01A72FV IGA1 13 213 6.1 +JY8QFUQ01A79R5 IGG2 11 213 5.16 +JY8QFUQ01A7AMF IGA1 5 210 2.38 +JY8QFUQ01A7C1U IGG1 14 213 6.57 +JY8QFUQ01A7C84 IGG1 15 212 7.08 +JY8QFUQ01A7G35 IGA1 27 213 12.68 +JY8QFUQ01A7GLV IGA1 31 216 14.35 +JY8QFUQ01A7HLN IGA1 22 213 10.33 +JY8QFUQ01A7KJZ IGA1 25 213 11.74 +JY8QFUQ01A7LQC IGG1 12 210 5.71 +JY8QFUQ01A7MBK IGA1 18 213 8.45 +JY8QFUQ01A7MWW IGA1 23 213 10.8 +JY8QFUQ01A7NVO IGA1 17 213 7.98 +JY8QFUQ01A7QC0 IGG1 37 212 17.45 +JY8QFUQ01A7S16 IGA2 4 210 1.9 +JY8QFUQ01A7TR1 IGA2 21 213 9.86 +JY8QFUQ01A7TRV IGA1 20 213 9.39 +JY8QFUQ01A7TW1 IGA1 10 213 4.69 +JY8QFUQ01A7XAB IGG2 20 210 9.52 +JY8QFUQ01A7XDX IGA2 9 213 4.23 +JY8QFUQ01A7Z2B IGG1 15 213 7.04 +JY8QFUQ01A7Z8B IGA1 16 218 7.34 +JY8QFUQ01A82FB IGA1 17 216 7.87 +JY8QFUQ01A82HJ IGA1 18 219 8.22 +JY8QFUQ01A82RF IGA1 23 210 10.95 +JY8QFUQ01A82RW IGG1 17 213 7.98 +JY8QFUQ01A8412 IGA2 19 213 8.92 +JY8QFUQ01A8464 IGG2 16 216 7.41 +JY8QFUQ01A86GB IGA1 26 213 12.21 +JY8QFUQ01A86IT IGG1 30 210 14.29 +JY8QFUQ01A87BG IGA2 14 213 6.57 +JY8QFUQ01A87UU IGG2 10 213 4.69 +JY8QFUQ01A8AJT IGA1 25 213 11.74 +JY8QFUQ01A8ALV IGA2 12 213 5.63 +JY8QFUQ01A8BTW IGA2 40 210 19.05 +JY8QFUQ01A8CRV IGG1 24 213 11.27 +JY8QFUQ01A8FGD IGG4 18 213 8.45 +JY8QFUQ01A8FJO IGA1 8 213 3.76 +JY8QFUQ01A8FM1 IGA1 12 213 5.63 +JY8QFUQ01A8FSV IGG1 28 213 13.15 +JY8QFUQ01A8G0E IGA1 20 212 9.43 +JY8QFUQ01A8GGU IGG1 13 212 6.13 +JY8QFUQ01A8GWB IGA2 23 210 10.95 +JY8QFUQ01A8JNL IGA1 16 216 7.41 +JY8QFUQ01A8JZF IGA2 12 213 5.63 +JY8QFUQ01A8KHD IGA1 30 213 14.08 +JY8QFUQ01A8KQW IGG2 19 213 8.92 +JY8QFUQ01A8KZQ IGA1 26 213 12.21 +JY8QFUQ01A8LEY IGG1 0 212 0 +JY8QFUQ01A8MAI IGA2 19 216 8.8 +JY8QFUQ01A8MS3 IGA1 11 210 5.24 +JY8QFUQ01A8NED IGG1 25 213 11.74 +JY8QFUQ01A8SUT IGG1 14 213 6.57 +JY8QFUQ01A8VFH IGA2 9 213 4.23 +JY8QFUQ01A8WCU IGG1 0 213 0 +JY8QFUQ01A8XXA IGA1 13 212 6.13 +JY8QFUQ01A8Y0H IGA2 15 213 7.04 +JY8QFUQ01A8Y8J IGA1 26 213 12.21 +JY8QFUQ01A91GC IGA1 6 216 2.78 +JY8QFUQ01A91H2 IGA1 15 213 7.04 +JY8QFUQ01A91ZM IGA2 31 213 14.55 +JY8QFUQ01A9228 IGG2 22 213 10.33 +JY8QFUQ01A928N IGG1 12 213 5.63 +JY8QFUQ01A94FS IGA2 20 213 9.39 +JY8QFUQ01A96A4 IGA1 21 213 9.86 +JY8QFUQ01A96T1 IGA2 22 213 10.33 +JY8QFUQ01A98LD IGG2 24 213 11.27 +JY8QFUQ01A98NE IGG1 23 209 11 +JY8QFUQ01A9C87 IGG1 18 216 8.33 +JY8QFUQ01A9CIV IGG1 14 213 6.57 +JY8QFUQ01A9D9E IGA2 26 213 12.21 +JY8QFUQ01A9DAX IGG1 19 213 8.92 +JY8QFUQ01A9DEW IGG1 15 213 7.04 +JY8QFUQ01A9DTT IGG1 29 209 13.88 +JY8QFUQ01A9E7L IGA1 13 213 6.1 +JY8QFUQ01A9FXS IGA2 24 212 11.32 +JY8QFUQ01A9G63 IGA2 28 210 13.33 +JY8QFUQ01A9GRS IGG2 15 210 7.14 +JY8QFUQ01A9HIP IGA2 28 213 13.15 +JY8QFUQ01A9JOS IGG1 14 213 6.57 +JY8QFUQ01A9KHI IGA1 16 213 7.51 +JY8QFUQ01A9LZM IGA1 60 210 28.57 +JY8QFUQ01A9M1O IGA2 57 210 27.14 +JY8QFUQ01A9M5C IGA1 10 212 4.72 +JY8QFUQ01A9MMF IGA1 10 213 4.69 +JY8QFUQ01A9OA6 IGA2 14 213 6.57 +JY8QFUQ01A9PH6 IGG1 8 213 3.76 +JY8QFUQ01A9PP5 IGA1 12 213 5.63 +JY8QFUQ01A9R46 IGA1 12 213 5.63 +JY8QFUQ01A9S2H IGA1 29 213 13.62 +JY8QFUQ01A9W4E IGA1 21 216 9.72 +JY8QFUQ01A9XRP IGG1 12 213 5.63 +JY8QFUQ01A9YO5 IGA1 26 216 12.04 +JY8QFUQ01A9ZDI IGG1 18 212 8.49 +JY8QFUQ01AA0DL IGA1 15 213 7.04 +JY8QFUQ01AA0M8 IGA2 15 213 7.04 +JY8QFUQ01AA3GK IGA1 21 212 9.91 +JY8QFUQ01AA57U IGA1 39 213 18.31 +JY8QFUQ01AA63Y IGA1 31 213 14.55 +JY8QFUQ01AA9O7 IGG1 24 212 11.32 +JY8QFUQ01AA9UM IGG1 10 216 4.63 +JY8QFUQ01AAQL2 IGA1 20 216 9.26 +JY8QFUQ01AARBP IGA2 3 219 1.37 +JY8QFUQ01AARXS IGG1 17 213 7.98 +JY8QFUQ01AAS9C IGG1 9 216 4.17 +JY8QFUQ01AATZ4 IGA1 26 213 12.21 +JY8QFUQ01AAUM2 IGA2 23 212 10.85 +JY8QFUQ01AAUWG IGA1 13 213 6.1 +JY8QFUQ01AAWVK IGA1 10 213 4.69 +JY8QFUQ01AAZ6M IGA1 12 216 5.56 +JY8QFUQ01AB19P IGG1 26 213 12.21 +JY8QFUQ01AB1K5 IGG2 20 213 9.39 +JY8QFUQ01AB3G5 IGA1 17 216 7.87 +JY8QFUQ01AB3KI IGA1 22 210 10.48 +JY8QFUQ01AB51E IGA1 14 213 6.57 +JY8QFUQ01ABDY1 IGA2 10 213 4.69 +JY8QFUQ01ABF8G IGA1 25 216 11.57 +JY8QFUQ01ABFPI IGG1 15 213 7.04 +JY8QFUQ01ABGCX IGA2 13 213 6.1 +JY8QFUQ01ABI4U IGG1 17 215 7.91 +JY8QFUQ01ABKJ7 IGA1 22 213 10.33 +JY8QFUQ01ABL5K IGA1 18 213 8.45 +JY8QFUQ01ABTVQ IGA1 26 213 12.21 +JY8QFUQ01ABYQ3 IGA1 43 213 20.19 +JY8QFUQ01ABZLF IGG1 14 213 6.57 +JY8QFUQ01ABZPQ IGG1 21 212 9.91 +JY8QFUQ01AC0DA IGG3 10 213 4.69 +JY8QFUQ01AC0DP IGA1 20 216 9.26 +JY8QFUQ01AC0IS IGA2 18 213 8.45 +JY8QFUQ01AC33X IGA1 34 216 15.74 +JY8QFUQ01AC5GC IGA1 22 216 10.19 +JY8QFUQ01AC792 IGG1 11 213 5.16 +JY8QFUQ01AC7WH IGA2 9 213 4.23 +JY8QFUQ01ACBLB IGA2 32 213 15.02 +JY8QFUQ01ACCKZ IGA2 19 209 9.09 +JY8QFUQ01ACENJ IGA1 10 213 4.69 +JY8QFUQ01ACFOO IGA1 7 213 3.29 +JY8QFUQ01ACH9Z IGA1 22 213 10.33 +JY8QFUQ01ACHS4 IGA2 15 210 7.14 +JY8QFUQ01ACLAL IGG1 29 210 13.81 +JY8QFUQ01ACLRQ IGA1 17 213 7.98 +JY8QFUQ01ACLU1 IGA2 7 213 3.29 +JY8QFUQ01ACRP3 IGA1 15 213 7.04 +JY8QFUQ01ACRUV IGA2 20 210 9.52 +JY8QFUQ01ACT7P IGG1 16 213 7.51 +JY8QFUQ01ACURH IGA1 27 210 12.86 +JY8QFUQ01ACVQ4 IGA1 43 216 19.91 +JY8QFUQ01ACXAI IGG1 25 213 11.74 +JY8QFUQ01ACXLB IGA1 20 210 9.52 +JY8QFUQ01ACXOG IGA1 27 213 12.68 +JY8QFUQ01ACXS7 IGA2 30 213 14.08 +JY8QFUQ01ACXSL IGG1 27 210 12.86 +JY8QFUQ01AD4KE IGA1 23 215 10.7 +JY8QFUQ01AD5QJ IGA2 17 213 7.98 +JY8QFUQ01AD5UE IGA1 19 213 8.92 +JY8QFUQ01AD74T IGA2 21 213 9.86 +JY8QFUQ01AD79A IGG1 28 219 12.79 +JY8QFUQ01ADCX5 IGG2 22 216 10.19 +JY8QFUQ01ADDDA IGA1 8 210 3.81 +JY8QFUQ01ADG23 IGG1 35 216 16.2 +JY8QFUQ01ADGL2 IGA1 21 213 9.86 +JY8QFUQ01ADMJX IGG1 28 210 13.33 +JY8QFUQ01ADN3R IGA1 29 216 13.43 +JY8QFUQ01ADNKP IGA1 31 213 14.55 +JY8QFUQ01ADOO5 IGA1 43 216 19.91 +JY8QFUQ01ADRD7 IGA1 20 201 9.95 +JY8QFUQ01ADTQJ IGG2 22 213 10.33 +JY8QFUQ01ADV0A IGA1 14 216 6.48 +JY8QFUQ01ADWZ0 IGA1 17 213 7.98 +JY8QFUQ01ADZFS IGG1 18 213 8.45 +JY8QFUQ01AE2LT IGA1 24 213 11.27 +JY8QFUQ01AE3XC IGG1 18 215 8.37 +JY8QFUQ01AE4GX IGA2 23 219 10.5 +JY8QFUQ01AE6UZ IGA2 21 213 9.86 +JY8QFUQ01AEDZX IGG1 11 213 5.16 +JY8QFUQ01AEE83 IGA2 36 210 17.14 +JY8QFUQ01AEF8J IGA1 9 213 4.23 +JY8QFUQ01AEH4G IGG1 24 212 11.32 +JY8QFUQ01AEM2N IGA1 24 210 11.43 +JY8QFUQ01AEMXL IGA2 26 210 12.38 +JY8QFUQ01AENJP IGG1 14 213 6.57 +JY8QFUQ01AEQU4 IGG1 21 216 9.72 +JY8QFUQ01AEU6X IGA2 25 213 11.74 +JY8QFUQ01AEVWH IGG1 20 213 9.39 +JY8QFUQ01AEX25 IGA2 9 213 4.23 +JY8QFUQ01AEYEY IGA1 9 213 4.23 +JY8QFUQ01AEYN1 IGA2 10 213 4.69 +JY8QFUQ01AEYTS IGG3 20 213 9.39 +JY8QFUQ01AF30Y IGA2 18 210 8.57 +JY8QFUQ01AF3QZ IGG1 17 213 7.98 +JY8QFUQ01AF3TS IGA2 20 213 9.39 +JY8QFUQ01AF4Q3 IGA1 29 213 13.62 +JY8QFUQ01AF4Z9 IGG4 43 210 20.48 +JY8QFUQ01AF664 IGA1 23 210 10.95 +JY8QFUQ01AF6U3 IGG2 29 211 13.74 +JY8QFUQ01AF7Y6 IGA2 12 212 5.66 +JY8QFUQ01AF8I8 IGG1 20 219 9.13 +JY8QFUQ01AF8ND IGG2 14 216 6.48 +JY8QFUQ01AF8SZ IGA1 28 210 13.33 +JY8QFUQ01AF9LD IGA1 14 213 6.57 +JY8QFUQ01AFBN6 IGG4 0 216 0 +JY8QFUQ01AFCKU IGA1 22 213 10.33 +JY8QFUQ01AFCRV IGG1 17 213 7.98 +JY8QFUQ01AFDCM IGA2 20 216 9.26 +JY8QFUQ01AFE1S IGA1 14 212 6.6 +JY8QFUQ01AFE74 IGA1 20 213 9.39 +JY8QFUQ01AFES7 IGA2 22 219 10.05 +JY8QFUQ01AFGYG IGA1 17 213 7.98 +JY8QFUQ01AFJBJ IGG1 15 213 7.04 +JY8QFUQ01AFKEB IGA1 27 213 12.68 +JY8QFUQ01AFSUH IGA1 5 213 2.35 +JY8QFUQ01AFUZV IGG2 38 213 17.84 +JY8QFUQ01AFVJM IGG1 36 213 16.9 +JY8QFUQ01AFVUY IGA1 15 213 7.04 +JY8QFUQ01AFZBJ IGA2 28 212 13.21 +JY8QFUQ01AG0D6 IGA1 28 213 13.15 +JY8QFUQ01AG2OG IGA1 34 213 15.96 +JY8QFUQ01AG5LX IGA2 42 213 19.72 +JY8QFUQ01AG60V IGG2 14 212 6.6 +JY8QFUQ01AG93B IGA2 26 209 12.44 +JY8QFUQ01AG9DV IGG2 25 213 11.74 +JY8QFUQ01AGDKF IGA1 21 213 9.86 +JY8QFUQ01AGDVH IGG2 16 219 7.31 +JY8QFUQ01AGDVR IGA1 17 213 7.98 +JY8QFUQ01AGGIL IGA2 17 213 7.98 +JY8QFUQ01AGHV3 IGG1 24 215 11.16 +JY8QFUQ01AGKNE IGA2 15 213 7.04 +JY8QFUQ01AGKQB IGA2 10 213 4.69 +JY8QFUQ01AGMKR IGA1 23 213 10.8 +JY8QFUQ01AGQWQ IGA2 14 207 6.76 +JY8QFUQ01AGRBK IGA1 16 212 7.55 +JY8QFUQ01AGS4P IGG1 25 213 11.74 +JY8QFUQ01AGSEB IGA2 15 213 7.04 +JY8QFUQ01AGTKI IGG3 22 213 10.33 +JY8QFUQ01AGWXH IGA1 23 213 10.8 +JY8QFUQ01AGXB8 IGA2 13 213 6.1 +JY8QFUQ01AGXOC IGA1 25 210 11.9 +JY8QFUQ01AGZC5 IGG1 23 213 10.8 +JY8QFUQ01AH0X0 IGA1 20 216 9.26 +JY8QFUQ01AH32A IGA1 27 213 12.68 +JY8QFUQ01AH38B IGA1 30 213 14.08 +JY8QFUQ01AH5A1 IGA1 14 215 6.51 +JY8QFUQ01AH5X7 IGA1 5 222 2.25 +JY8QFUQ01AH715 IGG2 23 212 10.85 +JY8QFUQ01AHAA1 IGA1 17 213 7.98 +JY8QFUQ01AHB8A IGA1 20 213 9.39 +JY8QFUQ01AHBK2 IGA1 23 210 10.95 +JY8QFUQ01AHEWI IGG1 13 219 5.94 +JY8QFUQ01AHHJ6 IGA1 24 213 11.27 +JY8QFUQ01AHIDS IGA2 8 213 3.76 +JY8QFUQ01AHK2I IGG2 14 210 6.67 +JY8QFUQ01AHMI8 IGA1 14 213 6.57 +JY8QFUQ01AHN93 IGG1 17 213 7.98 +JY8QFUQ01AHRBA IGA1 40 210 19.05 +JY8QFUQ01AHSTY IGG1 28 212 13.21 +JY8QFUQ01AHTOX IGG1 33 216 15.28 +JY8QFUQ01AHX1B IGG1 10 213 4.69 +JY8QFUQ01AHY6K IGA2 27 213 12.68 +JY8QFUQ01AHY6R IGA1 14 213 6.57 +JY8QFUQ01AHYWT IGG1 43 210 20.48 +JY8QFUQ01AI3Y4 IGA2 12 213 5.63 +JY8QFUQ01AI4NA IGA1 20 213 9.39 +JY8QFUQ01AIAC1 IGA1 17 213 7.98 +JY8QFUQ01AIAF1 IGA1 18 213 8.45 +JY8QFUQ01AIE5T IGA1 21 210 10 +JY8QFUQ01AIN7Q IGA1 16 213 7.51 +JY8QFUQ01AITB3 IGA2 14 212 6.6 +JY8QFUQ01AITV3 IGA1 8 219 3.65 +JY8QFUQ01AJ3EX IGA2 9 213 4.23 +JY8QFUQ01AJ3KH IGA1 30 213 14.08 +JY8QFUQ01AJ891 IGG1 16 212 7.55 +JY8QFUQ01AJCMG IGA2 20 213 9.39 +JY8QFUQ01AJEE9 IGA2 19 210 9.05 +JY8QFUQ01AJEL4 IGA1 17 213 7.98 +JY8QFUQ01AJF1Y IGG1 16 213 7.51 +JY8QFUQ01AJGDO IGG1 24 213 11.27 +JY8QFUQ01AJJ06 IGA1 31 213 14.55 +JY8QFUQ01AJOAH IGA1 11 213 5.16 +JY8QFUQ01AJQ24 IGA1 20 213 9.39 +JY8QFUQ01AJRGU IGG4 27 213 12.68 +JY8QFUQ01AJRNU IGG3 0 216 0 +JY8QFUQ01AJTUX IGA1 10 140 7.14 +JY8QFUQ01AJUSF IGA1 35 213 16.43 +JY8QFUQ01AJVOK IGA1 18 213 8.45 +JY8QFUQ01AJWQ7 IGG1 14 212 6.6 +JY8QFUQ01AJWSY IGA2 9 213 4.23 +JY8QFUQ01AJYIB IGA1 17 213 7.98 +JY8QFUQ01AJYWV IGA1 18 213 8.45 +JY8QFUQ01AJZDU IGA2 34 210 16.19 +JY8QFUQ01AK0SS IGA1 28 213 13.15 +JY8QFUQ01AK1KM IGG2 27 212 12.74 +JY8QFUQ01AK5T8 IGA2 20 216 9.26 +JY8QFUQ01AK7F3 IGA1 13 213 6.1 +JY8QFUQ01AKA7I IGA2 13 213 6.1 +JY8QFUQ01AKBIM IGA1 21 213 9.86 +JY8QFUQ01AKC4T IGG2 11 210 5.24 +JY8QFUQ01AKFJR IGA1 16 213 7.51 +JY8QFUQ01AKG3P IGA1 19 216 8.8 +JY8QFUQ01AKHC5 IGA2 17 213 7.98 +JY8QFUQ01AKHCX IGA2 20 210 9.52 +JY8QFUQ01AKI3P IGA1 33 216 15.28 +JY8QFUQ01AKJVX IGA2 7 210 3.33 +JY8QFUQ01AKKV6 IGA1 29 213 13.62 +JY8QFUQ01AKM0W IGA2 18 213 8.45 +JY8QFUQ01AKNSQ IGA2 15 213 7.04 +JY8QFUQ01AKOZJ IGG1 6 212 2.83 +JY8QFUQ01AKQ1X IGG2 9 213 4.23 +JY8QFUQ01AKROJ IGA1 39 213 18.31 +JY8QFUQ01AKUKJ IGA1 17 219 7.76 +JY8QFUQ01AKVLH IGA1 26 210 12.38 +JY8QFUQ01AKY8Y IGA2 34 210 16.19 +JY8QFUQ01AKZ0I IGG1 16 214 7.48 +JY8QFUQ01AKZW4 IGA1 12 210 5.71 +JY8QFUQ01AL1GZ IGA1 12 219 5.48 +JY8QFUQ01AL1N5 IGG2 23 213 10.8 +JY8QFUQ01AL2CW IGG3 0 219 0 +JY8QFUQ01AL2IL IGA1 22 213 10.33 +JY8QFUQ01AL7F1 IGG2 27 213 12.68 +JY8QFUQ01AL8VS IGA1 26 210 12.38 +JY8QFUQ01AL9MI IGA1 33 213 15.49 +JY8QFUQ01AL9ZT IGA1 33 213 15.49 +JY8QFUQ01ALDY2 IGA1 18 210 8.57 +JY8QFUQ01ALFPF IGG1 20 216 9.26 +JY8QFUQ01ALJ94 IGG1 20 213 9.39 +JY8QFUQ01ALJS1 IGG2 19 213 8.92 +JY8QFUQ01ALKNG IGA2 18 213 8.45 +JY8QFUQ01ALMSJ IGG2 14 209 6.7 +JY8QFUQ01ALN7I IGA2 22 216 10.19 +JY8QFUQ01ALPR0 IGG1 29 210 13.81 +JY8QFUQ01ALW0Z IGA1 15 213 7.04 +JY8QFUQ01ALZYF IGG1 23 210 10.95 +JY8QFUQ01AM056 IGA1 19 213 8.92 +JY8QFUQ01AM0T6 IGA2 18 210 8.57 +JY8QFUQ01AM4ZR IGG1 25 213 11.74 +JY8QFUQ01AM701 IGA1 20 213 9.39 +JY8QFUQ01AMBSZ IGG1 12 213 5.63 +JY8QFUQ01AMDQC IGA2 13 213 6.1 +JY8QFUQ01AMI66 IGA1 15 210 7.14 +JY8QFUQ01AMIC0 IGA1 12 213 5.63 +JY8QFUQ01AMK5G IGA2 13 213 6.1 +JY8QFUQ01AMLKN IGA1 18 213 8.45 +JY8QFUQ01AMPZY IGA1 29 213 13.62 +JY8QFUQ01AMTHS IGG2 18 216 8.33 +JY8QFUQ01AMUT4 IGG2 25 213 11.74 +JY8QFUQ01AMX59 IGG1 16 212 7.55 +JY8QFUQ01AMXZ6 IGA2 18 210 8.57 +JY8QFUQ01AMZ6W IGG1 24 210 11.43 +JY8QFUQ01AN3IA IGA1 8 213 3.76 +JY8QFUQ01AN5X2 IGA2 15 211 7.11 +JY8QFUQ01AN6Q8 IGG2 21 219 9.59 +JY8QFUQ01AN8DC IGA1 16 213 7.51 +JY8QFUQ01AN937 IGA2 35 216 16.2 +JY8QFUQ01AND2L IGA1 19 216 8.8 +JY8QFUQ01ANGEF IGA1 27 210 12.86 +JY8QFUQ01ANI1H IGA2 28 213 13.15 +JY8QFUQ01ANJ9X IGA1 17 213 7.98 +JY8QFUQ01ANKJV IGA2 19 213 8.92 +JY8QFUQ01ANLMX IGA1 15 219 6.85 +JY8QFUQ01ANO71 IGA1 20 213 9.39 +JY8QFUQ01ANOOW IGG2 32 213 15.02 +JY8QFUQ01ANR0Z IGA1 20 213 9.39 +JY8QFUQ01ANSMV IGG1 21 213 9.86 +JY8QFUQ01ANV52 IGG2 13 213 6.1 +JY8QFUQ01ANVJX IGA2 19 212 8.96 +JY8QFUQ01ANXAZ IGA1 20 213 9.39 +JY8QFUQ01ANXRG IGA1 20 213 9.39 +JY8QFUQ01AO0HA IGA2 21 213 9.86 +JY8QFUQ01AO14S IGA2 6 213 2.82 +JY8QFUQ01AO38F IGA1 21 216 9.72 +JY8QFUQ01AO5H2 IGA1 40 213 18.78 +JY8QFUQ01AO7UP IGA2 23 213 10.8 +JY8QFUQ01AO8B3 IGG1 17 211 8.06 +JY8QFUQ01AO8X8 IGA2 40 213 18.78 +JY8QFUQ01AOCIF IGG2 13 213 6.1 +JY8QFUQ01AODPS IGA1 36 210 17.14 +JY8QFUQ01AODUI IGG1 17 213 7.98 +JY8QFUQ01AOFCE IGA1 10 213 4.69 +JY8QFUQ01AOFPE IGG2 27 213 12.68 +JY8QFUQ01AOGGT IGA1 17 213 7.98 +JY8QFUQ01AOGS5 IGA1 16 212 7.55 +JY8QFUQ01AOJXD IGA1 31 210 14.76 +JY8QFUQ01AOLHE IGA1 35 209 16.75 +JY8QFUQ01AOMW2 IGA1 25 213 11.74 +JY8QFUQ01AOQZO IGA1 27 216 12.5 +JY8QFUQ01AOR4M IGA2 14 213 6.57 +JY8QFUQ01AOY3W IGA2 23 209 11 +JY8QFUQ01AP05X IGA1 6 213 2.82 +JY8QFUQ01AP0TZ IGA1 14 213 6.57 +JY8QFUQ01AP21C IGA1 21 213 9.86 +JY8QFUQ01AP263 IGA1 19 213 8.92 +JY8QFUQ01AP2Y1 IGA1 23 213 10.8 +JY8QFUQ01AP3M5 IGG1 20 213 9.39 +JY8QFUQ01AP4KF IGG2 11 212 5.19 +JY8QFUQ01AP6HU IGA1 28 213 13.15 +JY8QFUQ01AP72B IGG2 37 212 17.45 +JY8QFUQ01AP9Y7 IGG2 21 213 9.86 +JY8QFUQ01APECD IGA1 1 213 0.47 +JY8QFUQ01APENB IGA1 14 213 6.57 +JY8QFUQ01APGRW IGG2 16 213 7.51 +JY8QFUQ01APICN IGG1 31 213 14.55 +JY8QFUQ01APJMN IGG2 26 213 12.21 +JY8QFUQ01APK7S IGA1 41 208 19.71 +JY8QFUQ01APLRK IGG2 24 212 11.32 +JY8QFUQ01APM60 IGA1 4 210 1.9 +JY8QFUQ01APOZ1 IGG1 33 213 15.49 +JY8QFUQ01APYPD IGG2 14 213 6.57 +JY8QFUQ01AQ0K4 IGG1 20 211 9.48 +JY8QFUQ01AQ18D IGA1 14 219 6.39 +JY8QFUQ01AQ576 IGA1 12 213 5.63 +JY8QFUQ01AQ8YC IGA1 28 213 13.15 +JY8QFUQ01AQAEH IGA2 15 213 7.04 +JY8QFUQ01AQAXR IGA1 19 213 8.92 +JY8QFUQ01AQMNE IGG2 17 207 8.21 +JY8QFUQ01AQOEM IGA2 21 213 9.86 +JY8QFUQ01AQS9S IGA2 22 212 10.38 +JY8QFUQ01AQUPN IGA1 6 213 2.82 +JY8QFUQ01AQWBS IGA1 13 215 6.05 +JY8QFUQ01AQXAS IGA1 36 216 16.67 +JY8QFUQ01AQXWF IGG2 26 210 12.38 +JY8QFUQ01AQZ7D IGG1 21 213 9.86 +JY8QFUQ01AR4F8 IGA1 8 219 3.65 +JY8QFUQ01AR4XZ IGA1 18 213 8.45 +JY8QFUQ01AR7NH IGG2 22 216 10.19 +JY8QFUQ01AR8K0 IGA2 21 213 9.86 +JY8QFUQ01AR8UJ IGG1 12 218 5.5 +JY8QFUQ01AR91V IGA1 34 213 15.96 +JY8QFUQ01ARJHI IGA1 18 213 8.45 +JY8QFUQ01ARLMX IGA1 15 210 7.14 +JY8QFUQ01AROW2 IGA1 19 213 8.92 +JY8QFUQ01ARPRY IGG2 11 213 5.16 +JY8QFUQ01ARWZ0 IGA2 14 213 6.57 +JY8QFUQ01ARYWV IGA1 25 213 11.74 +JY8QFUQ01AS13P IGA1 18 213 8.45 +JY8QFUQ01AS1T0 IGA1 14 213 6.57 +JY8QFUQ01AS22B IGG1 27 210 12.86 +JY8QFUQ01AS24X IGA2 8 213 3.76 +JY8QFUQ01AS28D IGA1 62 213 29.11 +JY8QFUQ01AS5EL IGA2 1 210 0.48 +JY8QFUQ01AS6B9 IGA1 13 213 6.1 +JY8QFUQ01AS9TS IGA1 28 213 13.15 +JY8QFUQ01ASBBA IGA1 12 213 5.63 +JY8QFUQ01ASGTL IGA1 30 213 14.08 +JY8QFUQ01ASIFV IGG2 10 213 4.69 +JY8QFUQ01ASKXZ IGA1 15 211 7.11 +JY8QFUQ01ASLW8 IGA1 11 213 5.16 +JY8QFUQ01ASMJE IGG1 17 213 7.98 +JY8QFUQ01ASMT6 IGA2 16 216 7.41 +JY8QFUQ01ASO1O IGA1 16 210 7.62 +JY8QFUQ01ASOW0 IGA1 13 213 6.1 +JY8QFUQ01ASS6V IGG1 17 213 7.98 +JY8QFUQ01ASSCV IGA2 10 213 4.69 +JY8QFUQ01ASTYN IGG1 34 209 16.27 +JY8QFUQ01ASUCZ IGA1 27 213 12.68 +JY8QFUQ01ASUXV IGG2 16 216 7.41 +JY8QFUQ01ASVJP IGA1 25 213 11.74 +JY8QFUQ01ASZ0M IGA1 31 209 14.83 +JY8QFUQ01AT4NT IGG1 24 212 11.32 +JY8QFUQ01AT5TS IGA1 8 213 3.76 +JY8QFUQ01AT8HH IGA2 33 216 15.28 +JY8QFUQ01ATA76 IGG3 0 219 0 +JY8QFUQ01ATDOT IGG3 14 210 6.67 +JY8QFUQ01ATIZV IGA2 25 210 11.9 +JY8QFUQ01ATJ6D IGA1 9 213 4.23 +JY8QFUQ01ATK2N IGA1 22 210 10.48 +JY8QFUQ01ATP88 IGG1 26 210 12.38 +JY8QFUQ01ATQIC IGA1 11 213 5.16 +JY8QFUQ01ATVSF IGG2 12 212 5.66 +JY8QFUQ01ATWCJ IGA1 23 212 10.85 +JY8QFUQ01ATX94 IGG2 16 218 7.34 +JY8QFUQ01AU02Q IGA1 27 216 12.5 +JY8QFUQ01AU76E IGA2 25 213 11.74 +JY8QFUQ01AUADL IGA1 27 213 12.68 +JY8QFUQ01AUD41 IGA1 25 213 11.74 +JY8QFUQ01AUF6C IGA1 30 213 14.08 +JY8QFUQ01AUH73 IGA1 19 213 8.92 +JY8QFUQ01AUI48 IGA1 8 213 3.76 +JY8QFUQ01AUJ6M IGG2 14 212 6.6 +JY8QFUQ01AURES IGA1 25 212 11.79 +JY8QFUQ01AUU0J IGA2 15 213 7.04 +JY8QFUQ01AUUPD IGG1 14 210 6.67 +JY8QFUQ01AUVXR IGA2 18 213 8.45 +JY8QFUQ01AUYQV IGA1 21 210 10 +JY8QFUQ01AV09F IGA1 39 216 18.06 +JY8QFUQ01AV2V7 IGA2 20 219 9.13 +JY8QFUQ01AV3HD IGA1 20 213 9.39 +JY8QFUQ01AV3VG IGG1 23 212 10.85 +JY8QFUQ01AV7LU IGG2 22 213 10.33 +JY8QFUQ01AV8RW IGA1 14 213 6.57 +JY8QFUQ01AVA0Q IGA1 9 216 4.17 +JY8QFUQ01AVB4I IGG2 22 213 10.33 +JY8QFUQ01AVBM5 IGA1 26 213 12.21 +JY8QFUQ01AVDHQ IGA1 15 213 7.04 +JY8QFUQ01AVEUZ IGA2 12 213 5.63 +JY8QFUQ01AVHAA IGG1 30 213 14.08 +JY8QFUQ01AVLE1 IGA2 23 213 10.8 +JY8QFUQ01AVMZN IGG1 40 210 19.05 +JY8QFUQ01AVNE7 IGA2 14 213 6.57 +JY8QFUQ01AVOVU IGA2 3 208 1.44 +JY8QFUQ01AVPMG IGA2 16 216 7.41 +JY8QFUQ01AVQ0D IGA1 6 213 2.82 +JY8QFUQ01AVQBY IGG1 17 213 7.98 +JY8QFUQ01AVT39 IGA2 26 213 12.21 +JY8QFUQ01AVZKB IGA1 36 213 16.9 +JY8QFUQ01AW02O IGA1 28 213 13.15 +JY8QFUQ01AW9GE IGG4 38 216 17.59 +JY8QFUQ01AWGJ4 IGA2 21 213 9.86 +JY8QFUQ01AWIJ1 IGA1 32 210 15.24 +JY8QFUQ01AWLNY IGA2 14 222 6.31 +JY8QFUQ01AWOLO IGG1 15 212 7.08 +JY8QFUQ01AWOO7 IGA2 25 213 11.74 +JY8QFUQ01AWPED IGG1 17 213 7.98 +JY8QFUQ01AWSX6 IGG4 11 213 5.16 +JY8QFUQ01AX0TL IGG2 21 215 9.77 +JY8QFUQ01AX3JG IGA1 16 213 7.51 +JY8QFUQ01AX7BT IGA1 28 210 13.33 +JY8QFUQ01AX7OK IGA2 13 213 6.1 +JY8QFUQ01AXASL IGA1 17 212 8.02 +JY8QFUQ01AXCGR IGA2 12 213 5.63 +JY8QFUQ01AXE56 IGG1 33 212 15.57 +JY8QFUQ01AXNWU IGA1 9 213 4.23 +JY8QFUQ01AXTRO IGG2 16 213 7.51 +JY8QFUQ01AXVCI IGG1 14 213 6.57 +JY8QFUQ01AXXC6 IGG1 14 213 6.57 +JY8QFUQ01AY7GI IGA1 22 212 10.38 +JY8QFUQ01AY8MO IGA1 21 210 10 +JY8QFUQ01AY94E IGA2 12 216 5.56 +JY8QFUQ01AYCCC IGA1 19 213 8.92 +JY8QFUQ01AYFQ1 IGA2 21 213 9.86 +JY8QFUQ01AYG87 IGG1 23 212 10.85 +JY8QFUQ01AYHQQ IGA1 14 219 6.39 +JY8QFUQ01AYHQY IGA2 8 212 3.77 +JY8QFUQ01AYINE IGG2 17 213 7.98 +JY8QFUQ01AYL0X IGG2 12 180 6.67 +JY8QFUQ01AYR4C IGA2 11 213 5.16 +JY8QFUQ01AYTLP IGG1 37 212 17.45 +JY8QFUQ01AYXP4 IGG2 14 216 6.48 +JY8QFUQ01AYY7V IGA2 27 210 12.86 +JY8QFUQ01AZ2OV IGA1 25 213 11.74 +JY8QFUQ01AZ3Q8 IGA2 27 210 12.86 +JY8QFUQ01AZ72P IGA1 14 212 6.6 +JY8QFUQ01AZ89E IGA2 8 216 3.7 +JY8QFUQ01AZAYV IGA2 33 213 15.49 +JY8QFUQ01AZCLU IGG2 9 213 4.23 +JY8QFUQ01AZEES IGA1 17 219 7.76 +JY8QFUQ01AZK7Y IGA2 10 213 4.69 +JY8QFUQ01AZQ2B IGA1 47 213 22.07 +JY8QFUQ01AZRH6 IGG2 14 213 6.57 +JY8QFUQ01AZRKU IGA2 24 212 11.32 +JY8QFUQ01AZTNG IGG1 0 219 0 +JY8QFUQ01AZU0Q IGG2 40 210 19.05 +JY8QFUQ01AZUTN IGA2 11 213 5.16 +JY8QFUQ01AZZ31 IGA1 22 216 10.19 +JY8QFUQ01B00R6 IGA1 25 213 11.74 +JY8QFUQ01B02KX IGG2 0 212 0 +JY8QFUQ01B03TR IGA1 6 213 2.82 +JY8QFUQ01B07O4 IGA1 12 213 5.63 +JY8QFUQ01B08DF IGA2 13 216 6.02 +JY8QFUQ01B09U4 IGG1 15 213 7.04 +JY8QFUQ01B0B79 IGG2 23 198 11.62 +JY8QFUQ01B0BDK IGA1 22 213 10.33 +JY8QFUQ01B0DOB IGA2 13 213 6.1 +JY8QFUQ01B0E0W IGG1 9 212 4.25 +JY8QFUQ01B0E54 IGA1 39 213 18.31 +JY8QFUQ01B0F0W IGA1 13 213 6.1 +JY8QFUQ01B0GQK IGA1 11 213 5.16 +JY8QFUQ01B0JWX IGA1 47 216 21.76 +JY8QFUQ01B0K72 IGA1 20 210 9.52 +JY8QFUQ01B0M6T IGA1 27 213 12.68 +JY8QFUQ01B0MEN IGA2 8 212 3.77 +JY8QFUQ01B0SLO IGA1 15 213 7.04 +JY8QFUQ01B0YFD IGG1 17 215 7.91 +JY8QFUQ01B0Z32 IGA2 17 213 7.98 +JY8QFUQ01B0ZM2 IGG2 14 213 6.57 +JY8QFUQ01B11DU IGG1 7 213 3.29 +JY8QFUQ01B14S8 IGG1 37 212 17.45 +JY8QFUQ01B1B92 IGA1 30 213 14.08 +JY8QFUQ01B1CH3 IGG2 25 213 11.74 +JY8QFUQ01B1HDC IGG3 32 216 14.81 +JY8QFUQ01B1HSY IGA1 28 210 13.33 +JY8QFUQ01B1L81 IGA1 20 210 9.52 +JY8QFUQ01B1N7G IGA1 25 219 11.42 +JY8QFUQ01B1RUY IGG1 31 213 14.55 +JY8QFUQ01B1TCN IGA1 20 210 9.52 +JY8QFUQ01B1UHR IGA1 16 213 7.51 +JY8QFUQ01B1UYR IGG3 46 213 21.6 +JY8QFUQ01B1W4F IGG1 18 213 8.45 +JY8QFUQ01B1X3U IGA1 13 213 6.1 +JY8QFUQ01B1Y16 IGA1 19 213 8.92 +JY8QFUQ01B20H0 IGG3 3 213 1.41 +JY8QFUQ01B27X3 IGA1 10 212 4.72 +JY8QFUQ01B2ARX IGA1 14 213 6.57 +JY8QFUQ01B2D9Z IGG1 13 213 6.1 +JY8QFUQ01B2ERL IGA1 26 213 12.21 +JY8QFUQ01B2GU8 IGA1 15 210 7.14 +JY8QFUQ01B2JOM IGA2 13 209 6.22 +JY8QFUQ01B2LDP IGA2 20 213 9.39 +JY8QFUQ01B2NHE IGA2 17 210 8.1 +JY8QFUQ01B2PNO IGA1 19 213 8.92 +JY8QFUQ01B325I IGG4 37 216 17.13 +JY8QFUQ01B3AX2 IGA1 26 213 12.21 +JY8QFUQ01B3AYN IGA2 18 213 8.45 +JY8QFUQ01B3G3T IGG2 11 212 5.19 +JY8QFUQ01B3HMA IGG2 22 215 10.23 +JY8QFUQ01B3IOP IGA1 24 219 10.96 +JY8QFUQ01B3JLF IGG3 33 216 15.28 +JY8QFUQ01B3L4U IGG1 14 213 6.57 +JY8QFUQ01B3OBX IGG1 20 219 9.13 +JY8QFUQ01B3P0G IGG2 25 212 11.79 +JY8QFUQ01B3S4F IGA2 11 213 5.16 +JY8QFUQ01B3TI8 IGA1 20 213 9.39 +JY8QFUQ01B3TT1 IGA1 33 213 15.49 +JY8QFUQ01B3XMD IGA2 27 213 12.68 +JY8QFUQ01B4CN9 IGG1 22 216 10.19 +JY8QFUQ01B4F4Q IGA1 31 213 14.55 +JY8QFUQ01B4FE6 IGA2 12 213 5.63 +JY8QFUQ01B4FME IGG4 13 213 6.1 +JY8QFUQ01B4L0R IGA1 19 213 8.92 +JY8QFUQ01B4VTT IGG2 14 213 6.57 +JY8QFUQ01B4X7N IGG2 0 213 0 +JY8QFUQ01B4XPK IGG1 5 216 2.31 +JY8QFUQ01B4Y1N IGA1 13 222 5.86 +JY8QFUQ01B50HH IGG2 18 213 8.45 +JY8QFUQ01B53SB IGG1 41 210 19.52 +JY8QFUQ01B569F IGA1 13 213 6.1 +JY8QFUQ01B56F9 IGA2 21 213 9.86 +JY8QFUQ01B56VC IGA1 17 218 7.8 +JY8QFUQ01B58W5 IGA1 16 213 7.51 +JY8QFUQ01B5F34 IGA1 24 213 11.27 +JY8QFUQ01B5GFJ IGA1 12 213 5.63 +JY8QFUQ01B5QDY IGA2 22 213 10.33 +JY8QFUQ01B5SAT IGA1 0 212 0 +JY8QFUQ01B5VR4 IGA2 10 213 4.69 +JY8QFUQ01B5XE3 IGG1 29 215 13.49 +JY8QFUQ01B5XEH IGA2 7 145 4.83 +JY8QFUQ01B641M IGA2 6 213 2.82 +JY8QFUQ01B64QD IGA1 18 209 8.61 +JY8QFUQ01B6832 IGG1 22 209 10.53 +JY8QFUQ01B68YS IGA2 16 213 7.51 +JY8QFUQ01B6BDJ IGA2 12 213 5.63 +JY8QFUQ01B6CFI IGA2 23 213 10.8 +JY8QFUQ01B6DDX IGA2 25 213 11.74 +JY8QFUQ01B6G3Q IGA1 36 216 16.67 +JY8QFUQ01B6LHF IGA1 28 213 13.15 +JY8QFUQ01B6LVM IGA1 23 213 10.8 +JY8QFUQ01B6UYE IGA2 15 213 7.04 +JY8QFUQ01B70J3 IGA1 10 213 4.69 +JY8QFUQ01B71ED IGA1 32 213 15.02 +JY8QFUQ01B757D IGA2 58 216 26.85 +JY8QFUQ01B791I IGA1 14 213 6.57 +JY8QFUQ01B7921 IGA1 15 213 7.04 +JY8QFUQ01B7B1B IGA1 7 213 3.29 +JY8QFUQ01B7DZ7 IGA2 14 213 6.57 +JY8QFUQ01B7GYB IGA1 21 213 9.86 +JY8QFUQ01B7L1I IGA1 5 213 2.35 +JY8QFUQ01B7Q12 IGG2 12 213 5.63 +JY8QFUQ01B7TWW IGG1 10 213 4.69 +JY8QFUQ01B7VBT IGG2 19 209 9.09 +JY8QFUQ01B7XXQ IGA2 22 219 10.05 +JY8QFUQ01B81W4 IGA2 15 213 7.04 +JY8QFUQ01B84I1 IGA2 22 216 10.19 +JY8QFUQ01B8ABJ IGA2 18 213 8.45 +JY8QFUQ01B8AC6 IGA1 21 213 9.86 +JY8QFUQ01B8DLI IGA2 21 213 9.86 +JY8QFUQ01B8DVS IGG4 18 213 8.45 +JY8QFUQ01B8JYP IGA1 22 209 10.53 +JY8QFUQ01B8T6Y IGA1 21 213 9.86 +JY8QFUQ01B8WF3 IGA2 15 219 6.85 +JY8QFUQ01B8YQQ IGA1 14 213 6.57 +JY8QFUQ01B90UJ IGG1 18 212 8.49 +JY8QFUQ01B93WH IGG2 12 215 5.58 +JY8QFUQ01B978H IGA1 33 213 15.49 +JY8QFUQ01B9C4B IGA2 18 210 8.57 +JY8QFUQ01B9DAH IGG1 22 216 10.19 +JY8QFUQ01B9L1U IGG2 9 216 4.17 +JY8QFUQ01B9LAE IGA2 21 212 9.91 +JY8QFUQ01B9LAR IGG2 14 212 6.6 +JY8QFUQ01B9NGM IGA2 14 219 6.39 +JY8QFUQ01B9QXU IGG1 24 209 11.48 +JY8QFUQ01B9RA3 IGA2 15 212 7.08 +JY8QFUQ01B9S8H IGG1 14 213 6.57 +JY8QFUQ01B9TMK IGG1 29 216 13.43 +JY8QFUQ01B9UZ4 IGA1 12 213 5.63 +JY8QFUQ01B9XU2 IGA1 14 216 6.48 +JY8QFUQ01BAB5T IGA2 8 219 3.65 +JY8QFUQ01BACNA IGA2 12 212 5.66 +JY8QFUQ01BAGKP IGG2 32 216 14.81 +JY8QFUQ01BAGOW IGA2 18 222 8.11 +JY8QFUQ01BAKGF IGA1 28 216 12.96 +JY8QFUQ01BAR1C IGG1 21 213 9.86 +JY8QFUQ01BB73D IGA2 39 210 18.57 +JY8QFUQ01BB93X IGG1 15 212 7.08 +JY8QFUQ01BB9AK IGA2 26 210 12.38 +JY8QFUQ01BBDL1 IGA1 22 212 10.38 +JY8QFUQ01BBLQU IGA1 14 213 6.57 +JY8QFUQ01BBQG8 IGG1 13 210 6.19 +JY8QFUQ01BBSRC IGA1 31 216 14.35 +JY8QFUQ01BBTVQ IGG1 20 211 9.48 +JY8QFUQ01BBVFC IGA1 31 213 14.55 +JY8QFUQ01BBZEX IGA1 22 213 10.33 +JY8QFUQ01BC153 IGA1 9 211 4.27 +JY8QFUQ01BCH7Y IGG2 13 213 6.1 +JY8QFUQ01BCMPS IGA2 15 210 7.14 +JY8QFUQ01BCV43 IGA2 13 213 6.1 +JY8QFUQ01BD04C IGA1 13 213 6.1 +JY8QFUQ01BDGDZ IGA2 6 216 2.78 +JY8QFUQ01BDIEE IGA2 8 210 3.81 +JY8QFUQ01BDNIC IGA1 23 213 10.8 +JY8QFUQ01BDPXU IGA1 23 216 10.65 +JY8QFUQ01BDTL8 IGG2 26 211 12.32 +JY8QFUQ01BE0DI IGA1 8 213 3.76 +JY8QFUQ01BE108 IGA2 29 210 13.81 +JY8QFUQ01BE4D2 IGA1 27 209 12.92 +JY8QFUQ01BE5D4 IGA2 26 210 12.38 +JY8QFUQ01BE8AK IGG1 17 213 7.98 +JY8QFUQ01BEABE IGA2 22 213 10.33 +JY8QFUQ01BEJQP IGA1 46 216 21.3 +JY8QFUQ01BEQ83 IGG3 22 213 10.33 +JY8QFUQ01BERKI IGA2 21 219 9.59 +JY8QFUQ01BESQ8 IGA2 13 210 6.19 +JY8QFUQ01BETLC IGA2 10 213 4.69 +JY8QFUQ01BEUNL IGA2 11 213 5.16 +JY8QFUQ01BF8CL IGG1 7 216 3.24 +JY8QFUQ01BF9YK IGA1 7 210 3.33 +JY8QFUQ01BFB0Q IGA1 25 212 11.79 +JY8QFUQ01BFHSP IGG1 28 210 13.33 +JY8QFUQ01BFI4C IGA2 11 212 5.19 +JY8QFUQ01BFROD IGG1 36 216 16.67 +JY8QFUQ01BFWP5 IGA2 12 213 5.63 +JY8QFUQ01BFXYS IGG2 26 210 12.38 +JY8QFUQ01BFYFA IGA1 13 213 6.1 +JY8QFUQ01BFZOR IGA1 29 213 13.62 +JY8QFUQ01BG2F7 IGA1 22 213 10.33 +JY8QFUQ01BG5T6 IGA2 10 213 4.69 +JY8QFUQ01BG66X IGA1 26 213 12.21 +JY8QFUQ01BG922 IGG3 13 213 6.1 +JY8QFUQ01BGDEX IGG1 38 213 17.84 +JY8QFUQ01BGEYK IGA1 20 213 9.39 +JY8QFUQ01BGFCA IGA1 20 213 9.39 +JY8QFUQ01BGGO2 IGA2 23 213 10.8 +JY8QFUQ01BGI0O IGG1 18 213 8.45 +JY8QFUQ01BGMBI IGA2 30 213 14.08 +JY8QFUQ01BGNSE IGA1 53 216 24.54 +JY8QFUQ01BGR80 IGA1 8 212 3.77 +JY8QFUQ01BGUIW IGA2 12 213 5.63 +JY8QFUQ01BGVCA IGA1 15 213 7.04 +JY8QFUQ01BGY6V IGA1 14 216 6.48 +JY8QFUQ01BH03V IGA1 23 210 10.95 +JY8QFUQ01BH0GH IGA1 25 213 11.74 +JY8QFUQ01BH1QX IGA2 26 213 12.21 +JY8QFUQ01BH2A1 IGA1 16 213 7.51 +JY8QFUQ01BH7NG IGA1 13 210 6.19 +JY8QFUQ01BHCZE IGA1 33 213 15.49 +JY8QFUQ01BHGDW IGA1 18 213 8.45 +JY8QFUQ01BHITL IGA2 31 213 14.55 +JY8QFUQ01BHN1C IGA1 20 209 9.57 +JY8QFUQ01BI347 IGG2 28 213 13.15 +JY8QFUQ01BIGLC IGG1 9 212 4.25 +JY8QFUQ01BIHI6 IGG2 8 213 3.76 +JY8QFUQ01BIM6Q IGA1 1 213 0.47 +JY8QFUQ01BISS5 IGA1 37 212 17.45 +JY8QFUQ01BIVV0 IGA2 18 213 8.45 +JY8QFUQ01BIWEF IGG2 12 213 5.63 +JY8QFUQ01BJ4VI IGA1 20 213 9.39 +JY8QFUQ01BJN3B IGA1 23 210 10.95 +JY8QFUQ01BJPU6 IGA2 35 213 16.43 +JY8QFUQ01BJT4G IGG1 16 213 7.51 +JY8QFUQ01BJUHM IGA1 15 213 7.04 +JY8QFUQ01BJURD IGA1 13 216 6.02 +JY8QFUQ01BJV9I IGA1 21 213 9.86 +JY8QFUQ01BJVZ3 IGG1 20 213 9.39 +JY8QFUQ01BJWBZ IGA2 16 213 7.51 +JY8QFUQ01BJYH6 IGA1 26 212 12.26 +JY8QFUQ01BKBQY IGA1 20 213 9.39 +JY8QFUQ01BKF2J IGA1 42 213 19.72 +JY8QFUQ01BKJ53 IGA1 15 212 7.08 +JY8QFUQ01BKRE0 IGA1 9 213 4.23 +JY8QFUQ01BKUNY IGA1 25 216 11.57 +JY8QFUQ01BKXS7 IGA1 28 210 13.33 +JY8QFUQ01BL6V1 IGA2 35 210 16.67 +JY8QFUQ01BLAI9 IGA1 9 213 4.23 +JY8QFUQ01BLEDM IGG2 20 213 9.39 +JY8QFUQ01BLGCA IGG1 12 210 5.71 +JY8QFUQ01BLGYX IGA1 19 213 8.92 +JY8QFUQ01BLTJO IGA1 30 213 14.08 +JY8QFUQ01BLX8G IGA2 6 213 2.82 +JY8QFUQ01BM58O IGA1 22 213 10.33 +JY8QFUQ01BM6Z0 IGA2 25 213 11.74 +JY8QFUQ01BM80W IGA1 18 213 8.45 +JY8QFUQ01BM96X IGA1 17 213 7.98 +JY8QFUQ01BMLGO IGA2 30 213 14.08 +JY8QFUQ01BMOB5 IGA2 10 213 4.69 +JY8QFUQ01BMQ8K IGA2 14 213 6.57 +JY8QFUQ01BN0IG IGA2 8 213 3.76 +JY8QFUQ01BN1A6 IGG1 27 213 12.68 +JY8QFUQ01BN76B IGA1 26 213 12.21 +JY8QFUQ01BNHM6 IGA1 13 212 6.13 +JY8QFUQ01BNNYX IGA1 11 216 5.09 +JY8QFUQ01BNQ6N IGG2 19 210 9.05 +JY8QFUQ01BNS72 IGA2 20 216 9.26 +JY8QFUQ01BNVKG IGG2 33 210 15.71 +JY8QFUQ01BNXKI IGG1 20 212 9.43 +JY8QFUQ01BNYDH IGA1 14 215 6.51 +JY8QFUQ01BO1TD IGG1 24 213 11.27 +JY8QFUQ01BO2JV IGG1 13 213 6.1 +JY8QFUQ01BO2V4 IGA1 28 213 13.15 +JY8QFUQ01BO4ET IGA2 12 213 5.63 +JY8QFUQ01BO7P5 IGA1 30 213 14.08 +JY8QFUQ01BO8WN IGG1 30 216 13.89 +JY8QFUQ01BOBY3 IGA1 22 213 10.33 +JY8QFUQ01BOMV5 IGA1 21 213 9.86 +JY8QFUQ01BP3RA IGA1 13 210 6.19 +JY8QFUQ01BP55P IGG1 17 212 8.02 +JY8QFUQ01BPG8K IGG2 19 210 9.05 +JY8QFUQ01BPT7N IGA2 7 213 3.29 +JY8QFUQ01BQ0GT IGA1 26 213 12.21 +JY8QFUQ01BQ3I3 IGA1 21 213 9.86 +JY8QFUQ01BQ9G8 IGG2 7 213 3.29 +JY8QFUQ01BQAON IGA1 30 213 14.08 +JY8QFUQ01BQCNP IGG1 35 216 16.2 +JY8QFUQ01BQERB IGA1 24 213 11.27 +JY8QFUQ01BQLNQ IGG2 16 213 7.51 +JY8QFUQ01BQMY8 IGA2 6 213 2.82 +JY8QFUQ01BQQG5 IGA1 43 213 20.19 +JY8QFUQ01BR1YM IGA2 8 213 3.76 +JY8QFUQ01BR9Q4 IGA2 27 213 12.68 +JY8QFUQ01BRBL7 IGA2 28 210 13.33 +JY8QFUQ01BREFM IGG1 24 213 11.27 +JY8QFUQ01BRF2O IGA1 15 213 7.04 +JY8QFUQ01BRIHD IGA1 8 213 3.76 +JY8QFUQ01BRQMG IGA1 14 222 6.31 +JY8QFUQ01BRZIH IGA2 22 213 10.33 +JY8QFUQ01BS2Q3 IGA2 27 213 12.68 +JY8QFUQ01BS2WD IGA1 17 213 7.98 +JY8QFUQ01BSD92 IGG2 10 213 4.69 +JY8QFUQ01BSDSX IGG1 9 213 4.23 +JY8QFUQ01BSGWN IGA2 14 213 6.57 +JY8QFUQ01BSOH5 IGG2 16 212 7.55 +JY8QFUQ01BSRSP IGA1 15 210 7.14 +JY8QFUQ01BSZDV IGG1 17 213 7.98 +JY8QFUQ01BT5A6 IGG1 19 213 8.92 +JY8QFUQ01BT5S9 IGA1 13 216 6.02 +JY8QFUQ01BTAHR IGG1 23 213 10.8 +JY8QFUQ01BTCL3 IGA2 9 213 4.23 +JY8QFUQ01BTIAT IGG3 17 213 7.98 +JY8QFUQ01BTOR9 IGA2 22 219 10.05 +JY8QFUQ01BU31Q IGG1 21 213 9.86 +JY8QFUQ01BU3DY IGA2 11 213 5.16 +JY8QFUQ01BU5NL IGA1 23 210 10.95 +JY8QFUQ01BUAPX IGA1 31 213 14.55 +JY8QFUQ01BUG1S IGA1 15 213 7.04 +JY8QFUQ01BUJ4F IGA2 23 210 10.95 +JY8QFUQ01BUOZE IGA1 23 212 10.85 +JY8QFUQ01BV8FF IGA2 20 210 9.52 +JY8QFUQ01BVBOA IGA1 28 210 13.33 +JY8QFUQ01BVHS5 IGA1 14 207 6.76 +JY8QFUQ01BVMIC IGA1 17 213 7.98 +JY8QFUQ01BVRVR IGG2 14 210 6.67 +JY8QFUQ01BWBZS IGA1 17 218 7.8 +JY8QFUQ01BWD62 IGA1 21 210 10 +JY8QFUQ01BWIHJ IGG1 17 213 7.98 +JY8QFUQ01BX0QN IGA1 14 213 6.57 +JY8QFUQ01BX1DY IGG1 21 213 9.86 +JY8QFUQ01BX1X7 IGA1 28 213 13.15 +JY8QFUQ01BX764 IGA1 18 213 8.45 +JY8QFUQ01BXBPF IGG3 17 213 7.98 +JY8QFUQ01BXDPP IGA1 25 213 11.74 +JY8QFUQ01BXEXG IGG1 17 216 7.87 +JY8QFUQ01BXNFF IGA2 15 213 7.04 +JY8QFUQ01BXTDZ IGA1 14 210 6.67 +JY8QFUQ01BXZRW IGG1 27 213 12.68 +JY8QFUQ01BY0E2 IGA1 14 213 6.57 +JY8QFUQ01BY2NW IGA2 16 213 7.51 +JY8QFUQ01BY2RR IGA2 30 213 14.08 +JY8QFUQ01BY3HN IGA2 23 213 10.8 +JY8QFUQ01BYDVO IGA1 33 213 15.49 +JY8QFUQ01BYFAI IGG1 25 213 11.74 +JY8QFUQ01BYGMF IGA1 15 213 7.04 +JY8QFUQ01BYOYM IGA1 22 213 10.33 +JY8QFUQ01BYP0E IGA1 10 213 4.69 +JY8QFUQ01BYRXT IGG1 46 213 21.6 +JY8QFUQ01BYXJU IGG1 16 213 7.51 +JY8QFUQ01BZEWU IGA1 30 213 14.08 +JY8QFUQ01C0J5I IGG3 14 213 6.57 +JY8QFUQ01C0LHV IGA1 20 213 9.39 +JY8QFUQ01C0T0E IGA2 18 213 8.45 +JY8QFUQ01C0V8V IGG1 18 212 8.49 +JY8QFUQ01C0YWV IGG1 20 219 9.13 +JY8QFUQ01C13EL IGA1 16 213 7.51 +JY8QFUQ01C160X IGG1 17 216 7.87 +JY8QFUQ01C17HE IGG2 29 213 13.62 +JY8QFUQ01C185F IGA1 33 219 15.07 +JY8QFUQ01C1QUY IGA2 25 213 11.74 +JY8QFUQ01C1UWI IGA1 16 213 7.51 +JY8QFUQ01C1WLX IGA2 13 213 6.1 +JY8QFUQ01C24ZT IGA1 6 213 2.82 +JY8QFUQ01C2553 IGG2 23 213 10.8 +JY8QFUQ01C26ES IGG1 24 209 11.48 +JY8QFUQ01C28D8 IGA1 14 213 6.57 +JY8QFUQ01C2A2E IGA2 18 210 8.57 +JY8QFUQ01C2JVO IGA1 16 213 7.51 +JY8QFUQ01C2XG5 IGA2 15 213 7.04 +JY8QFUQ01C2XX8 IGA1 23 213 10.8 +JY8QFUQ01C33GJ IGA2 18 213 8.45 +JY8QFUQ01C39LJ IGA1 16 213 7.51 +JY8QFUQ01C3FR9 IGA1 20 216 9.26 +JY8QFUQ01C3HIA IGA1 19 213 8.92 +JY8QFUQ01C3HRU IGA1 25 213 11.74 +JY8QFUQ01C3JTT IGG1 17 211 8.06 +JY8QFUQ01C3KAU IGA2 24 213 11.27 +JY8QFUQ01C4D0M IGG1 16 210 7.62 +JY8QFUQ01C50HS IGA1 58 216 26.85 +JY8QFUQ01C5CP6 IGA2 9 213 4.23 +JY8QFUQ01C5MCI IGG1 21 213 9.86 +JY8QFUQ01C6DDZ IGA1 17 213 7.98 +JY8QFUQ01C6GOS IGG2 18 216 8.33 +JY8QFUQ01C71OC IGA2 20 213 9.39 +JY8QFUQ01C73TY IGA1 16 216 7.41 +JY8QFUQ01C7540 IGA1 15 213 7.04 +JY8QFUQ01C7QU9 IGA1 11 213 5.16 +JY8QFUQ01C7ZZV IGA2 19 213 8.92 +JY8QFUQ01C819B IGA1 12 213 5.63 +JY8QFUQ01C847F IGG1 9 210 4.29 +JY8QFUQ01C8AA1 IGA1 14 213 6.57 +JY8QFUQ01C8ASE IGA1 32 213 15.02 +JY8QFUQ01C8FEX IGG1 11 213 5.16 +JY8QFUQ01C8GT7 IGA1 25 213 11.74 +JY8QFUQ01C8YUG IGG2 29 210 13.81 +JY8QFUQ01C9KPR IGA1 41 212 19.34 +JY8QFUQ01C9RTB IGA1 11 216 5.09 +JY8QFUQ01C9UFU IGA2 9 213 4.23 +JY8QFUQ01CA1G6 IGA1 7 210 3.33 +JY8QFUQ01CA2ZN IGG2 12 213 5.63 +JY8QFUQ01CA830 IGG1 23 213 10.8 +JY8QFUQ01CABXM IGG2 24 212 11.32 +JY8QFUQ01CAI7Q IGA1 25 216 11.57 +JY8QFUQ01CAN9N IGA2 10 213 4.69 +JY8QFUQ01CAR29 IGA2 8 211 3.79 +JY8QFUQ01CB275 IGG1 5 215 2.33 +JY8QFUQ01CB2DX IGG2 0 219 0 +JY8QFUQ01CBC07 IGA1 47 213 22.07 +JY8QFUQ01CBLRN IGG3 20 213 9.39 +JY8QFUQ01CBORW IGG2 25 213 11.74 +JY8QFUQ01CBST2 IGA1 19 213 8.92 +JY8QFUQ01CBUHR IGA1 49 216 22.69 +JY8QFUQ01CC9VV IGA2 19 213 8.92 +JY8QFUQ01CCN00 IGA1 15 213 7.04 +JY8QFUQ01CCO0W IGG1 21 213 9.86 +JY8QFUQ01CCV7N IGG1 32 212 15.09 +JY8QFUQ01CCYR6 IGA1 24 213 11.27 +JY8QFUQ01CCYZD IGA2 21 215 9.77 +JY8QFUQ01CCZ8L IGA1 13 212 6.13 +JY8QFUQ01CD8PO IGG2 5 215 2.33 +JY8QFUQ01CDA18 IGA1 30 216 13.89 +JY8QFUQ01CDA2Z IGA1 26 213 12.21 +JY8QFUQ01CDCEV IGG2 18 209 8.61 +JY8QFUQ01CDHKA IGG2 18 213 8.45 +JY8QFUQ01CDYHQ IGG1 18 210 8.57 +JY8QFUQ01CE2OJ IGA1 31 210 14.76 +JY8QFUQ01CE4MI IGG3 0 219 0 +JY8QFUQ01CEBF1 IGA1 14 213 6.57 +JY8QFUQ01CEEUJ IGA2 26 213 12.21 +JY8QFUQ01CEH7I IGG1 19 213 8.92 +JY8QFUQ01CF2KP IGG1 25 213 11.74 +JY8QFUQ01CF6ST IGA2 28 213 13.15 +JY8QFUQ01CF885 IGA2 41 212 19.34 +JY8QFUQ01CGAYM IGA1 27 213 12.68 +JY8QFUQ01CGPNS IGG2 27 216 12.5 +JY8QFUQ01CGQAI IGA1 31 213 14.55 +JY8QFUQ01CGQES IGG1 14 213 6.57 +JY8QFUQ01CH326 IGA2 1 213 0.47 +JY8QFUQ01CH338 IGA1 12 212 5.66 +JY8QFUQ01CHBJS IGA1 21 213 9.86 +JY8QFUQ01CHFYS IGA2 42 213 19.72 +JY8QFUQ01CHKDD IGA2 14 213 6.57 +JY8QFUQ01CHVJ1 IGG2 17 212 8.02 +JY8QFUQ01CI12B IGA1 3 208 1.44 +JY8QFUQ01CIMAM IGA1 17 210 8.1 +JY8QFUQ01CIOY1 IGA1 13 213 6.1 +JY8QFUQ01CIQUI IGG4 9 213 4.23 +JY8QFUQ01CJ5TF IGG3 13 213 6.1 +JY8QFUQ01CJ990 IGA1 8 212 3.77 +JY8QFUQ01CJG1W IGA1 31 213 14.55 +JY8QFUQ01CJV6U IGA2 29 213 13.62 +JY8QFUQ01CJYGN IGG2 15 213 7.04 +JY8QFUQ01CK280 IGA1 19 216 8.8 +JY8QFUQ01CKFL6 IGA1 21 213 9.86 +JY8QFUQ01CKI1Y IGA2 4 213 1.88 +JY8QFUQ01CKO1P IGA1 34 218 15.6 +JY8QFUQ01CKPJN IGA1 10 213 4.69 +JY8QFUQ01CKX6X IGA2 17 209 8.13 +JY8QFUQ01CL7VE IGA1 23 209 11 +JY8QFUQ01CLEAH IGA2 22 213 10.33 +JY8QFUQ01CLIT1 IGA1 27 210 12.86 +JY8QFUQ01CLMWX IGG4 21 213 9.86 +JY8QFUQ01CLR99 IGA1 13 210 6.19 +JY8QFUQ01CLXOH IGA2 13 213 6.1 +JY8QFUQ01CM33P IGA2 14 216 6.48 +JY8QFUQ01CM5UQ IGA1 10 213 4.69 +JY8QFUQ01CN7M5 IGG1 16 213 7.51 +JY8QFUQ01CNEDF IGG2 12 213 5.63 +JY8QFUQ01CNH24 IGA2 15 213 7.04 +JY8QFUQ01CNLWR IGG2 31 213 14.55 +JY8QFUQ01CNYY7 IGG1 28 212 13.21 +JY8QFUQ01CO06K IGA2 21 216 9.72 +JY8QFUQ01CO7ZE IGA2 21 210 10 +JY8QFUQ01COIZ4 IGA2 8 213 3.76 +JY8QFUQ01COT7A IGG1 20 213 9.39 +JY8QFUQ01COULV IGG1 22 216 10.19 +JY8QFUQ01CP6A0 IGA2 12 219 5.48 +JY8QFUQ01CPEX7 IGG2 29 213 13.62 +JY8QFUQ01CPKFW IGA2 24 219 10.96 +JY8QFUQ01CQ2DI IGA2 19 213 8.92 +JY8QFUQ01CQFLG IGA2 20 216 9.26 +JY8QFUQ01CQHUH IGA1 21 213 9.86 +JY8QFUQ01CQKI9 IGA1 15 213 7.04 +JY8QFUQ01CQOIV IGA1 38 213 17.84 +JY8QFUQ01CQRVK IGA2 11 212 5.19 +JY8QFUQ01CQSBL IGG1 19 210 9.05 +JY8QFUQ01CQWKF IGG1 26 212 12.26 +JY8QFUQ01CR76J IGG1 33 216 15.28 +JY8QFUQ01CR7U0 IGA2 27 209 12.92 +JY8QFUQ01CR8IO IGA1 35 213 16.43 +JY8QFUQ01CRBJ3 IGA2 29 216 13.43 +JY8QFUQ01CRNW3 IGA1 25 213 11.74 +JY8QFUQ01CRPMT IGA1 23 213 10.8 +JY8QFUQ01CRXKV IGA1 32 216 14.81 +JY8QFUQ01CRXS1 IGA1 22 210 10.48 +JY8QFUQ01CS8O3 IGA2 9 210 4.29 +JY8QFUQ01CSGBR IGG1 18 212 8.49 +JY8QFUQ01CSVFI IGA2 24 210 11.43 +JY8QFUQ01CSWQD IGA2 14 213 6.57 +JY8QFUQ01CT0HD IGG2 17 211 8.06 +JY8QFUQ01CT3CN IGA1 19 212 8.96 +JY8QFUQ01CTI25 IGA1 9 213 4.23 +JY8QFUQ01CTJ46 IGA2 29 213 13.62 +JY8QFUQ01CU8BS IGA1 15 211 7.11 +JY8QFUQ01CU8RS IGG2 13 210 6.19 +JY8QFUQ01CVKGA IGG2 14 213 6.57 +JY8QFUQ01CVRND IGG1 37 213 17.37 +JY8QFUQ01CVY8N IGA1 22 210 10.48 +JY8QFUQ01CW65U IGG2 14 213 6.57 +JY8QFUQ01CWEVR IGA1 12 213 5.63 +JY8QFUQ01CWPJP IGA1 26 216 12.04 +JY8QFUQ01CWQZU IGA2 13 213 6.1 +JY8QFUQ01CWYA5 IGG1 42 210 20 +JY8QFUQ01CXAGM IGA1 23 213 10.8 +JY8QFUQ01CXD17 IGA1 28 213 13.15 +JY8QFUQ01CXIGS IGA2 30 213 14.08 +JY8QFUQ01CXM4M IGA2 13 221 5.88 +JY8QFUQ01CY2HZ IGA1 5 213 2.35 +JY8QFUQ01CY3ZT IGA2 22 211 10.43 +JY8QFUQ01CYT8I IGA2 10 213 4.69 +JY8QFUQ01CYTAI IGG1 40 210 19.05 +JY8QFUQ01CYU3K IGG3 13 213 6.1 +JY8QFUQ01CYX7E IGA2 25 216 11.57 +JY8QFUQ01CZ1IL IGA2 17 213 7.98 +JY8QFUQ01CZDE0 IGA1 30 213 14.08 +JY8QFUQ01CZH0L IGA2 16 212 7.55 +JY8QFUQ01DABGE IGG2 12 213 5.63 +JY8QFUQ01DARQJ IGA2 15 213 7.04 +JY8QFUQ01DDQ8A IGG2 15 213 7.04 +JY8QFUQ01DECT5 IGG2 41 213 19.25 +JY8QFUQ01DEK3I IGG3 12 213 5.63 +JY8QFUQ01DEX6Z IGG1 22 215 10.23 +JY8QFUQ01DFG5Q IGA1 26 210 12.38 +JY8QFUQ01DFJK6 IGG2 14 213 6.57 +JY8QFUQ01DFMQ1 IGA1 9 210 4.29 +JY8QFUQ01DFNKY IGA1 3 219 1.37 +JY8QFUQ01DFY56 IGA1 25 213 11.74 +JY8QFUQ01DG3GX IGA2 12 213 5.63 +JY8QFUQ01DG853 IGA1 17 213 7.98 +JY8QFUQ01DGFLY IGA2 15 213 7.04 +JY8QFUQ01DGFY7 IGA1 10 213 4.69 +JY8QFUQ01DH08T IGA1 18 210 8.57 +JY8QFUQ01DH0MW IGA2 6 213 2.82 +JY8QFUQ01DHC55 IGG1 25 213 11.74 +JY8QFUQ01DHH0D IGG3 16 219 7.31 +JY8QFUQ01DHJ30 IGA2 5 219 2.28 +JY8QFUQ01DI98R IGA2 25 213 11.74 +JY8QFUQ01DIWKI IGG3 9 213 4.23 +JY8QFUQ01DJ168 IGG1 14 212 6.6 +JY8QFUQ01DJCKC IGA2 13 213 6.1 +JY8QFUQ01DJQ7I IGA1 13 213 6.1 +JY8QFUQ01DJU2K IGA1 30 210 14.29 +JY8QFUQ01DKCDX IGG3 18 213 8.45 +JY8QFUQ01DKKJ0 IGA1 32 213 15.02 +JY8QFUQ01DLA1D IGA1 5 212 2.36 +JY8QFUQ01DM6TL IGA2 23 213 10.8 +JY8QFUQ01DN21P IGA1 12 213 5.63 +JY8QFUQ01DNADY IGG2 28 213 13.15 +JY8QFUQ01DO347 IGA2 15 213 7.04 +JY8QFUQ01DP55Y IGG1 21 216 9.72 +JY8QFUQ01DP8YH IGG2 21 213 9.86 +JY8QFUQ01DPFIO IGA1 13 213 6.1 +JY8QFUQ01DQV12 IGG4 16 213 7.51 +JY8QFUQ01DQVYX IGG2 21 213 9.86 +JY8QFUQ01DRFXI IGG2 24 215 11.16 +JY8QFUQ01DSBEO IGA2 30 213 14.08 +JY8QFUQ01DU1MH IGA2 4 210 1.9 +JY8QFUQ01DUKA9 IGG1 28 213 13.15 +JY8QFUQ01DVTFY IGA1 24 213 11.27
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/validation_data/shm_overview.txt Wed Sep 15 12:24:06 2021 +0000 @@ -0,0 +1,22 @@ + IGA.x IGA.y IGA.z IGA1.x IGA1.y IGA1.z IGA2.x IGA2.y IGA2.z IGG.x IGG.y IGG.z IGG1.x IGG1.y IGG1.z IGG2.x IGG2.y IGG2.z IGG3.x IGG3.y IGG3.z IGG4.x IGG4.y IGG4.z IGM.x IGM.y IGM.z IGE.x IGE.y IGE.z all.x all.y all.z un.x un.y un.z +Number of Mutations (%) 17977 195251 9.2 12223 126298 9.7 5754 68953 8.3 9036 99835 9.1 5492 58332 9.4 2777 31881 8.7 388 5570 7 379 4052 9.4 0 213 0 0 0 0 27013 295299 9.1 3486 40247 8.7 +Median of Number of Mutations (%) 19 213 8.9 20 213 9.4 16.5 213 7.8 18 213 8.5 18 213 8.5 17 213 8.1 13.5 213 6.3 18 213 8.5 0 213 0 0 0 0 18 213 8.5 16 213 7.5 +Transitions (%) 10318 17977 57.4 7067 12223 57.8 3251 5754 56.5 5045 9036 55.8 3062 5492 55.8 1573 2777 56.6 211 388 54.4 199 379 52.5 0 0 0 0 0 15363 27013 56.9 1983 3486 56.9 +Transversions (%) 7659 17977 42.6 5156 12223 42.2 2503 5754 43.5 3991 9036 44.2 2430 5492 44.2 1204 2777 43.4 177 388 45.6 180 379 47.5 0 0 0 0 0 11650 27013 43.1 1503 3486 43.1 +Transitions at G C (%) 5933 10299 57.6 4111 7056 58.3 1822 3243 56.2 2836 5066 56 1736 3093 56.1 885 1567 56.5 112 202 55.4 103 204 50.5 0 0 0 0 0 8769 15365 57.1 1111 1968 56.5 +Targeting of G C (%) 10299 17977 57.3 7056 12223 57.7 3243 5754 56.4 5066 9036 56.1 3093 5492 56.3 1567 2777 56.4 202 388 52.1 204 379 53.8 0 0 0 0 0 15365 27013 56.9 1968 3486 56.5 +Transitions at A T (%) 4385 7678 57.1 2956 5167 57.2 1429 2511 56.9 2209 3970 55.6 1326 2399 55.3 688 1210 56.9 99 186 53.2 96 175 54.9 0 0 0 0 0 6594 11648 56.6 872 1518 57.4 +Targeting of A T (%) 7678 17977 42.7 5167 12223 42.3 2511 5754 43.6 3970 9036 43.9 2399 5492 43.7 1210 2777 43.6 186 388 47.9 175 379 46.2 0 0 0 0 0 11648 27013 43.1 1518 3486 43.5 +FR R/S (ratio) 7123 3750 1.9 4909 2586 1.9 2214 1164 1.9 3622 1847 2 2246 1148 2 1045 560 1.9 164 68 2.4 167 71 2.4 0 0 0 0 0 10745 5597 1.9 1336 719 1.9 +CDR R/S (ratio) 5901 1203 4.9 3873 855 4.5 2028 348 5.8 2962 605 4.9 1717 381 4.5 998 174 5.7 126 30 4.2 121 20 6 0 0 0 0 0 8863 1808 4.9 1208 223 5.4 +nt in FR 151127 195251 77.4 97738 126298 77.4 53389 68953 77.4 77252 99835 77.4 45155 58332 77.4 24674 31881 77.4 4289 5570 77 3134 4052 77.3 165 213 77.5 0 0 0 228544 295299 77.4 31179 40247 77.5 +nt in CDR 44124 195251 22.6 28560 126298 22.6 15564 68953 22.6 22583 99835 22.6 13177 58332 22.6 7207 31881 22.6 1281 5570 23 918 4052 22.7 48 213 22.5 0 0 0 66755 295299 22.6 9068 40247 22.5 +Tandems/Expected (ratio) 2438 2262.33 1.08 1680 1601.93 1.05 758 660.41 1.15 1212 1128.79 1.07 769 710.06 1.08 357 321.62 1.11 43 45.72 0.94 43 51.4 0.84 0 0 0 0 0 0 3650 3391.13 1.08 482 411.6 1.17 +RGYW (%) 3163 17977 17.6 2186 12223 17.9 978 5754 17 1524 9036 16.9 911 5492 16.6 485 2777 17.5 63 388 16.2 65 379 17.2 0 0 0 0 0 0 4687 27013 17.4 602 3486 17.3 +WRCY (%) 2984 17977 16.6 2060 12223 16.9 924 5754 16.1 1445 9036 16 888 5492 16.2 455 2777 16.4 52 388 13.4 50 379 13.2 0 0 0 0 0 0 4429 27013 16.4 614 3486 17.6 +WA (%) 2610 17977 14.5 1715 12223 14 895 5754 15.6 1420 9036 15.7 859 5492 15.6 433 2777 15.6 67 388 17.3 61 379 16.1 0 0 0 0 0 0 4030 27013 14.9 540 3486 15.5 +TW (%) 1561 17977 8.7 1044 12223 8.5 517 5754 9 818 9036 9.1 474 5492 8.6 265 2777 9.5 34 388 8.8 46 379 12.1 0 0 0 0 0 0 2379 27013 8.8 330 3486 9.5 +A 49123 195251 25.16 31648 126298 25.06 17475 68953 25.34 24685 99835 24.73 14372 58332 24.64 7945 31881 24.92 1399 5570 25.12 969 4052 23.91 58 213 27.23 0 0 0 73866 295299 25.01 10122 40247 25.15 +C 48130 195251 24.65 31276 126298 24.76 16854 68953 24.44 25076 99835 25.12 14646 58332 25.11 8009 31881 25.12 1389 5570 24.94 1032 4052 25.47 51 213 23.94 0 0 0 73257 295299 24.81 9848 40247 24.47 +T 43599 195251 22.33 28348 126298 22.45 15251 68953 22.12 22415 99835 22.45 13167 58332 22.57 7087 31881 22.23 1243 5570 22.32 918 4052 22.66 47 213 22.07 0 0 0 66061 295299 22.37 8943 40247 22.22 +G 54399 195251 27.86 35026 126298 27.73 19373 68953 28.1 27659 99835 27.7 16147 58332 27.68 8840 31881 27.73 1539 5570 27.63 1133 4052 27.96 57 213 26.76 0 0 0 82115 295299 27.81 11334 40247 28.16
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/validation_data/transitions_IGA1_sum.txt Wed Sep 15 12:24:06 2021 +0000 @@ -0,0 +1,5 @@ +,A,C,G,T +A,NA,723,1905,754 +C,397,NA,749,2044 +G,2067,1272,NA,527 +T,369,1051,365,NA
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/validation_data/transitions_IGA2_sum.txt Wed Sep 15 12:24:06 2021 +0000 @@ -0,0 +1,5 @@ +,A,C,G,T +A,NA,330,1008,370 +C,180,NA,347,833 +G,989,626,NA,268 +T,191,421,191,NA
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/validation_data/transitions_IGA_sum.txt Wed Sep 15 12:24:06 2021 +0000 @@ -0,0 +1,5 @@ +,A,C,G,T +A,NA,1053,2913,1124 +C,577,NA,1096,2877 +G,3056,1898,NA,795 +T,560,1472,556,NA
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/validation_data/transitions_IGE_sum.txt Wed Sep 15 12:24:06 2021 +0000 @@ -0,0 +1,5 @@ +,A,C,G,T +A,NA,0,0,0 +C,0,NA,0,0 +G,0,0,NA,0 +T,0,0,0,NA
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/validation_data/transitions_IGG1_sum.txt Wed Sep 15 12:24:06 2021 +0000 @@ -0,0 +1,5 @@ +,A,C,G,T +A,NA,370,858,350 +C,165,NA,347,840 +G,896,585,NA,260 +T,176,468,177,NA
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/validation_data/transitions_IGG2_sum.txt Wed Sep 15 12:24:06 2021 +0000 @@ -0,0 +1,5 @@ +,A,C,G,T +A,NA,207,431,171 +C,78,NA,164,411 +G,474,309,NA,131 +T,74,257,70,NA
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/validation_data/transitions_IGG3_sum.txt Wed Sep 15 12:24:06 2021 +0000 @@ -0,0 +1,5 @@ +,A,C,G,T +A,NA,41,69,25 +C,11,NA,13,52 +G,60,50,NA,16 +T,10,30,11,NA
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/validation_data/transitions_IGG4_sum.txt Wed Sep 15 12:24:06 2021 +0000 @@ -0,0 +1,5 @@ +,A,C,G,T +A,NA,27,54,26 +C,14,NA,19,55 +G,48,50,NA,18 +T,12,42,14,NA
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/validation_data/transitions_IGG_sum.txt Wed Sep 15 12:24:06 2021 +0000 @@ -0,0 +1,5 @@ +,A,C,G,T +A,NA,645,1412,572 +C,268,NA,543,1358 +G,1478,994,NA,425 +T,272,797,272,NA
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/validation_data/transitions_all_sum.txt Wed Sep 15 12:24:06 2021 +0000 @@ -0,0 +1,5 @@ +,A,C,G,T +A,NA,1698,4325,1696 +C,845,NA,1639,4235 +G,4534,2892,NA,1220 +T,832,2269,828,NA
--- a/wrapper.sh Thu Feb 25 10:32:32 2021 +0000 +++ b/wrapper.sh Wed Sep 15 12:24:06 2021 +0000 @@ -1,5 +1,5 @@ -#!/bin/bash -#set -e +#!/usr/bin/env bash +set -e -o pipefail dir="$(cd "$(dirname "$0")" && pwd)" input=$1 method=$2 @@ -22,7 +22,12 @@ empty_region_filter=${18} fast=${19} -mkdir $outdir +#exec 5> debug_output.txt +#BASH_XTRACEFD="5" +#PS4='$(date +%s.%N) $LINENO: ' +#set -x + +mkdir -p $outdir tar -xzf $dir/style.tar.gz -C $outdir @@ -447,7 +452,7 @@ echo "---------------- baseline ----------------<br />" >> $log tmp="$PWD" - mkdir $outdir/baseline + mkdir -p $outdir/baseline echo "<center><h1>BASELINe</h1>" >> $output header_substring="Based on CDR1, FR2, CDR2, FR3 (27:27:38:55:65:104:-)" @@ -557,7 +562,7 @@ echo "---------------- change-o MakeDB ----------------" - mkdir $outdir/change_o + mkdir -p $outdir/change_o tmp="$PWD"