PCR Primer Quality Control
Added -T, --maxTm
option to mfeprimer
and mfeprimer spec
as requested in issue #24. The default value is set to 100 to prevent any unexpected outcomes for users who missed this information. The web server will implement this feature after it has been tested in the command-line version for a period of time.
In case of multiplex PCR for next-generation sequencing (e.g., tNGS), add three flags for output amplicons in fasta format.
compiled binaries for multiple platforms. #21 #20
mfeprimer dimer: fixed a bug when calculating delta G values. thanks https://github.com/quwubin/MFEprimer-3.0/issues/15#issue-1241966379.
remove -t
option for mfeprimer dimer, because the Tm for short dimers are not accurate and I recommended use delta G or Score to filter the dimers.
> mfeprimer dimer -h
analysis primer dimers
Usage:
mfeprimer dimer [flags]
Flags:
-i, --in string [*] a file contains primer sequences in fasta format
-o, --out string output file name, e.g., dimer.txt
-d, --dg float delta G cutoff value to filter the dimers
-s, --score int score cutoff to trigger a dimer (default 5)
-m, --mismatch int allowed max mismatches for a dimer (default 2)
-p, --primer only output dimers with 3'end bind
--mono float concentration of monovalent cations [mM] (default 50)
--diva float concentration of divalent cations [mM] (default 1.5)
--dntp float concentration of dNTPs [mM] (default 0.25)
--oligo float concentration of annealing oligos [nM] (default 50)
-j, --json output in json format
-c, --cpu int cpu number to use (default 2)
-h, --help help for dimer
mfeprimer dimer -i primer.fa -o dimer.txt -d -3.5 -s 6 -m 0 -p
mfeprimer dimer -i primer.fa -o dimer.txt -d -3.0 -s 5 -m 1 -p
mfeprimer dimer -i primer.fa -o dimer.txt -d -3.0 -s 5 -m 1
There is a step to randomly remove duplication amplicons, which defined by the same start and the same end position. However, this will result to different outputs when two different primers has the same binding sites.
add a sub-command split-fasta
to split larget database, e.g., nt.fa into smaller ones.
> mfeprimer split-fasta -h
split fasta into N parts with almost equal size
usage:
# to split big db nt.fa into several parts with each of 1G in size, the output should
# be like: nt.1.fa, nt.2.fa
mfeprimer split-fasta nt.fa -s 1000000000 -p nt
Usage:
mfeprimer split-fasta [flags]
Flags:
-s, --size int the size of each part (default 1000000000)
-p, --prefix string prefix of the output (default "p")
-P, --suffix string suffix of the output (default "fa")
-h, --help help for split-fasta
(base) v93 ➜ mfeprimer index -h
index fasta file for mfeprimer
Usage:
mfeprimer index [flags]
Flags:
-i, --in string [*] database to be formated in fasta format
-k, --kvalue int k value for format (default 9)
-c, --cpu int cpu number to use (default 16)
-m, --memory float memory percent to use, e.g., 70 for 70% (default 70)
-s, --chunkSize int chunk size for parallel indexing (default 5000000)
-f, --force reindex anyway even already index
-h, --help help for index
There are also two other sub-commands (ed
and search
) available, but more tests needed and I will describe the usage in the next relase.
mfeprimer dimer
: A little output bug has been fixed, thanks https://github.com/quwubin/MFEprimer-3.0/issues/11#issue-1016330332
mfeprimer hairpin
has an option -j
for json out, require -o
. Thanks https://github.com/quwubin/MFEprimer-3.0/issues/10#issue-974688189.