Hi everyone, I am Akansh Babna from Flipkart.com So I will be talking about front-end strategies when you face a Flipkart.com And how we tackle them I am the UI here at Flipkart.com by the way So just an overview of Flipkart front-end Before we get started with things We do like more than 4 million pages a day The good part is 40% of it comes from Chrome 26% is Firefox and 25% is IE All IE's And Flipkart ends with 16% of So 16% is IE Very less of IE, 6% and IE 7% So we use in-house media to serve standard files We will be talking about this in detail down-line So we use PHP for front-end And we use jQuery and its helpings for our client-side framework Here is what we are going to talk about today So these are some of the changes we face at Flipkart.com We wanted to make secure front-end files We wanted to serve the static contents In a way it's just effective for us And the latency also is down-line for the users Web concerts, again this was a big chance for us Scalable ceases code, again this was the big thing This ceases for our site as we test Flipkart.com And cleaning up code, this is really tough for us Because of the speed we are moving And the things are changing quite fast So first we look at graph-stabilization criteria So we started to build up this data server at Flipkart The requirement was that we wanted people to purchase songs From search pages, browse pages, anywhere on Flipkart.com These pages were our scdp domain And to do one click check-out on these pages We don't want to compromise on the security of the calls We wanted to sync the check-out to have a new security channel So we had to make calls between a scdp and a scdps domain This was really challenging for us because We are already targeting a bunch of js on the page And we don't want to use another level like xdm or another We are ready for consuming calls So we started to build a very thin, very lightweight consuming calls library We will be talking about this in more detail So the requirements were that we wanted to source requests between the scdp and the scdps pages And we never wanted the page to be revealed We wanted the guy to be on the same page when he makes a purchase When he makes a digital purchase It's cross browser, even iosics is supported We wanted iosics because we want people on iosics to be able to do turns to the very least This is used across a lot of places on Flipkart Your sign up, your login, your one click purchase for digital items And over the time this will be used a lot over Flipkart We wanted to be fast and lightweight We wanted to be able to transfer megabytes of data to the pages If we look at the approaches which are followed right now People use window location hash for transferring data Which has its own limitations We have to pull for it, we have to pull the hash And there is a limit on the size of the data you can transfer between the pages to that So these are the requirements we are building against So the reason is that window.postmessage is our friend So window.postmessage is available across Bystanders, i8 plus, 5.3.6 plus and all codes basically So this allows us to send data between frames One frame posts a message to another frame And the other frame listens for it But there is just one bit here That i8 will only allow you to transfer strings over it If we type the string, you give it We give it objects if we type the string So we had to actually do a two string on all the data we transferred Which was the frames So another thing is window.name So window.name is I think very less known method to transfer across frames This helps us transport megabytes of data across pages It's supported in i8, i7 and all the old school browsers So this allows us to send megabytes of data across pages Because it's window.name property, it's like sending a variable And reading it to the other side So it doesn't require proxy iframe, it doesn't require polling And it's fully async You'll see how the static code looks like when we setup it This was just a code Just this response to care of all of our cross domain needs So what we're doing here is We are json encoding the data twice to convert it to strings We convert an esp array to string And we're checking if postmessage is there We're using postmessage Otherwise we are simply setting the window.name And so the quick here is that Even if you set window.name You won't be able to read it to the other side To read it to the other side You need the frame to be on the same domain The best way you could take off it was You would redirect to salicon.ico Because that's always cash and you redirect the frame to that location The frame you redirect to that location But window.name would remain the same That way we can access the variable in the top frame So one small thing was that When you're doing this We messed up the back button of the browser Back the... I-frames don't like the back button When you make calls through I-frames It also creates a point in their history So this was really This was really serious for us Because people could redo transactions When they click the back button And solution as it turned out was very simple Once you're done with the request Remove the I-frame Remove the I-frame to yourself That's the history for that page There's no longer a request for the I-frame So in our CDN You might have heard of this A lot of sites are written We have our own CDN We don't use a third party CDN for our static files No packet for flipchat.com Those are our media The hi-hs are there So we can actually In runtime we can switch our CDNs Through configs So in case there's a high note Some CDNs have a non-performing There's a spike You can switch to an alternative provider Or you can put that kind of combination Through configs It gives us very high latency And it's very cost effective for us Because we're doing a whole new page recently And the CDN zoom mapping We learned that The CDN zoom mapping is true When people use Google DNS Or local DNS It no longer gives you The file from the latest From the nearest event And the lessons learned While we're developing this It helps us in fine-tuning The latest stack And it also helps us in Tuning other services also Using Google DNS What gives us true of the It happens actually in the state The Google DNS will map the packet To England and elsewhere And then it will come down So when we're launching The Flipkart digital store Or any downloads We wanted it to look jazzy We wanted it to have a different experience Apart from the rest of the Flipkart So we decided to use webpons But as it turned out That webpons are not that easy I mean They have a lot of quits Associated with them These are the webchams You should keep in mind When you are using webpons You should always subset your phone If you use a font directly As people get them It will be like 500 TVs And it will be downloading A lot of data on the client side Just for every request And another thing is That you need to adjust the Excite of the fonts So it turned out For us that when we started Using this font Our existing With our existing CSS Everything was sticking to top So because of the font's excite So it turned out that The font is like that only So we fixed it by adjusting The excite of the fonts It is a very good site Called fontsminute.com It does a lot of optimizations for you It does It is subsetting it It does excite for you It does everything for you You should be using it If you are using webpons On a page So another thing was People say that If you are using webpons You should use an excellent loader Like the Google webpons loader The Typekit loader Anything else But that required us to download Another 6-7 kbs of JS on every page It had this And we never wanted The packet to go out of the area We never wanted to Have just for fonts Another request And a 2-3 request for fonts So we set out To build a solution on our own And it turned out that It is not that difficult actually If you follow If you search around it For a bit So one thing was that I will not enter anything If there is a strip tag About the font So the page can be blocked People will see a white page This was critical for us Because we have people coming in from IE And there seems to be a white page And the font loads And this was Happening even in the latest eyes also You can see I'm there So you should always Place a font tag On the top of your page Before any strip tag Otherwise I will block it I will block it Since I will block the Download I will block the rendering of the page It turned out that Roman Firefox Downloads the font Only when the download text With that font So let's say if you have A dialog with that font in The dialog will be shown But there will be no text shown Until it doesn't say For downloads It also can download the font Only when it downloads it So the searcher for this Want to preload the font Using hidden spam tag On the top of the page Earlier So next here This is the OCS Vida OCS I mean I am not sure If you guys have heard of it OCS is a movement by Because even she does CSS consulting For big organizations Like Facebook and all And hypercom and CSS Optimization They do it If you start using it It's completely It's a new approach to CSS Writing CSS One area is using Less, less and these things This is using Existing CSS Class And adding it in a way That it's the element So OCS is a belief OCS says that You should always Separate skin and structure If I am defining a button The structure for the Button should be different And the skin for that Button should be different This is not the case You would always Find yourself duplicating the code You should always Separate your container And contain it So container will You should always have A great framework with you If you don't have a great Framework you will End up duplicating Containers everywhere Have containers And you should release And get it in them This results in Highly reusable CSS code But again It's non-semitic And there are You could argue that You have to tell your CSS best practices for this You have to put an aside If you are You know with this approach For writing your CSS So look at it Some of the CSS Bits So this is This is the great framework That you think It's very lightweight It's It takes care of All the cross browser tags We have put in And it's very lightweight It's really simple Use its cross browser And it's It's very accessible You can list The great units You can have The massage tag Whatever you want You can do with them This is the sort of This is an example Markup of a tag So if you Look at it This will be You know Brilliant for me And it's very Simple to It's very It's very easy to Maintain it this way Because if I Have to change the Size of the many of the units I just have to Change the size One of three One of two Or something And it Would be taken care of And this is Also answers Destined them And if you see Flipkart You will see them everywhere From Three column layouts To Your Product edits Everywhere You will see Mistakes Some more OCC examples We use Part We have declared Only one OCC That We should declare Things Only Buns And We should be Reusing them later on So These are the Some of the tags We have declared for Part We have declared them Buns Everywhere We are using them On the Semantic side If you look at this From Semantic side It's not very semantic But it Buns Whereas We put A Dungen Semantic Classy In case you find that It's going too much Non-semitic But we use a lot of Classes like this RK Function RK Function Normal RK Function Big For Having We have created A lot of function classes like R Padding This says that The element Have a Padding of 5 clicks from right For the We have We have 5, 6 Classes like this And it works for us It helps us not to Declare the Roots again and again This is Very This has worked out In a big way For us And we have Said a lot of Bites with this Ceases Load So It's A rich Today The People will not Go on Zero Lesson And How How What's The Teacher The Post Again It's Good People These Top Letters Subsequent There is just overrides one level overriding the other. The other reason is stale and unused selectors, people never delete rules, people will never delete rules from the CSS violence. This is what they found out. If we are to do it, we have to take one day out of our day-to-day-off and do it. It is very difficult to remove unused rules and you will never know that I delete this rule. We will come back to any other piece on the website. So we didn't declare rules. So we ran script around all of the CSS code and we found out that these were the most declared CSS properties in this order, explication, underlying, etc. We had not sent the anger tag execution properly. So we found out that people were overriding at a lot of levels and people were doing it quite often. We didn't use the recent CSS initially because the tag people were setting margin, see-go-part, padding, see-go-part, see-go-art and in a lot of CSS rules. Then again we had a lot of rules that looked like with 100% display tag, that's the part of 4 way code. This is the result of people using wrong tags for right, for different things. So with 100% user tag, display tag, people would have used a left, that's the point I think I would have used a right tag, hold by hold, they could have used a stronger read tag. This is what we found out that these were the most declared CSS properties in the code. And then we set up the extractor, we, our efforts got prepared towards having these, removing these and having a top-level rules which actually make, which actually make people not declared CSS again. So CSS cleaned up the root. So we have, so we have to clean the CSS code. People will not believe them manually because it's too much tedious.  So obviously Node.js was the way to go for that. It purchased a page with Node.js, creates a browser, simulates a browser with JS DOM and scopes and a season in it, passes the given CSS file and tests for the presence of the CSS selector which document got very selected. After that, it will rewrite the CSS file in the comment that the CSS root is used or not used or if it's used then what is, what, how many selectors are there which are using this root? If it's very specific, only one or two selectors are using that, are using that to them, we should probably factor it. This is how we're going with this. This is how we're cleaning up this experimental and it's, it's, it's, it's being done as we talk about actually. I'm done with this. Any questions? Yeah, any questions? So the question is that why CSS and not something like CSS. So one thing was we wanted, we have people, non UI developers also writing CSS code because we have a lot of things coming up each and every day. So not everything comes to UI developers for writing CSS. So getting them a whole lessons as would be difficult. They're all, they come, they all come from classical programming areas where the intent is reusing the code but it's actually not that in lessons as it will actually duplicate the code we do. So we had a, we had a create that which would actually written more good generated this way. But we are actually trying this and trying it for CSS properties because it's actually finding specific to the various properties and radiance each and every time. Let's say that you're actually not considering CSS animates as a mess, animates as a mess, animates as a mess. So you're not talking about that, but consider the redundancy that you have to deal with. Yes. Like if you create padding, large, large, large, which you actually have that they work with, they are more than provided. Also, if you, if you continue using that as a form that probably won't work in the scenario where you have to deal with all the redundancy. So 23 is a call initially making better. We spend time clearing our tools and radiance later on just because we have to make it accessible to our devs so that we can understand or do it more wisely. I like that. So the thing is that if you bump us clean up our tools because it's great, it's very down to like 80 kbs of season and every day we want to clean up first and then we would think about it re-actile it with or re-thinking it as a mess. Another thing is that even if you have margin padding with less people then simply iterate that and they will, they will not, they will not think that it's a reference. It will be actually a, one more collection of that property there. So you say that you write some architecture running already on your CSS and that's the way I call it, most CSS. Yes. But if we have to start from, let's say from the scratch, would you rather still not use less people? I think most CSS works for most of our things actually. You don't find that anything apart from this, the CSS tree will be able to bond with less people. Yeah, we do plan to contribute back. So the question is, are we planning to open source this CSS cleaner tool? We do plan to do it. We do plan to contribute back. I voted the code of a popular IHOP Saddam called CSS Destiny Senators or something. So I actually did that code and we did this. It's not there right now, but we do plan to put it out. What is your current font size? Pardon? What is your current font size? Yeah, so the font sizes, so the question is, what are our current font sizes? It's that. I'm really not sure of the font names, but I think it's 3D Sands. I think it's 3D Sands. Initially the font sizes, we got the sizes were like 200 kb's for strong, 200 kb's for a bold font. So we decided to find it around 500 kb downloading because it's a very payload. Then it came down to like just 40 kb's overall. Really powerful smartphones. You spoke about not using Google smartphones because it's a very domestic product and not today that is why it's so big. Still using smartphones does the animals know? If not, let's say using Android and Android 4.0 is real. So a person who does not access the website for the first time, unless that Android font has rendered or has actually come to a decision, people are not going to be able to access it. So there is a question of finding ways to see the translation as to see what will be the font. So that's the reason that it's still being developed? No, we don't use that. The only problem with that is the way we deal with the file is that we will not display the font. That's how browsers see data, that's how people recommend it because it fits the other way than the size of the area and the size of characters in the area that the font uses. So the page might jump a lot because the font is jumping. So we actually hide the font. We hide the text in the time the font goes. Anything else? So the question is, what are the files used for the font? So we use 5x1 to use this. There's a lot. So we use this. Actually, this is a very good developer tool which helps us profile our CSS. That means a lot. I think it's Firefly or something. It helps us profile the CSS and how much of it CSS enables. Anything else? I'm sorry? Yeah, please go. Pardon? Accessibility? No, not yet. Actually, we want to go into that. We are actually going to write a code in a much more... We actually want to write a code in a much more... We might take tags and we want to make it more... It's not that much right now, but we want to do it. So, what is the Indian Recon situation? Yes. What is it? Yes. And you are also a great client. Building things yourself? Yes. Yes. So if you are doing these two things, like building things yourself and supporting the activities of the situation as well, can you open source all this stuff? We don't want to do it. It's going to happen soon. So the question is, when do we plan to open source all the things we do ourselves? Again, we might have heard from news conferences, news speakers. We do plan to go to the back. There will be a point when we find them, these are ourselves, these two, they are not in its perimeter states. We will open source. We will do it. So, next week... I cannot do that. Okay. Anything else? Cool. Thank you. Thank you.


