-
Notifications
You must be signed in to change notification settings - Fork 22
Expand file tree
/
Copy path__init__.py
More file actions
121 lines (112 loc) · 3.2 KB
/
__init__.py
File metadata and controls
121 lines (112 loc) · 3.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
############################################################################
# Copyright (c) 2023-2026 University of Helsinki
# # All Rights Reserved
# See file LICENSE for details.
############################################################################
"""
Barcode calling for single-cell and spatial transcriptomics.
This package provides k-mer indexing and barcode detection for various platforms:
- Curio (double barcode)
- Stereo-seq (standard and splitting modes)
- 10x Genomics (v3, Visium HD)
Subpackages:
indexers: K-mer indexing implementations
callers: Barcode detector implementations
"""
# Indexers
from .indexers import (
KmerIndexer,
ArrayKmerIndexer,
Dict2BitKmerIndexer,
Array2BitKmerIndexer,
SharedMemoryArray2BitKmerIndexer,
SharedMemoryIndexInfo,
)
# Result classes
from .callers import (
BarcodeDetectionResult,
LinkerBarcodeDetectionResult,
TSOBarcodeDetectionResult,
TenXBarcodeDetectionResult,
TenXSplitBarcodeDetectionResult,
SplittingBarcodeDetectionResult,
ReadStats,
increase_if_valid,
)
# Detector classes
from .callers import (
CurioBarcodeDetector,
CurioIlluminaDetector,
StereoBarcodeDetector,
SharedMemoryStereoBarcodeDetector,
StereoSplittingBarcodeDetector,
SharedMemoryStereoSplittingBarcodeDetector,
SharedMemoryWrapper,
TenXBarcodeDetector,
TenXv2BarcodeDetector,
TenXSplittingBarcodeDetector,
TenXv2SplittingBarcodeDetector,
VisiumHDBarcodeDetector,
UniversalSingleMoleculeExtractor,
MoleculeStructure
)
# Utilities
from .common import str_to_2bit, bit_to_str, find_polyt_start, batch_str_to_2bit, batch_str_to_2bit_chunked
# Barcode detection pipeline functions
from .detect_barcodes import (
process_single_thread,
process_in_parallel,
get_umi_length,
create_barcode_caller,
BARCODE_CALLING_MODES,
BARCODE_FILES_REQUIRED,
)
__all__ = [
# Indexers
'KmerIndexer',
'ArrayKmerIndexer',
'Dict2BitKmerIndexer',
'Array2BitKmerIndexer',
'SharedMemoryArray2BitKmerIndexer',
'SharedMemoryIndexInfo',
# Result classes
'BarcodeDetectionResult',
'LinkerBarcodeDetectionResult',
'TSOBarcodeDetectionResult',
'TenXBarcodeDetectionResult',
'TenXSplitBarcodeDetectionResult',
'SplittingBarcodeDetectionResult',
'ReadStats',
'increase_if_valid',
# Curio detectors
'CurioBarcodeDetector',
'CurioIlluminaDetector',
# Stereo detectors
'StereoBarcodeDetector',
'SharedMemoryStereoBarcodeDetector',
'StereoSplittingBarcodeDetector',
'SharedMemoryStereoSplittingBarcodeDetector',
'SharedMemoryWrapper',
# 10x detectors
'TenXBarcodeDetector',
'TenXv2BarcodeDetector',
'TenXSplittingBarcodeDetector',
'TenXv2SplittingBarcodeDetector',
'VisiumHDBarcodeDetector',
# universal calling
'UniversalSingleMoleculeExtractor',
'MoleculeStructure',
# Utilities
'str_to_2bit',
'bit_to_str',
'find_polyt_start',
'batch_str_to_2bit',
'batch_str_to_2bit_chunked',
# Detection pipeline
'process_single_thread',
'process_in_parallel',
'get_umi_length',
'create_barcode_caller',
'BARCODE_CALLING_MODES',
'BARCODE_FILES_REQUIRED',
]