介绍
短串联重复序列(short tandem repeats,STR)也称微卫星DNA(microsatellite DNA), 通常是基因组中由1~6个碱基单元组成的一段DNA重复序列,由于核心单位重复数目在个体间呈高度变异性并且数量丰富,构成了STR基因座的遗传多态性。除了肿瘤线中的微卫星不稳定(MSI)分析之外,在胚系中,脆性X智力障碍综合征、亨廷顿舞蹈病等也可能由STR变异导致。另外,STR还可以用于亲子鉴定。
STR变异检测
ExpansionHunter
ExpansionHunter由illumina出品,速度快。
直接安装编译好的版本就可以了
wget https://github.com/Illumina/ExpansionHunter/releases/download/v4.0.2/ExpansionHunter-v4.0.2-linux_x86_64.tar.gz
tar -zxvf ExpansionHunter-v4.0.2-linux_x86_64.tar.gz
软件使用
ExpansionHunter --reads patient.bam --reference ref.fa \
--variant-catalog variant_catalog.json --output-prefix patient
其中variant_catalog.json文件的格式看这里。同时ExpansionHunter也提供了hg19、hg38、GRCh37、GRCh38等的VariantCatalog,可以直接使用。
TREDPARSE
tredparse是另外一个比较容易使用的软件,同时还有图形界面,然而非常旧,已经好几年没有更新。
使用docker安装
docker pull humanlongevity/tredparse
pull下来后1.28G,倒不是很大。使用可以加入–tred函数来提交关注的疾病缩写,把输入文件夹挂载到/data。
docker run --rm -v $PWD:/data humanlongevity/tredparse tred.py \
--ref hg19 --workdir /data/output/ --cpus 8 \
/data/bam/test.bam
然后可以通过导入结果json文件进行简单的report
docker run --rm -v $PWD:/data humanlongevity/tredparse tredreport.py \
/data/output/test.json --tsv /data/output/test.tsv --cpus 8
带有作图功能可以对指定疾病作图,例如HD(这步我运行失败了)
docker run --rm -v $PWD:/data humanlongevity/tredparse tredplot.py \
likelihood /data/output/test.json --tred HD
最后是页面上说的图形界面,需要安装meteor,比较奇怪为什么不直接封装在docker里。这里不测试了。
exSTRa
exSTRa适用于illumina双端测序数据,基于R,使用devtools安装。R包使用教程在这里。
Rscript -e 'devtools::install_github("bahlolab/exSTRa")'
另外还有一个perl模块,Bio-STR-exSTRa用于分析bam文件,获得exSTRa需要的输入文件。Bio-STR-exSTRa提供了docker,那么就从docker安装,这个docker里没有封装进R的exSTRa。
docker pull ricktankard/bio-str-exstra:1.1.1
使用,repeat_expansion_discorders可在exSTRa_inst中下载。
docker run --rm -v databases:/databases -v data:/data ricktankard/bio-str-exstra:1.1.1 \
exSTRa_score.pl /databases/hg19.fa \
/databases/repeat_expansion_discorders.txt \
/data/*.bam > /data/test.exSTRa_scores.txt
结果统计了各个bam文件的相关区域的repeat数,然后把这个结果文件使用exSTRa来分析。
对于exSTRa,在R中,使用的方法如下
library(data.table)
library(exSTRa)
str_score <- read_score(
file="test.exSTRa_scores.txt",
database=system.file("extdata", "repeat_expansion_disorders_hg19.txt", package="exSTRa"),
groups.regex=c(control="^Control_0[24]$", case=""),
filter.low.counts = TRUE
)
以上的group.regex参数中,需要对样本分为对照组和测试组,其中可以使用正则来匹配样本名。另外按文档中的说法,可以只要匹配对照组,然后测试组留空(’ case=”” ‘),这样无法匹配到对照组的样本会全部分到测试组。
由于我没有很多样本,所以无法进行测试。更多的作图与分析功能也参考文档。
STRetch
STRetch介绍说是可用于WGS、WES和target数据,在PMC6008857文章中,说是最难用的。看了一下STRetch的依赖项,长长的一个列表,确实非常劝退。需要的原始输入是fastq而不是bam,太过于大包大揽,这里不使用。
STRScan
STRScan号称能检出lobSTR和STR-FM漏检的基因座。这个输入要求是fastq或fasta,但是因为是单端的,因此放弃使用。不过这里能找到一些STR的坐标,有参考意义。
下载源码并安装
wget http://darwin.informatics.indiana.edu/str/STRScan/STRScan.tar.gz
tar -zxvf STRScan.tar.gz
cd STRScan
make
./STRScan
cat example/README.txt
参考
Recent advances in the detection of repeat expansions with short-read next-generation sequencing