My fear, and I think it's a realistic fear, is that if that kind of concentration of wealth continues, then we get to be more and more an oligarchical country, a country that's run from the top. The inherited wealth plays a much bigger role than earned wealth and meritocratic wealth. And so you get not only real danger to a democratic institution concentrated, and that's a regression to a world that be all thought of in the American Constitution. What you want to do is make it possible for everybody to share basic wealth. So it is mobility that matters.


Okay. Thank you. Thank you, Gil. So we're moving on to describing the thousand genomes data sets, including the raw sequence data and the met sequence data and the variant calls. Gil described the three coverage strategies that were for which we collected data in the project and the goals of the various pilots. Moving on to the samples, the exon pilot, which used the highest number of samples in all 697 samples, represented seven different populations, three from Asia, two from Europe and two from Africa. The other two projects used subsets of these samples. The low coverage project used samples from four of these populations and, of course, the trio project used two trios, one European and one Asian trio. Gil also talked about the data sets and how basically we were able to compare using these data sets, deep coverage in a small number of samples with low coverage, but genome-wide shotgun sequencing about close to 200 samples and then going very deep in a small fraction of the genome. In fact, the fairly small fraction of the exon, about 5% of the human exon in the exon pilot project from a large number of individuals. No matter where the data came from, the data processing was done in a uniform fashion. This was what's called a re-sequencing project in the sense that we used the existing human reference sequence to organize all the data. That is, once the machine came, once the read scheme of the machine and they were converted into reads, they were mapped to the reference genome after which we called variants, both single base or short insertion deletion type variants and structural variants which will be covered in a separate presentation by Yan. The mapping itself was successful, but we must realize that older next generation sequencing technologies enable very cost effective and fast high throughput sequencing, but they can do everything. It turns out that there are limitations in terms of what fraction of the genome is reachable. On the top, you'll see a figure from the old 2001 human genome paper that shows that a large fraction of the human genome, nearly half of the human genome, consists of repetitive DNA, and of course it turns out that we are able to sequence a large fraction of the repetitive parts of the human genome, but not all. It turns out that 80-some percent of the human genome was sequenceable with the technologies that we used in the pilot data, and there is some fraction of the genome that we really weren't able to touch and weren't able to assay for variation discovery, but so this is important to keep in mind when we're considering how complete the resources, so we are, there were limitations, but most of the genomes were, we were able to assay. There were other challenges after the read mapping step is done, and some people are familiar with these, these are somewhat technical details, but during library construction and sequencing there are a number of amplification steps, and because of that you end up sometimes sampling clonal copies of a single sequencing fragment, which introduces systematic biases into variant calling and need to be dealt with. There are also limitations to the alignment technologies. Some examples include situations when you have an insertion deletion polymorphism in the sequence samples that can throw off the alignment algorithms, and there are, we now have specific methods that can clean that data up. There's also more subtle points such as base collative values that are not well calibrated at the beginning, and again this introduces systematic biases. All these things can be dealt with and the project developed methods to deal with these issues, and once the alignments are up to the standard, the next step is to actually detect the variants, and I'm going to be talking in this presentation only about SNP variants, and the structural variants will be covered in a separate one. So SNP calling with current methodologies are done considering all the data for all the individuals simultaneously, so data in this case would be available from a number of individual samples. The data, this specific method would be a Bayesian method where we calculate data genotype likelihoods or data likelihoods based on the data collected from the individuals. We are able to aggregate this data and use prior knowledge about, for example, the allele frequency distribution and the frequency of polymorphic sites, polymorphism rate in the human genome, and use this information to make better inference as to where the variant locations are, which is called SNP calls, and also we are able to infer the genotype of the samples based on the data. These are called genotype calls, and Gil referred to these in his presentation, and I'm going to come back to genotype calling a little bit later. A very important aspect of the 1000 Genome Project was that it was able to benefit from a number of competent analysis groups, and each project data set was analyzed by at least two, but often a higher number of different groups developing often quasi-independent methods, which could then be compared at various checkpoints, and data releases have tended to benefit from the best of each method and merging the SNP calls from the various different methods. This is just one specific example from the part of the project, where the exome pilot, where my group was primarily involved in but similar pipelines implementing steps that deal with the difficulties that I was describing below have been implemented. So what were the results? Well, this is a fairly dense table, looking at the variant calling results from each of the 3,000 Genomes pilot projects. The raw data was pretty staggering, and now it's even much bigger. Multiple terabases of sequence. We found about between 5 and 10 million SNPs for the trios, 15 millions from the low coverage samples. Remember, these are both whole genome data sets, and over 12,000 in the exome pilot. Again, looking at a very small section of the genome, about 5% of human genes. Turns out that many of the variants that we found were novel. Novel to rate was highest in the exome pilot, because of a large number of samples we were able to discover very rare variants, and we know that these are underrepresented in current databases. In addition to the SNPs, and these are just the results, I'm not going to go into the details, well over a million short insertion deletion type variants, and over 15,000 larger deletions were also found. We were able to detect with a base pair resolution a large number of structural variant breakpoints, where a large structural variant actually starts and end, and we're able to discover new variation types that are very interesting in their own right, for example, mobile element insertions in large numbers, and doubling and tripling the existing catalog of these variants. Important to mention that the project standard was, to have a false discovery rate, better than 5%. And all pilots met this criteria, which means that when you look at variant causes that we produced, you can be certain that 95 out of 100 variants will be real, and so the false positive rate will be very low. We have talked about calling genotypes, determining whether the individual is Homozygos for the reference allele, heterozygos, or Homozygos for the alternate allele. Now, from first principles, this should be very difficult for low coverage data, because sometimes there are no reads available from a given individual. I was very, very surprised to see that often very accurate genotype calls were made for samples, for which there was not a single read aligned at a given location, and that's because of the power of linkage disequilibrium-based methods, and this figure compares the accuracy within the same samples between the exon pilot, which was deep sequencing, to the low coverage pilot, and you can see that the accuracy is actually very, very high for the low coverage samples, despite often missing information. The flip side of accuracy is sensitivity or power, that is what fraction of the size you discovered and what fraction of the size you missed, we were able to do multiple different comparisons within and outside the project, for example, looking at SNPs from the HEPMAP, and comparing the low coverage to the exon project. You can see that if you have at least seven or eight chromosomes with the variant allele in your collection, basically you discovered at SNP 100% of the time, even with low coverage sequencing, it turns out that the deep coverage you can do better, you can go your sensitive down to two alleles and you discover even a large fraction of the singletons. Again, that's because of the deep coverage. It's slightly difficult to see the numbers here, but there are very, very large number of novel variants found in the project, multiple millions of novel variants, which is a large contribution of this project to known polymorphic sites in humans. Now, this is also a population level of quantities. What about per individual? Each individual in this project, we found about three to four million variants, including 10,000 to 11,000 non-cellonymous changes, a couple of hundred in-frame indels, about a hundred premature stop codons, about 50 supply side disruptions, and 50 to 100 recessive disease-causing mutations present in a database of human disease variations. In terms of introspection, comparing, again, between the various projects, as I mentioned, the exon pilot deployed deeper sequencing, 25x and higher per sample, and because of that, we were able to discover more at the low end of the allele frequency spectrum, and that's exactly what was the reason. That's one of the most important reasons why the exon pilot was carried out, so we can see what we're missing with the low coverage sequence. A little frequency. It's really an account. The low coverage was about 2 to 6x per sample, and the high coverage is 25x and on. There were some samples with 100x coverage in the exon pilot. So, yes, at least I can speak for the exon pilot. There was significant difference in the coverage between 454 and Illumina, which is the two platforms that were used, but it turns out that the venereal difference up to 20x. So, the coverage distributions look almost identical up to 20x, so it didn't really affect the discovery rate of the SNPs. Both platforms were equally suitable for discovery. What's just the last slide about the exon pilot, which of course is close to my heart, is that there really is a huge excess of variance in this data set, which allowed us to really look below the 1% area frequency, but I don't have time to describe the actual science of these analyses. One slide. The 1000G data supports structural variance from the next gen sequencing data. Again, details to come. And one thing that I couldn't resist to put in here, is these are two completely different variation types, SNPs and mobile element insertions, such as ALO insertions or L1 insertions, and the same exact data from the same individuals, we could calculate and compare heterozygosity. I think that's a real power of these data sets that we are exploiting. What are the data types that are delivered by this project? The reads in fast Q format, and Steve, I believe, will be talking a little bit more about data formats. The alignments, reads mapped to the genome in a standard BAM or SAM BAM format, and the variant calls in what's called a VCF or variant call format. Very important that there are tools available developed by a number of groups that you can use, download and use to analyze and manipulate the 1000G data. For example, you can take the BAM files, the alignments, and you can calculate various metrics, you can calculate coverage, you can discover your own variants, and so on. You can also, there's a set of tools called VCF tools that is able to manipulate the variant calls in their own particular format. You can use viewer programs. I just showed one example here, the Gambit viewer from my group, but there are others, for example, the IGV viewer from the Broad Institute, to actually look at the data sets. It's pretty efficient browsing now. Moving on, so this was the pilot and these were the tools. One slide about where we are right now. The current status is the analyzed 629 samples, and this supports 25.5 million variant calls. Very good progress, very low missed snip rate, and very high quality. Gail talked a little bit about the second phase of the project, expanding the number of samples to 1,100 and then beyond 2,500, which will consist both of low coverage, whole genome sequencing, 4x, or perhaps a little higher per sample, and this will give us an even more complete snip catalog of genomic variants about 1% allele frequency, and in addition to that, there will be full exome sequencing on all the samples, which will go below 1% allele frequency in the exome. And finally, I want to acknowledge the 1,000 genomes project, all the participants who contributed this work. Yes, there is time for questions. You probably have to yell because it's kind of difficult to see with the lights on. The URLs for the tools that you listed didn't show up well in the handout. Will they be made available for us later on? I believe that the presentations will also be posted and accessible so people can download them, they should be better accessible that way. They will be posted at genome.gov, which is the NHGRI's website. And these will come online about a week. I have a question about the exome pilot dataset. You mentioned that you did not identify short indels in it, just snips. I'm surprised if you didn't see, for example, in-frame deletions or things like that in the exome dataset. I believe there are reports in the literature for such type, so it's surprising that you didn't see that. We did see that. I just didn't talk about that. Okay, because it's not reported in the table that we have here. There were about 100 short insertion deletions in the exomes, and some of these were in-frame, most of which were at low allele frequency, as you would expect from these highly, most likely, functional variants. Oh, okay. Thanks. Just one question. I heard that more samples will be available in the future for a full exome, meaning this 1,000 genes or all the exomes. Meaning the full exome, so all the human genes, well, all the ones for which captured arrays exist. So you will look up to arrays for all the exomes together? Yes, yes. There are, I believe, at least two, but maybe a larger number of full exome captured arrays for the human genome available today that people are using. You spoke about a global target of under 5% for the false discovery rate in the process. Can you discuss a little bit how you determine that? These were done with experimental validation experiments, which consisted, there were multiple different strategies used. There was direct Sanger-based resequencing, and also genotyping. And these show that depending on the project, they were slightly different, but they were all above 95% accuracy. The sensitivity, of course, was not experimentally determined because it's generally much more difficult, but they were determined from comparison to other projects with overlapping. Well, that's a good question. That's anybody's question. I can't really answer that. HGMD is probably the best currently available data set. We did not follow up on these in that regard. This was not a disease project, primarily. This was a project that set out to essay human genetic variation on a population scale, but not in a disease context. Those are, of course, interesting questions, but there would be other studies that will answer those. Any other questions? In that case, moving on to the next presentation, Steve Sheriff.


