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()])
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(), )
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(), )
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(),)