LooseLab / readfish

CLI tool for flexible and fast adaptive sampling on ONT sequencers
https://looselab.github.io/readfish/
GNU General Public License v3.0
164 stars 31 forks source link

readfish with just depletion? #336

Closed josephhughes closed 3 months ago

josephhughes commented 4 months ago

Hi,

Is it possible to use readfish if I just want to deplete the known host genome but I don't know what other microbes might be in the sample and these are the reads I want sequenced?

github-actions[bot] commented 4 months ago

We found the following entries in the FAQ which you may find helpful:

Feel free to close this issue if you found an answer in the FAQ. Otherwise, please give us a little time to review.

This is an automated reply, generated by FAQtory

mattloose commented 4 months ago

Hi,

Yes it is - you would simply configure your toml file to reject everything in the reference and only sequence things that do not map to the reference.

https://github.com/LooseLab/readfish/blob/main/docs/_static/example_tomls/human_chr_depletion.toml

Essentially modify this toml file to reject all chromosomes (depending on your reference this might include unbplaced squences, alt chromosomes and mitochondria) and sequence anything that does not map. The other change you would have to make is on the "above_max_chunks" parameter. In the region in the linked file it is set to unblock. You would want to set it to "stop_receiving". This would have the effect of sequencing any read that did not map to your reference (see below).

Matt

[[regions]]

Name of the region.

name = "All Targets" min_chunks = 1 # minimum number of chunks before a decision can be made max_chunks = 4 # maximum number of chunks to use in decision making - after this perform the above_max_chunks action targets = ["chr1" ... "chrM"] single_on = "unblock" # Action to take if there is one mapping on target. multi_on = "unblock" # Action to take if there is more than one mapping, with at least one target. single_off = "stop_receiving" # Action to take if there is one mapping and it is off target multi_off = "stop_receiving" # Action to take if there are multiple mappings, where all are off target. no_seq = "proceed" # Action to take if no sequence data. no_map = "proceed" # Action to take if no alignments returned. above_max_chunks = "stop_receiving" # Action to take if above max_chunks. below_min_chunks = "proceed" # Action to take if below min_chunks.

josephhughes commented 4 months ago

Fab! Thanks, J.

On Tue, Feb 27, 2024 at 3:36 PM mattloose @.***> wrote:

Hi,

Yes it is - you would simply configure your toml file to reject everything in the reference and only sequence things that do not map to the reference.

https://github.com/LooseLab/readfish/blob/main/docs/_static/example_tomls/human_chr_depletion.toml

Essentially modify this toml file to reject all chromosomes (depending on your reference this might include unbplaced squences, alt chromosomes and mitochondria) and sequence anything that does not map. The other change you would have to make is on the "above_max_chunks" parameter. In the region in the linked file it is set to unblock. You would want to set it to "stop_receiving". This would have the effect of sequencing any read that did not map to your reference (see below).

Matt

[[regions]] Name of the region.

name = "All Targets" min_chunks = 1 # minimum number of chunks before a decision can be made max_chunks = 4 # maximum number of chunks to use in decision making - after this perform the above_max_chunks action targets = ["chr1" ... "chrM"] single_on = "unblock" # Action to take if there is one mapping on target. multi_on = "unblock" # Action to take if there is more than one mapping, with at least one target. single_off = "stop_receiving" # Action to take if there is one mapping and it is off target multi_off = "stop_receiving" # Action to take if there are multiple mappings, where all are off target. no_seq = "proceed" # Action to take if no sequence data. no_map = "proceed" # Action to take if no alignments returned. above_max_chunks = "stop_receiving" # Action to take if above max_chunks. below_min_chunks = "proceed" # Action to take if below min_chunks.

— Reply to this email directly, view it on GitHub https://github.com/LooseLab/readfish/issues/336#issuecomment-1966835671, or unsubscribe https://github.com/notifications/unsubscribe-auth/AACXZAMNWQLUXKJQ5DTRN5LYVX4PLAVCNFSM6AAAAABD4KMCXCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRWHAZTKNRXGE . You are receiving this because you authored the thread.Message ID: @.***>

github-actions[bot] commented 3 months ago

This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days.