content: /*
   * The MIT License (MIT)
   *
   * Copyright (c) 2011-2020 Broad Institute, Aiden Lab, Rice University, Baylor College of Medicine
   *
   * Permission is hereby granted, free of charge, to any person obtaining a copy
   * of this software and associated documentation files (the "Software"), to deal
   * in the Software without restriction, including without limitation the rights
   * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
   * copies of the Software, and to permit persons to whom the Software is
   * furnished to do so, subject to the following conditions:
   *
   * The above copyright notice and this permission notice shall be included in
   * all copies or substantial portions of the Software.
   *
   *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
   *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
   *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
   *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
   *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
   *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
   *  THE SOFTWARE.
   */
  
  package juicebox;
  
  /**
   * TODO These should probably be deleted, but keeping them until respective author decides/refactors
   * Created by muhammadsaadshamim on 8/3/15.
   */
  class Unused {
  /*
      private static void writeMergedNoDupsFromTimeSeq(String seqPath, String newPath) {
          List<Integer[]> listPositions = new ArrayList<>();
          try (BufferedReader br = new BufferedReader(new FileReader(seqPath))) {
              for (String line; (line = br.readLine()) != null; ) {
                  String[] parts = line.split(",");
                  listPositions.add(new Integer[]{Integer.parseInt(parts[0]), Integer.parseInt(parts[1])});
              }
          } catch (Exception ignored) {
              ignored.printStackTrace();
          }
  
  
          try {
              PrintWriter p0 = new PrintWriter(new FileWriter(newPath));
              for (int i = 0; i < listPositions.size(); i++) {
                  Integer[] pos_xy_1 = listPositions.get(i);
                  for (int j = i; j < listPositions.size(); j++) {
                      Integer[] pos_xy_2 = listPositions.get(j);
                      double value = 1. / Math.max(1, Math.sqrt((pos_xy_1[0] - pos_xy_2[0]) ^ 2 + (pos_xy_1[1] - pos_xy_2[1]) ^ 2));
                      float conv_val = (float) value;
                      if (!Float.isNaN(conv_val) && conv_val > 0) {
                          p0.println("0 art " + i + " 0 16 art " + j + " 1 " + conv_val);
                      }
                  }
              }
              p0.close();
          } catch (IOException ignored) {
              ignored.printStackTrace();
          }
      }
  
              Iterator<ContactRecord> iter = zd.getNewContactRecordIterator();
              while (iter.hasNext()) {
                  ContactRecord cr = iter.next();
                  final int x = cr.getBinX();
                  final int y = cr.getBinY();
                  final float counts = cr.getCounts();
  
                  if(!indexToRegion.containsKey(x)){
                      indexToRegion.put(x, new LocalGenomeRegion(x));
                  }
  
                  if(!indexToRegion.containsKey(y)){
                      indexToRegion.put(y, new LocalGenomeRegion(y));
                  }
  
                  if(x != y){
                      indexToRegion.get(x).addNeighbor(y, counts);
                      indexToRegion.get(y).addNeighbor(x, counts);
                  }
              }
  
      private void loadNormalizationVector(File file, HiC hic) throws IOException {
          BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(file)), HiCGlobals.bufferSize);
          String nextLine = reader.readLine();
          String[] tokens = Globals.singleTabMultiSpacePattern.split(nextLine);
          int resolution = Integer.valueOf(tokens[0]);
          int vectorLength = Integer.valueOf(tokens[1]);
          int expectedLength = Integer.valueOf(tokens[2]);
          ChromosomeHandler chromosomeHandler = hic.getChromosomeHandler();
  
          double[] nv = new double[vectorLength];
          double[] exp = new double[expectedLength];
          for (int i = 0; i < nv.length; i++) {
              nextLine = reader.readLine();
              tokens = Globals.singleTabMultiSpacePattern.split(nextLine);
              nv[i] = Double.valueOf(tokens[0]);
          }
          for (int i = 0; i < exp.length; i++) {
              nextLine = reader.readLine();
              tokens = Globals.singleTabMultiSpacePattern.split(nextLine);
              exp[i] = Double.valueOf(tokens[0]);
          }
  
          int location1 = 0;
          for (Chromosome c1 : chromosomeHandler.getChromosomeArrayWithoutAllByAll()) {
              int chrBinned = c1.getLength() / resolution + 1;
              double[] chrNV = new double[chrBinned];
              for (int i = 0; i < chrNV.length; i++) {
                  chrNV[i] = nv[location1];
                  location1++;
              }
  
              //hic.getDataset().putCustomNormalizationVector(c1.getIndex(), resolution, chrNV, exp);
          }
      }
      */
  }
  