全网最全免疫组库分析流程+代码复现(一)

免疫组库(Immune Repertoire,IR) 是指个体在某个特定时间其循环系统中所有多样性的T细胞和B细胞的总和,即V(D)J序列多样性的集合。免疫组库分析是指运用高通量测序技术对个体免疫组库多样性分析,以及对T细胞和B细胞独特性分析。
关于更多免疫组库分析的相关概念可以参考https://www.nature.com/articles/s41435-022-00180-w

免疫组库分析全流程

1.测序数据标准化

因为建库质量不同我们得到的测序数据的有效序列的占比可能是是不同的且测序结果的数据大小也可能不同,为了保证分析的准确性,我们需要对测序数据进行标准化处理。
不过在大多研究中不进行标准化处理,我们在分析时可以根据自己课题不同的需求来决定是否需要标准化。

个人理解:此步标准化是为了消除建库中的误差,比如建库时间不同,样品批次不同等等。如果能保证建库操作没有误差切批次一致的情况下,可以不进行标准化处理,即认为误差是样本本身的差异。

也可以在恢复完免疫组库后在对结果进行标准化,这个后面再说。
对原始数据的标准化,我一般会先使用trimmomatic对数据进行过滤,然后使用seqkit软件抽样,保证每个样本的总reads数是一致的。
具体用法见:https://www.jianshu.com/p/a8935adebaae

#使用trimmomatic去除接头序列和低质量的序列
cat name.txt |while read id
do
trimmomatic PE -phred33 \
./rawdata/${id}_R1_001.fastq.gz ./rawdata/${id}_R2_001.fastq.gz \
./rawdata/clean_rawdata/${id}_paired_R1.fastq.gz ./rawdata/clean_rawdata/${id}_unpaired_R1.fastq.gz \
./rawdata/clean_rawdata/${id}_paired_R2.fastq.gz ./rawdata/clean_rawdata/${id}_unpaired_R2.fastq.gz \
ILLUMINACLIP:/home/heboxiao/project/conda3/envs/RNAseq/share/trimmomatic-0.39-2/adapters/TruSeq2-PE.fa:2:30:10:1:true \
LEADING:3 \
TRAILING:3 \
SLIDINGWINDOW:4:15 \
MINLEN:50
done
#使用seqkit提取有效序列,建库时添加了一段固定序列
cat name.txt |while read id
do
zcat ./rawdata/clean_rawdata/${id}_paired_R1.fastq.gz | seqkit grep -s -r -i -p ^ATGCATCGGATCTTCAGCATGA -o ./rawdata/clean_${id}_R1.fastq.gz
seqkit seq ./rawdata/clean_${id}_R1.fastq.gz -n -i > tmp.txt
seqkit grep -f tmp.txt ./rawdata/clean_rawdata/${id}_paired_R2.fastq.gz -o ./rawdata/clean_${id}_R2.fastq.gz
seqkit stats ./rawdata/clean_${name}_R1.fastq.gz >> ./stats.txt
done
#查看stats.txt,以最小的样本reads数作为抽样标准
cat name.txt |while read id
do
zcat ./rawdata/clean_${id}_R1.fastq.gz | seqkit sample -n 1500000 -o ./rawdata/normal/${id}_R1.fastq.gz
seqkit seq ./rawdata/normal/${id}_R1.fastq.gz -n -i > tmp.txt
seqkit grep -f tmp.txt ./rawdata/clean_${id}_R2.fastq.gz -o ./rawdata/normal/${id}_R2.fastq.gz
done

2.使用相关软件(Trust4 or Mixcr)进行组装

TRUST4是哈佛Shirley Liu课题组研发的一款免疫组库分析工具,他可以直接从Bluk RNA-seq数据和scRNA-seq数据中重构免疫组库信息,当然免疫组测序也可以使用此软件分析。
文章内提到,与传统的mixcr相比,在RNAseq数据处理方面有不错的效果。https://doi.org/10.1038/s41592-021-01142-2

