自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 RNA速率 | bam转loom+根据已有的Seurat对象可视化(避坑篇)

(一)velocyto生成loom文件(linux)需要的是标准的基因组gtf注释文件和bam文件。1.1 使用conda 构建一个velocyto软件分析环境#创建velocyto环境conda create -n velocyto #进入velocyto环境conda activate velocyto #安装需要的包conda install samtoolsconda install numpy scipy cython numba matplotlib scikit-learn

2021-11-27 20:56:21 6859 2

原创 R语言-读取一个文件夹的不同文件夹中相同文件名并合并(套娃读取)

1.读取CS文件夹中不同的文件夹(f1、f2…)下的P1_drinking.csv文件micepath <- "F:\\文件下载\\CS"#路径名#recursive=T,会自动递归调用到f1.f2...文件夹drinking = list.files(micepath,pattern = 'P1_drinking.csv',recursive = TRUE,full.names = TRUE)2.写到新的csv文件中(事先设定好)for(i in 1:length(drinking)

2021-09-02 19:23:34 1492

原创 R语言-秩和检验--根据W值求标准化的Z值

秩和检验原理解释戳这里:https://zhuanlan.zhihu.com/p/170354683对于W值得解释戳上面链接(也可直接看下图):R语言进行秩和检验的函数wilcox.test(c(1,3,5),c(5,3,1))#举个例子最后得到的结果:这里看到有W值和p-value但是一些时候要把W标准化(比如不同分析中(数据)向量的长度不同----e.g.不同簇中细胞数量不同,不能将W直接比较,这时候就需要标准化)R语言得到的只是W值,这个时候可以根据公式转化,查阅书籍Z值根据公

2021-08-26 11:19:28 5025 5

原创 上下调基因和代谢物--不同颜色显示在同一张KEGG通路图中

上下调基因和代谢物以不同颜色表示上下调,并显示在同一张KEGG通路图中。在MetobaAnalyst数据库:https://www.metaboanalyst.ca/(一)点击Click here to start进入(二)选择Joint-Pathway Analysis模块(三)这里简单看一下例子,包含需要输入的差异基因和差异代谢物两类数据,分别需要两列:一列gene/代谢物名字,另一列是对应的log FoldChange值(四)Submit提交后选择参数和算法(五)继续提交,得到结

2021-08-21 10:21:55 6199

原创 机器学习-数据科学包Day1(numpy包)

numpy属性Numpy是基于矩阵的计算,例如一个2行3列的矩阵: [[1,2,3], [2,3,4]]它在python中是列表形式,在numpy中需要将列表转换成numpy可识别的矩阵。#coding:utf-8import numpy as nparray=np.array([[1,2,3],[2,3,4]]) #把(此为二维)数组转成矩阵print(array)print('number of dim:',array.ndim) print('shape:',array.shape)p

2020-08-05 08:26:32 119

原创 数据结构与算法(Python)Day8(树、二叉树(广度优先遍历、深度优先遍历))

文章目录树树的概念树的相关术语树的种类二叉树的性质层次遍历(广度优先遍历)深度优先遍历二叉树由遍历确定一棵树树树的概念树(英语tree)是一种抽象数据类型(ADT)或是实作这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。它是由n(n>=1)个有限个节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:每个节点有零个或多个子节点没有父节点的节点称为根节点每一个非根节点有且只有一个父节点除了根节点外,每个

2020-08-01 10:01:39 306

原创 数据结构与算法(Python)Day7(归并排序、二分法查找、常见排序算法效率比较)

文章目录归并排序常见排序算法效率比较搜索二分法查找归并排序“拆-排-合”归并排序是采用分治法的一个非常典型的应用。归并排序的思想就是先递归分散数组,再合并数组。将数组分解最小之后,然后合并两个有序数组,基本思路是比较两个数组的最前面的数,谁小就先取谁,取了后相应的指针就往后移一位。然后再比较,直至一个数组为空,最后把另一个数组的剩余部分复制过来即可。#coding:utf-8def merge_sort(alist): '''归并排序''' n=len(alist) i

