├── .gitattributes ├── .github └── workflows │ └── build-test.yml ├── .gitignore ├── CITATION.cff ├── CODE_OF_CONDUCT.md ├── LICENSE ├── README.md ├── bin ├── analyze_probe_coverage.py ├── design.py ├── design_large.py ├── design_naively.py └── pool.py ├── catch ├── __init__.py ├── coverage_analysis.py ├── filter │ ├── __init__.py │ ├── adapter_filter.py │ ├── base_filter.py │ ├── candidate_probes.py │ ├── dominating_set_filter.py │ ├── duplicate_filter.py │ ├── fasta_filter.py │ ├── n_expansion_filter.py │ ├── naive_redundant_filter.py │ ├── near_duplicate_filter.py │ ├── polya_filter.py │ ├── probe_designer.py │ ├── reverse_complement_filter.py │ ├── set_cover_filter.py │ └── tests │ │ ├── __init__.py │ │ ├── input │ │ └── custom_cover_range_fn.py │ │ ├── test_adapter_filter.py │ │ ├── test_candidate_probes.py │ │ ├── test_dominating_set_filter.py │ │ ├── test_duplicate_filter.py │ │ ├── test_fasta_filter.py │ │ ├── test_n_expansion_filter.py │ │ ├── test_naive_redundant_filter.py │ │ ├── test_near_duplicate_filter.py │ │ ├── test_polya_filter.py │ │ ├── test_probe_designer.py │ │ ├── test_reverse_complement_filter.py │ │ └── test_set_cover_filter.py ├── genome.py ├── pool │ ├── __init__.py │ ├── interpolate_count.py │ ├── param_search.py │ └── tests │ │ ├── __init__.py │ │ ├── input │ │ ├── num-probes.V-All.201606.tsv │ │ └── num-probes.V-WAfr.201506.tsv │ │ ├── test_interpolate_count.py │ │ └── test_param_search.py ├── probe.py ├── tests │ ├── __init__.py │ ├── test_coverage_analysis.py │ ├── test_genome.py │ └── test_probe.py └── utils │ ├── __init__.py │ ├── cluster.py │ ├── dynamic_load.py │ ├── fix_spawn_behavior.py │ ├── interval.py │ ├── log.py │ ├── longest_common_substring.py │ ├── lsh.py │ ├── ncbi_neighbors.py │ ├── pool_probes_io.py │ ├── pretty_print.py │ ├── seq_io.py │ ├── set_cover.py │ ├── tests │ ├── __init__.py │ ├── data │ │ └── zaire_ebolavirus.fasta.gz │ ├── input │ │ └── test_module.py │ ├── test_cluster.py │ ├── test_dynamic_load.py │ ├── test_interval.py │ ├── test_longest_common_substring.py │ ├── test_lsh.py │ ├── test_ncbi_neighbors.py │ ├── test_pool_probes_io.py │ ├── test_pretty_print.py │ ├── test_seq_io.py │ └── test_set_cover.py │ ├── timeout.py │ └── version.py ├── codecov.yml ├── probe-designs ├── README.md ├── V-All.201606.fasta.gz ├── V-All.201606.trimmed.fasta.gz ├── V-All.250k.201810.fasta.gz ├── V-All.350k.201810.fasta.gz ├── V-All.700k.201810.fasta.gz ├── V-Flu.45k.201810.fasta.gz ├── V-Flu.6k.201810.fasta.gz ├── V-MM.201603.fasta.gz ├── V-Respiratory.100k.202001.fasta.gz ├── V-WAfr.201506.fasta.gz └── V-ZC.201602.fasta.gz ├── requirements.txt └── setup.py /.gitattributes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/.gitattributes -------------------------------------------------------------------------------- /.github/workflows/build-test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/.github/workflows/build-test.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/.gitignore -------------------------------------------------------------------------------- /CITATION.cff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/CITATION.cff -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/README.md -------------------------------------------------------------------------------- /bin/analyze_probe_coverage.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/bin/analyze_probe_coverage.py -------------------------------------------------------------------------------- /bin/design.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/bin/design.py -------------------------------------------------------------------------------- /bin/design_large.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/bin/design_large.py -------------------------------------------------------------------------------- /bin/design_naively.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/bin/design_naively.py -------------------------------------------------------------------------------- /bin/pool.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/bin/pool.py -------------------------------------------------------------------------------- /catch/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/__init__.py -------------------------------------------------------------------------------- /catch/coverage_analysis.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/coverage_analysis.py -------------------------------------------------------------------------------- /catch/filter/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /catch/filter/adapter_filter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/filter/adapter_filter.py -------------------------------------------------------------------------------- /catch/filter/base_filter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/filter/base_filter.py -------------------------------------------------------------------------------- /catch/filter/candidate_probes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/filter/candidate_probes.py -------------------------------------------------------------------------------- /catch/filter/dominating_set_filter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/filter/dominating_set_filter.py -------------------------------------------------------------------------------- /catch/filter/duplicate_filter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/filter/duplicate_filter.py -------------------------------------------------------------------------------- /catch/filter/fasta_filter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/filter/fasta_filter.py -------------------------------------------------------------------------------- /catch/filter/n_expansion_filter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/filter/n_expansion_filter.py -------------------------------------------------------------------------------- /catch/filter/naive_redundant_filter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/filter/naive_redundant_filter.py -------------------------------------------------------------------------------- /catch/filter/near_duplicate_filter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/filter/near_duplicate_filter.py -------------------------------------------------------------------------------- /catch/filter/polya_filter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/filter/polya_filter.py -------------------------------------------------------------------------------- /catch/filter/probe_designer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/filter/probe_designer.py -------------------------------------------------------------------------------- /catch/filter/reverse_complement_filter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/filter/reverse_complement_filter.py -------------------------------------------------------------------------------- /catch/filter/set_cover_filter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/filter/set_cover_filter.py -------------------------------------------------------------------------------- /catch/filter/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /catch/filter/tests/input/custom_cover_range_fn.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/filter/tests/input/custom_cover_range_fn.py -------------------------------------------------------------------------------- /catch/filter/tests/test_adapter_filter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/filter/tests/test_adapter_filter.py -------------------------------------------------------------------------------- /catch/filter/tests/test_candidate_probes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/filter/tests/test_candidate_probes.py -------------------------------------------------------------------------------- /catch/filter/tests/test_dominating_set_filter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/filter/tests/test_dominating_set_filter.py -------------------------------------------------------------------------------- /catch/filter/tests/test_duplicate_filter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/filter/tests/test_duplicate_filter.py -------------------------------------------------------------------------------- /catch/filter/tests/test_fasta_filter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/filter/tests/test_fasta_filter.py -------------------------------------------------------------------------------- /catch/filter/tests/test_n_expansion_filter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/filter/tests/test_n_expansion_filter.py -------------------------------------------------------------------------------- /catch/filter/tests/test_naive_redundant_filter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/filter/tests/test_naive_redundant_filter.py -------------------------------------------------------------------------------- /catch/filter/tests/test_near_duplicate_filter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/filter/tests/test_near_duplicate_filter.py -------------------------------------------------------------------------------- /catch/filter/tests/test_polya_filter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/filter/tests/test_polya_filter.py -------------------------------------------------------------------------------- /catch/filter/tests/test_probe_designer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/filter/tests/test_probe_designer.py -------------------------------------------------------------------------------- /catch/filter/tests/test_reverse_complement_filter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/filter/tests/test_reverse_complement_filter.py -------------------------------------------------------------------------------- /catch/filter/tests/test_set_cover_filter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/filter/tests/test_set_cover_filter.py -------------------------------------------------------------------------------- /catch/genome.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/genome.py -------------------------------------------------------------------------------- /catch/pool/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /catch/pool/interpolate_count.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/pool/interpolate_count.py -------------------------------------------------------------------------------- /catch/pool/param_search.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/pool/param_search.py -------------------------------------------------------------------------------- /catch/pool/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /catch/pool/tests/input/num-probes.V-All.201606.tsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/pool/tests/input/num-probes.V-All.201606.tsv -------------------------------------------------------------------------------- /catch/pool/tests/input/num-probes.V-WAfr.201506.tsv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/pool/tests/input/num-probes.V-WAfr.201506.tsv -------------------------------------------------------------------------------- /catch/pool/tests/test_interpolate_count.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/pool/tests/test_interpolate_count.py -------------------------------------------------------------------------------- /catch/pool/tests/test_param_search.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/pool/tests/test_param_search.py -------------------------------------------------------------------------------- /catch/probe.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/probe.py -------------------------------------------------------------------------------- /catch/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /catch/tests/test_coverage_analysis.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/tests/test_coverage_analysis.py -------------------------------------------------------------------------------- /catch/tests/test_genome.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/tests/test_genome.py -------------------------------------------------------------------------------- /catch/tests/test_probe.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/tests/test_probe.py -------------------------------------------------------------------------------- /catch/utils/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /catch/utils/cluster.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/utils/cluster.py -------------------------------------------------------------------------------- /catch/utils/dynamic_load.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/utils/dynamic_load.py -------------------------------------------------------------------------------- /catch/utils/fix_spawn_behavior.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/utils/fix_spawn_behavior.py -------------------------------------------------------------------------------- /catch/utils/interval.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/utils/interval.py -------------------------------------------------------------------------------- /catch/utils/log.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/utils/log.py -------------------------------------------------------------------------------- /catch/utils/longest_common_substring.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/utils/longest_common_substring.py -------------------------------------------------------------------------------- /catch/utils/lsh.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/utils/lsh.py -------------------------------------------------------------------------------- /catch/utils/ncbi_neighbors.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/utils/ncbi_neighbors.py -------------------------------------------------------------------------------- /catch/utils/pool_probes_io.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/utils/pool_probes_io.py -------------------------------------------------------------------------------- /catch/utils/pretty_print.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/utils/pretty_print.py -------------------------------------------------------------------------------- /catch/utils/seq_io.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/utils/seq_io.py -------------------------------------------------------------------------------- /catch/utils/set_cover.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/utils/set_cover.py -------------------------------------------------------------------------------- /catch/utils/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /catch/utils/tests/data/zaire_ebolavirus.fasta.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/utils/tests/data/zaire_ebolavirus.fasta.gz -------------------------------------------------------------------------------- /catch/utils/tests/input/test_module.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/utils/tests/input/test_module.py -------------------------------------------------------------------------------- /catch/utils/tests/test_cluster.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/utils/tests/test_cluster.py -------------------------------------------------------------------------------- /catch/utils/tests/test_dynamic_load.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/utils/tests/test_dynamic_load.py -------------------------------------------------------------------------------- /catch/utils/tests/test_interval.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/utils/tests/test_interval.py -------------------------------------------------------------------------------- /catch/utils/tests/test_longest_common_substring.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/utils/tests/test_longest_common_substring.py -------------------------------------------------------------------------------- /catch/utils/tests/test_lsh.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/utils/tests/test_lsh.py -------------------------------------------------------------------------------- /catch/utils/tests/test_ncbi_neighbors.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/utils/tests/test_ncbi_neighbors.py -------------------------------------------------------------------------------- /catch/utils/tests/test_pool_probes_io.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/utils/tests/test_pool_probes_io.py -------------------------------------------------------------------------------- /catch/utils/tests/test_pretty_print.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/utils/tests/test_pretty_print.py -------------------------------------------------------------------------------- /catch/utils/tests/test_seq_io.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/utils/tests/test_seq_io.py -------------------------------------------------------------------------------- /catch/utils/tests/test_set_cover.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/utils/tests/test_set_cover.py -------------------------------------------------------------------------------- /catch/utils/timeout.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/utils/timeout.py -------------------------------------------------------------------------------- /catch/utils/version.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/catch/utils/version.py -------------------------------------------------------------------------------- /codecov.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/codecov.yml -------------------------------------------------------------------------------- /probe-designs/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/probe-designs/README.md -------------------------------------------------------------------------------- /probe-designs/V-All.201606.fasta.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/probe-designs/V-All.201606.fasta.gz -------------------------------------------------------------------------------- /probe-designs/V-All.201606.trimmed.fasta.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/probe-designs/V-All.201606.trimmed.fasta.gz -------------------------------------------------------------------------------- /probe-designs/V-All.250k.201810.fasta.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/probe-designs/V-All.250k.201810.fasta.gz -------------------------------------------------------------------------------- /probe-designs/V-All.350k.201810.fasta.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/probe-designs/V-All.350k.201810.fasta.gz -------------------------------------------------------------------------------- /probe-designs/V-All.700k.201810.fasta.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/probe-designs/V-All.700k.201810.fasta.gz -------------------------------------------------------------------------------- /probe-designs/V-Flu.45k.201810.fasta.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/probe-designs/V-Flu.45k.201810.fasta.gz -------------------------------------------------------------------------------- /probe-designs/V-Flu.6k.201810.fasta.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/probe-designs/V-Flu.6k.201810.fasta.gz -------------------------------------------------------------------------------- /probe-designs/V-MM.201603.fasta.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/probe-designs/V-MM.201603.fasta.gz -------------------------------------------------------------------------------- /probe-designs/V-Respiratory.100k.202001.fasta.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/probe-designs/V-Respiratory.100k.202001.fasta.gz -------------------------------------------------------------------------------- /probe-designs/V-WAfr.201506.fasta.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/probe-designs/V-WAfr.201506.fasta.gz -------------------------------------------------------------------------------- /probe-designs/V-ZC.201602.fasta.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/probe-designs/V-ZC.201602.fasta.gz -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/requirements.txt -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/broadinstitute/catch/HEAD/setup.py --------------------------------------------------------------------------------