[Biojava-l] pdbtoXML in Linux and JRE,SE
jon portuondo murguiondo
jon portuondo murguiondo <jon.portuondo01@campus.upf.es>
Sat, 16 Nov 2002 15:07:59
Hello,
I have a problem in the application PDBtoXML.java (I work in Linux). I have the Java (TM) 2 Runtime Environment, Standard Edition (v 1.4.1). I have the biojava libraries biojava-20020823.jar, bytecode-0.91.jar, jakarta-regexp.jar, xerces.jar in the CLASSPATH environment variable.
This is the error:
[jon@diana ~]$ java pdbtoXML.java 1FS1.pdb
Exception in thread "main" java.lang.NoClassDefFoundError: pdbtoXML/java
This is the script of pdbtoXML.java:
/*
* 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.bio.program;
import org.xml.sax.ContentHandler;
import org.xml.sax.XMLReader;
import org.xml.sax.SAXException;
import java.util.*;
import org.biojava.bio.program.sax.PdbSAXParser;
import org.biojava.bio.program.xml.SimpleXMLEmitter;
/**
* <p>
* A class that converts Protein Data Bank (PDB) to
* XML that will validate against the biojava:MacromolecularStructure DTD.
* <p>
* <b>Note this code is experimental and subject to change without notice.
* </b>
* <p>
* Copyright © 2000 Cambridge Antibody Technology.
* All Rights Reserved.
* <p>
* Primary author -<ul>
* <li>Simon Brocklehurst (CAT)
* </ul>
* Other authors -<ul>
* <li>Tim Dilks (CAT)
* <li>Colin Hardman (CAT)
* <li>Stuart Johnston (CAT)
*</ul>
*
* This code was first released to the biojava.org project, July 2000.
*
* @author Cambridge Antibody Technology (CAT)
* @version 0.1
*
* @see org.biojava.bio.program.sax.BlastLikeSAXParser
* @see SimpleXMLEmitter
*/
public class PdbToXMLConverter {
private String oInput;
private XMLReader oParser;
private boolean tStrict = true;
/**
* Creates a new <code>BlastToXMLConverter</code> instance.
*
*/
public PdbToXMLConverter(String poInput) {
oInput = poInput;
}
public void convert() throws java.io.IOException,
org.xml.sax.SAXException {
//Access functionality of biojava classes through
//standard org.xml.sax interfaces...
/**
* Create a SAX Parser that takes the native output
* from blast-like bioinformatics software.
*/
oParser = (XMLReader) new PdbSAXParser();
/**
* Dynamically change configuration of the parser
* in regard of Namespace support. Here,
* the xml.org/features/namespaces feature is simply "reset"
* to its default value for SAX2.
* The xml.org/features/namespaces-prefixes feature is
* also set to true. This is to ensure that xmlns attributes
* are reported by the parser. These are required because we want
* to configure the XMLEmitter to output qualified names (see below).
*/
try {
oParser.setFeature("http://xml.org/sax/features/namespaces",true);
oParser.setFeature("http://xml.org/sax/features/namespace-prefixes",
true);
} catch (Exception e) {
//If an illegal conmbination of features is chosen,
//roll back to default settings. Output a warning,
//even though this might mess up the output...
System.out.println("WARNING: ignoring attempt to set illegal " +
"combination of parser features");
}
/**
* Create an XML ContentHandler. This
* implementation of the DocumentHandler
* interface simple outputs nicely formatted
* XML. Passing a true value to the SimpleXMLEmitter
* constructor instructs the ContentHandler
* to take QNames from the SAXParser, rather
* than LocalNames.
*/
ContentHandler oHandler =
(ContentHandler) new SimpleXMLEmitter(true);
/**
* Give the parser a reference to the ContentHandler
* so that it can send SAX2 mesagges.
*/
oParser.setContentHandler(oHandler);
/**
* Now make the Parser parse the output from the
* blast-like software and emit XML as specificed
* by the DocumentHandler.
*/
oParser.parse(oInput);
System.out.println();
}
}
I would be pleased you could help to solve my problem. Thank you.