def parseArguments(): parentParser = parserCommon.getParentArgParse() bamParser = parserCommon.read_options() normalizationParser = parserCommon.normalization_options() requiredArgs = get_required_args() optionalArgs = get_optional_args() outputParser = parserCommon.output() parser = \ argparse.ArgumentParser( parents=[requiredArgs, outputParser, optionalArgs, parentParser, normalizationParser, bamParser], formatter_class=argparse.ArgumentDefaultsHelpFormatter, description='This tool takes an alignment of reads or fragments ' 'as input (BAM file) and generates a coverage track (bigWig or ' 'bedGraph) as output. ' 'The coverage is calculated as the number of reads per bin, ' 'where bins are short consecutive counting windows of a defined ' 'size. It is possible to extended the length of the reads ' 'to better reflect the actual fragment length. *bamCoverage* ' 'offers normalization by scaling factor, Reads Per Kilobase per ' 'Million mapped reads (RPKM), counts per million (CPM), bins per ' 'million mapped reads (BPM) and 1x depth (reads per genome ' 'coverage, RPGC).\n', usage='An example usage is:' '$ bamCoverage -b reads.bam -o coverage.bw', add_help=False) return parser
def parseArguments(): parentParser = parserCommon.getParentArgParse() bamParser = parserCommon.read_options() normalizationParser = parserCommon.normalization_options() requiredArgs = getRequiredArgs() optionalArgs = getOptionalArgs() outputParser = parserCommon.output() parser = argparse.ArgumentParser( parents=[requiredArgs, outputParser, optionalArgs, parentParser, normalizationParser, bamParser], formatter_class=argparse.ArgumentDefaultsHelpFormatter, description='This tool compares two BAM files based on the number of ' 'mapped reads. To compare the BAM files, the genome is partitioned ' 'into bins of equal size, then the number of reads found in each bin' 'is counted per file and finally a summary value is ' 'reported. This value can be the ratio of the number of reads per ' 'bin, the log2 of the ratio or the difference. \nThis tool can ' 'normalize the number of reads in each BAM file using the SES method ' 'proposed by Diaz et al. (2012) "Normalization, bias correction, and ' 'peak calling for ChIP-seq". Statistical Applications in Genetics ' 'and Molecular Biology, 11(3). Normalization based on read counts ' 'is also available. \nThe output is either a bedgraph or bigWig file ' 'containing the bin location and the resulting comparison value. By ' 'default, if reads are paired, the fragment length reported in the BAM ' 'file is used. Each mate, however, ' 'is treated independently to avoid a bias when a mixture of concordant ' 'and discordant pairs is present. This means that *each end* will ' 'be extended to match the fragment length.', usage=' bamCompare -b1 treatment.bam -b2 control.bam -o log2ratio.bw', add_help=False) return parser
def parseArguments(): parentParser = parserCommon.getParentArgParse() bamParser = parserCommon.read_options() normalizationParser = parserCommon.normalization_options() requiredArgs = getRequiredArgs() optionalArgs = getOptionalArgs() outputParser = parserCommon.output() parser = argparse.ArgumentParser( parents=[ requiredArgs, outputParser, optionalArgs, parentParser, normalizationParser, bamParser ], formatter_class=argparse.ArgumentDefaultsHelpFormatter, description='This tool compares two BAM files based on the number of ' 'mapped reads. To compare the BAM files, the genome is partitioned ' 'into bins of equal size, then the number of reads found in each is counted per file ' 'and finally a summary value is ' 'reported. This value can be the ratio of the number of reads per ' 'bin, the log2 of the ratio or the difference. This tool can ' 'normalize the number of reads in each BAM file using the SES method ' 'proposed in Diaz et al. (2012). "Normalization, bias correction, and ' 'peak calling for ChIP-seq". Statistical applications in genetics ' 'and molecular biology, 11(3). Normalization based on read counts ' 'is also available. The output is either a bedgraph or bigWig file ' 'containing the bin location and the resulting comparison values. By ' 'default, if reads are mated, the fragment length reported in the BAM ' 'file is used. In the case of paired-end mapping, each mate ' 'is treated independently to avoid a bias when a mixture of concordant ' 'and discordant pairs is present. This means that *each end* will ' 'be extended to match the fragment length.', usage='An example usage is:\n bamCompare ' '-b1 treatment.bam -b2 control.bam -o log2ratio.bw', add_help=False) return parser
def parseArguments(): parentParser = parserCommon.getParentArgParse() bamParser = parserCommon.read_options() normalizationParser = parserCommon.normalization_options() requiredArgs = getRequiredArgs() optionalArgs = getOptionalArgs() outputParser = parserCommon.output() parser = argparse.ArgumentParser( parents=[ requiredArgs, outputParser, optionalArgs, parentParser, normalizationParser, bamParser ], formatter_class=argparse.ArgumentDefaultsHelpFormatter, description='This tool compares two BAM files based on the number of ' 'mapped reads. To compare the BAM files, the genome is partitioned ' 'into bins of equal size, then the number of reads found in each bin' ' is counted per file, and finally a summary value is ' 'reported. This value can be the ratio of the number of reads per ' 'bin, the log2 of the ratio, or the difference. This tool can ' 'normalize the number of reads in each BAM file using the SES method ' 'proposed by Diaz et al. (2012) "Normalization, bias correction, and ' 'peak calling for ChIP-seq". Statistical Applications in Genetics ' 'and Molecular Biology, 11(3). Normalization based on read counts ' 'is also available. The output is either a bedgraph or bigWig file ' 'containing the bin location and the resulting comparison value. ' 'Note that *each end* in a pair (for paired-end reads) is treated ' 'independently. If this is undesirable, then use the --samFlagInclude ' 'or --samFlagExclude options.', usage=' bamCompare -b1 treatment.bam -b2 control.bam -o log2ratio.bw', add_help=False) return parser
def parseArguments(): parentParser = parserCommon.getParentArgParse() bamParser = parserCommon.read_options() normalizationParser = parserCommon.normalization_options() requiredArgs = getRequiredArgs() optionalArgs = getOptionalArgs() outputParser = parserCommon.output() parser = argparse.ArgumentParser( parents=[requiredArgs, outputParser, optionalArgs, parentParser, normalizationParser, bamParser], formatter_class=argparse.ArgumentDefaultsHelpFormatter, description='This tool compares two BAM files based on the number of ' 'mapped reads. To compare the BAM files, the genome is partitioned ' 'into bins of equal size, then the number of reads found in each bin' ' is counted per file, and finally a summary value is ' 'reported. This value can be the ratio of the number of reads per ' 'bin, the log2 of the ratio, or the difference. This tool can ' 'normalize the number of reads in each BAM file using the SES method ' 'proposed by Diaz et al. (2012) "Normalization, bias correction, and ' 'peak calling for ChIP-seq". Statistical Applications in Genetics ' 'and Molecular Biology, 11(3). Normalization based on read counts ' 'is also available. The output is either a bedgraph or bigWig file ' 'containing the bin location and the resulting comparison value. ' 'Note that *each end* in a pair (for paired-end reads) is treated ' 'independently. If this is undesirable, then use the --samFlagInclude ' 'or --samFlagExclude options.', usage=' bamCompare -b1 treatment.bam -b2 control.bam -o log2ratio.bw', add_help=False) return parser
def parse_arguments(args=None): parentParser = parserCommon.getParentArgParse() outputParser = parserCommon.output() parser = argparse.ArgumentParser( parents=[parentParser, outputParser], formatter_class=argparse.ArgumentDefaultsHelpFormatter, description='This tool compares two bigWig files based on the number ' 'of mapped reads. To compare the bigWig files, the genome is ' 'partitioned into bins of equal size, then the number of reads found ' 'in each BAM file are counted per bin and finally a summary ' 'value is reported. This value can be the ratio of the number of reads' 'per bin, the log2 of the ratio, the sum or the difference.') # define the arguments parser.add_argument('--bigwig1', '-b1', metavar='Bigwig file', help='Bigwig file 1. Usually the file for the ' 'treatment.', required=True) parser.add_argument('--bigwig2', '-b2', metavar='Bigwig file', help='Bigwig file 2. Usually the file for the ' 'control.', required=True) parser.add_argument('--scaleFactors', help='Set this parameter to multipy the bigwig values ' 'by a constant. The format is ' 'scaleFactor1:scaleFactor2. ' 'For example 0.7:1 to scale the first bigwig file ' 'by 0.7 while not scaling the second bigwig file', default=None, required=False) parser.add_argument('--pseudocount', help='small number to avoid x/0. Only useful ' 'when ratio = log2 or ratio', default=1, type=float, required=False) parser.add_argument( '--ratio', help='The default is to compute the log2(ratio) ' 'between the two samples. The reciprocal ' 'ratio returns the ' 'the negative of the inverse of the ratio ' 'if the ratio is less than 0. The resulting ' 'values are interpreted as negative fold changes. ' 'Other possible operations are : simple ratio, ' 'subtraction, sum', default='log2', choices=['log2', 'ratio', 'subtract', 'add', 'reciprocal_ratio'], required=False) parser.add_argument( '--skipNonCoveredRegions', '--skipNAs', help= 'This parameter determines if non-covered regions (regions without a score) ' 'in the bigWig files should be skipped. The default is to treat those ' 'regions as having a value of zero. ' 'The decision to skip non-covered regions ' 'depends on the interpretation of the data. Non-covered regions ' 'in a bigWig file may represent repetitive regions that should ' 'be skipped. Alternatively, the interpretation of non-covered regions as ' 'zeros may be wrong and this option should be used ', action='store_true') return parser
def parse_arguments(args=None): parentParser = parserCommon.getParentArgParse() outputParser = parserCommon.output() dbParser = parserCommon.deepBlueOptionalArgs() parser = argparse.ArgumentParser( parents=[parentParser, outputParser, dbParser], formatter_class=argparse.ArgumentDefaultsHelpFormatter, description='This tool compares two bigWig files based on the number ' 'of mapped reads. To compare the bigWig files, the genome is ' 'partitioned into bins of equal size, then the number of reads found ' 'in each BAM file are counted per bin and finally a summary ' 'value is reported. This value can be the ratio of the number of reads' 'per bin, the log2 of the ratio, the sum or the difference.') # define the arguments parser.add_argument('--bigwig1', '-b1', metavar='Bigwig file', help='Bigwig file 1. Usually the file for the ' 'treatment.', required=True) parser.add_argument('--bigwig2', '-b2', metavar='Bigwig file', help='Bigwig file 2. Usually the file for the ' 'control.', required=True) parser.add_argument('--scaleFactors', help='Set this parameter to multipy the bigwig values ' 'by a constant. The format is ' 'scaleFactor1:scaleFactor2. ' 'For example 0.7:1 to scale the first bigwig file ' 'by 0.7 while not scaling the second bigwig file', default=None, required=False) parser.add_argument('--pseudocount', help='small number to avoid x/0. Only useful ' 'when ratio = log2 or ratio', default=1, type=float, required=False) parser.add_argument('--ratio', help='The default is to output the log2ratio of the ' 'two samples. The reciprocal ratio returns the ' 'the negative of the inverse of the ratio ' 'if the ratio is less than 0. The resulting ' 'values are interpreted as negative fold changes. ' '*NOTE*: Only with --ratio subtract can --normalizeTo1x or ' '--normalizeUsingRPKM be used. Instead of performing a ' 'computation using both files, the scaled signal can ' 'alternatively be output for the first or second file using ' 'the \'--ratio first\' or \'--ratio second\'', default='log2', choices=['log2', 'ratio', 'subtract', 'add', 'mean', 'reciprocal_ratio', 'first', 'second'], required=False) parser.add_argument('--skipNonCoveredRegions', '--skipNAs', help='This parameter determines if non-covered regions (regions without a score) ' 'in the bigWig files should be skipped. The default is to treat those ' 'regions as having a value of zero. ' 'The decision to skip non-covered regions ' 'depends on the interpretation of the data. Non-covered regions ' 'in a bigWig file may represent repetitive regions that should ' 'be skipped. Alternatively, the interpretation of non-covered regions as ' 'zeros may be wrong and this option should be used ', action='store_true') return parser
def parse_arguments(args=None): parentParser = parserCommon.getParentArgParse() outputParser = parserCommon.output() dbParser = parserCommon.deepBlueOptionalArgs() parser = argparse.ArgumentParser( parents=[parentParser, outputParser, dbParser], formatter_class=argparse.ArgumentDefaultsHelpFormatter, description='This tool compares two bigWig files based on the number ' 'of mapped reads. To compare the bigWig files, the genome is ' 'partitioned into bins of equal size, then the number of reads found ' 'in each BAM file are counted per bin and finally a summary ' 'value is reported. This value can be the ratio of the number of reads' 'per bin, the log2 of the ratio, the sum or the difference.') # define the arguments parser.add_argument('--bigwig1', '-b1', metavar='Bigwig file', help='Bigwig file 1. Usually the file for the ' 'treatment.', required=True) parser.add_argument('--bigwig2', '-b2', metavar='Bigwig file', help='Bigwig file 2. Usually the file for the ' 'control.', required=True) parser.add_argument('--scaleFactors', help='Set this parameter to multipy the bigwig values ' 'by a constant. The format is ' 'scaleFactor1:scaleFactor2. ' 'For example 0.7:1 to scale the first bigwig file ' 'by 0.7 while not scaling the second bigwig file', default=None, required=False) parser.add_argument( '--pseudocount', help='A small number to avoid x/0. Only useful ' 'together with --operation log2 or --operation ratio. ' 'You can specify different values as pseudocounts for ' 'the numerator and the denominator by providing two ' 'values (the first value is used as the numerator ' 'pseudocount and the second the denominator pseudocount). (Default: %(default)s)', default=1, nargs='+', action=parserCommon.requiredLength(1, 2), type=float, required=False) parser.add_argument('--skipZeroOverZero', help='Skip bins where BOTH BAM files lack coverage. ' 'This is determined BEFORE any applicable pseudocount ' 'is added.', action='store_true') parser.add_argument( '--operation', help='The default is to output the log2ratio of the ' 'two samples. The reciprocal ratio returns the ' 'the negative of the inverse of the ratio ' 'if the ratio is less than 0. The resulting ' 'values are interpreted as negative fold changes. ' 'Instead of performing a ' 'computation using both files, the scaled signal can ' 'alternatively be output for the first or second file using ' 'the \'--operation first\' or \'--operation second\' (Default: %(default)s)', default='log2', choices=[ 'log2', 'ratio', 'subtract', 'add', 'mean', 'reciprocal_ratio', 'first', 'second' ], required=False) parser.add_argument( '--skipNonCoveredRegions', '--skipNAs', help= 'This parameter determines if non-covered regions (regions without a score) ' 'in the bigWig files should be skipped. The default is to treat those ' 'regions as having a value of zero. ' 'The decision to skip non-covered regions ' 'depends on the interpretation of the data. Non-covered regions ' 'in a bigWig file may represent repetitive regions that should ' 'be skipped. Alternatively, the interpretation of non-covered regions as ' 'zeros may be wrong and this option should be used ', action='store_true') return parser