

-------------------------------------------------------
CLI Simulation Mode
-------------------------------------------------------
- [x] fedgwas-sim data verify --> remove
- [x] fedgwas-sim baseline --> call functions or module in @pipeline/tools/generate_baseline.py (because I move generate_baseline.py from @experiments/tools to @pipeline/tools, you need to first check whether we have to modify the code in @pipeline/tools/generate_baseline.py (e.g. path, imports etc.), and then call the functions in CLI to avoid self-implementing the same logic in CLI, CLI should not contain functinalities of core pipeline, but only call the core pipeline functions)
- fedgwas-sim run --> add logic (fedgwas-sim check) only if all checks passed then it runs, otherwise it will print the error messages and exit. (use rich to prettity the outputs)
- fedgwas prepare-data --> need to make it support more functionalities
- fedgwas configure --> add it to CLI and refactor it 

evaluation functionalities
- [x] understand current evaluation logic
- use quarto-cli python package to generate evaluation report for more formats (e.g. qmd, pdf, html) 
  - initial logic (you can make it better) -- keep current code for generate current markdown and png files unchanged as shown in @pipeline/evaluation/README.md, use quarto to generate a new comprehensive report of result, with command line options (--format) if it sets to markdown, it uses orignal logic for markdown files and png files, if it sets to 'qmd', 'pdf', 'html' then use quarto-cli to merge them into a more better report and convert it into corresponding format, the final report contains (experiment summary, QC comparison with baseline, LR comparison with baseline, manhattan plot, qq plot, aggregated metrics, etc.) with user-friendly format, visualization, orginization (like a good research report for GWAS studies)
- rich CLI output evaluation report

-------------------------------------
- fedgwas evaluate - refer the to commandline in @pipeline/evaluation/README.md, make the CLI consistent with it and use the functions in @pipeline/evaluation modules to avoid self-implementing the same logic in CLI, CLI should not contain functinalities of core pipeline, but only call the core pipeline functions
- fedgwas results collect 




-------------------------------------
deployment cli - fedgwas-deploy cli for client

- mkdir my_study
- fedgwas-deploy init  --- intialize the deployment project (create necessary files and directories, e.g. config file, deployment script, plinks etc.)
  - `--default` option use to use default settings for deployment (e.g. default server ip, default port number, default plink files etc.)
- fedgwas-deploy configure --- configure the deployment (ip address, port number, etc.)
  - `--from-examples` option to use example configuration file for deployment (e.g. example server ip, example port number, etc.)
- fedgwas-deploy prepare-data --- prepare the data for deployment (e.g. check if plink files are ready, check if server is up and running, etc.) -> options for generating synthectic data (synthetic genome data with plink or others)
- fedgwas-deploy connect --- connect to the deployment server (check connection, authentication, etc.)
- fedgwas-deploy check --- check all local necessary files and remote server status for deployment (e.g. check if plink files are ready, check if server is up and running, etc.)

