*/
public void InsertData(long jobtime, String startdate, String enddate, String ip, String jobid, String statusEx, String statusFinal,
String protein, List<FastaSequence> predictions) {
-
String check1 = "SELECT * FROM ProteinKeyspace.ProteinLog WHERE JobID = '" + jobid + "';";
ResultSet results1 = session.execute(check1);
if (results1.isExhausted()) {
+ "(JobID, IP, DataBegin, DataEnd, FinalStatus, ExecutionStatus, Protein)" + " VALUES ('" + jobid + "','" + ip + "','"
+ startdate + "','" + enddate + "','" + statusFinal + "','" + statusEx + "','" + protein + "');";
session.execute(com1);
-
String com2 = "INSERT INTO ProteinKeyspace.ProteinData " + "(jobtime, JobID, Protein)" + " VALUES (" + jobtime + ",'" + jobid
+ "','" + protein + "');";
session.execute(com2);
-
String allpredictions = "";
for (FastaSequence pred : predictions) {
String predictionname = pred.getId();
if (null != allpredictions) {
final_prediction = allpredictions.substring(0, allpredictions.length() - 1);
}
-
- String check2 = "SELECT * FROM ProteinKeyspace.ProteinRow WHERE JobID = '" + jobid + "';";
+ String check2 = "SELECT * FROM ProteinKeyspace.ProteinRow WHERE JobID = '" + jobid + "' ALLOW FILTERING;";
ResultSet results2 = session.execute(check2);
if (results2.isExhausted()) {
String com3 = "INSERT INTO ProteinKeyspace.ProteinRow " + "(Protein, JobID, Predictions)" + " VALUES ('"
+ protein + "','" + jobid + "',{" + final_prediction + "});";
session.execute(com3);
}
+ String check3 = "SELECT * FROM ProteinKeyspace.ProteinRow WHERE JobID = '" + jobid + "';";
}
}
/*
* getting protein sequences by counter
*/
- public List<Pair<String, Integer>> ReadProteinDataByCounter(int counter) {
+ public Map<String, Integer> ReadProteinDataByCounter() {
final long startTime = System.currentTimeMillis();
- String com = "SELECT DISTINCT Protein FROM ProteinKeyspace.ProteinRow;";
+ String com = "SELECT Protein FROM ProteinKeyspace.ProteinRow;";
System.out.println("Command: " + com);
ResultSet results = session.execute(com);
if (results.isExhausted())
List<Row> rows = results.all();
System.out.println ("Query time is " + (queryTime - startTime) + " msec");
System.out.println (" rows analysed, " + rows.size());
- List<Pair<String, Integer>> res = new ArrayList<Pair<String, Integer>>();
+ Map<String, Integer> res = new HashMap<String, Integer>();
int c = 0;
for (Row r : rows) {
- String prot = r.getString("Protein");
-
+ String protein = r.getString("Protein");
+ if (res.containsKey(protein))
+ res.put(protein, res.get(protein) + 1);
+ else
+ res.put(protein, 1);
}
final long endTime = System.currentTimeMillis();
System.out.println (c + " rows analysed, execution time is " + (endTime - startTime) + " msec");
return res;
}
+
+ /*
+ * getting protein sequences by counter
+ */
+ public StructureJobLog ReadJobLog(String jobid) {
+ final long startTime = System.currentTimeMillis();
+ String com = "SELECT * FROM ProteinKeyspace.ProteinLog WHERE JobID = '" + jobid + "';";
+ System.out.println("Command: " + com);
+ ResultSet results = session.execute(com);
+ if (results.isExhausted())
+ return null;
+ final long queryTime = System.currentTimeMillis();
+ Row row = results.one();
+ String com1 = "SELECT * FROM ProteinKeyspace.ProteinRow WHERE JobID = '" + jobid + "' ALLOW FILTERING;";
+ System.out.println("Command: " + com1);
+ ResultSet results1 = session.execute(com1);
+ if (results1.isExhausted())
+ return null;
+ Row row1 = results1.one();
+ StructureJobLog res = new StructureJobLog(row.getString("Protein"), row.getString("JobID"), row.getString("DataBegin"), row.getString("DataEnd"), row.getString("ip"), row1.getMap("Predictions", String.class, String.class));
+ System.out.println ("Query time is " + (queryTime - startTime) + " msec");
+ final long endTime = System.currentTimeMillis();
+ System.out.println (" rows analysed, execution time is " + (endTime - startTime) + " msec");
+ return res;
+ }
+
/*
* getting earlest date of jobs from the db
*/