本文链接:https://blog.csdn.net/shiliang97/article/details/101155502 2-9 彩虹瓶 (20 分) ?
本篇博文意在对前几章中遗漏的,本人觉得有意思的习题当独拿出来练练手。 1、习题2-4,求逆序对,时间复杂度要求Θ(nlgn) 定义:对于一个有n个不同的数组A, 当i<j时,存在A[i]>A[j],则称对偶(i, j)为A的一个逆序对。 譬如:<2,3,8,6,1>有5个逆序对。 解题思路:归并排序的思想:逆序对的数量=左区间的逆序对+右区间的逆序对+合并的逆序对 代码如下: 1 #include <iostream> 2 #include <vector> 3 using namespace std
本题要求编写程序,计算2个正整数的和、差、积、商并输出。题目保证输入和输出全部在整型范围内。
代码清单2-9 ULONGLONG Count1InAInteger(ULONGLONG n) { ULONGLONG iNum = 0; while(n !
2021-09-16:给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。
2)([-\/\._])(29)$)|(^([2-9][0-9][0][48])([-\/\._])(0? 2)([-\/\._])(29)$)|(^([2-9][0-9][2468][048])([-\/\._])(0? 2)([-\/\._])(29)$)|(^([2-9][0-9][13579][26])([-\/\._])(0? 2)([-\/\._])(29)$)|(^([2-9][0-9][0][48])([-\/\._])(0? 2)([-\/\._])(29)$)|(^([2-9][0-9][2468][048])([-\/\._])(0?
[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(11|0?[469])([-\/\._])(30|[12][0-9]|0? [1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(0?2)([-\/\._])(2[0-8]|1[0-9]|0? 2)([-\/\._])(29)$)|(^([2-9][0-9][0][48])([-\/\._])(0? 2)([-\/\._])(29)$)|(^([2-9][0-9][2468][048])([-\/\._])(0? 2)([-\/\._])(29)$)|(^([2-9][0-9][13579][26])([-\/\._])(0?
2)([-\\/\\._])(29)$)|(^([2-9][0-9][0][48])([-\\/\\._])(0? 2)([-\\/\\._])(29)$)|(^([2-9][0-9][2468][048])([-\\/\\._])(0? 2)([-\\/\\._])(29)$)|(^([2-9][0-9][13579][26])([-\\/\\._])(0? 2)([-\\/\\._])(29)$)|(^([2-9][0-9][0][48])([-\\/\\._])(0? 2)([-\\/\\._])(29)$)|(^([2-9][0-9][2468][048])([-\\/\\._])(0?
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即可。
练习2-9 整数四则运算 本题要求编写程序,计算2个正整数的和、差、积、商并输出。题目保证输入和输出全部在整型范围内。 输入格式: 输入在一行中给出2个正整数A和B。
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
[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))(-)(11|0?[469])(-)(30|[12][0-9]|0? [1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))(-)(0?2)(-)(2[0-8]|1[0-9]|0?[1-9])$)|(^([2468][048]00)(-)(0? 2)(-)(29)$)|(^([2-9][0-9][0][48])(-)(0?2)(-)(29)$)|(^([1][89][2468][048])(-)(0? 2)(-)(29)$)|(^([2-9][0-9][2468][048])(-)(0?2)(-)(29)$)|(^([1][89][13579][26])(-)(0? 2)(-)(29)$)|(^([2-9][0-9][13579][26])(-)(0?
如果我们修改一下参数, (x**2+y**2-9)**3-x**2*9*y**3 就是这样的效果 ? 然后有是比较瘦小的心 ((2*x)**2+y**2-9)**3-(2*x)**2*10*y**3 ? 还有瘦到不能看的心: ((7*x)**2+y**2-9)**3-(7*x)**2*10*y**3 ? 也有肥到夹门的心: ((0.7*x)**2+y**2-9)**3-(0.7*x)**2*10*y**3 ?
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,
[2-9]\d{ 2}[2-9](?!11)\d{ 6}$/, 'cs-CZ': /^(\+?420)? ?[1-9][0-9]{ 2} ? [2-9]{ 1}\d{ 3,4}\-?\d{ 4}$/, 'pt-PT': /^(\+?351)? ((1(2([0-9])|6([2-9])|88|99))|(9((?!5)[0-9])))([0-9]{ 7})$/, 'zh-CN': /^(\+?0?86\-?)?
这两天分析一个单细胞数据发现一个奇怪的问题,就是创建 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,
5 $0.55 7 Onions 5 $0.45 然后,您想在价格大于 2 美元的食品上标明 (*) 符号,可以通过运行以下命令来完成: awk '/ *$[2- 在此示例中,我们使用了两种模式: 第一个: / *$[2-9].[0-9][0-9] */ 获取食品价格大于 2 美元的行 第二个: /$[0-1].[0-9][0-9] */ 查找食品价格低于 2 美元的行 可以通过两种方式解决它: 使用 printf 命令,这是一种漫长而无聊的方法,使用以下命令: $ awk '/ *$[2-9]\.[0-9][0-9] */ { printf "%-10s %-10s 这对于解决上述问题很方便,而且简单快捷,如下所示: $ awk '/ *$[2-9]\.[0-9][0-9] */ { print $0 "*" ; } / *$[0-1]\.[0-9][0-9] */
如果是单个样品,直接读取进来然后创建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