LOH
杂合性缺失(英语:Loss of heterozygosity,缩写LoH)是指一种使某特定基因缺失的基因组变化。所有二倍体细胞(如人类体细胞)皆有两套基因组,分别来自两亲本的染色体对;每份基因组包含大约30亿个碱基。人们多数基因组上的位置都是一致的,但一小部分存在差异,这种差异通常是含有两种碱基中二选一(例如A或G),而这些位点被称为“单核苷酸多态性”,英文常简写为SNP。当来自亲本的基因组拷贝在这些多态性区域(即SNP)上有不同的碱基,则该区域具有杂合性。体细胞内的染色体大多成对,使得SNP位置有可能出现杂合现象。但是,某一亲本某区域的的拷贝有时可能丢失,以致于某一SNP位置只有一份拷贝而无法具有杂合性,此之谓“杂合性缺失”。由于某一亲本拷贝丢失的杂合性缺失也被称为半合子状态。(维基百科)
前期准备
LOHHLA是一款用于计算HLA区域的LOH的工具。
LOHHLA依赖于Bedtools、samtools、Novoalign、picard、R。
其中R包需要seqinr、biostrings、beewarm、zoo、rsamtools。工具都比较容易获取以及安装,稍微麻烦的是novoalign。需要注意的是novoalign的v4版本是需要商业许可的,因此下载v3版本即可。
我在测试时,发现软件运行总是有莫名其妙的bug,每个参数都最好使用绝对路径。后来因为跑不通因此改用slagtermaarten的改版。除以上依赖项外,还需要安装R包dplyr以及naturalsort。
另外,由于我安装的picard已经是最新的版本,因此还需要修改functions.R中的部分代码。
例如,将以下
sortBAM <- paste('java -jar ', gatkDir, '/SortSam.jar',
' I=', sample_dir, '/', BAMid,
'.chr6region.patient.reference.hlas.bam',
' O=', sample_dir, '/', BAMid,
'.chr6region.patient.reference.hlas.csorted.bam',
' SORT_ORDER=coordinate', sep = '')
修改为
sortBAM <- paste('java -jar ', gatkDir, '/picard.jar SortSam',
' I=', sample_dir, '/', BAMid,
'.chr6region.patient.reference.hlas.bam',
' O=', sample_dir, '/', BAMid,
'.chr6region.patient.reference.hlas.csorted.bam',
' SORT_ORDER=coordinate', sep = '')
所有使用picard的地方(gatkDir)均需修改。
另外LOHHLA需要使用HLA的fasta数据库来源于Board的polysolver。但是因为polysolver获取和安装比较麻烦,因此可使用这个进行替代。我们不需要整个项目,只需要数据库即可。
HLA分型
LOHHLA需要的输入文件中除bam外,还需要HLA Class I的分型结果以及肿瘤倍性与纯度信息。
其中HLA分型可使用Optitype、Polysolver、HLA-HD、HLAscan、seq2HLA等获得。从我目前的使用感受来说,数据量比较小的时候用Optitype,数据量大的时候用seq2HLA。
获取分型后,将分型处理为以下格式,hlas.txt。
hla_a_24_30
hla_a_02_03_01
hla_b_35_05_01
hla_b_27_04_01
hla_c_04_328
hla_c_12_02_02
肿瘤倍性与纯度
这是LOHHLA除bam文件外需要的输入之一。一般来说,肿瘤纯度可以直接从病理科获得。也有NGS下进行肿瘤纯度评估的方法,如PureCN、ThetA、PyLOH、ABSOLUTE等。
最终处理为以下格式,solutions.txt
Ploidy tumorPurity tumorPloidy
example_tumor_sorted 2 0.8 1.8
LOHHLA运行
LOHHLA的slagtermaarten版运行命令如下,注意以下所有文件以及文件夹路径均建议使用绝对路径。
Rscript LOHHLAscript.R \
--patientID tumorID \
--outputDir /patt/to/outputDir \
--normalBAMfile /patt/to/bam/normal.bam \
--tumorBAMfile /patt/to/bam/tumor.bam \
--BAMDir /patt/to/bam/ \
--hlaPath /path/to/hlas.txt \
--HLAfastaLoc /path/to/abc_complete.fasta \
--CopyNumLoc /patt/to/solutions.txt \
--mappingStep TRUE \
--minCoverageFilter 10 \
--fishingStep TRUE \
--cleanUp TRUE \
--gatkDir /path/to/picard \
--novoDir /path/to/Novosoft/bin
运行完成后,结果位于DNA.HLAlossPrediction_CI.tsv文件。HLA-A、HLA-B、HLA-C会各占一行。 判断LOH的方式应为PVal_unique值小于0.01时(置信度高),HLA_type2copyNum_withBAFBin值小于-1(log2(0.5))(待确认)。
其他
除LOHHLA外,在github上还有一个HLALOH项目。看了下代码,应该是将lohhla的部分代码拆分了再使用自己的部分内容进行替代。可以测试一下。