fix data report, protein report
authorNatasha Sherstneva <n.shertneva@gmail.com>
Thu, 7 Nov 2013 13:32:02 +0000 (13:32 +0000)
committerSasha Sherstnev <a.sherstnev@dundee.ac.uk>
Fri, 8 Nov 2013 13:20:57 +0000 (13:20 +0000)
Conflicts:
.classpath
datadb/compbio/cassandra/CassandraNativeConnector.java

datadb/compbio/cassandra/CassandraNativeConnector.java

index 766c376..8e86624 100644 (file)
@@ -339,6 +339,105 @@ public class CassandraNativeConnector {
                System.out.println (c + " rows analysed, execution time is " + (endTime - startTime) + " msec");
                return res;
        }
+       
+       /*
+        * getting data from the db ProteinData
+        */
+       public Integer ReadDateTable(long queryDate) {
+               final long startTime = System.currentTimeMillis();
+               String com = "SELECT jobtime, JobID FROM ProteinKeyspace.ProteinData WHERE jobtime = " + queryDate + ";";
+               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");        
+               return rows.size();
+       }
+
+       /*
+        * getting whole protein sequence from the db ProteinRow
+        */
+       public List<StructureProteinPrediction> ReadWholeSequence(String queryProtein) {
+               final long startTime = System.currentTimeMillis();
+               String com = "SELECT JobID, Predictions FROM ProteinKeyspace.ProteinRow WHERE Protein = '" + queryProtein + "';";
+               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");   
+               System.out.println (" rows analysed,  " + rows.size());
+               List<StructureProteinPrediction> res = new ArrayList<StructureProteinPrediction>();
+               int c = 0;
+               for (Row r : rows) {
+                       StructureProteinPrediction structure = new StructureProteinPrediction(queryProtein, r.getString("JobID"), r.getMap("Predictions", String.class, String.class));         
+                       res.add(structure);
+                       ++c;
+               }
+               final long endTime = System.currentTimeMillis();
+               System.out.println (c + " rows analysed, execution time is " + (endTime - startTime) + " msec");
+               return res;
+       }
+       
+       /*
+        * getting part of protein sequence from the db ProteinRow
+        */
+       public List<StructureProteinPrediction>  ReadPartOfSequence(String queryProtein) {
+               final long startTime = System.currentTimeMillis();
+               String com = "SELECT * FROM ProteinKeyspace.ProteinRow;";
+               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");   
+               System.out.println (" rows analysed,  " + rows.size());
+               List<StructureProteinPrediction>  res = new ArrayList<StructureProteinPrediction>();
+               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", String.class, String.class));         
+                               res.add(structure);
+                               ++c;
+                       }
+               }
+               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 Map<String, Integer>  ReadProteinDataByCounter() {
+               final long startTime = System.currentTimeMillis();
+               String com = "SELECT Protein FROM ProteinKeyspace.ProteinRow;";
+               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");   
+               System.out.println (" rows analysed,  " + rows.size());
+               Map<String, Integer> res = new HashMap<String, Integer>();
+               int c = 0;
+               for (Row r : rows) {
+                       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
@@ -365,7 +464,7 @@ public class CassandraNativeConnector {
                return res;
        }
 
-       /*
+
         * getting earlest date of jobs from the db
         */
        public long getEarliestDateInDB() {
@@ -374,7 +473,7 @@ public class CassandraNativeConnector {
                System.out.println("Command: " + com);
                ResultSet results = session.execute(com);
                final long queryTime = System.currentTimeMillis();
-               System.out.println("Query time is " + (queryTime - startTime) + " msec");
+               System.out.println ("Query time is  " + (queryTime - startTime) + " msec");
 
                Calendar cal = Calendar.getInstance();
                long res = cal.getTimeInMillis();
@@ -388,7 +487,7 @@ public class CassandraNativeConnector {
                        ++c;
                }
                final long endTime = System.currentTimeMillis();
-               System.out.println(c + " rows analysed, execution time is " + (endTime - startTime) + " msec");
+               System.out.println (c + " rows analysed, execution time is " + (endTime - startTime) + " msec");
                return res;
        }