生信之旅

扫码分享下吧!
分享

基于高通量数据进行HLA分型

一、简介

HLA即人类白细胞抗原(human leukocyte antigen),是编码人类的主要组织相容性复合体(MHC)的基因。其位于6号染色体的短臂上(6p21.31),包括一系列紧密连锁的基因座,与人类的免疫系统功能密切相关。其中部分基因编码细胞表面抗原,成为每个人的细胞不可混淆的“特征”,是免疫系统区分自身和异体物质的基础。

图1-1:HLA在染色体上的位置(来源于维基百科)

HLA基因可分为3大类:

  • HLA-I型基因包括了HLA-A、HLA-B、HLA-C(HLA-E、F、G)等抗原基因;
  • HLA-II型基因包含了HLA-DP、HLA-DQ、HLA-DR、HLA-DN和HLA-DO等系列基因;
  • HLA-III型基因与前两型不同的是第三类MHC分子主要属于补体系统,参加不分别免疫。它可下分为C2、C4和BF等

HLA等位基因命名见下图所示:

图1-2:HLA命名

  1. HLA是固定前缀;
  2. A代表基因名称,前缀和基因名称之间用短横线连接;
  3. *星号作为分隔符,分隔符之后是同一个基因的不同allel,由冒号分隔的多个部分构成,最多包含4个部分;
  4. 第一组02代表不同的血清学类型,根据血清学鉴定的结果对不同抗原进行分类;
  5. 第二组101代表一种特定类型的蛋白;
  6. 第三组的01代表发生在编码区的同义突变;
  7. 第四组的02代表发生在非编码区的基因突变;
  8. N为后缀,代表了蛋白的表达水平。
  • 每一个HLA的Allel都会有一个唯一的ID,有时会在这些ID后面添加不同的后缀,不同后缀的含义不同(N、L、S、Q、C、A),具体解释如下:
  • N表示该等位基因不表达;
  • L代表low, 表示这种allel的表达水平相比正常水平要低;
  • S表示蛋白产物不是位于细胞表面,而是一种可溶性的分泌蛋白;
  • C表示蛋白产物不是位于细胞表面,而是位于细胞质中;
  • A表示不确定这个allel的蛋白产物是否存在;
  • Q表示这个allel会对其他等位基因的表达造成影响。

下面介绍两个基于高通量数据进行HLA分型的软件HALscan和OptiType。

二、HLAscan

HLAscan是一个基于比对的程序,在考虑read分布的情况下确定hla单倍型,可免费用于学术用途,商业下载和安装需要许可。github地址为:https://github.com/SyntekabioTools/HLAscan

下面介绍下它的安装使用:

wget -c https://github.com/SyntekabioTools/HLAscan/releases/download/v2.1.4/hla_scan_r_v2.1.4
chmod a+x hla_scan_r_v2.1.4
mv hla_scan_r_v2.1.4 ~/.local/bin/hla_scan  # 为方便使用,将其移动到个人PATH路径下,并重命名

下载对应的测试集并解压:

wget -c https://github.com/SyntekabioTools/HLAscan/releases/download/v2.0.0/dataset.zip
unzip dataset.zip

需要注意的是,解压后不仅有测试集还有对应的数据库,下面我们使用其来进行HLA分型:

hla_scan -b data/NA12155.chr6.bam -d db/HLA-ALL.IMGT -v 38

其结果如下:

=====================================================
HLAscan v2.1
Report created
2021. 12. 16.	14:39:13
========================================================
HLA gene : HLA-A
# of considered types : 3182

----------- HLA-Types -----------
[Type 1]	01:11N	EX3_3.29348_45	EX2_3.75926_100	EX4_24.0471_100	EX5_35.1966_100	
[Type 2]	01:11N	EX3_3.29348_45	EX2_3.75926_100	EX4_24.0471_100	EX5_35.1966_100	

由于软件直接输出到终端上,所以平时我们运行的时候可以使用管道将输出重定向到文件中。除了bam文件外,HLAscan的输入还可以是fq文件:

hla_scan -l [fastq] (-r [fastq2]) -d [IMGT/HLA DB]

三、OptiType

OptiType 是一种基于整数线性规划的新型 HLA 基因分型算法,能够通过同时选择所有主要和次要 HLA I 类等位基因,从 NGS 数据中产生准确的 4 位 HLA 基因分型预测。github地址为:https://github.com/FRED-2/OptiType

其安装有几种方式,推荐使用conda进行安装,虽然也可以从源码编译,但是建议不熟悉编译的不要尝试,出错的话比较麻烦。

conda install optitype
或者
docker pull fred2/optitype

在使用OptiType进行HLA分析之前,建议先过滤出待分析序列中的HLA序列,这将能节省程序的运行时间,官方推荐使用RazerS3来进行比对,不过该软件会将序列读入到内存中,所以需要机器内存比较大。

在进行比对之前需要先下载对应的hla参考序列:https://github.com/FRED-2/OptiType/tree/master/data

测试数据:https://github.com/FRED-2/OptiType/tree/master/test

razers3 -i 95 -m 1 -dr 0 -o fished_1.bam hla_reference_dna.fasta sample_1.fastq  # 进行比对
samtools bam2fq fished_1.bam > sample_1_fished.fastq  # 将bam文件转为fq文件
rm fished_1.bam

对于双端文件的话,官方建议单独过滤双端文件,及fq1和fq2需要分别单独运行上诉命令。暂时不清楚这是为什么!

python OptiTypePipeline.py -i sample_1_fished.fastq (sample_2_fished.fastq) --dna -v -o output_dir -p out_prefix

上诉命令即可进行HLA分型,若是双端文件可以同时进行分析,我这里使用括号括起来,表示可选,如果你的是RNA数据,需要把--dna改为--rna

最终将会在结果目录下生成两个文件:*_coverage_plot.pdf 和 *_result.tsv。

结果如下所示:

	A1	A2	B1	B2	C1	C2	Reads	Objective
0	A*31:01	A*30:01	B*13:02	B*51:02	C*06:02	C*15:02	11426.0	10911.81

图3-1:*_coverage_plot 结果

四、参考

  1. 世界卫生组织 HLA 系统因素命名委员会
  2. 维基百科
  3. 百迈客
  4. HLAscan
  5. OptiType

 

版权声明:本文转载请注明出处!

最新评论:

发表评论

电子邮件地址不会被公开。 必填项已用*标注

captcha

公告栏

有任何问题均可以在文章页面留言!或者邮件 burning@burning.net.cn 欢迎关注微信公众号 “生信之旅”,每天均可在菜单栏领取外卖红包、支付宝红包!最高20元!

服务器推荐

欢迎关注公众号

欢迎关注生信之旅