任意基因的相关性 可以将分组(正常样本和肿瘤样本)与基因的相关性联系 几种算法(免疫丰度、免疫细胞亚型 1.免疫亚型鉴定和可视化 https://www.yuque.com/xiaojiewanglezenmofenshen /bsgk2d/ab5gvv#6d0c41bc) 结合GBM_ER的文档3里的代码immune里来看 准备好exp? 免疫细胞丰度 箱线图:文献代码:https://www.yuque.com/xiaojiewanglezenmofenshen/bsgk2d/rhrbqu 用ssega方法,结合GBM_ER文献里的mmune 泛癌的亚型如何寻找,新版TCGA文献 ppt里的第23张 4.estimate算法 https://www.yuque.com/xiaojiewanglezenmofenshen/bsgk2d/yenun9 每个表型相关模块里的那些基因 模块:具有高拓扑重叠相似性的基因合集。共表达模块是根据非相似性矩阵,利用聚类算法获得。基因与他所属的同一模块内的其他基因往往具有更高的共表达特性。
❝接上周复现的单细胞推文,文献中还有亚群细分的数据,所以我这周针对stem cell亚群的细分进行复现,复现只能大致与文章中的数据相似并不能做到完全一致,主要是结合文章中marker gene和人工注释 (dplyr) library(patchwork) #所用数据为上周推文中输出的文件 sce =readRDS( "../2-harmony/sce.all_int.rds") sce sce.stem harmony_umap_recluster_by_0.2.pdf',width = 8,height = 8) sce save(sce,file = 'first_sce.Rdata') 用文章中提到的marker ='Lgr5 Stem' celltype[celltype$ClusterID %in% c(1,2),2]='Cycling Enterocyte' celltype[celltype [celltype$ClusterID %in% c(6),2]='TA' celltype[celltype$ClusterID %in% c(7),2]='T' head(celltype
大家好,又见面了,我是你们的朋友全栈君。 对于科研学子来说,EndNote(或NoteExpress)是管理文献的利器,能够快速筛选文献与录入参考文献,非常适用于参考文献较多的场合。 需要引用文献的时候就从中选择一个插入到文档中,EndNote 会自动给你编号、在文档末尾建立相应的参考文献列表。 但是各种杂志、单位要求的文献著录格式是不一样的,所以在插入文献到文档之前,我们应该选择合适的文献著录格式。 2.安装与使用 A. 安装 将解压得到的 geebinf modified by zz.ens 文件放到 EndNote 安装目录的 Styles 文件夹里就可以了。 需要填写的项如下图所示: 那么如何体现Endnote文献管理软件的强大之处呢:如果当你想在原有的参考文献前面在插入一篇文献,如你想在原先第36篇文献前再插入一篇文献,那么Endnote会自动将新插入的文献定义为
我们生信技能树在前面给大家整理过大量的带有全套代码在 github 上分享的文献,还有一个专门的共享表格:自带图表复现代码及数据集的单细胞及多组学文章-V1 https://docs.qq.com/sheet 我们秉承着一切分享学习的态度,即将开启2025年的新专辑《Github带有全套代码分享的文献复现2025》,我们以学习文献中的思路,代码技巧为主,带领大家攻破一篇篇文献,将其运行到自己的科研课题中。 下面第一篇学习的文章非常好,作者的数据,代码整理的非常详细见以前的分享: 代码分享|| 见过将代码整理成wiki资源的吗?这是篇极好的学习单细胞与scATAC-Seq组学以及联合分析的文献资源! GSE173682 # 存放 GSE173682 的相关数据 到这里,你需要准备好环境,下载好数据和文献,代码,提前熟悉文献内容! # lower" 表示函数将检测低于中位数的异常值(即下界异常值) # nmads:异常值所需的最小MADs倍数 # nmads = 2:设置为2意味着如果一个值比中位数低2个MAD,它将被认为是一个异常值
前言 CNS图表复现之旅前面我们已经进行了13讲,你可以点击图表复现话题回顾。如果你感兴趣也想加入交流群,自己去:你要的rmarkdown文献图表复现全套代码来了(单细胞)找到我们的拉群小助手哈。 为了解决这个问题,让我们一起看看文献自己的inferCNV流程是如何使用的,以及对应的数据集。 其中文献运行infercnv::run的时候,下面两个参数,都是默认值: HMM参数 when set to True, runs HMM to predict CNV level (default: T,运行该文献他自己的数据集和文献代码后,运行的日志文件如下所示: INFO [2020-10-19 11:17:44] ::process_data:Start INFO [2020-10-19 11 往期回顾 CNS图表复现13—使用inferCNV来区分肿瘤细胞的恶性与否 细胞身份何以在分裂中得以保持?
R2D2: Recurrent Replay Distributed DQN R2D2算法介绍: https://mp.weixin.qq.com/s/KoFuCePBNPCXGWKpAy_wjw 算法的核心要点 R2D2算法Buffer: ? R2D2算法Buffer比普通Buffer多一维,存储的是固定长度的一段(s, a, r, d, s')序列,第一维为batch_size,第二维为序列的长度(比如 Lb+Lt),第三维为各自的维数(比如 Buffer的实例化: ? 数据的收集: 在规定好Buffer的结构以后,改造与环境交互产生的数据使之与Buffer匹配。这里使用python库中提供的队列作为数据收集的临时存放的数据结构: ? 每隔Lt步存储一次,把队列里的数据存到Buffer里: ?
❝我又继续探索了一下上上周推文复现的science推文数据集,这周的推文就继续写一下。 , file = "seurat2.rds") 读取数据集给出的细胞亚群信息 ###读取数据集给出的细胞亚群信息 cell<-fread(". ("2-harmony2") # sce.all=readRDS("../1-QC/sce.all_qc.rds") sce=sce3 sce sce <- NormalizeData(sce, ,右图是我加入meta信息后重新降维分群得到的,复现可行性很高。」 「这样得出的结果去如果继续复现后续分析就会更方便一点,虽然上次的推文也进行了细胞亚群细分,但是不同的人对亚群细分的认知还是存在差异的。」
object_sizes_of_interest_per_level[None].expand(len(points_per_level), -1) ) # [22400,2] None] - bboxes[:, 0][None] t = ys[:, None] - bboxes[:, 1][None] r = bboxes[:, 2] min选取它们的最小值,dim=2表明是在坐标的维度上进行选择 is_in_boxes = reg_targets_per_im.min(dim=2)[0] > 0 =2)[0] # limit the regression range for each location is_cared_in_the_level = want and won't need to # re-build it python setup.py build develop --no-deps unset INSTALL_DIR 参考文献
2.荧光通道 荧光通道表示的不是细胞特有的物理特征,而是其化学特征。如需要检测样品中是否有细胞表达某一CD分子,就将这一CD分子的抗体与特定的荧光素偶联,这种荧光素通过荧光通道时会被激发而产生荧光。 流式直方图只能显示一个通道的信息,流式散点图和流式等高线图可以同时显示2个通道的信息。 1.流式直方图 流式直方图是在统计学直方图的基础上进一步发展而成的。 我们可以简单的理解为曲线上该点对应的y轴值就是x轴代表的通道的荧光信号值对应的细胞数。 图(1)中100~101(M1)为阴性细胞,101以上的(M2)为阳性细胞;图(2)中2N代表G0/G1期细胞,4N代表G2/M期细胞,两者中间代表S期细胞。 2.流式散点图 流式散点图能够同时表示两个通道的信息,更加直观和常用,x轴表示一个通道的值,y轴表示另一个通道的值,图中每一点代表一个细胞,该点所对应的横坐标值就是该点所代表细胞的x轴通道的值,所对应的纵坐标值就是该点所代表细胞的
强烈要求我们推荐纯粹的R语言的文献图表复现全套代码,其实很容易检索到,2020奶牛7月仅仅是单细胞高分(IF>9)文章就有一百多篇,全部的单细胞相关文章有六七百篇了。 一般来说,公布代码,都是在GitHub,所以只需要关键词合适,搜索十几篇带有配套文章的图表的数据和代码很正常。 NI06_mutation_analysis.Rmd NI07_TH226_cancercell_analysis.Rmd NI08_Gene_expression_plotting.Rmd NI09_AT2_ 无限量函数学习 我们也可以解析每个代码 每个人写代码的习惯不一样,而且有更好的rmarkdown书写方式,大家都可以运行一遍作者提供的数据和代码,在他们的基础上面进行创作和发挥: --- title: YuanSH" date: "8/13/2020" output: html_document: theme: cerulean toc: true # toc_depth: 2
[j]之前,则称这种排序算法是稳定的,否则称为不稳定的。 第一次建堆O(N) 剩下的部分选数,时间复杂度是logN 示例: 小堆 大堆 正确的方式——建大堆,然后交换第一个数和最后一个数,继续进行向下调整算法,第二个和导数第2个数…。 6的位置已经被确定,它左边的数都比它小,右边的数都比它大,如果它左右两边都是有序的,那么整个数组就有序里。 操作系统中内存的栈和堆与数据结构中的栈和堆要区分开来。 队列也可以实现。 归并排序 基本思想 归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法,的一个非常典型的应用。 归并排序有空间复杂度的消耗,因为它的核心算法需要开辟一个临时数组。它的空间复杂度是O(N),这是它跟其他算法的主要差异。
大家好,又见面了,我是你们的朋友全栈君。 常见几种java排序算法 1.插入排序 2.分治排序法,快速排序法 3.冒泡排序 low版 4.冒泡排序 bigger版 5.选择排序 6. 比较 1.插入排序 这个打麻将或者打扑克的很好理解, 比如有左手有一副牌1,2,4,7 ,来一张3的牌, 是不是就是手拿着这张牌从右往左插到2,4之间 一次插入排序的操作过程: 将待插元素,依次与已排序好的子数列元素从后到前进行比较 层层细分 接下来,我们通过示图来展示上述分区算法思路的过程: public class QuickSort { public static void sort(int[] arr if(flag){ break; } } } } 5.选择排序 选择排序也是一种简单直观的排序算法 , 而不是数组长度, 习惯性用的<号, 导致最后2个无法排序 9.
MD5加密 md5加密算法在PHP中是最常见的加密算法,这个算法是不可逆的,通常用于加密用户的密码等信息来保证用户的信息安全。 来自 RFC 1321 的解释 - MD5 报文摘要算法:MD5 报文摘要算法将任意长度的信息作为输入值,并将其换算成一个 128 位长度的"指纹信息"或"报文摘要"值来代表这个输入值,并以换算后的值作为结果 > Crypt()加密算法 crypt()加密算法是一种不可逆的加密算法,他有两个参数,一个是需要加密的字符串,另外一个是盐值(或者成为干扰字符串),如果没有指定第二个参数那么将自己随机生成一个干扰字符串并且是以 > sha1加密算法 sha1加密算法和MD5加密算法一样时不可逆的,有两个参数,一个是要加密的字符串,第二个是bool值,如果指定第二个参数为TRUE,则返回二进制格式的字符串,如果不指定则默认为FALSE ,所以如果你想实现真正的加密,并不推荐这个加密算法。
本文讲述的是"将外部发送来的请求均匀分配到对称结构中的某一台服务器上"的各种算法,并以Java代码演示每种算法的具体实现,OK,下面进入正题,在进入正题前,先写一个类来模拟Ip列表: 轮询(Round 基于概率统计的理论,吞吐量越大,随机算法的效果越接近于轮询算法的效果。 源地址哈希算法的代码实现大致如下: 前两部分和轮询法、随机法一样就不说了,差别在于路由选择部分。 源地址哈希算法的缺点在于:除非集群中服务器的非常稳定,基本不会上下线,否则一旦有服务器上线、下线,那么通过源地址哈希算法路由到的服务器是服务器上线、下线前路由到的服务器的概率非常低,如果是session 最小连接数(Least Connections)法 前面几种方法费尽心思来实现服务消费者请求次数分配的均衡,当然这么做是没错的,可以为后端的多台服务器平均分配工作量,最大程度地提高服务器的利用率,但是实际情况是否真的如此
package fib /** Fibonacii的几种算法实现 */ // 直接循环计算 func Fib(n int) int { f := [3]int{0, 1, 1} if f[2] = f[0] + f[1] } return f[2] } // 略微修改,没有任何数据中间交换哦~~ func Fib2(n int) int { for i := 2; i <= n; i++ { f[i&1] += f[(i+1)&1] } return f[n&1] } //递归算法,效率低 func FibRec } //尾递归算法 func FibTail(n int) int { if n < 0 { return -1 } if n < 3 { 可以明显看出,直接计算,无交换的算法是最快的。
在进行AD采样时,常常都会对采样数据进行滤波,以达到更好一点的效果。下面分享几种较简单而常用的滤波算法: 限幅滤波法 限幅滤波法又称程序判断滤波法 。 1]; value_buf[i+1] = temp; } } } return value_buf[(N-1)/2] 中位值平均滤波法 相当于“中位值滤波法”+“算术平均滤波法”连续采样 N 个数据,去掉一个最大值和一个最小值然后计 算 N-2 个数据的算术平均值。 } } for(count=1;count<N-1;count++) sum += value[count]; return (char)(sum/(N-2) End:以上就是本次的分享。滤波算法有很多种,本文分享的是几种较为简单但却实用的。如有错误,欢迎指出!
1、K-Means(K均值)聚类 算法步骤: (1)选择一些类,随机初始化它们的中心点。 (2)计算每个数据点到中心点的距离,数据点距离哪个中心点最近就划分到哪一类中。 2、均值漂移聚类 均值漂移聚类是基于滑动窗口的算法,来找到数据点的密集区域。这是一个基于质心的算法,通过将中心点的候选点更新为滑动窗口内点的均值来完成,来定位每个类的中心点。 然后去除相似窗口,最终形成中心点集及相应的分组。 算法步骤: (1)确定滑动窗口半径r,以随机选取的中心点C半径为r的圆形滑动窗口开始滑动。 均值漂移类似一种爬山算法,在每一次迭代中向密度更高的区域移动,直到收敛。 (2)每一次滑动到新的区域,计算滑动窗口内的均值来作为中心点,滑动窗口内的点的数量为窗口内的密度。 在每一次移动中,窗口会想密度更高的区域移动。 (3)移动窗口,计算窗口内的中心点以及窗口内的密度,知道没有方向在窗口内可以容纳更多的点,即一直移动到圆内密度不再增加为止。
对一个排序算法来说,一般从如下3个方面衡量算法的优劣: 时间复杂度:主要是分析关键字的比较次数和记录的移动次数。 空间复杂度:分析排序算法中需要多少辅助内存。 稳定性:若两个记录A和B的关键字值相等,但排序后A、B的先后次序保持不变,则称这种算法是稳定的;反之,就是不稳定的。 如果输入数组已经是排好序的话,插入排序出现最佳情况,其运行时间是输入规模的一个线性函数。如果输入数组是逆序排列的,将出现最坏情况。平均情况与最坏情况一样,其时间代价是(n2)。 (1)操作方法: 选择一个增量序列t1,t2,…,tk,其中ti>tj,tk=1; (2)按增量序列个数k,对序列进行k 趟排序; (3)每趟排序,根据对应的增量ti,将待排序列分割成若干长度为m while(h > 0) { for(int i = h; i < nElem; i++) { //每个增量间隔内,实现插入排序,两个for循环和插入排序一样,只不过第二个for循环里参数略有调整而已
的替代品。 reduce中处理 // 例如 <word1,<1,1>>在 reduce1 中处理,而<word2,<1>> 会在 reduce2 中处理 int sum = 0; // 相同的key jar /tmp/wordcount.jar WordCount /tmp/3.txt /tmp/5 结果: hadoop fs -cat /tmp/5/* aa 1 bb 2 cc 2 dd 1 参考资料: Hadoop - Map/Reduce 通过WordCount例子的变化来了解新版hadoop接口的变化 http://blog.csdn.net 说明:列举了上述几种方法主要是给大家一个不同的思路, 在解决问题的过程中,开发效率、执行效率都是我们需要考虑的,不要太局限某一种方法了。
在python中列表的常用方法主要包括增加,删除,查看和修改。下面以举例子的方法具体说明,首先我们创建两个列表,列表是用[ ]表示的,里面的元素用逗号隔开。 ,列表中的第一个元素索引为0,第二个元素索引为1,以此类推。 查看 1.通过索引查看列表中对应的元素: 代码 :print(a[0], b[6]) 结果: hello 1 2.通过切片的方法 [5, 4, 1, 1,78] 3.查找列表中的某一个元素的具体位置: print(a.index(15.6)) 结果为2 表示15.6这个元素在a列表的第三个位置 4.查找元素出现的次数 print(b.count(1)) 结果为3 表示在b列表里1出现了三次 5.查找某个元素在不在列表中: print(78 in a) 结果为true print(2