SyRI:从全基因组组装中找到基因组重排和局部序列差异
基因组差异从单核苷酸差异到复杂的结构变异。当前的方法通常能准确地注释从SNP到大插入缺失的序列差异,但无法揭示结构重排的全部复杂性,包括倒置,易位和重复,其中位置,方向或拷贝数高度相似的序列会发生变化。在这里,我们介绍了SyRI,这是一种用于染色体级程序集的成对全基因组比较工具。SyRI首先找到重排的区域,然后搜索序列中的差异,区别在于它们位于同位或重排的区域。这种区别很重要,因为重排区域与同同区域相比继承的方式有所不同。
文献资料:
Goel, M., Sun, H., Jiao, WB. et al. SyRI: finding genomic rearrangements and local sequence differences from whole-genome assemblies. Genome Biol 20, 277 (2019). https://doi.org/10.1186/s13059-019-1911-0
来源://mp.weixin.qq.com/s?__biz=MzUzMTEwODk0Ng==&mid=2247497455&idx=1&sn=989d626fe105967e592b12a6677f3cf3&chksm=fa4533d2cd32bac4f0ba6646ac74968cb72658bd1cd19bec3434d25723ad195f6bb2a0f8f61f&scene=132#wechat_redirect
SyRI githubs
SYRI的安装
pip install Cython numpy scipy pandas python-igraph psutil pysam matplotlib
从GitHub下载syri的最新版
python3 setup.py install
syri参数解析:
-F T,B,P,S 设置输入文件格式,Table,Bam,PAF,Sam
使用plotsr可视化找到的结构变异
安装plotsr
conda install -c bioconda plotsr
或者是pip安装依赖后,下载压缩包,使用
python3 setup.py install
使用plotsr
安装完成后plotsr -h
即可显示帮助文件
上图是6个人类的10条染色体的结构变异信息。
plotsr可以接受SYRI的输出的结果作为输入。
上图中a是放大了chr8:1–13 000 000之间的区域。这样可以更加清晰的看出倒位。
plotsr 论文
plotsr github
minimap2比对
# Align genomes
minimap2 -ax asm5 -t 4 --eqx A.fa B.fa /
| samtools sort -O BAM - > A_B.bam
samtools index A_B.bam
minimap2 -ax asm5 -t 4 --eqx B.fa C.fa /
| samtools sort -O BAM - > B_C.bam
samtools index B_C.bam
minimap2 -ax asm5 -t 4 --eqx C.fa D.fa /
| samtools sort -O BAM - > C_D.bam
samtools index C_D.bam
SYRI鉴定结构变异
# Running syri for finding structural rearrangements between A and B
syri -c A_B.bam -r A.fa -q B.fa -F B --prefix A_B &
# Running syri for finding structural rearrangements between B and C
syri -c B_C.bam -r B.fa -q C.fa -F B --prefix B_C &
# Running syri for finding structural rearrangements between C and D
syri -c C_D.bam -r C.fa -q D.fa -F B --prefix C_D &
使用plotsr来可视化
plotsr /
--sr A_Bsyri.out /
--sr B_Csyri.out /
--sr C_Dsyri.out /
--genomes genomes.txt /
-o output_plot.png
输出格式支持:pdf,svg,png
注释的结构变异类型的有效值:SYN、INV、TRA、INVTR、DUP、INVDP。
SYN :Syntenic 共线性
INV :Inversion 倒位
TRA :Translocation 易位
INVTR: Inverted translocation 倒位易位
DUP:Duplication 复制
INVDP:Inverted duplication 倒位复制
plotsr的参数:
输入/输出文件:
--sr SR 结构注释映射 (syri.out) 由 SyRI 输出(默认值:无)
--bp BEDPE 格式的 BP 结构注释映射(默认值:无)
--genomes GENOMES 包含基因组路径的文件(默认值:无)
--markers MARKERS 包含标记路径的文件(bed格式)(默认值:无)
--tracks TRACKS 文件列出要绘制的所有轨道的路径和详细信息(默认值:无)
--chrod CHRORD 包含参考(第一个基因组)染色体 ID 的文件,按照它们要绘制的顺序排列。文件每行需要一个染色体 ID。与 --chr 不兼容(默认值:无)
--chrname CHRNAME 包含要在图中使用的参考(第一个基因组)染色体名称的文件。文件需要是一个 TSV,第一列是染色体 ID,第二列是染色体名称。 (默认:无)
-o O 输出文件名。可接受的格式:pdf、png、svg(默认:plotsr.pdf)
数据过滤:
--itx 使用染色体间绘图模式(实验性)(默认:False)
--chr CHR 选择参考上的特定染色体(第一个基因组)并按给定顺序绘制它们。与 --chrord 不兼容。可以多次使用以选择多个染色体。 (默认:无)
--reg REG 绘制特定区域。用作:GenomeID:ChromosomeID:Start-End。与 --chr 和 -R 不兼容。 (默认:无)
--rtr 使用 --reg 时,绘制同源区域边界内的所有 SR。对于高度缩放的区域,这可能会导致视觉上断开的对齐。 (默认:False)
--nosyn 不绘制同线区域(默认值:False)
--noinv 不绘制反转图(默认值:False)
--notr 不绘制易位区域(默认值:False)
--nodup 不绘制重复区域(默认值:False)
-s S 要绘制的 SR 的最小尺寸(默认值:10000)
图片样式调整:
--cfg CFG 配置文件的路径,其中包含调整绘图的参数。 (默认:无)
-R 如果相邻的同线块没有被 SR 打断,则加入它们。使用它可以减少可视化中的差距。 (默认:False)
-f F 字体大小(默认值:6)
-H H 绘图高度(默认值:无)
-W W 绘图的宽度(默认值:无)
-S S 同源染色体空间 (0.1-0.75)。调整此项可为注释标记/文本和轨道腾出更多空间。 (默认值:0.7)
-d D DPI 用于最终图像(默认值:300)
-b {agg,cairo,pdf,pgf,ps,svg,模板}
要使用的 Matplotlib 后端(默认值:agg)
-v 绘制垂直染色体(默认值:False)
R1
plotsr --sr col_lersyri.filtered.out --sr ler_cvisyri.filtered.out --sr cvi_erisyri.filtered.out --genomes genomes.txt --tracks tracks.txt -S 0.5 -o R1.pdf -W 7 -H 10 -f 8 --cfg base.cfg --markers markers.bed
R2
plotsr --sr col_lersyri.filtered.out --sr ler_cvisyri.filtered.out --sr cvi_erisyri.filtered.out --genomes genomes.txt --tracks tracks.txt -S 0.5 -o R2.pdf -W 7 -H 10 -f 8 --cfg base.cfg -v --markers markers.bed
R3
plotsr --sr col_lersyri.filtered.out --sr ler_cvisyri.filtered.out --sr cvi_erisyri.filtered.out --genomes genomes.txt --tracks tracks.txt -S 0.5 -o R3.pdf -W 7 -H 10 -f 8 --cfg base.cfg --chr Chr1 --chr Chr3 --chr Chr4 --markers markers.bed
R4
plotsr --sr col_lersyri.filtered.out --sr ler_cvisyri.filtered.out --sr cvi_erisyri.filtered.out --genomes genomes.txt --tracks tracks.txt -S 0.5 -o R4.pdf -W 7 -H 10 -f 8 --cfg base.cfg -v --markers markers.bed --chr Chr1 --chr Chr3 --chr Chr4
R5
plotsr --sr col_lersyri.filtered.out --sr ler_cvisyri.filtered.out --sr cvi_erisyri.filtered.out --genomes genomes.txt --tracks tracks.txt -S 0.5 -o R5.pdf -W 7 -H 10 -f 8 --cfg base.cfg --reg col-0:Chr3:6600000-10000000 --markers markers.bed
R6
plotsr --sr col_lersyri.filtered.out --sr ler_cvisyri.filtered.out --sr cvi_erisyri.filtered.out --genomes genomes.txt --tracks tracks.txt -S 0.5 -o R6.pdf -W 7 -H 10 -f 8 --cfg base.cfg -v --markers markers.bed --reg col-0:Chr3:6600000-10000000
ITX
R7
plotsr --itx --sr col_lersyri.filtered.out --sr ler_cvisyri.filtered.out --sr cvi_erisyri.filtered.out --genomes genomes.txt --tracks tracks.txt -S 0.7 -o R7.pdf -W 7 -H 10 -f 8 --cfg base.cfg --markers markers.bed
R8
plotsr --itx --sr col_lersyri.filtered.out --sr ler_cvisyri.filtered.out --sr cvi_erisyri.filtered.out --genomes genomes.txt --tracks tracks.txt -S 0.7 -o R8.pdf -W 7 -H 10 -f 8 --cfg base.cfg -v --markers markers.bed
R9
plotsr --itx --sr col_lersyri.filtered.out --sr ler_cvisyri.filtered.out --sr cvi_erisyri.filtered.out --genomes genomes.txt --tracks tracks.txt -S 0.7 -o R9.pdf -W 7 -H 10 -f 8 --cfg base.cfg --chr Chr1 --chr Chr3 --chr Chr4 --markers markers.bed
R10
plotsr --itx --sr col_lersyri.filtered.out --sr ler_cvisyri.filtered.out --sr cvi_erisyri.filtered.out --genomes genomes.txt --tracks tracks.txt -S 0.7 -o R10.pdf -W 7 -H 10 -f 8 --cfg base.cfg -v --markers markers.bed --chr Chr1 --chr Chr3 --chr Chr4
col_lersyri.filtered.out是syri的输出结果,格式如下
Chr1 1 1084 - - - - - NOTAL1 - NOTAL -
Chr1 1085 1771083 - - Chr1 1 1773924 SYN1 - SYN -
Chr1 1085 158550 - - Chr1 1 157500 SYNAL1 SYN1 SYNAL -
Chr1 158551 158596 - - Chr1 157501 157556 HDR1 SYN1 HDR -
Chr1 158597 270144 - - Chr1 157557 269099 SYNAL2 SYN1 SYNAL -
Chr1 270145 270250 - - Chr1 269100 269178 HDR2 SYN1 HDR -
Chr1 270251 587468 - - Chr1 269179 585993 SYNAL3 SYN1 SYNAL -
genomes.txt 格式如下:控制主图的线条颜色和宽度
##ft = File type (fa:fasta/cl:chromosome_length, default = fa. cl files are fasters)
##lc = line colour
##lw = line width
#file name tags
TAIR10_Filtered.chrlen col-0 ft:cl;lw:1.5
ler.chrlen ler ft:cl;lw:1.5
cvi.chrlen cvi ft:cl;lw:1.5
eri.chrlen eri ft:cl;lw:1.5
tracks.txt是控制使用的文件,里面可以指定gff或bed文件,
##ft = File type (bed/bedgraph/gff, default = bed)
##bw = bin width (default=100000)
##nc = name colour
##ns = name size
##nf = name font
##nm = name margin # Additional margin between name and track. Fraction between [0,1]
##lc = line colour
##lw = line width
##bc = background colour
##ba = background alpha
#file name tags
TAIR10_GFF3_genes.gff Genes ft:gff;bw:10000;nc:black;ns:8;nf:Arial;lc:blue;lw:4;bc:lightblue;ba:0.5;nm:0.05
1001genomes.snps.sorted.bed SNPs bw:10000;nc:black;ns:8;nf:Arial;lc:sienna;lw:1;bc:peachpuff;ba:0.5
Giraut2011_centromeres.bed Centromeres bw:10000;nc:black;ns:8;nf:Arial;lc:olive;lw:1;bc:palegreen;ba:0.5
head TAIR10_GFF3_genes.gff
格式如下:主要是显示基因密度
Chr1 TAIR10 chromosome 1 30427671 . . . ID=Chr1;Name=Chr1
Chr1 TAIR10 gene 3631 5899 . + . ID=AT1G01010;Note=protein_coding_gene;Name=AT1G01010
Chr1 TAIR10 mRNA 3631 5899 . + . ID=AT1G01010.1;Parent=AT1G01010;Name=AT1G01010.1;Index=1
Chr1 TAIR10 protein 3760 5630 . + . ID=AT1G01010.1-Protein;Name=AT1G01010.1;Derives_from=AT1G01010.1
Chr1 TAIR10 exon 3631 3913 . + . Parent=AT1G01010.1
Chr1 TAIR10 five_prime_UTR 3631 3759 . + . Parent=AT1G01010.1
Chr1 TAIR10 CDS 3760 3913 . + 0 Parent=AT1G01010.1,AT1G01010.1-Protein;
head 1001genomes.snps.sorted.bed
格式如下
Chr1 54 55 C T
Chr1 55 56 T A
Chr1 62 63 T C
Chr1 72 73 C A
Chr1 74 75 T A
Chr1 79 80 G T
Chr1 82 83 T C
Chr1 82 83 T A
Chr1 87 88 A T
head Giraut2011_centromeres.bed
格式如下
Chr1 13655620 15981659
Chr2 2300148 5706797
Chr3 11453352 15264347
Chr4 1609393 5078092
Chr5 10783157 13187261
同样,你可以自由的在tracks.txt里添加或删除行,来显示更多或更少的种类的信息。例如可以加上indel的信息,加上重复序列信息等,只要格式是bed,前三列是染色体,start,end使用tab分割符合即可。
cat markers.bed
内容如下,用于控制显示在染色体的指定位置的marker信息
##mt = bin width (default=100000)
##mc = name colour
##ms = name size
##tt = name font
##tc = line colour
##ts = line width
##tf = background colour
##tp = background colour
#chr start end genome_id tags
Chr3 4035330 4035331 eri mt:v;mc:black;ms:3;tt:Inversion 1;tp:0.02;ts:8;tf:Arial;tc:black
Chr4 2322547 2322548 ler mt:^;mc:black;ms:3;tt:Inversion 2;tp:-0.07;ts:8;tf:Arial;tc:black
Chr3 8792851 8792852 col-0 mt:.;mc:red;ms:10;tt:Notal aligned;tp:0.02;ts:8;tf:Arial;tc:black
cat base.cfg
基本不用修改,用于绘图的边距控制
## COLOURS and transparency for alignments (syntenic, inverted, translocated, and duplicated)
syncol:#CCCCCC
invcol:#FFA500
tracol:#9ACD32
dupcol:#00BBFF
alpha:0.8
## Margins and dimensions:
chrmar:0.1 ## Adjusts the gap between chromosomes and tracks. Higher values leads to more gap
exmar:0.1 ## Extra margin at the top and bottom of plot area
## LEGEND
legend:T ## To plot legend use T, use F to not plot legend
genlegcol:-1 ## Number of columns for genome legend, set -1 for automatic setup
bbox:0,1.01,0.5,0.3 ## [Left edge, bottom edge, width, height]
bbox_v:0,1.1,0.5,0.3 ## For vertical chromosomes (using -v option)
bboxmar:0.5 ## Margin between genome and annotation legends
共有 0 条评论