/** * Retrieves a Monomer object by specifying its name. [You have to specify the strand to enable * monomers with the same name in different strands. There is at least one such case: every * strand contains a monomer called "".] * * @param monName The name of the monomer to look for * @return The Monomer object which was asked for * */ @Override public IMonomer getMonomer(String monName, String strandName) { Strand strand = (Strand) strands.get(strandName); if (strand != null) { return (Monomer) strand.getMonomer(monName); } else { return null; } }
@Override public IStrand clone() throws CloneNotSupportedException { Strand clone = (Strand) super.clone(); clone.monomers.clear(); for (Iterator<String> iter = clone.getMonomerNames().iterator(); iter.hasNext();) { Monomer monomerClone = (Monomer) (clone.getMonomer(iter.next().toString()).clone()); Iterator<IAtom> atoms = monomerClone.atoms().iterator(); while (atoms.hasNext()) { clone.addAtom(atoms.next(), monomerClone); } } return clone; } }
@Override public IStrand clone() throws CloneNotSupportedException { Strand clone = (Strand) super.clone(); clone.monomers.clear(); for (Iterator<String> iter = clone.getMonomerNames().iterator(); iter.hasNext();) { Monomer monomerClone = (Monomer) (clone.getMonomer(iter.next().toString()).clone()); Iterator<IAtom> atoms = monomerClone.atoms().iterator(); while (atoms.hasNext()) { clone.addAtom(atoms.next(), monomerClone); } } return clone; } }
/** * Retrieves a Monomer object by specifying its name. [You have to specify the strand to enable * monomers with the same name in different strands. There is at least one such case: every * strand contains a monomer called "".] * * @param monName The name of the monomer to look for * @return The Monomer object which was asked for * */ @Override public IMonomer getMonomer(String monName, String strandName) { Strand strand = (Strand) strands.get(strandName); if (strand != null) { return (Monomer) strand.getMonomer(monName); } else { return null; } }
@Override public IBioPolymer clone() throws CloneNotSupportedException { BioPolymer clone = (BioPolymer) super.clone(); clone.strands.clear(); for (Iterator<String> strands = clone.getStrandNames().iterator(); strands.hasNext();) { Strand strand = (Strand) clone.getStrand(strands.next().toString()).clone(); for (Iterator<String> iter = strand.getMonomerNames().iterator(); iter.hasNext();) { IMonomer monomer = strand.getMonomer(iter.next().toString()); Iterator<IAtom> atoms = monomer.atoms().iterator(); while (atoms.hasNext()) { clone.addAtom((IAtom) atoms.next(), monomer, strand); } } } return clone; } }
/** * * Adds the atom oAtom without specifying a Monomer or a Strand. Therefore the * atom gets added to a Monomer of type UNKNOWN in a Strand of type UNKNOWN. * * @param oAtom The atom to add * */ @Override public void addAtom(IAtom oAtom) { addAtom(oAtom, getMonomer("")); }
@Override public IBioPolymer clone() throws CloneNotSupportedException { BioPolymer clone = (BioPolymer) super.clone(); clone.strands.clear(); for (Iterator<String> strands = clone.getStrandNames().iterator(); strands.hasNext();) { Strand strand = (Strand) clone.getStrand(strands.next().toString()).clone(); for (Iterator<String> iter = strand.getMonomerNames().iterator(); iter.hasNext();) { IMonomer monomer = strand.getMonomer(iter.next().toString()); Iterator<IAtom> atoms = monomer.atoms().iterator(); while (atoms.hasNext()) { clone.addAtom((IAtom) atoms.next(), monomer, strand); } } } return clone; } }
/** {@inheritDoc} */ @Override public IMonomer getMonomer(String cName) { logger.debug("Getting monomer for String: ", cName); return super.getMonomer(cName); }
/** * * Adds the atom oAtom without specifying a Monomer or a Strand. Therefore the * atom gets added to a Monomer of type UNKNOWN in a Strand of type UNKNOWN. * * @param oAtom The atom to add * */ @Override public void addAtom(IAtom oAtom) { addAtom(oAtom, getMonomer("")); }
/** * * Adds the atom oAtom to a specific Monomer. * * @param oAtom The atom to add * @param oMonomer The monomer the atom belongs to * */ @Override public void addAtom(IAtom oAtom, IMonomer oMonomer) { int atomCount = super.getAtomCount(); // Add atom to AtomContainer super.addAtom(oAtom); if (atomCount != super.getAtomCount()) { // ok, super did not yet contain the atom if (oMonomer == null) { oMonomer = getMonomer(""); } oMonomer.addAtom(oAtom); if (!monomers.containsKey(oMonomer.getMonomerName())) { monomers.put(oMonomer.getMonomerName(), oMonomer); } } }
/** * * Adds the atom oAtom to a specific Monomer. * * @param oAtom The atom to add * @param oMonomer The monomer the atom belongs to * */ @Override public void addAtom(IAtom oAtom, IMonomer oMonomer) { int atomCount = super.getAtomCount(); // Add atom to AtomContainer super.addAtom(oAtom); if (atomCount != super.getAtomCount()) { // ok, super did not yet contain the atom if (oMonomer == null) { oMonomer = getMonomer(""); } oMonomer.addAtom(oAtom); if (!monomers.containsKey(oMonomer.getMonomerName())) { monomers.put(oMonomer.getMonomerName(), oMonomer); } } }