Merge branch 'master' into PROT-9-webservice
authorSasha Sherstnev <a.sherstnev@dundee.ac.uk>
Wed, 29 Jan 2014 14:06:00 +0000 (14:06 +0000)
committerSasha Sherstnev <a.sherstnev@dundee.ac.uk>
Wed, 29 Jan 2014 14:06:00 +0000 (14:06 +0000)
1  2 
datadb/compbio/cassandra/CassandraReaderOld.java

@@@ -11,13 -11,19 +11,19 @@@ import org.apache.log4j.Logger
  import com.datastax.driver.core.Row;
  import com.datastax.driver.core.Session;
  import com.datastax.driver.core.ResultSet;
+ import compbio.beans.DateBean;
+ import compbio.beans.JobBean;
+ import compbio.beans.ProteinBean;
+ import compbio.beans.Total;
  import compbio.engine.JobStatus;
+ import compbio.engine.Pair;
  
- public class CassandraReader {
+ public class CassandraReaderOld {
        private Session session;
        private static Logger log = Logger.getLogger(CassandraNativeConnector.class);
  
-       public CassandraReader() {
+       public CassandraReaderOld() {
                Session inis = CassandraNativeConnector.getSession();
                setSession(inis);
        }
                String com = "SELECT JobID, Predictions FROM ProteinRow WHERE Protein = '" + queryProtein + "';";
                System.out.println("Command: " + com);
                ResultSet results = session.execute(com);
 -              if (results.isExhausted())
 +              if (results.isExhausted()) 
                        return null;
                final long queryTime = System.currentTimeMillis();
                List<Row> rows = results.all();
        }
  
        /*
+        * getting protein sequence from the db ProteinRow
+        */
+       public Map<String, String> ReadProtein() {
+               //final long startTime = System.currentTimeMillis();
+               String com = "SELECT * FROM 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();
+               Map<String, String> output = new HashMap<String, String>();
+               for (Row r : rows) {
+                       String protein = r.getString("Protein");
+                       String prediction = findJnetpred(r.getMap("Predictions", String.class, String.class));
+                       if (protein != null && prediction != null) {
+                               output.put(protein, prediction);
+                       }
+               }
+               //final long endTime = System.currentTimeMillis();
+               return output;
+       }
+       private String findJnetpred(Map<String, String> pred) {
+               if (pred != null) {
+                       if (pred.containsKey("jnetpred"))
+                               return pred.get("jnetpred");
+               }
+               return null;
+       }
+       /*
         * getting protein sequences by counter
         */
        public Map<String, Integer> ReadProteinSequenceByCounter() {
                int c = 0;
                for (Row r : rows) {
                        String protein = r.getString("Protein");
-                       String id = r.getString("JobID");
                        if (res.containsKey(protein))
                                res.put(protein, res.get(protein) + 1);
                        else
                int c = 0;
                for (Row r : rows) {
                        String ip = r.getString("ip");
-                       String id = r.getString("JobID");
                        if (res.containsKey(ip))
                                res.put(ip, res.get(ip) + 1);
                        else
                Row row1 = results1.one();
                JobBean res = new JobBean(row.getString("Protein"), row.getString("JobID"), row.getString("DataBegin"), row.getString("DataEnd"),
                                row.getString("ip"), row1.getMap("Predictions", String.class, String.class));
+               String program = row.getString("ProgramName");
+               String version = row.getString("ProgramVersion");
+               if (null != program && null != version) {
+                       res.setProgramName(program);
+                       res.setProgramVersion(version);
+               }
                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");