def __init__(self, config): VariantSeqLib.__init__(self, config) try: self.forward = config['fastq']['forward'] self.reverse = config['fastq']['reverse'] self.fwd_start = int(config['overlap']['forward start']) self.rev_start = int(config['overlap']['reverse start']) self.overlap_length = int(config['overlap']['length']) self.trim = config['overlap']['overlap only'] self.max_overlap_mismatches = int(config['overlap'] ['max mismatches']) if 'merge failure' in config['filters']: raise EnrichError("'merge failure' is not user-configurable", self.name) self.set_filters(config['filters'], {'remove unresolvable' : False, 'min quality' : 0, 'avg quality' : 0, 'max mutations' : len(self.wt_dna), 'chastity' : False, 'merge failure' : True}) except KeyError as key: raise EnrichError("Missing required config value %s" % key, self.name) except ValueError as value: raise EnrichError("Invalid parameter value %s" % value, self.name) try: check_fastq(self.forward) check_fastq(self.reverse) except IOError as fqerr: raise EnrichError("FASTQ file error: %s" % fqerr, self.name)
def __init__(self, config): VariantSeqLib.__init__(self, config) try: if 'forward' in config['fastq'] and 'reverse' in config['fastq']: raise EnrichError("Multiple FASTQ files specified", self.name) elif 'forward' in config['fastq']: self.reads = config['fastq']['forward'] self.revcomp_reads = False elif 'reverse' in config['fastq']: self.reads = config['fastq']['reverse'] self.revcomp_reads = True else: raise KeyError("'forward' or 'reverse'") self.set_filters(config['filters'], {'min quality' : 0, 'avg quality' : 0, 'chastity' : False, 'max mutations' : len(self.wt_dna)}) except KeyError as key: raise EnrichError("missing required config value: %s" % key, self.name) try: check_fastq(self.reads) except IOError as fqerr: raise EnrichError("FASTQ file error: %s" % fqerr, self.name)
def __init__(self, config): VariantSeqLib.__init__(self, config) try: if 'forward' in config['fastq'] and 'reverse' in config['fastq']: raise EnrichError("Multiple FASTQ files specified", self.name) elif 'forward' in config['fastq']: self.reads = config['fastq']['forward'] self.revcomp_reads = False elif 'reverse' in config['fastq']: self.reads = config['fastq']['reverse'] self.revcomp_reads = True else: raise KeyError("'forward' or 'reverse'") self.set_filters( config['filters'], { 'min quality': 0, 'avg quality': 0, 'chastity': False, 'max mutations': len(self.wt_dna) }) except KeyError as key: raise EnrichError("missing required config value: %s" % key, self.name) try: check_fastq(self.reads) except IOError as fqerr: raise EnrichError("FASTQ file error: %s" % fqerr, self.name)
def __init__(self, config, barcodevariant=False): self.barcodevariant = barcodevariant if not self.barcodevariant: SeqLib.__init__(self, config) try: if 'forward' in config['fastq'] and 'reverse' in config['fastq']: raise EnrichError("Multiple FASTQ files specified", self.name) elif 'forward' in config['fastq']: self.reads = config['fastq']['forward'] self.revcomp_reads = False elif 'reverse' in config['fastq']: self.reads = config['fastq']['reverse'] self.revcomp_reads = True else: raise KeyError("'forward' or 'reverse'") if 'start' in config['fastq']: self.bc_start = config['fastq']['start'] else: self.bc_start = 1 if 'length' in config['fastq']: self.bc_length = config['fastq']['length'] else: self.bc_length = 2147483647 # longer than any read... for now if 'min count' in config['barcodes']: self.min_count = config['barcodes']['min count'] else: self.min_count = 0 self.set_filters(config['filters'], { 'min quality': 0, 'avg quality': 0, 'chastity': False }) except KeyError as key: raise EnrichError( "Missing required config value {key}".format(key=key), self.name) try: check_fastq(self.reads) except IOError as fqerr: raise EnrichError("FASTQ file error: {error}".format(error=fqerr), self.name) self.df_dict['barcodes'] = None if self.min_count > 0: self.df_dict['barcodes_low_abundance'] = None
def __init__(self, config, barcodevariant=False): self.barcodevariant = barcodevariant if not self.barcodevariant: SeqLib.__init__(self, config) try: if 'forward' in config['fastq'] and 'reverse' in config['fastq']: raise EnrichError("Multiple FASTQ files specified", self.name) elif 'forward' in config['fastq']: self.reads = config['fastq']['forward'] self.revcomp_reads = False elif 'reverse' in config['fastq']: self.reads = config['fastq']['reverse'] self.revcomp_reads = True else: raise KeyError("'forward' or 'reverse'") if 'start' in config['fastq']: self.bc_start = config['fastq']['start'] else: self.bc_start = 1 if 'length' in config['fastq']: self.bc_length = config['fastq']['length'] else: self.bc_length = 2147483647 # longer than any read... for now if 'min count' in config['barcodes']: self.min_count = config['barcodes']['min count'] else: self.min_count = 0 self.set_filters(config['filters'], {'min quality' : 0, 'avg quality' : 0, 'chastity' : False}) except KeyError as key: raise EnrichError("Missing required config value {key}".format(key=key), self.name) try: check_fastq(self.reads) except IOError as fqerr: raise EnrichError("FASTQ file error: {error}".format(error=fqerr), self.name) self.df_dict['barcodes'] = None if self.min_count > 0: self.df_dict['barcodes_low_abundance'] = None
def __init__(self, config, parent=True): if parent: SeqLib.__init__(self, config) try: if "forward" in config["fastq"] and "reverse" in config["fastq"]: raise EnrichError("Multiple FASTQ files specified", self.name) elif "forward" in config["fastq"]: self.reads = config["fastq"]["forward"] self.revcomp_reads = False elif "reverse" in config["fastq"]: self.reads = config["fastq"]["reverse"] self.revcomp_reads = True else: raise KeyError("'forward' or 'reverse'") if "start" in config["fastq"]: self.bc_start = config["fastq"]["start"] else: self.bc_start = 1 if "length" in config["fastq"]: self.bc_length = config["fastq"]["length"] else: self.bc_length = 2147483647 # longer than any read... for now if "min count" in config["barcodes"]: self.min_count = config["barcodes"]["min count"] else: self.min_count = 0 self.set_filters(config["filters"], {"min quality": 0, "avg quality": 0, "chastity": False}) except KeyError as key: raise EnrichError("Missing required config value %s" % key, self.name) try: check_fastq(self.reads) except IOError as fqerr: raise EnrichError("FASTQ file error: %s" % fqerr, self.name) self.counts["barcodes"] = None