diff --git a/src/core/project.cpp b/src/core/project.cpp
index 743a3ceb576aca19f4b0e1a75afcb7b5a034ba80..834e30e3065e093cfe6c2c3df75726d25ca4ce8c 100644
--- a/src/core/project.cpp
+++ b/src/core/project.cpp
@@ -84,6 +84,10 @@ ProteinStore & Project::getProteinStore() {
     return _protein_store;
 }
 
+const ProteinStore & Project::getProteinStore() const {
+    return _protein_store;
+}
+
 IdentificationDataSourceStore & Project::getIdentificationDataSourceStore() {
     return _identification_data_source_store;
 }
diff --git a/src/core/project.h b/src/core/project.h
index 52c8077bee15737ad16aabd2a904d274bd2ca714..78c0067a54819d78eb1ec88ecda3a8d723b3c271 100644
--- a/src/core/project.h
+++ b/src/core/project.h
@@ -49,6 +49,7 @@ public:
     ProjectSp makeProjectSp() const;
     ProteinStore & getProteinStore();
     PeptideStore & getPeptideStore();
+    const ProteinStore & getProteinStore() const;
     MsRunStore & getMsRunStore();
     const MsRunStore & getMsRunStore() const;
     FastaFileStore & getFastaFileStore();
diff --git a/src/files/fastafile.cpp b/src/files/fastafile.cpp
index f4eb6876d28a2fe543f4b6844dce4e6d10e140f1..e075c7ab076e4aa092fa084c9881d4304bbebab5 100644
--- a/src/files/fastafile.cpp
+++ b/src/files/fastafile.cpp
@@ -92,6 +92,7 @@ void FastaFile::setContaminants(ProteinStore & protein_store) const {
         if (fasta_file.open(QIODevice::ReadOnly)) {
             reader.parse(&fasta_file);
             fasta_file.close();
+            protein_store.addContaminantFastaFile(*this);
         }
         else {
             qDebug() << "FastaFile::setContaminants "<< _fasta_source.absoluteFilePath() << " not open";
@@ -113,6 +114,7 @@ void FastaFile::setDecoys(ProteinStore & protein_store) const {
         if (fasta_file.open(QIODevice::ReadOnly)) {
             reader.parse(&fasta_file);
             fasta_file.close();
+            protein_store.addDecoyFastaFile(*this);
         }
         else {
             qDebug() << "FastaFile::setDecoys "<< _fasta_source.absoluteFilePath() << " not open";
diff --git a/src/output/ods/infosheet.cpp b/src/output/ods/infosheet.cpp
index 038e9b62a55319948bd1ad2bfd33f2bf5e098936..ce22bd2c2ce44ea0548d8b937a395175dd6b8bff 100644
--- a/src/output/ods/infosheet.cpp
+++ b/src/output/ods/infosheet.cpp
@@ -67,5 +67,35 @@ InfoSheet::InfoSheet (OdsExport * p_ods_export, CalcWriterInterface * p_writer,
     p_writer->writeCell("Maximum protein Evalue");
     p_writer->writeCell(filter_param.getFilterProteinEvalue());
     p_writer->writeLine();
+
+
+    p_writer->writeLine();
+    p_writer->writeLine();
+
+    std::vector<FastaFile> conta_file_list = p_project->getProteinStore().getContaminantFastaFileList();
+    if (conta_file_list.size() == 0) {
+        p_writer->writeCell("contaminant pattern");
+        p_writer->writeCell(p_project->getProteinStore().getRegexpContaminant().pattern());
+    }
+    else {
+        p_writer->writeCell("contaminant fasta files");
+        for (FastaFile & fasta_file : conta_file_list) {
+            p_writer->writeCell(fasta_file.getAbsoluteFilePath());
+        }
+
+    }
+    std::vector<FastaFile> decoy_file_list = p_project->getProteinStore().getDecoyFastaFileList();
+    if (conta_file_list.size() == 0) {
+        p_writer->writeCell("decoy pattern");
+        p_writer->writeCell(p_project->getProteinStore().getRegexpDecoy().pattern());
+    }
+    else {
+        p_writer->writeCell("decoy fasta files");
+        for (FastaFile & fasta_file : decoy_file_list) {
+            p_writer->writeCell(fasta_file.getAbsoluteFilePath());
+        }
+
+    }
+
 }
 
diff --git a/src/utils/proteinstore.cpp b/src/utils/proteinstore.cpp
index 6a6a9666cdc52aba6b99f1a820b65a5be5bb06e4..733835e0c9fa9835abaa23c53f3975d3b3edb674 100644
--- a/src/utils/proteinstore.cpp
+++ b/src/utils/proteinstore.cpp
@@ -28,6 +28,7 @@
 ******************************************************************************/
 
 #include "proteinstore.h"
+#include "../files/fastafile.h"
 #include <QDebug>
 #include <QSettings>
 
@@ -46,6 +47,13 @@ ProteinStore::~ProteinStore()
 {
 
 }
+
+    const std::vector<FastaFile> & ProteinStore::getContaminantFastaFileList() const {
+        return _fasta_contaminant_list;
+    }
+    const std::vector<FastaFile> & ProteinStore::getDecoyFastaFileList() const {
+        return _fasta_decoy_list;
+    }
 QRegExp ProteinStore::getRegexpContaminant() const {
     return (_regexp_contaminant);
 }
@@ -73,16 +81,26 @@ void ProteinStore::setRegexpDecoyPattern(const QString & pattern) {
 }
 
 void ProteinStore::clearDecoys() {
+    _fasta_decoy_list.clear();
     for  (std::pair<const QString, ProteinXtpSp> & acc_protein :_map_accession_protein_list) {
         acc_protein.second.get()->setIsDecoy(false);
     }
 }
 void ProteinStore::clearContaminants() {
+    _fasta_contaminant_list.clear();
     for  (std::pair<const QString, ProteinXtpSp> & acc_protein :_map_accession_protein_list) {
         acc_protein.second.get()->setIsContaminant(false);
     }
 }
 
+void ProteinStore::addContaminantFastaFile(const FastaFile & fasta_file) {
+    _fasta_contaminant_list.push_back(fasta_file);
+}
+void ProteinStore::addDecoyFastaFile(const FastaFile & fasta_file) {
+    _fasta_decoy_list.push_back(fasta_file);
+}
+
+
 void ProteinStore::setDecoyAccession(QString accession) {
     std::map<QString, ProteinXtpSp>::iterator it =  _map_accession_protein_list.find(accession);
     if (it != _map_accession_protein_list.end()) {
diff --git a/src/utils/proteinstore.h b/src/utils/proteinstore.h
index f0c50fb82b6183dae16301801a8e26ac944fa9b4..454904b4ee4597277d970a049c185876396391f8 100644
--- a/src/utils/proteinstore.h
+++ b/src/utils/proteinstore.h
@@ -37,6 +37,9 @@
 #include <QString>
 #include <QRegExp>
 #include <map>
+#include <vector>
+
+class FastaFile;
 
 class ProteinStore
 {
@@ -54,6 +57,13 @@ public:
     
     QRegExp getRegexpContaminant() const;
     
+    void addContaminantFastaFile(const FastaFile & fasta_file);
+    void addDecoyFastaFile(const FastaFile & fasta_file);
+    
+    const std::vector<FastaFile> & getContaminantFastaFileList() const;
+    const std::vector<FastaFile> & getDecoyFastaFileList() const;
+    
+    
     void clearContaminants();
     void clearDecoys();
     
@@ -65,6 +75,12 @@ private :
 private :
   
     std::map<QString, ProteinXtpSp> _map_accession_protein_list;
+    
+    /** \brief decoy Fasta file liste */
+    std::vector<FastaFile> _fasta_decoy_list;
+    /** \brief contaminant Fasta file liste */
+    std::vector<FastaFile> _fasta_contaminant_list;
+    
     /** \brief recognize decoy accession */
     QRegExp _regexp_decoy;
     /** \brief recognize contaminant accession */