HLA分型软件Optitype

HLA分型的相关软件,之前写过seq2HLA,以及HLA-HD。seq2HLA速度较快,HLA-HD速度较慢。而Optitype运行速度在上面两者之间。

Optitype的一个问题是只能进行HLA-A、HLA-B、HLA-C等三个class I基因。不过在一些文章中,Optitype的表现要比seq2HLA好。

Optitype的运行需要python2(我实测使用python3也能成功运行),RazerS,samtools,HDF5CPLEX(由于CPLEX是个商用软件,建议使用GPLK代替)。

另外python packages需要numpy,pyomo,pytables,pandas,pysam,matplotlib,future等。python的package使用pip安装就可以了。

可以从docker安装

docker pull fred2/optitype

不从docker安装

wget https://gh.con.sh/https://github.com/FRED-2/OptiType/archive/refs/tags/v1.3.5.tar.gz
tar -zxvf v1.3.5.tar.gz

pip install numpy
pip install pyomo
pip install pysam
pip install matplotlib
pip install tables
pip install pandas
pip install future

依赖的软件还是比较好装的,google一下就知道了。

Optitype推荐使用razers来进行比对获得HLA相关reads,但是这一步是可选的。可以参考之前的文章进行HLA区域的提取。

rasers3 -i 95 -m 1 -dr 0 \
	-o fished_1.bam \
	hla_reference_dna.fasta \
	sample_1.fastq
samtools fastq fished_1.bam > sample_1_fished.fastq

如果是pair end数据则对read2同样进行以上操作。

接下来要修改Optitype文件夹里的config.ini文件。复制一个example来修改即可(其实除了razers的路径和线程数,没啥好改的,glpk只能单线程运行,修改线程数没用)。Optitype会调用razers进行比对。

cp config.ini.example config.ini

软件的运行

python OptiTypePipeline.py \
	-i sample_1_fished.fastq sample_2_fished.fastq \
	-d -o resultsDir -p sampleID -v

其中,-d指定本次是DNA数据,而-r指定数据是RNA数据。

对软件中包含的测试数据SRR766010进行测试,最终获得分型为

A*01:01,A*01:01;B*08:01,B*57:01;C*06:02,C*07:01

运行时报index warning大概是由pysam与samtools的版本问题引起,后续看看用哪个指定版本可以解决,影响不大。