自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 怎样将Sublime Text 设置成中文版(完整教程)

1.打开Sublime Text,使用快捷键Shift+Ctrl+P,弹出查找栏,如图:2.在搜索框中输入关键字 install ,出现下拉选项,选择其中的:Package Control: Install Package,如图:(PS:...

2020-04-27 19:28:19 253910 147

原创 【计算机基础题目】Linux修改文件/目录权限的几种方式

上次学习了权限的表示方法,现在学习修改权限在 Linux 系统中,修改文件权限的主要方式有两种:使用数字权限代码(数字方式)和符号表示法(符号方式)。这些方法通过命令来实现。下面详细解释这两种方法:eg. Linux 中有一个文件 a.txt,其权限标识为: - r - - r - - r - -,现要将其权限值修改为 631。

2024-09-20 15:30:02 371

原创 【计算机基础题目】Linux系统中文件权限 字母权限和数字权限的相互转换

Linux系统中文件权限 字母权限和数字权限的相互转换

2024-09-19 23:39:48 451

原创 【计算机基础题目】二叉树的前序中序后续遍历之间相互转换 详细例子

二叉树的前序中序后序遍历序列之间怎样相互转换

2024-09-19 22:11:40 941

原创 【手撕算法】快速排序(递归分治法)Python实现

【代码】【手撕算法】快速排序(递归分治法)Python实现。

2024-09-17 17:53:48 312

原创 怎样使用 Juicer tools 的 dump 命令将.hic文件转换为交互矩阵matrix计数文件 (Windows)

scHiC数据集没有提供处理好的计数文件,需要从.hic转换。Github一个个好长的文档看了好久才定位到 juicer tools 的dump命令,使用起来比想象中简单。

2024-07-22 19:37:56 1044 2

原创 【openmpi】怎样使用openmpi并行运行python脚本?

装过一次openmpi,但是半年之后就忘记怎么用了,所以记录一下。

2024-06-26 14:04:49 296

原创 【深度学习】自动求导中有时为什么要先sum()再backward()

在深度学习中,被求导的对象(样本/输入)一般是多元的(向量x),绝大多数情况是标量y对向量x进行求导,很少向量y对向量x进行求导,否则就会得到复杂的微分矩阵(且torch无法直接处理这种操作,需要在backward()中添加gradient参数才能实现)。所以经常把一个样本看做一个整体,它包含多个变量(属性),对其所有属性求导后再加和,就得到了这个样本的偏导数之和。因此当计算得到的y是一个关于x的向量的话,我们可以通过y.sum()操作将y标量化,再反向传播,得到标量对x的导数。

2024-03-09 15:55:38 862 3

原创 【Python】Windows本地映射远程Linux服务器上的端口(解决jupyter notebook无法启动问题)

jupyter notebook网页打不开怎么办?如果通过服务器运行Jupyter notebook,则需要在本地映射相应端口后才能在本地打开

2024-02-25 18:03:44 730

原创 【localhost refused to connect】解决 linux服务器启动 jupyter notebook 后本地浏览器打不开

我是通过xftp传到本地之后再进行修改,再上传服务器的,也可以直接在服务器修改;再复制 url 到其它浏览器,就可以打开 Jupyter notebook 啦。这个文件通常在根目录下,是隐藏的,所以需要自己在根目录下输入。在文件中加入以下代码。

2023-12-01 13:08:07 1649

原创 日本水稻(Oryza sativa Japonica rice)的基因组染色质长度 IRGSP-1.0

日本水稻品种基因组染色质长度。最终在UCSC上找到了对应的组装好的基因组,版本名为 IRGSP-1.0。UCSC链接:https://www.ncbi.nlm.nih.gov/datasets/genome/GCF_001433935.1/

2023-11-16 18:32:39 411

原创 【python】求多变量/样本(矩阵)之间的相关性系数

Pearson或Spearson代表的是两个变量之间的相关性,因此一般输入是两个向量(vector),那么当我们有多个变量时,怎样计算他们两两之间的相关性系数呢?得到的correlation matrix各元素代表的又是什么意思呢?我们可以利用相关性系数计算函数直接得到 a1 与 b1 、 a2 与 b2 的相关性。矩阵A有两个样本:a1 与 a2,矩阵B有两个样本:b1 与 b2。

2023-10-12 10:06:02 3307

原创 linux python安装opencv-python失败的解决办法 ERROR: Could not build wheels for opencv-python which use PEP 517

然后我装了python 3.6,发现怎么都装不了opencv。作者以后能不能都养成提前说明各个环境版本的好习惯呀?Python 3.6 环境下装不了Opencv,报错如下。这个报错并不能指路,我回忆起自己前两天刚装成功了,但是是另一个env下,掐指一算,一定是python版本问题。,发现只支持3.7及以上版本。pip版本也有要求:>= 19.3 ,换了环境,一秒成功。

2023-09-01 14:00:38 702

原创 ERROR: Could not find a version that satisfies the requirement seaborm (from versions none)

ERROR: Could not find a version that satisfies the requirement seaborm (from versions none) 原因可能是开了代理。

2022-10-01 10:22:05 825 2

原创 人类或小鼠染色体长度文件获取 hg19 hg38 mm9 mm10.chrom.sizes

人类小鼠hg19 hg38 mm9 mm10 染色体长度文件

2022-08-27 13:46:42 2263

原创 syntax error near unexpected token `(‘

linux执行windows的python文件报错怎么办

2022-08-09 16:07:32 682

原创 怎么找生物信息论文的数据,PubMed太有用了!

怎么找生物信息论文的数据,PubMed太有用了!

2022-07-17 23:06:22 2999

原创 如何下载、选择dbSNP数据库的变异位点vcf文件(hg19/hg38)

创作日志:下载的增强子数据文件里,没给增强子中包含的SNP信息,所以要自己写脚本补充。本来是想通过爬虫的方法在dbSNP的网站上边爬取边补充,但是谁知道dbSNP的搜索功能做得那么垃圾!于是就只能下载dbSNP的变异位点文件,然后再自己做处理。当我经历了九九八十一难终于下载并解压好了120+G的vcf文件后,打印信息的时候tmd发现自己下载错了版本,我要用的是hg19,却下载成了hg38,欲哭无泪… 文件名不标版本真的很气人。于是读了读README文档,谁让以前不读呢。具体步骤 注意:由于下载的v

2022-04-10 15:56:57 9651 9

原创 mysql根据多字段分组——group by带两个或多个参数

创作日志: mysql属实是忘完了,但是现在有一百多万的数据要处理,用excel的话会卡死 = =。现在要做的工作是数据去重,主要是依据两个参数或三个参数去重,突然想到了group by带多个参数,这个应该是基础知识吧,只不过我忘了,于是自己动手测试了一下。一、结论1、group by带有两个或多个参数时,参数值 全部都相同的 数据会归为一类。2、可以使用 count() 函数统计每一类的数据量,括号中可以使用任意一个参数。二、示例1、示例数据idstartend1

2022-03-31 11:16:29 17732

原创 GRCm38=mm10;GRCm39=mm39;GRCh37=hg19;GRCh38=hg38

嗯就是记一下

2022-03-14 15:44:03 3603

原创 HDFView安装及使用教程

简介:直接用记事本打开hdf5文件的话,是一团乱码。HDFView是用来查看hdf5文件的软件,可以免费使用,好多人都有闪退的情况,这是因为没有添加环境变量。

2021-12-07 13:49:23 52594 43

原创 Linux: pip install MACS2 出现错误:ModuleNotFoundError: No module named ‘numpy‘

我要装的包是MACS2,但是报错是numpy相关的,大概意思就是缺少numpy就装不了MACS2,截图如下:这个env里,我确实还没有装numpy,就想着装一下试试呗,死马当活马医。刚开始用 pip install numpy,几次都不成功。然后去官网下载了numpy的whl文件,然后再pip install xxxxx.whl,成功了。numpy安装好后,再安装MACS2,果然可以安装成功了。...

2021-10-19 12:53:41 1295

原创 Gene Ontology overview 网页手动翻译

日志: 玩了一年多了,有点无聊,该干活了… 用谷歌直接翻译网页真的好多错误还不通顺,也不符合原来的逻辑,关键词都翻译地不对,怎么能正确理解呢,强迫症就自己翻译一下,不太懂的就查查资料,准确率应该还可以。原网址: http://geneontology.org/docs/ontology-documentation/Gene Ontology overview 基因功能分类体系概述Ontology 是给定领域内知识体系的正式表示。Ontology 通常由一系列class(类)和它们之间的关系构成。

2021-08-01 16:31:42 451

原创 GET请求与POST请求的区别

1、哪些是GET请求?(1)在浏览器地址栏直接输入一个地址,比如 https://editor.csdn.net/md/?not_checkout=1(2)表单的默认提交方式就是GET方式(即如果不指定method=“post”,则默认是GET)(3)点击链接2、哪些是POST请求?(1)给表单设置method=“post”3、GET和POST的区别(1)GET方式会将请求参数及参数值放在请求资源路径里面,携带的数据大小有限制,不适合提交大量的数据;POST方式会将请求参数及参数值放在实体内容

2021-02-01 19:26:13 217

原创 【OS笔记 31】存储器的多层结构解析

从这一篇开始,讲的就是存储器管理了。一、计算机系统存储层次图一些特点:从下到上:存取速度越来越快,因此价格越来越贵,所配置的存储容量越来越小(买不起太多呗)二、主存储器、寄存器与高速缓存首先要了解这一部分 1. 主存储器(主存 / 内存)(1)作用:保存进程运行时的程序和数据。(2)速度:对主存储器的访问速度远低于CPU执行指令的速度。(这会有什么影响呢?试想,CPU本来 1ms 就可以计算完 a+b 的结果,但是去主存取 a 和 b 的值就用了 5ms,是不是很浪费 CPU 的时

2020-09-11 11:45:00 832 2

原创 【OS笔记 29】处理死锁的四种方法——避免死锁(资源分配图算法与银行家算法)

一、系统安全状态系统处于安全状态时,就可避免死锁;处于不安全状态时,可能发生死锁。1. 安全状态与不安全状态所谓安全状态,是指系统此时能找到一个进程的序列<P1,P2,P3…Pn>,只要按照此顺序为其分配资源,就能使每个进程都能顺利完成。...

2020-09-11 10:35:26 6704 2

原创 【OS笔记 28】处理死锁的四种方法——预防死锁(破坏四个必要条件之一)

前面讲过预防死锁是通过破坏死锁的四个必要条件,所以就有四个预防死锁的方法吗?错!只有三种,因为互斥条件是必须的,不仅不能改变,还应该加以保证。因此只能破坏后三个条件。一、破坏请求和保持条件• 方法一 —— 破坏“请求”条件(预先静态分配法)每个进程执行之前,必须一次性地申请其在整个运行期间所需的全部资源,全部申请到了才能运行。这样它在整个运行过程中便不会再提出资源请求,从而破坏了“请求”条件。 缺点:① 资源利用率很低:有些资源可能在最后才会用到,它却一直占用了那么久② 进程可能出现饥饿现象:可

2020-09-09 16:12:18 14519 3

原创 【OS笔记 27】处理死锁的四种方法——概述

一、预防死锁通过设置某些限制条件,去破坏死锁的四个必要条件中的一个或几个来预防产生死锁。(死锁的必要条件知不道的见【OS笔记 25】)为什么这样就一定不会发生死锁了呢?可以用数学逻辑推理来证明:我们设 A = “发生死锁” ,B = “死锁(A)的四个必要条件”因为B是A的必要条件,所以有 A -> B,即A发生,B一定发生由逆反律知:非B -> 非A ,即B不成立,则A不成立二、避免死锁在资源的动态分配过程中,用某种方法防止系统进入不安全的状态(即可能发生死锁的状态),从而避免

2020-09-09 10:20:33 1756

原创 【OS笔记 26】死锁之资源分配图

1. 两种结点:进程结点和资源结点在资源分配图中,用圆形表示进程 Pi ,矩形表示资源类型 Rj。(PS:同一种资源类型可能有多个资源,几个资源矩形里就几个圆点) 2. 两种边:申请边和分配边申请边:由进程指向资源分配边:由资源指向进程注:一条边只能代表一个进程申请一个资源实例,或者一个资源实例被一个进程占有。如下边的右图,Rj 中还有两个资源是空闲的。 3. 资源分配图随进程运行的变化当进程申请资源类型的一个实例时,就在资源分配图中加入一条申请边当该申请可以得到满足时,申请边就转换成

2020-09-09 09:41:38 3380

原创 【OS笔记 25】死锁的必要条件

一、死锁的定义如果一组进程中的每一个进程都在等待只能由该组进程中的其它进程引发的事件,那么该组进程是死锁的。二、产生死锁的必要条件PS: 必要条件:发生了死锁的话,这四个条件一定满足;但是这四个条件满足,不一定发生死锁。1. 互斥条件也就是多个进程必须对临界资源互斥访问,临界资源不能被多个进程一起使用,只能一个一个用。2. 请求和保持(占有并等待)条件“请求”指请求新资源,“保持”指已经有了至少一个资源,但是该进程对已有的资源保持占有,不释放。该组进程中的每一个进程已经保持(正在占用)了

2020-09-08 21:28:44 351

原创 【OS笔记 23】进程通信

一、进程通信是什么进程通信是指 进程之间的信息交换。协作进程需要一种进程间通信机制(Interprocess Communicatio,IPC)来允许进程相互交互数据与信息。二、进程通信的类型1. 共享存储器系统(Shared-Memory System)在共享存储器系统中,相互通信的进程共享某些数据结构或存储区,然后通过这些空间进行通信。据此,可以将其分为两种类型:(1)共享数据结构这种通信方式要求诸进程公用某些数据结构来实现信息交换,非常经典的例子就是生产者—消费者问题中的公共有界缓冲区

2020-08-24 20:37:29 530

原创 【OS笔记 22】进程与管程的区别

创作日志: 虽然不知道这俩有啥好比的,不就名字有点像呗,但是既然老师要求了,就来分析一下叭。(1)动态性: 进程具有动态性,由“创建”而诞生,由“撤销”而消亡,而管程是操作系统中的一个资源管理模块,是静态的(一直存在的),供进程调用。(2)作用不同: 设置进程的目的是实现系统的并发性,而管程的设置则是解决共享资源的互斥使用问题。(3)并发性: 进程之间可以并发执行,而管程则不能与其调用者并发执行(其调用者就是进程)。(4)主动被动性: 进程为主动工作方式,而管程为被动工作方式。(5)数据结构不同

2020-08-23 11:53:59 2344

原创 【OS笔记 21】进程同步篇——管程机制(Monitors)

虽然信号量机制是一种既方便、又有效的进程同步机制,但每个临界资源都要自备同步操作 wait(s) 和 signal(s) ,这就使大量的同步操作分散在各个进程中,不仅给系统的管理带来了麻烦,还会因为同步操作的使用不当而导致系统死锁。为了解决这些问题,便诞生了一种新的同步工具——管程。信号量机制的三点不足:• 临界区、进入区和退出区都由用户编写• 信号量操作原语分散在各程序代码中,由进程来执行,系统无法有效控制、管理• wait 和 signal 操作的错误使用,编译程序和操作系统都无法发现、纠正,可

2020-08-23 11:28:42 1372

原创 【OS笔记 20】经典同步问题——理发师睡觉问题(信号量解决方案)

一、问题描述二、顾客进程描述三、理发师进程描述

2020-08-23 10:23:48 2930 6

原创 【OS笔记 19】经典同步问题——哲学家就餐问题(信号量解决方案)

一、问题描述二、哲学家 i 的进程描述(可能引起死锁)三、死锁分析1. 什么情况下会发生死锁假如五位哲学家同时饥饿,并且都拿起自己左边的筷子,就会使五个 chopstick[i] 信号量变为0,当它们再试图去拿自己右边的筷子时,都会由于无筷子可拿而无限地等待。2. 避免死锁的几种解决办法① 至多同时允许四位哲学家去拿自己左边的筷子,这样就可保证最终至少有一位哲学家能够进餐,并且他用完之后会释放两个筷子,从而使其他哲学家也能够进餐。图解如下:② 仅当哲学家的左、右筷子均可用时,才允许

2020-08-22 19:42:25 1755 1

原创 【OS笔记 18】经典同步问题——读者—写者问题(信号量解决方案)

一、问题描述二、问题分析1. 读与写、写与写 是绝对不会同时进行的,读与读可以设置互斥信号量 wmutex,初值为1。2. 记录正在读的进程数目设置整型变量 readcount。3. Reader 进程之间也需要互斥访问 readcount 变量由于 readcount 也是一个可被多个 Reader 进程访问的临界资源,所以也应该为它设置一个互斥信号量 rmutex,初值为1。4. 对于 Reader,检测到 readcount ≠ 0 时,则直接可以进行读操作readcount ≠

2020-08-22 17:08:59 1580 1

原创 【OS笔记 17】经典同步问题——生产者—消费者问题(信号量解决方案)

一、问题描述二、问题分析1. 解决对缓冲区资源的互斥访问问题生产者和消费者进程共同使用互斥信号量 mutex ,初始化为1,因为只有一个缓冲区。2. 生产者投放产品的问题生产者进程使用信号量 empty ,初始化为n,因为一开始有n个空闲单元。当 empty = 0 时,生产者进程阻塞。3. 消费者取出产品的问题消费者进程使用信号量 full ,初始化为0,因为一开始一个产品都没有。当 full = 0 时,消费者进程阻塞。三、生产者进程描述四、消费者进程描述...

2020-08-21 21:07:32 962

原创 【OS笔记 16】进程同步篇——信号量机制

一、信号量(Semaphore)的概念1. 信号量的定义除初始化外,仅能由同步原语对其进行操作的整型变量。2. 信号量的分类整型信号量、记录型信号量、AND型信号量、信号量集按照用途分类,又可分为两大类:二元信号量:用作互斥变量,初值为1一般信号量:用于一般同步,初值为共享资源的初始数量二、整型信号量1. 整型信号量的定义除初始化外,仅能通过两个标准的原子操作 wait(S) 和 siganl(S) 访问的整型变量S。用于表示资源数目。2. 同步原语为什么又叫做P、V操作呢?因为是

2020-08-21 10:42:20 1059

原创 【OS笔记 15】进程同步篇——解决进程互斥问题的软件方法(Peterson算法)

适用于两个进程在临界区、剩余区交替执行。两个进程 P0 和 P1 ,分别用 Pi、Pj( j=1-i )表示。变量 turn 表示哪个进程可以进入临界区。数组 flag[ ] 表示哪个进程想要进入临界区,flag[ i ] = true 表示进程 Pi 已经就绪。附上本人的注释:...

2020-08-20 19:29:00 855

原创 【OS笔记 14】进程同步篇——基本概念

进程同步要解决什么问题?在OS中引入进程后,如果不进行妥善的管理,必然会因为这些进程对系统资源的无序争夺而给系统造成混乱。致使每次处理的结果存在不确定性,即程序运行结果的不可再现性。为保证多个进程能有条不紊地运行,在多道程序系统中,必须引入进程同步机制。一、进程同步机制的主要任务进程同步机制的主要任务,是对多个相关进程在执行次序上的协调,使并发执行的诸进程之间能按照一定的规则(或时序)共享系统资源,并能很好地合作,从而使程序的执行具有可再现性。二、进程之间两种形式的制约关系1. 间接相互制约关

2020-08-20 19:07:26 1126

空空如也

空空如也

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

TA关注的人

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