jellyfish

数独高阶技巧入门之三——Fish

China☆狼群 提交于 2021-01-09 08:04:23
术语Fish代表了一组工作原理相同的关于特定候选数的解题技巧(Fish技巧直接产生自数独规则——每个单元内的数字都不能重复),Fish家族成员包括“体型”从小到大的X-Wing、Swordfish、 Jellyfish、Squirmbag、 Whale以及Leviathan(后三者在人工解题过程中很少用到,本篇不做展开),以及由标准Fish结构延伸出来的Finned/Sashimi Fish。 X-Wing——若数字A在某两行(列)中只能存在于相同的两列(行),则这两列(行)的其他格都不能有A。 其原理很简单,如图1所示,我们将数字A只能存在于两个位置的行(列)称为base集(黄色),把与之垂直方向的列(行)称为cover集。显然,根据数独规则,在Base集中要吗是红色的一组A成立,要吗是蓝色的一组A成立,无论哪个颜色的A成立,都可以相应删去cover集行或列中其他格(橙色区域)的数字A。在具体操作时,大家可以将步骤简化为,在数独盘势中寻找一个数字A的2行×2列的矩形,若A在某个方向(横、纵)的行、列中只能出现于两个位置,就删去与之垂直方向的行、列中其他格的数字A。 图1 X-Wing01 ​来看下面的实例。图2中数字5在R2和R5行中均只能存在于C5和C8列,则R2和R5的5构成Base集, C5和C8列的5为cover集,可删去cover集其他格中的的5(红色)。 图2 X

关于k-mer与基因组(组装)的那些事

萝らか妹 提交于 2020-11-09 17:31:10
引言 随着越来越多物种的基因组被测序发表,极大丰富了我们对物种起源、进化等方面的认知,同时也为各种物种的研究打下了基础。但是在面对复杂基因组时或者参考基因组并未发表的情况下,我们通常会对这个物种的基因组进行De Novo组装,在得到一个相对完整的基因组图谱以后,接着进行接下来的分析如基因功能预测、物种间进化关系等。在这个过程中,我们经常会遇到k-mer这个名词,然而这个抽象的名词是什么意思呢?它又有什么用呢?接下来,就随着小编一起去探究这k-mer背后的含义吧! k-mer是什么? 简单来说, k-mer是一段长度为k的序列 ,而后面的mer即为monomeric unit(单体单元),也就是每个碱基。因k-mer包含k个碱基,若一段核酸序列长度为L,以一个碱基为步长滑动,那么根据这个核酸序列就可以得到 L-k+1 个k-mer;由于每个位点的碱基可以为(A、T、C、G)中的任意一个,因此k-mer理论上说有 个不同的序列。原本一条长片段,就变成了很多短的片段,因此计算机处理的碱基数量也会增加很多倍。而且,每次取k-mer是同一条reads正反取两次,这就是对这条reads的反向互补序列再取一次k-mer。下面的图就形象化了这一过程,长度为15的序列,选取k-mer为5,那么就会得到11(15-5+1=11)个5-mer。 那这个时候估计有人要问了,为什么非要用k-mer不可呢

k-mer分析:你的基因组有没有被污染?

给你一囗甜甜゛ 提交于 2020-11-09 17:19:36
k-mer分析是指通过k-mers深度(也即k-mers出现次数)的分布规律(一般通过分布曲线或直方图展示)来估计基因组的一些基本信息,例如基因组大小、杂合度、纯度等,同时也可以判断组装时的最佳k-mer值,是二代测序基因组组装前的准备步骤。 k-mer 分析常用的软件有 Jellyfish 、 Kmergenie 、 KmerFreq 和 GCE 等。其中 Kmergenie 常用于预测 de novo 组装中最优组装 k-mer 大小,根据 reads 分割 k-mers 并绘制 k-mer 深度分布曲线。 Jellyfish 分析准确度高,常用于判断基因组纯度、杂合度等。 Kmergenie 估计基因组大小 基因组大小可以通过 k-mer 分析法来估计 [ 43 ] 。假设基因组大小为 G (也即一共有 G 个碱基),那么基因组可以产生的 k-mers ( genomic k-mers )数量为 G-k+1 ,在 G>>k 的情况下,基因组 k-mers 数目就约等于基因组碱基数 G 。现在假定所有的 genomic k-mer 均为互不相同的(不考虑长于 k 的重复序列),其深度均为 1 。现在所有的测序 reads 均产生测序 k-mers ,由于测序深度较高, k-mers 出现的频次也即 k-mer 深度较大,在去除错误率影响的前提下,可以认为其中完全不同的 k