# Class CodonChangeStructural

java.lang.Object
org.snpeff.interval.codonChange.CodonChange
org.snpeff.interval.codonChange.CodonChangeStructural

Direct Known Subclasses:
  `CodonChangeDel, CodonChangeDup`

public abstract class CodonChangeStructural extends CodonChange
Calculate codon changes produced by a duplication

Author:
  pcingola

## Field Summary

Fields
Modifier and Type
Field
Description
`protected String`
`cdsAlt`
`protected String`
`cdsRef`
`protected boolean`
`coding`
`static boolean`
`debug`
`protected int`
`exonFull`
`protected int`
`exonPartial`

### Fields inherited from class CodonChange

`CODON_SIZE, showCodonChange`

## Constructor Summary

Constructors
Constructor
Description
`CodonChangeStructural(Variant variant, Transcript transcript, VariantEffects variantEffects)`

## Method Summary

Modifier and Type
Method
Description
`protected void`
`cdsDiff()`
Differences between two CDSs after removing equal codons from the beginning and from the end of both strings
`void`
`codonChange()`
Calculate a list of codon changes
`protected void`
`codonChangeSuper()`
`protected void`
`codonsRefAlt()`
Calculate codons by applying the variant and calculating the differences in CDS sequences This is a slow method, makes sense only for complex variants
`protected void`
`countAffectedExons()`
How many full / partial exons does the variant affect?
`protected abstract void`
`effectTranscript()`
`protected abstract void`
`exons()`
Variant affect one or more exons
`protected abstract void`
`exonsCoding()`
Variant affect one or more coding exons
`protected abstract void`
`exonsNoncoding()`
Variant affect one or more non-coding exons
`protected abstract void`
`intron()`
Variant affect one intron

### Methods inherited from class CodonChange

`additionalEffect, cdsBaseNumber, codonChange, codonsAlt, codonsRef, codonsRef, effect, effectNoCodon, effectNoCodon, factory, intersectsExons, netCdsChange, toString`

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Field Details

### debug

public static boolean debug

### coding

protected boolean coding

### exonFull

protected int exonFull

### exonPartial

protected int exonPartial

### cdsAlt

protected String cdsAlt

### cdsRef

protected String cdsRef

## Constructor Details

### CodonChangeStructural

public CodonChangeStructural(Variant variant, Transcript transcript, VariantEffects variantEffects)

## Method Details

### cdsDiff

protected void cdsDiff()
Differences between two CDSs after removing equal codons from the beginning and from the end of both strings

### codonChange

public void codonChange()
Description copied from class: `CodonChange`
Calculate a list of codon changes

Overrides:
  `codonChange` in class `CodonChange`

### codonChangeSuper

protected void codonChangeSuper()

### codonsRefAlt

protected void codonsRefAlt()
Calculate codons by applying the variant and calculating the differences in CDS sequences This is a slow method, makes sense only for complex variants

### countAffectedExons

protected void countAffectedExons()
How many full / partial exons does the variant affect?

### effectTranscript

protected abstract void effectTranscript()

### exons

protected abstract void exons()
Variant affect one or more exons

### exonsCoding

protected abstract void exonsCoding()
Variant affect one or more coding exons

### exonsNoncoding

protected abstract void exonsNoncoding()
Variant affect one or more non-coding exons

### intron

protected abstract void intron()
Variant affect one intron