+/*
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
+ *
+ * This file is part of Jalview.
+ *
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * Jalview is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
package jalview.ws.jws2;
import jalview.analysis.AlignSeq;
import jalview.datamodel.SequenceI;
import jalview.gui.AlignFrame;
import jalview.gui.IProgressIndicator;
+import jalview.schemes.ResidueProperties;
import jalview.workers.AlignCalcWorker;
import jalview.ws.jws2.dm.AAConSettings;
import jalview.ws.jws2.dm.JabaWsParamSet;
protected boolean submitGaps = true;
/**
+ * by default, we filter out non-standard residues before submission
+ */
+ protected boolean filterNonStandardResidues = true;
+
+ /**
* Recover any existing parameters for this service
*/
protected void initViewportParams()
public List<Option> getJabaArguments()
{
- List<Option> newargs = new ArrayList<Option>();
+ List<Option> newargs = new ArrayList<>();
if (preset != null && preset instanceof JabaWsParamSet)
{
newargs.addAll(((JabaWsParamSet) preset).getjabaArguments());
System.err.println("submission error with " + getServiceActionText()
+ " :");
x.printStackTrace();
- calcMan.workerCannotRun(this);
+ calcMan.disableWorker(this);
} catch (ResultNotAvailableException x)
{
System.err.println("collection error:\nJob ID: " + rslt);
x.printStackTrace();
- calcMan.workerCannotRun(this);
+ calcMan.disableWorker(this);
} catch (OutOfMemoryError error)
{
- calcMan.workerCannotRun(this);
+ calcMan.disableWorker(this);
// consensus = null;
// hconsensus = null;
ap.raiseOOMWarning(getServiceActionText(), error);
} catch (Exception x)
{
- calcMan.workerCannotRun(this);
+ calcMan.disableWorker(this);
// consensus = null;
// hconsensus = null;
inputSeqs = alignment;
}
- List<compbio.data.sequence.FastaSequence> seqs = new ArrayList<compbio.data.sequence.FastaSequence>();
+ List<compbio.data.sequence.FastaSequence> seqs = new ArrayList<>();
int minlen = 10;
int ln = -1;
if (bySequence)
{
- seqNames = new HashMap<String, SequenceI>();
+ seqNames = new HashMap<>();
}
gapMap = new boolean[0];
start = inputSeqs.getStartRes();
end = inputSeqs.getEndRes();
- for (SequenceI sq : ((List<SequenceI>) inputSeqs.getSequences()))
+ for (SequenceI sq : (inputSeqs.getSequences()))
{
if (bySequence ? sq.findPosition(end + 1)
- sq.findPosition(start + 1) > minlen - 1 : sq.getEnd()
}
for (int apos : sq.gapMap())
{
- gapMap[apos] = true; // aligned.
+ if (!filterNonStandardResidues
+ || ResidueProperties.aaIndex[sq.getCharAt(apos)] < 20)
+ {
+ gapMap[apos] = true; // aligned and real amino acid residue
+ }
+ ;
}
}
else