Skip to main content

No project description provided

Project description

SMACK (Single-cell Mitochondrial Analysis CLI Kit)

Welcome!

Typer

SMACK is built using the python Typer library, https://typer.tiangolo.com/ (MIT License)

Auto-generated Docs

Usage:

$ smack [OPTIONS] COMMAND [ARGS]...

Options:

  • -v, --verbose, --debug / -nv, --no-verbose: Provides detailed logging about all processess [default: no-verbose]
  • --keep-temp-files / --no-keep-temp-files: Keep temp files used throughout the process. If False, only final outputs will be kept and other files will be deleted. [default: no-keep-temp-files]
  • --dry-run / --no-dry-run: Verify input data and arguments without executing downstream commands [default: no-dry-run]
  • -wd, --working-directory TEXT: Set working directory for temp and final output files [default: /lila/data/lareauc/levinej/smack_working_directory]
  • --install-completion: Install completion for the current shell.
  • --show-completion: Show completion for the current shell, to copy it or customize the installation.
  • --help: Show this message and exit.

Commands:

  • genotype: Go from a single BAM --> Directory of H5...
  • get-supported-genomes: Prints which genomes have built-in support
  • get-supported-filter-sets: Prints the preset filter sets for...
  • filter-variants: Collect All Possible Variants from the...

smack genotype

Go from a single BAM --> Directory of H5 Files Containing Consensus Call

Usage:

$ smack genotype [OPTIONS] INPUT_BAM H5_DIRECTORY

Arguments:

  • INPUT_BAM: Path to input BAM file [required]
  • H5_DIRECTORY: Directory to store output H5 files [required]

Options:

  • -bf, --barcodes-file TEXT: Path to input barcodes file
  • -id, --sample-id TEXT: Sample ID for metadata. Defaults to path of input BAM
  • -g, --genome [GRCh37|GRCh38|GRCm38|GRCz10|hg19_chrM|hg19|hg38|mm10|mm9|NC_012920|rCRS|CUSTOM]: Name of genome or 'CUSTOM', along with --custom-genome-path . Run get-supported-genomes to see list of built-in genomes. [default: rCRS]
  • --custom-genome-path TEXT: Path to valid genome FASTA
  • -bc, --barcode-tag TEXT: Tag for cell barcodes in BAM file (usually 'BC' or 'CB') [default: BC]
  • -um, --umi-mode [eUMI|UMI]: Group molecules based on eUMI (endogenous) or UMI (literal) [default: eUMI]
  • -ub, --umi-barcode-tag TEXT: Tag for UMI barcode in BAM file. Ignored if umi-mode='eUMI'
  • -c, --ncores TEXT: Number of cores to use. Either integer or 'detect' for auto-detecting based on system hardware. [default: detect]
  • -bq, --base-quality INTEGER: Minimum per base quality score at position X to be considered a valid read at X [default: 10]
  • -mapq, --map-quality INTEGER: Minimum map quality for a read pair to be considered valid [default: 30]
  • -es, --max-eUMI-size INTEGER: Maximum eUMI size. eUMIs that are too large are likely artifacts from misalignments [default: 1000]
  • -et, --eUMI-trim INTEGER: Number of bp to trim off each side of eUMI for position edge bias [default: 0]
  • --help: Show this message and exit.

smack get-supported-genomes

Prints which genomes have built-in support

Usage:

$ smack get-supported-genomes [OPTIONS]

Options:

  • --help: Show this message and exit.

smack get-supported-filter-sets

Prints the preset filter sets for variants, and which technology it is recommended for

Usage:

$ smack get-supported-filter-sets [OPTIONS]

Options:

  • --help: Show this message and exit.

smack filter-variants

Collect All Possible Variants from the split H5 files. Filter based on parameters. H5 directory --> Filtered Variants and Stats

Usage:

$ smack filter-variants [OPTIONS] H5_DIRECTORY FILTER_SET:{mtscATAC|REDEEM|MAESTER|DLP|SMART_SEQ|CUSTOM}

Arguments:

  • H5_DIRECTORY: Path to h5 directory. Should be the same path output by genotype command. Can also be a list of directories if multi-sample=True [required]
  • FILTER_SET:{mtscATAC|REDEEM|MAESTER|DLP|SMART_SEQ|CUSTOM}: Name of filter set to use or 'CUSTOM', along with all parameters set as kwargs. Run get-supported-filter-sets to see list of built-in filter sets. [required]

Options:

  • -um, --umi-mode [eUMI|UMI]: Group molecules based on eUMI (endogenous) or UMI (literal) [default: eUMI]
  • --min-barcode-depth INTEGER: Minimum depth for a cell/barcode to be kept [default: 10]
  • --help: Show this message and exit.

Pytest Tests

python -m pytest test_app.py -s Note: Since printed statements are a key part of the CLI app, the tests rely on stdout and thus will faily if you don't include the "-s" command. Note: These tests are not traditional "unit" tests as not all functionality is mocked out, but are also not "integration" tests. While there are no database or web calls (like in integration tests), there are calls to subprocess/multiprocessing threads that do actual processing and return actual return codes. As a result, some of the tests can take up to 5 minutes to run, but are more representative of real runtime conditions.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

smack_app-0.1.0.tar.gz (54.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

smack_app-0.1.0-py3-none-any.whl (54.6 MB view details)

Uploaded Python 3

File details

Details for the file smack_app-0.1.0.tar.gz.

File metadata

  • Download URL: smack_app-0.1.0.tar.gz
  • Upload date:
  • Size: 54.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.11.5 Linux/3.10.0-957.12.2.el7.x86_64

File hashes

Hashes for smack_app-0.1.0.tar.gz
Algorithm Hash digest
SHA256 3571b6f4e075eaa022387b99adfe6aac3d907d0d12ec0da36812b997dde88e6f
MD5 5f18ae05dd5fd3b78043ad596faba635
BLAKE2b-256 c35c17232d88ca467c13131e97d5574da8fe34e11d9cddaa136c0f7ab909e0a3

See more details on using hashes here.

File details

Details for the file smack_app-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: smack_app-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 54.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.11.5 Linux/3.10.0-957.12.2.el7.x86_64

File hashes

Hashes for smack_app-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 833dc138eed6087b1118b4efffd29555def745d5b4c2c6f6e99300706b497e29
MD5 7f8d1f778df6a1ce8c34820e428403f3
BLAKE2b-256 ba5c19b5170fe1dd18707e2fbf269bfb7506c9480b288ba9cb3b8864cb0051ed

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page