Mapping Ion Torrent Data used Novoalign
What:比较Novoaligin和TMAP程序在比对Ion Torrent数据时的准确性
Why:从NCBI上下载NA12878的Ion Torrent数据,12x,数据量较大(对于novoalign),如果使用Novoaligin估计需要几天甚至更长的时间;顺便测试NovoaliginMPI
Configure:集群,每个计算节点120G内存、40个线程
环境:Centos 6.5、MPI Version:5.0.1、ssh不能用于登陆计算节点
MPI5.0.1 and NovoalignMPI
启动MPIboot
```
$ mpdboot --file=hosts.txt --totalnum=10 -r rsh
```
启动后,登陆节点被当做计算节点启动,没找到办法去掉登陆节点。
测试MPI
```
$ mpiexec -np 80 ./mpich-3.2.1/examples/cpi
```
可以看到各个线程返回的结果,其中包括登陆节点...
测试NovoaliginMPI
```
$ mpiexec -np 400 novoalignMPI -d hg19.kayrotype.nix -f SRR1238539.fastq -x 6 -g 20 -o SAM '@RG\tID:readgroup\tSM:sample\tPU:platformunit\tLB:library' 2>> NovoalginMPI_test.log 1> SRR1238539.sam
```
这里发生错误,每一个线程返回以下内容:
Fatal error in PMPI_Init_thread: Other MPI error, error stack:
MPIR_Init_thread(474).................:
MPID_Init(190)........................:channel initialization failed
MPIDI_CH3_Init(89)....................:
MPID_nem_init(272)....................:
MPIDI_CH3I_Seg_commit(366)............:
MPIU_SHMW_Hnd_deserialize(324)........:
MPIU_SHMW_Seg_open(865)...............:
MPIU_SHMW_Seg_create_attach_templ(637): open failed - No such file or directory
有些文件好像没找到???在看mpd demon进程的日志:
zhswser01_mpdman_104 (handle_pmi_input 1653): unrecognized pmi msg :cmd=abort exitcode=4239887
没有发现什么有用的东西,继续检查,发现:
novoalignMPI 使用的MPI版本是3.1,我们HPC上的版本是5.0.1,HPC上的MPI 5.0.1进过测试是可以使用的,那么极有可能是MPI版本之间不兼容导致的问题。
MPI3.1 and NovoalignMPI
重新布置了autoconf=2.6.7、automake=1.12.3、libtool=2.4.2三个包,因为在执行autogen.sh(mpich-3.1下)时给出版本过低。
设置以下变量:PATH、C_INCLUDE_PATH(gcc)、CPLUS_INCLUDE_PATH(g++)、LD_LIBRARY_PATH(动态链接库)、LIBRARY_PATH(静态链接库)
mpich编译的时间很长,使用了20个线程,命令:
```
$ ./autogen.sh
$ ./configure --prefix=$BUILD_PATH
$ ./make -j 20 && make install
```
使用MPI3.1,发现默认参数得不到结果,后将ssh方式改成rsh,测试:
```
$ $PATH_TO_MPICH/mpiexec -f host.txt -launcher rsh -np 40 uptime
```
成功返回各个线程的结果,接着继续测试MPI3.1的环境中执行NovoalignMPI
```
$ mpich_3.1/bin/mpiexec -np 400 -launcher rsh -f hosts.txt novoalignMPI -d hg19.kayrotype.nix -f SRR1238539.fastq -x 6 -g 20 -o SAM '@RG\tID:readgroup\tSM:sample\tPU:platformunit\tLB:library' 2>> NovoalginMPI_test.log 1> SRR1238539.sam
```
返回错误:TTheard: Operation not permitted,所有的进程都返回相同的错误。明显,MPI3.1中使用了TTheard但在执行时发现权限不够,直接使用root权限执行,程序正常运行。
参考:
网友评论