mehrdadbakhtiari / adVNTR

A tool for genotyping Variable Number Tandem Repeats (VNTR) from sequence data
http://advntr.readthedocs.io/
BSD 3-Clause "New" or "Revised" License
41 stars 15 forks source link

IndexError when running `advntr addmodel` #67

Open jsquaredosquared opened 11 months ago

jsquaredosquared commented 11 months ago

@mehrdadbakhtiari

Issue: I get an IndexError when I try to run advntr addmodel. What can be done to fix this error?

Version: adVNTR 1.3.3 (downloaded using conda) (Note: I have tried to install the latest GitHub version but it fails to build because of a Cython CompileError.)

Command:

advntr addmodel \
-r ~/[...]/hg38_no-alt-no-random.fa \
-c 18 -s 57024495 -e 57024955 \
-p GTTATGTCCCTTATAGAATTTCACATATCCCTATTCTCAGACAGGAATAGGGATATGTGAGCTATGATA \
-g WDR7 \
-m vntr_data/hg38_selected_VNTRs_Illumina.db

Output:

Searching reference genome for regions with shared kmers with VNTR. It takes a few hours for human genome
Traceback (most recent call last):
  File "/home/jeffr/miniconda3/envs/advntr-test/bin/advntr", line 11, in <module>
    sys.exit(main())
  File "/home/jeffr/miniconda3/envs/advntr-test/lib/python3.6/site-packages/advntr/__main__.py", line 138, in main
    add_model(args, addmodel_parser)
  File "/home/jeffr/miniconda3/envs/advntr-test/lib/python3.6/site-packages/advntr/advntr_commands.py", line 193, in add_model
    scaled_recruitment_score = vntr_finder.train_classifier_threshold(args.reference)
  File "/home/jeffr/miniconda3/envs/advntr-test/lib/python3.6/site-packages/advntr/profiler.py", line 8, in wrapper
    retval = func(*args, **kwargs)
  File "/home/jeffr/miniconda3/envs/advntr-test/lib/python3.6/site-packages/advntr/vntr_finder.py", line 687, in train_classifier_threshold
    hmm = self.get_vntr_matcher_hmm(read_length=read_length)
  File "/home/jeffr/miniconda3/envs/advntr-test/lib/python3.6/site-packages/advntr/vntr_finder.py", line 87, in get_vntr_matcher_hmm
    vntr_matcher = self.build_vntr_matcher_hmm(copies, flanking_region_size)
  File "/home/jeffr/miniconda3/envs/advntr-test/lib/python3.6/site-packages/advntr/profiler.py", line 8, in wrapper
    retval = func(*args, **kwargs)
  File "/home/jeffr/miniconda3/envs/advntr-test/lib/python3.6/site-packages/advntr/vntr_finder.py", line 69, in build_vntr_matcher_hmm
    vntr_matcher = get_read_matcher_model(left_flanking_region, right_flanking_region, patterns, copies)
  File "/home/jeffr/miniconda3/envs/advntr-test/lib/python3.6/site-packages/advntr/profiler.py", line 8, in wrapper
    retval = func(*args, **kwargs)
  File "/home/jeffr/miniconda3/envs/advntr-test/lib/python3.6/site-packages/advntr/hmm_utils.py", line 485, in get_read_matcher_model    model = get_suffix_matcher_hmm(left_flanking_region)
  File "/home/jeffr/miniconda3/envs/advntr-test/lib/python3.6/site-packages/advntr/profiler.py", line 8, in wrapper
    retval = func(*args, **kwargs)
  File "/home/jeffr/miniconda3/envs/advntr-test/lib/python3.6/site-packages/advntr/hmm_utils.py", line 317, in get_suffix_matcher_hmm    model.add_transition(unit_start, delete_states[0], delete_error)
IndexError: list index out of range