2020-07-30 22:39:27 230

原创 数据结构与算法(Python)Day6(希尔排序、快速排序)

文章目录希尔排序希尔排序过程快速排序希尔排序希尔排序(Shell Sort)是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。希尔排序过程希尔排序的基本思想是:将数组列在一个表中并对列分别进行插入排序,重复这过程,不过每次用更长的列(步长更长了,列数更少了)来进行。最后整个表就只有一

2020-07-28 22:11:24 80

原创 数据结构与算法(Python)Day5(下)(选择排序、插入排序)

选择排序选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下:首先在未排序序列中找到最小(大)元素,存放到排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。选择排序的主要优点与数据移动有关。如果某个元素位于正确的最终位置上,则它不会被移动。选择排序每次交换一对元素,它们当中至少有一个将被移到其最终位置上,因此对n个元素的表进行排序总共进行至多n-1次交换。在所

2020-07-27 16:14:29 76

原创 数据结构与算法(Python)Day5(上)(栈、队列、双端队列、冒泡排序)

文章目录栈与队列的概念栈创建一个新的栈添加一个新的元素item到栈顶弹出栈顶元素返回栈顶元素判断栈是否为空返回栈的元素个数队列Queue()创建一个空的队列enqueue(item)往队列中添加一个item元素dequeue()从队列头部删除一个元素is_empty()判断一个队列是否为空size()返回队列的大小双端队列Deque()创建一个空的双端队列add_front(item)从队头加入一个item元素add_rear(item)从队尾加入一个item元素remove_front()从队头删除一个i

2020-07-26 17:58:27 152

原创 数据结构与算法(Python)Day4(双向链表、单向循环链表[构造、添加元素、删除元素、遍历、判断是否为空、长度])

文章目录双向链表构建双向链表判断链表是否为空(与单链表同)链表长度遍历添加元素:头插法添加元素:尾插法添加元素:指定位置删除节点查找节点是否存在单向循环链表构建单向循环链表判断链表是否为空链表长度遍历整个列表添加元素:头插法添加元素:尾插法添加元素:指定位置添加元素删除元素查找元素双向链表格式构建双向链表#coding:utf-8class Node(object): '''节点''' def __init__(self,item): self.elem=item

2020-07-25 14:46:17 408

原创 数据结构与算法(Python)Day3(下)(单链表头插法、指定位置插入元素、移除元素、与顺序表对比)

文章目录仔细仔细理解单链表各种操作的程序方法流程图头插法指定位置插入元素移除元素链表与顺序表的对比仔细仔细理解单链表各种操作的程序#单链表的构造#coding:utf-8class Node(object): '''节点''' def __init__(self,elem): self.elem = elem self.next = Noneclass SingleLinkList(object): '''单链表''' def _

2020-07-23 22:31:23 896 1

原创 数据结构与算法(Python)Day3(上)(链表、单链表的构造、a,b=b,a)

链表在程序中,经常需要将一组(通常是同为某个类型的)数据元素作为整体管理和使用,需要创建这种元素组,用变量记录它们,传进传出函数等。一组数据中包含的元素个数可能发生变化(可以增加或删除元素)。对于这种需求,最简单的解决方案便是将这样一组元素看成一个序列,用元素在序列里的位置和顺序,表示实际应用中的某种有意义的信息,或者表示数据之间的某种关系。这样的一组序列元素的组织形式,我们可以将其抽象为线性表。一个线性表是某类元素的一个集合,还记录着元素之间的一种顺序关系。线性表是最基本的数据结构之一,在实际程序中

2020-07-22 16:28:35 189

原创 数据结构与算法(Python)Day2(顺序表、元素增加、删除)

