markCalcIds();
}
+ private static String calcIdPrefix = "JalviewPDB:";
+
+ public static boolean isCalcIdHandled(String calcId)
+ {
+ return calcId != null
+ && (calcId.startsWith(calcIdPrefix) && calcId.indexOf(
+ calcIdPrefix,
+ calcIdPrefix.length() + 1) > -1);
+ }
public static boolean isCalcIdForFile(String calcId, String pdbFile)
{
- return (calcId != null && calcId.startsWith("JalviewPDB:" + pdbFile
- + ":JalviewPDB:"));
+ return (calcId != null && calcId.startsWith(calcIdPrefix + pdbFile
+ + ":" + calcIdPrefix));
+ }
+
+ public static String relocateCalcId(String calcId,
+ Hashtable<String, String> alreadyLoadedPDB) throws Exception
+ {
+ int s = calcIdPrefix.length(), end = calcId.indexOf(calcIdPrefix, s);
+ String between = calcId.substring(s, end - 1);
+ return calcIdPrefix + alreadyLoadedPDB.get(between) + ":"
+ + calcId.substring(end);
}
+
private void markCalcIds()
{
for (SequenceI sq : seqs)
{}).invoke(jmf));
cl.getMethod("addAnnotations", new Class[]
{ Alignment.class }).invoke(jmf, al);
+ for (SequenceI sq : al.getSequences())
+ {
+ if (sq.getDatasetSequence() != null)
+ {
+ sq.getDatasetSequence().getPDBId().clear();
+ }
+ else
+ {
+ sq.getPDBId().clear();
+ }
+ }
AlignSeq.replaceMatchingSeqsWith(seqs, annotations, prot, al, AlignSeq.PEP, false);
}
} catch (ClassNotFoundException q)
new Class[]
{ FileParse.class }).invoke(annotate3d, new Object[]
{ new FileParse(getDataName(), type) }));
+ for (SequenceI sq : al.getSequences())
+ {
+ if (sq.getDatasetSequence() != null)
+ {
+ sq.getDatasetSequence().getPDBId().clear();
+ }
+ else
+ {
+ sq.getPDBId().clear();
+ }
+ }
AlignSeq.replaceMatchingSeqsWith(seqs, annotations, rna, al, AlignSeq.DNA, false);
}
} catch (ClassNotFoundException x)