import jalview.bin.JalviewLite;
import jalview.commands.CommandI;
import jalview.datamodel.AlignmentI;
+import jalview.datamodel.Annotation;
import jalview.datamodel.ColumnSelection;
import jalview.datamodel.HiddenColumns;
import jalview.datamodel.SearchResults;
}
- /**
- * get the consensus sequence as displayed under the PID consensus annotation
- * row.
- *
- * @return consensus sequence as a new sequence object
- */
- public SequenceI getConsensusSeq()
- {
- if (consensus == null)
- {
- updateConsensus(null);
- }
- if (consensus == null)
- {
- return null;
- }
- StringBuilder seqs = new StringBuilder(consensus.annotations.length);
- for (int i = 0; i < consensus.annotations.length; i++)
- {
- if (consensus.annotations[i] != null)
- {
- if (consensus.annotations[i].description.charAt(0) == '[')
- {
- seqs.append(consensus.annotations[i].description.charAt(1));
- }
- else
- {
- seqs.append(consensus.annotations[i].displayCharacter);
- }
- }
- }
- SequenceI sq = new Sequence("Consensus", seqs.toString());
- sq.setDescription("Percentage Identity Consensus "
- + ((ignoreGapsInConsensusCalculation) ? " without gaps" : ""));
- return sq;
- }
-
java.awt.Frame nullFrame;
protected FeatureSettings featureSettings = null;
// recover mapping between sequence's non-gap positions and positions
// mapping to view.
pruneDeletions(ShiftList.parseMap(origseq.gapMap()));
- int[] viscontigs = al.getHiddenColumns().getVisibleContigs(0,
- profileseq.getLength());
+ int[] viscontigs = getVisibleContigs(0, profileseq.getLength());
int spos = 0;
int offset = 0;
import jalview.datamodel.AlignedCodonFrame;
import jalview.datamodel.Alignment;
import jalview.datamodel.AlignmentI;
-import jalview.datamodel.Annotation;
import jalview.datamodel.ColumnSelection;
import jalview.datamodel.HiddenColumns;
import jalview.datamodel.PDBEntry;
import jalview.datamodel.SearchResults;
import jalview.datamodel.SearchResultsI;
-import jalview.datamodel.Sequence;
import jalview.datamodel.SequenceGroup;
import jalview.datamodel.SequenceI;
import jalview.renderer.ResidueShader;
}
}
- /**
- * get the consensus sequence as displayed under the PID consensus annotation
- * row.
- *
- * @return consensus sequence as a new sequence object
- */
- public SequenceI getConsensusSeq()
- {
- if (consensus == null)
- {
- updateConsensus(null);
- }
- if (consensus == null)
- {
- return null;
- }
- StringBuffer seqs = new StringBuffer();
- for (int i = 0; i < consensus.annotations.length; i++)
- {
- Annotation annotation = consensus.annotations[i];
- if (annotation != null)
- {
- String description = annotation.description;
- if (description != null && description.startsWith("["))
- {
- // consensus is a tie - just pick the first one
- seqs.append(description.charAt(1));
- }
- else
- {
- seqs.append(annotation.displayCharacter);
- }
- }
- }
-
- SequenceI sq = new Sequence("Consensus", seqs.toString());
- sq.setDescription("Percentage Identity Consensus "
- + ((ignoreGapsInConsensusCalculation) ? " without gaps" : ""));
- return sq;
- }
-
boolean validCharWidth;
/**
{
return searchResults;
}
+
+ /**
+ * get the consensus sequence as displayed under the PID consensus annotation
+ * row.
+ *
+ * @return consensus sequence as a new sequence object
+ */
+ public SequenceI getConsensusSeq()
+ {
+ if (consensus == null)
+ {
+ updateConsensus(null);
+ }
+ if (consensus == null)
+ {
+ return null;
+ }
+ StringBuffer seqs = new StringBuffer();
+ for (int i = 0; i < consensus.annotations.length; i++)
+ {
+ Annotation annotation = consensus.annotations[i];
+ if (annotation != null)
+ {
+ String description = annotation.description;
+ if (description != null && description.startsWith("["))
+ {
+ // consensus is a tie - just pick the first one
+ seqs.append(description.charAt(1));
+ }
+ else
+ {
+ seqs.append(annotation.displayCharacter);
+ }
+ }
+ }
+
+ SequenceI sq = new Sequence("Consensus", seqs.toString());
+ sq.setDescription("Percentage Identity Consensus "
+ + ((ignoreGapsInConsensusCalculation) ? " without gaps" : ""));
+ return sq;
+ }
}
assertNull(result);
}
+ @Test(groups = "Functional")
+ public void testPropagateInsertions()
+ {
+ // create an alignment with no gaps - this will be the profile seq and other
+ // JPRED seqs
+ AlignmentGenerator gen = new AlignmentGenerator(false);
+ AlignmentI al = gen.generate(20, 10, 1234, 0, 0);
+
+ // get the profileseq
+ SequenceI profileseq = al.getSequenceAt(0);
+ SequenceI gappedseq = new Sequence(profileseq);
+ gappedseq.insertCharAt(5, al.getGapCharacter());
+ gappedseq.insertCharAt(6, al.getGapCharacter());
+ gappedseq.insertCharAt(7, al.getGapCharacter());
+ gappedseq.insertCharAt(8, al.getGapCharacter());
+
+ // create an alignment view with the gapped sequence
+ SequenceI[] seqs = new SequenceI[1];
+ seqs[0] = gappedseq;
+ AlignmentI newal = new Alignment(seqs);
+ HiddenColumns hidden = new HiddenColumns();
+ hidden.hideColumns(15, 17);
+
+ AlignmentView view = new AlignmentView(newal, hidden, null, true, false,
+ false);
+
+ // confirm that original contigs are as expected
+ int[] oldcontigs = hidden.getVisibleContigs(0, 20);
+ int[] testcontigs = { 0, 14, 18, 19 };
+ assertTrue(Arrays.equals(oldcontigs, testcontigs));
+
+ // propagate insertions
+ HiddenColumns result = HiddenColumns.propagateInsertions(profileseq, al,
+ view);
+
+ // confirm that the contigs have changed to account for the gaps
+ int[] newcontigs = result.getVisibleContigs(0, 20);
+ testcontigs[1] = 10;
+ testcontigs[2] = 14;
+ assertTrue(Arrays.equals(newcontigs, testcontigs));
+
+ }
}
}
;
Assert.assertEquals(c, 1, "Expected to find one occupancy row.");
+ }
+ @Test(groups = { "Functional" })
+ public void testGetConsensusSeq()
+ {
+ /*
+ * A-C
+ * A-C
+ * A-D
+ * --D
+ * consensus expected to be A-C
+ */
+ String fasta = ">s1\nA-C\n>s2\nA-C\n>s3\nA-D\n>s4\n--D\n";
+ AlignFrame af = new FileLoader().LoadFileWaitTillLoaded(fasta,
+ DataSourceType.PASTE);
+ AlignViewport testme = af.getViewport();
+ SequenceI cons = testme.getConsensusSeq();
+ assertEquals("A-C", cons.getSequenceAsString());
}
}
<string><![CDATA[664]]></string>
</property>
<property name="sourceName">
- <string><![CDATA[min-jabaws-client-2.1.0.jar]]></string>
+ <string><![CDATA[jabaws-min-client-2.2.0.jar]]></string>
</property>
<property name="overrideUnixPermissions">
<boolean>false</boolean>