code: public static ScoreFunction illumina() {
          return new ScoreFunction() {
              @Override
              public double evaluate(final double relativePosition) {
                  // TODO: this could use improvement; perhaps re-use quality profiles from ART
                  if (relativePosition < 0.05d) {
                      return 14400.0d * (relativePosition * relativePosition);
                  }
                  else if (relativePosition < 0.8d) {
                      return 36.0d;
                  }
                  else {
                      return 22600.0d * Math.pow(relativePosition - 1.0d, 4.0d);
                  }
              }
          };
      }
docs: Illumina positional score function.
  
  @return the Illumina positional score function