processedData = {
const result = [];
rawData.forEach(d => {
result.push({sample: d.sample, type: "dot", off: 1, db: "REF", FDR: "0.001", engine: "X!Tandem", rate: d["ID rate REF X!Tandem 0.1% FDR"]});
result.push({sample: d.sample, type: "dot", off: 1, db: "REF", FDR: "0.001", engine: "MS2Rescore", rate: d["ID rate REF MS2Rescore 0.1% FDR"]});
result.push({sample: d.sample, type: "line", off: 1, db: "REF", FDR: "0.001", x: d["ID rate REF X!Tandem 0.1% FDR"], ms: d["ID rate REF MS2Rescore 0.1% FDR"]});
result.push({sample: d.sample, type: "dot", off: 2, db: "REF", FDR: "0.01", engine: "X!Tandem", rate: d["ID rate REF X!Tandem 1% FDR"]});
result.push({sample: d.sample, type: "dot", off: 2, db: "REF", FDR: "0.01", engine: "MS2Rescore", rate: d["ID rate REF MS2Rescore 1% FDR"]});
result.push({sample: d.sample, type: "line", off: 2, db: "REF", FDR: "0.01", x: d["ID rate REF X!Tandem 1% FDR"], ms: d["ID rate REF MS2Rescore 1% FDR"]});
result.push({sample: d.sample, type: "dot", off: 3, db: "MO", FDR: "0.001", engine: "X!Tandem", rate: d["ID rate MO X!Tandem 0.1% FDR"]});
result.push({sample: d.sample, type: "dot", off: 3, db: "MO", FDR: "0.001", engine: "MS2Rescore", rate: d["ID rate MO MS2Rescore 0.1% FDR"]});
result.push({sample: d.sample, type: "line", off: 3, db: "MO", FDR: "0.001", x: d["ID rate MO X!Tandem 0.1% FDR"], ms: d["ID rate MO MS2Rescore 0.1% FDR"]});
result.push({sample: d.sample, type: "dot", off: 4, db: "MO", FDR: "0.01", engine: "X!Tandem", rate: d["ID rate MO X!Tandem 1% FDR"]});
result.push({sample: d.sample, type: "dot", off: 4, db: "MO", FDR: "0.01", engine: "MS2Rescore", rate: d["ID rate MO MS2Rescore 1% FDR"]});
result.push({sample: d.sample, type: "line", off: 4, db: "MO", FDR: "0.01", x: d["ID rate MO X!Tandem 1% FDR"], ms: d["ID rate MO MS2Rescore 1% FDR"]});
});
return result;
}