diff --git a/frag_package/fragmentation_v2.py b/frag_package/fragmentation_v2.py
index eec7aff7bdae5377627d4de9d2ce68da8ab27d57..a27a493134d37c0e068f2ad4d36f70548111196c 100644
--- a/frag_package/fragmentation_v2.py
+++ b/frag_package/fragmentation_v2.py
@@ -63,14 +63,21 @@ def extant_file(x):
         raise argparse.ArgumentTypeError("{0} does not exist".format(x))
     return x
 
+# found on https://stackoverflow.com/questions/14117415/in-python-using-argparse-allow-only-positive-integers
+def check_positive(value):
+    ivalue = int(value)
+    if ivalue <= 0:
+        raise argparse.ArgumentTypeError("%s is an invalid positive int value" % value)
+    return ivalue
+
 # Parse command-line arguments
 def parse_arguments():
     parser = argparse.ArgumentParser(description="Takes as input FASTA file of cDNA sequences, a CSV with sequence counts, and mean and std. dev. of fragment lengths. Outputs most terminal fragment (within desired length range) for each sequence.")
-    
+
     parser.add_argument('--fasta', required=True, type=extant_file, help="FASTA file with cDNA sequences")
     parser.add_argument('--counts', required=True, type=extant_file, help="CSV file with sequence counts")
-    parser.add_argument('--mean', required = False, default = 10, type = int, help="Mean fragment length (default: 10)")
-    parser.add_argument('--std', required = False, default = 1, type = int, help="Standard deviation fragment length (defafult: 1)")
+    parser.add_argument('--mean', required = False, default = 10, type = check_positive, help="Mean fragment length (default: 10)")
+    parser.add_argument('--std', required = False, default = 1, type = check_positive, help="Standard deviation fragment length (defafult: 1)")
     args = parser.parse_args()
     
     return args.fasta, args.counts, args.mean, args.std