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", ""