from typing import Optional from pydantic import BaseSettings, Field import os class EnvBeagle(BaseSettings): vcf: str = Field(description='Path to the target vcf file') samples: Optional[str] = Field(default=None, description='Path to VCF with other samples for conform checks, not required if ' 'target VCF contains data for at least 20 individuals') conform: str = Field(description='Path to conform .jar file') beagle: str = Field(description='Path to beagle .jar file') ref: str = Field(description='Path to folder with reference genome:' ' .vcf.gz files are expected to start with "chr1."..."chr22.", "chrX."') maps: str = Field(description='Path to folder with PLINK format genetic maps, files are expected to start with' '"plink.chr1.", ..."plink.chr22.", "plink.chrX."') gb: int = Field(description='Number of gigabytes for running beagle') class Config: env_file = os.path.dirname(os.path.abspath(__file__))+"/.env_paths" IMPUTATION_SETTINGS = EnvBeagle()