Merge branch 'servlets'
[proteocache.git] / datadb / compbio / cassandra / CassandraReader.java
index 250c705..6e3587b 100644 (file)
@@ -51,6 +51,30 @@ public class CassandraReader {
        }
 
        /*
+        * getting data from the db
+        */
+       public List<Pair<String, String>> ReadProteinData(long day) {
+               final long startTime = System.currentTimeMillis();
+               String com = "SELECT JobID, Protein FROM ProteinData WHERE jobtime = " + day + ";";
+               System.out.println("Command: " + com);
+               ResultSet results = session.execute(com);
+               if (results.isExhausted())
+                       return null;
+               final long queryTime = System.currentTimeMillis();
+               List<Row> rows = results.all();
+               System.out.println("Query time is " + (queryTime - startTime) + " msec");
+               List<Pair<String, String>> res = new ArrayList<Pair<String, String>>();
+               int c = 0;
+               for (Row r : rows) {
+                       Pair<String, String> pair = new Pair<String, String>(r.getString("JobID"), r.getString("Protein"));
+                       res.add(pair);
+                       ++c;
+               }
+               final long endTime = System.currentTimeMillis();
+               System.out.println(c + " rows analysed, execution time is " + (endTime - startTime) + " msec");
+               return res;
+       }
+       /*
         * getting data from the db JobDateInfo
         */
        public List<Long> ReadDateTable(long queryDate) {
@@ -73,7 +97,7 @@ public class CassandraReader {
        /*
         * getting whole protein sequence from the db ProteinRow
         */
-       public List<StructureProteinPrediction> ReadWholeSequence(String queryProtein) {
+       public List<AnnotatedProteinSequenceBean> ReadWholeSequence(String queryProtein) {
                final long startTime = System.currentTimeMillis();
                String com = "SELECT JobID, Predictions FROM ProteinRow WHERE Protein = '" + queryProtein + "';";
                System.out.println("Command: " + com);
@@ -84,11 +108,15 @@ public class CassandraReader {
                List<Row> rows = results.all();
                System.out.println("Query time is " + (queryTime - startTime) + " msec");
                System.out.println(" rows analysed,  " + rows.size());
-               List<StructureProteinPrediction> res = new ArrayList<StructureProteinPrediction>();
+               List<AnnotatedProteinSequenceBean> res = new ArrayList<AnnotatedProteinSequenceBean>();
                int c = 0;
                for (Row r : rows) {
-                       StructureProteinPrediction structure = new StructureProteinPrediction(queryProtein, r.getString("JobID"), r.getMap(
+                       AnnotatedProteinSequenceBean structure = new AnnotatedProteinSequenceBean(queryProtein, r.getString("JobID"), r.getMap(
                                        "Predictions", String.class, String.class));
+                       if (structure.getPrediction().containsKey("jnetpred"))
+                               structure.setJnetpred(structure.getPrediction().get("jnetpred"));
+                       else
+                               structure.setJnetpred("");
                        res.add(structure);
                        ++c;
                }
@@ -100,7 +128,7 @@ public class CassandraReader {
        /*
         * getting part of protein sequence from the db ProteinRow
         */
-       public List<StructureProteinPrediction> ReadPartOfSequence(String queryProtein) {
+       public List<AnnotatedProteinSequenceBean> ReadPartOfSequence(String queryProtein) {
                final long startTime = System.currentTimeMillis();
                String com = "SELECT * FROM ProteinRow;";
                System.out.println("Command: " + com);
@@ -111,12 +139,12 @@ public class CassandraReader {
                List<Row> rows = results.all();
                System.out.println("Query time is " + (queryTime - startTime) + " msec");
                System.out.println(" rows analysed,  " + rows.size());
-               List<StructureProteinPrediction> res = new ArrayList<StructureProteinPrediction>();
+               List<AnnotatedProteinSequenceBean> res = new ArrayList<AnnotatedProteinSequenceBean>();
                int c = 0;
                for (Row r : rows) {
                        String prot = r.getString("Protein");
                        if (prot.matches("(.*)" + queryProtein + "(.*)")) {
-                               StructureProteinPrediction structure = new StructureProteinPrediction(prot, r.getString("JobID"), r.getMap("Predictions",
+                               AnnotatedProteinSequenceBean structure = new AnnotatedProteinSequenceBean(prot, r.getString("JobID"), r.getMap("Predictions",
                                                String.class, String.class));
                                res.add(structure);
                                ++c;
@@ -157,7 +185,7 @@ public class CassandraReader {
        }
 
        /*
-        * getting protein sequences by counter
+        * getting log info for jobid
         */
        public StructureJobLog ReadJobLog(String jobid) {
                final long startTime = System.currentTimeMillis();