smftools 0.2.3__py3-none-any.whl → 0.2.5__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. smftools/__init__.py +6 -8
  2. smftools/_settings.py +4 -6
  3. smftools/_version.py +1 -1
  4. smftools/cli/helpers.py +54 -0
  5. smftools/cli/hmm_adata.py +937 -256
  6. smftools/cli/load_adata.py +448 -268
  7. smftools/cli/preprocess_adata.py +469 -263
  8. smftools/cli/spatial_adata.py +536 -319
  9. smftools/cli_entry.py +97 -182
  10. smftools/config/__init__.py +1 -1
  11. smftools/config/conversion.yaml +17 -6
  12. smftools/config/deaminase.yaml +12 -10
  13. smftools/config/default.yaml +142 -33
  14. smftools/config/direct.yaml +11 -3
  15. smftools/config/discover_input_files.py +19 -5
  16. smftools/config/experiment_config.py +594 -264
  17. smftools/constants.py +37 -0
  18. smftools/datasets/__init__.py +2 -8
  19. smftools/datasets/datasets.py +32 -18
  20. smftools/hmm/HMM.py +2128 -1418
  21. smftools/hmm/__init__.py +2 -9
  22. smftools/hmm/archived/call_hmm_peaks.py +121 -0
  23. smftools/hmm/call_hmm_peaks.py +299 -91
  24. smftools/hmm/display_hmm.py +19 -6
  25. smftools/hmm/hmm_readwrite.py +13 -4
  26. smftools/hmm/nucleosome_hmm_refinement.py +102 -14
  27. smftools/informatics/__init__.py +30 -7
  28. smftools/informatics/archived/helpers/archived/align_and_sort_BAM.py +14 -1
  29. smftools/informatics/archived/helpers/archived/bam_qc.py +14 -1
  30. smftools/informatics/archived/helpers/archived/concatenate_fastqs_to_bam.py +8 -1
  31. smftools/informatics/archived/helpers/archived/load_adata.py +3 -3
  32. smftools/informatics/archived/helpers/archived/plot_bed_histograms.py +3 -1
  33. smftools/informatics/archived/print_bam_query_seq.py +7 -1
  34. smftools/informatics/bam_functions.py +397 -175
  35. smftools/informatics/basecalling.py +51 -9
  36. smftools/informatics/bed_functions.py +90 -57
  37. smftools/informatics/binarize_converted_base_identities.py +18 -7
  38. smftools/informatics/complement_base_list.py +7 -6
  39. smftools/informatics/converted_BAM_to_adata.py +265 -122
  40. smftools/informatics/fasta_functions.py +161 -83
  41. smftools/informatics/h5ad_functions.py +196 -30
  42. smftools/informatics/modkit_extract_to_adata.py +609 -270
  43. smftools/informatics/modkit_functions.py +85 -44
  44. smftools/informatics/ohe.py +44 -21
  45. smftools/informatics/pod5_functions.py +112 -73
  46. smftools/informatics/run_multiqc.py +20 -14
  47. smftools/logging_utils.py +51 -0
  48. smftools/machine_learning/__init__.py +2 -7
  49. smftools/machine_learning/data/anndata_data_module.py +143 -50
  50. smftools/machine_learning/data/preprocessing.py +2 -1
  51. smftools/machine_learning/evaluation/__init__.py +1 -1
  52. smftools/machine_learning/evaluation/eval_utils.py +11 -14
  53. smftools/machine_learning/evaluation/evaluators.py +46 -33
  54. smftools/machine_learning/inference/__init__.py +1 -1
  55. smftools/machine_learning/inference/inference_utils.py +7 -4
  56. smftools/machine_learning/inference/lightning_inference.py +9 -13
  57. smftools/machine_learning/inference/sklearn_inference.py +6 -8
  58. smftools/machine_learning/inference/sliding_window_inference.py +35 -25
  59. smftools/machine_learning/models/__init__.py +10 -5
  60. smftools/machine_learning/models/base.py +28 -42
  61. smftools/machine_learning/models/cnn.py +15 -11
  62. smftools/machine_learning/models/lightning_base.py +71 -40
  63. smftools/machine_learning/models/mlp.py +13 -4
  64. smftools/machine_learning/models/positional.py +3 -2
  65. smftools/machine_learning/models/rnn.py +3 -2
  66. smftools/machine_learning/models/sklearn_models.py +39 -22
  67. smftools/machine_learning/models/transformer.py +68 -53
  68. smftools/machine_learning/models/wrappers.py +2 -1
  69. smftools/machine_learning/training/__init__.py +2 -2
  70. smftools/machine_learning/training/train_lightning_model.py +29 -20
  71. smftools/machine_learning/training/train_sklearn_model.py +9 -15
  72. smftools/machine_learning/utils/__init__.py +1 -1
  73. smftools/machine_learning/utils/device.py +7 -4
  74. smftools/machine_learning/utils/grl.py +3 -1
  75. smftools/metadata.py +443 -0
  76. smftools/plotting/__init__.py +19 -5
  77. smftools/plotting/autocorrelation_plotting.py +145 -44
  78. smftools/plotting/classifiers.py +162 -72
  79. smftools/plotting/general_plotting.py +422 -197
  80. smftools/plotting/hmm_plotting.py +42 -13
  81. smftools/plotting/position_stats.py +147 -87
  82. smftools/plotting/qc_plotting.py +20 -12
  83. smftools/preprocessing/__init__.py +10 -12
  84. smftools/preprocessing/append_base_context.py +115 -80
  85. smftools/preprocessing/append_binary_layer_by_base_context.py +77 -39
  86. smftools/preprocessing/{calculate_complexity.py → archived/calculate_complexity.py} +3 -1
  87. smftools/preprocessing/{archives → archived}/preprocessing.py +8 -6
  88. smftools/preprocessing/binarize.py +21 -4
  89. smftools/preprocessing/binarize_on_Youden.py +129 -31
  90. smftools/preprocessing/binary_layers_to_ohe.py +17 -11
  91. smftools/preprocessing/calculate_complexity_II.py +86 -59
  92. smftools/preprocessing/calculate_consensus.py +28 -19
  93. smftools/preprocessing/calculate_coverage.py +50 -25
  94. smftools/preprocessing/calculate_pairwise_differences.py +2 -1
  95. smftools/preprocessing/calculate_pairwise_hamming_distances.py +4 -3
  96. smftools/preprocessing/calculate_position_Youden.py +118 -54
  97. smftools/preprocessing/calculate_read_length_stats.py +52 -23
  98. smftools/preprocessing/calculate_read_modification_stats.py +91 -57
  99. smftools/preprocessing/clean_NaN.py +38 -28
  100. smftools/preprocessing/filter_adata_by_nan_proportion.py +24 -12
  101. smftools/preprocessing/filter_reads_on_length_quality_mapping.py +71 -38
  102. smftools/preprocessing/filter_reads_on_modification_thresholds.py +181 -73
  103. smftools/preprocessing/flag_duplicate_reads.py +689 -272
  104. smftools/preprocessing/invert_adata.py +26 -11
  105. smftools/preprocessing/load_sample_sheet.py +40 -22
  106. smftools/preprocessing/make_dirs.py +8 -3
  107. smftools/preprocessing/min_non_diagonal.py +2 -1
  108. smftools/preprocessing/recipes.py +56 -23
  109. smftools/preprocessing/reindex_references_adata.py +103 -0
  110. smftools/preprocessing/subsample_adata.py +33 -16
  111. smftools/readwrite.py +331 -82
  112. smftools/schema/__init__.py +11 -0
  113. smftools/schema/anndata_schema_v1.yaml +227 -0
  114. smftools/tools/__init__.py +3 -4
  115. smftools/tools/archived/classifiers.py +163 -0
  116. smftools/tools/archived/subset_adata_v1.py +10 -1
  117. smftools/tools/archived/subset_adata_v2.py +12 -1
  118. smftools/tools/calculate_umap.py +54 -15
  119. smftools/tools/cluster_adata_on_methylation.py +115 -46
  120. smftools/tools/general_tools.py +70 -25
  121. smftools/tools/position_stats.py +229 -98
  122. smftools/tools/read_stats.py +50 -29
  123. smftools/tools/spatial_autocorrelation.py +365 -192
  124. smftools/tools/subset_adata.py +23 -21
  125. {smftools-0.2.3.dist-info → smftools-0.2.5.dist-info}/METADATA +17 -39
  126. smftools-0.2.5.dist-info/RECORD +181 -0
  127. smftools-0.2.3.dist-info/RECORD +0 -173
  128. /smftools/cli/{cli_flows.py → archived/cli_flows.py} +0 -0
  129. /smftools/hmm/{apply_hmm_batched.py → archived/apply_hmm_batched.py} +0 -0
  130. /smftools/hmm/{calculate_distances.py → archived/calculate_distances.py} +0 -0
  131. /smftools/hmm/{train_hmm.py → archived/train_hmm.py} +0 -0
  132. /smftools/preprocessing/{add_read_length_and_mapping_qc.py → archived/add_read_length_and_mapping_qc.py} +0 -0
  133. /smftools/preprocessing/{archives → archived}/mark_duplicates.py +0 -0
  134. /smftools/preprocessing/{archives → archived}/remove_duplicates.py +0 -0
  135. {smftools-0.2.3.dist-info → smftools-0.2.5.dist-info}/WHEEL +0 -0
  136. {smftools-0.2.3.dist-info → smftools-0.2.5.dist-info}/entry_points.txt +0 -0
  137. {smftools-0.2.3.dist-info → smftools-0.2.5.dist-info}/licenses/LICENSE +0 -0
@@ -1,28 +1,30 @@
1
1
  # subset_adata
2
2
 
3
- def subset_adata(adata, columns, cat_type='obs'):
4
- """
5
- Adds subset metadata to an AnnData object based on categorical values in specified .obs or .var columns.
6
-
7
- Parameters:
8
- adata (AnnData): The AnnData object to add subset metadata to.
9
- columns (list of str): List of .obs or .var column names to subset by. The order matters.
10
- cat_type (str): obs or var. Default is obs
11
-
12
- Returns:
13
- None
14
- """
15
- import pandas as pd
3
+ from __future__ import annotations
4
+
5
+ from typing import TYPE_CHECKING, Sequence
6
+
7
+ if TYPE_CHECKING:
16
8
  import anndata as ad
17
9
 
