| addLazyQualifiers(GFFStreamFeature) |  | 0% |  | 0% | 20 | 20 | 75 | 75 | 1 | 1 |
| lazyLoadAll(Entry, JFrame) |  | 0% |  | 0% | 21 | 21 | 44 | 44 | 1 | 1 |
| defineShowHideGeneFeatures(FeatureVector) |  | 0% |  | 0% | 6 | 6 | 38 | 38 | 1 | 1 |
| propagateId(GFFStreamFeature, String, Set) |  | 0% |  | 0% | 9 | 9 | 43 | 43 | 1 | 1 |
| createGeneModel(JFrame, Selection, EntryGroup, GotoEventSource) |  | 0% |  | 0% | 4 | 4 | 50 | 50 | 1 | 1 |
| convertPseudo(ChadoCanonicalGene) |  | 0% |  | 0% | 8 | 8 | 29 | 29 | 1 | 1 |
| addSegment(GFFStreamFeature, RangeVector, String) |  | 0% |  | 0% | 6 | 6 | 24 | 24 | 1 | 1 |
| promptForUniquename(EntryGroup, boolean, Range) |  | 0% |  | 0% | 7 | 7 | 19 | 19 | 1 | 1 |
| promptForUniquename(EntryGroup, boolean) |  | 0% |  | 0% | 8 | 8 | 18 | 18 | 1 | 1 |
| fixParentQualifier(String, String, Set) |  | 0% |  | 0% | 6 | 6 | 14 | 14 | 1 | 1 |
| deriveResidues(GFFStreamFeature) |  | 0% |  | 0% | 5 | 5 | 19 | 19 | 1 | 1 |
| getFeatureForUpdatingResidues(GFFStreamFeature) |  | 0% |  | 0% | 4 | 4 | 17 | 17 | 1 | 1 |
| complementGeneModel(ChadoCanonicalGene) |  | 0% |  | 0% | 4 | 4 | 19 | 19 | 1 | 1 |
| sort(Vector) |  | 0% |  | 0% | 5 | 5 | 10 | 10 | 1 | 1 |
| showHideGeneFeatures(FeatureVector) |  | 0% |  | 0% | 6 | 6 | 12 | 12 | 1 | 1 |
| duplicateGeneModel(JFrame, FeatureVector, EntryGroup) |   | 84% |   | 68% | 5 | 9 | 4 | 43 | 0 | 1 |
| isUniqueID(EntryGroup, String) |  | 0% |  | 0% | 3 | 3 | 7 | 7 | 1 | 1 |
| isBoundaryOK(ChadoCanonicalGene) |   | 90% |   | 62% | 21 | 34 | 4 | 59 | 0 | 1 |
| setLocation(Feature, int, int, boolean) |   | 68% |   | 50% | 1 | 2 | 7 | 15 | 0 | 1 |
| checkTranscriptBoundary(Feature, ChadoCanonicalGene, boolean) |   | 87% |   | 75% | 3 | 7 | 3 | 20 | 0 | 1 |
| checkProteinBoundary(Feature, ChadoCanonicalGene, boolean) |   | 91% |   | 55% | 8 | 10 | 3 | 26 | 0 | 1 |
| deleteAllFeature(Feature, ChadoCanonicalGene, boolean) |   | 76% |   | 66% | 2 | 4 | 2 | 11 | 0 | 1 |
| isDatabaseEntry(Feature) |   | 42% |   | 25% | 2 | 3 | 2 | 4 | 0 | 1 |
| isFeatureToUpdateResidues(String) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| getUniqueName(Feature) |   | 61% | | n/a | 0 | 1 | 3 | 4 | 0 | 1 |
| deleteAllFeature(Feature, ChadoCanonicalGene) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| checkTranscriptBoundary(Feature, ChadoCanonicalGene) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| main(String[]) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| isStrandOK(ChadoCanonicalGene) |   | 94% |   | 83% | 2 | 7 | 2 | 18 | 0 | 1 |
| checkGeneBoundary(ChadoCanonicalGene, boolean) |   | 93% |   | 50% | 6 | 8 | 1 | 15 | 0 | 1 |
| GeneUtils() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| duplicateFeature(Feature, ChadoCanonicalGene) |  | 92% |   | 75% | 1 | 3 | 1 | 8 | 0 | 1 |
| isDatabaseEntry(EntryGroup) |  | 90% |   | 75% | 1 | 3 | 1 | 5 | 0 | 1 |
| isObsolete(GFFStreamFeature) |  | 90% |   | 75% | 1 | 3 | 1 | 6 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 8 | 0 | 1 |
| duplicateFeatures(List, ChadoCanonicalGene) |  | 100% |  | 100% | 0 | 3 | 0 | 7 | 0 | 1 |
| isGFFEntry(EntryGroup) |  | 100% |  | 100% | 0 | 3 | 0 | 5 | 0 | 1 |
| isNonCodingTranscripts(Key) |  | 100% |  | 100% | 0 | 3 | 0 | 4 | 0 | 1 |
| deleteFeature(Feature) |  | 100% |   | 50% | 2 | 3 | 0 | 3 | 0 | 1 |
| isHiddenFeature(String) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| checkGeneBoundary(ChadoCanonicalGene) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| getNonCodingTranscripts() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |