vdjtools處理mixcr數(shù)據(jù)-實(shí)戰(zhàn)篇

immune repertoire sequencing data (RepSeq data)免疫組庫數(shù)據(jù)

vdjtools 分析流程:

image.png

vdjtools 目前版本是1.2.1

https://github.com/mikessh/vdjtools

是一款基于java框架的工具

可以分析這些工具的結(jié)果文件。

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

vdjtools能將上述這些軟件的結(jié)果轉(zhuǎn)化為VDJtools自己專屬的格式:

image.png

第10列之后的值將被認(rèn)為是clonotype注釋信息,在分析中保持不變。

如何轉(zhuǎn)換:

MiTcr數(shù)據(jù):
java -jar vdjtools-1.2.1.jar Convert -S MiTcr -m metadata.txt output_prefix
MiGEC數(shù)據(jù):
java -jar vdjtools-1.2.1.jar Convert -S migec -m metadata.txt output_prefix
IgBlast (MIGMAP) 數(shù)據(jù):
java -jar vdjtools-1.2.1.jar Convert -S MigMap -m metadata.txt output_prefix
ImmunoSEQ數(shù)據(jù):
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數(shù)據(jù):
只接受:3_Nt-sequences_${chain}_${sx}_${date}.txt
java -jar vdjtools-1.2.1.jar Convert -S imgthighvquest -m metadata.txt output_prefix

還可以設(shè)置-c壓縮結(jié)果。

metadata是啥?

很多時候需要多樣本的批處理時就要用到metadata,由于單個樣本調(diào)用vdjtools時的初始化時間較長,所以優(yōu)先建議使用批處理。
這時候就可以使用-m參數(shù),指定metadata文件,這個文件應(yīng)該包含樣本的路徑,樣本名稱,還可以補(bǔ)充其他的列(比如用于后續(xù)分析或畫圖的列)

Note:

VDJtools會將metadata信息補(bǔ)充到輸出結(jié)果的表格中,用于后續(xù)分析
在一些分析過程中比如很多畫圖的時候,metadata的值會被認(rèn)為是factor類型
當(dāng)涉及到修改clonotype豐度表格時,比如down-sampling,VDJtools會復(fù)制一個metadata文件給新生成的樣本。
新生成的metadata文件會包含一個..filter..列,它包含一個以冒號隔開的列表,比如用-n 50000執(zhí)行完DownSample后的結(jié)果會增加一個..filter..列,值為ds:50000。


image.png

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

第一列是絕對路徑或相對路徑
第二列sample.id必須是唯一的

安裝:

直接從github上下載
還需要安裝R>3.0用于畫圖。

實(shí)戰(zhàn):

第一步:準(zhǔn)備工作

找了3個mixcr生成的樣本結(jié)果:每個文件內(nèi)容如下:

image.png

運(yùn)行vdjtools時,建議先安裝相應(yīng)的Rpackage,直接運(yùn)行下面命令,就會將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

出現(xiàn)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結(jié)果轉(zhuǎn)化為VDJtools格式:

如果只有一個樣本就直接用文件轉(zhuǎn)化,不需要metadata參數(shù),

java -jar ../vdjtools-1.2.1.jar Convert -S mixcr sample1.mixcr.TRA.txt vdjtools_Format
但是我們有多個樣本,所以最好還是先創(chuàng)建一個metadata.txt文件,將這三個文件寫進(jìn)去,只需要convert一次。

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

結(jié)果文件的前綴我設(shè)置為:vdjtools_Format,所以生成了三個以vdjtools_Format開頭的文件:

image.png

并且生成了新的metadata.txt

image.png

第三步:

然后就可以開始正式使用分析模塊了:

先來看看Basic analysis中的6個模塊:

CalcBasicStats

輸出一些基本統(tǒng)計(jì)信息,比如read count,clonotype數(shù)量等,生成一個以.basicstats.txt為后綴的文件,沒有圖,

命令:

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

結(jié)果:

生成basic_01_CalcBasicStats.basicstats.txt,結(jié)果內(nèi)容如下截圖:

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

結(jié)果:

image.png
image.png
image.png

CalcSpectratype:

計(jì)算cdr3的譜型,由于非擴(kuò)增T細(xì)胞和b細(xì)胞的譜型具有對稱的高斯樣分布,因此譜型對檢測病理和高克隆基因庫非常有用。

命令:

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

結(jié)果:

image.png

PlotFancySpectratype

可視化譜型圖,每個樣本單獨(dú)分析

命令:

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

結(jié)果:

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

結(jié)果報錯:

image.png

這個報錯是在chordDiagram函數(shù)這里,處理:再R腳本中添加reduce=0,再重新跑一下R腳本。

image.png

結(jié)果:

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

結(jié)果:

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

結(jié)果:

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

結(jié)果:

image.png

CalcDiversityStats

命令

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

結(jié)果

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

結(jié)果:

image.png
image
image

CalcPairwiseDistances

命令:

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

結(jié)果:

image.png

ClusterSamples聚類圖

命令

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

結(jié)果:

image.png
image.png
image.png

TestClusters

命令:

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

結(jié)果:

image.png
image.png

TrackClonotypes

命令:

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

結(jié)果:

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

還有個一在線分析工具:Clonotype browser https://vdjviz.cdr3.net/

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容