treangenlab / Olivar

Olivar: automated variant aware primer design for multiplex tiled amplicon sequencing
https://doi.org/10.1101/2023.02.11.528155
GNU General Public License v3.0
15 stars 1 forks source link

Validate module errors out with "KeyError: 'r'" #5

Closed kneubehl closed 5 months ago

kneubehl commented 5 months ago

Hello, I am trying to validate a primer scheme and I get a keyerror message, see below:

(olivar) cygnus@pop-os:/media/extra_drive1/XXXX_tiled_amplicon_assay/olivar_v1.1.3_XXXX_scheme_development/XXXX_olivar_nonspecific_genomes$ olivar validate /media/extra_drive1/XXXX_tiled_amplicon_assay/testing_XXXX_denv_primers/DENV4_primers.csv --pool 1 -d /media/extra_drive1/XXXX_tiled_amplicon_assay/olivar_v1.1.3_XXXX_scheme_development/XXXX_olivar_nonspecific_genomes/XXXX_olivar_nonspecific_db.fa -o /media/extra_drive1/XXXX_tiled_amplicon_assay/testing_XXXX_denv_primers/olivar_validate/denv4_pool1 -p 20
Successfully loaded /media/extra_drive1/XXXX_tiled_amplicon_assay/testing_XXXX_denv_primers/DENV4_primers.csv, pool-1.
Running blastn-short with 20 CPU(s), batch size 128...
100%|>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>| 36/36 [00:54<00:00,  1.51s/it]
finished in 54.47s
Non-specific amplicons saved as /media/extra_drive1/XXXX_tiled_amplicon_assay/testing_XXXX_denv_primers/olivar_validate/denv4_pool1/olivar-val_pool-1_ns-amp.csv
Non-specific primer pairs saved as /media/extra_drive1/XXXX_tiled_amplicon_assay/testing_XXXX_denv_primers/olivar_validate/denv4_pool1/olivar-val_pool-1_ns-pair.csv
Traceback (most recent call last):
  File "/home/cygnus/mambaforge/envs/olivar/bin/olivar", line 187, in <module>
    validate(
  File "/home/cygnus/mambaforge/envs/olivar/lib/python3.12/site-packages/olivar/main.py", line 1150, in validate
    _, all_bad = PrimerSetBadnessFast(seq_list)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/cygnus/mambaforge/envs/olivar/lib/python3.12/site-packages/olivar/design.py", line 310, in PrimerSetBadnessFast
    c = basic.revcomp(p)
        ^^^^^^^^^^^^^^^^
  File "/home/cygnus/mambaforge/envs/olivar/lib/python3.12/site-packages/olivar/basic.py", line 36, in revcomp
    bases = [complement[base] for base in seq]
             ~~~~~~~~~~^^^^^^
KeyError: 'r'

The output directory is created and the "olivar-val_pool-1_ns-amp.csv" and "olivar-val_pool-1_ns-pair.csv" are created but are empty (just have headers). Any help would be appreciated. Thanks! -Alex

mxwang66 commented 5 months ago

Hi Alex, the error you got is caused by an ambiguous base 'r' in your sequence. Currently ambiguous bases are not supported.

kneubehl commented 5 months ago

Doh, I should have figured that out on my own, though these primers shouldn't have had ambiguities which is another issue lol. Thanks!