Ejemplo n.º 1
0
def _adapterremoval_pe(config):
    node_params = {"input_files_1"  : ("tests/data/raw_reads/pe_reads_R1_001.fastq.gz",
                                       "tests/data/raw_reads/pe_reads_R1_002.fastq.gz"),
                   "input_files_2"  : ("tests/data/raw_reads/pe_reads_R2_001.fastq.gz",
                                       "tests/data/raw_reads/pe_reads_R2_002.fastq.gz"),
                   "dependencies"   : config.dependencies}

    standard = PE_AdapterRemovalNode(output_prefix = os.path.join(config.destination, "pe_standard"),
                                     **node_params)
    custom   = PE_AdapterRemovalNode.customize(output_prefix = os.path.join(config.destination, "pe_custom"),
                                               **node_params)
    custom.command.set_option("--minlength", 30)

    return MetaNode(description  = "AdapterRemoval_PE",
                    dependencies = [standard, custom.build_node()])
Ejemplo n.º 2
0
    def _init_raw_reads(self, config, record):
        version = VERSION_14
        if record["Options"]["AdapterRemoval"]["Version"] == "v1.5+":
            version = VERSION_15

        output_format = record["Options"]["CompressionFormat"]
        output_prefix = os.path.join(self.folder, "reads")
        files = record["Data"]
        if ("SE" in files):
            # This returns a named tuple containing the parameters for the AdapterRemoval Node
            command = SE_AdapterRemovalNode.customize(
                input_files=files["SE"],
                output_prefix=output_prefix,
                output_format=output_format,
                version=version)
            self.files[
                "Single"] = output_prefix + ".truncated." + output_format
        else:
            command = PE_AdapterRemovalNode.customize(
                input_files_1=files["PE_1"],
                input_files_2=files["PE_2"],
                output_prefix=output_prefix,
                output_format=output_format,
                version=version)
            self.files[
                "Paired"] = output_prefix + ".pair{Pair}.truncated." + output_format
            if version is VERSION_14:
                self.files[
                    "Single"] = output_prefix + ".singleton.unaln.truncated." + output_format
                self.files[
                    "Collapsed"] = output_prefix + ".singleton.aln.truncated." + output_format
            else:
                self.files[
                    "Single"] = output_prefix + ".singleton.truncated." + output_format
                self.files[
                    "Collapsed"] = output_prefix + ".collapsed." + output_format
                self.files[
                    "CollapsedTruncated"] = output_prefix + ".collapsed.truncated." + output_format

        self.stats = output_prefix + ".settings"

        quality_offset = self.quality_offset  # record["Options"]["QualityOffset"]
        if quality_offset == "Solexa":
            quality_offset = 64
        command.command.set_option("--qualitybase", quality_offset)
        apply_options(command.command, record["Options"]["AdapterRemoval"])

        self.nodes = (command.build_node(), )
Ejemplo n.º 3
0
    def _init_raw_reads(self, record):
        # Support for older versions of the pipeline, which used ARv1.0 - 1.4
        version = VERSION_14
        if record["Options"]["AdapterRemoval"]["Version"] == "v1.5+":
            version = VERSION_15

        quality_offset = self.quality_offset
        if quality_offset == "Solexa":
            quality_offset = 64

        ar_options = dict(record["Options"]["AdapterRemoval"])
        # Setup of "--collapsed" is handled by the node itself
        collapse_reads = ar_options.pop("--collapse")
        collapse_reads = collapse_reads or collapse_reads is None

        init_args = {
            "output_prefix": os.path.join(self.folder, "reads"),
            "output_format": record["Options"]["CompressionFormat"],
            "quality_offset": quality_offset,
            "version": version
        }
        output_tmpl = "{output_prefix}.%s.{output_format}".format(**init_args)

        if ("SE" in record["Data"]):
            self.files["Single"] = output_tmpl % ("truncated", )
            init_args["input_files"] = record["Data"]["SE"]
            command = SE_AdapterRemovalNode.customize(**init_args)
        else:
            if version is VERSION_14:
                self._set_adapterrm_v14_files(self.files, output_tmpl)
            else:
                self._set_adapterrm_v15_files(self.files, output_tmpl,
                                              collapse_reads)

            init_args["collapse"] = collapse_reads
            init_args["input_files_1"] = record["Data"]["PE_1"]
            init_args["input_files_2"] = record["Data"]["PE_2"]
            command = PE_AdapterRemovalNode.customize(**init_args)

        apply_options(command.command, ar_options)
        self.stats = os.path.join(self.folder, "reads.settings")
        self.nodes = (command.build_node(), )
Ejemplo n.º 4
0
    def _init_raw_reads(self, config, record):
        version = VERSION_14
        if record["Options"]["AdapterRemoval"]["Version"] == "v1.5+":
            version = VERSION_15

        output_format = record["Options"]["CompressionFormat"]
        output_prefix = os.path.join(self.folder, "reads")
        files = record["Data"]
        if ("SE" in files):
            # This returns a named tuple containing the parameters for the AdapterRemoval Node
            command = SE_AdapterRemovalNode.customize(input_files   = files["SE"],
                                                      output_prefix = output_prefix,
                                                      output_format = output_format,
                                                      version       = version)
            self.files["Single"] = output_prefix + ".truncated." + output_format
        else:
            command = PE_AdapterRemovalNode.customize(input_files_1 = files["PE_1"],
                                                      input_files_2 = files["PE_2"],
                                                      output_prefix = output_prefix,
                                                      output_format = output_format,
                                                      version       = version)
            self.files["Paired"]    = output_prefix + ".pair{Pair}.truncated." + output_format
            if version is VERSION_14:
                self.files["Single"]    = output_prefix + ".singleton.unaln.truncated."  + output_format
                self.files["Collapsed"] = output_prefix + ".singleton.aln.truncated." + output_format
            else:
                self.files["Single"]    = output_prefix + ".singleton.truncated."  + output_format
                self.files["Collapsed"] = output_prefix + ".collapsed." + output_format
                self.files["CollapsedTruncated"] = output_prefix + ".collapsed.truncated." + output_format

        self.stats = output_prefix + ".settings"

        quality_offset = self.quality_offset # record["Options"]["QualityOffset"]
        if quality_offset == "Solexa":
            quality_offset = 64
        command.command.set_option("--qualitybase", quality_offset)
        apply_options(command.command, record["Options"]["AdapterRemoval"])

        self.nodes = (command.build_node(),)