import pandas as pd
import numpy as np

from tqdm import tqdm

import helper

pathways, interactome = helper.setup()

interactome_e2n = helper.convert_edges_to_node(interactome,
                                               'edge_weight',
                                               'interactome_weight')
interactome_en = helper.keep_edge_nodes(interactome_e2n,
                                        ['head', 'interactome_weight'])

interactome_degrees = pd.read_csv(
    '../output/features_interactome_no_nearest_01.txt', delimiter='\t')

interactome_features = pd.merge(interactome_degrees,
                                interactome_en, left_on='name',
                                right_on='head')
interactome_features.drop('head', axis=1, inplace=True)

num_folds = 2

create_additional_featuers = False

for pathway in tqdm(pathways):
    pathway_dist_score = pd.read_csv(
        '../output/features_{}_03.txt'.format(pathway), delimiter='\t',
        na_values=['None'])
import pandas as pd
import numpy as np

from tqdm import tqdm

import helper

pathways, interactome = helper.setup()

interactome_e2n = helper.convert_edges_to_node(interactome, 'edge_weight',
                                               'interactome_weight')
interactome_en = helper.keep_edge_nodes(interactome_e2n,
                                        ['head', 'interactome_weight'])

interactome_degrees = pd.read_csv(
    '../output/features_interactome_no_nearest_01.txt', delimiter='\t')

interactome_features = pd.merge(interactome_degrees,
                                interactome_en,
                                left_on='name',
                                right_on='head')
interactome_features.drop('head', axis=1, inplace=True)

num_folds = 2

create_additional_featuers = False

for pathway in tqdm(pathways):
    pathway_dist_score = pd.read_csv(
        '../output/features_{}_03.txt'.format(pathway),
        delimiter='\t',
                                  format(pathway),
                                  delimiter='\t')

    pagerank_df = pd.read_csv('../data/pagerank/{}-q_0.50-edge-fluxes.txt'.
                              format(pathway),
                              delimiter='\t')
    cyclinker_df = pd.read_csv('../data/cyclinker/{}-k_110000-ranked-edges.txt'.
                               format(pathway),
                               delimiter='\t')

    pagerank_df_e2n = helper.convert_edges_to_node(
        pagerank_df, 'edge_flux', 'pagerank_value')
    cyclinker_df_e2n = helper.convert_edges_to_node(
        cyclinker_df, 'KSP index', 'cyclinker_value')

    pagerank_en = helper.keep_edge_nodes(
        pagerank_df_e2n, ['head', 'pagerank_value'])
    cyclinker_en = helper.keep_edge_nodes(
        cyclinker_df_e2n, ['head', 'cyclinker_value'])

    pathway_dist_ranks = pd.merge(
        pathway_dist_en, pagerank_en,
        left_on='name', right_on='head', how='left')

    pathway_dist_ranks = pd.merge(
        pathway_dist_ranks, cyclinker_en,
        left_on='name', right_on='head', how='left')

    pathway_dist_ranks.ix[
        pd.isnull(pathway_dist_ranks['pagerank_value']),
        'pagerank_value'] = pathway_dist_ranks['pagerank_value'].min()