aboutsummaryrefslogtreecommitdiff
path: root/gn3/computations/biweight.py
blob: e598a5b5186ae80082cec80bc9dc449f6ca89d27 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
"""module contains script to call biweight mid\
correlation in R"""
import subprocess
import os
from pathlib import Path
from typing import List

FILE_PATH = os.path.join(Path(__file__).parent.absolute(), "biweight.R")


def call_biweight_script(trait_vals: List,
                         target_vals: List,
                         path_to_script: str = FILE_PATH,
                         command: str = "Rscript"
                         ):
    '''biweight function'''

    args_1 = ' '.join(str(trait_val) for trait_val in trait_vals)
    args_2 = ' '.join(str(target_val) for target_val in target_vals)
    cmd = [command, path_to_script] + [args_1] + [args_2]

    results = subprocess.check_output(cmd, universal_newlines=True)

    return tuple([float(y) for y in results.split()])