# Command-Line Interface


<!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! -->

## Argument Parser

------------------------------------------------------------------------

<a
href="https://github.com/mtinti/OligoSeeker/blob/main/OligoSeeker/cli.py#L19"
target="_blank" style="float:right; font-size:smaller">source</a>

### create_parser

>  create_parser ()

\*Create command-line argument parser.

Returns: Configured argument parser\*

## Command-Line Runner

------------------------------------------------------------------------

<a
href="https://github.com/mtinti/OligoSeeker/blob/main/OligoSeeker/cli.py#L94"
target="_blank" style="float:right; font-size:smaller">source</a>

### validate_args

>  validate_args (args:argparse.Namespace)

\*Validate command-line arguments.

Args: args: Parsed command-line arguments

Returns: True if arguments are valid, False otherwise\*

------------------------------------------------------------------------

<a
href="https://github.com/mtinti/OligoSeeker/blob/main/OligoSeeker/cli.py#L125"
target="_blank" style="float:right; font-size:smaller">source</a>

### args_to_config

>  args_to_config (args:argparse.Namespace)

\*Convert command-line arguments to pipeline configuration.

Args: args: Parsed command-line arguments

Returns: Pipeline configuration object\*

------------------------------------------------------------------------

<a
href="https://github.com/mtinti/OligoSeeker/blob/main/OligoSeeker/cli.py#L151"
target="_blank" style="float:right; font-size:smaller">source</a>

### run_cli

>  run_cli (args:Optional[List[str]]=None)

\*Run the command-line interface.

Args: args: Command-line arguments (if None, uses sys.argv)

Returns: Exit code (0 for success, non-zero for failure)\*

------------------------------------------------------------------------

<a
href="https://github.com/mtinti/OligoSeeker/blob/main/OligoSeeker/cli.py#L237"
target="_blank" style="float:right; font-size:smaller">source</a>

### main

>  main ()

*Main entry point for command-line execution.*

``` python
!oligoseeker -m count \
--f1 ../test_files/test_1.fq.gz \
--f2 ../test_files/test_2.fq.gz \
--oligos "GCGGATTACATTNNNAAATAACATCGT,TGTGGTAAGCGGNNNGAAAGCATTTGT,GTCGTAGAAAATNNNTGGGTGATGAGC" \
--output ../test_files/test_outs --prefix test_cm3
```

    /Users/MTinti/miniconda3/envs/work3/lib/python3.10/site-packages/pandas/core/arrays/masked.py:60: UserWarning: Pandas requires version '1.3.6' or newer of 'bottleneck' (version '1.3.4' currently installed).
      from pandas.core import (
    2025-03-17 16:53:47,770 - INFO - Starting OligoCodonPipeline
    2025-03-17 16:53:47,770 - INFO - Loading oligo sequences...
    2025-03-17 16:53:47,770 - INFO - Loading oligos from provided string
    2025-03-17 16:53:47,770 - INFO - Loaded 3 oligo sequences
    2025-03-17 16:53:47,770 - INFO - Processing FASTQ files...
    2000it [00:00, 57245.66it/s]
    2025-03-17 16:53:47,839 - INFO - Formatting results...
    2025-03-17 16:53:47,841 - INFO - Saving results to: ../test_files/test_outs/test_cm3_counts.csv
    2025-03-17 16:53:47,847 - INFO - Pipeline completed in 0.08 seconds

    Results saved to:
      CSV: ../test_files/test_outs/test_cm3_counts.csv

    Processed 3 oligos in 0.08 seconds

``` python
!oligoseeker -m count \
--f1 ../test_files/test_1.fq.gz \
--f2 ../test_files/test_2.fq.gz \
--oligos-file '../test_files/oligos.txt' \
--output ../test_files/test_outs --prefix test_cm4
```

    /Users/MTinti/miniconda3/envs/work3/lib/python3.10/site-packages/pandas/core/arrays/masked.py:60: UserWarning: Pandas requires version '1.3.6' or newer of 'bottleneck' (version '1.3.4' currently installed).
      from pandas.core import (
    2025-03-11 20:03:03,960 - INFO - Starting OligoCodonPipeline
    2025-03-11 20:03:03,961 - INFO - Loading oligo sequences...
    2025-03-11 20:03:03,961 - INFO - Loading oligos from file: ../test_files/oligos.txt
    2025-03-11 20:03:03,961 - INFO - Loaded 3 oligo sequences
    2025-03-11 20:03:03,961 - INFO - Processing FASTQ files...
    2000it [00:00, 60738.60it/s]
    2025-03-11 20:03:04,009 - INFO - Formatting results...
    2025-03-11 20:03:04,011 - INFO - Saving results to: ../test_files/test_outs/test_cm4_counts.csv
    2025-03-11 20:03:04,017 - INFO - Pipeline completed in 0.06 seconds

    Results saved to:
      CSV: ../test_files/test_outs/test_cm4_counts.csv

    Processed 3 oligos in 0.06 seconds

``` python
!oligoseeker -m merge \
--output-file 'merge_cl.csv' \
--input-dir ../test_files/test_outs \
--output ../test_files/merged
```

    /Users/MTinti/miniconda3/envs/work3/lib/python3.10/site-packages/pandas/core/arrays/masked.py:60: UserWarning: Pandas requires version '1.3.6' or newer of 'bottleneck' (version '1.3.4' currently installed).
      from pandas.core import (
    Found 4 CSV files to merge
      Loaded ../test_files/test_outs/test2_counts.csv with 4 rows and 3 columns
      Loaded ../test_files/test_outs/test1_counts.csv with 4 rows and 3 columns
      Loaded ../test_files/test_outs/test_cm3_counts.csv with 3 rows and 2 columns
      Loaded ../test_files/test_outs/test_cm4_counts.csv with 4 rows and 3 columns
    Merged data saved to ../test_files/merged/merge_cl.csv

    Merge completed successfully!
    Merged 4 unique codons across all input files
    Results contain 3 oligo columns
