X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=datadb%2Fcompbio%2Fcassandra%2FJpredParserHTTP.java;h=453f01f73e9728d8691a01e8a5e87bb429c31226;hb=429ba39df7f7dbf7c7f940bafd5126cfab9fca61;hp=ac9ed4f8bd8919c1cbb59447987d0534bf7b244b;hpb=43a2a57fb10f89d0130960f43d136cff1fd56c59;p=proteocache.git diff --git a/datadb/compbio/cassandra/JpredParserHTTP.java b/datadb/compbio/cassandra/JpredParserHTTP.java index ac9ed4f..453f01f 100644 --- a/datadb/compbio/cassandra/JpredParserHTTP.java +++ b/datadb/compbio/cassandra/JpredParserHTTP.java @@ -93,6 +93,17 @@ public class JpredParserHTTP implements JpredParser { } return protein; } + private String parseSeqFile(final InputStream stream, String jobid) throws FileNotFoundException { + final FastaReader fr = new FastaReader(stream); + String protein = ""; + final FastaSequence fs = fr.next(); + protein = fs.getSequence().replaceAll("\n", ""); + if (fr.hasNext()) { + // this is an aligment job... + return "alignment"; + } + return protein; + } private String parseLogFile(final InputStream stream) throws IOException { String out = ""; @@ -170,9 +181,22 @@ public class JpredParserHTTP implements JpredParser { } if (!running) { + // logging the job job.setAlignment(alignment); job.setPredictions(predictions); + if (job.getExecutionStatus().equals("FAIL")) { + URL sequrl = new URL(maindir + job.getJobID() + ".seq"); + HttpURLConnection httpConnection_sequrl = (HttpURLConnection) sequrl.openConnection(); + if (199 < httpConnection_sequrl.getResponseCode() && httpConnection_sequrl.getResponseCode() < 300) { + try { + job.setProtein(parseSeqFile(sequrl.openStream(), job.getJobID())); + } catch (IOException e) { + e.printStackTrace(); + } + } + } cw.FormQueryTables(job); + // archiving the job if (archiving) { ArchivedJob ajob = new ArchivedJob(job.getJobID());