结构变异分析 SVs 可视化
#理解SVs的类型
#SNPs
单碱基变异,即单核苷酸多态性(SNP),最常见也最简单的一种基因组变异形式;
#Indel
很短的Insertion 和 Deletion,也常被我们合并起来称为Indel。主要指在基因组某个位置上发生较短长度的线性片段插入或者删除的现象。强调线性的原因是,这里的插入和删除是有前后顺序的与下述的结构性变异不同。Indel长度通常在50bp以下,更多时候甚至是不超过10bp,这个长度范围内的序列变化可以通过Smith-Waterman 的局部比对算法来准确获得,并且也能够在目前短读长的测序数据中较好地检测出来;
#SVs
基因组结构性变异(Structure Variantions,简称SVs),这篇文章的重点,通常就是指基因组上大长度的序列变化和位置关系变化。类型很多,包括长度在50bp以上的长片段序列插入或者删除(Big Indel)、串联重复(Tandem repeate)、染色体倒位(Inversion)、染色体内部或染色体之间的序列易位(Translocation)、拷贝数变异(CNV)以及形式更为复杂的嵌合性变异。
#变异鉴定的基本原理
1. Read Pair,一般称为Pair-End Mapping,简称RP或者PEM;
2. Split Read,简称SR;
3. Read Depth,简称RD,也有人将其称为RC——Read Count的意思,它与Read Depth是同一回事,顾名思义都是利用read覆盖情况来检测变异的方法;
4. 序列从头组装(de novo Assembly, 简称AS)的方法。
#实例
#环境搭建
#创建Syri虚拟环境
conda creat -n syri python=3.5
conda activate syri
conda install cython numpy scipy pandas=0.23.4 biopython psutil matplotlib=3.0.0
conda install -c conda-forge python-igraph
conda install -c bioconda pysam
#安装minimap2
conda install -c bioconda minimap2
#安装mummer4
conda install -c bioconda mummer4
#安装Syri
git clone https://github.com/schneebergerlab/syri
python3.5 setup.py install
chmod +x syri/bin/syri syri/bin/chroder syri/bin/plotsr
#比对
#nucmer比对
nucmer --maxmatch -c 100 -b 500 -l 50 ref.fasta qur.fasta
delta-filter -1 -m -i 90 -l 100 out.delta > out.filtered.delta
show-coords -THrd out.filtered.delta > out.filtered.coords
#minimap2比对
minimap2 -ax asm5 --eqx ref.fasta qur.fasta > out.sam
#Syri变异检测
#minimap2
python3 /home/user/path_to/syri/bin/syri -c out.sam -r refgenome -q qrygenome -k -F S
#mummer
python3 /home/user/path_to/syri/bin/syri -c out.filtered.coords -d out.filtered.delta -r ref.fasta -q qur.fasta
#成图
python3 /home/user/path_to/syri/bin/plotsr -o svg syri.out ref.fasta qur.fasta
#Explanation
本文仅在记录自己动手过程,无实际指导意义,仅供参考,仅只针对特定数据进行分析,涉及参数需读者自行调试
#Cite:
一篇文章说清楚基因组结构性变异检测的方法: https://zhuanlan.zhihu.com/p/40290546
检测基因组变异的4种策略 :基迪奥生物
SyRI: finding genomic rearrangements and local sequence differences from whole-genome assemblies
Github SyRI: https://schneebergerlab.github.io/syri/