测试数据来自于Paiano J et al.,采用了TCR-seq的靶向测序方法,原始数据可以从GSE138915下载。
样本信息如下:
Sample Library
SPX6730-1 RNA
SPX6730-2 RNA
SPX6730-tra TRA
SPX6730-trb TRB
MiXCR分析TCR/IG文库的命令为:
mixcr analyze amplicon --species hs \
--starting-material rna \
--5-end v-primers \
--3-end j-primers \
--receptor-type tra \
--adapters adapters-present \
read1 read2 output
arguments parsing:
--species <species> Species, as specified in library file or taxon id. Possible values: hs, mmu, hsa, 9606, 10090 etc.
--5-end <5End> 5'-end of the library. Possible values: no-v-primers, v-primers.
--3-end <3End> 3'-end of the library. Possible values: j-primers, j-c-intron-primers, c-primers.
--receptor-type <chains> Receptor type. Possible values: tcr, bcr, xcr, tra, trb, trd, trg, igh, igk,igl.
--starting-material <value> Starting material. Possible values: rna, dna.
分析随机片段(RNA-Seq, Exome-Seq, etc)的命令为:
mixcr analyze shotgun
--species hg \
--starting-material rna \
read1 [read2] output
Immunarch是MiXCR的后续分析软件,能够直接读取一个文件夹中MiXCR所产生的clonotype text文件。我们可以创建一个metadata.txt
文件来描述样本信息。
Sample libtype type
SPX6730-1.our rna our
SPX6730-2.our rna our
SPX6730-1.pub rna pub
SPX6730-2.pub rna pub
SPX6730-tra.our tra our
SPX6730-tra.pub tra pub
SPX6730-trb.our trb our
SPX6730-trb.pub trb pub
读取文件:
library(immunarch)
mixcr <- repLoad(file_path)
基本统计展示:
num <- repExplore(mixcr$data, .method = "volume")
exp_len <- repExplore(mixcr$data, .method = "len", .col = "aa")
vis(num)
vis(exp_len)
多样性分析:
imm_rare <- repClonality(mixcr$data, .method = "rare")
vis(imm_rare)
div_chao <- repDiversity(mixcr$data, "chao1")
vis(div_chao)
Gene usage computation:
imm_gu <- geneUsage(mixcr$data[1:4], "hs.trbv")
vis(imm_gu, .grid = T)
Spectratyping:
imm_spec <- spectratype(immdata$data[[1]], .quant = "count", .col = "aa+v")
vis(imm_spec)
Tracking clonotypes:
cdr3 <- as.data.frame(table(do.call('rbind',lapply(mixcr$data,function(x) x %>% select(CDR3.aa)))[,1,drop=T]),stringsAsFactors=F)
cdr3 <- cdr3[order(cdr3[,2],decreasing=T),]
target <- cdr3[1:10,1]
tc <- trackClonotypes(mixcr$data, target, .col = "aa")
vis(tc)