18
- subgroup_name = '_'.join(columns)
19
- if 'obs' in cat_type:
10
+
11
+ def subset_adata(adata: "ad.AnnData", columns: Sequence[str], cat_type: str = "obs") -> None:
12
+ """Add subset metadata based on categorical values in ``.obs`` or ``.var`` columns.
13
+
14
+ Args:
15
+ adata: AnnData object to annotate.
16
+ columns: Obs or var column names to subset by (order matters).
17
+ cat_type: ``"obs"`` or ``"var"``.
18
+ """
19
+
20
+ subgroup_name = "_".join(columns)
21
+ if "obs" in cat_type:
20
22
  df = adata.obs[columns]
21
- adata.obs[subgroup_name] = df.apply(lambda row: '_'.join(row.astype(str)), axis=1)
22
- adata.obs[subgroup_name] = adata.obs[subgroup_name].astype('category')
23
- elif 'var' in cat_type:
23
+ adata.obs[subgroup_name] = df.apply(lambda row: "_".join(row.astype(str)), axis=1)
24
+ adata.obs[subgroup_name] = adata.obs[subgroup_name].astype("category")
25
+ elif "var" in cat_type:
24
26
  df = adata.var[columns]
25
- adata.var[subgroup_name] = df.apply(lambda row: '_'.join(row.astype(str)), axis=1)
26
- adata.var[subgroup_name] = adata.var[subgroup_name].astype('category')
27
+ adata.var[subgroup_name] = df.apply(lambda row: "_".join(row.astype(str)), axis=1)
28
+ adata.var[subgroup_name] = adata.var[subgroup_name].astype("category")
27
29
 
28
- return None
30
+ return None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: smftools
3
- Version: 0.2.3
3
+ Version: 0.2.5
4
4
  Summary: Single Molecule Footprinting Analysis in Python.
5
5
  Project-URL: Source, https://github.com/jkmckenna/smftools
6
6
  Project-URL: Documentation, https://smftools.readthedocs.io/
@@ -37,13 +37,14 @@ Classifier: License :: OSI Approved :: MIT License
37
37
  Classifier: Natural Language :: English
38
38
  Classifier: Operating System :: MacOS :: MacOS X
39
39
  Classifier: Programming Language :: Python :: 3
40
- Classifier: Programming Language :: Python :: 3.9
41
40
  Classifier: Programming Language :: Python :: 3.10
42
41
  Classifier: Programming Language :: Python :: 3.11
43
42
  Classifier: Programming Language :: Python :: 3.12
43
+ Classifier: Programming Language :: Python :: 3.13
44
+ Classifier: Programming Language :: Python :: 3.14
44
45
  Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
45
46
  Classifier: Topic :: Scientific/Engineering :: Visualization
46
- Requires-Python: <3.13,>=3.9
47
+ Requires-Python: >=3.10
47
48
  Requires-Dist: anndata>=0.10.0
48
49
  Requires-Dist: biopython>=1.79
49
50
  Requires-Dist: captum
@@ -72,64 +73,41 @@ Requires-Dist: torch>=1.9.0
72
73
  Requires-Dist: tqdm
73
74
  Requires-Dist: upsetplot
74
75
  Requires-Dist: wandb
76
+ Provides-Extra: dev
77
+ Requires-Dist: pre-commit; extra == 'dev'
78
+ Requires-Dist: pytest; extra == 'dev'
79
+ Requires-Dist: pytest-cov; extra == 'dev'
80
+ Requires-Dist: ruff; extra == 'dev'
75
81
  Provides-Extra: docs
76
82
  Requires-Dist: ipython>=7.20; extra == 'docs'
77
83
  Requires-Dist: matplotlib!=3.6.1; extra == 'docs'
78
84
  Requires-Dist: myst-nb>=1; extra == 'docs'
79
85
  Requires-Dist: myst-parser>=2; extra == 'docs'
80
86
  Requires-Dist: nbsphinx>=0.9; extra == 'docs'
87
+ Requires-Dist: pyyaml; extra == 'docs'
81
88
  Requires-Dist: readthedocs-sphinx-search; extra == 'docs'
82
89
  Requires-Dist: setuptools; extra == 'docs'
83
90
  Requires-Dist: sphinx-autodoc-typehints>=1.25.2; extra == 'docs'
84
91
  Requires-Dist: sphinx-book-theme>=1.1.0; extra == 'docs'
92
+ Requires-Dist: sphinx-click; extra == 'docs'
85
93
  Requires-Dist: sphinx-copybutton; extra == 'docs'
86
94
  Requires-Dist: sphinx-design; extra == 'docs'
87
95
  Requires-Dist: sphinx>=7; extra == 'docs'
88
96
  Requires-Dist: sphinxcontrib-bibtex; extra == 'docs'
89
97
  Requires-Dist: sphinxext-opengraph; extra == 'docs'
90
- Provides-Extra: tests
91
- Requires-Dist: pytest; extra == 'tests'
92
- Requires-Dist: pytest-cov; extra == 'tests'
93
98
  Description-Content-Type: text/markdown
94
99
 
