美文网首页免疫组库
vdjtools处理mixcr数据-实战篇

vdjtools处理mixcr数据-实战篇

作者: 11的雾 | 来源:发表于2022-02-08 21:01 被阅读0次

    immune repertoire sequencing data (RepSeq data)免疫组库数据

    vdjtools 分析流程:

    image.png

    vdjtools 目前版本是1.2.1

    https://github.com/mikessh/vdjtools

    是一款基于java框架的工具

    可以分析这些工具的结果文件。

    • MiTCR
    • MiGEC
    • IgBlast (via our MIGMAP wrapper)
    • IMGT
    • ImmunoSEQ
    • VDJdb
    • Vidjil
    • RTCR
    • MiXCR
    • ImSEQ

    vdjtools能将上述这些软件的结果转化为VDJtools自己专属的格式:

    image.png

    第10列之后的值将被认为是clonotype注释信息,在分析中保持不变。

    如何转换:

    MiTcr数据:
    java -jar vdjtools-1.2.1.jar Convert -S MiTcr -m metadata.txt output_prefix
    MiGEC数据:
    java -jar vdjtools-1.2.1.jar Convert -S migec -m metadata.txt output_prefix
    IgBlast (MIGMAP) 数据:
    java -jar vdjtools-1.2.1.jar Convert -S MigMap -m metadata.txt output_prefix
    ImmunoSEQ数据:
    java -jar vdjtools-1.2.1.jar Convert -S ImmunoSeq -m metadata.txt output_prefix
    如果你用Export samples v2
    java -jar vdjtools-1.2.1.jar Convert -S ImmunoSeqv2 -m metadata.txt output_prefix
    IMGT/HighV-QUEST数据:
    只接受:3_Nt-sequences_${chain}_${sx}_${date}.txt
    java -jar vdjtools-1.2.1.jar Convert -S imgthighvquest -m metadata.txt output_prefix
    

    还可以设置-c压缩结果。

    metadata是啥?

    很多时候需要多样本的批处理时就要用到metadata,由于单个样本调用vdjtools时的初始化时间较长,所以优先建议使用批处理。
    这时候就可以使用-m参数,指定metadata文件,这个文件应该包含样本的路径,样本名称,还可以补充其他的列(比如用于后续分析或画图的列)

    Note:

    VDJtools会将metadata信息补充到输出结果的表格中,用于后续分析
    在一些分析过程中比如很多画图的时候,metadata的值会被认为是factor类型
    当涉及到修改clonotype丰度表格时,比如down-sampling,VDJtools会复制一个metadata文件给新生成的样本。
    新生成的metadata文件会包含一个..filter..列,它包含一个以冒号隔开的列表,比如用-n 50000执行完DownSample后的结果会增加一个..filter..列,值为ds:50000。


    image.png

    header必须有,第一列,第二列必须是file.name,sample.id,第三列之后随意

    第一列是绝对路径或相对路径
    第二列sample.id必须是唯一的

    安装:

    直接从github上下载
    还需要安装R>3.0用于画图。

    实战:

    第一步:准备工作

    找了3个mixcr生成的样本结果:每个文件内容如下:

    image.png

    运行vdjtools时,建议先安装相应的Rpackage,直接运行下面命令,就会将VDJtools所需要的R包安装到vdjtools-1.2.1.jar同目录中,

    java -jar vdjtools-1.2.1.jar RInstall

    image.png

    或者可以自己安装下面这些包,

    c("reshape2", "FField", "reshape", "gplots", "gridExtra", "circlize", "ggplot2", "grid", "VennDiagram", "RColorBrewer", "plotrix", "ape", "MASS", "scales")

    image.png

    出现PASSED 表示成功

    检查哪些包没有安装:

    args <- c("reshape2", "FField", "reshape", "gplots", "gridExtra", "circlize", "ggplot2", "grid", "VennDiagram", "RColorBrewer", "plotrix", "ape", "MASS", "scales")
    passed <- T
    for (i in 1:length(args)) {
       if (!args[i] %in% rownames(installed.packages())) {
           print(paste("FAILED to install ", args[i]))
           passed <- F
       }
    }
    if (passed) {
       print("PASSED")
    }
    

    第2步:将mixcr结果转化为VDJtools格式:

    如果只有一个样本就直接用文件转化,不需要metadata参数,

    java -jar ../vdjtools-1.2.1.jar Convert -S mixcr sample1.mixcr.TRA.txt vdjtools_Format
    但是我们有多个样本,所以最好还是先创建一个metadata.txt文件,将这三个文件写进去,只需要convert一次。

    image.png
    java -jar ../vdjtools-1.2.1.jar Convert -S mixcr -m metadata.txt  vdjtools_Format
    

    结果文件的前缀我设置为:vdjtools_Format,所以生成了三个以vdjtools_Format开头的文件:

    image.png

    并且生成了新的metadata.txt

    image.png

    第三步:

    然后就可以开始正式使用分析模块了:

    先来看看Basic analysis中的6个模块:

    CalcBasicStats

    输出一些基本统计信息,比如read count,clonotype数量等,生成一个以.basicstats.txt为后缀的文件,没有图,

    命令:

    java -jar ../vdjtools-1.2.1.jar CalcBasicStats -m metadata.txt basic_01_CalcBasicStats

    结果:

    生成basic_01_CalcBasicStats.basicstats.txt,结果内容如下截图:

    image.png

    CalcSegmentUsage:

    生成两个heatmap图和一个vexpr_plot.r可以自己修改r脚本,

    命令:

    java -jar ../vdjtools-1.2.1.jar CalcSegmentUsage -m metadata.txt --plot --plot-type png basic_02_CalcSegmentUsage

    结果:

    image.png image.png image.png

    CalcSpectratype:

    计算cdr3的谱型,由于非扩增T细胞和b细胞的谱型具有对称的高斯样分布,因此谱型对检测病理和高克隆基因库非常有用。

    命令:

    java -jar ../vdjtools-1.2.1.jar CalcSpectratype -m metadata.txt --amino-acid basic_03_CalcSpectratype_aa

    结果:

    image.png

    PlotFancySpectratype

    可视化谱型图,每个样本单独分析

    命令:

    java -jar ../vdjtools-1.2.1.jar PlotFancySpectratype  --top 20 --plot-type png vdjtools_Format.sample1.txt basic_04_PlotFancySpectratype_sample1
    java -jar ../vdjtools-1.2.1.jar PlotFancySpectratype  --top 20 --plot-type png vdjtools_Format.sample2.txt basic_04_PlotFancySpectratype_sample2
    java -jar ../vdjtools-1.2.1.jar PlotFancySpectratype  --top 20 --plot-type png vdjtools_Format.sample3.txt basic_04_PlotFancySpectratype_sample3
    

    结果:

    image.png image.png

    PlotFancyVJUsage

    命令:

    java -jar ../vdjtools-1.2.1.jar PlotFancyVJUsage --plot-type png vdjtools_Format.sample1.txt basic_05_circos_sample1
    java -jar ../vdjtools-1.2.1.jar PlotFancyVJUsage --plot-type png vdjtools_Format.sample2.txt basic_05_circos_sample2
    java -jar ../vdjtools-1.2.1.jar PlotFancyVJUsage --plot-type png vdjtools_Format.sample3.txt basic_05_circos_sample3
    

    结果报错:

    image.png

    这个报错是在chordDiagram函数这里,处理:再R脚本中添加reduce=0,再重新跑一下R脚本。

    image.png

    结果:

    image.png

    PlotSpectratypeV

    命令:

    java -jar ../vdjtools-1.2.1.jar PlotSpectratypeV --top 12 --plot-type png vdjtools_Format.sample1.txt basic_06_PlotSpectratypeV_sample1
    java -jar ../vdjtools-1.2.1.jar PlotSpectratypeV --top 12 --plot-type png vdjtools_Format.sample2.txt basic_06_PlotSpectratypeV_sample2
    java -jar ../vdjtools-1.2.1.jar PlotSpectratypeV --top 12 --plot-type png vdjtools_Format.sample3.txt basic_06_PlotSpectratypeV_sample3
    

    结果:

    image.png

    #########################################

    Part 2:第二部分

    PlotQuantileStats

    画一个三层的甜甜圈图

    命令:

    java -jar ../vdjtools-1.2.1.jar PlotQuantileStats --top 5 --plot-type png vdjtools_Format.sample1.txt Diversity_est_01_donut_chart_sample1
    java -jar ../vdjtools-1.2.1.jar PlotQuantileStats --top 5 --plot-type png vdjtools_Format.sample2.txt Diversity_est_01_donut_chart_sample2
    java -jar ../vdjtools-1.2.1.jar PlotQuantileStats --top 5 --plot-type png vdjtools_Format.sample3.txt Diversity_est_01_donut_chart_sample3
    

    结果:

    image.png

    RarefactionPlot

    Plots rarefaction curves for specified list of samples, that is, the dependencies between sample diversity and sample size. Those curves are interpolated from 0 to the current sample size and then extrapolated up to the size of the largest of samples, allowing comparison of diversity estimates. Interpolation and extrapolation are based on multinomial models, see Colwell et al for details.

    命令:

    java -jar ../vdjtools-1.2.1.jar RarefactionPlot -m metadata.txt --plot-type png Diversity_est_02_rarefaction_curve

    结果:

    image.png

    CalcDiversityStats

    命令

    java -jar ../vdjtools-1.2.1.jar CalcDiversityStats -m metadata.txt Diversity_est_03_DiversityStats

    结果

    image.png

    OverlapPair

    两个样本之间的overlap,

    命令:

    java -jar ../vdjtools-1.2.1.jar OverlapPair --top 20 --plot --plot-type png vdjtools_Format.sample1.txt vdjtools_Format.sample2.txt Overlap_01_overlapPair_sample1_sample2

    结果:

    image.png image image

    CalcPairwiseDistances

    命令:

    java -jar ../vdjtools-1.2.1.jar CalcPairwiseDistances --plot --plot-type png -m metadata.txt CalcPairwiseDistances_02

    结果:

    image.png

    ClusterSamples聚类图

    命令

    java -jar ../vdjtools-1.2.1.jar ClusterSamples --plot --plot-type png CalcPairwiseDistances_02 ClusterSamples_03

    结果:

    image.png image.png image.png

    TestClusters

    命令:

    java -jar ../vdjtools-1.2.1.jar TestClusters --plot-tyape png ClusterSamples_03 TestClusters_04

    结果:

    image.png image.png

    TrackClonotypes

    命令:

    java -jar ../vdjtools-1.2.1.jar TrackClonotypes -p --plot-type png -m metadata.txt --top 100 TrackClonotypes_05

    结果:

    image.png image.png image.png image.png

    还有个一在线分析工具:Clonotype browser https://vdjviz.cdr3.net/

    相关文章

      网友评论

        本文标题:vdjtools处理mixcr数据-实战篇

        本文链接:https://www.haomeiwen.com/subject/zklikrtx.html