 All right, so you've made it to the the last lecture So they're following this style of everything so for the so far They'll be kind of an introductory lecture for the the last module and then there'll be a brief intro to the hands-on tutorial And then we'll go through the last hands-on tutorial, which I think compared to the last one you'll find quite lightweight So it doesn't have a lot of our multiple optional scripts being around and so forth Okay, so this module is isoform discovery and alternative expression and the kind of the main goal is to provide a working example of Sort of a a splicing version of how you would run the cufflinks pipeline So in terms of specific objectives for this mod module really the main one the main technical one is to explore the use of cufflinks in This what they call reference annotation based transcript assembly mode and de novo assembly mode So even though they're calling this de novo assembly both of these modes do require a reference genome So there's kind of a lot of terminology here in this word de novo gets used a lot a lot of people when they hear de novo They think really of de novo de novo assembly and that can be totally reference free And there is a whole area of RNA seek tool development and algorithm development that is really focused on building assemblers that can take raw RNA seek reads and Assemble them into transcripts without any notion of what the reference looks like at all so it's just based on the similarity between reads and inferring that that these reads would be part of a Contag and building these contiguous sequences and then later you would try to map them back to reference sequences Or just annotate them directly as transcripts And that's quite a challenging problem in a lot of ways. It's more difficult than Aligning reads against a high-quality reference. Yes, Francis Right, so yeah, Jared, I guess gave a lecture on the topic of On de novo assembly, yeah, okay so in the in the Table that I referenced for RNA seek. I've tried to give some recommendations for de novo transcriptome assemblers That are kind of specific to RNA seek. Of course, they sort of mean on a lot of the methods And algorithms of the sort of assembly field as a whole But they've kind of been tested on RNA seek data There are some problems with assembling RNA seek data that are kind of particular to RNA seek So there's this issue with a lot of genes having multiple isoforms Which is what we're going to talk about in a bit and that makes assembly quite difficult So you know there's a lot of ambiguity when you have all of these isoforms being expressed from one locus and they are different and they have Functionally significant differences, but in terms of sequence those differences can be fairly subtle So they may share most of their sequence but have you know one exon swapped out with a different exon or a slightly different exon boundary And that complicates the The goal of assembling a transcriptome from scratch So unfortunately we don't have time to cover that That area, but so the type of assembly that we're going to do Is with cuff links and it uses the reference So we're going to start with our reads that have been aligned against a reference genome And then using that information we're going to try to assemble transcript structures from the reads that have been aligned to the genome And there's sort of two modes One is where we're in addition to having the reference genome as a guide We're going to have a reference transcriptome as a as a guide So that's the gtf file that we got from ensemble We could have gotten it from other sources of Transcript annotation, and then the final mode is where we don't even supply that Reference transcriptome We're just going to go straight from the BAM to What cuff links thinks the transcripts look like based on the read data that was aligned to the reference genome So just to remind ourselves where we are kind of Again looking at these Mature mRNA molecules in RNA-seq often And then this module was really concerned with the alternate ways that A transcript could go from a pre mRNA molecule with the introns in place To a mature mRNA molecule where the introns have been sliced out For many, if not most human genes, there are multiple ways that this happens for each gene to produce multiple versions multiple multiple isomers or isoforms for each gene And this is a whole field of RNA-seq and we're just going to pretty much do like an introduction to it There's a huge number of papers and tools and labs out there that are really focused on this problem And what I'm referencing here is actually a specific paper. This was published as In the archive, but I think it might actually be published somewhere else now and they provide A table that's really focused on all of the different tools and methods that have been published so far That relate to alternative expression alternative splicing analysis using RNA-seq data And then this slide is kind of just provided again as a reference. So here's some biostar posts that have really started to answer some of the the big high-level questions about how to detect alternative splicing And again by differential alternative splicing Try to understand the cufflinks and cuffdip output as it relates to alternative splicing and have a visualized alternative splicing and so forth So just to kind of give you a sense of the complexity of alternative splicing that we're talking about here alternative expression is sort of a more general term that includes alternative transcript initiation and polydenylation So if we think about a very simple transcript model So here's a region of the genome with three exons and two introns And a simple splicing path is shown where we're going to basically connect exon one to two and two to three The introns will be removed and we'll get a mature mRNA that's polydenylated with exons one two and three joined together Alternative transcript initiation is the process by which we start basically have different transcript start sites So we can have a transcript initiation happening here at exon one or happening here at exon two And that would give us two alternative isoforms that differ At their five prime ends. This one has an extra exon relative to that one alternative splicing Has several different Well-established forms. So one of them or perhaps the most famous or simple is just exon skipping So where we have two paths through some set of exons where we include exons one two three or perhaps skip exon two And then this gives us Exons that have the same beginning and end but something in the middle is different You can have alternative five prime splice sites being used. So in this case, we have Two different donor sites that are being used One that starts here and one that starts a little bit further to the right And then this can again give you a potentially quite subtle difference At the level of the final transcript where we've got basically a longer version of exon two being used The same thing Can happen at the three prime end where we get an extra piece Of sequence being used as a part of exon three. So these are different alternative acceptor sites being used Again, they give us slightly different isoforms A special form of exon skipping is the use of mutually exclusive exons Where you basically have a exon two a or exon two b that are used So you have completely different exons being used in the middle here The entire intron might be retained in some cases. Usually this is short introns that get retained And often there'll be a non-functional product, but it does happen. So we can have Regular transcript here and then one that effectively has a very long exon two that contains the intron Plus all of what was considered exon two and three in this isoform And then alternative poly denulation is where we basically have alternate three prime ends to a transcript So the transcript either ends here at one exon where it ends At a downstream exon and this gives us differences at the three prime of the transcript And this is you know, these types of patterns have been studied for a long time With various techniques that have gradually become more and more high throughput So sort of the Early technique that was used. It's very low throughput, but it's still considered a gold standard approach Just to basically sequence full length cDNAs To clone those cDNAs into vectors And then to sequence through the vector By some combination of end sequencing and primer walking to give you basically a content that represents the complete cDNA sequence And you do this many times and over time you gather what the alternative isoforms are for a particular locus That's a very slow labor intensive Not very high throughput method Slightly more high throughput method is to do targeted full orc cDNA sequencing Somehow you're not relying on sort of random selection of clones You can really Target the the region that you want to sequence and then you can really discover the the variations that happen In between the areas you targeted, but it doesn't really help you with discovering alternate poly denulation and transcription start sites Uh For a long time we were generating and sequencing large est libraries Where we would just randomly create lots and lots of cDNA clones and then sequence them from their ends And we would learn about how exons were included or skipped near the ends of cDNAs But we didn't generally get a full picture Of what the transcript looked like. So it's kind of analogous to rnac, but the reads would generally be much longer Again, it's not very high throughput And then probably about 10 years ago the really more high throughput methods For studying alternative expression came out and these included things like cage sage and gis that use different combinations of basically sequencing The ends of transcripts in a more high throughput fashion by sequencing little tags that are derived from the 5 prime or 3 prime Or both the 5 prime and the 3 prime end of transcripts And then next end sequencing started and that really revolutionized the field of exploring transcript diversity starting with 454 And selexa where we're able to suddenly basically shotgun sequence a transcriptome with Millions and millions of short reads at a relatively low cost And this has just started to really increase in the last few years where we now Get large numbers of reads that are in the 1 to 200 range at a relatively cheap cost. Yes, frenzies Yeah, like pac bio or nanopore I Yeah, so there's a huge advantage So remember we talked about this yesterday how how much inference goes into trying to understand what a full length isoporn looks like Based on these paired 100 base pair reads. You really there's a lot of guesswork there And it's really suboptimal when you're trying to understand what the full length Transcripts look like and it's just never going to be as accurate as if you could actually sequence each cda from end to end So you can already do this to some degree on the pac bio It's not nearly as high throughput as rnac on the illumina platform, but you can get pretty good quality data So I guess that right now it's kind of like a more efficient way of doing Maybe the full length cda sequencing or the full orc cda sequencing and I have seen a few groups doing that It doesn't seem to have really become wildly popular, but I've seen some really impressive results from that approach um And there's also the you know the read lengths are getting longer on the illumina platform that helps a bit It's a bit hard to imagine right now that they will go from You know at the rate that they're increasing so we're you know doing 125 base pair reads on the x10 platform and You know on the my seek you can do 200 250 maybe So and it hasn't really been Increasing the length has not been on the same kind of trajectory that the throughput has been where we keep getting more and more Through but the length seems like it's more kind of stabilized. It's difficult to Increase the length on the illumina platform so maybe something like nanopore where You're literally feeding molecules through a pore and reading the sequence off as it goes through that pore if they can make that cheap and robust And relatively at least medium to high throughput. It could really again revolutionize um transcriptomics with respect to alternative splice uh detection and abundance estimation And that would be that would be great Yeah Yeah Yeah, so that's a whole other Pandora's box um that a lot of Alternative splicing methods kind of gloss over uh, so a lot of them start with the assumption that You know a locus is can be quite big and the introns can be quite large But they are coming from a single chromosome for the most part And tran analysis that we'll be able to accommodate the concept of transplacing Uh needs to be tweaked to to accommodate that idea and it's similar Uh in a lot of ways analytically to the fusion discovery type analysis, so a lot of people will kind of Conceptually lump some parts of alternative expression analysis in with fusion detection Because you're looking for these novel forms of transcripts in some cases transcripts that are quite bizarre And they can even be chimeric in the sense of incorporating content from different chromosomes either because of A somatic event like a rearrangement where two chromosomes have actually come together Or because of transplacing where the transcriptional machinery is somehow jumping from one template to another By as yet not super established Uh methods Yeah circular RNAs another The transcriptome is a bottomless pit of complexity and weirdness. Uh, yeah circular RNAs Yeah As I think that these areas are like quite Still quite undeveloped a novel in terms of analysis. So people that are working in these areas are really You know doing pretty cutting-edge stuff to think about these weird events There's also a lot of classes of RNA that have been, you know understudied So there's been like a bit of a a gold rush of people looking at different weird sub types of small RNAs at circular RNAs that Transplacing RNA editing all of these kind of interesting aspects of RNA biology that are, you know Generally the sort of forgotten stepchild compared to just mRNA Uh transcripts that make a protein But they're you know, they're all super interesting of course Any other questions? All right. I think this might be the almost the last slide. Um So back to cufflinks so cufflinks tries to Automate some analysis related to alternative expression It that doesn't cover all of the the interesting stuff that we just talked about but covers sort of a targeted slice of it and there's sort of three main assays if you will that are done by cufflinks and Those three are basically looking at Uh transcription start sites So basically what happens is after we run cufflinks and we get some notion of what all the transcripts look like um Cufflinks comes along and it tries to break the transcripts into categories that Kind of line up with certain concepts of alternative expression So if it finds for a particular gene locus all of the transcripts that for example have the same transcript start site and And then contrast them with those that have a different transcript start site. So for this A simple example where we have three transcripts We have two groups of transcripts that differ by their transcript start site We've got the tss one group and the tss two group Uh that either start at this exon or start at that exon So it's going to do a test that basically instead of looking at the level of individual transcripts It's going to group the transcripts and it's going to say how much Expression is using this promoter or this transcript start site versus how much expression Is using this transcript start site. So that that's the first category The second category is I don't know exactly the order, but there's also alternate use of exons and there's Ultimate cds So this the coloring Uh b is like that. So the second one is exon skipping. So it's basically looking at the inclusion or exclusion of this exon So we have one isoform here that doesn't include exon two And then the third category is do they differ in terms of the part of the transcript that actually is translated to protein? so Taking all the transcripts and breaking them down into unique orfs And then summarizing at the level of orf instead of at the level of transcripts with respect to where the exons start and stop So you can see that sort of fat bars here. This is a convention In depicting transcripts as cartoons that you have this thin part That is the five prime utr And then it gets fat here. So that's where the open reading frame starts And then it continues through this exon And then goes to the third exon and then ends and then you have the three prime utr So the the cds portion is this fat part here So we can see we have one cdf one transcript that has this long Coding sequence and then these other two transcripts have this shorter coding sequence So one of the another one of the tests that it's going to do is basically comparing All of the usage of this long cds to all of the usage of The short cds and grouping whatever transcripts need to be grouped together to do that comparison So the conflicts will do the kind of Panelized comparison with all of the categories. Yeah, so it automatically does those three the sort of uh Actually, these are Okay, they've been I guess reordered here relative to up there But it does like a slicing level comparison where it's really focusing on the usage of exons It does the promoter level comparison Where it's looking at the different transcript start size usages And then it does the coding sequence comparison where it's looking at the usage of different Coding sequences and each of those tests get kind of divided into these three arms You get three output files and then the differential expression results in each of those output files corresponds to each of these Three ways of thinking about alternative expression the sort of slicing analysis the promoter analysis and the cds analysis And these are the way the files will be named when they come out of The cufflinks run Yeah, so we're going to talk more about those modes right now It's doing it Potentially without use of a reference transcript dome But all of it still relies on the reference genome So we still have our reads being aligned to the human reference genome sequence in this case And then it's just how we're using or not using the gtf file that contains sort of transcript models So In this module, we're going to learn how to run cufflinks in the The reference only mode is what we've already done. So you guys that's basically what you've done up to this point You supplied a gtf and you basically told cufflinks Tell me about the abundance of these transcripts as they're defined in the gtf by ensemble But now we're going to sort of move on from that into the reference guided and the de novo mode And we're going to learn to use cuff merged combined transcriptomes for multiple cufflinks runs and compare assembled transcripts to known transcripts That's going to help us get a sense of what transcripts are novel versus what transcripts line up with known transcripts And then we're going to perform the differential slicing analysis with cuff diff Um We're not really going to dig too deeply into the output of those we'll sort of do like a brief introduction to the output of those analyses And then we're also going to step back and actually look at the Output from the top hat alignment itself So even without cufflinks, you already get some fairly rich Raw material to do splicing analysis right from top hat. So one of the things top hat does after Uh All of the reads have been aligned to the reference genome Is it finds all of the reads that span across x on x on boundaries? And it summarizes those specifically in a separate file which is called the junctions dot bed file And what that file does is give you one line for every x on x on connection That was observed in your rna seek data and then it gives you the counts So the number of reads that corresponded to each x on x on connection And you can use that raw count information to build quite a rich view of the splicing that's going on in the transcriptome that you sequenced And it's a fairly straightforward file to start with that doesn't involve even running cufflinks So we're going to visualize that junction counts file in igv And we're also going to look at some of the the transcripts that are assembled by igv as well Okay, so the ref guided in de novo mode. So we've already run cufflinks in reference only mode Uh, but now we want to sort of have more potential to identify novel genes and novel isoforms of known genes And this is if you ask the the cufflinks authors, these are kind of the ways that they actually recommend that you run a cufflinks They so they are you know quite keen on this sort of uh hypothesis or let more hypothesis free way of interrogating the data Um, so I think if you look in some of their publications, they'll will just skip right to using the the reference guided or de novo mode So in the reference guided mode, we're going to use a known transcriptome, but it's going to be used just to guide cufflinks Uh, and cufflinks will still try to predict novel isoforms on top of that Um in the de novo mode, we're not even going to give cufflinks the gtf file at all So it's just going to try to assemble the transcripts completely from scratch And the way you control these modes is all based on the use of basically what options you specify when you run cufflinks in the first place Uh, and they all confusingly are named Uh g uh, and they have but they generally have a longer version as well So top hat just to remind ourselves top hat has this dash g option And that isn't is not what we're talking about here But just to try to avoid some of the confusion When we ran top hat we supplied a gtf file and it used that to build a transcriptome reference sequence to align reads against to help The alignment process and then you read the lines to one of those transcripts were then kind of converted back to Reference genome coordinates so that they could be displayed along with the reads that line directly to the reference genome Top hat also has a small g option Which is used to specify the maximum number of multi mappings for a single read and again that is completely unrelated to what we're talking about in terms of alternative splicing It just happens to be a g But cufflinks has this big g option and that's what we used so far So we supplied cufflinks with a gtf file and we told cufflinks These are the transcripts that we expect in this in the human species So these are the things that we want you to try to summarize in terms of their abundance Cufflinks also has this small g option which you also use to supply gtf file But when you use the small g you're telling cufflinks to use this gtf to guide the assembly But to not limit itself to that to those transcripts So it's going to try to predict novel transcripts from the data If you run cufflinks without either the big g or the little g option So you don't give it a gtf file at all. This is what we're calling the denobo mode So there's we're not helping it With any kind of model of the transcript dome that was pre-existing We're just going to rely on the raw data and try to predict transcripts And then cufflinks has Also A way of being supplied a gtf file But for some reason they decided to just make that A file path that you put at the end of the command without actually specifying An option parameter It just it's detected by the order in which you place it in the command So I think this is like kind of like a bad This whole system is kind of a bad design considering these things were all created by the same group They've introduced a lot of confusion potentially Um, so I mentioned this top hat junctions bed file So this comes right out of top hat After the top hat completes its alignment, it summarizes all the reads and supports x on its junctions So for example, you might have a readout that says x on one Being connected to x on two there were five reads that supported that connection So five instances where a part of a read aligned to x on one and then the alignment continued on into x on two And then you might have nine reads that where the alignment started in x on one and continued into x on three So when you see this right away, you have evidence potentially for x on two being skipped that there's A transcript being expressed that is not including x on two Because you can't skip from x on one to three And include two since splicing generally goes in a linear direction So this potentially tells you about alternative splicing that's going on just by looking at the accounts for these junctions It sort of summarizes at the level of unique x on action junctions and all and They observe recounts for each and this is in bed format and that's relatively simple formats You get basically one line for each of these junctions And then in the fifth column is basically the number of reads that support each x on x on connection We talked about it a little bit Yes, this is raw. So An x on skip that's forward I would say that Three prime n bias would limit your ability to see the connection of xons at the five prime end of transcripts x on one Yeah, so determining the where transcription starts Is definitely an application that's quite affected by three prime end bias because like you say If you don't have coverage at the five prime end Because of a problem with your library then you you're missing that information And if you have two libraries and one of them has really bad five prime end bias and the other one doesn't It might look like there's alternate transcript initiation going on just like you're describing But really it's just that you're seeing a difference in the amount of Three prime end bias between the two libraries. So it's something that's you know You really have to watch out for When you're comparing two libraries in the context of alternative splicing you Ideally you want the coverage to not be biased towards the five prime or three prime end and you want the The profile of coverage from the beginning to the ends of transcripts to be quite consistent From one condition to the next condition that you want to compare And there are some tools that will give you the sort of a print out of that what that profile looks like And you'll often see that it has kind of like a horseback shape where the Transcript length is displayed along the x-axis. So the five prime end is at one end and the three prime is at the other end And then there'll be kind of a histogram that shows you sort of where your reads are kind of piling up and you want that to be As close as possible to a uniform distribution where you have nice even coverage from the five prime end to the three prime end of your transcripts not exactly I have to check and so I just actually had this conversation before and it's actually It's not super simple to translate this mentally into the junk edges of the exons that you think about when you're thinking about x-on-xon connections I think that There's like an offset and a length and a Like a reference starting point and between those three sets of coordinates or sizes You can construct what the edges of the exons are but it's a little bit of math to work that out It's that doesn't immediately come out of this these numbers So when you look at it, it doesn't immediately make sense what you're looking at There's there's a little bit of math that you need to do To basically get from this form to the left edge of the first axon Or the work sorry the right edge of the first axon and the left edge of the second axon And that so I I did this I worked this out like several years ago when I wrote A curl module that basically converted this file into something that was More like what you that to me that's the more intuitive way to represent the junction But you know if we sat down We could figure it out again. It's not it's not that crazy But this is something that igv has built into it that it it can take that that file And convert it into these Little arcs that do correspond to the edges of each axon. So This is some rna seek data where we've taken the junction stop bed file and we've loaded it into igv And we're looking at what top hat found in terms of reads that aligned across junctions And you can see that they line up quite nicely with the expected junctions of a gene that happens to be in this region So you've got for example where these expand from here to here, which appears to line up quite nicely with the The edges of these two axons here. And in this case, we've got Apparently nice coverage. So we're seeing representation for junctions that are at the five prime ends The middle and the three prime ends. We've basically reconstructed all of the connections that are known for this transcript and there might be There might be evidence. So there's actually evidence for a novel axon relative to this gene model that's being shown By the observations of these junctions. Can you can you see what it is? Small one on the top how far from the right or from the left In the top row This guy? Yeah, you're right So this junction Are apparently there were some reads that span from here to here Which appears to line up with the edge of this axon But then it seems to be lining up with an edge here and there's no Exxon annotated there And then we have another junction down here that seems to be coming from the edge of this known axon That's also coming over to around the same place Probably the other end of this axon that is apparently novel axon that wasn't known to RefSeq and things where these it's either RefSeq or UCSE that these transcript models are coming from So there you go sort of like a A quick Example of how you can identify Evidence for novel isoforms. So you don't know what the whole isoform looks like But you have some evidence but that there is some isoform That involves known exons from this gene But also seems to be using a novel axon that wasn't previously annotated Yeah, it's this This junctions.bed file that is coming jet automatically produced when you run top hat And I think it's just a little module that is part of the top hat A liner that runs at the end that basically goes through the BAM file and generates this this output from it Yeah, there just counts. So, yeah You don't really have a sense of how believable each of these junctions should be It will limit them to Expected for the most part you get Actual splice sites. So the junctions are usually checked to make sure that they correspond to canonical junctions Or or you can annotate them yourself with respect to canonical Splicings patterns so that you that would increase confidence that it might actually be real Is if it actually uses something that looks like a donor site or an acceptor site Which is fairly well established for human obviously like with other aspects of RNA c for other types of high throughput sequencing more More reads that support the same event gives you more confidence One read is a bit hard to get too excited about one read That's just something but if you have a hundred of them and they all kind of start and stop It's slightly different places that makes it less likely. It's an alignment artifact So there are things you can do to to make yourself more confident But it doesn't it's up this tool doesn't give you like a p-value. It doesn't take those things into account So you would have to add your own sort of notion of that and there are probably A bunch of the tools that I list in the in the resources table that do some of those take some of those concepts into account Yeah, that's a great idea. So we're gonna yeah We're gonna do that in a few minutes and you can see how the alignments of the actual reads Corresponds with the summary of the junction counts that top hat produce Okay, so cuff merge. We're gonna run cuff merge And what cuff merge does is basically combines transcripts that were predicted from multiple runs of cuff links into one view of the transcriptome So this is something that you would do Say you have In our case, we have three Replicates for brain and three replicates for the universal human reference RNA And you're going to run cuff links in this de novo mode in each of them You're going to try to predict what transcripts are present But because of differences in coverage or just random sampling you don't get exactly the same transcripts being predicted in each of those six runs Cuff merge is a way of basically unifying All of your runs back to like a single view of the transcriptome So you can come up with a single Set of transcripts that you're then going to get abundance estimates for It's basically like taking the union of transcripts that were observed across multiple runs of of cuff links And you can also use cuff merge to then compare those transcripts back to a known gtf file So when we're running Cuff links in the de novo mode It's not going to know anything about the structure of human transcripts It's going to try to predict those structures based on the data. But when we get to the end We may want to compare the transcripts that were predicted back to whatever our notion of known transcripts is to get some sense of Which transcripts line up with known transcripts we already knew about which looked like they might be novel So this is sort of a workflow that would be really applicable if you have A species that where the transcriptome isn't very well annotated. You have some preliminary sense of transcripts for that species But you're really you're using cuff links because you want to discover novel transcripts So you would run it in the donut de novo mode and then you would use cuff merge to compare The result back to whatever you whatever your current notion of the transcriptome was and it'll allow you to sort of Bend your transcripts into okay. This one really matches a known transcript and these ones Don't match any known transcripts. So that's going to be your bin of things that you might attempt to validate as potentially new transcripts in your species So we're going to do a comparison of merge gtfs from each cuff links mode and look for some differences in what Transcripts are predicted in each of the modes Which is what's being depicted here And here so we're seeing for example In the reference only mode We're getting this one transcript being summarized In the de novo mode. We're getting a bunch of different transcripts being predicted And you can see that You know, they have a lot of similarities, but then there's just little self differences. So Cuff links is predicting that there's a transcript that starts here instead of over here where the rest of these transcripts start It's also predicting that they're the transcript that is retaining this little intron here Instead of having that they intron that the other transcripts have And then there's probably other little self differences that are outside the zoomed in view right here Okay, so the last thing before we move into the last tutorial Is this question that we've sort of addressed already which is what what happens when you get back to your own lab And none of this stuff works Or there's some problem Or they update the tool or the path URLs are all busted Let me the URLs like break like it's almost like bi-weekly that we have to update that wiki Because things are just constantly being shifted around and Um So inevitably you're going to have you know questions Even if you just try to run the cuff links like the tuxedo suite exactly as we've described it here You know, you're probably going to encounter questions. It's pretty complicated when you start really digging into all of the different options and parameters So, you know feel free to post questions Um on bio stars and we'll probably see them there That's sort of the best way if that if your question isn't already asked on bio stars that it is then then go ahead and ask it there If no one replies, you know, you can try to ping us And your email may possibly not get buried in a massive pile of emails and we might remind us to go take a look Your question but there's also quite a lot of resources that have already been created so the The cuff links authors created this troubleshooting table, which I find it's it's useful It's a little bit comical that they Some I think there's like four or five entries in it as if that was the only thing that could possibly go wrong It makes it seem like there's really just these three things that go wrong So I guess you could check to see whether it was one of these three things And you might get lucky If not, you know, it's uh Usually you're not the first person that's encountered whatever problem is happening So you'll usually if you google you'll be able to find someone who's had the same bizarre unexplainable error message from some log file And if if you are the first person then I guess you'll just have to work your way through it But there is this troubleshooting table and then as I said in the publication that's going to accompany this tutorial In which I've already linked to On the citation page for the the wiki there's quite a much more extensive table of questions and answers That covers some additional Questions and commonly encountered problems and sort of blockers that we hear about So maybe uh, you'll find the answer there as well Okay