예제 #1
0
파일: basic.py 프로젝트: mulescent/Enrich
    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)
예제 #2
0
    def __init__(self, config, barcode_map=None):
        VariantSeqLib.__init__(self, config)
        BarcodeSeqLib.__init__(self, config, barcodevariant=True)
        try:
            if 'map file' in config['barcodes']:
                self.barcode_map = BarcodeMap(config['barcodes']['map file'])
            else:
                self.barcode_map = None

            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)

        if self.barcode_map is None: # not in local config
            if barcode_map is None:  # not provided on object creation
                raise EnrichError("Barcode map not specified", self.name)
            else:
                self.barcode_map = barcode_map

        self.counts['barcodes_unmapped'] = None
        self.filter_unmapped = True
예제 #3
0
    def __init__(self, config, barcode_map=None):
        VariantSeqLib.__init__(self, config)
        BarcodeSeqLib.__init__(self, config, barcodevariant=True)
        try:
            if 'map file' in config['barcodes']:
                self.barcode_map = BarcodeMap(config['barcodes']['map file'])
            else:
                self.barcode_map = None

            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)

        if self.barcode_map is None:  # not in local config
            if barcode_map is None:  # not provided on object creation
                raise EnrichError("Barcode map not specified", self.name)
            else:
                self.barcode_map = barcode_map

        self.counts['barcodes_unmapped'] = None
        self.filter_unmapped = True
예제 #4
0
    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)
예제 #5
0
파일: overlap.py 프로젝트: justing5/Enrich
    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)
예제 #6
0
    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)