95
100
  [![PyPI](https://img.shields.io/pypi/v/smftools.svg)](https://pypi.org/project/smftools)
96
101
  [![Docs](https://readthedocs.org/projects/smftools/badge/?version=latest)](https://smftools.readthedocs.io/en/latest/?badge=latest)
97
102
 
98
103
  # smftools
99
- A Python tool for processing raw sequencing data derived from single molecule footprinting experiments into [anndata](https://anndata.readthedocs.io/en/latest/) objects. Additional functionality for preprocessing, analysis, and visualization.
104
+ A Python tool for processing raw sequencing data derived from single molecule footprinting experiments into [anndata](https://anndata.readthedocs.io/en/latest/) objects. Additional functionality for preprocessing, spatial analyses, and HMM based feature annotation.
100
105
 
101
106
  ## Philosophy
102
- While most genomic data structures handle low-coverage data (<100X) along large references, smftools prioritizes high-coverage data (scalable to >1,000,000X coverage) of a few genomic loci at a time. This enables efficient data storage, rapid data operations, hierarchical metadata handling, seamless integration with various machine-learning packages, and ease of visualization. Furthermore, functionality is modularized, enabling analysis sessions to be saved, reloaded, and easily shared with collaborators. Analyses are centered around the [anndata](https://anndata.readthedocs.io/en/latest/) object, and are heavily inspired by the work conducted within the single-cell genomics community.
107
+ While genomic data structures (SAM/BAM) were built to handle low-coverage data (<1000X) along large references, smftools prioritizes high-coverage data (scalable to >1,000,000X coverage) of a few genomic loci at a time. This enables efficient data storage, rapid data operations, hierarchical metadata handling, seamless integration with various machine-learning packages, and ease of visualization. Furthermore, functionality is modularized, enabling analysis sessions to be saved, reloaded, and easily shared with collaborators. Analyses are centered around the [anndata](https://anndata.readthedocs.io/en/latest/) object, and are heavily inspired by the work conducted within the single-cell genomics community.
103
108
 
104
109
  ## Dependencies
105
- The following CLI tools need to be installed and configured before using the informatics (smftools.inform) module of smftools:
106
- 1) [Dorado](https://github.com/nanoporetech/dorado) -> Basecalling, alignment, demultiplexing.
107
- 2) [Minimap2](https://github.com/lh3/minimap2) -> Alignment if not using dorado.
108
- 3) [Modkit](https://github.com/nanoporetech/modkit) -> Extracting read level methylation metrics from modified BAM files.
109
-
110
- ## Modules
111
- ### Informatics: Processes raw Nanopore/Illumina data from SMF experiments into an AnnData object.
112
- ![](docs/source/_static/smftools_informatics_diagram.png)
113
- ### Preprocessing: Appends QC metrics to the AnnData object and performs filtering.
114
- ![](docs/source/_static/smftools_preprocessing_diagram.png)
115
- ### Tools: Appends analyses to the AnnData object.
116
- - Currently Includes: Position X Position correlation matrices, Hidden Markov Model feature detection, clustering, dimensionality reduction, peak calling, train/test workflows for various ML classifiers.
117
- - To do: Additional ML methods for learning predictive single molecule features on condition labels: Autoencoders, Variational Autoencoders, Transformers.
118
- ### Plotting: Visualization of analyses stored within the AnnData object.
119
- - Most analyses appended to the adata object by a tools method have, or will have, an accompanying plotting method.
120
-
121
- ## Announcements
122
-
123
- ### 11/05/25 - Version 0.2.1 is available through PyPI
124
- Version 0.2.1 makes the core workflow (smftools load) a command line tool that takes in an experiment_config.csv file for input/output and parameter management.
125
-
126
- ### 05/29/25 - Version 0.1.6 is available through PyPI.
127
- Informatics, preprocessing, tools, plotting modules have core functionality that is approaching stability on MacOS(Intel/Silicon) and Linux(Ubuntu). I will work on improving documentation/tutorials shortly. The base PyTorch/Scikit-Learn ML-infrastructure is going through some organizational changes to work with PyTorch Lightning, Hydra, and WanDB to facilitate organizational scaling, multi-device usage, and logging.
128
-
129
- ### 10/01/24 - More recent versions are being updated frequently. Installation from source over PyPI is recommended!
130
-
131
- ### 09/09/24 - The version 0.1.1 package ([smftools-0.1.1](https://pypi.org/project/smftools/)) is installable through pypi!
132
- The informatics module has been bumped to alpha-phase status. This module can deal with POD5s and unaligned BAMS from nanopore conversion and direct SMF experiments, as well as FASTQs from Illumina conversion SMF experiments. Primary output from this module is an AnnData object containing all relevant SMF data, which is compatible with all downstream smftools modules. The other modules are still in pre-alpha phase. Preprocessing, Tools, and Plotting modules should be promoted to alpha-phase within the next month or so.
133
-
134
- ### 08/30/24 - The version 0.1.0 package ([smftools-0.1.0](https://pypi.org/project/smftools/)) is installable through pypi!
135
- Currently, this package (smftools-0.1.0) is going through rapid improvement (dependency handling accross Linux and Mac OS, testing, documentation, debugging) and is still too early in development for widespread use. The underlying functionality was originally developed as a collection of scripts for single molecule footprinting (SMF) experiments in our lab, but is being packaged/developed to facilitate the expansion of SMF to any lab that is interested in performing these styles of experiments/analyses. The alpha-phase package is expected to be available within a couple months, so stay tuned!
110
+ The following CLI tools need to be installed and configured before using the informatics (smftools.inform) module of smftools, which is used by the smftools load CLI command:
111
+ 1) [Dorado](https://github.com/nanoporetech/dorado) -> Basecalling, alignment, demultiplexing. Required for Nanopore SMF experiments, but not Illumina SMF experiments.
112
+ 2) [Minimap2](https://github.com/lh3/minimap2) -> Aligner if not using dorado. Support for other aligners could eventually be added if needed.
113
+ 3) [Modkit](https://github.com/nanoporetech/modkit) -> Extracting read level methylation metrics from the MM/ML tags in BAM files. Only required for direct modification detection SMF protocols.
@@ -0,0 +1,181 @@
1
+ smftools/__init__.py,sha256=8jiFf9PlbEL0Cc4vCPnnHs0Z-McGLEmW-o8d4sS77lQ,600
2
+ smftools/_settings.py,sha256=Evw4Xu8RWt3YNglBjiHMdDA9LsS3xs4R3-lC-1GVxrw,382
3
+ smftools/_version.py,sha256=Xsa3ayOMVkhUWm4t06YeyHE0apjpZefxLH4ylp0CDtU,22
4
+ smftools/cli_entry.py,sha256=Q58mRi2dcVYMGPwMs_TmblGzRaHATozXLCEwYLR1TkQ,9684
5
+ smftools/constants.py,sha256=SWOJ76KTP2p3geyVkNQ8LB96NOmDDtjFEur2hSw7iyU,1289
6
+ smftools/logging_utils.py,sha256=jOptBgSW7NQcw7JTnw2-oWcN2qyrtfJkDpIZsfcU1Mk,1323
7
+ smftools/metadata.py,sha256=yGTMof2hAUR43QfgRSwK9mnOiTAznV3Usxzsvt185s4,14898
8
+ smftools/readwrite.py,sha256=GCCBAWXQezTtXMBr-2NeV-jJfdnl_yB_x5nuz7Bt11c,52413
9
+ smftools/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
+ smftools/cli/helpers.py,sha256=rPahev5NvuBoy9dWm51QHbAOLyOTApyUG0tWyY-21FM,1399
11
+ smftools/cli/hmm_adata.py,sha256=u0JsQuvnErQxvA4SXzLXXiEfBa4Q4vlVC3oJbYg2PDo,40636
12
+ smftools/cli/load_adata.py,sha256=y-vjuxnKzKhNDF9g0VwpDLsm9C03mp5ESOaRnPCI1M0,31518
13
+ smftools/cli/preprocess_adata.py,sha256=j5nnTAN_mR-gHT6huEGTnUZ4EfRuZjRyuIZrR05AnJ0,22596
14
+ smftools/cli/spatial_adata.py,sha256=_oI21L79nCl15LaXBQwk2W_Kda9aaR-Qvj5QDN2ccNw,31871
15
+ smftools/cli/archived/cli_flows.py,sha256=xRiFUThoAL3LX1xdXaHVg4LjyJI4uNpGsc9aQ_wVCto,4941
16
+ smftools/config/__init__.py,sha256=otyYipEb4ydJh9b9JDrtVl3AqqnZO77YPqDPskLfA2w,70
17
+ smftools/config/conversion.yaml,sha256=N7lUO7-yAaJR6VhxRGCRc-ceAi0cp5xNASSIsXl9KwI,1242
18
+ smftools/config/deaminase.yaml,sha256=JCE1nF39AX436-3RyvuZN24gdJfriDijNv5XNHrMT8I,1357
19
+ smftools/config/default.yaml,sha256=xXprGKW3XcOGjSP9zKyfA6kFruwKTGErP_trPMRpghE,13709
20
+ smftools/config/direct.yaml,sha256=Jw8Nj3QKQrCfJpVl8sGgCKdRvjk5cV66dzRlNfoDOzI,2269
21
+ smftools/config/discover_input_files.py,sha256=NcOqNYoXggLDieam8UMJAc2sWmoYOZ_Wqp2mApnlBfs,4015
22
+ smftools/config/experiment_config.py,sha256=3Z2tz46Lva_QgdFVPGhsVEpnE6GA13gB-IE8Bct3AUk,67215
23
+ smftools/datasets/F1_hybrid_NKG2A_enhander_promoter_GpC_conversion_SMF.h5ad.gz,sha256=q6wJtgFRDln0o20XNCx1qad3lwcdCoylqPN7wskTfI8,2926497
24
+ smftools/datasets/F1_sample_sheet.csv,sha256=9PodIIOXK2eamYPbC6DGnXdzgi9bRDovf296j1aM0ak,259
25
+ smftools/datasets/__init__.py,sha256=BLdygs3q834wGKymizLMsJCWZijm-m4n3dIiDWMlkdM,121
26
+ smftools/datasets/dCas9_m6A_invitro_kinetics.h5ad.gz,sha256=niOcVHaYY7h3XyvwSkN-V_NMBaRt2vTP5TrJO0CwMCs,8385050
27
+ smftools/datasets/datasets.py,sha256=-VOdONP-K_ftLDtLktRKbq3S6vSB4pzRQ6VYBxAy_4A,1074
28
+ smftools/hmm/HMM.py,sha256=5YTxzOMO2cgwLYvkdcdZs2C-lp_j-GbCAWyboCJSG2A,82249
29
+ smftools/hmm/__init__.py,sha256=RebxmC6Xf9QUEXWqY7AZi7hX0z7BAm3Yz3akf5jSsTU,382
30
+ smftools/hmm/call_hmm_peaks.py,sha256=uCq8UALn83zFsbPF5bIsjGAZEzNSOixRFYlcUUARAi8,13400
31
+ smftools/hmm/display_hmm.py,sha256=lREb_e8-Ho5SdbPttfmZGXrXQFLjs6MVXt3lKgjei4M,1189
32
+ smftools/hmm/hmm_readwrite.py,sha256=Kwh-MXI5jqqltPZ6uWQ5VYnoY9t0H39gBoOhdsq2nwI,497
33
+ smftools/hmm/nucleosome_hmm_refinement.py,sha256=9w-QNpg5OuvPmDDQOjb5b8nQf3D7X4Ar-jp0VSk724g,6846
34
+ smftools/hmm/archived/apply_hmm_batched.py,sha256=BBeJ8DiIuuMWzLwtDdk2DO2vvrfLCrVe4JtRYPFItIU,10648
35
+ smftools/hmm/archived/calculate_distances.py,sha256=KDWimQ6u-coyxCKrbTm42Fh_Alf_gURBZ0vfFaem848,644
36
+ smftools/hmm/archived/call_hmm_peaks.py,sha256=xpCmFLk7AoRHGDbebklwCz3aK4bQvy-bNqBeXFKkQxQ,5213
37
+ smftools/hmm/archived/train_hmm.py,sha256=srzRcB9LEmNuHyBM0R5Z0VEnxecifQt-MoaJhADxGT8,2477
38
+ smftools/informatics/__init__.py,sha256=PcMgCMfC6xKtT29cxTkMrDyfvhuZW2S6mF8fxb-GZpw,1288
39
+ smftools/informatics/bam_functions.py,sha256=Rnnv-WTJb1cUptj0Pv774yJfRUrVs473U2iySPSp2vw,37657
40
+ smftools/informatics/basecalling.py,sha256=aJ-8P6EHhkdaq-j37dRQy5EO7Z_j1pTMdwKfECtGU0c,3663
41
+ smftools/informatics/bed_functions.py,sha256=pf_dYOb3I7N09NbvkEKmLenARzu0ODrd8SAsKubWjF4,13941
42
+ smftools/informatics/binarize_converted_base_identities.py,sha256=KlpLjQyMr-bITaYr9t4PTZwkx9GjbHKQepJLaYUWexg,7813
43
+ smftools/informatics/complement_base_list.py,sha256=f9k7fsztpswxtikFURNi-xZjcl3zRp_PoRyTdX1uqlg,535
44
+ smftools/informatics/converted_BAM_to_adata.py,sha256=ssBmRVkwK-lZfgZ1MnSPq5p1yK6_jkZRVGC7La_dsMw,24209
45
+ smftools/informatics/fasta_functions.py,sha256=zvBf9idZqa0x3LHfwfGXUxspqLJOda_6E0qCgWDyr-g,11290
46
+ smftools/informatics/h5ad_functions.py,sha256=YCBMmXS7DAIKMLeE87PvQoObGXRrUyIED13j_SkNg78,12961
47
+ smftools/informatics/modkit_extract_to_adata.py,sha256=CZo_sUp7c3OSdQIkuCfH9iQ-1wah-BFgnt2Yr7v3K54,63210
48
+ smftools/informatics/modkit_functions.py,sha256=y1IbINUqy-XDKyQwPSIkAD0f-HBvr3IKIyjiS_I22IA,6067
49
+ smftools/informatics/ohe.py,sha256=HHluIuV2ouNdS-ZZvVp7lUXM5roqsPx8nJwPFO4wNmE,5961
50
+ smftools/informatics/pod5_functions.py,sha256=XfqSFMDTO_IouFePJKX_9nt9-lkcPLgJlzpW-tOk-nY,10246
51
+ smftools/informatics/run_multiqc.py,sha256=M67HhO5FIJl8qn3Qc9YUlnbk7kdDWyYVL0B9SenrqMo,1115
52
+ smftools/informatics/archived/bam_conversion.py,sha256=I8EzXjQixMmqx2oWnoNSH5NURBhfT-krbWHkoi_M964,3330
53
+ smftools/informatics/archived/bam_direct.py,sha256=jbEFtUIiUR8Wlp3po_sWkr19AUNS9WZjglojb9j28vo,3606
54
+ smftools/informatics/archived/basecall_pod5s.py,sha256=Ynmxscsxj6qp-zVY0RWodq513oDuHDaHnpqoepB3RUU,3930
55
+ smftools/informatics/archived/basecalls_to_adata.py,sha256=-Nag6lr_NAtU4t8jo0GSMdgIAIfmDge-5VEUPQbEatE,3692
56
+ smftools/informatics/archived/conversion_smf.py,sha256=QhlISVi3Z-XqFKyDG_CenLojovAt5-ZhuVe9hus36lg,7177
57
+ smftools/informatics/archived/deaminase_smf.py,sha256=mNeg1mIYYVLIiW8powEpz0CqrGRDsrmY5-aoIgwMGHs,7221
58
+ smftools/informatics/archived/direct_smf.py,sha256=ylPGFBvRLdxLHeDJjAwq98j8Q8_lfGK3k5JJnQxrwJw,7485
59
+ smftools/informatics/archived/fast5_to_pod5.py,sha256=TRG_FYYGCGWUPzZCt0ZqzB8gQv_HKvkssp9nTctWzXU,1398
60
+ smftools/informatics/archived/print_bam_query_seq.py,sha256=xjvz913GzUAqDuDOOjWYEuqBWCINTN234ze18lMjxgs,1004
61
+ smftools/informatics/archived/subsample_fasta_from_bed.py,sha256=7YTKhXg_mtP4KWpnD-TB4nuFEL4crOa9_d84IJKllyQ,1633
62
+ smftools/informatics/archived/subsample_pod5.py,sha256=zDw9tRcrFRmPI62xkcy9dh8IfsJcuYm7R-FVeBC_g3s,4701
63
+ smftools/informatics/archived/helpers/archived/__init__.py,sha256=DiiBerFJAxZeG5y0ScpJSaVBJ8b4XWdfEJCh8Q7k8jU,2783
64
+ smftools/informatics/archived/helpers/archived/align_and_sort_BAM.py,sha256=R12iefrBu1JyRhERRo-IBLM9uehQRyrldbgu7lQT3k4,5788
65
+ smftools/informatics/archived/helpers/archived/aligned_BAM_to_bed.py,sha256=N3NAOaoSt_M4V48vtTP_m_iF1tRuNIPS_uNJ3Y0IA4E,3391
66
+ smftools/informatics/archived/helpers/archived/bam_qc.py,sha256=r_NVoOnhDQp9sBOdLuqqSkR7rocSN0USOAcCfkBTtiQ,8482
67
+ smftools/informatics/archived/helpers/archived/bed_to_bigwig.py,sha256=Bg9wFsavUU9Ha57n_99vYlYpVcbDUz3tLtYJ7ZFVR9k,2986
68
+ smftools/informatics/archived/helpers/archived/canoncall.py,sha256=5WS6lwukc_xYTdPQy0OSj-WLbx0Rg70Cun1lCucY7w8,1741
69
+ smftools/informatics/archived/helpers/archived/concatenate_fastqs_to_bam.py,sha256=chc4yyrwuZVQewSDMFLHmphs6JovAIak4jvmGwUdQNQ,10237
70
+ smftools/informatics/archived/helpers/archived/converted_BAM_to_adata.py,sha256=sRmOtn0kNosLYfogqslDHg1Azk51l6nfNOLgQOnQjlA,14591
71
+ smftools/informatics/archived/helpers/archived/count_aligned_reads.py,sha256=ZF_kkzAf1RvM4PwDYhxD36UiuVuMM_MBvZgiXom1NQ0,2176
72
+ smftools/informatics/archived/helpers/archived/demux_and_index_BAM.py,sha256=KmU7nqGQ-MfDrp8h3txbToGn4h95Rkvg0WEiuext-vY,2000
73
+ smftools/informatics/archived/helpers/archived/extract_base_identities.py,sha256=CaFqNBjkDujYlyiUnOeRock1OQWs3CeiD3yTL96sjIs,3043
74
+ smftools/informatics/archived/helpers/archived/extract_mods.py,sha256=Mrs7mrLFgCTiRGfPFSyvJm6brq--LGzZrNDiFB-jynI,3895
75
+ smftools/informatics/archived/helpers/archived/extract_read_features_from_bam.py,sha256=SYAb4Q1HxiJzCx5bIz86MdH_TvVPsRAVodZD9082HGY,1491
76
+ smftools/informatics/archived/helpers/archived/extract_read_lengths_from_bed.py,sha256=Cw39wgp1eBTV45Wk1l0c9l-upBW5N2OcgyWXTAXln90,678
77
+ smftools/informatics/archived/helpers/archived/extract_readnames_from_BAM.py,sha256=3FxSNqbZ1VsOK2RfHrvevQTzhWATf5E8bZ5yVOqayvk,759
78
+ smftools/informatics/archived/helpers/archived/find_conversion_sites.py,sha256=JPlDipmzeCBkV_T6esGD5ptwmbQmk8gJMTh7NMaSYd4,2480
79
+ smftools/informatics/archived/helpers/archived/generate_converted_FASTA.py,sha256=Us6iH1cIhsXDnTvDxI-FEHB6ndbB30hd1ss-9dIoWVE,3819
80
+ smftools/informatics/archived/helpers/archived/get_chromosome_lengths.py,sha256=BEroXshYSpjf5wt_vrEAFiTJmSuf-kvD-Z1B_1gusME,1000
81
+ smftools/informatics/archived/helpers/archived/get_native_references.py,sha256=fRuyEm9UJkfd5DwHmFb1bxEtNvtSI1_BxGRmrCymGkw,981
82
+ smftools/informatics/archived/helpers/archived/index_fasta.py,sha256=w6xHFSaoXVk-YWZWftZ9Xv8rywZ_IuuIouLQ12KL3ro,779
83
+ smftools/informatics/archived/helpers/archived/informatics.py,sha256=gKb2ZJ_LcAeEXuQqn9e-QDF_sS4tMpMTr2vZlqa7n54,14572
84
+ smftools/informatics/archived/helpers/archived/load_adata.py,sha256=i3aYVqp_aFQFa2ZXazw16HdJ9ExE0LzhyLMXKxJGxnA,33711
85
+ smftools/informatics/archived/helpers/archived/make_modbed.py,sha256=Wh0UCSOL4fMZbWYK-3oGGHwJtqPurJ3Bl6wJWBaTXoM,923
86
+ smftools/informatics/archived/helpers/archived/modQC.py,sha256=pz2EscFgO-j-9dfNgNDseweXXqM5-a-Rj2abBLErLd0,1051
87
+ smftools/informatics/archived/helpers/archived/modcall.py,sha256=LVPrdMNVp2gyQTJ4BNp8NJNm89AueDjsKaY7Gqkluho,1777
88
+ smftools/informatics/archived/helpers/archived/ohe_batching.py,sha256=QVOiyl9fYHNIFWM23afYnQo0uaOjf1NR3ASKGVSrmuw,2975
89
+ smftools/informatics/archived/helpers/archived/ohe_layers_decode.py,sha256=gIgUC9L8TFLi-fTnjR4PRzXdUaH5D6WL2Hump6XOoy0,1042
90
+ smftools/informatics/archived/helpers/archived/one_hot_decode.py,sha256=3n4rzY8_aC9YKmgrftsguMsH7fUyQ-DbWmrOYF6la9s,906
91
+ smftools/informatics/archived/helpers/archived/one_hot_encode.py,sha256=5hHigA6-SZLK84WH_RHo06F_6aTg7S3TJgvSr8gxGX8,1968
92
+ smftools/informatics/archived/helpers/archived/plot_bed_histograms.py,sha256=zNfnn10toHtNtYKRhfHwiRCp8QeSMewNA7S-srrh5M8,10030
93
+ smftools/informatics/archived/helpers/archived/separate_bam_by_bc.py,sha256=pCLev0OQji1jBdVr25lI_gt9fsozSG8vh7TQkE_UHnY,1800
94
+ smftools/informatics/archived/helpers/archived/split_and_index_BAM.py,sha256=Q7I5qJ5JjW6mSKysfl9NdlFZ6LIy3C8G5rGmG7cn2eA,1224
95
+ smftools/machine_learning/__init__.py,sha256=4Ezt1FLkH1RcbIDUn3kv3EE6hTLR_u4Ot8rqVxB1thQ,193
96
+ smftools/machine_learning/data/__init__.py,sha256=xbfLE-gNjdgxvZ9LKTdvjAtbIHOcs2TR0Gz3YRFbo38,113
97
+ smftools/machine_learning/data/anndata_data_module.py,sha256=onEflCeAHHs9IYDpoue_2NgDFoMBmzfN-dD-gPNSs0Y,10743
98
+ smftools/machine_learning/data/preprocessing.py,sha256=ugujhNYEdoQSj2J3dU-49-DOI9sB8eFZcKKPe7xy9Ec,139
99
+ smftools/machine_learning/evaluation/__init__.py,sha256=UBNFTIVZWfQIPOx16tcvnnoFR5kK5a-HwwS5CaG5rYQ,123
100
+ smftools/machine_learning/evaluation/eval_utils.py,sha256=mvt2aiRjDEWgODoez0t9dx4f9RcxwPSx77n0XE2X-90,1000
101
+ smftools/machine_learning/evaluation/evaluators.py,sha256=vWDgOg8CcpTqfXdNidzDIxbRC15g_7F3Cz46wdR0QYc,8278
102
+ smftools/machine_learning/inference/__init__.py,sha256=qjRDR-MmnwaZLKH76vWW9Yy5P5g92Kz8LqswBZSRU8U,173
103
+ smftools/machine_learning/inference/inference_utils.py,sha256=zZjz-tYk8SsfGFtcVvWCI98bIi7V94hGyU6YBfs9X8Q,950
104
+ smftools/machine_learning/inference/lightning_inference.py,sha256=_yl4xFLlbxuBWl76y85pJOAX8vF7JW4NGzGcWAG2aXc,2113
105
+ smftools/machine_learning/inference/sklearn_inference.py,sha256=DsZA30s9DE6neO3QpkJ3oAlMBpWq240BQgQ2r6knb8s,1608
106
+ smftools/machine_learning/inference/sliding_window_inference.py,sha256=cc2frAMpcZx6lNnc0F8DdgXGuAhODWuIXyB8Ovo0vCQ,4429
107
+ smftools/machine_learning/models/__init__.py,sha256=YxevQ9kUkU-eU0NvgDfnYLbGryFmAEa6rVbgpzN9_Xk,443
108
+ smftools/machine_learning/models/base.py,sha256=oSUolrdzDoTvKOWmQ4e1HGMWoFEyw86_m9Ls7ZidHjw,9416
109
+ smftools/machine_learning/models/cnn.py,sha256=bJSJhWp67tHRIb-BRALKdPtoc2qtwUZedNX4M3r0jjw,4458
110
+ smftools/machine_learning/models/lightning_base.py,sha256=v8PwJ222jNoKw2fXAqimsoZb8Srme56IHQvosC5Da0g,14041
111
+ smftools/machine_learning/models/mlp.py,sha256=YM0JvU5408-sETuF-Xq07VCIR10DvzvT_q7JhA9NpaM,869
112
+ smftools/machine_learning/models/positional.py,sha256=LHtmCMVeYfbEFDMZCADOKQ_VWKpw4eaWV43rp_3CozY,655
113
+ smftools/machine_learning/models/rnn.py,sha256=3Q1NVdzW60JBtNJRHm2k4aI818u5or6gqYCZn-o9x3Y,707
114
+ smftools/machine_learning/models/sklearn_models.py,sha256=xxgwWrE5-f8xmaxBM4wZzm8Gc8wh38k2CLspv9vR8J0,10478
115
+ smftools/machine_learning/models/transformer.py,sha256=dc0viuNLdEyztqfdyz11mpfbAhb94hGl8dr9epZByJU,10833
116
+ smftools/machine_learning/models/wrappers.py,sha256=wLQ111UcqX4KCyIHVyCSJFtdlHMSJH1yTgLeFiPAODo,699
117
+ smftools/machine_learning/training/__init__.py,sha256=WMUuPDR7IXAAb8_OdPLbSPVfOzepSLTFU5Lf7V6-aR8,186
118
+ smftools/machine_learning/training/train_lightning_model.py,sha256=ETfrhOD7CEmYMz9GpCZX9pUeKvzrNmdLwDiDhQEDlzc,4167
119
+ smftools/machine_learning/training/train_sklearn_model.py,sha256=tjxX9FjVzSmKzHl-1fVGKhTLEycnKTBVJg59WE_6QfQ,3111
120
+ smftools/machine_learning/utils/__init__.py,sha256=U7ShlZeKr-6UyHnJappmj7z5_n3-DG_vZcF3Y-PZCFw,63
121
+ smftools/machine_learning/utils/device.py,sha256=aOMqr6TCEoafY2YqDLm4p7Gt4IcxuNc78FiSQfeCWf8,292
122
+ smftools/machine_learning/utils/grl.py,sha256=ObrQtnAGQv6iit1rXIFA_GkG3v9gh9brL4GfDIGOR0o,337
123
+ smftools/plotting/__init__.py,sha256=TL7pnSSe7PCgnHp-HJRG0X6JRh4pbMVu67__xoTyTno,927
124
+ smftools/plotting/autocorrelation_plotting.py,sha256=SfZBIu9ETYO5LVMwVRhxCNwnEfUJVszjP-3CDK9YkH8,30209
125
+ smftools/plotting/classifiers.py,sha256=IoYFklpv7DjrSFr4QWotSQlOMIJdiQkYC4BWuraS_og,16241
126
+ smftools/plotting/general_plotting.py,sha256=zaQ04MrU7-MwSYpEoL9is7dyXme3xKjcECnKwStUdDE,69266
127
+ smftools/plotting/hmm_plotting.py,sha256=vF0LTjWG6nWWfwh9tQLtOhF9hQEvy9dwObFdfSRgvyA,11427
128
+ smftools/plotting/position_stats.py,sha256=6boL2UWA-FrjCHHJ7RWtxWggzbOPycnXlaCTJMrTpIM,18863
129
+ smftools/plotting/qc_plotting.py,sha256=MYlvvdk-Gn75eMEqizqj9wN25IjaNqqWoP1c1gX8raE,10233
130
+ smftools/preprocessing/__init__.py,sha256=r3fENr6W1CGgtC1Cd_c2qYRZjh0exrLYGRDUGJVp9so,1639
131
+ smftools/preprocessing/append_base_context.py,sha256=Z18Izb9-gZ4_ifXOHFZqcmPOradjCiyJZMZ5oTDfiLQ,7102
132
+ smftools/preprocessing/append_binary_layer_by_base_context.py,sha256=7mFG7xjAPgm_60AcdCnnjJZK5gJe4VuLohopkrAHmvQ,7640
133
+ smftools/preprocessing/binarize.py,sha256=eDFLybKKIF2wcrtN3JWVjeGXSUayezxLhX76UllAhVc,888
134
+ smftools/preprocessing/binarize_on_Youden.py,sha256=JTHosTDy9-gJ0bPrHkGnz_Ao_AeE8IiutqFA6MksdM8,4887
135
+ smftools/preprocessing/binary_layers_to_ohe.py,sha256=aR9Th60oFa0lBrYwrhGqg53eLmgGsnXtGx2MrB80Z8E,1896
136
+ smftools/preprocessing/calculate_complexity_II.py,sha256=AztSgw5BRDc_XYZNhk-Z3uu4TFIAvtqMUyulm1PFqRk,10270
137
+ smftools/preprocessing/calculate_consensus.py,sha256=1_-ldkwQ3JT5Rns9thIfV-HJbSKFW2b1Auida96lhGE,2377
138
+ smftools/preprocessing/calculate_coverage.py,sha256=HZ8rtEmb-z6XCr-EvMfl4rc_9nbTJRztyEk8xUg7feE,2777
139
+ smftools/preprocessing/calculate_pairwise_differences.py,sha256=MmbjlVbvV0P5qDLfA2qEa05Ke00086k69UZx7cBaRrk,1763
140
+ smftools/preprocessing/calculate_pairwise_hamming_distances.py,sha256=86CzKTjpuJa_QEjkLVeOBCnMJWEmBYZcK6Ztzt70k_U,962
141
+ smftools/preprocessing/calculate_position_Youden.py,sha256=7p6mK2k-f4dP4VCr-UpCexiY5Q-AtOPQKVsVk5gUCwc,8913
142
+ smftools/preprocessing/calculate_read_length_stats.py,sha256=y2R5lU6ObRBCAhSHKLEZYpgm88woPd9d15NWVthIi_A,4790
143
+ smftools/preprocessing/calculate_read_modification_stats.py,sha256=L1X0LatpjPI5wA1j7MjFgukePYGo75DcgJCYPlhVAGM,5319
144
+ smftools/preprocessing/clean_NaN.py,sha256=hrPhbKfqDpSiXLXXJxvcmtwqFhOecJVC29Z7PMIxi5I,2163
145
+ smftools/preprocessing/filter_adata_by_nan_proportion.py,sha256=5V1PNJISYm92QtEGmS9XSqx456Ult8RY8LMBclNylno,1490
146
+ smftools/preprocessing/filter_reads_on_length_quality_mapping.py,sha256=LYO-tiCNImPGvVbqNmVy_KvmmOmG4Ln11BsAF_T9xK0,7982
147
+ smftools/preprocessing/filter_reads_on_modification_thresholds.py,sha256=kuqUUwdEOZBGCjPN9IrT1qyksyS2v5moijba2Exn-2I,21652
148
+ smftools/preprocessing/flag_duplicate_reads.py,sha256=DEL6rRaPTsjAgwjrtW5DBUUWJVwFoiKsPY5rZ2ElAyM,75538
149
+ smftools/preprocessing/invert_adata.py,sha256=-aiidr_PXSf8IIpC4PMRm2RlLAWi-dtZDpr0iSOY-PY,1367
150
+ smftools/preprocessing/load_sample_sheet.py,sha256=rzY76rCYVf3idu2ZRw4pEjVRBB5AyUkSYY-UzpmE_aw,2193
151
+ smftools/preprocessing/make_dirs.py,sha256=IOrvfPzC-1AK_G9dB8tthxDDZLWYy1OdfEaKoYDoC7Q,627
152
+ smftools/preprocessing/min_non_diagonal.py,sha256=KT0uNdnH0D7qOhe_Ce2oDIyGowOF4kJSZW1kShVfREE,713
153
+ smftools/preprocessing/recipes.py,sha256=pkVbVCdVWHE5P-CIGmlWTVkRMLFUL0d8XQi9jdjxdQw,7133
154
+ smftools/preprocessing/reindex_references_adata.py,sha256=9d7Lm1za0wztSaUVAMzbhVn-TCHeJXNLoLx3F6FNNJQ,3658
155
+ smftools/preprocessing/subsample_adata.py,sha256=G9tCpDw5mZ-W4oKgjZr_kXy9CGnnzVmchtQ8WLQYSc8,2525
156
+ smftools/preprocessing/archived/add_read_length_and_mapping_qc.py,sha256=zD_Kxw3DvyOypfuSMGv0ESyt-02w4XlAAMqQxb7yDNQ,5700
157
+ smftools/preprocessing/archived/calculate_complexity.py,sha256=hJu3XjlFoEa1xdij9ENCxUIfB_xjenSlzXua4NafVtc,3420
158
+ smftools/preprocessing/archived/mark_duplicates.py,sha256=kwfstcWb7KkqeNB321dB-NLe8yd9_hZsSmpL8pCVBQg,8747
159
+ smftools/preprocessing/archived/preprocessing.py,sha256=akR1TFBix50v3Ic1va_eg9uaJM6NNMnbqxDp0JchCgg,34531
160
+ smftools/preprocessing/archived/remove_duplicates.py,sha256=Erooi5_1VOUNfWpzddzmMNYMCl1U1jJryt7ZtMhabAs,699
161
+ smftools/schema/__init__.py,sha256=0chkz2Zc3UKSJO4m0MUemfs-WjGUSSghiuuFM28UvsY,293
162
+ smftools/schema/anndata_schema_v1.yaml,sha256=uNFTrsTLNoE3kgJgrcg-hM6iYtDRsu6SHwWCkbcgIuk,7746
163
+ smftools/tools/__init__.py,sha256=BVP42AJXiy7xu-VDzGStEdmE2_Zx6FLKsrwmli4TeRI,719
164
+ smftools/tools/calculate_umap.py,sha256=NtUNASqT3qNyQEh0DB4aar2-0EdU6-kSQt9uzI-FJF4,3500
165
+ smftools/tools/cluster_adata_on_methylation.py,sha256=tIzBI1FhH67aYevCzLBD18EHAQOEotKOLvLnnXVoTz8,7434
166
+ smftools/tools/general_tools.py,sha256=XO8em-clV4onfbYEH6JTfNj3svLQnwBZ1Tja7s8qsXg,3260
167
+ smftools/tools/position_stats.py,sha256=JBtMDVW39LgXjI7o29OVAlEzjUerXzoDp0R66z55rhk,27439
168
+ smftools/tools/read_stats.py,sha256=8rV2BXymdPuPihh0Ev-HqPT40lobyt5WExoYjbmrbcI,6534
169
+ smftools/tools/spatial_autocorrelation.py,sha256=euunec6Mmkm5iBDN7TM4q4NXLl9n8UP77-6GSGYCVOk,25473
170
+ smftools/tools/subset_adata.py,sha256=6xPf6hyKcYwg4L2n0iCnz-Pl84fS4jLgxmD47J-OEco,1012
171
+ smftools/tools/archived/apply_hmm.py,sha256=pJXCULay0zbmubrwql368y7yiHAZr2bJhuGx2QUuKnE,9321
172
+ smftools/tools/archived/classifiers.py,sha256=9bYlmVhRSXiDtbOot9_d_Gyvd1gDDSvWatUT_Di-MXs,42155
173
+ smftools/tools/archived/classify_methylated_features.py,sha256=Z0N2UKw3luD3CTQ8wcUvdnMY7w-8574OJbEcwzNsy88,2897
174
+ smftools/tools/archived/classify_non_methylated_features.py,sha256=IJERTozEs7IPL7K-VIjq2q2K36wRCW9iiNSYLAXasrA,3256
175
+ smftools/tools/archived/subset_adata_v1.py,sha256=3e3689017Utixt61sQiXEGS_FGmevROH6F7W2Lcrb_s,1325
176
+ smftools/tools/archived/subset_adata_v2.py,sha256=Lno9ORj_Dqg5tmkm2P3XYoIbNkul9bztsCIXG2e3fkI,2275
177
+ smftools-0.2.5.dist-info/METADATA,sha256=lYaQpGcNnCiVBfwMyIjZ0sm7m6c0k6h_YZay08M-oRw,6168
178
+ smftools-0.2.5.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
179
+ smftools-0.2.5.dist-info/entry_points.txt,sha256=q4hg4w-mKkI2leekM_-YZc5XRJzp96Mh1FcU3hac82g,52
180
+ smftools-0.2.5.dist-info/licenses/LICENSE,sha256=F8LwmL6vMPddaCt1z1S83Kh_OZv50alTlY7BvVx1RXw,1066
181
+ smftools-0.2.5.dist-info/RECORD,,
@@ -1,173 +0,0 @@
1
- smftools/__init__.py,sha256=aZlrZBVexf_nEnzQeZu7NU_Kp6OnxcYpLo1KPImi7sI,599
2
- smftools/_settings.py,sha256=Ed8lzKUA5ncq5ZRfSp0t6_rphEEjMxts6guttwTZP5Y,409
3
- smftools/_version.py,sha256=X0PliCRFAeVnSTceUeHX1eM0j1HFhGFDWCRxLdde2Bs,21
4
- smftools/cli_entry.py,sha256=_QdtEKcVK5o-e5s9ETB9sOIdftPVlrDxvvjBKcP6YNk,14680
5
- smftools/readwrite.py,sha256=ExKZHNZ0QB-PtSck08drXfHTqbPeSUTHiYhv951SH1s,45994
6
- smftools/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
- smftools/cli/cli_flows.py,sha256=xRiFUThoAL3LX1xdXaHVg4LjyJI4uNpGsc9aQ_wVCto,4941
8
- smftools/cli/hmm_adata.py,sha256=PApUJW0lO4kcLjsiqqQopXgL3Dg-AascIqJrgvSY1Rg,15916
9
- smftools/cli/load_adata.py,sha256=Qt1ej-osyJ47fpBkGaSDgR1F8E4aBNAdcXeBAGM-Lqg,29100
10
- smftools/cli/preprocess_adata.py,sha256=EKGbSTli7qvL44OQUmMalYJjsH9vn3w4Rx7U7BL0ybs,20991
11
- smftools/cli/spatial_adata.py,sha256=AX6iyBfbXud9actteTvDuaQUU_SE3SyBIeknR317g34,30212
12
- smftools/config/__init__.py,sha256=ObUnnR7aRSoD_uvpmsxA_BUFt4NOOfWNopDVCqjp7tg,69
13
- smftools/config/conversion.yaml,sha256=HrFz2f9QRe1RuhmgU6ZtMHaM4ZzY61_aLcugsmpV40Q,969
14
- smftools/config/deaminase.yaml,sha256=mw2aY222y2xg08Rs5CWvjlrXo3vaEim7JwBThA80y4o,1349
15
- smftools/config/default.yaml,sha256=3IrX0OrUyjhVc3CqTjM8uiprKWrrBdVtil4YhtVzKdQ,10233
16
- smftools/config/direct.yaml,sha256=SBhdtG7PKm-z5xxQmA7JV3NQsGnUJ4p58fGH8BnoMrM,2137
17
- smftools/config/discover_input_files.py,sha256=G9vyAmK_n_8Ur5dOnumevVLG3ydHchMy_JQrJdiuuz0,3892
18
- smftools/config/experiment_config.py,sha256=d_6f_Uv3CY-1orHbxpHtAZDsY2gwxw079_pNgR9wDUg,58837
19
- smftools/datasets/F1_hybrid_NKG2A_enhander_promoter_GpC_conversion_SMF.h5ad.gz,sha256=q6wJtgFRDln0o20XNCx1qad3lwcdCoylqPN7wskTfI8,2926497
20
- smftools/datasets/F1_sample_sheet.csv,sha256=9PodIIOXK2eamYPbC6DGnXdzgi9bRDovf296j1aM0ak,259
21
- smftools/datasets/__init__.py,sha256=xkSTlPuakVYVCuRurif9BceNBDt6bsngJvvjI8757QI,142
22
- smftools/datasets/dCas9_m6A_invitro_kinetics.h5ad.gz,sha256=niOcVHaYY7h3XyvwSkN-V_NMBaRt2vTP5TrJO0CwMCs,8385050
23
- smftools/datasets/datasets.py,sha256=0y597Ntp707bOgDwN6O-JEt9yxgplj66p0aj6Zs_IB4,779
24
- smftools/hmm/HMM.py,sha256=K8rt-EHn3ylIHpQ3dHf_OZCXxCBVSS2UWTgSGOatwHw,71046
25
- smftools/hmm/__init__.py,sha256=BkX145eGVy-kFOtyqOcu-Hzv9ZJLDQ3cfDe51eKBTwY,585
26
- smftools/hmm/apply_hmm_batched.py,sha256=BBeJ8DiIuuMWzLwtDdk2DO2vvrfLCrVe4JtRYPFItIU,10648
27
- smftools/hmm/calculate_distances.py,sha256=KDWimQ6u-coyxCKrbTm42Fh_Alf_gURBZ0vfFaem848,644
28
- smftools/hmm/call_hmm_peaks.py,sha256=T-3Ld8H4t3Mgg2whBTYP9s2QL7rY-9RIzVCgB6avKhE,4625
29
- smftools/hmm/display_hmm.py,sha256=3WuQCPvM3wPfzAdgbhfiBTd0g5mQdx9HTUdqAxs2aj4,825
30
- smftools/hmm/hmm_readwrite.py,sha256=DjJ3hunpBQ7N0GVvxL7-0QUas_SkA88LVgL72mVK2cI,359
31
- smftools/hmm/nucleosome_hmm_refinement.py,sha256=nQWimvse6dclcXhbU707rGbRVMKHM0mU_ZhH9g2yCMA,4641
32
- smftools/hmm/train_hmm.py,sha256=srzRcB9LEmNuHyBM0R5Z0VEnxecifQt-MoaJhADxGT8,2477
33
- smftools/informatics/__init__.py,sha256=vLvSrCtCVYRUCCNLW7fL3ltPr3h_w8FhT--V6el3ZkQ,1191
34
- smftools/informatics/bam_functions.py,sha256=otgl3TRPLn5Fnsx1jXX75du90k3XB3RHGzlfamvETsU,32670
35
- smftools/informatics/basecalling.py,sha256=jc39jneaa8Gt1azutHgBGWHqCoPeTVSGBu3kyQwP7xM,3460
36
- smftools/informatics/bed_functions.py,sha256=uETVxT5mRWDNn7t0OqhDi8kDiq7uDakeHB1L2JsP4PA,13377
37
- smftools/informatics/binarize_converted_base_identities.py,sha256=yOepGaNBGfZJEsMiLRwKauvsmaHn_JRrxaGp8LmKAXs,7778
38
- smftools/informatics/complement_base_list.py,sha256=k6EkLtxFoajaIufxw1p0pShJ2nPHyGLTbzZmIFFjB4o,532
39
- smftools/informatics/converted_BAM_to_adata.py,sha256=Y2kQNWly0WjjGN9El9zL1nLfjVxmPLWONvX5VNgZUh0,22554
40
- smftools/informatics/fasta_functions.py,sha256=5IfTkX_GIj5gRJB9PjL_WjyEktpBHwGsmS_nnO1ETjI,9790
41
- smftools/informatics/h5ad_functions.py,sha256=iAOxJjhaDslTUC78kjUHlCELigDl73sWo0fvXcKuFoI,7824
42
- smftools/informatics/modkit_extract_to_adata.py,sha256=TrgrL_IgfqzNJ9qZ_2EvF_B38_Syw8mP38Sl7v0Riwo,55278
43
- smftools/informatics/modkit_functions.py,sha256=lywjeqAJ7Cdd7k-0P3YaL_9cAZvEDTDLh91rIRcSMWE,5604
44
- smftools/informatics/ohe.py,sha256=MEmh3ps-ZSSyXuIrr5LMzQvCsDJRCYiy7JS-WD4TlYs,5805
45
- smftools/informatics/pod5_functions.py,sha256=vxwhD_d_iWpJydIpbf0uce7VGHm8sBnCwb7tLNpYBc8,9859
46
- smftools/informatics/run_multiqc.py,sha256=n6LvQuGQpLfsutVGmgvHfV0SV5PqTQ8wa_SeKOjRssM,1052
47
- smftools/informatics/archived/bam_conversion.py,sha256=I8EzXjQixMmqx2oWnoNSH5NURBhfT-krbWHkoi_M964,3330
48
- smftools/informatics/archived/bam_direct.py,sha256=jbEFtUIiUR8Wlp3po_sWkr19AUNS9WZjglojb9j28vo,3606
49
- smftools/informatics/archived/basecall_pod5s.py,sha256=Ynmxscsxj6qp-zVY0RWodq513oDuHDaHnpqoepB3RUU,3930
50
- smftools/informatics/archived/basecalls_to_adata.py,sha256=-Nag6lr_NAtU4t8jo0GSMdgIAIfmDge-5VEUPQbEatE,3692
51
- smftools/informatics/archived/conversion_smf.py,sha256=QhlISVi3Z-XqFKyDG_CenLojovAt5-ZhuVe9hus36lg,7177
52
- smftools/informatics/archived/deaminase_smf.py,sha256=mNeg1mIYYVLIiW8powEpz0CqrGRDsrmY5-aoIgwMGHs,7221
53
- smftools/informatics/archived/direct_smf.py,sha256=ylPGFBvRLdxLHeDJjAwq98j8Q8_lfGK3k5JJnQxrwJw,7485
54
- smftools/informatics/archived/fast5_to_pod5.py,sha256=TRG_FYYGCGWUPzZCt0ZqzB8gQv_HKvkssp9nTctWzXU,1398
55
- smftools/informatics/archived/print_bam_query_seq.py,sha256=8Z2ZJEOOlfWYUXiZGjteLWU4yTgvV8KQzEIBHUmamGM,838
56
- smftools/informatics/archived/subsample_fasta_from_bed.py,sha256=7YTKhXg_mtP4KWpnD-TB4nuFEL4crOa9_d84IJKllyQ,1633
57
- smftools/informatics/archived/subsample_pod5.py,sha256=zDw9tRcrFRmPI62xkcy9dh8IfsJcuYm7R-FVeBC_g3s,4701
58
- smftools/informatics/archived/helpers/archived/__init__.py,sha256=DiiBerFJAxZeG5y0ScpJSaVBJ8b4XWdfEJCh8Q7k8jU,2783
59
- smftools/informatics/archived/helpers/archived/align_and_sort_BAM.py,sha256=yaRfhQDh3HpsSTme6QnSqBgElCS0kv2G6TunhvR1weY,5493
60
- smftools/informatics/archived/helpers/archived/aligned_BAM_to_bed.py,sha256=N3NAOaoSt_M4V48vtTP_m_iF1tRuNIPS_uNJ3Y0IA4E,3391
61
- smftools/informatics/archived/helpers/archived/bam_qc.py,sha256=PWl3dViCHGOcjB4UKkxBFz34Gc0PXHVTHjpYVNckVH0,7975
62
- smftools/informatics/archived/helpers/archived/bed_to_bigwig.py,sha256=Bg9wFsavUU9Ha57n_99vYlYpVcbDUz3tLtYJ7ZFVR9k,2986
63
- smftools/informatics/archived/helpers/archived/canoncall.py,sha256=5WS6lwukc_xYTdPQy0OSj-WLbx0Rg70Cun1lCucY7w8,1741
64
- smftools/informatics/archived/helpers/archived/concatenate_fastqs_to_bam.py,sha256=6GTHXG1dfaC8rBin5NthG3xgyGqOsT6wIGxJVCmCq58,9774
65
- smftools/informatics/archived/helpers/archived/converted_BAM_to_adata.py,sha256=sRmOtn0kNosLYfogqslDHg1Azk51l6nfNOLgQOnQjlA,14591
66
- smftools/informatics/archived/helpers/archived/count_aligned_reads.py,sha256=ZF_kkzAf1RvM4PwDYhxD36UiuVuMM_MBvZgiXom1NQ0,2176
67
- smftools/informatics/archived/helpers/archived/demux_and_index_BAM.py,sha256=KmU7nqGQ-MfDrp8h3txbToGn4h95Rkvg0WEiuext-vY,2000
68
- smftools/informatics/archived/helpers/archived/extract_base_identities.py,sha256=CaFqNBjkDujYlyiUnOeRock1OQWs3CeiD3yTL96sjIs,3043
69
- smftools/informatics/archived/helpers/archived/extract_mods.py,sha256=Mrs7mrLFgCTiRGfPFSyvJm6brq--LGzZrNDiFB-jynI,3895
70
- smftools/informatics/archived/helpers/archived/extract_read_features_from_bam.py,sha256=SYAb4Q1HxiJzCx5bIz86MdH_TvVPsRAVodZD9082HGY,1491
71
- smftools/informatics/archived/helpers/archived/extract_read_lengths_from_bed.py,sha256=Cw39wgp1eBTV45Wk1l0c9l-upBW5N2OcgyWXTAXln90,678
72
- smftools/informatics/archived/helpers/archived/extract_readnames_from_BAM.py,sha256=3FxSNqbZ1VsOK2RfHrvevQTzhWATf5E8bZ5yVOqayvk,759
73
- smftools/informatics/archived/helpers/archived/find_conversion_sites.py,sha256=JPlDipmzeCBkV_T6esGD5ptwmbQmk8gJMTh7NMaSYd4,2480
74
- smftools/informatics/archived/helpers/archived/generate_converted_FASTA.py,sha256=Us6iH1cIhsXDnTvDxI-FEHB6ndbB30hd1ss-9dIoWVE,3819
75
- smftools/informatics/archived/helpers/archived/get_chromosome_lengths.py,sha256=BEroXshYSpjf5wt_vrEAFiTJmSuf-kvD-Z1B_1gusME,1000
76
- smftools/informatics/archived/helpers/archived/get_native_references.py,sha256=fRuyEm9UJkfd5DwHmFb1bxEtNvtSI1_BxGRmrCymGkw,981
77
- smftools/informatics/archived/helpers/archived/index_fasta.py,sha256=w6xHFSaoXVk-YWZWftZ9Xv8rywZ_IuuIouLQ12KL3ro,779
78
- smftools/informatics/archived/helpers/archived/informatics.py,sha256=gKb2ZJ_LcAeEXuQqn9e-QDF_sS4tMpMTr2vZlqa7n54,14572
79
- smftools/informatics/archived/helpers/archived/load_adata.py,sha256=DhvYYqO9VLsZqhL1WjN9sd-e3fgvdXGlgTP18z1h0L0,33654
80
- smftools/informatics/archived/helpers/archived/make_modbed.py,sha256=Wh0UCSOL4fMZbWYK-3oGGHwJtqPurJ3Bl6wJWBaTXoM,923
81
- smftools/informatics/archived/helpers/archived/modQC.py,sha256=pz2EscFgO-j-9dfNgNDseweXXqM5-a-Rj2abBLErLd0,1051
82
- smftools/informatics/archived/helpers/archived/modcall.py,sha256=LVPrdMNVp2gyQTJ4BNp8NJNm89AueDjsKaY7Gqkluho,1777
83
- smftools/informatics/archived/helpers/archived/ohe_batching.py,sha256=QVOiyl9fYHNIFWM23afYnQo0uaOjf1NR3ASKGVSrmuw,2975
84
- smftools/informatics/archived/helpers/archived/ohe_layers_decode.py,sha256=gIgUC9L8TFLi-fTnjR4PRzXdUaH5D6WL2Hump6XOoy0,1042
85
- smftools/informatics/archived/helpers/archived/one_hot_decode.py,sha256=3n4rzY8_aC9YKmgrftsguMsH7fUyQ-DbWmrOYF6la9s,906
86
- smftools/informatics/archived/helpers/archived/one_hot_encode.py,sha256=5hHigA6-SZLK84WH_RHo06F_6aTg7S3TJgvSr8gxGX8,1968
87
- smftools/informatics/archived/helpers/archived/plot_bed_histograms.py,sha256=78i0mYFuElTPGA2Dt1feO6Z4Grh1Nro3m-F8D5FRBOw,9914
88
- smftools/informatics/archived/helpers/archived/separate_bam_by_bc.py,sha256=pCLev0OQji1jBdVr25lI_gt9fsozSG8vh7TQkE_UHnY,1800
89
- smftools/informatics/archived/helpers/archived/split_and_index_BAM.py,sha256=Q7I5qJ5JjW6mSKysfl9NdlFZ6LIy3C8G5rGmG7cn2eA,1224
90
- smftools/machine_learning/__init__.py,sha256=cWyGN_QVcssqBr_VVr7xh2Inz0P7ylqUmBBcpMgsK0k,257
91
- smftools/machine_learning/data/__init__.py,sha256=xbfLE-gNjdgxvZ9LKTdvjAtbIHOcs2TR0Gz3YRFbo38,113
92
- smftools/machine_learning/data/anndata_data_module.py,sha256=ktrdMVMk5yhIUrnu-G_Xf3y7G-KP9PyhYZhobv8TCVg,10063
93
- smftools/machine_learning/data/preprocessing.py,sha256=dSs6Qs3wmlccFPZSpOc-uy1nlFSf68wWQKwF1iTqMok,137
94
- smftools/machine_learning/evaluation/__init__.py,sha256=KHvcC7bTYv-ThptAi6G8wD-hW5Iz1HPgMcQ3AewtK3c,122
95
- smftools/machine_learning/evaluation/eval_utils.py,sha256=t9WIevIJ6b6HqU6OYaNx7UBAa5TEIPFmZow6n_ZDZeY,1105
96
- smftools/machine_learning/evaluation/evaluators.py,sha256=KqYHqbVV2WOs0Yo4GIhLS_0h1oKY6nd1yi6piDWYQLg,8184
97
- smftools/machine_learning/inference/__init__.py,sha256=vWLQD-JNEKKNGuzDtx7vcE4czKKXEO6S-0Zp5-21fPs,172
98
- smftools/machine_learning/inference/inference_utils.py,sha256=aJuXvTgC8v4BOjLCgOU9vT3S2y1UGoZjq4mQpPswTQU,947
99
- smftools/machine_learning/inference/lightning_inference.py,sha256=34WVnPfpPDf4KM8ZN5MOsx4tYgsrUclkens6GXgB4Ek,2160
100
- smftools/machine_learning/inference/sklearn_inference.py,sha256=FomgQF5jFBfAj1-H2Q0_RPmvR9rDJsmUeaWOVRhbpTw,1612
101
- smftools/machine_learning/inference/sliding_window_inference.py,sha256=8zjQs2hGhj0Dww4gWljLVK0g002_U96dyIqQJiDdSDY,4426
102
- smftools/machine_learning/models/__init__.py,sha256=bMfPbQ5bDmn_kWv82virLuUhjb12Yow7t_j96afNbyA,421
103
- smftools/machine_learning/models/base.py,sha256=p3d77iyY8BVx0tYL0TjmOSnPNP1ZrKTzn_J05e2GF0A,9626
104
- smftools/machine_learning/models/cnn.py,sha256=KKZmJLQ6Bjm_HI8GULnafjz6mRy5BZ6Y0ZCgDSuS268,4465
105
- smftools/machine_learning/models/lightning_base.py,sha256=3nC3wajPIupFMtOq3YUf24_SHvDoW_9BIGyIvEwzN9w,13626
106
- smftools/machine_learning/models/mlp.py,sha256=Y2hc_qHj6vpM_mHpreFxBULn4MkR25oEA1LXu5sPA_w,820
107
- smftools/machine_learning/models/positional.py,sha256=EfTyYnY0pCB-aVJIWf-4DVNpyGlvx1q_09PzfrC-VlA,652
108
- smftools/machine_learning/models/rnn.py,sha256=uJnHDGpT2_l_HqHGsx33XGF3v3EYZPeOtSQ89uvhdpE,717
109
- smftools/machine_learning/models/sklearn_models.py,sha256=ssV-mR3rmcjycQEzKccRcbVaEjZp0zRNUL5-R6m1UKU,10402
110
- smftools/machine_learning/models/transformer.py,sha256=8YXS0vCcOWT-33h-8yeDfFM5ibPHQ-CMSEhGWzR4pm8,11039
111
- smftools/machine_learning/models/wrappers.py,sha256=HEY2A6-Bk6MtVZ9jOaPT8S1Qi0L98SyEg1nbKqYZoag,697
112
- smftools/machine_learning/training/__init__.py,sha256=teUmwpnmAl0oNFaqVrfoijEpxBjLwI5YtBwLHT3uXck,185
113
- smftools/machine_learning/training/train_lightning_model.py,sha256=usEBaQ4vNjfatefP5XDCXkywzgZ2D-YppGmT3-3gTGE,4070
114
- smftools/machine_learning/training/train_sklearn_model.py,sha256=m1k1Gsynpj6SJI64rl4B3cfXm1SliU0fwMAj1-bAAeE,3166
115
- smftools/machine_learning/utils/__init__.py,sha256=yOpzBc9AXbarSRfN8Ixh2Z1uWLGpgpjRR46h6E46_2w,62
116
- smftools/machine_learning/utils/device.py,sha256=GITrULOty2Fr96Bqt1wi1PaYl_oVgB5Z99Gfn5vQy4o,274
117
- smftools/machine_learning/utils/grl.py,sha256=BWBDp_kQBigrUzQpRbZzgpfr_WOcd2K2V3MQL-aAIc4,334
118
- smftools/plotting/__init__.py,sha256=7T3-hZFgTY0nfQgV4J6Vn9ogwkNMlY315kguZR7V1AI,866
119
- smftools/plotting/autocorrelation_plotting.py,sha256=cF9X3CgKiwzL79mgMUFO1tSqdybDoPN1COQQ567InCY,27455
120
- smftools/plotting/classifiers.py,sha256=8_zabh4NNB1_yVxLD22lfrfl5yfzbEoG3XWqlIqdtrQ,13786
121
- smftools/plotting/general_plotting.py,sha256=2JzE7agm_tILpQ67BHs5pdyPRsHBwcENZe7n4gfMWgM,61350
122
- smftools/plotting/hmm_plotting.py,sha256=3Eq82gty_0b8GkSMCQgUlbKfzR9h2fJ5rZkB8yYGX-M,10934
123
- smftools/plotting/position_stats.py,sha256=4XukYIWeWZ_aGSZg1K0t37KA2aknjNNKT5kcKFfuz8Q,17428
124
- smftools/plotting/qc_plotting.py,sha256=q5Ri0q89udvNUFUNxHzgk9atvQYqUkqkS5-JFq9EqoI,10045
125
- smftools/preprocessing/__init__.py,sha256=GAQBULUH7fGVabzK5Cq5Wj-0ew0vNA-jWQtR5LAowvs,1746
126
- smftools/preprocessing/add_read_length_and_mapping_qc.py,sha256=zD_Kxw3DvyOypfuSMGv0ESyt-02w4XlAAMqQxb7yDNQ,5700
127
- smftools/preprocessing/append_base_context.py,sha256=wGBAADePnys8DLUR15MpRe2BUcfCMDJWaCDDNyjn6AU,6209
128
- smftools/preprocessing/append_binary_layer_by_base_context.py,sha256=s-7t-VKCs9Y67pX7kH6DNCEkC-RW4nM-UPsBQV2ZwtE,6186
129
- smftools/preprocessing/binarize.py,sha256=6Vr7Z8zgtJ5rS_uPAx1n3EnQR670V33DlZ_95JmOeWc,484
130
- smftools/preprocessing/binarize_on_Youden.py,sha256=HGs4p7XiOSYU3_z8QswNHIA9HlrI-7Pp1Kggrn6yUnI,1834
131
- smftools/preprocessing/binary_layers_to_ohe.py,sha256=Lxd8knelNTaUozfGMFNMlnrOb6uP28Laj3Ymw6cRHL0,1826
132
- smftools/preprocessing/calculate_complexity.py,sha256=cXMpFrhkwkPipQo2GZGT5yFknMYUMt1t8gz0Cse1DrA,3288
133
- smftools/preprocessing/calculate_complexity_II.py,sha256=DGfl0jkuBPUpzhKVItN0W7EPzh-QYuR4IxRObPE6gAQ,9301
134
- smftools/preprocessing/calculate_consensus.py,sha256=6zRpRmb2xdfDu5hctZrReALRb7Pjn8sy8xJZTm3o0nU,2442
135
- smftools/preprocessing/calculate_coverage.py,sha256=4WTILzKLzxGLSsQrZkshXP-IRQpoVu3Fkqc0QTpux3Y,2132
136
- smftools/preprocessing/calculate_pairwise_differences.py,sha256=5zJbNNaFld5qgKRoPyplCmMHflbvAQ9eKWCXPXPpJ60,1774
137
- smftools/preprocessing/calculate_pairwise_hamming_distances.py,sha256=e5Mzyex7pT29H2PY014uU4Fi_eewbut1JkzC1ffBbCg,961
138
- smftools/preprocessing/calculate_position_Youden.py,sha256=yaSd6UDXPCddoN1UR6LgTqE5teJ79Ldw0BAlemc9fB4,7453
139
- smftools/preprocessing/calculate_read_length_stats.py,sha256=gNNePwMqYZJidzGgT1ZkfSlvc5Y3I3bi5KNYpP6wQQc,4584
140
- smftools/preprocessing/calculate_read_modification_stats.py,sha256=mIlLBqNflVIkuoLxhbyujq3JEKyPl8iebhUlikB9brM,4775
141
- smftools/preprocessing/clean_NaN.py,sha256=IOcnN5YF05gpPQc3cc3IS83petCnhCpkYiyT6bXEyx0,1937
142
- smftools/preprocessing/filter_adata_by_nan_proportion.py,sha256=GZcvr2JCsthX8EMw34S9-W3fc6JElw6ka99Jy6f2JvA,1292
143
- smftools/preprocessing/filter_reads_on_length_quality_mapping.py,sha256=93LgTy_vsPnOZgoiXhZ1-w_pix2oFdBk-dsBUoz33Go,7379
144
- smftools/preprocessing/filter_reads_on_modification_thresholds.py,sha256=4TUvChkSH8R4p_0TpRCh7TounkdUgQHh71TGNmsZ29A,19355
145
- smftools/preprocessing/flag_duplicate_reads.py,sha256=MySI9En6xVp0FqL7hfiLw0EP3JnGVJWM_yZfkvN-m1U,65585
146
- smftools/preprocessing/invert_adata.py,sha256=HYMJ1sR3Ui8j6bDjY8OcVQOETzZV-_rrpIYaWLZL6S4,1049
147
- smftools/preprocessing/load_sample_sheet.py,sha256=AjJf2MrqGHJJ2rNjYi09zV1QkLTq8qGaHGVklXHnPuU,1908
148
- smftools/preprocessing/make_dirs.py,sha256=lWHXpwC76MFM5sSme9i_WeYUaxutzybendokhny03ds,537
149
- smftools/preprocessing/min_non_diagonal.py,sha256=hx1asW8CEmLaIroZISW8EcAf_RnBEC_nofGD8QG0b1E,711
150
- smftools/preprocessing/recipes.py,sha256=cfKEpKW8TtQLe1CMdSHyPuIgKiWOPn7uP6uMIoRlnaQ,7063
151
- smftools/preprocessing/subsample_adata.py,sha256=ivJvJIOvEtyvAjqZ7cwEeVedm4QgJxCJEI7sFaTuI3w,2360
152
- smftools/preprocessing/archives/mark_duplicates.py,sha256=kwfstcWb7KkqeNB321dB-NLe8yd9_hZsSmpL8pCVBQg,8747
153
- smftools/preprocessing/archives/preprocessing.py,sha256=4mLT09A7vwRZ78FHmuwtv38mH9TQ9qrZc_WjHRhhkIw,34379
154
- smftools/preprocessing/archives/remove_duplicates.py,sha256=Erooi5_1VOUNfWpzddzmMNYMCl1U1jJryt7ZtMhabAs,699
155
- smftools/tools/__init__.py,sha256=QV3asy5_lP9wcRzpNTfxGTCcpykkbNYvzxSMpFw4KXU,719
156
- smftools/tools/calculate_umap.py,sha256=2arbAQdFOtnWoPq22TWicyr6fLYZ5PTNeZv_jdwuk_I,2491
157
- smftools/tools/cluster_adata_on_methylation.py,sha256=UDC5lpW8fZ6O-16ETu-mbflLkNBKuIg7RIzQ9r7knvA,5760
158
- smftools/tools/general_tools.py,sha256=YbobB6Zllz6cUq50yolGH9Jr6uuAMvEI4m3hiJ6FmAI,2561
159
- smftools/tools/position_stats.py,sha256=Z7VW54wUVzH1RQ9xhP6KO7ewp-xeLybd07I5umV_aqM,24369
160
- smftools/tools/read_stats.py,sha256=w3Zaim6l__Kt8EPCJKXTlMgO51Iy2Milj6yUb88HXiI,6324
161
- smftools/tools/spatial_autocorrelation.py,sha256=uQkuPi2PJCj5lZzb33IWTL-e-p3J6PdMeM88rUFfQRw,21212
162
- smftools/tools/subset_adata.py,sha256=nBbtAxCNteZCUBmPnZ9swQNyU74XgWM8aJHHWg2AuL0,1025
163
- smftools/tools/archived/apply_hmm.py,sha256=pJXCULay0zbmubrwql368y7yiHAZr2bJhuGx2QUuKnE,9321
164
- smftools/tools/archived/classifiers.py,sha256=mwSTpWUXBPjmUuV5i_SMG1lIPpHSMCzsKhl8wTbm-Og,36903
165
- smftools/tools/archived/classify_methylated_features.py,sha256=Z0N2UKw3luD3CTQ8wcUvdnMY7w-8574OJbEcwzNsy88,2897
166
- smftools/tools/archived/classify_non_methylated_features.py,sha256=IJERTozEs7IPL7K-VIjq2q2K36wRCW9iiNSYLAXasrA,3256
167
- smftools/tools/archived/subset_adata_v1.py,sha256=qyU9iCal03edb5aUS3AZ2U4TlL3uQ42jGI9hX3QF7Fc,1047
168
- smftools/tools/archived/subset_adata_v2.py,sha256=OKZoUpvdURPtckIQxGTWmOI5jLa-_EU62Xs3LyyehnA,1880
169
- smftools-0.2.3.dist-info/METADATA,sha256=w_PRsBPndPoTQZviW9WTuiZV1Pk3ukeJ155OvC4E57M,8787
170
- smftools-0.2.3.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
171
- smftools-0.2.3.dist-info/entry_points.txt,sha256=q4hg4w-mKkI2leekM_-YZc5XRJzp96Mh1FcU3hac82g,52
172
- smftools-0.2.3.dist-info/licenses/LICENSE,sha256=F8LwmL6vMPddaCt1z1S83Kh_OZv50alTlY7BvVx1RXw,1066
173
- smftools-0.2.3.dist-info/RECORD,,
File without changes
File without changes