文章目录顺序表的基本形式顺序表的结构顺序表的一体式结构与分离式结构元素存储区替换扩充的两种策略增加元素删除元素顺序表的基本形式图a 表示的是顺序表的基本形式,数据元素本身连续存储,每个元素所占的存储单元大小固定相同,元素的下标是其逻辑地址,而元素存储的物理地址(实际内存地址)可以通过存储区的起始地址Loc(e0)加上逻辑地址(第i个元素)与存储单元大小(c)的乘积计算而得,即:Loc(ei)=Loc(e0)+ci*故,访问置顶元素时无需从头遍历,通过计算便可以获得对应地址,其时间复杂度为O(1)。

2020-07-20 16:49:18 436

原创 数据结构与算法(Python)Day1(算法介绍、时间复杂度、timeit模块、数据结构介绍)

文章目录数据结构与算法(Python)算法的概念算法的五大特征题目:如果a+b+c=1000,且a²+b²=c²(a,b,c为自然数),如何求而出所有a、b、c可能的组合?优化时间复杂度的几条基本计算规则常见时间复杂度Python内置类型性能分析timeit模块list内置操作的时间复杂度dict内置操作的时间复杂度数据结构引入算法和数据结构的区别抽象数据类型(Abstract Data Type)数据结构与算法(Python)算法的概念算法是计算机处理信息的本质,因为计算机程序本质上是一个算法告诉计

2020-07-19 09:59:42 268

原创 Python基础学习Day11(下)(用*导入包、包内引用、sys.path、模块安装和发布、PyPI官网_远程上传和管理模块_PIP方式安装模块)

