Source code for ideal_genom.post_imputation.vcf_to_plink


"""Module for converting VCF files to PLINK binary format.

This module provides the GetPLINK class for converting post-imputation VCF files
to PLINK binary format for downstream genomic analysis. The conversion process
handles resource management, file validation, and supports both initial conversion
and family information updates.
"""

import logging

from pathlib import Path
from typing import Optional

import pandas as pd

from ..core.utils import validate_input_file, get_optimal_threads, get_available_memory
from ..core.executor import run_plink2

logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s")
logger = logging.getLogger(__name__)