package uk.co.flax.biosolr.pdbe.fasta;
import java.rmi.RemoteException;
import javax.xml.rpc.ServiceException;
import uk.ac.ebi.webservices.axis1.stubs.fasta.InputParameters;
import uk.ac.ebi.webservices.axis1.stubs.fasta.JDispatcherService_PortType;
import uk.ac.ebi.webservices.axis1.stubs.fasta.JDispatcherService_Service;
import uk.ac.ebi.webservices.axis1.stubs.fasta.JDispatcherService_ServiceLocator;
public class Main {
private static final String EMAIL = "sameer@ebi.ac.uk";
public static void main(String[] args) {
if (args.length < 4) {
System.err.println("Arguments: [sequence] [e value] [n scores] [n alignments]");
return;
}
try {
JDispatcherService_Service service = new JDispatcherService_ServiceLocator();
JDispatcherService_PortType fasta = service.getJDispatcherServiceHttpPort();
String sequence = args[0];
double eVal = new Double(args[1]);
int nScores = new Integer(args[2]);
int nAlignments = new Integer(args[3]);
InputParameters params = new InputParameters();
params.setProgram("ssearch");
params.setDatabase(new String[] { "pdb" });
params.setStype("protein");
params.setSequence(sequence);
params.setExplowlim(0.0d);
params.setExpupperlim(eVal);
params.setScores(nScores);
params.setAlignments(nAlignments);
FastaJob job = new FastaJob(fasta, EMAIL, params);
job.run();
if (job.getException() != null) {
System.err.println("Error during run()");
job.getException().printStackTrace(System.err);
}
System.out.println(new String(job.getRawResults()));
} catch (NumberFormatException e) {
System.err.println("Cannot parse command line arguments");
e.printStackTrace(System.err);
} catch (ServiceException e) {
System.err.println("Cannot create FASTA service");
e.printStackTrace(System.err);
} catch (RemoteException e) {
System.err.println("Cannot retrieve FASTA results");
e.printStackTrace(System.err);
}
}
}