public void applyChanges() { String label=labelField.getText(); if (label!=null && label.startsWith("R")&&label.length()>1 && !RGroupQuery.isValidRgroupQueryLabel(label) ) { JOptionPane.showMessageDialog(null, GT.get("This is not a valid R-group label.\nPlease label in range R1 .. R32")); } else { IPseudoAtom atom = (IPseudoAtom)source; atom.setLabel(labelField.getText()); } } }
@Override public boolean areSubstituentsDefined() { List<IAtom> allRgroupAtoms = getAllRgroupQueryAtoms(); if (allRgroupAtoms == null) return false; for (IAtom rgp : allRgroupAtoms) { if (RGroupQuery.isValidRgroupQueryLabel(((IPseudoAtom) rgp).getLabel())) { int groupNum = Integer.valueOf(((IPseudoAtom) rgp).getLabel().substring(1)); if (rGroupDefinitions == null || rGroupDefinitions.get(groupNum) == null || rGroupDefinitions.get(groupNum).getRGroups() == null || rGroupDefinitions.get(groupNum).getRGroups().size() == 0) { return false; } } } return true; }
/** * Method to check whether a given bond exists in the root and is attached * to an R-Group. * @param bond */ public boolean isRGroupRootBond(IBond bond) { if (rGroupQuery!=null && rGroupQuery.getRootStructure()!=null && rGroupQuery.getRootStructure().contains(bond)) { for(IAtom atom : bond.atoms()) { if (atom instanceof IPseudoAtom && RGroupQuery.isValidRgroupQueryLabel(((IPseudoAtom)atom).getLabel())) { return true; } } } return false; }
if (atom instanceof IPseudoAtom) { IPseudoAtom rGroup = (IPseudoAtom) atom; if (RGroupQuery.isValidRgroupQueryLabel(rGroup.getLabel())) { int rgroupNum = Integer.valueOf(rGroup.getLabel().substring(1)); RGroupList rgroupList = new RGroupList(rgroupNum);
boolean removeBond = false; if (cloneBond.getBegin() instanceof IPseudoAtom && isValidRgroupQueryLabel(((IPseudoAtom) cloneBond.getBegin()).getLabel())) removeBond = true; else if (cloneBond.getEnd() instanceof IPseudoAtom && isValidRgroupQueryLabel(((IPseudoAtom) cloneBond.getEnd()).getLabel())) removeBond = true; for (IAtom cloneAt : rootClone.atoms()) { if (cloneAt instanceof IPseudoAtom) if (isValidRgroupQueryLabel(((IPseudoAtom) cloneAt).getLabel())) { rootClone.removeAtomOnly(cloneAt); confHasRGroupAtoms = true;
if (atom instanceof IPseudoAtom) { IPseudoAtom pseudo = (IPseudoAtom)atom; if (pseudo.getLabel()!=null && RGroupQuery.isValidRgroupQueryLabel(pseudo.getLabel())) { chooseRootAttachmentBonds(pseudo,molecule,apoBonds); if (atom instanceof IPseudoAtom) { IPseudoAtom pseudo = (IPseudoAtom)atom; if (pseudo.getLabel()!=null && RGroupQuery.isValidRgroupQueryLabel(pseudo.getLabel())) { int bondCnt=0; int rNum=new Integer(pseudo.getLabel().substring(1));
if (label == null) return; if(label.startsWith("R") && label.length()>1 && !RGroupQuery.isValidRgroupQueryLabel(label)) JOptionPane.showMessageDialog(null, GT.get("This is not a valid R-group label.\nPlease label in range R1 .. R32")); else
Assert.assertTrue(RGroupQuery.isValidRgroupQueryLabel(((PseudoAtom) at).getLabel())); int rgroupNum = new Integer((((PseudoAtom) at).getLabel()).substring(1)); Assert.assertTrue(rgroupNum == 1 || rgroupNum == 2 || rgroupNum == 11);