Source code for latch.verified.rnaseq

from dataclasses import dataclass
from enum import Enum
from typing import List, Optional, Union

from dataclasses_json import dataclass_json
from flytekit.core.launch_plan import reference_launch_plan

from ..types.directory import LatchDir
from ..types.file import LatchFile


[docs]@dataclass_json @dataclass class SingleEndReads: r1: LatchFile
[docs]@dataclass_json @dataclass class PairedEndReads: r1: LatchFile r2: LatchFile
[docs]class ReadType(Enum): single = "single" paired = "paired"
[docs]class Strandedness(Enum): auto = "auto"
Replicate = Union[SingleEndReads, PairedEndReads]
[docs]@dataclass_json @dataclass class Sample: name: str strandedness: Strandedness replicates: List[Replicate]
[docs]class LatchGenome(Enum): RefSeq_hg38_p14 = "Homo sapiens (RefSeq hg38.p14)" RefSeq_T2T_CHM13v2_0 = "Homo sapiens (RefSeq T2T-CHM13v2.0)" RefSeq_R64 = "Saccharomyces cerevisiae (RefSeq R64)" RefSeq_GRCm39 = "Mus musculus (RefSeq GRCm39)"
[docs]class AlignmentTools(Enum): star_salmon = "Traditional Alignment + Quantification" salmon = "Selective Alignment + Quantification"
@reference_launch_plan( project="1", domain="development", name="wf.__init__.rnaseq", version="0.0.317-f53c0e", ) def rnaseq( samples: List[Sample], alignment_quantification_tools: AlignmentTools, ta_ref_genome_fork: str, sa_ref_genome_fork: str, output_location_fork: str, run_name: str, latch_genome: LatchGenome, bams: List[List[LatchFile]], custom_gtf: Optional[LatchFile] = None, custom_ref_genome: Optional[LatchFile] = None, custom_ref_trans: Optional[LatchFile] = None, star_index: Optional[LatchFile] = None, salmon_index: Optional[LatchFile] = None, save_indices: bool = False, custom_output_dir: Optional[LatchDir] = None, ) -> List[LatchFile]: ...