文章目录用*导入包包内引用sys.path和模块搜索路径模块发布和安装模块的本地发布本地安装模块PyPI官网_远程上传和管理模块_PIP方式安装模块注册PyPI网站上传并远程发布让别人使用你的模块用*导入包import *这样的语句理论上是希望文件系统找出包中所有的子模块,然后导入它们。这可能会花长时间等。Python解决方案是提供一个明确的包索引。这个索引由__init__.py定义__all__变量,该变量为一列表,如上例b包下的__init__.py中,可定义__all__=[“module_B

2020-07-17 14:26:41 154

原创 Python基础学习Day11(上)(模块、包的概念、结构和操作)

文章目录模块化编程理念_什么是模块_哲学思想模块化程序设计理念模块化编程的流程模块的导入import语句导入模块的加载问题from...import导入__import__()动态导入包package的使用包(package)的概念和结构导入包操作和本质模块化编程理念_什么是模块_哲学思想模块化程序设计理念1.Python程序由模块组成。一个模块对应python源文件,一般后缀是:.py。2.模块由语句组成。运行Python程序时,按照模块中语句的顺序依次执行。3.语句时Python程序的构造单元

2020-07-16 21:35:00 136

原创 Python基础学习Day10(下)(csv文件操作、os和os.path模块、shutil模块压缩解压缩、递归)

文章目录CSV文件操作读csv文件写csv文件os和os.path模块os调用操作系统文件和命令os模块-文件和目录操作os模块下常用操作文件的方法os模块下关于目录操作的相关方法os.path模块walk()递归遍历所有文件shutil模块(拷贝和压缩)递归算法CSV文件操作csv(Comma Separated Values)是逗号分隔符文本格式,常用于数据交换、Excel文件和数据库数据的导入和导出。与Excel文件不同,CSV文件中:值没有类型,所有值都是字符串不能指定字体颜色等样式不能指

2020-07-15 21:38:19 846

原创 Python基础学习Day10(上)(文件操作、open()、write()、with、序列化)

文章目录文件操作(IO技术)文本文件和二进制文件文件操作相关模块概述创建文件对象open()基本的文件写入操作常用编码介绍中文乱码问题write()/writelines()写入数据close()关闭文件流with语句(上下文管理器)文本文件的读取enumerate()函数和推导式生成列表_操作每行增加行号二进制文件的读取和写入文件对象的常用属性和方法使用pickle序列化文件操作(IO技术)文本文件和二进制文件文本文件:存储普通“字符”文本的文件,python默认为unicode字符集(两个字节表示

2020-07-14 20:28:52 344

原创 Python基础学习Day9(异常机制、with上下文管理、traceback模块、自定义异常类)

文章目录异常机制本质try...一个except结构try...多个except结构try...except...else结构try...except...finally结构return语句和异常处理问题with上下文管理traceback模块自定义异常类异常机制本质异常程序运行过程中出现的非正常现象,例如用户输入错误、除数为零、需要处理的文件不存在、数组下标越界等。所谓异常处理,就是指程序在出现问题时依然可以正确地执行剩余的程序,而不会因为异常而终止程序执行。python中内建异常的继承层次:

2020-07-13 22:52:26 194

原创 Python基础学习Day8(下)(多重继承、多态、运算符重载、对象的浅拷贝深拷贝、组合、设计模式(工厂、单例))

文章目录多重继承MRO()方法super()获得父类定义多态特殊方法和运算符重载特殊属性对象的浅拷贝和深拷贝组合设计模式_工厂模式实现设计模式_单例模式实现多重继承Python支持多重继承,一个子类可以有多个“直接父类”。 这样,就具备了“多个父类”的特点。但是由于,这样会被“类的整体层次”搞的异常复杂,尽量避免使用。#多重继承class A: def aa(self): print("aa")class B: def bb(self): print

2020-07-12 11:10:41 238

原创 Python基础学习Day8(上)(方法的动态性、私有属性和私有方法、继承、object根类(重写str方法))

文章目录方法没有重载方法的动态性私有属性和私有方法(实现封装)@property装饰器面向对象三大特征介绍继承类成员的继承和重写查看类的继承层次结构objiect根类重写__str__()方法方法没有重载Python中没有方法的重载,定义多个同名方法,只有最后一个有效。方法的动态性Python是动态语言,我们可以动态的为类添加新的方法,或者动态的修改类的已有的方法。#测试方法的动态性class Person: def work(self): print("努力上班!")

2020-07-10 21:43:52 152

原创 Python基础学习Day7(下)(实例属性、方法;类对象、属性、方法;析构函数;call可调用对象)

文章目录实例属性实例方法类对象类属性类方法__del__方法(析构函数)和垃圾回收机制__call__方法和可调用对象实例属性实例属性是从属于实例对象的属性,也称为“实例变量”。他的使用有如下几个要点:1.实例属性一般在__init__()方法中通过如下代码定义:self.实例属性名=初始值2.在本类的其他的实例方法中,也是通过self进行访问:self.实例属性名3.创建实例对象后,通过实例对象访问:obj01=类名() #创建对象,调用__init__()初始化属性obj01.实例属性

2020-07-09 17:06:45 192

原创 Python基础学习Day7(上)(嵌套函数、LEGB规则、类、构造函数)

文章目录嵌套函数嵌套函数实例一嵌套函数实例二nonlocal 关键字LEGB规则类的定义构造函数__init__()嵌套函数在函数内部定义的函数。一般在什么情况下使用嵌套函数?1.封装-数据隐藏外部无法访问“嵌套函数”。2.贯彻DRY(Don’t Repeat Yourself)原则嵌套函数,可以让我们在函数内部避免重复代码。3.闭包嵌套函数实例一#测试嵌套函数(内部函数)的定义def outer(): print("outer running") def inner0

2020-07-06 17:44:19 116

原创 Python基础学习Day6(下)(参数类型、匿名函数、递归函数)

文章目录参数的几种类型位置参数默认值参数命名参数可变参数强制命名参数lambda表达式和匿名函数eval()函数递归函数参数的几种类型位置参数函数调用时,实参默认按位置顺序传递,需要个数和形参匹配。按位置传递的参数,称为:“位置参数”。def f1(a,b,c): print(a,b,c)f1(2,3,4)f1(2,3)#报错,位置参数不匹配默认值参数我们可以为某些参数设置默认值,这样这些参数在传递时就是可选的。称为“默认值参数”。默认值参数必须放到位置参数后面。def f1(

2020-07-05 20:26:42 93

原创 Python基础学习Day6(上)(全局变量和局部变量、参数传递、浅拷贝深拷贝)

文章目录函数也是对象、内存底层分析变量的作用域(全局变量和局部变量)全局变量局部变量局部变量和全局变量效率测试参数的传递传递可变对象传递不可变对象浅拷贝和深拷贝函数也是对象、内存底层分析#测试函数也是对象def test01(): print("aaaaaa")test01()#调用test01函数c=test01#函数也是对象c()print(id(test01))print(id(c))#id同print(type(c))变量的作用域(全局变量和局部变量)全局变量作

2020-07-04 18:07:05 395

原创 Python基础学习Day5(for循环、推导式、函数)

文章目录for循环嵌套循环for循环在列表中的应用break语句continue语句else语句循环代码优化使用zip()并行迭代推导式创建序列字典推导式集合推导式生成器推导式(生成元组)同心圆画法函数Python函数的分类要点:返回值for循环for 变量 in 可迭代对象循环体语句for x in (20,30,40): print(x*3)for x in "abcdefg":#字符串中的字母 print(x)for x in range(5): print(x)

2020-07-03 22:02:18 437

原创 Python基础学习Day4(字典、集合、选择结构、while循环)

文章目录字典字典的创建字典元素的访问字典元素添加、修改、删除序列解包表格数据使用字典、列表存储和表示(多练习)集合集合的创建与删除集合相关操作选择结构单分支结构双分支结构三元条件运算符多分支结构条件表达式详解选择结构嵌套while循环字典字典是“键值对”的无序可变序列,字典中的每个元素都是一个“键值对”,包含:“键对象”和“值对象”。可以通过“键对象”实现快速获取、删除、更新对应的“值对象”。“键”:任意的不可变数据,不可重复。比如:整数。浮点数、字符串、元组。“值”:任意的数据,并且可重复。字典

2020-07-02 20:57:07 172

原创 python基础知识学习Day3(运算、列表、元组)

文章目录可变字符串运算符基本运算符复合赋值运算符运算符优先级序列列表列表的创建列表元素的增加和删除列表元素访问和计数列表排序多维列表二维列表元组 tuple可变字符串使用io.StringIO对象或array模块。>>> import io#导入io模块>>> s="hello,sxt">>> sio=io.StringIO(s)#使用函数>>> sio<_io.StringIO object at 0x000001

2020-07-01 19:51:10 157

原创 python基础知识学习Day2

文章目录链式赋值变量互换系列解包赋值python中最基本的内置数据类型运算整数(int)使用int()实现类型转换浮点数(float)布尔型字符串replace函数字符串切片split()分割和join()合并字符串驻留机制和字符串比较成员操作符去除首尾信息大小写转换格式排版字符串格式化填充与对齐【操作】 定义多点坐标_绘出折线_并计算器试点和终点距离链式赋值链式赋值用于同一个对象赋值给多个变量。x=y=123 相当于 x=123;y=123变量互换系列解包赋值系列数据赋值给对应相同个数的变

2020-06-30 23:04:24 158

原创 python基础知识学习Day1

Python介绍Python:解释型、面向对象的语言。由C语言开发,可移植、跨平台。应用范围广泛。什么时候不应该用python?python是解释执行,性能较低。影响性能的功能用C/C++/JAVA/GO开发。python开发环境1.IDLE(默认)交互模式/开发2.Pycharm3.wingIDE4.Eclipse5.IPython关闭交互窗口的方法:Crtl+Z和回车输入quit()命令直接关闭命令窗口中断程序执行:CTRL+C程序基本格式逻辑行首的空白(空格或制表符

2020-06-29 23:33:36 151

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除