@@ -4,26 +4,71 @@ parent: FAQ
44title : Performance
55---
66
7- ## How fast is CCS?
8- We tested CCS runtime using 500 ZMWs per length bin with exactly 7 passes.
7+ ## How fast is _ ccs_ ?
8+ ### Latest version
9+ The latest _ ccs_ v6 can process 200 GBases HiFi yield in 24 hours for a 25 KBases
10+ library on 2x64 cores at 2.4 GHz.
11+ To put this into perspective for actual sequencing collections:
12+
13+ | Sample | Insert size | HiFi Yield | Run Time |
14+ | :------: | :---------: | :---------: | :------: |
15+ | HG002 | 15 KBases | 41.1 GBases | 5h 52m |
16+ | HG002 | 18 KBases | 34.0 GBases | 4h 36m |
17+ | Readwood | 25 KBases | 32.4 GBases | 3h 46m |
18+
19+ ### Relative performance v3.0 to v6.0
20+ Current _ ccs_ v6 achieves a >150x speed-up for 20 KBases inserts compared to
21+ v3.0 from SMRT Link 6.0 release in 2018.
22+
23+ ### Algorithmic complexity
24+ To understand how this performance gain was possible, an overview how we changed
25+ the algorithmic complexity and how _ ccs_ scales with insert size and number of passes:
26+
27+ | CCS version | O(insert size) | O(#passes) |
28+ | :---------: | :------------: | :-----------: |
29+ | ≤3.0.0 | quadratic | linear |
30+ | 3.4.1 | ** linear** | linear |
31+ | ≥4.0.0 | linear | ** sublinear** |
32+
33+ To visualize this table, we benchmarked runtime using 500 ZMWs per length bin with
34+ exactly 7 passes.
935
1036<img width =" 1000px " src =" ../img/runtime.png " />
1137
12- ### How does that translate into time to result per SMRT Cell?
13- We will measure time to result for Sequel System and Sequel System II CCS sequencing collections
14- on a PacBio recommended HPC, according to the
15- [ Sequel II System Compute Requirements] ( https://www.pacb.com/wp-content/uploads/SMRT_Link_Installation_v701.pdf )
16- with 192 physical or 384 hyper-threaded cores.
38+ After v4.0.0, the slope of the curve does not change, as the complexity class
39+ hasn't changed; only improvements independent of input type were made.
40+
41+ ### Performance comparisons
42+ Performance comparisons on different libraries; the ` faster ` column is with
43+ respect to the run time of the previous version. All runs were performed on the
44+ same hardware with 256 threads. A major part of the speed increase in v5.0 is
45+ due to toolchain improvements for generating a more optimized binary.
46+ #### ** HG002 15kb SQII, 41 GBases HiFi yield**
1747
18- 1 ) Sequel System: 15 kb insert size, 24-hours movie, 37 GB raw yield, 2.3 GB HiFi UMY
19- 2 ) Sequel II System: 15 kb insert size, 30-hours movie, 340 GB raw yield, 24 GB HiFi UMY
48+ | CCS Version | HiFi Reads | Run Time | CPU Time | Peak RSS | Faster |
49+ | :---------: | :--------: | :------: | :------: | :------: | :----: |
50+ | 4.0.0 | 2,765,431 | 13h 14m | 89d 13h | 71 GB | |
51+ | 4.2.0 | 2,806,886 | 10h 47m | 61d 9h | 72 GB | 18% |
52+ | 5.0.0 | 2,807,317 | 6h 44m | 62d 22h | 27 GB | 37% |
53+ | 6.0.0 | 2,831,192 | 5h 52m | 44d 17h | 20 GB | 13% |
2054
21- | CCS version | Sequel System | Sequel II System |
22- | :-: | :-: | :-: |
23- | ≤3.0.0 | 1 day | >1 week |
24- | 3.4.1 | 3 hours | >1 day |
25- | 4.0.0 | 40 minutes | 6 hours |
26- | ≥4.2.0 | ** 30 minutes** | ** 4 hours** |
55+ #### ** HG002 18kb SQII, 32 GBases HiFi yield**
56+ Omitting v4.0.0, due to lack of chemistry support.
57+
58+ | CCS Version | HiFi Reads | Run Time | CPU Time | Peak RSS | Faster |
59+ | :---------: | :--------: | :------: | :------: | :------: | :----: |
60+ | 4.2.0 | 1823016 | 8h 35m | 47d 13h | 80 GB | |
61+ | 5.0.0 | 1824206 | 5h 29m | 50d 16h | 46 GB | 36% |
62+ | 6.0.0 | 1855604 | 4h 36m | 30d 13h | 18 GB | 15% |
63+
64+ #### ** Redwood 25kb SQII, 32 GBases HiFi yield**
65+
66+ | CCS Version | HiFi Reads | Run Time | CPU Time | Peak RSS | Faster |
67+ | :---------: | :--------: | :------: | :------: | :------: | :----: |
68+ | 4.0.0 | 1,269,680 | 7h 58m | 60d 19h | 72 GB | |
69+ | 4.2.0 | 1,310,775 | 6h 37m | 43d 18h | 74 GB | 17% |
70+ | 5.0.0 | 1,311,693 | 4h 36m | 41d 13h | 41 GB | 30% |
71+ | 6.0.0 | 1,335,888 | 3h 56m | 25d 11h | 17 GB | 14% |
2772
2873### How is CCS speed affected by raw base yield?
2974Raw base yield is the sum of all polymerase read lengths.
@@ -39,14 +84,6 @@ ZMWs per SMRT Cell.
3984Starting with version 3.3.0 _ ccs_ scales linear in (2) the polymerase read length
4085and with version 4.0.0 _ ccs_ scales sublinear.
4186
42- ### What did change in each version?
43-
44- | CCS version | O(insert size) | O(#passes) |
45- | :-: | :-: | :-: |
46- | ≤3.0.0 | quadratic | linear |
47- | 3.4.1 | ** linear** | linear |
48- | ≥4.0.0 | linear | ** sublinear** |
49-
5087### How can version 4.0.0 be sublinear in the number of passes?
5188With the introduction of improved heuristics, individual draft bases can skip
5289polishing if they are of sufficient quality.
@@ -57,13 +94,13 @@ No, we optimized _ccs_ such that there is a good balance between speed and
5794output quality.
5895
5996## Does speed impact quality and yield?
60- Yes it does. With ~ 35x speed improvements from version 3.1.0 to 4.0.0 and
61- consequently reducing CPU time from >60,000 to <2,000 core hours,
62- heuristics and changes in algorithms lead to slightly lower yield and
97+ Yes it does. With >150x speed improvements from version 3.0 to 6.0,
98+ heuristics and changes in algorithms lead to slightly different yield and
6399accuracy if run head-to-head on the same data set. Internal tests show
64- that _ ccs_ 4.0.0 introduces no regressions in CCS -only Structural Variant
100+ that _ ccs_ 6.0 introduces no regressions in _ ccs _ -only Structural Variant
65101calling and has minimal impact on SNV and indel calling in DeepVariant.
66- In contrast, lower DNA quality has a bigger impact on quality and yield.
102+ In contrast, lower DNA quality and sample preparation has a bigger impact
103+ on quality and yield.
67104
68105## Can I tune performance without sacrificing output quality?
69106The bioconda _ ccs_ ≥v5.0 binaries statically link [ mimalloc] ( https://github.com/microsoft/mimalloc ) .
0 commit comments