afile.addJVSuffix(
jalview.bin.Cache.getDefault("PFAM_JVSUFFIX", true));
}
+ /* amsa is not supported by this function - it requires an alignment rather than a sequence vector
+ else if (format.equalsIgnoreCase("AMSA"))
+ {
+ afile = new AMSAFile();
+ afile.addJVSuffix(
+ jalview.bin.Cache.getDefault("AMSA_JVSUFFIX", true));
+ }*/
afile.setSeqs(seqs);
return jalview.bin.Cache.getDefault(format.toUpperCase()+"_JVSUFFIX", true);
return false;
}
- public String formatSequences(String format, AlignmentI alignment, String[] omitHidden)
+ public String formatSequences(String format, AlignmentI alignment, String[] omitHidden, ColumnSelection colSel)
+ {
+ return formatSequences(format, alignment, omitHidden, getCacheSuffixDefault(format), colSel, null);
+ }
+ public String formatSequences(String format, AlignmentI alignment, String[] omitHidden, ColumnSelection colSel, SequenceGroup sgp)
{
- return formatSequences(format, alignment, omitHidden, getCacheSuffixDefault(format));
+ return formatSequences(format, alignment, omitHidden, getCacheSuffixDefault(format), colSel, sgp);
}
/**
* hack function to replace seuqences with visible sequence strings before generating a
* string of the alignment in the given format.
* @param format
- * @param alignment
- * @param omitHidden sequence strings to write out in order of sequences in alignment
+ * @param alignment
+ * @param omitHidden sequence strings to write out in order of sequences in alignment
+ * @param colSel defines hidden columns that are edited out of annotation
* @return string representation of the alignment formatted as format
*/
- public String formatSequences(String format, AlignmentI alignment, String[] omitHidden, boolean suffix)
+ public String formatSequences(String format, AlignmentI alignment, String[] omitHidden, boolean suffix, ColumnSelection colSel)
+ {
+ return formatSequences(format, alignment, omitHidden, suffix, colSel, null);
+ }
+
+ public String formatSequences(String format, AlignmentI alignment, String[] omitHidden, boolean suffix,
+ ColumnSelection colSel, jalview.datamodel.SequenceGroup selgp)
{
- AlignFile afile = null;
if (omitHidden!=null)
{
//
AlignmentAnnotation[] ala = alignment.getAlignmentAnnotation();
for (int i=0; i<ala.length; i++)
{
- alv.addAnnotation(new AlignmentAnnotation(ala[i]));
+ AlignmentAnnotation na = new AlignmentAnnotation(ala[i]);
+ if (selgp!=null)
+ {
+ colSel.makeVisibleAnnotation(selgp.getStartRes(),selgp.getEndRes(), na);
+ } else {
+ colSel.makeVisibleAnnotation(na);
+ }
+ alv.addAnnotation(na);
}
return this.formatSequences(format, alv, suffix);
}