Skip to content
This repository was archived by the owner on May 22, 2026. It is now read-only.

Commit 2505c58

Browse files
authored
Merge pull request #293 from PolinaBevad/issue_283_hardclips
Fix issue 283 hardclips Index out of range error
2 parents 99bb743 + 31b591e commit 2505c58

5 files changed

Lines changed: 13 additions & 1 deletion

File tree

src/main/java/com/astrazeneca/vardict/modules/CigarParser.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -880,6 +880,10 @@ private boolean isInsertionOrDeletionWithNextMatched(int ci) {
880880

881881
private boolean isCloserThenVextAndGoodBase(String querySequence, Map<Integer, Character> ref, String queryQuality,
882882
int ci, int i, StringBuilder ss, CigarOperator cigarOperator) {
883+
// Do not adjust complex if we have hard-clips after insertion/deletion
884+
if (cigar.numCigarElements() > ci + 2 && cigar.getCigarElement(ci + 2).getOperator() == CigarOperator.H) {
885+
return false;
886+
}
883887
return instance().conf.performLocalRealignment && cigarElementLength - i <= instance().conf.vext
884888
&& cigar.numCigarElements() > ci + 1
885889
&& cigar.getCigarElement(ci + 1).getOperator() == cigarOperator
Binary file not shown.
Binary file not shown.
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
test,5234,7764,NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNTGAATATTTCCACTTGCATATGCAGGTACACACACAAAAGGGATAAATGTGGGGTTTTTTTTTCACTTTAAAGTAACTACAACCCTTATTTCAGAGTCATTATATAACTAAATTCTTTAAATATCTATTATTCTAGGATTGAAATCACTCTTTACAGGACTTCAGTGCATGTTTTTGATTGGAAATTACTTTCAAAAGAGATCTACACATATGCACACATGCACACAACTACACATATTGCACCACAGCTACCTACTCTTCTAAAGCTGAGGAAATGTTCACTTTGGGGGGAGGAGTTGTTTTGTTTTGTTTTGTTTTGACCAGGGTCTCAGCATGCCAGGCTGGCTGACCTGGAGCTCACAGAACCCTCTGAACATCTGCCTCCCAGTGGTAAGATTAAAGGAATGCACTGCCATGTACAGCGCACCCTTTCTTTTCTGAGAAGTATTTTTCGATCTTGTCCGCCCTCCGTATTCATTCAGTATACAGGCAACTACGGTCCACCTCCACTGAAAACAAAAGGTCACTGCACCACTTTTACTCAGGCTTGAGAGAGCAGAAAGTCCACGGCAGCTATAATCCATTCATTGTGTGCGTCTGCCTGTGCCTGTGCCCCAGTGAGTGGCTCGAGGAGACACAAGGACAGCATGTGGGAGCCCATTCCTCCCATCCCAACTCACCATTCCATGGTGGGGTCCTTCCCTCACTACTGTACACCCCAGTTGCATGCCAATGCCCAAGCCAAGCTCCCCTGGGTGCTGTGCTCAAGCCCGAGACTGTATTAACGAAAGCTCCTGTTCACCGGGTATAACCACGGTTTACACAGCTTTAATCCTAGCACTGAAGGCAGAAGCAGGCACATCTTCGTGAGTTTGGAAGCCAGCCTCGTTCACCTAATGAGTTCCAGGGCAGACACAACTACATTAGTAATACCTGTCTTTAAAAAAAAAAAAAAAAGATTGTTACAATGAACCACTGTAACATGAAATCGCCAAATGCAAAAGCTTTAGTACACAGTTAATAAATGTGAAGTTGTCCTGTGCCCTCCCCATTACCTGTGGCAACGCGTCTCTTTTTCCCCCTCCACACAAAATAAATGAAAATTTAAAAGACAGATTTTTTTTTTTAGGATTTTATTTGTTCAAAATAAAATCCAGTGTCTAACCCTTGGACTCCCACTGGAGCTGCAGGGAGCCGGCCCGCCCTGCCCCTCCTCCACACTAGGGCTCTCCCACTCTCTCCCATCCTTAATCTCTAAGAGGCCCCTTCAAAGCCAGGCCAGTGGGGATTTTGCTAAACTACCAGATTATGCCTCTGCCTTTACAGTCTCTCTATTGCTCCTAAATCTACAAAAGCAAACCTTCAATAGGACCTTGCTTTTCCCACTCCCTCAAGAGCCCCAGGCTGGCTCAGAGCCACCTACCCATCAGCTCACCAGGACAACCTCCACCCTCACGGTCACTGACCACTGAGCAGACAGACAGCAAGCCTCTCCTGCCACTCAAGGCCTATAAGTGCCTTAAAAACTGTCATTACCCGGTTGTTTACTCTCATGTCAGAGGAAACCAATCTCGCTGTCTACTGAAAGCACACACTGACTTAAATGCACCCACAGCAGCAGGGTCAAACACAAGTGATCATCATGCAGAAACTACCGTGGAAAATGTGCAGAACCTGAAGGACGGTGGCTCACAGGGCTCAAGAAGTCAGATTTGCCTGTGAAAGAGAGCAGTCCTAGAAAGACTCTTAAACACATATTCAATCCAATACCATTTAACACACCGCTTTTCTTCAATCCATTCTCTTAATAGTTTCTCTATCGTCTTGGATTATCTCCCATTCTCATTTCATGTGCCATCTGCTCGTTTAAGACTTCACGTCTGTCCAGTCTCTGAAATATTTGTCACTTTAGTCATTAGCACCTTGCACAATGCAGCTCTGTCTCCTTAAAGTTCAGAGCTCGATTATTTTAGAAAGCTCAAGATTATTTTAACATCACCATTTCTTAATCTAAACTGGCCTGCCTACACTTTACATTTTCCACCTAATGAAAATTCCACCTCAGTAAGTGTCCGTGCTGTTTTAAAAGGAAGCCGAGAAGCAGGGCCATAAACTAGAGGGTTCTACAGGCCACCTCAGCAAATTCTCCCAAGCAAACTCAAGAGCTGTGACAGAGTCCCACAGAACTCCCTTCTCACTCCCCAGCAGGCCCCAGCCTACTCTCTACCCCTCCCAGGGCCAGCAGAAAGTTCCCCTCTGGTCTTCTCAGTTTCAAGGCATCACGCAGCCCATGCAGCTCCCTCTGGGCCTGACATACAGCATCTCAGAAATTAAATCGTACGTGTA
2-
test,5475,8024,CACCAGCTCACCCTCCCTGGGCCGTGGCCACTCTGGCTTTGGCTCAGCCCAGCCTGGAGTTCGGCTATTTCAGAGAGGGAAGCCAGAGGAGAAGAGGGTGCAGGCTGAGGTCCCCACAAATCTGCCCCCAGAGCCCTGGCAAGTGGACCCGCCAATCCCGAGGAAGAACCGGAGGACTTGGGACAGCTCAGACCACCAAGTCTCCAAGTCCTTGTTAGAAACAAGAGCAAAATAAATTATTTTTGCCTAATCCTTTTTCCTTCTAAAAATGGTTGCCTTCGTCTGTCCCGTCCCCTCCTTTTCTCTACATAAAGTTGTCCTTGTTGTTCTCCAAACAACTGTCCATGCAGGAAACCCCACCTGGGCAGCGGTCAGGTGCGGAGGCAGCCTCTCAGCGGTGGGGAACATTCACAGTAACTGCTGGCAGGCTGCTGGGCGCCCTCCAGGAGAGGGGGTGCTGGGCCGAGCCGGGCTGGCAGGAGTGGTGTCGGCCTTCGGGAAATGCTGGGCTGCTAAGGGTTTGGTCCACCCATCCCGGGAGTGCCCGGTCCTCGACGTCCATCTGTTCCCTAGCCCATGGCGGTCACCATGCTGGACGGGTGGGGGTGGCCGAAGGAGAGGCTGGAGGAGGGGTGGATGGGCGTCGGAGTGGGCAGGATGTGTCCGGAGTGGCTGAAGGGCGGGAGGTGGCCCACAGGTGCCATGTGTCCAGCCAGGGCAGCTGCACTGAAGGGGGATGACTTCTCCTGCATGCACTTTGACAGCTCCTCGAAGCACTCCGCCCCTTTCTTGCTCTTCTTGGACTTGTTGGACATCTTCCGGTTCCGAGTCTGGATCCCTTCCTTCTTCATGGTCAGTGGCCTGTTAACCTAGAGGCAACCACCAGTTTTCAGAGGGCCAGTTCCTTCCTCCAGCAACATTCCTCCCACCCCGCCACAGCGTGGACCAGAGGCAGGTCAAGCTGAGGGTCCCAGGAAGCCAGGAATTGTGCCCGACCTTCATAGTCCCATCACCAGATGGCTACCATTCCAGGAAGGGCGGGTTCTGGCATATGGGGCTGACCCACACCCTCCCTGGCTCTGCCCACCGCATGCCAGCACTGCCCAGCCAACTGAAGTCCTCCCCCCCACCCTGACCCTTTTTAAGCAGAGAAACCACTTCCCTAGTCCGAGACCCTGTCCTAGCCAGCTCCACCTCCTGAGCAGAGGCAAGGCACCCCTCTTACGGGAAGCCCTTCTGGCGCTCACTCAGGGCAGCAGCTTCCCAAGCCAAGCCAAGCTGGATATTGTGGCTGGGGCCTCTTGCCTGGCAGCACAAAGCGCAGAGGTCCCCTGGGAGGGGCGGGGTGGCCGGGGCGGGGCGCACTCACATTGTGCAGCTTGTAGTAGAGGCCACAGGCGTTGCAGACAGGGTCCCCGTTGGCGTTTCGGCGCCATAAGGTGGTGGTTGTCGTCTGACAATTTGCACAACAGGTGCCGGCTCTTCTGGCGGCCGACTGGGAGGGCAAGGCAGCGTCAGCAGGCTGGACTCCCACGCCCACCTCGACCCCCCTCCCTGACCCTCGCTCCACCCCCAGTCCCCACCAGCTCAGTCAAGGAGGGCTAAATCTCACATGGGAATCAAAGCATCTCAGAACCATGGAATTTTAGAATTTGAGAACGAAATAAGTCAAGACTCACAGAACTTTGGAATAAAGAACTCTCAGAAGCCTGATGTTAGAATCAACGGGATTGCAAGAGCTACAGAGGAGAATTAGCTACCTCCCCCAACTACCCTGCGCTCTAACTCCATAAATGGGGAAACTGAGGCCCTGAGAAGGGCTCTCTAGTAGCACAGGCATCCTGAGGCTGAGCCGGCTTGGTCCCCCTCGAGCCCCTGGATCTGGGGCCGATTCTGTGTCTCCTCTAGCACGACTCCGCTCAAAATCCATAATCCTGGGTGAGTCAGTGTCGCTGAGGCCAGCGCAGGTTTACAGAGTGCAGAGCTGCACCGTCCAACACTGTAGCAGCTGGCCACAGGCAGCCATTTAAATAAGATCTAACTACAAATTAACAAAATTAAAAACCCAGTTCCCTCAATTGCACGAGCCACATTTCAAGTGATCAATATTCACATGTGGCCAGGGGCTACCACAGTGGGCAGTGCAGACACAGAACTTTTCCATCTCTCCAGCTGATGTGAGTGCTGATCCCCCCCATCCAGCCCCCCATACCCCAACCCTTAGAGCTTTAACCACCCCGCAGCCCCTCTGAGTCCTAGTCCCTCAGGAAATGCCTGGCAGAGGTAGGGTCTGGAAATGAGCGCCTGGTCCTTGCAGAGAGAAGCTAGAGGGAGGCTTTACCCAAGAAAACAGATCCCCTCTCCCGGTTCCACCAACGCCAGCCCCACAGTGACAGAGGGGGTCCCCCAACACTTCCCAGAGAACTGCAGGCGGGAGTGCACCAGGTGGTGAGTGTGGGGGGCTGGGGGCTGAGGCCTGCAGAGCCTGGAACAGCCCCAGGCCCAAGCCTGGTCACAGAAGGGACAGAGGGACTGCAGCCGCGGGGGCAG
2+
test,5475,8024,CACCAGCTCACCCTCCCTGGGCCGTGGCCACTCTGGCTTTGGCTCAGCCCAGCCTGGAGTTCGGCTATTTCAGAGAGGGAAGCCAGAGGAGAAGAGGGTGCAGGCTGAGGTCCCCACAAATCTGCCCCCAGAGCCCTGGCAAGTGGACCCGCCAATCCCGAGGAAGAACCGGAGGACTTGGGACAGCTCAGACCACCAAGTCTCCAAGTCCTTGTTAGAAACAAGAGCAAAATAAATTATTTTTGCCTAATCCTTTTTCCTTCTAAAAATGGTTGCCTTCGTCTGTCCCGTCCCCTCCTTTTCTCTACATAAAGTTGTCCTTGTTGTTCTCCAAACAACTGTCCATGCAGGAAACCCCACCTGGGCAGCGGTCAGGTGCGGAGGCAGCCTCTCAGCGGTGGGGAACATTCACAGTAACTGCTGGCAGGCTGCTGGGCGCCCTCCAGGAGAGGGGGTGCTGGGCCGAGCCGGGCTGGCAGGAGTGGTGTCGGCCTTCGGGAAATGCTGGGCTGCTAAGGGTTTGGTCCACCCATCCCGGGAGTGCCCGGTCCTCGACGTCCATCTGTTCCCTAGCCCATGGCGGTCACCATGCTGGACGGGTGGGGGTGGCCGAAGGAGAGGCTGGAGGAGGGGTGGATGGGCGTCGGAGTGGGCAGGATGTGTCCGGAGTGGCTGAAGGGCGGGAGGTGGCCCACAGGTGCCATGTGTCCAGCCAGGGCAGCTGCACTGAAGGGGGATGACTTCTCCTGCATGCACTTTGACAGCTCCTCGAAGCACTCCGCCCCTTTCTTGCTCTTCTTGGACTTGTTGGACATCTTCCGGTTCCGAGTCTGGATCCCTTCCTTCTTCATGGTCAGTGGCCTGTTAACCTAGAGGCAACCACCAGTTTTCAGAGGGCCAGTTCCTTCCTCCAGCAACATTCCTCCCACCCCGCCACAGCGTGGACCAGAGGCAGGTCAAGCTGAGGGTCCCAGGAAGCCAGGAATTGTGCCCGACCTTCATAGTCCCATCACCAGATGGCTACCATTCCAGGAAGGGCGGGTTCTGGCATATGGGGCTGACCCACACCCTCCCTGGCTCTGCCCACCGCATGCCAGCACTGCCCAGCCAACTGAAGTCCTCCCCCCCACCCTGACCCTTTTTAAGCAGAGAAACCACTTCCCTAGTCCGAGACCCTGTCCTAGCCAGCTCCACCTCCTGAGCAGAGGCAAGGCACCCCTCTTACGGGAAGCCCTTCTGGCGCTCACTCAGGGCAGCAGCTTCCCAAGCCAAGCCAAGCTGGATATTGTGGCTGGGGCCTCTTGCCTGGCAGCACAAAGCGCAGAGGTCCCCTGGGAGGGGCGGGGTGGCCGGGGCGGGGCGCACTCACATTGTGCAGCTTGTAGTAGAGGCCACAGGCGTTGCAGACAGGGTCCCCGTTGGCGTTTCGGCGCCATAAGGTGGTGGTTGTCGTCTGACAATTTGCACAACAGGTGCCGGCTCTTCTGGCGGCCGACTGGGAGGGCAAGGCAGCGTCAGCAGGCTGGACTCCCACGCCCACCTCGACCCCCCTCCCTGACCCTCGCTCCACCCCCAGTCCCCACCAGCTCAGTCAAGGAGGGCTAAATCTCACATGGGAATCAAAGCATCTCAGAACCATGGAATTTTAGAATTTGAGAACGAAATAAGTCAAGACTCACAGAACTTTGGAATAAAGAACTCTCAGAAGCCTGATGTTAGAATCAACGGGATTGCAAGAGCTACAGAGGAGAATTAGCTACCTCCCCCAACTACCCTGCGCTCTAACTCCATAAATGGGGAAACTGAGGCCCTGAGAAGGGCTCTCTAGTAGCACAGGCATCCTGAGGCTGAGCCGGCTTGGTCCCCCTCGAGCCCCTGGATCTGGGGCCGATTCTGTGTCTCCTCTAGCACGACTCCGCTCAAAATCCATAATCCTGGGTGAGTCAGTGTCGCTGAGGCCAGCGCAGGTTTACAGAGTGCAGAGCTGCACCGTCCAACACTGTAGCAGCTGGCCACAGGCAGCCATTTAAATAAGATCTAACTACAAATTAACAAAATTAAAAACCCAGTTCCCTCAATTGCACGAGCCACATTTCAAGTGATCAATATTCACATGTGGCCAGGGGCTACCACAGTGGGCAGTGCAGACACAGAACTTTTCCATCTCTCCAGCTGATGTGAGTGCTGATCCCCCCCATCCAGCCCCCCATACCCCAACCCTTAGAGCTTTAACCACCCCGCAGCCCCTCTGAGTCCTAGTCCCTCAGGAAATGCCTGGCAGAGGTAGGGTCTGGAAATGAGCGCCTGGTCCTTGCAGAGAGAAGCTAGAGGGAGGCTTTACCCAAGAAAACAGATCCCCTCTCCCGGTTCCACCAACGCCAGCCCCACAGTGACAGAGGGGGTCCCCCAACACTTCCCAGAGAACTGCAGGCGGGAGTGCACCAGGTGGTGAGTGTGGGGGGCTGGGGGCTGAGGCCTGCAGAGCCTGGAACAGCCCCAGGCCCAAGCCTGGTCACAGAAGGGACAGAGGGACTGCAGCCGCGGGGGCAG
3+
example_genome,1,540,TCTGCTGTGTCACCTCAACGATGCGTGTATCAGTAACCCCTGCAACGAGGGCTCCAACTGCGACACCAACCCTGTCAACGGCAAGGCCATCTGCACCTGCCCCTCGGGGTACACGGGCCCGGCCTGCAGCCAGGACGTGGACGAGTGCTCGCTGGGTAGGTGCTGGCACAGGGGGTGCGTCCGGATGGGGGTAGCAGCCTGGCCCCAGAGCCGGTGGGAAGTCATTTCTGGCTTCAGGGGGTGCTCAGTTGGATGGGGTATGGGACCCTGCCAGTCCGACGTGGGGGATGTGCGGCGAGGTGTTGCAGGGGCCAGAGTGCCTGGAGAAGCCTCTCACCCGTGTGCCCTTGCCAGGTGCCAACCCCTGCGAGCATGCGGGCAAGTGCATCAACACGCTGGGCTCCTTCGAGTGCCAGTGCCTGCAGGGCTACACGGGCCCCCGCTGCGAGATCGACGTCAACGAGTGTGTCTCGAACCCGTGCCAGAACGACGCCACCTGCCTGGACCAGATCGGGGAGTTCCAGTGCATCTGCATGCCTG
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
Simple,hard_clip_case.fa,test_reads.hardclipped.bam,example_genome,160,280,-f 0.0 -P 0
2+
test_reads.hardclipped testbed example_genome 224 224 A G 4 4 0 0 0 4 G/G 1.0000 0;0 38.8 1 41.0 0 60.0 8.000 1.0000 0 0 3.000 1 3.0 4 4 CCCAGAGCCGGTGGGAAGTC TTTCTGGCTTCAGGGGGTGC example_genome:161-280 SNV 0 0
3+
test_reads.hardclipped testbed example_genome 259 259 T G 4 4 0 0 0 4 G/G 1.0000 0;0 29.0 1 41.0 0 60.0 8.000 1.0000 0 3 1.000 1 3.0 4 4 GGGTGCTCAGTTGGATGGGG ATGGGACCCTGCCAGTCCGA example_genome:161-280 SNV 0 0
4+
test_reads.hardclipped testbed example_genome 278 278 G A 4 4 0 0 0 4 A/A 1.0000 0;0 10.0 1 41.0 0 60.0 8.000 1.0000 0 0 1.000 1 3.0 4 4 GTATGGGACCCTGCCAGTCC ACGTGGGGGATGTGCGGCGA example_genome:161-280 SNV 0 0
5+
test_reads.hardclipped testbed example_genome 185 185 A G 4 4 0 0 4 0 G/G 1.0000 0;0 3.0 0 41.0 0 60.0 8.000 1.0000 0 2 1.000 1 1.0 4 4 GGCACAGGGGGTGCGTCCGG TGGGGGTAGCAGCCTGGCCC example_genome:161-280 SNV 0 0
6+
test_reads.hardclipped testbed example_genome 186 186 T TG 7 7 0 3 4 3 T/+1 1.0000 0;2 1.0 0 41.0 0 60.0 14.000 1.0000 0 5 6.000 1 1.9 7 7 GCACAGGGGGTGCGTCCGGA GGGGGTAGCAGCCTGGCCCC example_genome:161-280 Insertion 0 0
7+

0 commit comments

Comments
 (0)