NECAT报错处理

NECAT是肖传乐老师开发的一款用于组装Nanopore数据的组装软件,github的连接如下:https://github.com/xiaochuanle/NECAT
组装的质量感觉还是蛮高的,可以去尝试一下。该软件不需要安装,直接下载解压后便可得到可执行程序,使用方法在github上也有详细介绍。
在这里插入图片描述
解压后得到的可执行程序,测试一下./necat.pl,能够运行。

./necat.pl
Usage: necat.pl correct|assemble|bridge|config cfg_fname
    correct:     correct rawreads
    assemble:    generate contigs
    bridge:      bridge contigs
    config:      generate default config file

但是运行组装的脚本会报错,出现如下错误提示

syntax error at /data/user_home/2021119001/NECAT/Linux-amd64/bin/Plgd/Project.pm line 51, near "$cfg{"
Global symbol "%env" requires explicit package name at /data/user_home/2021119001/NECAT/Linux-amd64/bin/Plgd/Project.pm line 52.
Global symbol "%env" requires explicit package name at /data/user_home/2021119001/NECAT/Linux-amd64/bin/Plgd/Project.pm line 55.
Global symbol "%env" requires explicit package name at /data/user_home/2021119001/NECAT/Linux-amd64/bin/Plgd/Project.pm line 56.
syntax error at /data/user_home/2021119001/NECAT/Linux-amd64/bin/Plgd/Project.pm line 57, near "}"
syntax error at /data/user_home/2021119001/NECAT/Linux-amd64/bin/Plgd/Project.pm line 84, near "$env{"
Global symbol "$cfg" requires explicit package name at /data/user_home/2021119001/NECAT/Linux-amd64/bin/Plgd/Project.pm line 84.
Global symbol "@jobs" requires explicit package name at /data/user_home/2021119001/NECAT/Linux-amd64/bin/Plgd/Project.pm line 89.
Global symbol "$prjDir" requires explicit package name at /data/user_home/2021119001/NECAT/Linux-amd64/bin/Plgd/Project.pm line 95.
Global symbol "$env" requires explicit package name at /data/user_home/2021119001/NECAT/Linux-amd64/bin/Plgd/Project.pm line 101.
Global symbol "$env" requires explicit package name at /data/user_home/2021119001/NECAT/Linux-amd64/bin/Plgd/Project.pm line 115.
Global symbol "$cfg" requires explicit package name at /data/user_home/2021119001/NECAT/Linux-amd64/bin/Plgd/Project.pm line 115.
Global symbol "$cfg" requires explicit package name at /data/user_home/2021119001/NECAT/Linux-amd64/bin/Plgd/Project.pm line 121.
syntax error at /data/user_home/2021119001/NECAT/Linux-amd64/bin/Plgd/Project.pm line 121, near "$cfg{"
/data/user_home/2021119001/NECAT/Linux-amd64/bin/Plgd/Project.pm has too many errors.
Compilation failed in require at ./necat.pl line 13.
BEGIN failed--compilation aborted at ./necat.pl line 13.

这是由于perl的版本过低导致的,在下面的连接中可以找到解决方法。https://github.com/xiaochuanle/NECAT/issues/4
目前的per版本是5.16,建议使用5.24及其以上的版本。
升级perl的版本之后,再次运行,又有新的报错。

 /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /data/user_home/2021119001/anaconda3/envs/samtools/share/necat-0.0.1_update20200803-4/bin/fsa_rd_tools)
 /lib64/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /data/user_home/2021119001/anaconda3/envs/samtools/share/necat-0.0.1_update20200803-4/bin/fsa_rd_tools)
 /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /data/user_home/2021119001/anaconda3/envs/samtools/share/necat-0.0.1_update20200803-4/bin/fsa_rd_tools)
 /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /data/user_home/2021119001/anaconda3/envs/samtools/share/necat-0.0.1_update20200803-4/bin/fsa_rd_tools)
 /lib64/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /data/user_home/2021119001/anaconda3/envs/samtools/share/necat-0.0.1_update20200803-4/bin/fsa_rd_tools)
 /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /data/user_home/2021119001/anaconda3/envs/samtools/share/necat-0.0.1_update20200803-4/bin/fsa_rd_tools)
 /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /data/user_home/2021119001/anaconda3/envs/samtools/share/necat-0.0.1_update20200803-4/bin/fsa_rd_tools)
 /lib64/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /data/user_home/2021119001/anaconda3/envs/samtools/share/necat-0.0.1_update20200803-4/bin/fsa_rd_tools)
 /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /data/user_home/2021119001/anaconda3/envs/samtools/share/necat-0.0.1_update20200803-4/bin/fsa_rd_tools)

这是因为用到的gcc的版本与动态链库中的文件版本不一致导致的,可以参考下面链接中的解决方法:
https://blog.csdn.net/feikudai8460/article/details/113699655
为了稳妥起见,我选择用conda专门为necat创建一个环境,指定perl的版本,
conda create -n necat python=3.8 perl=5.32.1,或者可以直接在新的环境中用conda安装necat,conda install -c bioconda necat,necat这个虚拟环境所有的依赖如下图所示:
在这里插入图片描述

再次运行necat的脚本,就能正常使用。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值