/*
* Jalview - A Sequence Alignment Editor and Viewer
- * Copyright (C) 2006 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle
+ * Copyright (C) 2007 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
sqinfo.put("Name", seq.getName());
sqinfo.put("Start", new Integer(seq.getStart()));
sqinfo.put("End", new Integer(seq.getEnd()));
- if (seq.getDescription()!=null)
+ if (seq.getDescription() != null)
+ {
sqinfo.put("Description", seq.getDescription());
+ }
Vector sfeat = new Vector();
- jalview.datamodel.SequenceFeature[] sfarray=seq.getSequenceFeatures();
- if (sfarray!=null && sfarray.length>0) {
- for (int i=0;i<sfarray.length;i++)
+ jalview.datamodel.SequenceFeature[] sfarray = seq.getSequenceFeatures();
+ if (sfarray != null && sfarray.length > 0)
+ {
+ for (int i = 0; i < sfarray.length; i++)
+ {
sfeat.add(sfarray[i]);
+ }
}
sqinfo.put("SeqFeatures", sfeat);
sqinfo.put("PdbId",
(seq.getPDBId() != null) ? seq.getPDBId() : new Vector());
- sqinfo.put("datasetSequence", (seq.getDatasetSequence() !=null) ? seq.getDatasetSequence() : new Sequence("THISISAPLACEHOLDER",""));
+ sqinfo.put("datasetSequence",
+ (seq.getDatasetSequence() != null) ? seq.getDatasetSequence() :
+ new Sequence("THISISAPLACEHOLDER", ""));
return sqinfo;
}
public static boolean SeqCharacterUnhash(SequenceI sq, Hashtable sqinfo)
{
boolean namePresent = true;
- if (sqinfo==null)
+ if (sqinfo == null)
+ {
return false;
+ }
String oldname = (String) sqinfo.get("Name");
Integer start = (Integer) sqinfo.get("Start");
Integer end = (Integer) sqinfo.get("End");
Vector sfeatures = (Vector) sqinfo.get(
"SeqFeatures");
Vector pdbid = (Vector) sqinfo.get("PdbId");
- String description=(String) sqinfo.get("Description");
+ String description = (String) sqinfo.get("Description");
Sequence seqds = (Sequence) sqinfo.get("datasetSequence");
if (oldname == null)
{
{
sq.setName(oldname);
}
- if (pdbid!=null && pdbid.size()>0)
+ if (pdbid != null && pdbid.size() > 0)
{
sq.setPDBId(pdbid);
}
sq.setEnd(end.intValue());
}
- if ((sfeatures != null) && (sfeatures.size()>0))
+ if ( (sfeatures != null) && (sfeatures.size() > 0))
{
SequenceFeature[] sfarray = (SequenceFeature[]) sfeatures.toArray();
sq.setSequenceFeatures(sfarray);
}
- if (description!=null)
+ if (description != null)
+ {
sq.setDescription(description);
- if ((seqds!=null) && !(seqds.getName().equals("THISISAPLACEHOLDER") && seqds.getLength()==0)) {
+ }
+ if ( (seqds != null) &&
+ ! (seqds.getName().equals("THISISAPLACEHOLDER") &&
+ seqds.getLength() == 0))
+ {
sq.setDatasetSequence(seqds);
}
}
}
-
return map;
}
+
/**
* recover unsafe sequence names and original properties for a sequence
* set using a map generated by @see uniquify(sequences,true)
*/
public static boolean deuniquify(Hashtable map, SequenceI[] sequences)
{
- jalview.analysis.SequenceIdMatcher matcher = new SequenceIdMatcher(sequences);
+ jalview.analysis.SequenceIdMatcher matcher = new SequenceIdMatcher(
+ sequences);
SequenceI msq = null;
Enumeration keys = map.keys();
Vector unmatched = new Vector();
- for (int i=0, j=sequences.length; i<j; i++)
+ for (int i = 0, j = sequences.length; i < j; i++)
+ {
unmatched.add(sequences[i]);
- while (keys.hasMoreElements()) {
+ }
+ while (keys.hasMoreElements())
+ {
Object key = keys.nextElement();
- if (key instanceof String) {
- if ((msq = matcher.findIdMatch((String) key))!=null) {
+ if (key instanceof String)
+ {
+ if ( (msq = matcher.findIdMatch( (String) key)) != null)
+ {
Hashtable sqinfo = (Hashtable) map.get(key);
unmatched.remove(msq);
SeqCharacterUnhash(msq, sqinfo);
}
else
{
- System.err.println("Can't find '"+((String) key)+"' in uniquified alignment");
+ System.err.println("Can't find '" + ( (String) key) +
+ "' in uniquified alignment");
}
}
}
- if (unmatched.size()>0) {
+ if (unmatched.size() > 0)
+ {
System.err.println("Did not find matches for :");
- for (Enumeration i = unmatched.elements(); i.hasMoreElements(); System.out.println(((SequenceI) i.nextElement()).getName()))
- ;
+ for (Enumeration i = unmatched.elements(); i.hasMoreElements();
+ System.out.println( ( (SequenceI) i.nextElement()).getName()))
+ {
+ ;
+ }
return false;
}
return true;
}
+
/**
* returns a subset of the sequenceI seuqences,
* including only those that contain at least one residue.
* @param sequences SequenceI[]
* @return SequenceI[]
*/
- public static SequenceI[] getNonEmptySequenceSet(SequenceI[] sequences) {
- // Identify first row of alignment with residues for prediction
- boolean ungapped[] = new boolean[sequences.length];
- int msflen=0;
- for (int i=0,j=sequences.length; i<j;i++) {
- String tempseq = jalview.analysis.AlignSeq.extractGaps(jalview.util.Comparison.GapChars, sequences[i].getSequence());
- if (tempseq.length()==0)
- ungapped[i]=false;
- else {
- ungapped[i]=true;
- msflen++;
- }
+ public static SequenceI[] getNonEmptySequenceSet(SequenceI[] sequences)
+ {
+ // Identify first row of alignment with residues for prediction
+ boolean ungapped[] = new boolean[sequences.length];
+ int msflen = 0;
+ for (int i = 0, j = sequences.length; i < j; i++)
+ {
+ String tempseq = jalview.analysis.AlignSeq.extractGaps(
+ jalview.util.Comparison.GapChars,
+ sequences[i].getSequenceAsString());
+
+ if (tempseq.length() == 0)
+ {
+ ungapped[i] = false;
}
- if (msflen==0)
- return null; // no minimal set
- // compose minimal set
- SequenceI[] mset = new SequenceI[msflen];
- for (int i=0,j=sequences.length,k=0; i<j;i++) {
- if (ungapped[i])
- mset[k++] = sequences[i];
+ else
+ {
+ ungapped[i] = true;
+ msflen++;
+ }
+ }
+ if (msflen == 0)
+ {
+ return null; // no minimal set
+ }
+ // compose minimal set
+ SequenceI[] mset = new SequenceI[msflen];
+ for (int i = 0, j = sequences.length, k = 0; i < j; i++)
+ {
+ if (ungapped[i])
+ {
+ mset[k++] = sequences[i];
}
- ungapped = null;
- return mset;
+ }
+ ungapped = null;
+ return mset;
}
}