Description
Describe the bug
When I attempt to run CRISPressoWGS I get the following error "TypeError: unsupported operand type(s) for -: 'str' and 'int'"
I have double checked the region file formatting but I am unable to resolve the error which I think is occurring when the file is read in and/or processed by get_region_from_fa
Expected behavior
I am trying to run CRISPressoWGS to analyze base editing outcomes across a 1kb amplicon that has been tagmented then sequenced. I am attempting to use a strategy previously suggested (lucapinello/CRISPResso#2). I aligned my sequencing file using STAR to generate a sorted BAM file and created a region file with just one 50bp region to test the approach.
To reproduce
CRISPRessoWGS -b CBE_cDNA_CRISPRESSO_test.bam -f Region_file.txt -r GRCh38_chr12.fa --base_editor_output --name CRISPR_WGS_Test --debug
Debug output
INFO @ Thu, 20 Feb 2025 15:50:30 (0.0% done):
Creating Folder CRISPRessoWGS_on_CRISPR_WGS_Test
WARNING @ Thu, 20 Feb 2025 15:50:30 (0.0% done):
Folder CRISPRessoWGS_on_CRISPR_WGS_Test already exists.
INFO @ Thu, 20 Feb 2025 15:50:30 (0.0% done):
Checking dependencies...
INFO @ Thu, 20 Feb 2025 15:50:30 (0.0% done):
All the required dependencies are present!
INFO @ Thu, 20 Feb 2025 15:50:30 (0.0% done):
Index file for input .bam file exists, skipping generation.
INFO @ Thu, 20 Feb 2025 15:50:31 (0.0% done):
The index for the reference fasta file is already present! Skipping generation.
INFO @ Thu, 20 Feb 2025 15:50:31 (0.0% done):
Retrieving reference sequences for amplicons and checking for sgRNAs
Traceback (most recent call last):
File "/Users/sgarudadri/miniconda3/envs/crispresso2_env/lib/python3.12/site-packages/CRISPResso2/CRISPRessoWGSCORE.py", line 488, in main
df_regions['sequence']=df_regions.apply(lambda row: get_region_from_fa(row.chr_id, row.bpstart, row.bpend, uncompressed_reference), axis=1)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/sgarudadri/miniconda3/envs/crispresso2_env/lib/python3.12/site-packages/pandas/core/frame.py", line 10374, in apply
return op.apply().finalize(self, method="apply")
^^^^^^^^^^
File "/Users/sgarudadri/miniconda3/envs/crispresso2_env/lib/python3.12/site-packages/pandas/core/apply.py", line 916, in apply
return self.apply_standard()
^^^^^^^^^^^^^^^^^^^^^
File "/Users/sgarudadri/miniconda3/envs/crispresso2_env/lib/python3.12/site-packages/pandas/core/apply.py", line 1063, in apply_standard
results, res_index = self.apply_series_generator()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/sgarudadri/miniconda3/envs/crispresso2_env/lib/python3.12/site-packages/pandas/core/apply.py", line 1081, in apply_series_generator
results[i] = self.func(v, *self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/sgarudadri/miniconda3/envs/crispresso2_env/lib/python3.12/site-packages/CRISPResso2/CRISPRessoWGSCORE.py", line 488, in
df_regions['sequence']=df_regions.apply(lambda row: get_region_from_fa(row.chr_id, row.bpstart, row.bpend, uncompressed_reference), axis=1)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/sgarudadri/miniconda3/envs/crispresso2_env/lib/python3.12/site-packages/CRISPResso2/CRISPRessoWGSCORE.py", line 100, in get_region_from_fa
region='%s:%d-%d' % (chr_id, bpstart, bpend -1)
~~~~~~^~
TypeError: unsupported operand type(s) for -: 'str' and 'int'
CRITICAL @ Thu, 20 Feb 2025 15:50:31 (0.0% done):
Traceback (most recent call last):
File "/Users/sgarudadri/miniconda3/envs/crispresso2_env/lib/python3.12/site-packages/CRISPResso2/CRISPRessoWGSCORE.py", line 488, in main
df_regions['sequence']=df_regions.apply(lambda row: get_region_from_fa(row.chr_id, row.bpstart, row.bpend, uncompressed_reference), axis=1)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/sgarudadri/miniconda3/envs/crispresso2_env/lib/python3.12/site-packages/pandas/core/frame.py", line 10374, in apply
return op.apply().finalize(self, method="apply")
^^^^^^^^^^
File "/Users/sgarudadri/miniconda3/envs/crispresso2_env/lib/python3.12/site-packages/pandas/core/apply.py", line 916, in apply
return self.apply_standard()
^^^^^^^^^^^^^^^^^^^^^
File "/Users/sgarudadri/miniconda3/envs/crispresso2_env/lib/python3.12/site-packages/pandas/core/apply.py", line 1063, in apply_standard
results, res_index = self.apply_series_generator()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/sgarudadri/miniconda3/envs/crispresso2_env/lib/python3.12/site-packages/pandas/core/apply.py", line 1081, in apply_series_generator
results[i] = self.func(v, *self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/sgarudadri/miniconda3/envs/crispresso2_env/lib/python3.12/site-packages/CRISPResso2/CRISPRessoWGSCORE.py", line 488, in
df_regions['sequence']=df_regions.apply(lambda row: get_region_from_fa(row.chr_id, row.bpstart, row.bpend, uncompressed_reference), axis=1)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/sgarudadri/miniconda3/envs/crispresso2_env/lib/python3.12/site-packages/CRISPResso2/CRISPRessoWGSCORE.py", line 100, in get_region_from_fa
region='%s:%d-%d' % (chr_id, bpstart, bpend -1)
~~~~~~^~
TypeError: unsupported operand type(s) for -: 'str' and 'int'
CRITICAL @ Thu, 20 Feb 2025 15:50:31 (0.0% done):
ERROR: unsupported operand type(s) for -: 'str' and 'int'