#理解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/