Repository navigation
FAQ
pycoqc-ng continues pycoQC, whose last release
was 2.5.2 in 2020. The method, the report and most of the code are the original authors'
work. This fork keeps it running on current dependencies and adds Dorado, POD5 and
FASTQ input.
The name had to change because pycoQC is taken on both PyPI and bioconda. The
import package is still pycoQC, so existing scripts keep working:
from pycoQC.pycoQC import pycoQC # unchangedThe commands kept their names too, so pycoQC -f ... -o ... is unchanged.
Not in the same environment. Both provide a pycoQC command and a pycoQC import
package, so they would overwrite each other. Use separate conda environments.
pycoQC needs a summary file. If the basecaller did not write one, build one from your
reads first, see Input formats.
The converter searches recursively for .fastq, .fq, .fastq.gz and .fq.gz. Check
you pointed at the directory rather than a file, and that the extensions match. The
converters take a directory, not a filename.
The directory for the output file must already exist. The converters do not create it,
unlike Barcode_split, which does create its output directory.
The converters run one reader, one writer and at least one parser, so -t must be 3 or
more. Higher values add parsers.
Every plot and the plotly runtime are embedded so the file stands alone. Tens of MB is
normal for a barcoded run. To shrink it, lower --sample, or trim plots from the
configuration, see Configuration.
It has one position per reference base, so a transcriptome or a draft assembly with many
contigs is punishing. Pass --skip_coverage_plot.
Plots are skipped when their data is not present, with a note in the log. Run with -v
to see which and why.
- alignment plots need
-awith a BAM - barcode plots need barcodes, in the summary or via
-b - %GC plots need a summary built from FASTQ or BAM; the basecaller's own summary carries no per-read %GC
- read length and quality plots need a basecalled run; see below
Yes, with less in the report. A POD5, or a FAST5 holding signal only, records which
pore produced which read, when and for how long, but no sequence, so there is no read
length, no quality score and no yield. Build the summary with Pod5_to_seq_summary or
Fast5_to_seq_summary and pycoQC reports on the run itself: reads over time, time in
pore, activity per channel and reads per barcode.
There is deliberately no estimated base count. Bases can only be guessed from the signal length and an assumed translocation speed, and a guess printed next to measured numbers is indistinguishable from one.
Barcodes below --min_barcode_percent (0.1% by default) are relabelled unclassified.
On a small or very uneven run, lower it:
pycoQC -f sequencing_summary.txt -o report.html --min_barcode_percent 0pycoQC applies its own threshold, --min_pass_qual 7 by default, rather than reading
the basecaller's flag. Set it to match your basecaller's setting if you want the numbers
to agree.
On a run that has not been basecalled there is no quality score to threshold on, so the
passes_filtering column is used as it stands. The converters take it from where the
basecaller put the file: POD5 from the file name, FASTQ and FAST5 from the
fastq_pass/fastq_fail and fast5_pass/fast5_fail directories. Matching is on
whole words, and only on the part of the path below the directory you point the
converter at, so a run kept under failed_experiments/ or /mnt/failover/ is not read
as a run of failing reads.
Yes. The summary file grows as the run proceeds and a report built from it reflects the reads written so far. Expect the final figures to differ.
Yes for direct RNA, and the plots are the same. 1D² data from the older chemistries is read, since the summary columns are detected rather than assumed.
3.9 through 3.13, tested on Linux and macOS in CI.
No. The Cython extension is gone, replaced by a vectorised NumPy implementation that is
both faster and exact. The package is pure Python and the conda build is noarch.
Cite the original paper for the method, and the Zenodo DOI if you need to reference a specific software version. See Home.