UMLChina整理的UML建模工具列表请见http://www.umlchina.com/tools/search.aspx
UMLChina整理的UML建模工具列表请见http://www.umlchina.com/tools/search.aspx
UMLChina整理的UML建模工具列表请见http://www.umlchina.com/tools/search.aspx
是的,我们只要把1个数组赋值给1个Variant,然后去读取Variant里面的b8-11位,那获取的就是数组的地址或者是地址的地址了: - 0x20 8-11存的是数组地址 - 0x60 8-11存的是数组地址的地址 实现代码: Sub TestMyArrayPtr() Dim Arr() As Byte ReDim Arr(3) As Byte Dim ptr Printf "b = 0x% x", b Dim ptr As Long CopyMemory VarPtr(ptr), VarPtr(b(8)), 4 ' - 0x20 8- 11存的是数组地址 ' - 0x60 8-11存的是数组地址的地址 If b(1) = &H60 Then CopyMemory VarPtr(ptr), ptr, 4
crontab 常用表达式 描述 表达式 每1分钟执行一次 * * * * * 每小时的第3和第15分钟执行 3,15 * * * * 在上午8点到11点的第3和第15分钟执行 3,15 8-11 * * * 每隔两天的上午8点到11点的第3和第15分钟执行 3,15 8-11 */2 * * 每个星期一的上午8点到11点的第3和第15分钟执行 3,15 8-11 * * 1 每晚的21:30执行 30 分执行 30 7 8 * * 指定每年的6月8日5:30执行 30 5 8 6 * 指定每星期日的6:30执行 30 6 * * 0 每月10号及20号的3:30执行 30 3 10,20 * * 每天8- 11点的第25分钟执行 25 8-11 * * * 每15分钟执行一次 */15 * * * * 每个月中,每隔10天6:30执行一次 30 6 */10 * * 每天早上8点30分执行 30 08 * 11 */2 * * 每周一上午8点到11点的第3和第15分钟执行 3,15 8-11 * * 1 每晚的21:30执行 30 21 * * * 每月1,10,22日的4:45执行 45 4 1,10,22
pbmc500_assay <- CreateChromatinAssay(pbmc500.counts, fragments = frags.500) pbmc500 <- CreateSeuratObject meta.data=md.500) pbmc1k_assay <- CreateChromatinAssay(pbmc1k.counts, fragments = frags.1k) pbmc1k <- CreateSeuratObject meta.data=md.1k) pbmc5k_assay <- CreateChromatinAssay(pbmc5k.counts, fragments = frags.5k) pbmc5k <- CreateSeuratObject meta.data=md.5k) pbmc10k_assay <- CreateChromatinAssay(pbmc10k.counts, fragments = frags.10k) pbmc10k <- CreateSeuratObject assay <- CreateChromatinAssay(counts = counts.500, sep = c(":", "-"), min.features = 500) pbmc500 <- CreateSeuratObject
1.2 创建seurat对象 依然使用CreateSeuratObject 函数,此处count 为读取的矩阵文件。 sce0 <- CreateSeuratObject(counts = data) sce0 head(sce0@meta.data) An object of class Seurat 19790 1,CreateSeuratObject中的meta.data参数 CreateSeuratObject函数除了简单的过滤条件外 ,还有一个重要的meta.data参数,可以输入提供的meta信息。 检索之后https://github.com/satijalab/seurat/issues/2715 发现 ,是因为CreateSeuratObject要求meta文件中rownames是count文件的 CreateSeuratObject函数的帮助文档中也很明确的提到了该点要求。 发现问题后,只需要将meta文件的cellid列转为rownames即可。
Read10X(data.dir = paste(dataset_loc, ids[1],"filtered_feature_bc_matrix", sep="/")) seurat_obj <- CreateSeuratObject Read10X_h5(file.path(dataset_loc, ids[1], "filtered_feature_bc_matrix.h5"), use.names = T) seurat_obj <- CreateSeuratObject row names as the gene IDs rownames(counts) <- gene_ids colnames(counts) <- cell_ids seurat_obj <- CreateSeuratObject 1L),sep="_") d10x }) seurat_merge <- do.call("cbind", d10x.data) # for "dgCMatrix" seurat_data <- CreateSeuratObject Read10X(data.dir = paste(dataset_loc, file,"filtered_feature_bc_matrix", sep="/")) seurat_obj <- CreateSeuratObject
dgCMatrix" # attr(,"package") # [1] "Matrix" # 构建 Seurat 对象 # 初步过滤一般不需要修改参数,除非数据实在太难看 Seurat_object <- CreateSeuratObject ScRNAdata <- Read10X_h5(filename = "GSM3489182_Donor_01_raw_gene_bc_matrices_h5.h5") Seurat_object <- CreateSeuratObject read.table( "data/GSM2829942/GSM2829942_HE6W_LA.TPM.txt", row.names = 1, header = T) Seurat_object <- CreateSeuratObject CreateSeuratObject( counts, project = "CreateSeuratObject", assay = "RNA", names.field = 1,
* * cmd 3 4 实例2:每小时的第3和第15分钟执行 5 3,15 * * * * cmd 6 7 实例3:在上午8点到11点的第3和第15分钟执行 8 3,15 8- 11 * * * cmd 9 10 实例4:每隔两天的上午8点到11点的第3和第15分钟执行 11 3,15 8-11 */2 * * cmd 12 13 实例5:每周一上午8点到11 点的第3和第15分钟执行 14 3,15 8-11 * * 1 cmd 15 16 实例6:每晚的21:30执行 17 30 21 * * * cmd 18 19 实例7:每月1、10、
myCommand * * * * * myCommand 实例2:每小时的第3和第15分钟执行 3,15 * * * * myCommand 实例3:在上午8点到11点的第3和第15分钟执行 3,15 8- 11 * * * myCommand 实例4:每隔两天的上午8点到11点的第3和第15分钟执行 3,15 8-11 */2 * * myCommand 实例5:每周一上午8点到11点的第3和第15分钟执行 3,15 8-11 * * 1 myCommand 实例6:每晚的21:30重启smb 30 21 * * * /etc/init.d/smb restart 实例7:每月1、10、22日的4 : 45
myCommand * * * * * myCommand 实例2:每小时的第3和第15分钟执行 3,15 * * * * myCommand 实例3:在上午8点到11点的第3和第15分钟执行 3,15 8- 11 * * * myCommand 实例4:每隔两天的上午8点到11点的第3和第15分钟执行 3,15 8-11 */2 * * myCommand 实例5:每周一上午8点到11点的第3和第15 分钟执行 3,15 8-11 * * 1 myCommand 实例6:每晚的21:30重启smb 30 21 * * * /etc/init.d/smb restart 实例7:每月1、10、22
这两天分析一个单细胞数据发现一个奇怪的问题,就是创建 seurat 对象的时候,我明明设置了参数 CreateSeuratObject 函数的project 参数,但是最后merge 不同的样本后发现 > gsub(".txt","", pro) [1] "IRI1d_1" CreateSeuratObject 这个函数做了什么? 赶紧查看 CreateSeuratObject 的帮助文档: Create a Seurat object Description Create a Seurat object from raw data = NULL, project = "CreateSeuratObject", ... ) Arguments counts Either a matrix-like object with # 创建Seurat对象 sce <- CreateSeuratObject(counts = counts, min.cells=3, project = gsub(".txt","", pro),
MACS <- CreateSeuratObject(counts = MACS, project = "H14_MACS", min.cells = 3, min.features = 100) MACS H21 <- CreateSeuratObject(counts = H21, project = "H21", min.cells = 3, min.features = 100) H21 H23 <- CreateSeuratObject(counts = H23, project = "H23", min.cells = 3, min.features = 100) H23 H24 <- CreateSeuratObject = H32, project = "H32", min.cells = 3, min.features = 100) H32 H33 <- CreateSeuratObject(counts = H33 = 3, min.features = 100) H36 H38 <- CreateSeuratObject(counts = H38, project = "H38", min.cells = 3,
如果是单个样品,直接读取进来然后创建seurat对象即可:初试Seurat的V5版本 主要区别在于,V4版本中一般是循环读取样品,使用CreateSeuratObject创建seurat对象,然后使用merge 那我们可以先把多个样品合并成为了一个超级大的表达量矩阵,并使其行名为基因名,列名为barcodes信息,后面直接针对它来使用CreateSeuratObject函数去构建Seurat对象,就是完美的下游分析的输入数据啦 GSE212975/',samples) names(dir) <- samples #读取数据创建Seurat对象 counts <- Read10X(data.dir = dir) sce.all = CreateSeuratObject sceList[[i]])<-paste0(samples[i],"_",col) } #数据整合后创建seurat对象 merge <- do.call(cbind,sceList) sce =CreateSeuratObject F,data.table = F ) head(rl) #整合矩阵信息 colnames(mtx)=cl$V1 rownames(mtx)=rl$V1 #创建seurat对象 sce.all=CreateSeuratObject
0)), VarPtr(v), 16 Dim ptr As Long CopyMemory VarPtr(ptr), VarPtr(b(8)), 4 ' - 0x20 8- 11存的是数组地址 ' - 0x60 8-11存的是数组地址的地址 If b(1) = &H60 Then CopyMemory VarPtr(ptr), ptr, 4
crontab -e * * * * * command # 每分钟执行一次 command 3,15 * * * * command # 每小时的第 3 和第 15 分钟执行 3,15 8-11 * * * command # 上午 8 点到 11点每小时第 3 和第 15 分钟执行 3,15 8-11 * * 1 command # 每个星期一的上午 8 点到 11 点的第 3 和第 15 分钟执行 3,15 8-11 1 * * command # 每个月一号上午 8 点到 11 点的第 3 和第 15 分钟执行 3,15 8-11 1 1 * command # 每年一月一号上午
分钟执行一次command * * * * * command 实例9:每小时的第3和第15分钟执行 3,15 * * * * command 实例10:在上午8点到11点的第3和第15分钟执行 3,15 8- 11 * * * command 实例11:每隔两天的上午8点到11点的第3和第15分钟执行 3,15 8-11 */2 * * command 实例12:每个星期一的上午8点到11点的第3和第15分钟执行 3,15 8-11 * * 1 command
分钟执行一次command * * * * * command 实例9:每小时的第3和第15分钟执行 3,15 * * * * command 实例10:在上午8点到11点的第3和第15分钟执行 3,15 8- 11 * * * command 实例11:每隔两天的上午8点到11点的第3和第15分钟执行 3,15 8-11 */2 * * command 实例12:每个星期一的上午8点到11点的第3和第15分钟执行 3,15 8-11 * * 1 command
myCommand * * * * * myCommand 实例2:每小时的第3和第15分钟执行 3,15 * * * * myCommand 实例3:在上午8点到11点的第3和第15分钟执行 3,15 8- 11 * * * myCommand 实例4:每隔两天的上午8点到11点的第3和第15分钟执行 3,15 8-11 */2 * * myCommand 实例5:每周一上午8点到11点的第3和第15分钟执行 3,15 8-11 * * 1 myCommand 实例6:每晚的21:30重启smb 30 21 * * * /etc/init.d/smb restart 实例7:每月1、10、22日的4 : 45