Пример #1
0
def trim_lane(item):
    """
    if trim_reads is set with no trimmer specified, default to B-run trimming
    only. if trimmer is set to a supported type, perform that trimming
    instead.

    """
    to_trim = [x for x in item["files"] if x is not None]
    dirs = item["dirs"]
    config = item["config"]
    # this block is to maintain legacy configuration files
    trim_reads = config["algorithm"].get("trim_reads", False)
    if not trim_reads:
        logger.info("Skipping trimming of %s." % (", ".join(to_trim)))
        return item

    # swap the default to None if trim_reads gets deprecated

    if trim_reads == "low_quality" or trim_reads == "true":
        logger.info("Trimming low quality ends from %s." %
                    (", ".join(to_trim)))
        out_files = brun_trim_fastq(to_trim, dirs, config)

    if trim_reads == "read_through":
        logger.info("Trimming low quality ends and read through adapter "
                    "sequence from %s." % (", ".join(to_trim)))
        out_files = trim_read_through(to_trim, dirs, config)

    else:
        logger.info("Trimming low quality ends from %s." %
                    (", ".join(to_trim)))
        out_files = brun_trim_fastq(to_trim, dirs, config)
    item["files"] = out_files
    return [[item]]
Пример #2
0
def trim_lane(item):
    """
    if trim_reads is set with no trimmer specified, default to B-run trimming
    only. if trimmer is set to a supported type, perform that trimming
    instead.

    """
    to_trim = [x for x in item["files"] if x is not None]
    dirs = item["dirs"]
    config = item["config"]
    # this block is to maintain legacy configuration files
    trim_reads = config["algorithm"].get("trim_reads", False)
    if not trim_reads:
        logger.info("Skipping trimming of %s." % (", ".join(to_trim)))
        return item

    # swap the default to None if trim_reads gets deprecated

    if trim_reads == "low_quality" or trim_reads == "true":
        logger.info("Trimming low quality ends from %s."
                    % (", ".join(to_trim)))
        out_files = brun_trim_fastq(to_trim, dirs, config)

    if trim_reads == "read_through":
        logger.info("Trimming low quality ends and read through adapter "
                    "sequence from %s." % (", ".join(to_trim)))
        out_files = trim_read_through(to_trim, dirs, config)

    else:
        logger.info("Trimming low quality ends from %s."
                    % (", ".join(to_trim)))
        out_files = brun_trim_fastq(to_trim, dirs, config)
    item["files"] = out_files
    return [[item]]
Пример #3
0
def trim_lane(fastq1, fastq2, info, lane_name, lane_desc, dirs, config):
    """
    if trim_reads is set with no trimmer specified, default to B-run trimming
    only. if trimmer is set to a supported type, perform that trimming
    instead.

    """
    to_trim = [x for x in [fastq1, fastq2] if x is not None]
    # this block is to maintain legacy configuration files
    trim_reads = config["algorithm"].get("trim_reads", False)
    if not trim_reads:
        logger.info("Skipping trimming of %s." % (", ".join(to_trim)))
        return [(fastq1, fastq2, info, lane_name, lane_desc, dirs, config)]

    # swap the default to None if trim_reads gets deprecated



    if trim_reads == "low_quality" or trim_reads == "true":
        logger.info("Trimming low quality ends from %s."
                    % (", ".join(to_trim)))
        out_files = brun_trim_fastq(to_trim, dirs, config)

    if trim_reads == "read_through":
        logger.info("Trimming low quality ends and read through adapter "
                    "sequence from %s." % (", ".join(to_trim)))
        out_files = trim_read_through(to_trim, dirs, config)

    else:
        logger.info("Trimming low quality ends from %s."
                    % (", ".join(to_trim)))
        out_files = brun_trim_fastq(to_trim, dirs, config)

    fastq1 = out_files[0]
    if fastq2 is not None:
        fastq2 = out_files[1]

    return [(fastq1, fastq2, info, lane_name, lane_desc, dirs, config)]
Пример #4
0
def trim_lane(fastq1, fastq2, info, lane_name, lane_desc, dirs, config):
    """
    if trim_reads is set with no trimmer specified, default to B-run trimming
    only. if trimmer is set to a supported type, perform that trimming
    instead.

    """
    to_trim = [x for x in [fastq1, fastq2] if x is not None]
    # this block is to maintain legacy configuration files
    trim_reads = config["algorithm"].get("trim_reads", False)
    if not trim_reads:
        logger.info("Skipping trimming of %s." % (", ".join(to_trim)))
        return [(fastq1, fastq2, info, lane_name, lane_desc, dirs, config)]

    # swap the default to None if trim_reads gets deprecated

    if trim_reads == "low_quality" or trim_reads == "true":
        logger.info("Trimming low quality ends from %s." %
                    (", ".join(to_trim)))
        out_files = brun_trim_fastq(to_trim, dirs, config)

    if trim_reads == "read_through":
        logger.info("Trimming low quality ends and read through adapter "
                    "sequence from %s." % (", ".join(to_trim)))
        out_files = trim_read_through(to_trim, dirs, config)

    else:
        logger.info("Trimming low quality ends from %s." %
                    (", ".join(to_trim)))
        out_files = brun_trim_fastq(to_trim, dirs, config)

    fastq1 = out_files[0]
    if fastq2 is not None:
        fastq2 = out_files[1]

    return [(fastq1, fastq2, info, lane_name, lane_desc, dirs, config)]
Пример #5
0
 def test_single(self):
     single = self.config["input_single"]
     out_file = trim_read_through(single, self.config["dir"], self.config)
     correct_file = self._trim_single_correct(out_file)
     self.assertTrue(filecmp.cmp(correct_file, out_file))
     shutil.rmtree(self.root_work)
Пример #6
0
 def test_pairedend(self):
     paired = self.config["input_paired"]
     out_files = trim_read_through(paired, self.config["dir"], self.config)
     correct_files = map(self._trim_paired_correct, out_files)
     self.assertTrue(all(map(filecmp.cmp, correct_files, out_files)))
     shutil.rmtree(self.root_work)
Пример #7
0
 def test_single(self):
     single = self.config["input_single"]
     out_file = trim_read_through(single, self.config["dir"], self.config)
     correct_file = self._trim_single_correct(out_file)
     self.assertTrue(filecmp.cmp(correct_file, out_file))
     shutil.rmtree(self.root_work)
Пример #8
0
 def test_pairedend(self):
     paired = self.config["input_paired"]
     out_files = trim_read_through(paired, self.config["dir"], self.config)
     correct_files = map(self._trim_paired_correct, out_files)
     self.assertTrue(all(map(filecmp.cmp, correct_files, out_files)))
     shutil.rmtree(self.root_work)