anchorwave进行复杂基因组比对(1)

anchorwave对存在染色体融合,易位,全基因组复制的基因组进行比对,本文以斑马鱼和金鱼为例进行基因组比对。

1.下载基因组的序列文件和参考基因组的注释文件

wget ftp://ftp.ensembl.org/pub/release-102/fasta/danio_rerio/dna/Danio_rerio.GRCz11.dna.primary_assembly.fa.gz
wget ftp://ftp.ensembl.org/pub/release-102/gff3/danio_rerio/Danio_rerio.GRCz11.102.chr.gff3.gz
wget https://research.nhgri.nih.gov/goldfish/download/carAur01.sm.fa
gunzip *gz

2.查看基因组间的共线性和全基因组复制情况

2.1使用samtools概览两个基因组

通过使用samtools的faidx命令,我们可以得到fai格式的文件,知道斑马鱼有25条染色体,金鱼有50条常染色体,推测金鱼之间经历了一次全基因组复制,并且第15923983行是金鱼的最后一条染色体,进行重新命名。

samtools faidx carAur01.sm.fa
samtools faidx Danio_rerio.GRCz11.dna.primary_assembly.fa

head -15923983 carAur01.sm.fa > goldfish.fa

2.2提取参考基因组的中的保守序列

这一步需要使用必须使用anchorwave,这样可以过滤一些不必要的anchors,最小化的减少下一步中minimap2的限制。-r代表要输入的参考基因组,-i代表他的注释文件,-o代表他输出的所有的保守序列的文件。

anchorwave gff2seq -r Danio_rerio.GRCz11.dna.primary_assembly.fa -i Danio_rerio.GRCz11.102.chr.gff3 -o cds.fa

2.3将保守序列(本例中为蛋白质编码序列)分别映射到两个基因组上

-x splice 代表将保守序列映射到基因组,-t 代表线程数,-k 代表kmer, -a代表输出sam格式的文件,-p和-N代表如果它们的比对得分大于初次比对得分的0.4将会保留最多保留20个结果,还要输入他们的基因组和保守序列。

minimap2 -x splice -t 11 -k 12 -a -p 0.4 -N 20 Danio_rerio.GRCz11.dna.primary_assembly.fa cds.fa > ref.sam
minimap2 -x splice -t 11 -k 12 -a -p 0.4 -N 20 goldfish.fa cds.fa > carAur.sam

2.4使用anchorwave进行共线性的识别

proali 代表对有染色体结构变异如易位,染色体融合,全基因组复制的基因组进行比对。-i代表输入参考基因组的注释文件,-r 和-s 参考和查询基因组文件,-a 和-ar映射到两个基因组的结果,-R代表参考基因组覆盖度是2,而查询基因组经历一次全基因组复制事件,所以-Q为1,-ns代表不产生新的anchor。

之后就可以利用输出的align1.anchors进行共线性区域可视化了。

anchorwave proali -i Danio_rerio.GRCz11.102.chr.gff3 -r Danio_rerio.GRCz11.dna.primary_assembly.fa -a carAur.sam -as cds.fa -ar ref.sam -s goldfish.fa -n align1.anchors -R 2 -Q 1 -ns

使用R语言中的ggplot2进行绘图,代码如下

library(ggplot2)
changetoM <- function ( position ){
position=position/1000000;
paste(position, "M", sep="")
}

data =read.table("align1.anchors", head=TRUE)
data = data[which(data$refChr %in% c("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20",
"21", "22", "23", "24", "25", "MT" )),]

data = data[which(data$queryChr %in% c("LG1","LG2","LG3", "LG4", "LG5", "LG6", "LG7", "LG8", "LG9", "LG10", "LG11", "LG12", "LG13", "LG14", "LG15",
"LG16", "LG17", "LG18", "LG19", "LG20", "LG21", "LG22", "LG23", "LG24", "LG25", "LG26", "LG27", "LG28","LG28B", "LG29", "LG30", "LG30F", "LG31", "LG32", "LG33", "LG34", "LG35", "LG36", "LG36F", "LG37", "LG37M","LG38", "LG39", "LG40", "LG41", "LG42", "LG42F", "LG43", "LG44", "LG44F", "LG45", "LG45M", "LG46", "LG47",
"LG48", "LG48F", "LG49", "LG49B", "LG50")),]

data$refChr = factor(data$refChr, levels=c("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19",
"20", "21", "22", "23", "24", "25", "MT" ))

data$queryChr = factor(data$queryChr, levels=c("LG1","LG2","LG3", "LG4", "LG5", "LG6", "LG7", "LG8", "LG9", "LG10", "LG11", "LG12", "LG13", "LG14",
"LG15", "LG16", "LG17", "LG18", "LG19", "LG20", "LG21", "LG22", "LG23", "LG24", "LG25", "LG26","LG27", "LG28", "LG28B", "LG29", "LG30", "LG30F", "LG31", "LG32", "LG33", "LG34", "LG35","LG36","LG36F", "LG37", "LG37M", "LG38", "LG39", "LG40", "LG41", "LG42", "LG42F", "LG43", "LG44", "LG44F","LG45", "LG45M", "LG46", "LG47", "LG48", "LG48F", "LG49", "LG49B", "LG50" ))

ggplot(data=data, aes(x=queryStart, y=referenceStart))+geom_point(size=0.5, aes(color=strand))+
facet_grid(refChr~queryChr, scales="free", space="free" )+ theme_grey(base_size = 120) +
labs(x="goldfish", y="zebrafish")+scale_x_continuous(labels=changetoM) + scale_y_continuous(labels=changetoM) +
theme(axis.line = element_blank(),
panel.background = element_blank(),
panel.border = element_rect(fill=NA,color="black", size=0.5, linetype="solid"),
axis.text.y = element_text( colour = "black"),
legend.position='none',
axis.text.x = element_text(angle=300, hjust=0, vjust=1, colour = "black") )

绘图如下,共线性证明了两个染色体之间存在全基因组复制,染色体重排等,

 

3.使用anchorwave进行全基因组比对

proali 代表对有染色体结构变异如易位,染色体融合,全基因组复制的基因组进行比对。-i代表输入参考基因组的注释文件,-r 和-s 参考和查询基因组文件,-a 和-ar映射到两个基因组的结果,-R代表参考基因组覆盖度是2,而查询基因组经历一次全基因组复制事件,所以-Q为1,不写-ns代表产生新的anchor。-t 代表线程为10,-o和-f均为输出的文件。

anchorwave proali -i Danio_rerio.GRCz11.102.chr.gff3 -r Danio_rerio.GRCz11.dna.primary_assembly.fa -a carAur.sam -as cds.fa -ar ref.sam -s goldfish.fa -n align1.anchors -o align1.maf -t 10 -R 2 -Q 1 -f align1.f.maf  > fishlog1 2>&1

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值