diff --git a/src/fr/inra/pappso/xtandempipeline/class_msms/Match.java b/src/fr/inra/pappso/xtandempipeline/class_msms/Match.java index f83381c21c6e13b00ad1f06c46296ae6f9545f92..399633ac583da9fdc6798a0ca264ef0040b568ca 100644 --- a/src/fr/inra/pappso/xtandempipeline/class_msms/Match.java +++ b/src/fr/inra/pappso/xtandempipeline/class_msms/Match.java @@ -185,6 +185,20 @@ public class Match implements Comparable<Match>, GrpProtMatch { return value; } + public double getEmPAI() { + // compute emPAI, Ishihama 2006 + double value = Math.pow(10.0, getPAI()) - 1; + + return value; + } + + public double getEmPAIbyMsRun(MsRun samp) throws MSMSException { + // compute emPAI, Ishihama 2006 + double value = Math.pow(10.0, getPAIbyMsRun(samp)) - 1; + + return value; + } + public int get_unique_valid_peptide_number_to(MsRun samp) throws MSMSException { HashSet<String> sequence = new HashSet<String>(); diff --git a/src/fr/inra/pappso/xtandempipeline/grouping/HashSampleScanSetProt.java b/src/fr/inra/pappso/xtandempipeline/grouping/HashSampleScanSetProt.java index 7ed3320719ab3bc362da11eebe9e837173dfe7d8..c0327da98a1bc4b5b9937e4f172691d846148f42 100644 --- a/src/fr/inra/pappso/xtandempipeline/grouping/HashSampleScanSetProt.java +++ b/src/fr/inra/pappso/xtandempipeline/grouping/HashSampleScanSetProt.java @@ -5,6 +5,7 @@ import java.util.HashSet; import org.apache.log4j.Logger; import fr.inra.pappso.xtandempipeline.MsException.MSMSException; +import fr.inra.pappso.xtandempipeline.class_msms.MsRun; import fr.inra.pappso.xtandempipeline.grouping.interfaces.GrpMsSample; import fr.inra.pappso.xtandempipeline.grouping.interfaces.GrpPeptide; import fr.inra.pappso.xtandempipeline.grouping.interfaces.GrpProtMatch; @@ -178,4 +179,17 @@ public class HashSampleScanSetProt extends HashSampleScanSet { return value; } + public double getEmPAI() { + // compute emPAI, Ishihama 2006 + double value = Math.pow(10.0, getPAI()) - 1; + + return value; + } + + public double getEmPAIbyMsRun(MsRun samp) throws MSMSException { + // compute emPAI, Ishihama 2006 + double value = Math.pow(10.0, getPAIbyMsRun(samp)) - 1; + + return value; + } } diff --git a/src/fr/inra/pappso/xtandempipeline/output/SpreadSheets/OdsComparPaiOutput.java b/src/fr/inra/pappso/xtandempipeline/output/SpreadSheets/OdsComparPaiOutput.java index 031e8cf03d2191c10de4ef10ef34ef9c0eb1c907..5334808a24941936ee1f9cfe6a719331fab5aae5 100644 --- a/src/fr/inra/pappso/xtandempipeline/output/SpreadSheets/OdsComparPaiOutput.java +++ b/src/fr/inra/pappso/xtandempipeline/output/SpreadSheets/OdsComparPaiOutput.java @@ -35,7 +35,6 @@ import fr.inra.pappso.libodsstream.OdsDocWriter; import fr.inra.pappso.xtandempipeline.Utils; import fr.inra.pappso.xtandempipeline.MsException.MSMSException; import fr.inra.pappso.xtandempipeline.class_msms.Identification; -import fr.inra.pappso.xtandempipeline.class_msms.Match; import fr.inra.pappso.xtandempipeline.class_msms.MsRun; import fr.inra.pappso.xtandempipeline.class_msms.MsRunSet; import fr.inra.pappso.xtandempipeline.class_msms.Protein; @@ -109,11 +108,11 @@ public class OdsComparPaiOutput { // 20121213_Cueff_065_1_C01_Xylo1 20121213_Cueff_065_1_C02_Xylo2 odsTable.writeLine(); - odsTable.writeCell("Group ID"); - odsTable.writeCell("Sub-group ID"); - odsTable.writeCell("Top Protein ID"); - odsTable.writeCell("Top Protein Description"); - odsTable.writeCell("Number of proteins"); + odsTable.writeEmptyCell(); + odsTable.writeEmptyCell(); + odsTable.writeEmptyCell(); + odsTable.writeEmptyCell(); + odsTable.writeEmptyCell(); MsRunSet msSampleList = ident.getMsRunSet(); msRunOrderedList = new TreeMap<String, MsRun>(); @@ -122,6 +121,19 @@ public class OdsComparPaiOutput { } for (String msSampleName : msRunOrderedList.keySet()) { odsTable.writeCell(msSampleName); + odsTable.writeEmptyCell(); + } + + odsTable.writeLine(); + odsTable.writeCell("Group ID"); + odsTable.writeCell("Sub-group ID"); + odsTable.writeCell("Top Protein ID"); + odsTable.writeCell("Top Protein Description"); + odsTable.writeCell("Number of proteins"); + + for (MsRun msSample : msSampleList) { + odsTable.writeCell("PAI"); + odsTable.writeCell("emPAI"); } } catch (XMLStreamException e) { @@ -168,8 +180,8 @@ public class OdsComparPaiOutput { try { logger.debug("writeOneSubGroup begin " + group); - Match topMatch = (Match) sg.getHashSampleScanSetProtList().get(0) - .getGrpProtMatch(); + // Match topMatch = (Match) sg.getHashSampleScanSetProtList().get(0) + // .getGrpProtMatch(); odsTable.writeLine(); @@ -210,6 +222,21 @@ public class OdsComparPaiOutput { * * // S.append("\t"); } */ + value = sg + .getHashSampleScanSetProtList() + .get(0) + .getEmPAIbyMsRun( + this.msRunOrderedList.get(msSampleName)); + + if (value > 0) { + odsTable.writeCell(value); + // S.append("\t" + value); + } else { + odsTable.writeCell(""); + + // S.append("\t"); + } + } logger.debug("writeOneSubGroup end"); diff --git a/src/fr/inra/pappso/xtandempipeline/output/SpreadSheets/OdsProteinOutput.java b/src/fr/inra/pappso/xtandempipeline/output/SpreadSheets/OdsProteinOutput.java index 935e05643a181d8e9aa61d31243065b1b0f8da82..741f1d01299384f19971521d05bb145f02bfe089 100644 --- a/src/fr/inra/pappso/xtandempipeline/output/SpreadSheets/OdsProteinOutput.java +++ b/src/fr/inra/pappso/xtandempipeline/output/SpreadSheets/OdsProteinOutput.java @@ -117,6 +117,7 @@ public class OdsProteinOutput { odsTable.writeCell("Specific uniques"); odsTable.writeCell("Uniques"); odsTable.writeCell("PAI"); + odsTable.writeCell("emPAI"); odsTable.writeCell("Sub-group proteins"); odsTable.writeCell("number of MS samples"); @@ -208,6 +209,7 @@ public class OdsProteinOutput { * top.get_spectra_numbers_to(sample) / * top.get_protein_match().get_PAI_count())); */ + odsTable.writeCell(hashProt.getEmPAI()); // odsTable.writeCell("Redundancy"); odsTable.writeCell(numberOfProtInSg); diff --git a/src/fr/inra/pappso/xtandempipeline/sax_parse/save_project.java b/src/fr/inra/pappso/xtandempipeline/sax_parse/save_project.java index 32e421cef90d8cefb7ba2770070a77e6543c6ea7..c65e96e2f254e1947993b918ca9e6d3afed03b68 100644 --- a/src/fr/inra/pappso/xtandempipeline/sax_parse/save_project.java +++ b/src/fr/inra/pappso/xtandempipeline/sax_parse/save_project.java @@ -141,6 +141,7 @@ public class save_project { writer.writeAttribute("validate", "" + m.isIsvalidate()); writer.writeAttribute("PAI", "" + m.getPAI()); + writer.writeAttribute("emPAI", "" + m.getEmPAI()); writer.writeStartElement("protein"); writer.writeAttribute("peptide_number", ""