|
2 | 2 | import platform |
3 | 3 | import shutil |
4 | 4 | from collections import namedtuple |
5 | | -from typing import Optional |
| 5 | +from typing import NamedTuple, Optional |
6 | 6 | from urllib.parse import urljoin |
7 | 7 |
|
8 | 8 | import ngs_tools as ngs |
@@ -89,12 +89,27 @@ def get_compiled_bustools_path(alias: str = COMPILED_DIR) -> Optional[str]: |
89 | 89 | KALLISTO_PATH = get_compiled_kallisto_path() or get_provided_kallisto_path() |
90 | 90 | BUSTOOLS_PATH = get_compiled_bustools_path() or get_provided_bustools_path() |
91 | 91 |
|
| 92 | + |
92 | 93 | # Technology to file position mapping |
93 | | -Technology = namedtuple('Technology', ['name', 'description', 'chemistry']) |
| 94 | +class Technology(NamedTuple): |
| 95 | + name: str |
| 96 | + description: str |
| 97 | + chemistry: ngs.chemistry.Chemistry |
| 98 | + show: bool = True |
| 99 | + |
| 100 | + |
94 | 101 | TECHNOLOGIES = sorted([ |
95 | 102 | Technology('10XV1', '10x version 1', ngs.chemistry.get_chemistry('10xv1')), |
96 | 103 | Technology('10XV2', '10x version 2', ngs.chemistry.get_chemistry('10xv2')), |
97 | 104 | Technology('10XV3', '10x version 3', ngs.chemistry.get_chemistry('10xv3')), |
| 105 | + Technology( |
| 106 | + '10XV3_ULTIMA', '10x version 3 sequenced with Ultima', |
| 107 | + ngs.chemistry.get_chemistry('10xv3_Ultima') |
| 108 | + ), |
| 109 | + Technology( |
| 110 | + '10XFB', '10x Feature Barcode', |
| 111 | + ngs.chemistry.get_chemistry('10xFBonly'), False |
| 112 | + ), |
98 | 113 | Technology('CELSEQ', 'CEL-Seq', ngs.chemistry.get_chemistry('celseq')), |
99 | 114 | Technology( |
100 | 115 | 'CELSEQ2', 'CEL-SEQ version 2', ngs.chemistry.get_chemistry('celseq2') |
|
0 commit comments