Ejemplo n.º 1
0
  public DataBag exec(Tuple input) throws IOException {

    DataBag output = DefaultBagFactory.getInstance().newDefaultBag();

    if (input == null || input.size() == 0) return null;
    try {
      String seq = ((String) input.get(0));
      // byte[] ba  = ((DataByteArray) input.get(0)).get();
      int distance = (Integer) input.get(1);
      // int seqLength = SequenceString.numBases(ba);
      // String seq = SequenceString.byteArrayToSequence(ba);

      Set<String> neighbors = MetaUtils.generateAllNeighborsWithinDistance(seq, distance);
      for (String n : neighbors) {
        Tuple t = DefaultTupleFactory.getInstance().newTuple(1);
        t.set(0, n);
        output.add(t);
      }
    } catch (Exception e) {
      System.err.println("HammingDistance: failed to process input; error - " + e.getMessage());
      return null;
    }
    return output;
  }