@Override public void setResidueNumber(String chainId, Integer resNum, Character iCode) { this.residueNumber = new ResidueNumber(chainId, resNum, iCode); }
public StructureGroup(){ resNum = new ResidueNumber(); }
public void setChainId(String chainId){ if ( resNum == null) resNum = new ResidueNumber(); resNum.setChainName(chainId); }
public void setResidueNumber(int seqNr){ if ( resNum == null) resNum = new ResidueNumber(); resNum.setSeqNum(seqNr); }
public void setInsCode(Character c){ if ( resNum == null) resNum = new ResidueNumber(); resNum.setInsCode(c); }
return null; ResidueNumber residueNumber = new ResidueNumber(); Integer resNum = null; String icode = null;
private Map<Integer,Atom> getAtomFromRecord(String name, String altLoc, String resName, String chainID, String resSeq, String iCode) throws StructureException { if (iCode==null || iCode.isEmpty()) { iCode = " "; // an insertion code of ' ' is ignored } Map<Integer, Atom> outMap = new HashMap<>(); ResidueNumber resNum = new ResidueNumber(chainID, Integer.parseInt(resSeq), iCode.charAt(0)); for (int i=0; i<structure.nrModels(); i++){ Chain chain = structure.getChain(chainID,i); Group group = chain.getGroupByPDB(resNum); Group g = group; // there is an alternate location if (!altLoc.isEmpty()) { g = group.getAltLocGroup(altLoc.charAt(0)); if (g==null) throw new StructureException("Could not find altLoc code "+altLoc+" in group "+resSeq+iCode+" of chain "+ chainID); } Atom a = g.getAtom(name); if (a!=null){ outMap.put(i,a); } } return outMap; } }
ResidueNumber residueNumber = new ResidueNumber();
public static StructureGroup fromXML(Node n) { String chainID = getAttribute(n, "chainID"); String pdbName = getAttribute(n, "pdbName"); String insCode = getAttribute(n, "insCode"); String resN = getAttribute(n, "residueNr"); String isAminoAcid = getAttribute(n,"isAminoAcid"); ResidueNumber resNum = new ResidueNumber(); resNum.setChainName(chainID); if ( ( insCode != null) && (! insCode.equals("null")) && insCode.length() == 1) resNum.setInsCode(insCode.charAt(0)); resNum.setSeqNum(Integer.parseInt(resN)); StructureGroup g = new StructureGroup(resNum, pdbName, Boolean.valueOf(isAminoAcid)); return g; }
ResidueNumber previous = new ResidueNumber(); ResidueNumber start = new ResidueNumber(); String chainId = ""; int count = 0; // counts the number of residues in SSE
char insCode = line.charAt(10); String chainId = line.substring(11,13).trim(); ResidueNumber r = new ResidueNumber(chainId, resNum, insCode); Group parent = structure.getPolyChainByPDB(chainId) .getGroupByPDB(r);
ResidueNumber resNum = new ResidueNumber(); resNum.setChainName(num.getChainId()); resNum.setSeqNum(num.getResidueNumber());
private Group getGroup(StructureGroup num, List<Chain> chains) throws StructureException { for (Chain c : chains){ if ( c.getId().equals(num.getChainId())){ ResidueNumber resNum = new ResidueNumber(); resNum.setSeqNum(num.getResidueNumber()); resNum.setInsCode(num.getInsCode()); return c.getGroupByPDB(resNum); } } throw new StructureException("Could not find residue " + num); }
ResidueNumber previous = new ResidueNumber(); ResidueNumber start = new ResidueNumber(); String chainId = ""; int count = 0; // counts the number of residues in SSE
Character insChar = null; if (null != insCode && insCode.length() > 0) insChar = insCode.charAt(0); g = chain.getGroupByPDB(new ResidueNumber(null, Integer.parseInt(auth_seq_id), insChar)); } catch (NumberFormatException e) { logger.warn("Could not lookup residue : " + authId + auth_seq_id);
if ( iCode == ' ') iCode = null; ResidueNumber residueNumber = new ResidueNumber(chainName, Integer.valueOf(resNum), iCode);
/** * The method will return a new reference to a Chain with any consecutive groups * having same residue numbers removed. * This is necessary to solve the microheterogeneity issue in entries like 3u7t (see github issue #160) * @param c * @return */ private static Chain removeSeqResHeterogeneity(Chain c) { Chain trimmedChain = new ChainImpl(); ResidueNumber lastResNum = null; for (Group g:c.getAtomGroups()) { // note we have to deep copy this, otherwise they stay linked and would get altered in addGroup(g) ResidueNumber currentResNum = new ResidueNumber( g.getResidueNumber().getChainName(), g.getResidueNumber().getSeqNum(), g.getResidueNumber().getInsCode()); if (lastResNum == null || !lastResNum.equals(currentResNum) ) { trimmedChain.addGroup(g); } else { logger.debug("Removing seqres group because it seems to be repeated in entity_poly_seq, most likely has hetero='y': "+g); } lastResNum = currentResNum; } return trimmedChain; }
start = new ResidueNumber(chain,start.getSeqNum(),start.getInsCode()); end = new ResidueNumber(chain,end.getSeqNum(),end.getInsCode());
ResidueNumber residueNumber = new ResidueNumber(authId,residueNrInt, insCode);