generated: '2026-09-04' method: searched source: https://github.com/watchmaker-genomics/TVC (README.md on main, read 2026-09-04) note: >- Watchmaker Genomics ships one first-party command-line tool. It is a bioinformatics binary, not an API client — it does not call any Watchmaker endpoint, and no CLI exists for the storefront APIs. Recorded because it is a real, versioned, documented command surface the company publishes and maintains. name: TVC — TAPS+ Variant Caller binary: tvc language: Rust license: LGPL-3.0 repository: https://github.com/watchmaker-genomics/TVC version: v1.1.1 released: '2026-08-13' calls_api: false install: - method: binary source: https://github.com/watchmaker-genomics/TVC/releases platforms: [macOS, Linux] note: Precompiled binaries published per release. - method: container command: 'docker pull public.ecr.aws/e5r9o8m6/watchmakergenomics/tvc:latest' run: 'docker run -it --rm public.ecr.aws/e5r9o8m6/watchmakergenomics/tvc:latest -h' note: amd64 only. The README's -it flag is there so the progress bar renders. - method: source command: 'docker build -t tvc ./' note: >- Building from source requires Git LFS (`git lfs install`, then `git lfs pull`) — test assets are LFS-tracked and the README says development cannot proceed without it. usage: 'tvc [OPTIONS] ' arguments: - {name: INPUT_REF, required: true, description: Reference FASTA file (must be indexed, .fai)} - {name: INPUT_BAM, required: true, description: 'Aligned and indexed BAM file (.bai, must carry NM tags)'} - {name: OUTPUT_VCF, required: true, description: Output VCF path} options: - {flag: '-b, --min-bq', arg: MIN_BQ, default: '20', description: Minimum base quality for considering a read position} - {flag: '-m, --min-mapq', arg: MIN_MAPQ, default: '1', description: Minimum mapping quality} - {flag: '-d, --min-depth', arg: MIN_DEPTH, default: '2', description: Minimum depth required to make a genotype call} - {flag: '-e, --end-of-read-cutoff', arg: END_OF_READ_CUTOFF, default: '5', description: Ignore bases within this distance from the end of the read for SNP calling} - {flag: '-i, --indel-end-of-read-cutoff', arg: INDEL_END_OF_READ_CUTOFF, default: '20', description: Ignore bases within this distance from read ends when calling indels} - {flag: '-x, --max-mismatches', arg: MAX_MISMATCHES, default: '10', description: Maximum allowed mismatches in an alignment for inclusion} - {flag: '-a, --min-ao', arg: MIN_AO, default: '2', description: Minimum alternate observations required for a variant call} - {flag: '-t, --num-threads', arg: NUM_THREADS, default: '4', description: Number of threads to use} - {flag: '-c, --chunk-size', arg: CHUNK_SIZE, default: '1000000', description: Number of reference bases processed per thread batch} - {flag: '-p, --error-rate', arg: ERROR_RATE, default: '0.005', description: Estimated per-base sequencing error rate used for binomial modeling} - {flag: '-r, --stranded_read', arg: READ_NUMBER, default: r1, description: 'The read that is in the same orientation as the molecule (r1/r2)'} - {flag: '-l, --log-level', arg: LOG_LEVEL, default: info, description: 'One of error, warn, info, debug, trace'} - {flag: '-h, --help', description: Print help message} example: | tvc \ -t 8 \ reference.fa \ sample.bam \ output.vcf constraints: - TVC assumes diploid genotypes. - >- TVC assumes R1 or R2 shares the orientation of the original molecule; adapters that do not preserve orientation (AB adapters) are not supported. - Reference and BAM must be indexed and BAMs must carry NM tags (default from BWA-MEM, Bowtie2). related: - {name: taps-foundry, url: 'https://github.com/watchmaker-genomics/taps-foundry', note: 'Companion methylation scripts, linked from the TVC README.'} - {name: TVC benchmarking notebook, url: 'https://github.com/watchmaker-genomics/TVC/blob/main/analysis/TVC_benchmarking.ipynb', note: 'F1 scores on a demo data set, published in-repo.'}