Line 3, 19, 37, 41, 321, 335, 344: Call peaks? You should rename it to footprints_extraction. Line 8 - 17: Are these the only uses or are there more? Line 32 - 41, 62, 66, 88, 96, 249, 280: First letter in a sentence (e.g. in help message) should be uppercase. Line 57: " We have no possibility to check if the format of the files is right here though". I would remove this comment. Line 62, 66, 88, 96, 280: Add an "Error:" or "ERROR:" in front of the message? You can do this by using logger.error() Line 80: Casting to int is only possible if the String contains numbers. You should check if both values (bed_line_array[1], bed_line_array[2]) are numbers before casting them and checking if bed_line_array[2] > bed_line_array[1]. I would also remove the '=' if start and end are the same value something would seem not quite right. Line 104: Why <2? Line 344: Instead of "call_peaks needed %s minutes to generate the output", I would write something like "It took footprint_extraction.py %s minutes to generate the output" Overall: - not quite sure if this is an issue but I prefer writing the inline documentation before the code line and as a separate line. For example: ``` scores_in_peak = np.nan_to_num(np.array(list(bw_open.values(chromosom, peak_start, peak_end)))) #save the scores to an array ``` to ``` #save the scores to an array scores_in_peak = np.nan_to_num(np.array(list(bw_open.values(chromosom, peak_start, peak_end)))) ``` - I have not lookedinto the functionallity of it yet.