Tcr Receptor Utilities for Solid Tissue (TRUST) is a computational tool to analyze TCR and BCR sequences using unselected RNA sequencing data, profiled from solid tissues, including tumors. TRUST4 performs de novo assembly on V, J, C genes including the hypervariable complementarity-determining region 3 (CDR3) and reports consensus of BCR/TCR sequences. TRUST4 then realigns the contigs to IMGT reference gene sequences to report the corresponding information. TRUST4 supports both single-end and paired-end sequencing data with any read length.

用法说明

Usage: ./run-trust4 [OPTIONS]
        Required:
                -b STRING: path to bam file 
                -1 STRING -2 STRING: path to paired-end read files
                -u STRING: path to single-end read file
                -f STRING: path to the fasta file coordinate and sequence of V/D/J/C genes
                
Optional:
                --ref STRING: path to detailed V/D/J/C gene reference file, such as from IMGT database. (default: not used). 
  • -b:可以使用已经比对到基因组上的bam文件
  • -1,-2,-u:输入fastq文件,可以是压缩的。-u为单端测序
  • -f:VDJC基因的参考基因组,包含基因坐标。 如果输入的fastq文件可以直接把IMGT的的database当做-f输入
  • --ref:更详细的参考基因组,比如来自于IMGT的database,包含基因的亚类,比如IGHA*02。

两个参考文件的构建

两个参考文件的区别
#  GRCm38_bcrtcr.fa
>TRBV1 6 40891229 40891885 +
GGATTCTCTTCTCTTGCCTGATGCCCTGCATGCCCCACAGAGATAGAGAGAACCTGAGGTCTCAGAGATGTGGCAGTTTTGCATTCTGTGCCTCTGTGTACTCATGGCTTCTGTGGCTACAGACCCCACAGTGACTTTGCTGGAGCAAAACCCAAGGTGGCGTCTGGTAC
>TRBV2 6 41047340 41047995 +
GCACAAGAAACTGTCTGAGGAGACCCAAGAGGTAGCTGGGTATGGTCTAGGTCTGGGAGCCTATGCCCTGACAAGCATGAAGGGCAAAGAGGAAGTGTGAGCTGAAACCATCTACACAACAGGGAGCATCCAAGCAAAGCATTTTACAGGTCAGCAAAAGGCACCCAGAC
.........

#  mouse_IMGT+C.fa
>IGHA*02
GGTCCTACTCCTCCTCCTCCTATTACTATTCCT..................TCCTGCCAG
CCCAGCCTGTCACTGCAGCGGCCAGCTCTTGAGGACCTGCTCCTG......GGTTCAGAT
GCCAGCATCACATGTACTCTGAATGGCCTGAGAAATCCT...GAGGGAGCTGTCTTCACC
TGGGAGCCCTCCACTGGGAAGGAT............GCAGTGCAGAAGAAAGCTGCGCAG
AAT
>IGHA*03
............GAGTCTGCGAGAAATCCCACCATCTACCCACTGACACTCCCACCAGCT
CTGTCA............AGTGACCCAGTGATAATCGGCTGCCTGATTCACGATTACTTC
CCTTCC...GGCACGATGAATGTGACCTGGGGAAAGAGTGGGAAGGATATA.........
...ACCACCGTAAACTTCCCACCTGCCCTGGCCTCTGGG..................GGA
CGGTACACCATGAGCAGCCAGTTGACCCTGCCAGCTGTCGAGTGC......CCAGAAGGA
.......

更多的Usage请参考:https://github.com/liulab-dfci/TRUST4

这里演示免疫组测序的分析方法

Bluk测序

cat name.txt|while read name
do
~/project/biosoft/TRUST4/run-trust4 \
-1 ./rawdata/${name}_R1_001.fastq.gz \
-2 ./rawdata/${name}_R2_001.fastq.gz \
-t 8 \
-f /home/heboxiao/project/biosoft/TRUST4/mouse/GRCm38_bcrtcr.fa \
--ref /home/heboxiao/project/biosoft/TRUST4/mouse/mouse_IMGT+C.fa \
--repseq \ #如果是RNA-seq数据这个参数去掉即可
-o ./results/${name}
done

