# Path: pergola/intervals.py
# class IntData(object):
#     def __init__(self, path, map_dict, header=True, **kwargs):
#     def _check_delimiter (self, path, delimiter):
#     def _reader_data(self):
#     def _pandas_df_reader(self, df):
#     def _set_fields_b(self, fields=None):
#     def _set_fields_g (self, map_dict):
#     def _simple_read(self):
#     def get_field_items(self, data, field="data_types", default=None):
#     def read(self, fields=None, relative_coord=False, intervals=False, int_step=None, fields2rel=None, multiply_t=None,
#              **kwargs):
#     def _min_max(self, list_data, f_start="start", f_end="end"):
#     def _time2rel_time(self, i_fields):
#     def _multiply_values(self, i_fields, factor=1):
#     def _create_int(self, start_int, int_step=None):
#     def _create_int_add_integ(self, start_int, integer=1):
#     def __del__(self):
# def is_number(var):
# def num(s):
# 
# Path: pergola/mapping.py
# class MappingInfo():
#     def __init__(self, path, **kwargs):
#     def _correspondence_from_config(self, path):
#     def _tab_config(self, file_tab):
#     def _mapping_config(self, file_map):
#     def write(self, indent=0):
# def check_path(path):
# def write_chr(self, mode="w", path_w=None, min_c=None, max_c=None):
# def write_chr_sizes(self, mode="w", path_w=None, file_n=None, min_c=None, max_c=None):
# def write_cytoband(end, start=0, delta=43200, start_phase="light", mode="w", path_w=None, lab_bed=True, track_line=True):
# def write_period_seq (end, start=0, delta=43200, tag="day", mode="w", path_w=None, name_file="period_seq", lab_bed=True, track_line=True):
# 
# Path: pergola/parsers.py
# PATH = abspath(split(realpath(__file__))[0])
# def parse_num_range(string):
# def read_track_actions (tracks, track_action = "split_all"):
# def read_colors (path_color_file):


from pergola  import intervals
from pergola  import mapping
from argparse import ArgumentParser
from sys      import stderr, exit
from os.path import basename, splitext
from pergola import parsers

    # Genome option
    print("@@@Pergola_rules.py: Genome option set to..........................%s" % genome, file=stderr)

    # Output file name
    print("@@@Pergola_rules.py: Output file/s name set t......................%s" % output_file_name, file=stderr)

    # Starting phase option
    if starting_phase:
        if phases:
            print("@@@Pergola_rules.py: Starting phase set to.............. %s" % starting_phase, file=stderr)
        else:
            raise ValueError("Starting phase needs phases option to be set to true")
    else:
        starting_phase = "light"
    if shift:
        time_shift = shift
        print("@@@Pergola_rules.py: Time shift set to....................... %d" % shift, file=stderr)
    else:
        #         window_size = 300
        time_shift = 0
        print("@@@Pergola_rules.py: Window size set by default to............ %d" % window_size, file=stderr)

    if multiply_f:
        min_time = min_time * multiply_f
        max_time = max_time * multiply_f

    if track_act: tracks2merge = parsers.read_track_actions(tracks=intData.tracks, track_action=track_act)

    data_read = intData.read(relative_coord=relative_coord,

# Path: pergola/intervals.py
# class IntData(object):
#     def __init__(self, path, map_dict, header=True, **kwargs):
#     def _check_delimiter (self, path, delimiter):
#     def _reader_data(self):
#     def _pandas_df_reader(self, df):
#     def _set_fields_b(self, fields=None):
#     def _set_fields_g (self, map_dict):
#     def _simple_read(self):
#     def get_field_items(self, data, field="data_types", default=None):
#     def read(self, fields=None, relative_coord=False, intervals=False, int_step=None, fields2rel=None, multiply_t=None,
#              **kwargs):
#     def _min_max(self, list_data, f_start="start", f_end="end"):
#     def _time2rel_time(self, i_fields):
#     def _multiply_values(self, i_fields, factor=1):
#     def _create_int(self, start_int, int_step=None):
#     def _create_int_add_integ(self, start_int, integer=1):
#     def __del__(self):
# def is_number(var):
# def num(s):
# 
# Path: pergola/mapping.py
# class MappingInfo():
#     def __init__(self, path, **kwargs):
#     def _correspondence_from_config(self, path):
#     def _tab_config(self, file_tab):
#     def _mapping_config(self, file_map):
#     def write(self, indent=0):
# def check_path(path):
# def write_chr(self, mode="w", path_w=None, min_c=None, max_c=None):
# def write_chr_sizes(self, mode="w", path_w=None, file_n=None, min_c=None, max_c=None):
# def write_cytoband(end, start=0, delta=43200, start_phase="light", mode="w", path_w=None, lab_bed=True, track_line=True):
# def write_period_seq (end, start=0, delta=43200, tag="day", mode="w", path_w=None, name_file="period_seq", lab_bed=True, track_line=True):
# 
# Path: pergola/parsers.py
# PATH = abspath(split(realpath(__file__))[0])
# def parse_num_range(string):
# def read_track_actions (tracks, track_action = "split_all"):
# def read_colors (path_color_file):


# Path: pergola/scripts/pergola_rules.py
from pergola  import intervals
from pergola  import mapping
from argparse import ArgumentParser
from sys      import stderr, exit
from os.path import basename, splitext
from pergola import parsers


    # Genome option
    print("@@@Pergola_rules.py: Genome option set to..........................%s" % genome, file=stderr)

    # Output file name
    print("@@@Pergola_rules.py: Output file/s name set t......................%s" % output_file_name, file=stderr)

    # Starting phase option
    if starting_phase:
        if phases:
            print("@@@Pergola_rules.py: Starting phase set to.............. %s" % starting_phase, file=stderr)
        else:
            raise ValueError("Starting phase needs phases option to be set to true")
    else:
        starting_phase = "light"
    if shift:
        time_shift = shift
        print("@@@Pergola_rules.py: Time shift set to....................... %d" % shift, file=stderr)
    else:
        #         window_size = 300
        time_shift = 0
        print("@@@Pergola_rules.py: Window size set by default to............ %d" % window_size, file=stderr)

    if multiply_f:
        min_time = min_time * multiply_f
        max_time = max_time * multiply_f

    if track_act: tracks2merge = parsers.read_track_actions(tracks=intData.tracks, track_action=track_act)

    data_read = intData.read(relative_coord=relative_coord,

                             intervals=intervals_gen,