(在清理中)在全局销毁期间无法在未定义的值Object / InsideOut.pm行1953上调用方法“ FETCH”

时间:2019-01-02 11:08:20

标签: linux perl ubuntu-16.04

原始命令:

nohup time -v --output=time_braker2_RNAonly.log braker.pl --species=BUSCO_BUSCO_sunbird_trimPLK_881882613 --useexisting --cores=40 --genome=/home/cch/sunbird/sunbird_RepeatMasker_trim/sunbird_platanus_trim_kraken_scaff_gapclosed_1000.fa.masked --softmasking 1 --hints=/home/cch/sunbird/sunbird_HISAT2_trim/sunbird_trim_hints_AS_400K.gff,/home/cch/sunbird/sunbird_HISAT2_trim/sunbird_trim_hints_China_400K.gff --UTR=off &

当我运行BRAKER2时,无法继续操作,并继续在GeneMark-ET.stderr中反复收到此错误消息:

(in cleanup) Can't call method "FETCH" on an undefined value at /usr/local/share/perl/5.22.1/Object/InsideOut.pm line 1953 during global destruction

我尝试更新Object :: InsideOut模块,但是没有任何帮助

这是perl文件中的1953行:

head -n 1953 /usr/local/share/perl/5.22.1/Object/InsideOut.pm | tail -n 10
    return if (! $$self);

    # Grab any error coming into this routine
    my $err = $@;

    # Preserve other error variables
    local($!, $^E, $?);

    # Workaround for Perl's "in cleanup" bug
    if ($Config::Config{useithreads} &&

getAnnoFastaJoingenes..stderr中的另一个错误消息

usage: getAnnoFastaFromJoingenes.py [-h] -g GENOME -f GTF -o OUT
                                    [-t TRANSLATION_TABLE] [-s FILTER]
getAnnoFastaFromJoingenes.py: error: argument -o/--out: expected one argument

这是我的nohup文件:

Use of uninitialized value $_ in substitution (s///) at /opt/BRAKER/scripts/braker.pl line 7970.
ERROR in file /opt/BRAKER/scripts/braker.pl at line 7986
Failed to execute: perl /opt/Augustus/scripts/join_aug_pred.pl < /home/cch/sunbird/sunbird_BRAKER2_RNAonly_trim/braker/BUSCO_BUSCO_sunbird_trimPLK_881882613/augustus.tmp.gff > /home/cch/sunbird/sunbird_BRAKER2_RNAonly_trim/braker/BUSCO_BUSCO_sunbird_trimPLK_881882613/augustus.hints.gff

这是我的日志文件的结尾:

#Thu Dec 27 20:34:03 2018: Making a fasta file with protein sequences of /home/cch/sunbird/sunbird_BRAKER2_RNAonly_trim/braker/BUSCO_BUSCO_sunbird_trimPLK_881882613/augustus.hints.gtf
/usr/bin/python3 /opt/Augustus/scripts/getAnnoFastaFromJoingenes.py -g /home/cch/sunbird/sunbird_BRAKER2_RNAonly_trim/braker/BUSCO_BUSCO_sunbird_trimPLK_881882613/genome.fa -f /home/cch/sunbird/sunbird_BRAKER2_RNAonly_trim/braker/BUSCO_BUSCO_sunbird_trimPLK_881882613/augustus.hints.gtf -o 1> /home/cch/sunbird/sunbird_BRAKER2_RNAonly_trim/braker/BUSCO_BUSCO_sunbird_trimPLK_881882613/getAnnoFasta..stdout 2>/home/cch/sunbird/sunbird_BRAKER2_RNAonly_trim/braker/BUSCO_BUSCO_sunbird_trimPLK_881882613/errors/getAnnoFastaJoingenes..stderr

我已检查了braker.pl 7970行:

head -n 7970 /opt/BRAKER/scripts/braker.pl | tail -n 10

sub get_anno_fasta {
    my $AUG_pred = shift;
    print LOG "\# "
        . (localtime)
        . ": Making a fasta file with protein sequences of $AUG_pred\n"
        if ($v > 2);
    my $name_base = $AUG_pred;
    $name_base = s/[^\.]+$//;

和braker.pl第7986行:

head -n 7986 /opt/BRAKER/scripts/braker.pl | tail -n 10

my $pythonCmdString = "";
if ($nice) {
    $pythonCmdString .= "nice ";
}
$pythonCmdString .= "$PYTHON3_PATH/python3 $string -g $genome -f $AUG_pred "
                 .  "-o $name_base 1> $outfile 2>$errorfile";

print LOG "$pythonCmdString\n\n" if ($v > 3);
system("$pythonCmdString") == 0
    or die("ERROR in file " . __FILE__ ." at line ". __LINE__

真的很感谢,如果有人对此有任何想法,我试图看看是否有任何在线解决方案,但几乎没有任何消息来源,而且我对这些解决方案的了解有限...

1 个答案:

答案 0 :(得分:0)

除了perl警告外,我还发现BRAKER2的perl脚本于2018年12月22日下载,存在一个错误,该错误已在最新版本中修复:

$ name_base = s /[^.]+$//在=后缺少一个〜

$name_base =~ s/[^\.]+$//

检查他们已编辑并添加了很多行的最新版本BRAKER.pl。