缘起
这个软件我是在一篇文献中看到,里面提到可以用minimus2将两个存在overlap的BAC文库进行合并,因此我尝试复现这个过程
![2013053-36a2236bb6cec8d3.png](https://i-blog.csdnimg.cn/blog_migrate/060164c58838c4c937cee575ff1035c9.png)
安装部分
AMOS目前已经不再更新了,最后一个版本是3.1.0,托管在https://sourceforge.net/projects/amos/, 需要打开网页下载,然后传到服务器上。
我们需要通过源码进行安装,安装过程中要解决一些警告和报错。
tar xf amos-3.1.0.tar.gz
./configure --prefix=/opt/biosoft/amos-3.1.0
make
make installl
第一次运行配置时,它可能会提示如下的问题,这里我们只需要用到mininus2,所以只要安装MUMMER,让它出现在环境变量中即可。
![2013053-8e32d94251eee857.png](https://i-blog.csdnimg.cn/blog_migrate/7f96be834e6004d7e436482ce4919725.png)
在编译过程中,由于这个软件有些古老,所以还会遇到如下报错
![2013053-57052df782f7f122.png](https://i-blog.csdnimg.cn/blog_migrate/d1a3718ad8df1d2cc4aff48119d38b83.png)
解决方案就是编辑src/Align/find-tandem.cc
文件,在开头增加#include <getopt.h>
如果你安装的是MUMMER4,那么还需要修改mininus2里的代码,将原来的-maxmatch
改成--maxmatch
![2013053-1e0f4d620712ed35.png](https://i-blog.csdnimg.cn/blog_migrate/0435d8a144a853bee834bdf2dc24290b.png)
以及如果你的MUMMER安装是更改了prefix
,那么还需要修改show-coords和delta-filter的路径,
![2013053-c417c37228200cd4.png](https://i-blog.csdnimg.cn/blog_migrate/d83275d2587a0ecb5af3cdf63cbf46c7.png)
建议做如下修改,因为make-consensus_poly
对scaffold中gap处理效果比较好
41: $(BINDIR)/make-consensus -B -e $(CONSERR) -b $(BANK) -w $(WIGGLE)
为
41: $(BINDIR)/make-consensus_poly -B -e $(CONSERR) -b $(BANK)
实践
在NCBI上根据EU382072.1
和 EU382073.1
下载两个序列
![2013053-9ef020273065dd72.png](https://i-blog.csdnimg.cn/blog_migrate/24d3373fd8f6f325257bd33c325153d2.png)
![2013053-a7727315fcaf605e.png](https://i-blog.csdnimg.cn/blog_migrate/d69281135a8e2f37f90b3fa52bb8f9a0.png)
第一步: 合并序列
cat EU382072.1.fasta EU382073.1.fasta > input.seq
第二步: 将FASTA格式转成AMOS格式
toAmos -s input.seq -o input.afg
第三步: 调用minimus2
minimus2 input -D REFCOUNT=1
输出结果:
- input.fasta : 成功合并的contig
- inputsingletons.seq : 未成功合并的contig
成功的合并出293k的序列。
$ seqkit stat input.fasta
file format type num_seqs sum_len min_len avg_len max_len
input.fasta FASTA DNA 1 293,737 293,737 293,737 293,737
用minimap2
将原来的序列和组装结果进行比对,并按照「R绘图」minimap2的PAF文件如何进行可视化?对结果进行可视化
![2013053-e0e16d858a2271a0.png](https://i-blog.csdnimg.cn/blog_migrate/9827c78fde180463f0be027d4eeb9de0.png)
最后补充下minimus2的用法说明:
minimus2 prefix \ # 输入文件的前缀
-D REFCOUNT=n \ # 第一个集合中序列数
-D OVERLAP=n \ # overlap至少有多少个碱基,默认40
-D CONSERR=f \ # 允许的错配率,默认是0.06
-D MINID=n \ # 联配序列的最小相似比例,默认是94,对应show-coord的-I参数
-D MAXTRIM=n # 序列最多允许修剪多少个碱基,默认20
其中REFCOUNT的作用是确定序列应该如何进行比对,如果你有两个输入文件,第一个文件有N条序列,第二个文件有M条序列。REFCOUNT=N时,表明以第一个文件中序列作为参考序列,让第二个文件中序列和第一个文件进行比对。如果REFCOUNT=0,就是all-vs-all, 也就是所有序列和所有序列进行比较。