/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2)
- * Copyright (C) 2014 The Jalview Authors
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
*
* This file is part of Jalview.
*
import jalview.datamodel.SequenceI;
import jalview.io.AlignFile;
import jalview.io.FileParse;
+import jalview.schemes.ResidueProperties;
import jalview.util.MessageManager;
import java.io.IOException;
{
if (len > 0)
{
+ boolean isNa = (biopoly.isDna() || biopoly.isRna());
+ // normalise sequence from Jmol to jalview
+ int[] cinds = isNa ? ResidueProperties.nucleotideIndex : ResidueProperties.aaIndex;
+ int nonGap = isNa ? ResidueProperties.maxNucleotideIndex
+ : ResidueProperties.maxProteinIndex;
+ char ngc = 'X';
char newseq[] = new char[len];
- System.arraycopy(seq, 0, newseq, 0, len);
Annotation asecstr[] = new Annotation[len+firstrnum-1];
for (int p = 0; p < len; p++)
{
+ newseq[p] = cinds[seq[p]] == nonGap ? ngc : seq[p];
if (secstr[p] >= 'A' && secstr[p] <= 'z')
{
asecstr[p] = new Annotation("" + secstr[p], null,
PDBEntry pdbe = new PDBEntry();
pdbe.setFile(getDataName());
pdbe.setId(getDataName());
- sq.addPDBId(pdbe);
pdbe.setProperty(new Hashtable());
- pdbe.getProperty().put("CHAIN", "" + _lastChainId);
+ // pdbe.getProperty().put("CHAIN", "" + _lastChainId);
+ pdbe.setChainCode(String.valueOf(_lastChainId));
+ sq.addPDBId(pdbe);
// JAL-1533
// Need to put the number of models for this polymer somewhere for Chimera/others to grab
// pdbe.getProperty().put("PDBMODELS", biopoly.)
seqs.add(sq);
- if (!(biopoly.isDna() || biopoly.isRna()))
+ if (!isNa)
{
+ String mt = model.getModelTitle() == null ? getDataName()
+ : model.getModelTitle();
+ if (_lastChainId >= ' ')
+ {
+ mt += _lastChainId;
+ }
AlignmentAnnotation ann = new AlignmentAnnotation(
"Secondary Structure",
- "Secondary Structure from PDB File", asecstr);
+ "Secondary Structure for " + mt, asecstr);
ann.belowAlignment=true;
ann.visible=true;
ann.autoCalculated=false;