# pyEager

A simple package to read in eager results.

## Available functions

- `compile_endogenous_table()`: Creates a compiled table of endogenous DNA statistics from endorspy including all the information in the list of JSON file paths provided. Wraps `parse_endorspy_json` on all provided JSON paths.
  - `parse_endorspy_json()`: Read in the information in a single endorspy JSON file.
- `compile_damage_table()`: Creates a compiled table of select DamageProfiler and mapDamage2 results from the list of DamageProfiler JSON files and/or mapDamage2 result directories provided. Ths resulting dataframe includes the number of reads analysed as well as the damage in the first 2 bp of either end of DNA molecules for each sample.
  - `collect_damageprofiler_results()`: Collects the results from multiple damageprofiler JSON output files into a large dictionary containing all the results for each sample. This function wraps `parse_damageprofiler_json` across all provided JSON files.
    - `parse_damageprofiler_json()`: Read in the information in a single damageprofiler JSON output file.
  - `collect_mapdamage_results()`: Collects the results from multiple mapDamage2 result directories into a large dictionary containing all the results for each sample. This function wraps `parse_mapdamage_results` across all provided result directories.
    - `parse_mapdamage_results()`: Read in the information in a single mapDamage2 results directory.
      An additional parameter `standardise_colnames` can be used to standardise the column names of the resulting dataframe to match those generated by `parse_damageprofiler_json`.
- `compile_snp_coverage_table()`: Creates a compiled table of SNP coverage results from the list of JSON files provided. Wraps `parse_snp_coverage_json` across all provided JSON files
  - `parse_snp_coverage_json()`: Read in the information in a single SNP coverage JSON file.
- `parse_sexdeterrmine_json()`: Reads in the Sexdeterrmine output JSON into a dataframe.
- `parse_nuclear_contamination_json()`: Reads in the nuclear contamination output JSON into a dataframe.
- `parse_eager_tsv()`: Reads in the eager input TSV into a dataframe, with additional columns specifying what merging steps took place.
- `infer_merged_bam_names()`: Infer the names of eager output files based on the merging steps that took place.
- `parse_general_stats_table()`: Reads in the general stats table output of MultiQC into a dataframe.

## Installation

<!-- TODO Add installation instructions -->

## Usage

<!-- TODO Add usage examples -->

## License

[MIT](LICENSE.txt)