输出文件中主要关注xxx_report.tsv,格式如下:

#count frequency CDR3nt CDR3aa V D J C cid cid_full_length
216544 1.025334e-01 TATCTCTGTGCTTTGGGGAATTATGGGAGCAGTGGCAACAAGCTCATCTTT YLCALGNYGSSGNKLIF TRAV13-1*02 . TRAJ32*01 . assemble6 0
182189 8.626656e-02 TATCTCTGTGCTCCTCTCGGGATACAACAAACTCACTTTT out_of_frame TRAV13-1*01 . TRAJ11*01 . assemble4 0
181785 8.607514e-02 TACTACTGCGCTCTGAGTGATCCAGGCACTGGGAGTAACAGGCTCACTTTT YYCALSDPGTGSNRLTF TRAV6N-6*01 . TRAJ28*01 . assemble5 0

需要注意的是频率是IG和TR单独分开计算的,在CDR3中_代表终止子,?代表核酸序列中出现了N。

含有barcode和umi的测序数据分析

示例:10x空间的免疫组库分析

cat name.txt|while read name
do
~/project/biosoft/TRUST4/run-trust4 \
-1 ./rawdata/${name}_R1_001.fastq.gz \
-2 ./rawdata/${name}_R2_001.fastq.gz \
-f /home/heboxiao/project/biosoft/TRUST4/mouse/GRCm38_bcrtcr.fa \
--ref /home/heboxiao/project/biosoft/TRUST4/mouse/mouse_IMGT+C.fa \
--read1Range 28 -1 \
--read2Range 0 -1 \
--barcode ./rawdata/${name}_R1_001.fastq.gz \
--barcodeRange 0 15 + \
--UMI ./rawdata/${name}_R1_001.fastq.gz \
--umiRange 16 27 + \
--repseq \
--outputReadAssignment \
-o ./results/${name}
done

会多出来一个xxxx_barcode_report.tsv文件,每个barcode会选取两个CDR3链,格式如下:

#barcode cell_type chain1 chain2 secondary_chain1 secondary_chain2
AATACCGGAGGGCTGT abT TRBV2*01,*,TRBJ2-2*01,*,TGTGCCAGCAGCCAAGACCCCGTAAACACCGGGCAGCTCTACTTT,CASSQDPVNTGQLYF,1.00,AATACCGGAGGGCTGT_1089,0.00,0 * TRBV5*01,T
TGCATGTGGTAATCTA abT TRBV14*01,TRBD1*01,TRBJ1-1*01,*,TGTGCCAGCAGCCGGGGACAAACAAACACAGAAGTCTTCTTT,CASSRGQTNTEVFF,1.00,TGCATGTGGTAATCTA_7760,100.00,0 * *
GAGCTATGGGCATATC abT TRBV14*01,TRBD1*01,TRBJ1-1*01,*,TGTGCCAGCAGCCGGGGACAAACAAACACAGAAGTCTTCTTT,CASSRGQTNTEVFF,1.00,GAGCTATGGGCATATC_8159,100.00,0 * *

后续分析参考:https://hbox.cool/immune-repertoire/

3.使用VDJtools分析结果

基于Java的分析软件,command line运行模式。
使用vdjtools进行免疫组库分析

4.使用immunarch R包进行可视化

兼容mixcrvdjtools的结果,可以直接可视化。

5.使用R语言手动进行个性化分析

自己写代码实现,可以对免疫组库的结构更加清晰,同时对结果合理性的判断也会更加准确。

  • 免疫组库多样性(Richness/Diversity/Clonality)的计算及可视化
  • CDR3 length distribution analysis
  • 氨基酸占比分析
  • Gene usage analysis
  • V-J junctions analysis
  • CDR3 amino acid motif
    详细代码
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,053评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,527评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,779评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,685评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,699评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,609评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,989评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,654评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,890评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,634评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,716评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,394评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,976评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,950评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,191评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,849评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,458评论 2 342

推荐阅读更多精彩内容