Beispiel #1
0
 private void makeFullMap(ArrayList QTL, double[][] map) {
   ArrayList chromosomes = new ArrayList();
   for (int i = 0; i < map.length; i++) {
     ArrayList chromosome = new ArrayList();
     for (int j = 0; j < map[i].length; j++) {
       chromosome.add(new Double(map[i][j]));
     }
     chromosomes.add(chromosome);
   }
   for (Iterator e = QTL.iterator(); e.hasNext(); ) {
     AbstractLoci al = (AbstractLoci) e.next();
     int chr = al.getChr()[0];
     double loc = al.getLocation()[0];
     ArrayList chromosome = (ArrayList) chromosomes.get(chr);
     for (int j = 0; j < chromosome.size(); j++) {
       double loc_map = ((Double) chromosome.get(j)).doubleValue();
       if (loc < loc_map) {
         chromosome.add(j, new Double(loc));
         al.setLoci(j);
         break;
       }
     }
   }
   distance = new double[chromosomes.size()][];
   for (int i = 0; i < chromosomes.size(); i++) {
     ArrayList chromosome = (ArrayList) chromosomes.get(i);
     distance[i] = new double[chromosome.size()];
     for (int j = 0; j < chromosome.size(); j++) {
       distance[i][j] = ((Double) chromosome.get(j)).doubleValue();
     }
   }
 }