starskyzheng / panpop

Application of pan-genome for population
MIT License
96 stars 9 forks source link

Error about long_caller_parser.pl #63

Closed ChuanzhengWei closed 5 months ago

ChuanzhengWei commented 5 months ago

郑博士,您好! 在运行panpop后遇到如下报错,我发现错误是long_caller_parser.pl引起的,但是我不知道如何解决这个问题。

[Fri Jun 14 06:38:32 2024]
Error in rule filter_parse:
    jobid: 10
    input: 03_vcf/03_svim/HYZ/variants.vcf, Ref.fa
    output: 03_vcf/03_svim/HYZ/variants.parse.vcf.gz, 03_vcf/03_svim/HYZ/variants.parse.vcf.gz.tbi, 03_vcf/03_svim/HYZ/variants.parse.inv.bed
    log: logs/2.03_svim/HYZ.variants.parse.log (check log file(s) for error details)
    shell:

        perl /public/home/weichuanzheng/project/08.pangenome/05.SVcalling/10.panpop/panpop/scripts/long_caller_parser.pl --in 03_vcf/03_svim/HYZ/variants.vcf --out - --out_inv 03_vcf/03_svim/HYZ/variants.parse.inv.bed --ref Ref.fa 2>>logs/2.03_svim/HYZ.variants.parse.log | /public/home/weichuanzheng/anaconda3/envs/panpop/bin/bcftools sort -O z -o 03_vcf/03_svim/HYZ/variants.parse.vcf.gz >>logs/2.03_svim/HYZ.variants.parse.log 2>&1 &&         /public/home/weichuanzheng/anaconda3/envs/panpop/bin/tabix 03_vcf/03_svim/HYZ/variants.parse.vcf.gz 2>>logs/2.03_svim/HYZ.variants.parse.log

        (one of the commands exited with non-zero exit code; note that snakemake uses bash strict mode!)

这是我的完整日志: 2024-06-13T220159.953918.snakemake.log 这是错误发生的位置的日志: HYZ.variants.parse.log 我发现只运行perl long_caller_parser.pl,也会打印这些信息,好像是在加载zzIO模块时产生的。

perl long_caller_parser.pl
YAML Error: Expected separator '---'
   Code: YAML_PARSE_ERR_NO_SEPARATOR
   Line: 1
   Document: 2
 at /public/home/weichuanzheng/anaconda3/envs/panpop/lib/site_perl/5.26.2/YAML/Loader.pm line 88.
Compilation failed in require at long_caller_parser.pl line 9.
BEGIN failed--compilation aborted at long_caller_parser.pl line 9.

这是我的输入的csv文件:

sample  platform    fq  AssmbFasta
HYZ hifi    HYZ.hifi.fastq.gz   HYZ.fasta
HDN hifi    HDN.hifi.fastq.gz   HDN.fasta
s186    hifi    s186.hifi.fastq.gz  s186.fasta
s349    hifi    s349.hifi.fastq.gz  s349.fasta
s365    hifi    s365.hifi.fastq.gz  s365.fasta
s407    hifi    s407.hifi.fastq.gz  s407.fasta
s447    hifi    s447.hifi.fastq.gz  s447.fasta
s596    hifi    s596.hifi.fastq.gz  s596.fasta

我在issue中没有发现类似的问题,我想知道应该如何解决呢,谢谢!

starskyzheng commented 5 months ago

应该是您yaml格式问题,您对照例子的仔细检查一下,特别是空白符

ChuanzhengWei commented 5 months ago

我重新下载了panpop的文件,仅仅将Snakefile_TGS的内容做了如下修改:

configfile: "configs/software.x86.yaml"
configfile: "configs/base.yaml"
configfile: "configs/config.TGS.yaml.def"

然后运行示例数据,仍然在long_caller_parser.pl处报错,这是错误日志: 2024-06-14T153420.164096.snakemake.log 我疑惑的是,当我只保留'use zzIO;'perl long_caller_parser.pl中,然后在终端运行perl long_caller_parser.pl就会打印出这个错误信息:

YAML Error: Expected separator '---'
   Code: YAML_PARSE_ERR_NO_SEPARATOR
   Line: 1
   Document: 2
 at /public/home/weichuanzheng/anaconda3/envs/panpop/lib/site_perl/5.26.2/YAML/Loader.pm line 88.
Compilation failed in require at /public/home/weichuanzheng/project/08.pangenome/05.SVcalling/10.panpop/panpop/scripts/long_caller_parser.pl line 9.
BEGIN failed--compilation aborted at /public/home/weichuanzheng/project/08.pangenome/05.SVcalling/10.panpop/panpop/scripts/long_caller_parser.pl line 9.

zzIO模块指向的是哪一个YAML文件呢?还是YAML::Loader不适配?

ChuanzhengWei commented 5 months ago

我解决了这个问题,虽然我还是不清楚为什么产生这个错误^-^ 我把software.x86.yaml重命名为software.yaml,config.TGS.yaml.def重命名为config.yaml,然后修改了Snakefile_TGS的相关内容,重新运行perl long_caller_parser.pl

Error: stmsa not found ( misc/stmsa_0.2.1-ubuntu.20.04_amd64.out ) or /public/home/weichuanzheng/project/08.pangenome/05.SVcalling/10.panpop/panpop/scripts/../misc/stmsa_0.2.1-ubuntu.20.04_amd64.out or is not excutable
Compilation failed in require at /public/home/weichuanzheng/project/08.pangenome/05.SVcalling/10.panpop/panpop/scripts/long_caller_parser.pl line 9.
BEGIN failed--compilation aborted at /public/home/weichuanzheng/project/08.pangenome/05.SVcalling/10.panpop/panpop/scripts/long_caller_parser.pl line 9.

然后我给misc/的可执行文件755的权限,然后重新运行就恢复正常了!