Submind YouTube summaries
Thumbnail for nf-core/bytesize: nf-core/longraredisease

nf-core/bytesize: nf-core/longraredisease

Watch on YouTube

Video summary

The nf-core/longraredisease pipeline is a comprehensive tool designed for detecting and interpreting clinical variants using Oxford Nanopore long-read sequencing data. It addresses significant diagnostic gaps left by short-read sequencing, particularly in resolving structural rearrangements, large insertions, inversions, and repeat expansions that often span longer than the read lengths of standard technologies. By leveraging the ability of long reads to traverse repetitive regions and retain native DNA methylation information, this pipeline enables effective phasing of variants onto maternal or paternal haplotypes, which is crucial for investigating imprinting disorders and other complex genetic conditions. The workflow integrates multiple complementary analysis classes, including small variant calling with Clair3, structural variant detection using tools like Sniffles2, DeepVariant, and SVIM, as well as copy number variation analysis via PackI or SPECTER depending on the platform. It also incorporates methylation pileup generation with Modkit and haplotype phasing with LongPhase. A key enhancement over previous workflows is its support for family-based analysis, allowing users to input pedigree structures and phenotype information directly into sample sheets. This capability facilitates joint genotyping, Mendelian consistency checks, and phenotype-driven prioritization of variants, creating a connected set of branches that share alignment coverage and phasing data rather than simply listing isolated variants. To ensure robust results, the pipeline employs dynamic filtering strategies that adapt to varying sequencing depths, avoiding the pitfalls of fixed read support thresholds which can either miss critical events or admit excessive noise. The process involves a multi-layered approach where initial variant calls inform haplotype construction, which in turn refines structural variant and copy number calling. Users can select specific sequencing platforms such as ONT, PacBio, or HiFi to automatically configure appropriate aligners like Minimap2 and variant callers like STRiCT or SPECTER. Additionally, the pipeline offers extensive annotation options, converting variant data into browsable HTML reports and allowing for reprioritization based on human phenotype ontology terms. Looking toward future development, the creator aims to expand the pipeline's capabilities by adding de novo assembly support and integrating new tools like MahiMahi for tandem repeat calling. The developer emphasizes the importance of community engagement, encouraging users to report issues via GitHub or join Slack channels to foster collaboration and improve the tool's lifecycle. While currently maintained primarily by a single developer with clinical input from Birmingham Women's and Children's Hospital, there is a strong desire to attract more bioinformaticians and developers from diverse institutions to ensure the pipeline remains robust, widely adopted, and continuously improved for the broader genomics community.
Read the full video transcript
Hi, Maxim here. I'd like to welcome Norafel. Uh she's from Bigam Woman and Children's Hospital and uh today she's going to talk about NFore longer disease. So over to you Nor. >> Hi, thank you everyone for joining. Um so basically I'm going to talk you through the pipeline. Um we've released version 1.00 00 and it's basically to for detecting um clin and interpreting variance from Oxford nanopore impact by long read sequencing data. So this is what we'll I'll cover today and I'll begin with the clinical problem that motivated the pipeline the types of pathogenic variation uh that are difficult to resolve using short read sequencing. I'll also talk about what makes long rare disease variant um long rare disease pipeline different and I'll talk through the inputs and qu uh I'll also show you the command for a quick start um and then walk you through the coverage um annotation outputs and future directions as well. So short read sequencing is highly effective for many single nucleotide variants and small insertions or deletions but it leaves important diagnostic gap. Uh balance structural rearrangements, large insertions and inversions can be difficult to reconstruct because an individual shorty does not span the complete event. So repeat expansions create a similar problem as well. The pathogenic repeat may be substantially longer than the reads being used to sequence it. So long reads can span these events and can map effectively across repetitive or difficult regions as well as native long reads can also retain information about DNA methylation and can allow varants to be phased onto maternal or paternal hypotypes and that makes it possible to investigate for example imprinting disorders. So the biplier supports several um complimentary classes of analysis and this uh includes for example small variants and these are called blar three. Um deep variant can be used as an alternative structural variants are called independently and you can use sniffles vim orv as well as merging using um jasmine. uh copy number calling is optional and platform dependent as well whether it's um packp and I'll talk you through how to um specify the platform and also there's modkit that produces methylation pileups and long phas is used for phasian and hlet attacking so um some of the pipelines foundations come from Oxford nanoporeo epitme human variation workflow and this includes the established caller such as sniffles for example and also adjusting structural variant read support threshold acample coverage. Uh here it has been incorporated into an NF core workflow and extended substantially. So um for example the main additions here would include multicolor uh structural variant consensus also pack bio support uh deep variant but also you could use family analysis in this pipeline and there's a clinical interpretation layer as well and the sample sheets itself can contain pedigree and human phenotype information as well. Uh so this enables pedigree construction joint genotyping um and also mandelian analysis and phenotype driven prioritization. So the diagram summarizes the whole pipeline and the workflow accepts under analigned bound files for skew or aligned bound data for skew and unaligned bound file uh inputs. They can pass through read preparation and alignment using minimap 2 or optionally you can also use winn mapap and the resulting b is index and used for coverage calculation small variant calling and initial structure variant call. Okay. So clearly and uh SNVs and the initial snipples uh calls they inform long phase as well. So long phase phases the variance and writes hletype ds back into bam and the hlet tag bam feeds the final structure variance copy number v str branches so this all depends on selected options so calls are also merged if uh if it's selected annotated and phenotype priorit prioritize um this is potentially combined into a unit unified VCF if needed So um the important point here is that it's not simply variant color. It's uh a set of connected branches sharing alignment coverage and phasing information. So um the sample sheet has only two mandatory fields. We've got the sample ID and the file path. uh and the sample identifier becomes the metadata identifier used by next floor and is reflected in the output directory. Um file path can point to a single file or it can be a directory containing multiple files for example multiple and map files which can be which are merged by the pipeline. uh optional human type uh human phenotype ontology, sex phenotype and pedigree columns and they unlock the interpretation family analysis components. So uh before processing a complete genome I recommend using the test profile uh just to see if the pipeline works uh on on your HPC or on the cloud uh to make sure also all the configuration are correct. Um the command shown here runs a small test data set using Docker and writes it results to a local output directory. Uh this basically a quick check um that next floor and the selected container engine and the surrounding execution environment are working before substantial compute is is committed. Um for real data the command adds a sample sheet output directory input type and for example sequencing platform as well that is used or int or packpai or hi-fi and reference genome um so uh the sequencing platform so the sequencing platform parameter is more than a label so for Oxford nanopore uh mini map to if you choose a sequencing platform for example in t that would uh preset the mini map to and mini map and that would use a map function in those um in in those tools. CLA 3 uses its model as as well as well as deep variant uh for back bio alignment which this switches to for example map hi-fi for hi-fi data or map PB for the broader back bio setting uh class 3 and deep far use back by appropriate models and long face receives uh the PB flag uh in this instance as well uh TRGT tool replaces straggler to call um STRs and hi-fi CNV replaces uh spectra for CNV caller. So uh most presets can still be overridden explicitly. So u this is useful when you're using or backfire or hi-fi reads for example. Okay. So for Oxford nanoporeo um a typical comprehensive run may enable STR CNV and methylation analysis. Spectra uses genomewide coverage information while struggler genotype tandem repeat and um strang tool called stranger that's what annotates STR um varants uh so this provides a repeat catalog um modkit also can extract methylation information directly uh from mm or ml tags retained in the bump file and then for backpi The overall pip structure remains the same but it's platform sensitive colors change basically. So for analigned bal input uh samples fasc converts reads for alignment while retaining the mml and move uh move table tags. Uh the reference is index once and the same index can be reused across samples. Mini Map 2 then aligns the read with selected platform presets. And I wanted to flag um the Y flag in Mini Map 2. And this option is important because it carries base modification information into the aligned BAM. And basically without it the alignment itself uh may look successful but methylation analysis will not have the information it needs. Um yeah. So the next bit that I want to talk about is MOSEP the coverage information. So it's used in uh two related ways. The the first one is uh invocation calculates coverage in 1 kilobyt windows and produce a summary containing the sample mean depths. The second invocation it uses quantise and basically oops it suppresses per base output. So instead it creates a bed file dividing the genome into four broad coverage bands. Um and then these measurements answer different questions. Basically one describes a numerical depth distribution while the other provides a compact representation of uh genome callability. Okay. So uh a fixed read support threshold behaves poorly across uh samples with different depth. That's why requiring eight supporting re in a 10 times genome would remove many critical events. So at very high coverage um retaining every event support but only two reads would um admit considerable noise. That's uh that's why we use a mean read support alum. And basically the pipeline converts the mean depth into a support threshold and uh the lookup table itself returns zero below one time coverage as well. So um basically with the current code the effective filter doesn't actually fall below two as well. So uh it's automatically as a default. It's just if you need to increase it um there is an option for you to do that. Okay, so structure variant filtering occurs in layers. So first the colors uh apply mapping quality requirement to the supporting reads. Uh the workflow can then retain only variance marked path uh restrict results to selected regions or chromosome and apply as well the coverage aware read support. So after those caller specific filters, Jasmine evaluates cross caller support and the default minimum is two callers. For example, you can merge results from two or more colors um and keep them. Um so for example uh if you'd like to identify only g um only variants that need support from at least uh two or more colorists, then you can use this option. and as well as annotation and phenotype ranking uh provide a final prioritization layer. So for SNV and indul you can use CLA 3 as a default and it produces GBCF output so samples can later be join genotyped as well and also uses long face during its own uh output processing. Um so a header also there is a header repair step included before downstream PCF tools processing and um this this is important for SNPF annotation and um the default SPF resource is um a GIC 38 but that can be changed as well. Um so deep parent is also available uh as optional and um it basically it is disabled by default but you can turn it on if you would prefer. Um so why the band gets httacked first? So there is a habac option available and it can be turned off as well. So um the phasing in this uh pipeline it introduces an important loop and um so class three first calls small varants and sniffles plat performs an initial SV call on the aligned BAM and then longface uses the SMV and SV information to build HL types basically uh and then this assigns uh HL types and writes HP tags into a new pal. So the STR branch differs substantially by platform as well. ONT data are analyzed using straggler but however and annotated using stranger but for example for backb we use trgt for copy number as well. Uh spectra uses a bin whole genome sequencing and uh relevant supporting files. Okay. So there there's a lot of um annotation available in the pipeline. for example using anotv uh as well as not anotusv uh which turns information um into html browsable HTML uh as well as uh spanner for example uh can be used to reprioritize structural varants according to the proband's phenotype and it requires human phenotype ontology um and we also can use uh SMP SMF as well And uh it provide it can then annotate annotate any combined files as well. So for example the unified VCF that I mentioned earlier can be uh you can use SNPF to annotate all of the variants in this um in that VCF. So here I just wanted to include um the output directory. So what is um produced at the end and it's uh basically a list of folders um just to give you an idea what uh where is information um and uh it's I've made sure it's very um self-explanatory like for example sniffles fam QSV all of the folders are called based on the tools output um so for future future additions here. So I have um I I would like to ask so if you see an issue with the pipeline and um you would like an improvement please uh add it as an issue. Um and so far I've got uh bed file support via the NF schema um plugin the GPU accelerated for mini map 2. Um I also want to add denovo assembly to the pipeline. Um one thing that I wanted to mention as well that the anode sv is currently failing for spam. So the SV can only be called for uh cute SV or sniffles and as well predict carotype prediction from the data. Uh there is a new STR call that the Epichimi has um published called Mahi Mahi that I want to take a look into and if it's good as well and validate it um and implement it as well. Thank you. Hello. Hello. So, thank you again. Oh, thank you. That was very good. I'm going to allow people to unmute their themselves. Yes, that should be good. So, if you have a question, uh either you can ask on the chat or unmute yourself and go for it. Uh otherwise, I do have a question myself. Uh you add the params to select the platform >> either. Yeah, you add params to select the platform. So either or pack bio. Uh do you envision uh having the polic directly within the sample sheet? >> Yes. Um I I have tried to do that before and I found it just easier to do it through the config. Um I think so initially when I did that I wanted to allow like different samples uh to be analyzed simultaneously and that it just did not work for me initially but maybe I need to try again and see if that would um that would work. Yeah, I do think it's slightly more complex and I think most of the time like people have like projects that have like uh all on the same platform but yes maybe sometime you end up like having one project with like both stuff. So you could always split the sample sheet into one with just and one with just everything. But yes, I know it's a bit of uh making it more difficult for the developer, but yes. Why is it just just a question so no worries? >> No, that's a that's a good question and um that I have tried to do that but I'm I will try again to do that when I have more time hopefully because I think uh that would be that would provide the users with the ability to analyze using both in one sample sheet. Yeah. Yeah, you talked earlier before the that we have actually that and you mentioned that you you're the main and only developer on that pipeline uh that like you get help from uh from people like around you but mainly just in advising you with the tool and everything. So I think uh it might be helpful for you to try to get like more user. I'm guessing you have many user at at your local like locally, right? Or did you get user outside of your own hospital? Um so at the moment in Birmingham we've got many users but it's mainly a clinical scientist um that do the variant prioritization um but um not many bionaticians um that work on the pipeline um as well as in Birmingham University there are users as well um in Andrew Beck's lab Um, so I did hear that some people using it outside but I'm not sure where exactly but >> okay so I'm hoping that you will get more people and that you will get more more question and uh and hopefully more collaboration. >> Yeah, >> one thing is I really hope for is to keep improving the pipeline. So, uh, it's very helpful if I can get more developers, but if I can get people just opening issues, that would help improve it as well. Um, and like adding new features as well. Um, yeah. >> Yeah. No, I think it's a problem that all of us like pipeline developer like have and I think a couple of only a couple of pipeline are lucky to get developer in multiple sites so that like they no longer rely just on the original developer and yeah I think it's a it's a life cycle like in the pipeline development and maybe you'll get there at some point like we never know. So >> thank you. I'm hopeful for the future because I do think you have a pipeline that is important and that will get like traction. So yes, >> fingers crossed. >> Finger crossed. >> Thank you. >> Okay. Do we have any question from the audience or uh nothing? I don't see anything in the chat. Uh nothing from the participant. Okay. >> You're welcome to message me as well. Yay. >> Yes, that's okay. >> You're welcome. Like if you have any question, please don't say to ask them on Slack or definitely like there's Slack channel for this is and I'm guessing you can probably also answer personal private message as well. >> Yes. Um LinkedIn or Slack welcome to message me or either. >> Okay, wonderful. Uh then I think we can we we are done for today. So thank you very much. I think that was a very good bite size. >> Thank you so much for giving me the opportunity to present it and thank you for joining this call, Maxim. You're >> welcome. Goodbye. See you soon. >> See you. Bye.