## Uses of Class
org.biojava.bio.symbol.Edit

Packages that use Edit
org.biojava.bio.alignment: Classes to generate and describe sequence alignments.
org.biojava.bio.dp: HMM and Dynamic Programming Algorithms.
org.biojava.bio.program.das: Development client for the Distributed Annotation System.
org.biojava.bio.seq: Classes and interfaces for defining biological sequences and informatics objects.
org.biojava.bio.seq.homol: The classes and interfaces for defining sequence similarity and honology.
org.biojava.bio.seq.impl: Standard in-memory implementations of `Sequence` and `Feature`.
org.biojava.bio.symbol: Representation of the Symbols that make up a sequence, and locations within them.
org.biojavax.bio.db.biosql: Interface between biojava and biosql databases
org.biojavax.bio.seq: Rich implementations of Sequences, Locations and Features.

Uses of Edit in org.biojava.bio.alignment

Methods in org.biojava.bio.alignment with parameters of type Edit
`void` `FlexibleAlignment.edit(Object label, Edit edit)`
`void` `EditableAlignment.edit(Object label, Edit edit)` edit() allows edits on an individual sequence, they should be reflected back to the underlying SymbolList.

Uses of Edit in org.biojava.bio.dp

Methods in org.biojava.bio.dp with parameters of type Edit
`void` `SimpleStatePath.edit(Edit edit)`

Uses of Edit in org.biojava.bio.program.das

Methods in org.biojava.bio.program.das with parameters of type Edit
`void` `DASSequence.edit(Edit e)`

Uses of Edit in org.biojava.bio.seq

Methods in org.biojava.bio.seq with parameters of type Edit
`void` `SimpleAssembly.edit(Edit e)`
`void` `NewSimpleAssembly.edit(Edit e)`

Uses of Edit in org.biojava.bio.seq.homol

Methods in org.biojava.bio.seq.homol with parameters of type Edit
`void` `SimilarityPairFeature.EmptyPairwiseAlignment.edit(Edit edit)`

Uses of Edit in org.biojava.bio.seq.impl

Methods in org.biojava.bio.seq.impl with parameters of type Edit
`void` `ViewSequence.edit(Edit edit)`
`void` `SubSequence.edit(Edit edit)`
`void` `SimpleSequence.edit(Edit edit)`
`void` `RevCompSequence.edit(Edit e)` edit() will try to edit the underlying Sequence.
`void` `DummySequence.edit(Edit edit)`

Uses of Edit in org.biojava.bio.symbol

Methods in org.biojava.bio.symbol with parameters of type Edit
`void` `SymbolList.edit(Edit edit)` Apply an edit to the SymbolList as specified by the edit object.
`void` `SimpleSymbolList.edit(Edit edit)` Apply and edit to the SymbolList as specified by Edit.
`void` `RelabeledAlignment.edit(Edit edit)`
`void` `AbstractSymbolList.edit(Edit edit)`

Uses of Edit in org.biojavax.bio.db.biosql

Methods in org.biojavax.bio.db.biosql with parameters of type Edit

`void`

`BioSQLRichSequenceHandler.edit(RichSequence seq, Edit edit)`
Apply an edit to the Sequence as specified by the edit object.

## Description

All edits can be broken down into a series of operations that change contiguous blocks of the sequence. This represent a one of those operations.

When applied, this Edit will replace 'length' number of symbols starting a position 'pos' by the SymbolList 'replacement'. This allow to do insertions (length=0), deletions (replacement=SymbolList.EMPTY_LIST) and replacements (length>=1 and replacement.length()>=1).

The pos and pos+length should always be valid positions on the SymbolList to:

- be edited (between 0 and symL.length()+1).
- To append to a sequence, pos=symL.length()+1, pos=0.
- To insert something at the beginning of the sequence, set pos=1 and length=0.

## Examples

`

     RichSequence seq = //code to initialize RichSequence
     System.out.println(seq.seqString());

     // delete 5 bases from position 4
     Edit ed = new Edit(4, 5, SymbolList.EMPTY_LIST);
     seq.edit(ed);
     System.out.println(seq.seqString());

     // delete one base from the start
     ed = new Edit(1, 1, SymbolList.EMPTY_LIST);
     seq.edit(ed);

     // delete one base from the end
     ed = new Edit(seq.length(), 1, SymbolList.EMPTY_LIST);
     seq.edit(ed);
     System.out.println(seq.seqString());

     // overwrite 2 bases from position 3 with "tt"
     ed = new Edit(3, 2, DNATools.createDNA("tt"));
     seq.edit(ed);
     System.out.println(seq.seqString());

     // add 6 bases to the start
     ed = new Edit(1, 0, DNATools.createDNA("aattgg");
     seq.edit(ed);
     System.out.println(seq.seqString());

     // add 4 bases to the end
     ed = new Edit(seq.length() + 1, 0, DNATools.createDNA("tttt"));
     seq.edit(ed);
     System.out.println(seq.seqString());

     // full edit
     ed = new Edit(3, 2, DNATools.createDNA("aatagaa");
     seq.edit(ed);
     System.out.println(seq.seqString());

`

Uses of Edit in org.biojavax.bio.seq

Methods in org.biojavax.bio.seq with parameters of type Edit
`void` `ThinRichSequence.edit(Edit edit)` Apply an edit to the SymbolList as specified by the edit object.
`void` `InfinitelyAmbiguousSymbolList.edit(Edit edit)` Apply an edit to the SymbolList as specified by the edit object. IGNORED
`void` `RichSequenceHandler.edit(RichSequence seq, Edit edit)` Apply an edit to the Sequence as specified by the edit object.
`void` `DummyRichSequenceHandler.edit(RichSequence seq, Edit edit)` Apply an edit to the Sequence as specified by the edit object.