X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fanalysis%2FDna.java;h=3b41a8e4916d6859ffd68a66449a636a59602e0c;hb=066a11f5ce0580b9d7bf0f855432c341aa279bd4;hp=52859242b27e472635a801ce98936d0a447f9b92;hpb=e661be216bf4c257c6d6c6eb1bb98dd8fc39a0ae;p=jalview.git diff --git a/src/jalview/analysis/Dna.java b/src/jalview/analysis/Dna.java index 5285924..3b41a8e 100644 --- a/src/jalview/analysis/Dna.java +++ b/src/jalview/analysis/Dna.java @@ -1,6 +1,6 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8) - * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1) + * Copyright (C) 2014 The Jalview Authors * * This file is part of Jalview. * @@ -14,6 +14,7 @@ * PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. */ package jalview.analysis; @@ -125,7 +126,7 @@ public class Dna { SequenceI newseq = translateCodingRegion(selection[s], seqstring[s], viscontigs, codons, gapCharacter, - (product != null) ? product[s] : null); // possibly anonymous + (product != null) ? product[s] : null, false); // possibly anonymous // product if (newseq != null) { @@ -420,13 +421,36 @@ public class Dna * @param codons * Definition of global ORF alignment reference frame * @param gapCharacter - * @param newSeq * @return sequence ready to be added to alignment. + * @deprecated Use {@link #translateCodingRegion(SequenceI,String,int[],AlignedCodonFrame,char,DBRefEntry,boolean)} instead */ public static SequenceI translateCodingRegion(SequenceI selection, String seqstring, int[] viscontigs, AlignedCodonFrame codons, char gapCharacter, DBRefEntry product) { + return translateCodingRegion(selection, seqstring, viscontigs, codons, + gapCharacter, product, false); + } + + /** + * Translate a na sequence + * + * @param selection + * sequence displayed under viscontigs visible columns + * @param seqstring + * ORF read in some global alignment reference frame + * @param viscontigs + * mapping from global reference frame to visible seqstring ORF read + * @param codons + * Definition of global ORF alignment reference frame + * @param gapCharacter + * @param starForStop when true stop codons will translate as '*', otherwise as 'X' + * @return sequence ready to be added to alignment. + */ + public static SequenceI translateCodingRegion(SequenceI selection, + String seqstring, int[] viscontigs, AlignedCodonFrame codons, + char gapCharacter, DBRefEntry product, final boolean starForStop) + { java.util.List skip = new ArrayList(); int skipint[] = null; ShiftList vismapping = new ShiftList(); // map from viscontigs to seqstring @@ -560,7 +584,7 @@ public class Dna } if (aa.equals("STOP")) { - aa = "X"; + aa = starForStop ? "*" : "X"; } resSize++; }