I am encountering an issue when running the ChromBPNet pipeline on published SHARE-seq scATAC data (mouse skin, GSM4156597) using fragment inputs derived from the author-provided dataset.
When using the full dataset (bulk BAM, sorted, merged, and deduplicated), the pipeline runs successfully. I then generated celltype-specific fragment files by subsetting the global fragments file by barcode, without modifying fragment coordinates or structure. However, when using these cell-type specific subsets of the author-provided fragments file, chrombpnet pipeline fails during shift detection with:
Traceback (most recent call last): File "/opt/conda/bin/chrombpnet", line 33, in <module> sys.exit(load_entry_point('chrombpnet', 'console_scripts', 'chrombpnet')()) File "/scratch/chrombpnet/chrombpnet/CHROMBPNET.py", line 23, in main pipelines.chrombpnet_train_pipeline(args) File "/scratch/chrombpnet/chrombpnet/pipelines.py", line 21, in chrombpnet_train_pipeline reads_to_bigwig.main(args) File "/scratch/chrombpnet/chrombpnet/helpers/preprocessing/reads_to_bigwig.py", line 96, in main plus_shift, minus_shift = auto_shift_detect.compute_shift(args.input_bam_file, File "/scratch/chrombpnet/chrombpnet/helpers/preprocessing/auto_shift_detect.py", line 232, in compute_shift plus_shift, minus_shift = compute_shift_ATAC(ref_plus_pwms, ref_minus_pwms, plus_pwm, minus_pwm) File "/scratch/chrombpnet/chrombpnet/helpers/preprocessing/auto_shift_detect.py", line 194, in compute_shift_ATAC raise ValueError("Input shift is non-standard ({:+}/{:+}). Please post an Issue.".format(plus_shift, minus_shift)) ValueError: Input shift is non-standard (+4/+4). Please post an Issue.
Questions
- Is ChromBPNet expected to support fragment inputs derived from combinatorial indexing assays (e.g., SHARE-seq)?
- Is cell-type–specific subsetting of fragments (via barcode filtering) a supported use case, or are there known limitations in this setting?
- Under what conditions can the shift detector return a symmetric shift (e.g., +4/+4), and how should this be interpreted?
- Are there recommended preprocessing steps for fragment inputs from assays like SHARE-seq to ensure compatibility with ChromBPNet’s shift detection?
I am encountering an issue when running the ChromBPNet pipeline on published SHARE-seq scATAC data (mouse skin, GSM4156597) using fragment inputs derived from the author-provided dataset.
When using the full dataset (bulk BAM, sorted, merged, and deduplicated), the pipeline runs successfully. I then generated celltype-specific fragment files by subsetting the global fragments file by barcode, without modifying fragment coordinates or structure. However, when using these cell-type specific subsets of the author-provided fragments file, chrombpnet pipeline fails during shift detection with:
Traceback (most recent call last): File "/opt/conda/bin/chrombpnet", line 33, in <module> sys.exit(load_entry_point('chrombpnet', 'console_scripts', 'chrombpnet')()) File "/scratch/chrombpnet/chrombpnet/CHROMBPNET.py", line 23, in main pipelines.chrombpnet_train_pipeline(args) File "/scratch/chrombpnet/chrombpnet/pipelines.py", line 21, in chrombpnet_train_pipeline reads_to_bigwig.main(args) File "/scratch/chrombpnet/chrombpnet/helpers/preprocessing/reads_to_bigwig.py", line 96, in main plus_shift, minus_shift = auto_shift_detect.compute_shift(args.input_bam_file, File "/scratch/chrombpnet/chrombpnet/helpers/preprocessing/auto_shift_detect.py", line 232, in compute_shift plus_shift, minus_shift = compute_shift_ATAC(ref_plus_pwms, ref_minus_pwms, plus_pwm, minus_pwm) File "/scratch/chrombpnet/chrombpnet/helpers/preprocessing/auto_shift_detect.py", line 194, in compute_shift_ATAC raise ValueError("Input shift is non-standard ({:+}/{:+}). Please post an Issue.".format(plus_shift, minus_shift)) ValueError: Input shift is non-standard (+4/+4). Please post an Issue.Questions