diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a06b7a6debe656435c7be37a8cc056bda5b941ce
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,25 @@
+backports
+backports.functools_lru_cache
+backports_abc
+cycler
+libwebp-base
+lz4-c
+matplotlib
+numpy
+openssl
+pandas
+patsy
+pillow
+pip
+pyparsing
+python3.6
+python-dateutil
+python_abi
+pytz
+readline
+reportlab
+scikit-learn
+scipy
+setuptools
+statsmodels
+tk
\ No newline at end of file
diff --git a/setup.cfg b/setup.cfg
index 98c4b582c569fbe1126d8d0cbe66e0202a0a474a..5ab250f58e558274234932761e131074cb2c725c 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -1,18 +1,20 @@
 [metadata]
-name = phageTerm
-version = 4.1
+name = phageTermVirome
+version = 2.0
 author = Marc Monot
 author_email = marc.monot@pasteur.fr
 description = Using sequencing bias to identify phages terminii and phage genome packaging.
 long_description = file: README.txt
-long_description_content_type = text
+long_description_content_type = text/plain
 url = https://gitlab.pasteur.fr/vlegrand/ptv
 project_urls =
     Bug Tracker = https://gitlab.pasteur.fr/vlegrand/ptv/-/issues
 classifiers =
     Programming Language :: Python :: 3
-    License :: OSI Approved :: GNU AFFERO GENERAL PUBLIC LICENSE, Version 3, 19 November 2007
+    License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
     Operating System :: OS Independent
+    Development Status :: 5 - Production/Stable
+platforms=any
 
 [options]
 package_dir =
@@ -21,4 +23,47 @@ packages = find:
 python_requires = >=3.6
 
 [options.packages.find]
-where = .
\ No newline at end of file
+where = .
+
+install_requires =
+    backports
+    backports.functools_lru_cache
+    backports_abc
+    cycler
+    libwebp-base
+    lz4-c
+    matplotlib
+    numpy
+    openssl
+    pandas
+    patsy
+    pillow
+    pip
+    pyparsing
+    python3.6
+    python-dateutil
+    python_abi
+    pytz
+    readline
+    reportlab
+    scikit-learn
+    scipy
+    setuptools
+    statsmodels
+    tk
+
+[options.package_data]=
+    test-data=test-data/COS-3.500.fastq,test-data/COS-3.fasta,test-data/COS-3.fastq,test-data/COS-5.fasta
+              test-data/COS-5.fastq,test-data/DTR-long.fasta,test-data/DTR-long.fastq,test-data/DTR-short.fasta
+              test-data/DTR-short.fastq,test-data/Headful.fasta,test-data/Headful.fastq,test-data/Mu-like.fasta
+              test-data/Mu-like_R1.fastq,test-data/Mu-like_R2.fastq,test-data/Virome.fasta
+              test-data/Virome.fastq,test-data/chk_0_2_10_0.npz
+    data-virome=data-virome/Contigs_30min.fasta,data-virome/SRR4295172_2_div6.fastq,data-virome/SRR4295172_1_div6.fastq
+    unit-tests-data=unit-tests/data/G-janv_S2_R1_001.fastq.500,unit-tests/data/G-janv_S2_R2_001.fastq.500
+                    unit-tests/data/chk_0_0_38_863.npz,unit-tests/data/coverage0_0.npz,unit-tests/data/seq1_2_3.fasta
+    non-regression-tests-data=non-regression-tests/data/HK97_assembly.fasta,non-regression-tests/data/Lambda_assembly.fasta
+                              non-regression-tests/data/P1_assembly.fasta,non-regression-tests/data/R1_1M_READS_EACH_PHAGE(1).fastq.4
+                              non-regression-tests/data/R1_1M_READS_EACH_PHAGE.fastq.20,non-regression-tests/data/R2_1M_READS_EACH_PHAGE(1).fastq.4
+                              non-regression-tests/data/R2_1M_READS_EACH_PHAGE.fastq.20,non-regression-tests/data/Staph1N_assembly.fasta
+                              non-regression-tests/data/T4_assembly.fasta,non-regression-tests/data/T7_assembly.fasta
+                              non-regression-tests/data/virome_6seq.fa
diff --git a/setup.py b/setup.py
new file mode 100644
index 0000000000000000000000000000000000000000..0407ad7928fd4da073f06236c39237e1abee34e6
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,17 @@
+"""A setuptools based setup module.
+See:
+https://packaging.python.org/guides/distributing-packages-using-setuptools/
+https://github.com/pypa/sampleproject
+"""
+
+# Always prefer setuptools over distutils
+from setuptools import setup, find_packages
+import pathlib
+
+here = pathlib.Path(__file__).parent.resolve()
+
+# Get the long description from the README file
+# long_description = (here / "README.md").read_text(encoding="utf-8")
+#long_description = (here / "README.txt").read_text(encoding="utf-8")
+
+setup()
\ No newline at end of file