{"id":19749503,"url":"https://github.com/mskcc/htstools","last_synced_at":"2025-10-17T08:07:23.429Z","repository":{"id":68535837,"uuid":"64328978","full_name":"mskcc/htstools","owner":"mskcc","description":null,"archived":false,"fork":false,"pushed_at":"2018-01-04T00:42:44.000Z","size":23,"stargazers_count":5,"open_issues_count":6,"forks_count":3,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-04-30T09:49:39.459Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mskcc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2016-07-27T17:37:15.000Z","updated_at":"2024-07-24T06:56:44.000Z","dependencies_parsed_at":"2023-07-04T11:01:42.288Z","dependency_job_id":null,"html_url":"https://github.com/mskcc/htstools","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/mskcc/htstools","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mskcc%2Fhtstools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mskcc%2Fhtstools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mskcc%2Fhtstools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mskcc%2Fhtstools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mskcc","download_url":"https://codeload.github.com/mskcc/htstools/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mskcc%2Fhtstools/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279308388,"owners_count":26144926,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-17T02:00:07.504Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T02:27:00.862Z","updated_at":"2025-10-17T08:07:23.424Z","avatar_url":"https://github.com/mskcc.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# htstools \nContains three tools (dnafrags, ppflag-fixer, snp-pileup) written by Alex Studer to process bam files for downstream copy number analysis. \n\n## Installation\nFirst, HTSlib must be installed on your system. To do that, [download](http://www.htslib.org/download/) it and follow the \"Building and installing\" instructions on that page.\n\nThen, download this code, extract it, `cd` to where you extracted it, and run the following:\n```shell\ng++ -std=c++11 snp-pileup.cpp -lhts -o snp-pileup     # for snp-pileup\n```\nwhen htslib is available systemwide, or\n```shell\ng++ -std=c++11 -I/path/htslib/include snp-pileup.cpp -L/path/htslib/lib -lhts -Wl,-rpath=/path/htslib/lib -o snp-pileup \n```\nwhen it is installed locally and `path` is the location where it is available. The other two tools `ppflag-fixer` and `dnafrags` can be compiled likewise.\n\n## snp-pileup\nThis application will, given a VCF file containing SNP locations, output for each SNP the counts of the reference nucleotide, alternative nucleotide, errors, and deletions.\n\n### Usage\n`snp-pileup \u003cvcf file\u003e \u003coutput file\u003e \u003csequence files...\u003e`\n\nUsage of snp-pileup requires a VCF file and one (or multiple) sequence files containing DNA. The sequence files should be in the BAM format, and both the VCF and all sequence files must be sorted.\n\n### Parameters\nHere is a list of all parameters `snp-pileup` accepts and information about what they do. Some of them, such as `-q`, `-Q`, `-A`, and `-x`, are the same as their equivalent in `samtools mpileup`, and are used the same way.\n\n* `-A, --count-orphans`\nThis option will enable counting reads that are not properly paired.\n* `-d, --max-depth=DEPTH`\nThis option will set the maximum number of reads per position\u0026mdash;after `DEPTH` many reads, no more reads will be counted. Default is 4000.\n* `-p, --progress`\nThis option will display a progress bar displaying the percentage of SNPs completed. This option requires the program to run through the VCF file an extra time (to count it); as such it is not recommended for use with large VCF files.\n* `-P, --pseudo-snps=MULTIPLE\"\nThis option will insert a record every `MULTIPLE` positions that will count how many bases are at that position, even if there is no SNP already there.\n* `-q, --min-map-quality=QUALITY`\nThis option sets a minimum threshold for the mapping quality of a read. Reads with a mapping quality below `QUALITY` will be ignored. Default is 0.\n* `-Q, --min-base-quality=QUALITY`\nThis option sets a minimum threshold for the quality of a nucleotide. Bases with a quality below `QUALITY` will be ignored. Default is 0.\n* `-r, --min-read-counts=READS`\nThis option will the minimum read count for a SNP to be written to the output file. `READS` is a comma separated list of minimum read counts for each file. For example, setting `READS` to `25,20,10,0` would make a SNP require 25 reads in file 1, 20 reads in file 2, 10 reads in file 3, and 0 reads in file 4\u0026mdash;SNPs that don't meet these requirements would be ignored. Default is 0 for all files.\n* `-v, --verbose`\nThis option enables detailed messages.\n* `-x, --ignore-overlaps`\nBy default, snp-pileup will try to detect where paired reads overlap and count those overlaps as a single read, instead of two different reads that are from the same fragment. This option will disable that detection.\n\nYou can view this list at any time by using `--help`.\n### Limitations\nSNPs where there are multiple nucleotides changing will be ignored, and all minimum thresholds (except for the minimum read count) apply equally to all files\u0026mdash;there is no way to set them on a per-file basis.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmskcc%2Fhtstools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmskcc%2Fhtstools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmskcc%2Fhtstools/lists"}