# HG changeset patch # User mvdbeek # Date 1536915175 14400 # Node ID 7fbff19b44855c38bb8ac51d334f69c61956c509 planemo upload for repository https://github.com/galaxyproject/mvdbeek/tree/master/tools/zerone commit 35b6256bc4fe6138f03228795e88da46068ac14e diff -r 000000000000 -r 7fbff19b4485 r-zerone.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/r-zerone.py Fri Sep 14 04:52:55 2018 -0400 @@ -0,0 +1,51 @@ +from collections import OrderedDict +import click +import pandas as pd +from rpy2.robjects import pandas2ri +from rpy2.robjects.packages import importr + + +pandas2ri.activate() +zerone = importr('zerone') + + +def generate_dataframe(controls, treatments): + c = OrderedDict() + for control in controls: + c[control] = pd.read_csv(control, usecols=[3], sep='\t', header=None, dtype=int)[3] + + t = OrderedDict() + for treatment in treatments: + t[treatment] = pd.read_csv(treatment, usecols=[3], sep='\t', header=None, dtype=int)[3] + + control_series = pd.DataFrame(c).sum(axis=1) + control_df = pd.DataFrame(control_series) + control_df.columns = ['Control'] + treatment_df = pd.DataFrame(t) + chroms = pd.read_csv(treatments[0], usecols=[0], sep='\t', header=None) + chroms.columns = ['chrom'] + df = pd.DataFrame.merge(control_df, treatment_df, left_index=True, right_index=True) + df = chroms.merge(df, left_index=True, right_index=True) + return df + + +def discretize(df): + r = zerone.zerone(df, returnall=True) + return pandas2ri.ri2py_dataframe(r.rx('path'))['path'] == 2 + + +@click.command() +@click.option('--control_files', type=click.Path(exists=True), multiple=True) +@click.option('--fusion_files', type=click.Path(exists=True), multiple=True, required=True) +@click.option('--output', type=click.Path(exists=False), required=True) +def main(control_files, fusion_files, output): + """Run zerone discretization for control and fusion files""" + df = generate_dataframe(controls=control_files, treatments=fusion_files) + s = discretize(df) + template = pd.read_csv(control_files[0], usecols=[0, 1, 2], sep='\t', header=None) + template['result'] = s.astype(int) + template.to_csv(output, header=None, sep='\t', index=None) + + +if __name__ == '__main__': + main() diff -r 000000000000 -r 7fbff19b4485 test-data/c1.bed --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/c1.bed Fri Sep 14 04:52:55 2018 -0400 @@ -0,0 +1,100 @@ +2L 3577117 3577121 22 +2L 3577145 3577149 29 +2L 3577620 3577624 40 +2L 3578036 3578040 45 +2L 3578294 3578298 92 +2L 3578397 3578401 67 +2L 3578620 3578624 57 +2L 3578803 3578807 25 +2L 3578858 3578862 2 +2L 3578870 3578874 5 +2L 3579809 3579813 26 +2L 3579876 3579880 30 +2L 3580547 3580551 38 +2L 3580718 3580722 12 +2L 3580751 3580755 16 +2L 3580814 3580818 14 +2L 3580841 3580845 18 +2L 3580881 3580885 24 +2L 3581488 3581492 8 +2L 3581512 3581516 0 +2L 3581620 3581624 35 +2L 3582291 3582295 7 +2L 3582307 3582311 0 +2L 3582337 3582341 0 +2L 3582395 3582399 0 +2L 3582410 3582414 0 +2L 3582432 3582436 0 +2L 3582440 3582444 0 +2L 3582469 3582473 3 +2L 3582633 3582637 1 +2L 3582772 3582776 18 +2L 3583074 3583078 248 +2L 3583281 3583285 238 +2L 3583287 3583291 2 +2L 3583341 3583345 0 +2L 3583378 3583382 0 +2L 3583388 3583392 0 +2L 3583392 3583396 0 +2L 3583450 3583454 0 +2L 3583505 3583509 76 +2L 3583691 3583695 85 +2L 3583718 3583722 1 +2L 3583799 3583803 0 +2L 3583884 3583888 0 +2L 3583936 3583940 0 +2L 3583945 3583949 0 +2L 3583963 3583967 7 +2L 3584281 3584285 0 +2L 3584332 3584336 219 +2L 3584575 3584579 290 +2L 3585069 3585073 16 +2L 3585074 3585078 2 +2L 3585084 3585088 12 +2L 3585244 3585248 14 +2L 3585251 3585255 3 +2L 3586867 3586871 0 +2L 3586894 3586898 0 +2L 3586958 3586962 0 +2L 3586999 3587003 1 +2L 3587101 3587105 19 +2L 3587618 3587622 22 +2L 3587743 3587747 0 +2L 3587845 3587849 1 +2L 3587850 3587854 0 +2L 3587870 3587874 0 +2L 3587999 3588003 10 +2L 3588914 3588918 8 +2L 3588922 3588926 12 +2L 3589436 3589440 24 +2L 3589528 3589532 12 +2L 3590002 3590006 36 +2L 3590240 3590244 24 +2L 3590901 3590905 19 +2L 3591543 3591547 56 +2L 3591548 3591552 14 +2L 3591763 3591767 54 +2L 3592558 3592562 18 +2L 3592568 3592572 1 +2L 3592576 3592580 10 +2L 3592580 3592584 14 +2L 3592900 3592904 15 +2L 3593036 3593040 18 +2L 3593301 3593305 18 +2L 3593349 3593353 3 +2L 3593459 3593463 16 +2L 3593892 3593896 8 +2L 3595027 3595031 7 +2L 3595392 3595396 2 +2L 3595399 3595403 52 +2L 3595661 3595665 70 +2L 3596137 3596141 19 +2L 3596294 3596298 3 +2L 3596634 3596638 22 +2L 3596855 3596859 28 +2L 3597836 3597840 4 +2L 3597872 3597876 43 +2L 3598168 3598172 50 +2L 3598268 3598272 7 +2L 3598588 3598592 19 +2L 3599008 3599012 15 diff -r 000000000000 -r 7fbff19b4485 test-data/c2.bed --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/c2.bed Fri Sep 14 04:52:55 2018 -0400 @@ -0,0 +1,100 @@ +2L 3577117 3577121 49 +2L 3577145 3577149 68 +2L 3577620 3577624 66 +2L 3578036 3578040 39 +2L 3578294 3578298 63 +2L 3578397 3578401 52 +2L 3578620 3578624 52 +2L 3578803 3578807 21 +2L 3578858 3578862 15 +2L 3578870 3578874 26 +2L 3579809 3579813 65 +2L 3579876 3579880 34 +2L 3580547 3580551 48 +2L 3580718 3580722 7 +2L 3580751 3580755 15 +2L 3580814 3580818 16 +2L 3580841 3580845 16 +2L 3580881 3580885 37 +2L 3581488 3581492 8 +2L 3581512 3581516 2 +2L 3581620 3581624 86 +2L 3582291 3582295 24 +2L 3582307 3582311 1 +2L 3582337 3582341 1 +2L 3582395 3582399 1 +2L 3582410 3582414 1 +2L 3582432 3582436 0 +2L 3582440 3582444 0 +2L 3582469 3582473 7 +2L 3582633 3582637 19 +2L 3582772 3582776 24 +2L 3583074 3583078 148 +2L 3583281 3583285 140 +2L 3583287 3583291 12 +2L 3583341 3583345 0 +2L 3583378 3583382 0 +2L 3583388 3583392 0 +2L 3583392 3583396 2 +2L 3583450 3583454 3 +2L 3583505 3583509 84 +2L 3583691 3583695 80 +2L 3583718 3583722 9 +2L 3583799 3583803 7 +2L 3583884 3583888 0 +2L 3583936 3583940 1 +2L 3583945 3583949 1 +2L 3583963 3583967 26 +2L 3584281 3584285 13 +2L 3584332 3584336 84 +2L 3584575 3584579 171 +2L 3585069 3585073 51 +2L 3585074 3585078 1 +2L 3585084 3585088 69 +2L 3585244 3585248 86 +2L 3585251 3585255 11 +2L 3586867 3586871 7 +2L 3586894 3586898 2 +2L 3586958 3586962 1 +2L 3586999 3587003 22 +2L 3587101 3587105 61 +2L 3587618 3587622 57 +2L 3587743 3587747 13 +2L 3587845 3587849 13 +2L 3587850 3587854 5 +2L 3587870 3587874 6 +2L 3587999 3588003 11 +2L 3588914 3588918 11 +2L 3588922 3588926 8 +2L 3589436 3589440 48 +2L 3589528 3589532 25 +2L 3590002 3590006 37 +2L 3590240 3590244 34 +2L 3590901 3590905 47 +2L 3591543 3591547 96 +2L 3591548 3591552 34 +2L 3591763 3591767 118 +2L 3592558 3592562 40 +2L 3592568 3592572 11 +2L 3592576 3592580 19 +2L 3592580 3592584 38 +2L 3592900 3592904 72 +2L 3593036 3593040 35 +2L 3593301 3593305 28 +2L 3593349 3593353 21 +2L 3593459 3593463 25 +2L 3593892 3593896 9 +2L 3595027 3595031 5 +2L 3595392 3595396 2 +2L 3595399 3595403 84 +2L 3595661 3595665 118 +2L 3596137 3596141 17 +2L 3596294 3596298 21 +2L 3596634 3596638 20 +2L 3596855 3596859 30 +2L 3597836 3597840 11 +2L 3597872 3597876 28 +2L 3598168 3598172 38 +2L 3598268 3598272 33 +2L 3598588 3598592 45 +2L 3599008 3599012 29 diff -r 000000000000 -r 7fbff19b4485 test-data/d1.bed --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/d1.bed Fri Sep 14 04:52:55 2018 -0400 @@ -0,0 +1,100 @@ +2L 3577117 3577121 417 +2L 3577145 3577149 455 +2L 3577620 3577624 603 +2L 3578036 3578040 537 +2L 3578294 3578298 424 +2L 3578397 3578401 784 +2L 3578620 3578624 750 +2L 3578803 3578807 1180 +2L 3578858 3578862 84 +2L 3578870 3578874 147 +2L 3579809 3579813 551 +2L 3579876 3579880 428 +2L 3580547 3580551 548 +2L 3580718 3580722 167 +2L 3580751 3580755 271 +2L 3580814 3580818 146 +2L 3580841 3580845 140 +2L 3580881 3580885 227 +2L 3581488 3581492 49 +2L 3581512 3581516 3 +2L 3581620 3581624 553 +2L 3582291 3582295 92 +2L 3582307 3582311 0 +2L 3582337 3582341 0 +2L 3582395 3582399 0 +2L 3582410 3582414 0 +2L 3582432 3582436 0 +2L 3582440 3582444 4 +2L 3582469 3582473 153 +2L 3582633 3582637 103 +2L 3582772 3582776 84 +2L 3583074 3583078 1682 +2L 3583281 3583285 1650 +2L 3583287 3583291 59 +2L 3583341 3583345 2 +2L 3583378 3583382 0 +2L 3583388 3583392 0 +2L 3583392 3583396 1 +2L 3583450 3583454 2 +2L 3583505 3583509 920 +2L 3583691 3583695 791 +2L 3583718 3583722 17 +2L 3583799 3583803 11 +2L 3583884 3583888 1 +2L 3583936 3583940 1 +2L 3583945 3583949 2 +2L 3583963 3583967 142 +2L 3584281 3584285 80 +2L 3584332 3584336 844 +2L 3584575 3584579 1730 +2L 3585069 3585073 132 +2L 3585074 3585078 1 +2L 3585084 3585088 1 +2L 3585244 3585248 56 +2L 3585251 3585255 24 +2L 3586867 3586871 6 +2L 3586894 3586898 0 +2L 3586958 3586962 0 +2L 3586999 3587003 83 +2L 3587101 3587105 193 +2L 3587618 3587622 103 +2L 3587743 3587747 24 +2L 3587845 3587849 26 +2L 3587850 3587854 16 +2L 3587870 3587874 17 +2L 3587999 3588003 54 +2L 3588914 3588918 205 +2L 3588922 3588926 59 +2L 3589436 3589440 350 +2L 3589528 3589532 292 +2L 3590002 3590006 458 +2L 3590240 3590244 268 +2L 3590901 3590905 90 +2L 3591543 3591547 293 +2L 3591548 3591552 57 +2L 3591763 3591767 352 +2L 3592558 3592562 120 +2L 3592568 3592572 7 +2L 3592576 3592580 63 +2L 3592580 3592584 90 +2L 3592900 3592904 163 +2L 3593036 3593040 156 +2L 3593301 3593305 138 +2L 3593349 3593353 24 +2L 3593459 3593463 179 +2L 3593892 3593896 130 +2L 3595027 3595031 50 +2L 3595392 3595396 25 +2L 3595399 3595403 673 +2L 3595661 3595665 809 +2L 3596137 3596141 139 +2L 3596294 3596298 72 +2L 3596634 3596638 145 +2L 3596855 3596859 273 +2L 3597836 3597840 55 +2L 3597872 3597876 550 +2L 3598168 3598172 545 +2L 3598268 3598272 69 +2L 3598588 3598592 211 +2L 3599008 3599012 174 diff -r 000000000000 -r 7fbff19b4485 test-data/d2.bed --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/d2.bed Fri Sep 14 04:52:55 2018 -0400 @@ -0,0 +1,100 @@ +2L 3577117 3577121 200 +2L 3577145 3577149 222 +2L 3577620 3577624 265 +2L 3578036 3578040 204 +2L 3578294 3578298 163 +2L 3578397 3578401 192 +2L 3578620 3578624 126 +2L 3578803 3578807 190 +2L 3578858 3578862 52 +2L 3578870 3578874 84 +2L 3579809 3579813 286 +2L 3579876 3579880 204 +2L 3580547 3580551 246 +2L 3580718 3580722 16 +2L 3580751 3580755 23 +2L 3580814 3580818 37 +2L 3580841 3580845 40 +2L 3580881 3580885 78 +2L 3581488 3581492 17 +2L 3581512 3581516 4 +2L 3581620 3581624 319 +2L 3582291 3582295 89 +2L 3582307 3582311 0 +2L 3582337 3582341 0 +2L 3582395 3582399 1 +2L 3582410 3582414 1 +2L 3582432 3582436 0 +2L 3582440 3582444 0 +2L 3582469 3582473 42 +2L 3582633 3582637 48 +2L 3582772 3582776 73 +2L 3583074 3583078 474 +2L 3583281 3583285 393 +2L 3583287 3583291 3 +2L 3583341 3583345 0 +2L 3583378 3583382 0 +2L 3583388 3583392 0 +2L 3583392 3583396 9 +2L 3583450 3583454 20 +2L 3583505 3583509 269 +2L 3583691 3583695 265 +2L 3583718 3583722 61 +2L 3583799 3583803 53 +2L 3583884 3583888 2 +2L 3583936 3583940 1 +2L 3583945 3583949 1 +2L 3583963 3583967 62 +2L 3584281 3584285 26 +2L 3584332 3584336 152 +2L 3584575 3584579 389 +2L 3585069 3585073 128 +2L 3585074 3585078 1 +2L 3585084 3585088 0 +2L 3585244 3585248 28 +2L 3585251 3585255 15 +2L 3586867 3586871 3 +2L 3586894 3586898 2 +2L 3586958 3586962 2 +2L 3586999 3587003 71 +2L 3587101 3587105 120 +2L 3587618 3587622 93 +2L 3587743 3587747 11 +2L 3587845 3587849 8 +2L 3587850 3587854 3 +2L 3587870 3587874 3 +2L 3587999 3588003 34 +2L 3588914 3588918 98 +2L 3588922 3588926 23 +2L 3589436 3589440 199 +2L 3589528 3589532 108 +2L 3590002 3590006 158 +2L 3590240 3590244 67 +2L 3590901 3590905 70 +2L 3591543 3591547 132 +2L 3591548 3591552 22 +2L 3591763 3591767 196 +2L 3592558 3592562 75 +2L 3592568 3592572 1 +2L 3592576 3592580 1 +2L 3592580 3592584 18 +2L 3592900 3592904 92 +2L 3593036 3593040 60 +2L 3593301 3593305 62 +2L 3593349 3593353 30 +2L 3593459 3593463 71 +2L 3593892 3593896 39 +2L 3595027 3595031 14 +2L 3595392 3595396 5 +2L 3595399 3595403 195 +2L 3595661 3595665 299 +2L 3596137 3596141 41 +2L 3596294 3596298 42 +2L 3596634 3596638 33 +2L 3596855 3596859 109 +2L 3597836 3597840 30 +2L 3597872 3597876 97 +2L 3598168 3598172 106 +2L 3598268 3598272 66 +2L 3598588 3598592 158 +2L 3599008 3599012 114 diff -r 000000000000 -r 7fbff19b4485 test-data/discrete.bed --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/discrete.bed Fri Sep 14 04:52:55 2018 -0400 @@ -0,0 +1,100 @@ +2L 3577117 3577121 0 +2L 3577145 3577149 0 +2L 3577620 3577624 0 +2L 3578036 3578040 0 +2L 3578294 3578298 0 +2L 3578397 3578401 0 +2L 3578620 3578624 0 +2L 3578803 3578807 0 +2L 3578858 3578862 1 +2L 3578870 3578874 1 +2L 3579809 3579813 1 +2L 3579876 3579880 0 +2L 3580547 3580551 0 +2L 3580718 3580722 0 +2L 3580751 3580755 0 +2L 3580814 3580818 0 +2L 3580841 3580845 0 +2L 3580881 3580885 0 +2L 3581488 3581492 0 +2L 3581512 3581516 0 +2L 3581620 3581624 0 +2L 3582291 3582295 0 +2L 3582307 3582311 0 +2L 3582337 3582341 0 +2L 3582395 3582399 0 +2L 3582410 3582414 0 +2L 3582432 3582436 0 +2L 3582440 3582444 0 +2L 3582469 3582473 0 +2L 3582633 3582637 0 +2L 3582772 3582776 0 +2L 3583074 3583078 0 +2L 3583281 3583285 0 +2L 3583287 3583291 1 +2L 3583341 3583345 1 +2L 3583378 3583382 1 +2L 3583388 3583392 1 +2L 3583392 3583396 1 +2L 3583450 3583454 1 +2L 3583505 3583509 0 +2L 3583691 3583695 0 +2L 3583718 3583722 0 +2L 3583799 3583803 0 +2L 3583884 3583888 0 +2L 3583936 3583940 0 +2L 3583945 3583949 0 +2L 3583963 3583967 0 +2L 3584281 3584285 0 +2L 3584332 3584336 0 +2L 3584575 3584579 0 +2L 3585069 3585073 1 +2L 3585074 3585078 1 +2L 3585084 3585088 1 +2L 3585244 3585248 1 +2L 3585251 3585255 1 +2L 3586867 3586871 1 +2L 3586894 3586898 1 +2L 3586958 3586962 1 +2L 3586999 3587003 1 +2L 3587101 3587105 1 +2L 3587618 3587622 1 +2L 3587743 3587747 1 +2L 3587845 3587849 1 +2L 3587850 3587854 1 +2L 3587870 3587874 1 +2L 3587999 3588003 1 +2L 3588914 3588918 1 +2L 3588922 3588926 1 +2L 3589436 3589440 1 +2L 3589528 3589532 1 +2L 3590002 3590006 1 +2L 3590240 3590244 1 +2L 3590901 3590905 1 +2L 3591543 3591547 1 +2L 3591548 3591552 1 +2L 3591763 3591767 1 +2L 3592558 3592562 1 +2L 3592568 3592572 1 +2L 3592576 3592580 1 +2L 3592580 3592584 1 +2L 3592900 3592904 1 +2L 3593036 3593040 1 +2L 3593301 3593305 1 +2L 3593349 3593353 1 +2L 3593459 3593463 0 +2L 3593892 3593896 0 +2L 3595027 3595031 0 +2L 3595392 3595396 0 +2L 3595399 3595403 0 +2L 3595661 3595665 0 +2L 3596137 3596141 0 +2L 3596294 3596298 0 +2L 3596634 3596638 0 +2L 3596855 3596859 0 +2L 3597836 3597840 0 +2L 3597872 3597876 0 +2L 3598168 3598172 0 +2L 3598268 3598272 1 +2L 3598588 3598592 1 +2L 3599008 3599012 1 diff -r 000000000000 -r 7fbff19b4485 zerone_damid.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/zerone_damid.xml Fri Sep 14 04:52:55 2018 -0400 @@ -0,0 +1,41 @@ + + + r-zerone + rpy2 + pandas + click + + + + + + + + + + + + + + + + + + + 10.1093/bioinformatics/btw336 + +