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 while running advntr genotype #72

Open muyao11 opened 6 months ago

muyao11 commented 6 months ago

@mehrdadbakhtiari

Issue: I get an IndexError when I try to run advntr genotype with --update option, when I run without --update option, the same command run successfully. What can be done to fix this error?

Version: adVNTR 1.4.1 (downloaded using conda)

Command:

sample=HG00097
WORKDIR=/Parastor300s_G30S/songqiao/2024/adVNTR
OUTPUT=$WORKDIR/advntrProcess
REFERENCE_db=/Parastor300s_G30S/vntr/old_home/vntr_work/vntr_refdb/hg38_selected_VNTRs_Illumina.db
input_bam=/Parastor300s_G30S/Resources/1KG_bam/$sample.final.bam
advntr genotype -t 2  --alignment_file $input_bam --working_directory $OUTPUT/u$sample -m $REFERENCE_db -of vcf -o $OUTPUT/u$sample/${sample}_vntr.vcf --update

Output:

Pipeline advntr Start time is 2024/05/25--10:32
Using TensorFlow backend.
/home2/vntr/anaconda3/envs/py361/lib/python3.6/site-packages/tensorflow/python/framework/dtypes.py:526: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
  _np_qint8 = np.dtype([("qint8", np.int8, 1)])
/home2/vntr/anaconda3/envs/py361/lib/python3.6/site-packages/tensorflow/python/framework/dtypes.py:527: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
  _np_quint8 = np.dtype([("quint8", np.uint8, 1)])
/home2/vntr/anaconda3/envs/py361/lib/python3.6/site-packages/tensorflow/python/framework/dtypes.py:528: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
  _np_qint16 = np.dtype([("qint16", np.int16, 1)])
/home2/vntr/anaconda3/envs/py361/lib/python3.6/site-packages/tensorflow/python/framework/dtypes.py:529: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
  _np_quint16 = np.dtype([("quint16", np.uint16, 1)])
/home2/vntr/anaconda3/envs/py361/lib/python3.6/site-packages/tensorflow/python/framework/dtypes.py:530: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
  _np_qint32 = np.dtype([("qint32", np.int32, 1)])
/home2/vntr/anaconda3/envs/py361/lib/python3.6/site-packages/tensorflow/python/framework/dtypes.py:535: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
  np_resource = np.dtype([("resource", np.ubyte, 1)])
Traceback (most recent call last):
  File "/home2/vntr/anaconda3/envs/py361/bin/advntr", line 11, in <module>
    sys.exit(main())
  File "/home2/vntr/anaconda3/envs/py361/lib/python3.6/site-packages/advntr/__main__.py", line 134, in main
    genotype(args, genotype_parser)
  File "/home2/vntr/anaconda3/envs/py361/lib/python3.6/site-packages/advntr/advntr_commands.py", line 124, in genotype
    genome_analyzier.find_repeat_counts_from_alignment_file(input_file, average_coverage, args.update)
  File "/home2/vntr/anaconda3/envs/py361/lib/python3.6/site-packages/advntr/genome_analyzer.py", line 252, in find_repeat_counts_from_alignment_file
    average_coverage, update)
  File "/home2/vntr/anaconda3/envs/py361/lib/python3.6/site-packages/advntr/profiler.py", line 8, in wrapper
    retval = func(*args, **kwargs)
  File "/home2/vntr/anaconda3/envs/py361/lib/python3.6/site-packages/advntr/vntr_finder.py", line 707, in find_repeat_count_from_alignment_file
    selected_reads = self.select_illumina_reads(alignment_file, unmapped_filtered_reads, update)
  File "/home2/vntr/anaconda3/envs/py361/lib/python3.6/site-packages/advntr/profiler.py", line 8, in wrapper
    retval = func(*args, **kwargs)
  File "/home2/vntr/anaconda3/envs/py361/lib/python3.6/site-packages/advntr/vntr_finder.py", line 685, in select_illumina_reads
    selected_reads = self.iteratively_update_model(alignment_file, unmapped_filtered_reads, selected_reads, hmm)
  File "/home2/vntr/anaconda3/envs/py361/lib/python3.6/site-packages/advntr/profiler.py", line 8, in wrapper
    retval = func(*args, **kwargs)
  File "/home2/vntr/anaconda3/envs/py361/lib/python3.6/site-packages/advntr/vntr_finder.py", line 583, in iteratively_update_model
    read_length = len(selected_reads[0].sequence)
IndexError: list index out of range
advntr failed