liulab-dfci / MAESTRO

Single-cell Transcriptome and Regulome Analysis Pipeline
GNU General Public License v3.0
279 stars 77 forks source link

Error when running 'macs2 callpeak..' #154

Open loraince opened 2 years ago

loraince commented 2 years ago
INFO  @ Sat, 26 Feb 2022 11:52:20: #1 read fragment files... 
INFO  @ Sat, 26 Feb 2022 11:52:20: #1 read treatment fragments... 
Traceback (most recent call last):
File "/miniconda3/envs/MAESTRO/bin/macs2", line 653, in <module>
    main()
File "/miniconda3/envs/MAESTRO/bin/macs2", line 51, in main
    run( args )
File "/miniconda3/envs/MAESTRO/lib/python3.8/site-packages/MACS2/callpeak_cmd.py", line 64, in run
    if options.PE_MODE: (treat, control) = load_frag_files_options (options)
File "/miniconda3/envs/MAESTRO/lib/python3.8/site-packages/MACS2/callpeak_cmd.py", line 350, in load_frag_files_options
    treat = tp.build_petrack()
File "MACS2/IO/Parser.pyx", line 614, in MACS2.IO.Parser.BEDPEParser.build_petrack
File "MACS2/IO/Parser.pyx", line 633, in MACS2.IO.Parser.BEDPEParser.build_petrack
AssertionError: Right position must be larger than left position, check your BED file at line: b'chr1\t989179\t989179\tAACAACCAAGTACAAGACAAGCTA\t1\n'
[Sat Feb 26 11:52:20 2022]
Error in rule scatac_allpeakcall:
    jobid: 2
    output: Result/Analysis/SHARE_seq_ATAC_220204/SHARE_seq_ATAC_220204_all_peaks.narrowPeak, Result/Analysis/SHARE_seq_ATAC_220204/SHARE_seq_ATAC_220204_all_treat_pileup.bdg
    log: Result/Log/SHARE_seq_ATAC_220204_macs2_allpeak.log (check log file(s) for error message)
    shell:
        macs2 callpeak -f BEDPE -g hs --outdir Result/Analysis/SHARE_seq_ATAC_220204 -n SHARE_seq_ATAC_220204_all -B -q 0.05 --nomodel --extsize=50 --SPMR --keep-dup all -t Result/Mapping/SHARE_seq_ATAC_220204/fragments_corrected_dedup_count.tsv
        (one of the commands exited with non-zero exit code; note that snakemake uses bash strict mode!)

I used MAESTRO scatac-ini for the example dataset 'atac_pbmc_500_nextgem_fastqs' and finished the whole process successfully. However, when I tried it with my own data, the error was as reported above.

The main problem seems to be 'AssertionError: Right position must be larger than left position, check your BED file at line: b'chr1\t989179\t989179\tAACAACCAAGTACAAGACAAGCTA\t1\n'

It was weird that this was found in 'fragments_corrected_dedup_count.tsv' : chr1 989179 989179 AACAACCAAGTACAAGACAAGCTA 1 which had the same position at left position and at right position

By the way, 'mamba create -n MAESTRO maestro=1.5.1 -c liulab-dfci' specified a chromap=0.1.0 However, this resulted in 'Illegal instruction (core dumped)' when simply executing 'chromap --version' or anything with chromap. I noticed that this problem was also reported by other users. Thus, I actually reinstalled chromap=0.2.0 and used it for the MAESTRO pipeline. I am not sure is it a new feature for chromap v0.2.0 to output fragments with the same position at left position and at right position, as I could not run chromap v0.1.0.