*/
package jalview.datamodel;
+import jalview.analysis.AlignSeq;
+import jalview.api.DBRefEntryI;
+import jalview.util.StringUtils;
+
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
import fr.orsay.lri.varna.models.rna.RNA;
-import jalview.analysis.AlignSeq;
-import jalview.util.StringUtils;
-
/**
*
* Implements the SequenceI interface for a char[] based sequence object.
String vamsasId;
+ DBRefEntryI sourceDBRef;
+
DBRefEntry[] dbrefs;
RNA rna;
}
}
}
- if (seq.getPDBId() != null)
+ if (seq.getAllPDBEntries() != null)
{
- Vector ids = seq.getPDBId();
+ Vector ids = seq.getAllPDBEntries();
Enumeration e = ids.elements();
while (e.hasMoreElements())
{
* @param v
* DOCUMENT ME!
*/
+ @Override
public void setSequenceFeatures(SequenceFeature[] features)
{
sequenceFeatures = features;
}
+ @Override
public synchronized void addSequenceFeature(SequenceFeature sf)
{
if (sequenceFeatures == null)
sequenceFeatures = temp;
}
+ @Override
public void deleteFeature(SequenceFeature sf)
{
if (sequenceFeatures == null)
*
* @return
*/
+ @Override
public SequenceFeature[] getSequenceFeatures()
{
SequenceFeature[] features = sequenceFeatures;
return features;
}
+ @Override
public void addPDBId(PDBEntry entry)
{
if (pdbIds == null)
* @return DOCUMENT ME!
*/
@Override
- public Vector<PDBEntry> getPDBId()
+ public Vector<PDBEntry> getAllPDBEntries()
{
return pdbIds;
}
*
* @return DOCUMENT ME!
*/
+ @Override
public String getDisplayId(boolean jvsuffix)
{
StringBuffer result = new StringBuffer(name);
* @param name
* DOCUMENT ME!
*/
+ @Override
public void setName(String name)
{
this.name = name;
*
* @return DOCUMENT ME!
*/
+ @Override
public String getName()
{
return this.name;
* @param start
* DOCUMENT ME!
*/
+ @Override
public void setStart(int start)
{
this.start = start;
*
* @return DOCUMENT ME!
*/
+ @Override
public int getStart()
{
return this.start;
* @param end
* DOCUMENT ME!
*/
+ @Override
public void setEnd(int end)
{
this.end = end;
*
* @return DOCUMENT ME!
*/
+ @Override
public int getEnd()
{
return this.end;
*
* @return DOCUMENT ME!
*/
+ @Override
public int getLength()
{
return this.sequence.length;
* @param seq
* DOCUMENT ME!
*/
+ @Override
public void setSequence(String seq)
{
this.sequence = seq.toCharArray();
checkValidRange();
}
+ @Override
public String getSequenceAsString()
{
return new String(sequence);
}
+ @Override
public String getSequenceAsString(int start, int end)
{
return new String(getSequence(start, end));
}
+ @Override
public char[] getSequence()
{
return sequence;
*
* @see jalview.datamodel.SequenceI#getSequence(int, int)
*/
+ @Override
public char[] getSequence(int start, int end)
{
if (start < 0)
*
* @return DOCUMENT ME!
*/
+ @Override
public char getCharAt(int i)
{
if (i < sequence.length)
* @param desc
* DOCUMENT ME!
*/
+ @Override
public void setDescription(String desc)
{
this.description = desc;
*
* @return DOCUMENT ME!
*/
+ @Override
public String getDescription()
{
return this.description;
*
* @see jalview.datamodel.SequenceI#findIndex(int)
*/
+ @Override
public int findIndex(int pos)
{
// returns the alignment position for a residue
* @return int[SequenceI.getEnd()-SequenceI.getStart()+1] or null if no
* residues in SequenceI object
*/
+ @Override
public int[] gapMap()
{
String seq = jalview.analysis.AlignSeq.extractGaps(
{
if (lastj != -1)
{
- map.add(new int[]
- { lastj, j - 1 });
+ map.add(new int[] { lastj, j - 1 });
lastj = -1;
}
}
}
if (lastj != -1)
{
- map.add(new int[]
- { lastj, j - 1 });
+ map.add(new int[] { lastj, j - 1 });
lastj = -1;
}
return map;
public void deleteChars(int i, int j)
{
int newstart = start, newend = end;
- if (i >= sequence.length)
+ if (i >= sequence.length || i < 0)
{
return;
}
.toArray(new AlignmentAnnotation[annotation.size()]);
}
-
@Override
public boolean hasAnnotation(AlignmentAnnotation ann)
{
annotation.setSequenceRef(this);
}
+ @Override
public void removeAlignmentAnnotation(AlignmentAnnotation annotation)
{
if (this.annotation != null)
*
* @see jalview.datamodel.SequenceI#createDatasetSequence()
*/
+ @Override
public SequenceI createDatasetSequence()
{
if (datasetSequence == null)
// move database references onto dataset sequence
datasetSequence.setDBRef(getDBRef());
setDBRef(null);
- datasetSequence.setPDBId(getPDBId());
+ datasetSequence.setPDBId(getAllPDBEntries());
setPDBId(null);
datasetSequence.updatePDBIds();
if (annotation != null)
* jalview.datamodel.SequenceI#setAlignmentAnnotation(AlignmmentAnnotation[]
* annotations)
*/
+ @Override
public void setAlignmentAnnotation(AlignmentAnnotation[] annotations)
{
if (annotation != null)
for (int si = 0; si < sfs.length; si++)
{
SequenceFeature sf[] = (mp != null) ? mp.locateFeature(sfs[si])
- : new SequenceFeature[]
- { new SequenceFeature(sfs[si]) };
+ : new SequenceFeature[] { new SequenceFeature(sfs[si]) };
if (sf != null && sf.length > 0)
{
for (int sfi = 0; sfi < sf.length; sfi++)
}
// transfer PDB entries
- if (entry.getPDBId() != null)
+ if (entry.getAllPDBEntries() != null)
{
- Enumeration e = entry.getPDBId().elements();
+ Enumeration e = entry.getAllPDBEntries().elements();
while (e.hasMoreElements())
{
PDBEntry pdb = (PDBEntry) e.nextElement();
* @return The index (zero-based) on this sequence in the MSA. It returns
* {@code -1} if this information is not available.
*/
+ @Override
public int getIndex()
{
return index;
* position for this sequence. This value is zero-based (zero for
* this first sequence)
*/
+ @Override
public void setIndex(int value)
{
index = value;
}
+ @Override
public void setRNA(RNA r)
{
rna = r;
}
+ @Override
public RNA getRNA()
{
return rna;
return result;
}
+ @Override
+ public String toString()
+ {
+ return getDisplayId(false);
+ }
+
+ @Override
+ public PDBEntry getPDBEntry(String pdbIdStr)
+ {
+ if (getDatasetSequence() == null
+ || getDatasetSequence().getAllPDBEntries() == null)
+ {
+ return null;
+ }
+ List<PDBEntry> entries = getDatasetSequence().getAllPDBEntries();
+ for (PDBEntry entry : entries)
+ {
+ if (entry.getId().equalsIgnoreCase(pdbIdStr))
+ {
+ return entry;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public void setSourceDBRef(DBRefEntryI dbRef)
+ {
+ this.sourceDBRef = dbRef;
+ }
+
+ @Override
+ public DBRefEntryI getSourceDBRef()
+ {
+ return this.sourceDBRef;
+ }
+
}