X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fanalysis%2FAlignmentUtils.java;h=a4aeac7abdb0270ed391b7e11185c0e36394cd25;hb=0c193e97c4cbf94e27ed356c20108fce733f4123;hp=7dec4ec40a399d7f9e7f5320a2c6e6a96104474f;hpb=e29e164306d88242fe615973eeebc8c4a49d1bb0;p=jalview.git diff --git a/src/jalview/analysis/AlignmentUtils.java b/src/jalview/analysis/AlignmentUtils.java index 7dec4ec..a4aeac7 100644 --- a/src/jalview/analysis/AlignmentUtils.java +++ b/src/jalview/analysis/AlignmentUtils.java @@ -27,6 +27,7 @@ import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.LinkedHashMap; +import java.util.LinkedHashSet; import java.util.List; import java.util.Map; import java.util.Map.Entry; @@ -1278,7 +1279,7 @@ public class AlignmentUtils public static AlignmentI makeExonAlignment(SequenceI[] dna, Set mappings) { - Set newMappings = new HashSet(); + Set newMappings = new LinkedHashSet(); List exonSequences = new ArrayList(); for (SequenceI dnaSeq : dna) @@ -1346,8 +1347,8 @@ public class AlignmentUtils /* * Get the codon regions as { [2, 5], [7, 12], [14, 14] etc } */ - List exonRanges = seqMapping.getMap().getFromRanges(); - for (int[] range : exonRanges) + final List dnaExonRanges = seqMapping.getMap().getFromRanges(); + for (int[] range : dnaExonRanges) { for (int pos = range[0]; pos <= range[1]; pos++) { @@ -1389,6 +1390,8 @@ public class AlignmentUtils .getToRanges(), 3, 1); newMapping.addMap(exon.getDatasetSequence(), seqMapping.getTo(), map); + MapList cdsToDnaMap = new MapList(dnaExonRanges, exonRange, 1, 1); + newMapping.addMap(dnaSeq, exon.getDatasetSequence(), cdsToDnaMap); exonSequences.add(exon); }