def outputs(self) -> List[ToolOutput]: return [ ToolOutput( "out", BamBai(), glob=InputSelector("outputFilename"), secondaries_present_as={".bai": "^.bai"}, ) ]
def inputs(self): return [ *super(SeqzBam2SeqBase, self).inputs(), ToolInput( "normal", BamBai(), prefix="--normal", position=2, doc="Name of the BAM/pileup file from the reference/normal sample", ), ToolInput( "tumour", BamBai(), prefix="--tumor", # How do you spell tumour? position=4, doc="Name of the BAM/pileup file from the reference/normal sample", ), ToolInput( "wiggle_file", File(), prefix="-gc", position=6, doc="The GC-content wiggle file", ), ToolInput( "fasta_reference", FastaFai(), prefix="--fasta", position=8, doc="The reference FASTA file used to generate the intermediate pileup. Required when input are BAM", ), ToolInput( "output_filename", Filename(extension=".gz"), prefix="--output", position=10, doc="Name of the output file. To use gzip compression name the file ending in .gz. Default STDOUT.", ), ]
def tests(self): remote_dir = "https://swift.rc.nectar.org.au/v1/AUTH_4df6e734a509497692be237549bbe9af/janis-test-data/bioinformatics/wgsgermline_data" return [ TTestCase( name="basic", input={ "sample_name": "NA12878-BRCA1", "fastq": [ f"{remote_dir}/NA12878-BRCA1_R1.fastq.gz", f"{remote_dir}/NA12878-BRCA1_R2.fastq.gz", ], "reference": f"{remote_dir}/Homo_sapiens_assembly38.chr17.fasta", "cutadapt_qualityCutoff": 15, "cutadapt_minimumLength": 50, "bwamem_markShorterSplits": True, "sortsam_sortOrder": "coordinate", "sortsam_createIndex": True, "sortsam_maxRecordsInRam": 5000000, "sortsam_tmpDir": "./tmp", "sortsam_validationStringency": "SILENT", }, output=BamBai.basic_test( "out", 2826000, 49688, f"{remote_dir}/NA12878-BRCA1.bam.flagstat", ), ), TTestCase( name="minimal", input={ "sample_name": "NA12878-BRCA1", "fastq": [ f"{remote_dir}/NA12878-BRCA1_R1.fastq.gz", f"{remote_dir}/NA12878-BRCA1_R2.fastq.gz", ], "reference": f"{remote_dir}/Homo_sapiens_assembly38.chr17.fasta", "cutadapt_qualityCutoff": 15, "cutadapt_minimumLength": 50, "bwamem_markShorterSplits": True, "sortsam_sortOrder": "coordinate", "sortsam_createIndex": True, "sortsam_maxRecordsInRam": 5000000, "sortsam_tmpDir": "./tmp", "sortsam_validationStringency": "SILENT", }, output=self.minimal_test(), ), ]
def inputs(self): return [ *self.additional_inputs, ToolInput("bam", BamBai(), position=10), ]