X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fanalysis%2FDna.java;fp=src%2Fjalview%2Fanalysis%2FDna.java;h=b639e36b4f53f45ed473890ec54ea33319871f2f;hb=b13f521553582ef2fbfd7815ae25e23284babdea;hp=2e56e6759ed750e5736fab19abb9985af0b7c6bf;hpb=1718e104b60584336348531e51c8121d69ff6416;p=jalview.git diff --git a/src/jalview/analysis/Dna.java b/src/jalview/analysis/Dna.java index 2e56e67..b639e36 100644 --- a/src/jalview/analysis/Dna.java +++ b/src/jalview/analysis/Dna.java @@ -20,10 +20,6 @@ */ package jalview.analysis; -import java.util.ArrayList; -import java.util.Hashtable; -import java.util.Vector; - import jalview.datamodel.AlignedCodonFrame; import jalview.datamodel.Alignment; import jalview.datamodel.AlignmentAnnotation; @@ -39,6 +35,10 @@ import jalview.schemes.ResidueProperties; import jalview.util.MapList; import jalview.util.ShiftList; +import java.util.ArrayList; +import java.util.Hashtable; +import java.util.Vector; + public class Dna { /** @@ -52,9 +52,13 @@ public class Dna { if (cdp2 == null || (cdp1[0] == cdp2[0] && cdp1[1] == cdp2[1] && cdp1[2] == cdp2[2])) + { return 0; + } if (cdp1[0] < cdp2[0] || cdp1[1] < cdp2[1] || cdp1[2] < cdp2[2]) + { return -1; // one base in cdp1 precedes the corresponding base in the + } // other codon return 1; // one base in cdp1 appears after the corresponding base in the // other codon. @@ -146,7 +150,9 @@ public class Dna } } if (codons.aaWidth == 0) + { return null; + } SequenceI[] newseqs = new SequenceI[pepseqs.size()]; pepseqs.copyInto(newseqs); AlignmentI al = new Alignment(newseqs); @@ -264,7 +270,9 @@ public class Dna // generate seqstring for this sequence based on mapping if (sqstr.length() > alwidth) + { alwidth = sqstr.length(); + } cdnasqs.addElement(sqstr.toString()); cdnasqi.addElement(dna); cdnaprod.addElement(intersect); @@ -407,7 +415,7 @@ public class Dna } if (contrib > 1) { - annot.value /= (float) contrib; + annot.value /= contrib; } return annot; } @@ -429,6 +437,7 @@ public class Dna * {@link #translateCodingRegion(SequenceI,String,int[],AlignedCodonFrame,char,DBRefEntry,boolean)} * instead */ + @Deprecated public static SequenceI translateCodingRegion(SequenceI selection, String seqstring, int[] viscontigs, AlignedCodonFrame codons, char gapCharacter, DBRefEntry product) @@ -694,7 +703,9 @@ public class Dna scontigs = t; } if (vc <= 0) + { scontigs = null; + } } if (scontigs != null) { @@ -705,7 +716,9 @@ public class Dna scontigs[vc] = selection.findPosition(scontigs[vc]); // not from 1! scontigs[vc + 1] = selection.findPosition(scontigs[vc + 1]); // exclusive if (scontigs[vc + 1] == selection.getEnd()) + { break; + } } // trim trailing empty intervals. if ((vc + 2) < scontigs.length) @@ -778,8 +791,7 @@ public class Dna private static void transferCodedFeatures(SequenceI dna, SequenceI pep, MapList map, Hashtable featureTypes, Hashtable featureGroups) { - SequenceFeature[] sf = (dna.getDatasetSequence() != null ? dna - .getDatasetSequence() : dna).getSequenceFeatures(); + SequenceFeature[] sf = dna.getSequenceFeatures(); Boolean fgstate; jalview.datamodel.DBRefEntry[] dnarefs = jalview.util.DBRefUtils .selectRefs(dna.getDBRef(),