package jsci.biology;
import java.lang.Double;
import java.io.IOException;
import java.util.Collections;
import java.util.Map;
import java.util.HashMap;
import javax.xml.parsers.*;
import jsci.chemistry.Molecule;
import org.w3c.dom.*;
import org.xml.sax.SAXException;
/**
* This class provides access to amino acids.
* @version 1.0
* @author Silvere Martin-Michiellot
* @author Mark Hale
*/
public final class AminoAcids {
private static final Map table = new HashMap();
private static Map symbols;
private AminoAcids() {}
/**
* Returns the name for a symbol.
*/
public static String getName(String symbol) {
if(symbols == null)
symbols = loadIndex();
return (String)symbols.get(symbol);
}
/**
* Returns an amino acid.
*/
public static AminoAcid getAminoAcid(String name) {
name=name.toLowerCase();
AminoAcid aminoacid = (AminoAcid) table.get(name);
if(aminoacid==null) {
aminoacid=loadAminoAcid("aminoacids/"+name.replace(' ', '-')+".xml");
if(aminoacid != null)
table.put(name,aminoacid);
}
return aminoacid;
}
/**
* Loads the XML index.
*/
private static Map loadIndex() {
DocumentBuilderFactory docFactory=DocumentBuilderFactory.newInstance();
try {
DocumentBuilder docBuilder=docFactory.newDocumentBuilder();
Document doc=docBuilder.parse(AminoAcids.class.getResource("aminoacids/index.xml").toString());
Node root=doc.getDocumentElement();
NodeList nl=root.getChildNodes();
Map index = new HashMap();
for(int i=0; i
Ads help maintain this website.