Well, it is officially official. Straight from the Baltimore Ravens, they made the announcement on Monday afternoon that they have officially signed wide receiver, former second round pick, former Arizona Cardinal Speedster and the Isabella to their practice squad. Y'all know I was scared. I was a little worried that this thing might not go through. I know there's some Ravens fans a little hoping it wouldn't go through, but I was a little worried just because of the way that John Harbaugh was speaking about it a few days ago at a presser. And what stood out to me was that just the way that John Harbaugh spoke about Jason Pierre Paul before that was official versus how he spoke about Andy Isabella before that was official. And it was just two different tones, but either way, it don't even matter anymore. Andy Isabella is now a Baltimore Raven. So what does this mean? I think things definitely changed and could take a turn for what this signing means based off of the game against the Bengals. Because the game against the Bengals, as we mentioned plenty of times before, we went into that game thinking, like, all right, we know about Mark Andrews, obviously, everybody knows about Mark Andrews. We're getting to know Devon Duvening and I'm loving what we've been seeing. And now, now at this point, because before they weren't really valid, but after yesterday's game, well, depending on when you watch this video, I'm recording this on Monday, but we might see it on Tuesday. But anyway, after the Bengals and Ravens game, now we can start doing the Debo comparisons. Now you can do that. Even though we want Devon Duvenay to be Devon Duvenay, I mean, we call them Devon Duet Alvenay yesterday. But now you can start seeing the similarities because they were really using Devon Duvenay everywhere. But anyway, going into the game against the Bengals, big question was who's gonna step up at wide receiver and who's gonna consistently step up at wide receiver? And we just ain't really here for many body else. We heard from Duvenay throughout the night, obviously.  So we always hear from him, but nobody else. Now, one of Thailand Wallace's opportunities, Lamar did miss him. So that wasn't on Thailand. That was all on Lamar Jackson, he overthrew him. But other than that, we just, it was quiet. Didn't really hear anything from him. And again, granted, he should have had a touchdown. So that's on Lamar. So I give him a pass for that game. But still, like even before then, we haven't really heard much from him. Nothing from Pro Shade throughout really this season. Not even just the game against the Bengals, but we haven't really heard anything from those guys this season. It's been super, super, super quiet. And I just felt like the game against the Bengals, there should have been an opportunity for both of them to really get some burn and get some action. But we ain't really see it. And then I mean, even just by the snap count alone, like Ravens, just not even Ravens, teams can, they can tell you one thing. They can tell you one thing, they can tell you how much they love this play and that play and da, da, da, da. And that's cool, that's great. But actions, actions tell you how they really feel. Looking at the snap count from the Bengals in Raven's game. Devon Duvenay, he played 47 snaps. DeMarcus Robinson, he played 49 snaps. So look at that. So those were essentially the number one and number two wide receivers of the game. But then you look at Tyler Wallace, he played 13 snaps. James Pro Shade, he played 18 snaps. So that is such a large difference in the snap count.  And now insert Andy Isabella. He's got to be looking at this situation like, oh, I might have a chance. And depending on how long Rashad Bateman is out for, even when Rashad Bateman gets back, he could very well end up getting a practice squad, call up, all right, Andy Isabella, you up. And one of those guys could be inactive between Pro Shade and Duvenay. I mean, excuse me, excuse me, Pro Shade and Wallace, not Duvenay, not Duvenay. That was an accident, my apologies. But between Pro Shade and Wallace because they have not been getting many snaps, they have not been getting much action their way. So you put Andy Isabella in the mix, did you sign him for no reason? I wouldn't think so, especially because they just dropped Bailey Gaitha from the practice squad. Andy Isabella took his spot. So they already had a receiver on the practice squad. They still got Rally Webb, another receiver on the practice squad, I believe too. But they cut Bailey Gaitha in order to put Andy Isabella there. So are they doing that for no reason? I would not think so. So I just feel like Ravens are gonna, and now, and today, again, I'm recording this on Monday. So he's officially part of their practice squad as of Monday. They don't practice till Wednesday. He'll be able to get in a full practice with the team to really start to get acclimated with the squad.  Cause it ain't like they getting much playing time right now.  Right now, I got to say no. And that's of course, that's not a shot at them, obviously. But the way that the Ravens have been used, or the way that the Ravens have not been using them, it's like you got to feel like the Ravens are over it. You got to feel like the Ravens are just, they not really invested into those guys. And again, it's only been five weeks now. But those five weeks have been very telling.  They went out and got the Marcus Robinson. They already had a Bateman, they had Duvenay, they had Pro Shades, they had Wallace. They still went out and got the Marcus Robinson. So, you see, and again, they still have Bateman. They had the Marcus Robinson, had Duvenay, had Pro Shade, had Wallace, still went out and got Andy Isabella. So, I don't know, man. I would think that the Ravens are gonna try to do their best to get him incorporated, like right away now. I remember going into this game when I thought that the signing was gonna be official before, I didn't think that he was gonna play in the Bengals game. I just didn't see it. But now, after that Bengals game, and since he'll be signing before their first practice on Wednesday, I think that he'll definitely be a part of their game plan. Not like he'll have this big extensive role, anything like that. But I could certainly see him week by week, over these next couple of weeks, start getting inserted into the lineup and just really end up eventually getting more snaps than Pro Shade and Tyler Wallace. I could definitely see that. I think Ravens are really gonna want to try to get his speed on the field. They really gonna, and again, it's a low risk. He's on the practice squad. It's a super low risk type of signing. If it doesn't work out, okay, that's that. Move on. But I really do think that they're gonna try to get him involved, especially since they don't involve the other guys. And I really thought going into this season, I'm like, all right, Bateman, yeah, that's gonna be the number one. And I thought the way that they were really propelling or pushing Pro Shade up there, I really thought that, all right, oh, Pro Shade probably gonna be Ravens number two. Nope. Nope. And y'all heard me say it like, nah, I don't see them using Devon. Devon Duvenay is no number two. Nah, they ain't doing that. They don't view Devon Duvenay as no number two receiving, but they've proven otherwise. All right, I've been proving wrong by them Baltimore Ravens, man. So, and then as far as the number three, that's like, toss it up in the air. Oh my God, JT was saying really, Mark Andrews is the number one. Bateman is the number two. Devon Duvenay is the number three. Then after that, okay, who knows? Who knows? So, we'll see. But just my thoughts on Mr. Isabella joining the Ravens. And again, the way that I'm viewing this thing, it really changed after last night. But really, when I think about it, last night is just a continuation of what this season has unfortunately been so far for James Pro Shade and for Tyler Wallace. You look at their snap counts from every game, they're not really out there like that. They're not. So, it's just been something, man. So, and not like they're gonna have like, 50 plays a game, anything like that, especially because obviously before the injury, the Ravens would have a Bateman out there, and then Devon Duvenay, and then the Mark is right. So, yeah, their snaps will be limited, but they like being limited, limited.  So, again, this is not based off of a pin, but just based off of what Ravens have shown us. So, we'll see how it goes. We'll see if any of this ends up happening, or it doesn't. Or Ravens just be like, hey, you know what? Let's change things up. And they pulled something out of a hat. I don't know. But anyway, I love y'all. I appreciate y'all. And welcome to the squad. Officially now, Mr. Isabella.