0
|
1 # repmatch.py
|
|
2 #
|
|
3 # Replicate matching - matches paired peaks from two or more replicates
|
|
4 #
|
|
5 # Input: one or more gff files (simple output from cwpair2, each a list of paired peaks from a replicate
|
|
6 #
|
|
7 # Output: list of matched groups and list of unmatched orphans
|
|
8 # Files: key.tabular (file to replicate IDsummary.tabular, detail.tabular, orphans.tabular
|
|
9
|
|
10 import argparse
|
|
11 import repmatch_gff3_util
|
|
12
|
|
13 if __name__ == '__main__':
|
|
14 parser = argparse.ArgumentParser()
|
|
15 parser.add_argument('--input', dest='inputs', action='append', nargs=2, help="Input datasets")
|
|
16 parser.add_argument('--method', dest='method', default='closest', help='Method of finding match')
|
|
17 parser.add_argument('--distance', dest='distance', type=int, default=50, help='Maximum distance between peaks in different replicates to allow merging')
|
|
18 parser.add_argument('--step', dest='step', type=int, default=0, help='Step size of distance for each iteration')
|
|
19 parser.add_argument('--replicates', dest='replicates', type=int, default=2, help='Minimum number of replicates that must be matched for merging to occur')
|
|
20 parser.add_argument('--low_limit', dest='low_limit', type=int, default=-1000, help='Lower limit for c-w distance filter')
|
|
21 parser.add_argument('--up_limit', dest='up_limit', type=int, default=1000, help='Upper limit for c-w distance filter')
|
|
22 parser.add_argument('--output_files', dest='output_files', default='simple', help='Restrict output dataset collections.')
|
|
23 parser.add_argument('--plot_format', dest='plot_format', default=None, help='Output format for graph')
|
|
24 parser.add_argument('--output_summary', dest='output_summary', help='Matched groups in gff format')
|
|
25 parser.add_argument('--output_orphan', dest='output_orphan', default=None, help='Orphans in tabular format')
|
|
26 parser.add_argument('--output_detail', dest='output_detail', default=None, help='Details in tabular format')
|
|
27 parser.add_argument('--output_key', dest='output_key', default=None, help='Keys in tabular format')
|
|
28 parser.add_argument('--output_histogram', dest='output_histogram', default=None, help='Histogram in plot_format')
|
|
29
|
|
30 args = parser.parse_args()
|
|
31
|
|
32 dataset_paths = []
|
|
33 hids = []
|
|
34 for (dataset_path, hid) in args.inputs:
|
|
35 dataset_paths.append(dataset_path)
|
|
36 hids.append(hid)
|
|
37 repmatch_gff3_util.process_files(dataset_paths,
|
|
38 hids,
|
|
39 args.method,
|
|
40 args.distance,
|
|
41 args.step,
|
|
42 args.replicates,
|
|
43 args.up_limit,
|
|
44 args.low_limit,
|
|
45 args.output_files,
|
|
46 args.plot_format,
|
|
47 args.output_summary,
|
|
48 args.output_orphan,
|
|
49 args.output_detail,
|
|
50 args.output_key,
|
|
51 args.output_histogram)
|