text: user180: I am running samtools mpileup (v1.4) on a bam file with very choppy coverage (ChIP-seq style data). I want to get a first-pass list of positions with SNVs and their frequency as reported by the read counts, but no matter what I do, I keep getting all SNVs filtered out as not passing QC.
  What's the magic parameter set for an initial list of SNVs and frequencies?
  EDIT: this is a question I posted on "the other" website, but didn't get a reply there.
  
  user37: Another approach is htsbox. You can get a candidate list with:
  htsbox pileup -Cvcf ref.fa -q20 -Q20 -s5 file.bam > out.vcf
  
  Here, -q sets min mapping quality, -Q sets min base quality, -v outputs variants only -c outputs VCF, -C gives you base counts on both strands and finally -s5 requires at least 5 high-quality bases to call out an allele. It is useful when your data are failing the assumptions made by typical variant callers.
  Why not samtools+bcftools or varscan? Transparency and speed. This command line simply counts based on the parameters you use. It does not apply additional operations. And because of this, it is over an order of magnitude faster than samtools mpileup or varscan. It is worth noting that samtools uses BAQ by default, which reduces FPs occasionally. However, BAQ is not quite necessary for longer Illumina reads and it hurts sensitivity at the same time.
  
  user35: I used this in the past for ChIP-seq data and it generated SNVs:
  samtools mpileup \
  --uncompressed --max-depth 10000 --min-MQ 20 --ignore-RG --skip-indels \
  --fasta-ref ref.fa file.bam \
  | bcftools call --consensus-caller \
  > out.vcf
  
  This was samtools 1.3 in case that makes a difference.
  
original_text: 180: <p>I am running samtools mpileup (v1.4) on a bam file with very choppy coverage (ChIP-seq style data). I want to get a first-pass list of positions with SNVs and their frequency as reported by the read counts, but no matter what I do, I keep getting all SNVs filtered out as not passing QC.</p>
  
  <p>What's the magic parameter set for an initial list of SNVs and frequencies?</p>
  
  <p>EDIT: this is a question I posted on "the other" website, but didn't get a reply there.</p>
   37: <p>Another approach is <a href="https://github.com/lh3/htsbox" rel="noreferrer">htsbox</a>. You can get a candidate list with:</p>
  
  <pre><code>htsbox pileup -Cvcf ref.fa -q20 -Q20 -s5 file.bam &gt; out.vcf
  </code></pre>
  
  <p>Here, <code>-q</code> sets min mapping quality, <code>-Q</code> sets min base quality, <code>-v</code> outputs variants only <code>-c</code> outputs VCF, <code>-C</code> gives you base counts on both strands and finally <code>-s5</code> requires at least 5 high-quality bases to call out an allele. It is useful when your data are failing the assumptions made by typical variant callers.</p>
  
  <p>Why not samtools+bcftools or varscan? Transparency and speed. This command line simply counts based on the parameters you use. It does not apply additional operations. And because of this, it is over an order of magnitude faster than samtools mpileup or varscan. It is worth noting that samtools uses BAQ by default, which reduces FPs occasionally. However, BAQ is not quite necessary for longer Illumina reads and it hurts sensitivity at the same time.</p>
   35: <p>I used this in the past for ChIP-seq data and it generated SNVs:</p>
  
  <pre><code>samtools mpileup \
  --uncompressed --max-depth 10000 --min-MQ 20 --ignore-RG --skip-indels \
  --fasta-ref ref.fa file.bam \
  | bcftools call --consensus-caller \
  &gt; out.vcf
  </code></pre>
  
  <p>This was samtools 1.3 in case that makes a difference.</p>
  