v4.5.0
MFEprimer v4.5.0
Fix --snp for FASTA input, and expose SNP QC counts in *.spec.tsv.
Highlights
-
Fix:
--snpon FASTA primer input
The batch specificity path (mfeprimer/mfeprimer specwith FASTA-i) accepted--snpand 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 inputname fp rpalready worked.) -
*.spec.tsv: SNP QC columns (breaking layout)
Four integer columns are inserted beforenote:fpSNP rpSNP fpSnpDanger rpSnpDangerColumn Meaning fpSNP/rpSNPSNPs overlapping the forward / reverse primer–template duplex on the predicted amplicon fpSnpDanger/rpSnpDangerSubset within 6 bp of the primer 3′ end Without
--snp, all four columns are0(columns are always present).--snpdoes 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 noteParsers that assumed a fixed column index for
notemust 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 outIn 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 (
chr1≠1). - BED coordinates are standard 0-based half-open.
- Related: issue #35.