import colorsys
import sys, os, re, time, shutil, gzip 
import numpy as np, pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from scipy import sparse

from snakemake.utils import Paramspace 


# make a logs folders to save log files
os.makedirs('./logs/', exist_ok=True)


# configure
configfile: "config/config.yaml"


# par
mycolors = sns.color_palette(config['colorpalette'])
chrs = range(1, 23)


# wildcard constraints
wildcard_constraints: fixed = '\w+'
wildcard_constraints: random = '\w+'
wildcard_constraints: i='[0-9]+'
wildcard_constraints: k='[0-9]+'
wildcard_constraints: rep='[0-9]+'
wildcard_constraints: n='[0-9]+'
wildcard_constraints: geno_pca_n='\d+'
wildcard_constraints: op_pca_n='\d+'
wildcard_constraints: maxit='[0-9]+'
wildcard_constraints: reltol='[^/]+'
# wildcard_constraints: p='[\d\w\.]+'
wildcard_constraints: p='[^/]+'
wildcard_constraints: window = '[0-9]+'
wildcard_constraints: l='[^/]+'
wildcard_constraints: r='[^/]+'
wildcard_constraints: disease='[^/]+'
wildcard_constraints: model='\w+'
wildcard_constraints: var_nu='[^/]+'
wildcard_constraints: transform='[^/]+'
wildcard_constraints: alpha='[^/]+'
wildcard_constraints: prop='[^/]+'
wildcard_constraints: lam='[^/]+'
wildcard_constraints: h2='[^/]+'
wildcard_constraints: anc='\w+'
wildcard_constraints: status='\w+'
wildcard_constraints: gwas='\w+'
wildcard_constraints: ct_random='\w+'
wildcard_constraints: ct_fixed='\w+'
wildcard_constraints: ctnu='\w+'
wildcard_constraints: cell_no='[\d\w]+'
wildcard_constraints: cell_prop='[\d\w\.]+'



############### load rules ################

include: 'rules/common.smk'
include: 'rules/sim.smk'
include: 'rules/yazar.smk'
include: 'rules/yazar_sim.smk'
include: 'rules/perez.smk'
# include: 'dev/dev.smk'