X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fanalysis%2FAlignmentUtils.java;h=f1084a7d74e40b05120a189540077ee1fddc29d0;hb=947109cebef3e98693ffc0a70b5bffcbd32217e2;hp=7a082bef225c7d12398c13639ab3b284b4ece1e6;hpb=3740241b6d0dfa109dc81847afe58f17497c39e8;p=jalview.git diff --git a/src/jalview/analysis/AlignmentUtils.java b/src/jalview/analysis/AlignmentUtils.java index 7a082be..f1084a7 100644 --- a/src/jalview/analysis/AlignmentUtils.java +++ b/src/jalview/analysis/AlignmentUtils.java @@ -24,7 +24,6 @@ import static jalview.io.gff.GffConstants.CLINICAL_SIGNIFICANCE; import jalview.datamodel.AlignedCodon; import jalview.datamodel.AlignedCodonFrame; -import jalview.datamodel.AlignedCodonFrame.SequenceToSequenceMapping; import jalview.datamodel.Alignment; import jalview.datamodel.AlignmentAnnotation; import jalview.datamodel.AlignmentI; @@ -36,6 +35,7 @@ import jalview.datamodel.Sequence; import jalview.datamodel.SequenceFeature; import jalview.datamodel.SequenceGroup; import jalview.datamodel.SequenceI; +import jalview.datamodel.SequenceMapping; import jalview.datamodel.features.SequenceFeatures; import jalview.io.gff.Gff3Helper; import jalview.io.gff.SequenceOntologyI; @@ -74,12 +74,15 @@ import java.util.TreeMap; */ public class AlignmentUtils { - private static final int CODON_LENGTH = 3; private static final String SEQUENCE_VARIANT = "sequence_variant:"; - private static final String ID = "ID"; + /* + * the 'id' attribute is provided for variant features fetched from + * Ensembl using its REST service with JSON format + */ + public static final String VARIANT_ID = "id"; /** * A data model to hold the 'normal' base value at a position, and an optional @@ -1932,7 +1935,7 @@ public class AlignmentUtils .findMappingsForSequence(proteinProduct, mappings); for (AlignedCodonFrame acf : mappingsToPeptide) { - for (SequenceToSequenceMapping map : acf.getMappings()) + for (SequenceMapping map : acf.getMappings()) { Mapping mapping = map.getMapping(); if (mapping != aMapping @@ -2425,7 +2428,8 @@ public class AlignmentUtils static int computePeptideVariants(SequenceI peptide, int peptidePos, List[] codonVariants) { - String residue = String.valueOf(peptide.getCharAt(peptidePos - 1)); + String residue = String + .valueOf(peptide.getCharAt(peptidePos - peptide.getStart())); int count = 0; String base1 = codonVariants[0].get(0).base; String base2 = codonVariants[1].get(0).base; @@ -2575,15 +2579,15 @@ public class AlignmentUtils peptidePos, var.getSource()); StringBuilder attributes = new StringBuilder(32); - String id = (String) var.variant.getValue(ID); + String id = (String) var.variant.getValue(VARIANT_ID); if (id != null) { if (id.startsWith(SEQUENCE_VARIANT)) { id = id.substring(SEQUENCE_VARIANT.length()); } - sf.setValue(ID, id); - attributes.append(ID).append("=").append(id); + sf.setValue(VARIANT_ID, id); + attributes.append(VARIANT_ID).append("=").append(id); // TODO handle other species variants JAL-2064 StringBuilder link = new StringBuilder(32); try