from dataclasses import dataclass
from typing import List
from latch.types.directory import LatchDir, LatchOutputDir
from latch.types.file import LatchFile
from latch.types.metadata.latch import LatchAuthor
from latch.types.metadata.snakemake import SnakemakeParameter
from latch.types.metadata.snakemake_v2 import SnakemakeV2Metadata
@dataclass
class Sample:
name: str
r1: LatchFile
r2: LatchFile
metadata = SnakemakeV2Metadata(
display_name="Test Workflow",
author=LatchAuthor(),
parameters={
"samples": SnakemakeParameter(
display_name="Samples",
type=List[Sample],
samplesheet=True,
),
"results_dir": SnakemakeParameter(
display_name="Results Dir",
type=LatchOutputDir,
default=LatchDir("latch://123.account/results"),
),
},
)