| DNADraw |  | 0% |  | 0% | 173 | 173 | 687 | 687 | 88 | 88 | 1 | 1 |
| Block |  | 0% |  | 0% | 76 | 76 | 414 | 414 | 38 | 38 | 1 | 1 |
| Wizard |  | 0% |  | 0% | 115 | 115 | 504 | 504 | 21 | 21 | 1 | 1 |
| Graph |  | 0% |  | 0% | 48 | 48 | 252 | 252 | 29 | 29 | 1 | 1 |
| TrackManager |  | 0% |  | 0% | 30 | 30 | 211 | 211 | 9 | 9 | 1 | 1 |
| Track |  | 0% |  | 0% | 56 | 56 | 130 | 130 | 31 | 31 | 1 | 1 |
| EmbossCirdnaReader |  | 0% |  | 0% | 22 | 22 | 96 | 96 | 8 | 8 | 1 | 1 |
| GeneticMarker |  | 0% |  | 0% | 8 | 8 | 113 | 113 | 6 | 6 | 1 | 1 |
| PrintDNAImage |  | 0% |  | 0% | 13 | 13 | 127 | 127 | 9 | 9 | 1 | 1 |
| LineAttribute |  | 0% |  | 0% | 9 | 9 | 82 | 82 | 5 | 5 | 1 | 1 |
| RestrictionEnzyme |  | 0% |  | 0% | 7 | 7 | 85 | 85 | 6 | 6 | 1 | 1 |
| Ticks |  | 0% |  | 0% | 9 | 9 | 58 | 58 | 5 | 5 | 1 | 1 |
| GeneticMarker.MarkerTableModel |  | 0% |  | 0% | 21 | 21 | 47 | 47 | 11 | 11 | 1 | 1 |
| UserGraph |  | 0% |  | 0% | 12 | 12 | 49 | 49 | 4 | 4 | 1 | 1 |
| TrackManager.new ActionListener() {...} |  | 0% |  | 0% | 4 | 4 | 41 | 41 | 2 | 2 | 1 | 1 |
| MemoryComboBox |  | 0% |  | 0% | 16 | 16 | 34 | 34 | 8 | 8 | 1 | 1 |
| TextFieldSink |  | 12% |  | 0% | 15 | 17 | 46 | 52 | 6 | 8 | 0 | 1 |
| DNADraw.new Runnable() {...} |  | 0% |  | 0% | 6 | 6 | 27 | 27 | 2 | 2 | 1 | 1 |
| TrackManager.new ActionListener() {...} |  | 0% |  | 0% | 8 | 8 | 32 | 32 | 2 | 2 | 1 | 1 |
| TrackManager.new ActionListener() {...} |  | 0% | | n/a | 2 | 2 | 13 | 13 | 2 | 2 | 1 | 1 |
| GCSkewGraph |  | 0% |  | 0% | 6 | 6 | 20 | 20 | 2 | 2 | 1 | 1 |
| DNADraw.new ActionListener() {...} |  | 0% |  | 0% | 6 | 6 | 32 | 32 | 2 | 2 | 1 | 1 |
| SequenceData |  | 0% |  | 0% | 11 | 11 | 30 | 30 | 9 | 9 | 1 | 1 |
| Feature |  | 0% | | n/a | 10 | 10 | 33 | 33 | 10 | 10 | 1 | 1 |
| GCGraph |  | 0% |  | 0% | 6 | 6 | 17 | 17 | 2 | 2 | 1 | 1 |
| RestrictionEnzyme.RETableModel |  | 0% |  | 0% | 12 | 12 | 23 | 23 | 10 | 10 | 1 | 1 |
| TrackManager.new ActionListener() {...} |  | 0% |  | 0% | 6 | 6 | 20 | 20 | 2 | 2 | 1 | 1 |
| TrackManager.new ActionListener() {...} |  | 0% |  | 0% | 3 | 3 | 11 | 11 | 2 | 2 | 1 | 1 |
| PrintDNAImage.new ActionListener() {...} |  | 0% |  | 0% | 4 | 4 | 11 | 11 | 2 | 2 | 1 | 1 |
| TextFieldInt.WholeNumberDocument |  | 8% |  | 0% | 5 | 6 | 11 | 12 | 1 | 2 | 0 | 1 |
| DNADraw.new ItemListener() {...} |  | 0% |  | 0% | 4 | 4 | 12 | 12 | 2 | 2 | 1 | 1 |
| DNADraw.new ItemListener() {...} |  | 0% |  | 0% | 4 | 4 | 12 | 12 | 2 | 2 | 1 | 1 |
| RestrictionEnzyme.ColorRenderer |  | 0% |  | 0% | 6 | 6 | 20 | 20 | 2 | 2 | 1 | 1 |
| GeneticMarker.ColorRenderer |  | 0% |  | 0% | 6 | 6 | 20 | 20 | 2 | 2 | 1 | 1 |
| TrackManager.new ActionListener() {...} |  | 0% |  | 0% | 3 | 3 | 12 | 12 | 2 | 2 | 1 | 1 |
| TextFieldFloat.DecimalNumberDocument |  | 9% |  | 0% | 6 | 7 | 10 | 11 | 1 | 2 | 0 | 1 |
| ProgressFrame |  | 0% | | n/a | 3 | 3 | 17 | 17 | 3 | 3 | 1 | 1 |
| Ticks.new ActionListener() {...} |  | 0% |  | 0% | 6 | 6 | 11 | 11 | 2 | 2 | 1 | 1 |
| GeneticMarker.new ActionListener() {...} |  | 0% | | n/a | 2 | 2 | 9 | 9 | 2 | 2 | 1 | 1 |
| RestrictionEnzyme.new ActionListener() {...} |  | 0% | | n/a | 2 | 2 | 8 | 8 | 2 | 2 | 1 | 1 |
| DNADraw.new MouseAdapter() {...} |  | 0% |  | 0% | 5 | 5 | 10 | 10 | 2 | 2 | 1 | 1 |
| DNADraw.new ActionListener() {...} |  | 0% | | n/a | 2 | 2 | 11 | 11 | 2 | 2 | 1 | 1 |
| DNADraw.new ActionListener() {...} |  | 0% | | n/a | 2 | 2 | 11 | 11 | 2 | 2 | 1 | 1 |
| DNADraw.new ActionListener() {...} |  | 0% |  | 0% | 4 | 4 | 9 | 9 | 2 | 2 | 1 | 1 |
| RestrictionEnzyme.ColorEditor |  | 0% | | n/a | 4 | 4 | 13 | 13 | 4 | 4 | 1 | 1 |
| GeneticMarker.ColorEditor |  | 0% | | n/a | 4 | 4 | 13 | 13 | 4 | 4 | 1 | 1 |
| DNADraw.new ActionListener() {...} |  | 0% | | n/a | 2 | 2 | 10 | 10 | 2 | 2 | 1 | 1 |
| LineAttribute.new ActionListener() {...} |  | 0% |  | 0% | 3 | 3 | 8 | 8 | 2 | 2 | 1 | 1 |
| LineAttribute.new ChangeListener() {...} |  | 0% |  | 0% | 3 | 3 | 8 | 8 | 2 | 2 | 1 | 1 |
| Block.new ActionListener() {...} |  | 0% |  | 0% | 4 | 4 | 9 | 9 | 2 | 2 | 1 | 1 |
| Block.new ActionListener() {...} |  | 0% |  | 0% | 4 | 4 | 9 | 9 | 2 | 2 | 1 | 1 |
| DNADraw.new ItemListener() {...} |  | 0% |  | 0% | 3 | 3 | 5 | 5 | 2 | 2 | 1 | 1 |
| TrackManager.6.new ItemListener() {...} |  | 0% |  | 0% | 3 | 3 | 6 | 6 | 2 | 2 | 1 | 1 |
| LineAttribute.new ActionListener() {...} |  | 0% |  | 0% | 3 | 3 | 7 | 7 | 2 | 2 | 1 | 1 |
| LineAttribute.new ActionListener() {...} |  | 0% |  | 0% | 3 | 3 | 7 | 7 | 2 | 2 | 1 | 1 |
| Block.new ActionListener() {...} |  | 0% |  | 0% | 3 | 3 | 6 | 6 | 2 | 2 | 1 | 1 |
| Wizard.new SwingWorker() {...} |  | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| GeneticMarker.new ActionListener() {...} |  | 0% | | n/a | 2 | 2 | 5 | 5 | 2 | 2 | 1 | 1 |
| RestrictionEnzyme.new ActionListener() {...} |  | 0% | | n/a | 2 | 2 | 5 | 5 | 2 | 2 | 1 | 1 |
| DNADraw.1.new ActionListener() {...} |  | 0% | | n/a | 2 | 2 | 6 | 6 | 2 | 2 | 1 | 1 |
| GeneticMarker.new ActionListener() {...} |  | 0% | | n/a | 2 | 2 | 6 | 6 | 2 | 2 | 1 | 1 |
| Block.new ItemListener() {...} |  | 0% | | n/a | 2 | 2 | 5 | 5 | 2 | 2 | 1 | 1 |
| LineAttribute.new ActionListener() {...} |  | 0% |  | 0% | 3 | 3 | 5 | 5 | 2 | 2 | 1 | 1 |
| LineAttribute.new ActionListener() {...} |  | 0% |  | 0% | 3 | 3 | 5 | 5 | 2 | 2 | 1 | 1 |
| Block.new ActionListener() {...} |  | 0% |  | 0% | 4 | 4 | 7 | 7 | 2 | 2 | 1 | 1 |
| TrackManager.6.new ActionListener() {...} |  | 0% | | n/a | 2 | 2 | 5 | 5 | 2 | 2 | 1 | 1 |
| Graph.new ActionListener() {...} |  | 0% | | n/a | 2 | 2 | 5 | 5 | 2 | 2 | 1 | 1 |
| Graph.new ActionListener() {...} |  | 0% | | n/a | 2 | 2 | 5 | 5 | 2 | 2 | 1 | 1 |
| Block.new ChangeListener() {...} | | 0% |  | 0% | 3 | 3 | 5 | 5 | 2 | 2 | 1 | 1 |
| DNADraw.new ItemListener() {...} | | 0% |  | 0% | 3 | 3 | 5 | 5 | 2 | 2 | 1 | 1 |
| Block.new ActionListener() {...} | | 0% |  | 0% | 3 | 3 | 5 | 5 | 2 | 2 | 1 | 1 |
| Block.new ActionListener() {...} | | 0% |  | 0% | 3 | 3 | 5 | 5 | 2 | 2 | 1 | 1 |
| Block.new ActionListener() {...} | | 0% |  | 0% | 3 | 3 | 5 | 5 | 2 | 2 | 1 | 1 |
| BlockComparator | | 0% |  | 0% | 4 | 4 | 8 | 8 | 2 | 2 | 1 | 1 |
| TextFieldFloat | | 39% | | n/a | 2 | 4 | 8 | 13 | 2 | 4 | 0 | 1 |
| GeneticMarker.new ChangeListener() {...} | | 0% | | n/a | 2 | 2 | 4 | 4 | 2 | 2 | 1 | 1 |
| GeneticMarker.new ActionListener() {...} | | 0% | | n/a | 2 | 2 | 4 | 4 | 2 | 2 | 1 | 1 |
| DNADraw.new ActionListener() {...} | | 0% |  | 0% | 3 | 3 | 6 | 6 | 2 | 2 | 1 | 1 |
| TextFieldInt | | 47% | | n/a | 2 | 4 | 7 | 13 | 2 | 4 | 0 | 1 |
| DNADraw.new ActionListener() {...} | | 0% | | n/a | 2 | 2 | 5 | 5 | 2 | 2 | 1 | 1 |
| Graph.new ActionListener() {...} | | 0% | | n/a | 2 | 2 | 4 | 4 | 2 | 2 | 1 | 1 |
| DNADraw.new ItemListener() {...} | | 0% | | n/a | 2 | 2 | 4 | 4 | 2 | 2 | 1 | 1 |
| Graph.new ActionListener() {...} | | 0% | | n/a | 2 | 2 | 4 | 4 | 2 | 2 | 1 | 1 |
| Graph.new ActionListener() {...} | | 0% | | n/a | 2 | 2 | 4 | 4 | 2 | 2 | 1 | 1 |
| Graph.new ActionListener() {...} | | 0% | | n/a | 2 | 2 | 4 | 4 | 2 | 2 | 1 | 1 |
| GeneticMarker.new ActionListener() {...} | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| RestrictionEnzyme.new ActionListener() {...} | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| RestrictionEnzyme.new ActionListener() {...} | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| ScrollPanel | | 0% | | n/a | 7 | 7 | 9 | 9 | 7 | 7 | 1 | 1 |
| GeneticMarker.new ActionListener() {...} | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| DNADraw.new ActionListener() {...} | | 0% | | n/a | 2 | 2 | 4 | 4 | 2 | 2 | 1 | 1 |
| DNADraw.new ActionListener() {...} | | 0% | | n/a | 2 | 2 | 4 | 4 | 2 | 2 | 1 | 1 |
| TrackManager.new ActionListener() {...} | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| Graph.new ActionListener() {...} | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| DNADraw.new ActionListener() {...} | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| LineAttribute.new ActionListener() {...} | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| GeneticMarker.ColorEditor.new ActionListener() {...} | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| TrackManager.6.new ActionListener() {...} | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| Block.new ActionListener() {...} | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| DNADraw.new ActionListener() {...} | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| RestrictionEnzyme.ColorEditor.new ActionListener() {...} | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| GeneticMarker.new ActionListener() {...} | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| Ticks.new ActionListener() {...} | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| PrintDNAImage.new ActionListener() {...} | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| RestrictionEnzyme.new ActionListener() {...} | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| RestrictionEnzyme.new ActionListener() {...} | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| DNADraw.new ActionListener() {...} | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| DNADraw.new ActionListener() {...} | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| DNADraw.new ActionListener() {...} | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| PrintDNAImage.new ActionListener() {...} | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| TrackManager.new ActionListener() {...} | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| DNADraw.new ActionListener() {...} | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| GeneticMarker.new ActionListener() {...} | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| PrintDNAImage.new ActionListener() {...} | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| TrackManager.new ActionListener() {...} | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| DNADraw.new ActionListener() {...} | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| DNADraw.new ActionListener() {...} | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| DNADraw.new ActionListener() {...} | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| DNADraw.new ActionListener() {...} | | 0% | | n/a | 2 | 2 | 3 | 3 | 2 | 2 | 1 | 1 |
| GeneticMarker.new JButton() {...} | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| RestrictionEnzyme.new JButton() {...} | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| RestrictionEnzyme.new JButton() {...} | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| Wizard.new MSPcrunchDocumentEntry() {...} | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
| GeneticMarker.new JButton() {...} | | 0% | | n/a | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |