2 package compbio.controllers;
8 import org.springframework.beans.factory.annotation.Autowired;
9 import org.springframework.stereotype.Controller;
10 import org.springframework.validation.BindingResult;
11 import org.springframework.web.bind.WebDataBinder;
12 import org.springframework.web.bind.annotation.InitBinder;
13 import org.springframework.web.bind.annotation.ModelAttribute;
14 import org.springframework.web.bind.annotation.PathVariable;
15 import org.springframework.web.bind.annotation.RequestMapping;
16 import org.springframework.web.bind.annotation.RequestMethod;
17 import org.springframework.web.bind.annotation.RequestParam;
19 import compbio.cassandra.DataBase;
21 import compbio.statistic.CassandraRequester;
24 * @author Alexander Sherstnev
25 * @author Natasha Sherstneva
28 public class SequenceSearchController {
30 @RequestMapping(value = "/sequence", method = RequestMethod.GET)
31 public String initFindForm(Map<String, Object> model) {
32 return "QuerySequenceProtein";
35 @RequestMapping(value = "/sequence/query", method = RequestMethod.GET)
36 public String findSequence(@RequestParam("prot") String prot, @RequestParam("protein") String flag,
37 @RequestParam("Search") String search, @RequestParam("counterJob") int counter, Map<String, Object> model) {
38 final long startTime = System.currentTimeMillis();
39 CassandraRequester cr = new CassandraRequester();
40 if (search.equals("SearchCounter")) {
41 List<DataBase> r = cr.readProteinByCounter(counter);
42 model.put("results", r);
43 model.put("njobs", r.size());
44 System.out.println("Search counter = " + counter + ": " + r.size() + " proteins found");
46 List<DataBase> r = cr.readProteins(prot, flag);
47 model.put("results", r);
48 model.put("njobs", r.size());
49 //System.out.println("Search sequence: " + r.size() + " proteins found");
51 final long endTime = System.currentTimeMillis();
52 model.put("timeExecution", (endTime - startTime));
53 model.put("prot", prot);
54 model.put("flag", flag);
55 model.put("search", search);
56 model.put("counter", counter);
57 return "ReportSequenceProtein";