Skip to content

v4.5.0

Choose a tag to compare

@quwubin quwubin released this 29 Jul 01:02
6b4fc32

MFEprimer v4.5.0

Fix --snp for FASTA input, and expose SNP QC counts in *.spec.tsv.

Highlights

  • Fix: --snp on FASTA primer input
    The batch specificity path (mfeprimer / mfeprimer spec with FASTA -i) accepted --snp and printed it under Parameters, but never ran SNP annotation on predicted amplicons (the * marks in Amplicon details / SNP count columns). That is separate from --bind, which reports genome-wide primer hit sites. SNP annotation now runs before report / TSV output. (TSV pair input name fp rp already worked.)

  • *.spec.tsv: SNP QC columns (breaking layout)
    Four integer columns are inserted before note:

    fpSNP rpSNP fpSnpDanger rpSnpDanger

    Column Meaning
    fpSNP / rpSNP SNPs overlapping the forward / reverse primer–template duplex on the predicted amplicon
    fpSnpDanger / rpSnpDanger Subset within 6 bp of the primer 3′ end

    Without --snp, all four columns are 0 (columns are always present). --snp does not change which amplicons are predicted.

    Full header:

    #name	chrom	ampStart	ampEnd	ampGC	ampSize	productTm	ta	fpName	fpStart	fpEnd	fpSeq	fpTm	fpGC	fpDg	rpName	rpEnd	rpStart	rpSeq	rpTm	rpGC	rpDg	fpSNP	rpSNP	fpSnpDanger	rpSnpDanger	note
    

    Parsers that assumed a fixed column index for note must be updated. Prefer parsing by column name.

Example (official chrM fixture)

wget -c https://github.com/quwubin/MFEprimer-3.0/raw/master/chrM.fa
wget -c https://github.com/quwubin/MFEprimer-3.0/raw/master/p.fa
wget -c https://github.com/quwubin/MFEprimer-3.0/raw/master/snp.bed

./mfeprimer index -i chrM.fa
./mfeprimer -i p.fa -d chrM.fa --snp snp.bed -o out

In the text report, Amp 1 (p3 + p4) shows * under primer bases that overlap SNPs. In out.spec.tsv, expect non-zero fpSNP / rpSNP for that row.

Notes

  • Chromosome names in the SNP BED must match FASTA headers (chr11).
  • BED coordinates are standard 0-based half-open.
  • Related: issue #35.