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(); } } }