org.biojava.nbio.protmod.io.StructureGroupXMLConverter Maven / Gradle / Ivy
/*
* BioJava development code
*
* This code may be freely distributed and modified under the
* terms of the GNU Lesser General Public Licence. This should
* be distributed with the code. If you do not have a copy,
* see:
*
* http://www.gnu.org/copyleft/lesser.html
*
* Copyright for this code is held jointly by the individual
* authors. These should be listed in @author doc comments.
*
* For more information on the BioJava project and its aims,
* or to join the biojava-l mailing list, visit the home page
* at:
*
* http://www.biojava.org/
*
*/
package org.biojava.nbio.protmod.io;
import org.biojava.nbio.protmod.structure.StructureGroup;
import org.biojava.nbio.structure.ResidueNumber;
import org.biojava.nbio.core.util.PrettyXMLWriter;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import java.io.IOException;
public class StructureGroupXMLConverter {
public static void toXML(StructureGroup group, PrettyXMLWriter xml) throws IOException{
xml.openTag("structureGroup");
xml.attribute("chainID", group.getChainId());
xml.attribute("pdbName", group.getPDBName());
if ( group.getInsCode() != null)
xml.attribute("insCode",group.getInsCode()+"");
xml.attribute("residueNr", group.getResidueNumber()+"");
xml.attribute("isAminoAcid", Boolean.toString(group.isAminoAcid()));
xml.closeTag("structureGroup");
}
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;
}
private static String getAttribute(Node node, String attr){
if( ! node.hasAttributes())
return null;
NamedNodeMap atts = node.getAttributes();
if ( atts == null)
return null;
Node att = atts.getNamedItem(attr);
if ( att == null)
return null;
String value = att.getTextContent();
return value;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy