public int convertToSeq2Position(int seq1Position) {
        int p, result = seq1Position;

        for (int mut : mutations) {
            p = getPosition(mut);

            if (p > seq1Position)
                return result;

            switch (mut & MUTATION_TYPE_MASK) {
                case RAW_MUTATION_TYPE_DELETION:
                    if (p == seq1Position)
                        return -result - 1;
                    --result;
                    break;
                case RAW_MUTATION_TYPE_INSERTION:
                    ++result;
                    break;
            }
        }

        return result;
    }
public int convertToSeq2Position ( int seq1Position ) { int p , result = seq1Position ; for ( int mut : mutations ) { p = getPosition ( mut ) ; if ( p > seq1Position ) return result ; switch ( mut & MUTATION_TYPE_MASK ) { case RAW_MUTATION_TYPE_DELETION : if ( p == seq1Position ) return - result - 1 ; -- result ; break ; case RAW_MUTATION_TYPE_INSERTION : ++ result ; break ; } } return result ; }
Converts position from coordinates in seq1 (before mutation) to coordinates in seq2 (after mutation) using this
alignment (mutations).

If letter in provided position is marked as deleted (deletion) in this mutations, this method will return {@code
(- 1 - imagePosition)}, where {@code imagePosition} is a position of letter right after that place where target
nucleotide was removed according to this alignment.

@param seq1Position position in seq1
@return position in seq2