/*\r
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.4)\r
- * Copyright (C) 2008 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
+ * Jalview - A Sequence Alignment Editor and Viewer (Development Version 2.4.1)\r
+ * Copyright (C) 2009 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
* \r
* This program is free software; you can redistribute it and/or\r
* modify it under the terms of the GNU General Public License\r
{\r
// Have a look at all the codon positions for annotation and put the first\r
// one found into the translated annotation pos.\r
+ int contrib=0;\r
+ Annotation annot = null;\r
for (int p = 0; p < 3; p++)\r
{\r
if (annotations[is[p]] != null)\r
{\r
- return new Annotation(annotations[is[p]]);\r
+ if (annot==null) {\r
+ annot = new Annotation(annotations[is[p]]);\r
+ contrib = 1;\r
+ } else {\r
+ // merge with last\r
+ Annotation cpy = new Annotation(annotations[is[p]]);\r
+ if (annot.colour==null)\r
+ {\r
+ annot.colour = cpy.colour;\r
+ }\r
+ if (annot.description==null || annot.description.length()==0)\r
+ {\r
+ annot.description = cpy.description;\r
+ }\r
+ if (annot.displayCharacter==null)\r
+ {\r
+ annot.displayCharacter = cpy.displayCharacter;\r
+ }\r
+ if (annot.secondaryStructure==0)\r
+ {\r
+ annot.secondaryStructure = cpy.secondaryStructure;\r
+ }\r
+ annot.value+=cpy.value;\r
+ contrib++;\r
+ }\r
}\r
}\r
- return null;\r
+ if (contrib>1)\r
+ {\r
+ annot.value/=(float)contrib;\r
+ }\r
+ return annot;\r
}\r
\r
/**\r
codons.codons[aspos] = new int[]\r
{ cdp[0], cdp[1], cdp[2] };\r
}\r
- aspos++;\r
if (aspos >= codons.aaWidth)\r
{\r
- codons.aaWidth = aspos + 1;\r
+ // update maximum alignment width \r
+ // (we can do this without calling checkCodonFrameWidth because it was already done above)\r
+ codons.setAaWidth(aspos);\r
}\r
+ // ready for next translated reading frame alignment position (if any)\r
+ aspos++;\r
}\r
}\r
if (resSize > 0)\r