diff options
author | BonfaceKilz | 2021-06-21 08:58:27 +0300 |
---|---|---|
committer | GitHub | 2021-06-21 08:58:27 +0300 |
commit | f949189dc727976a1574a57d3b0e895ff6598d07 (patch) | |
tree | e7e0634176d55afefa25467652b4f97601287837 /gn3/computations/biweight.py | |
parent | d653a635d0efd2291754c18f51d31f91a1c0a25c (diff) | |
parent | 10140ab707021dd2dffb1b439f52a62e3d59c29a (diff) | |
download | genenetwork3-f949189dc727976a1574a57d3b0e895ff6598d07.tar.gz |
Merge pull request #20 from genenetwork/feature/biweight-correlation
add biweight r script and tests
Diffstat (limited to 'gn3/computations/biweight.py')
-rw-r--r-- | gn3/computations/biweight.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/gn3/computations/biweight.py b/gn3/computations/biweight.py new file mode 100644 index 0000000..6d031ad --- /dev/null +++ b/gn3/computations/biweight.py @@ -0,0 +1,25 @@ +"""module contains script to call biweight midcorrelation in R""" +import subprocess + +from typing import List +from typing import Tuple + +from gn3.settings import BIWEIGHT_RSCRIPT + + +def calculate_biweight_corr(trait_vals: List, + target_vals: List, + path_to_script: str = BIWEIGHT_RSCRIPT, + command: str = "Rscript" + ) -> Tuple[float, float]: + """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) + + (corr_coeff, p_val) = tuple([float(y) for y in results.split()]) + + return (corr_coeff, p_val) |