diff --git a/accuracy_estimate/__init__.py b/accuracy_estimate/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/accuracy_estimate/accuracy_estimate.py b/accuracy_estimate/accuracy_estimate.py
new file mode 100644
index 0000000000000000000000000000000000000000..58915707fefd1adc51c0b1e56dbe11228e04215f
--- /dev/null
+++ b/accuracy_estimate/accuracy_estimate.py
@@ -0,0 +1,45 @@
+class AccuracyEstimate:
+
+    # Knowing the relative expression levels of genes in the input and calculated from the simulation data, summarize the agreement.
+    # Input: 1. Csv-file with input values
+    #        2. Csv-file with mean and variance obtained from the simulation
+    # Output: scatter plot of initial vs inferred (mean and error bars) counts for all genes
+
+    def accuracy_estimate(input_file, simulation_file):
+
+        """Determine the accuracy of the simulated values regarding the input values.
+
+            Knowing the relative expression levels of genes in the input and calculated from the simulation data, summarize the agreement.
+
+            Args:
+                input_file: Csv-file with input values
+                simulation_file: Csv-file with mean and variance obtained from the simulation
+
+            Returns:
+                Scatter plot of initial vs inferred counts for all genes with error bars
+
+            """
+
+        import pandas as pd
+        import numpy as np
+        import matplotlib.pyplot as plt
+
+        # input_file = "input.csv"
+        # simulation_file = "mean_variance.csv"
+
+        df1 = pd.read_csv(input_file)
+        df2 = pd.read_csv(simulation_file)
+
+        # Plot mean and error bars
+
+        x = df1['Count']
+        y = df2['Mean']
+        yerr = df2['Variance']
+
+        fig = plt.figure()
+        ax = fig.add_subplot(1, 1, 1)
+        ax.scatter(x, y, vmin=0, vmax=100)
+        ax.errorbar(x, y, yerr=yerr, ecolor="r", fmt="bo", capsize=5)
+        ax.set_title("Scatter plot of initial vs inferred counts for all genes")
+
+        plt.show()
\ No newline at end of file
diff --git a/accuracy_estimate/cli.py b/accuracy_estimate/cli.py
new file mode 100644
index 0000000000000000000000000000000000000000..a56e60ad30625a5df2919a9bd6509abebadb25f1
--- /dev/null
+++ b/accuracy_estimate/cli.py
@@ -0,0 +1,14 @@
+if __name__ == '__main__':
+    import accuracy_estimate
+    import argparse
+
+    parser = argparse.ArgumentParser(description='Do something')
+    parser.add_argument('input_file', metavar='FILE', type=str, help='Enter the path of the input file')
+    parser.add_argument('simulation_file', metavar='FILE', type=str, help='Enter the path of the simulation file')
+
+    args = parser.parse_args()
+
+    input_file = args.input_file
+    simulation_file = args.simulation_file
+
+    accuracy_estimate.AccuracyEstimate.accuracy_estimate(input_file, simulation_file)
diff --git a/accuracy_estimate/input.csv b/accuracy_estimate/input.csv
new file mode 100644
index 0000000000000000000000000000000000000000..fc646624af8b1ce346669ef478a22c6529757505
--- /dev/null
+++ b/accuracy_estimate/input.csv
@@ -0,0 +1,4 @@
+GeneID,Count
+gene1,125
+gene2,1278
+gene3,659
\ No newline at end of file
diff --git a/accuracy_estimate/mean_variance.csv b/accuracy_estimate/mean_variance.csv
new file mode 100644
index 0000000000000000000000000000000000000000..64840112613d01ebc6cf1c06927e7484c373fff7
--- /dev/null
+++ b/accuracy_estimate/mean_variance.csv
@@ -0,0 +1,4 @@
+GeneID,Mean,Variance
+gene1,129,35
+gene2,1798,97
+gene3,695,68
\ No newline at end of file