freqsap.__main__ ================ .. py:module:: freqsap.__main__ .. autoapi-nested-parse:: Command-line interface for the freqsap package. This module provides the main entry point for querying protein variants and their population frequencies from various databases. Functions --------- .. autoapisummary:: freqsap.__main__.parse_args freqsap.__main__.write_reports freqsap.__main__._write_csv freqsap.__main__._write_xlsx freqsap.__main__.check_apis freqsap.__main__.main Module Contents --------------- .. py:function:: parse_args() -> argparse.Namespace Parse command line arguments. :returns: Parsed command line arguments containing: - accession: Protein accession identifier - output: Path to output file - protein_api: Protein variant API choice (uniprot or ebi) - frequency_api: Variant frequency API choice (dbsnp) - delimiter: Output file delimiter (default: tab) :rtype: argparse.Namespace .. py:function:: write_reports(reports: list[freqsap.report.ReferenceSNPReport], regions: list[str], output_path: str, delimiter: str) -> None Write all reports to the output file in delimited format. :param reports: List of ReferenceSNPReport objects to write :param regions: List of region populations to report. :param output_path: Path to the output file :param delimiter: Character to use as field delimiter (e.g., '\t' or ','). Use 'xlsx' for Excel format. :returns: None :raises IOError: If the output file cannot be written :raises IndexError: If reports list is empty .. py:function:: _write_csv(reports: list[freqsap.report.ReferenceSNPReport], regions: list[str], output_path: str, header: list[str], delimiter: str) -> None Write reports to a delimited text file (CSV/TSV). :param reports: List of ReferenceSNPReport objects to write :param regions: List of populations to report. :param output_path: Path to the output file :param header: List of column headers :param delimiter: Character to use as field delimiter :returns: None .. py:function:: _write_xlsx(reports: list[freqsap.report.ReferenceSNPReport], regions: list[str], output_path: str, header: list[str]) -> None Write reports to an Excel file (XLSX format). :param reports: List of ReferenceSNPReport objects to write :param regions: List of region populations to report. :param output_path: Path to the output file :param header: List of column headers :returns: None :raises ImportError: If openpyxl is not installed .. py:function:: check_apis(protein_api: freqsap.interfaces.ProteinVariantAPI, frequency_api: freqsap.interfaces.VariantFrequencyAPI) -> None Check if the chosen APIs are available. :param protein_api: Instance of the protein variant API :param frequency_api: Instance of the variant frequency API :returns: None :raises SystemExit: If either API is not available .. py:function:: main() -> None Main entry point for the freqsap application. This function orchestrates the entire workflow: 1. Parses command line arguments 2. Instantiates the chosen protein and frequency APIs 3. Validates API availability 4. Queries protein variants using the accession 5. Collects frequency reports for all variants 6. Writes results to the specified output file :returns: None :raises SystemExit: If APIs are unavailable or other errors occur