@Override
protected void makeColumns(Run run, Partition p, PoolableElementView dilution, String userName, String[] output) {
output[0] = p.getSequencerPartitionContainer().getIdentificationBarcode();
output[1] = p.getPartitionNumber().toString();
output[2] = String.format("%d_%s_%s", p.getSequencerPartitionContainer().getId(), dilution.getLibraryName(),
dilution.getDilutionName());
output[3] = dilution.getSampleAlias().replaceAll("\\s", "");
output[4] = dilution.getIndices().stream()
.sorted(Comparator.comparingInt(Index::getPosition))
.map(i -> {
if (run.getSequencer().getInstrumentModel().getDataManglingPolicy() == InstrumentDataManglingPolicy.I5_RC
&& i.getPosition() == 2) {
return reverseComplement(i.getSequence());
}
return i.getSequence();
})
.collect(Collectors.joining("-"));
output[5] = dilution.getLibraryDescription();
output[6] = "N";
output[7] = "NA";
output[8] = userName;
}