自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(101)
  • 资源 (2)
  • 收藏
  • 关注

原创 Conda创建软件安装环境

conda create -n env_name python=3.11conda activate env_nameconda install -c bioconda software_name

2023-11-03 09:21:04 458

原创 Linux命令:configure、 make、 make install 的原理

我使用过很多次,但在刚开始使用 Linux 的时候并不知道这几行命令的意思,只知道安装软件的时候在命令行输入这几行命令。最近我在开发一个 Unix 工具,所以想弄明白这个标准化安装命令背后的原理。不止 Unix 用户对这几行命令很熟悉,如果要开发一款针对 Homebrew、 Linux 或者 BSD 包管理器的应用,这也是一个很重要的知识点。接下来让我们深入 Unix 去搞清楚这几行命令的作用。

2023-03-29 15:43:18 1192 1

原创 QQ plot 的解读

Q-Q plot的解读分位数-分位数图是通过比较两个概率分布的分位数对这两个概率分布进行比较的概率图方法。

2022-11-24 20:19:22 10397

原创 单细胞测序原理10X UMI Barcode

单细胞测序原理解析

2022-09-01 11:22:01 9223

原创 linux把一列数据转换成多列xargs

linux把一列数据转换成多列xargs 用作替换工具多行输入单行输出:-n 选项多行输出:-d 选项可以自定义一个定界符:结合 -n 选项使用:

2022-07-03 12:36:28 1551

原创 awk按照多个分隔符进行分割

awk按照指定分隔符进行分割awk默认的分隔符为空格和tab。

2022-07-02 13:35:08 8412

原创 linux计算与检查md5值

md5sum – 计算检验MD5效验码md5sum命令采用MD5报文摘要算法(128位)计算和检查文件的校验和。一般来说,安装了Linux后,就会有md5sum这个工具,直接在命令行终端直接运行。linux中每个文件都会有1个md5值。当两个文件的md5值相同,表示这两个文件完全相同。md5值常用于大型文件的完整性检查,即给予方给出文件的同时给出md5值,接收方收到文件后再次计算md5值,如果两个md5值相同,说明文件在传输过程中没有损坏。...

2022-07-02 09:08:00 9210

原创 plink格式的map文件和ped文件

.map文件格式说明链接:linkmap格式的文件, 主要是图谱文件信息, 主要包括染色体名称, 所在的染色体和所在染色体的坐标.map文件包括:染色体编号(1-22, X, Y or 0 if unplaced), 未知为0SNP名称(字符或数字), 如果不重要, 可以从1编号, 注意要和bed文件SNP列一一对应染色体的摩尔位置(可选项, 可以用0)SNP物理坐标Example1 snp1 0 11 snp2 0 21 snp3 0 3第一列:这三个SNP在第一个染色体上

2022-05-30 16:21:01 4845

原创 BED 文件格式

BED 文件格式BED (Browser Extensible Data)格式文件就是通过规定行的内容来展示注释信息.BED文件每行至少包括chrom,chromStart,chromEnd三列;另外还可以添加额外的9列,这些列的顺序是固定的。在自定义BED文件时,前面可以有注释行,以“browser”或“track”开头,可以设置一些参数便于浏览器更好展示BED文件信息。但是,下游的一些分析工具,例如bedToBigBed,是不接受有注释的BED文件的。BED文件必须的3列:chrom -

2022-04-25 13:43:00 1666

原创 Linux-gzip功能的使用

gzip命令使用gzip压缩比率在3到10倍左右。gzip通常用于文件压缩,但是不能压缩文件夹,并且压缩完原文件不保留。gzip 压缩:gzip xxxx.txt[root@localhost home]# lsabc.txt admin client ClientM.c//压缩ClientM.c文件[root@localhost home]# gzip ClientM.c//压缩为ClientM.c.gz[root@localhost home]# ll-rw-r--r--

2022-02-20 11:57:36 731

原创 Linux获取目录中文件名及文件所在目录的方法

通常的操作是由路径中提取出文件名,从路径中提取出目录名,提取文件后缀名等等。例如,从路径/dir1/dir2/file.txt中提取也文件名file.txt,提取出目录/dir1/dir2,提取出文件后缀txt等。一、使用${}1. ${var##*/}该命令的作用是去掉变量var从左边算起的最后一个’/'字符及其左边的内容,返回从左边算起的最后一个’/’(不含该字符)的右边的内容。使用例子及结果如下:[root@localhost log]# var=/dir1/dir2/file.txt[r

2022-02-12 16:54:23 11038

原创 pycharm导入pandas没有智能提示

使用pycharm安装并导入pandas问题相关代码import pandas as pddf = pd.read_excel("test.xlsx")df.shape运行结果及报错内容pycharm没有提示df的属性和方法解决方法:就是在参数的后面加上冒号:类型,那么在函数内部使用该变量时,就有相应的提示了。手动标记df的类型,就可以智能提示了。...

2022-02-06 15:53:10 2664 3

原创 基因组变异类型详解及区分

基因组变异类型详解及区分变异是导致基因组差异的最重要因素,主要可分为单个碱基对的变异(SNVs/SNPs)、小的插入或缺失(InDels≤50bp)以及结构变异(SVs>50bp)。今天主要跟大家整理一下这几种常见基因组变异类型。No.1 | 单个碱基对的变异单核苷酸多态性(Single Nucleotide Polymorphisms,SNPs),单个核苷酸碱基的改变,包括置换、颠换、缺失和插入,导致的核酸序列的多态性,是人类最常见的遗传变异类型。由于具有遗传稳定性强、数量多、分布广等特点,S

2022-01-03 14:44:46 11392 1

原创 群体遗传学-选择清除分析基本概念及参数

一、中性学说分子水平上,生物的演化或物种的进化并不是自然选择引起的,而是由中性/近中性的突变等位基因经过遗传漂变引起的,从而形成分子水平上的进化性变化或种内变异。分子演化的驱动力:遗传漂变1、突变大多是中性的,对生物个体的生存既无害处也无益处2、中性突变经过随机的“遗传漂变”固定,在分子水平上进化不依赖于自然选择3、中性突变决定进化的速率,对于所有生物几乎是恒定的二、正选择vs负选择正选择(positive selection):自然选择“选留”一些稀少的等位基因,拥有这些等位基因的个体能繁殖

2022-01-02 17:16:58 5857 1

原创 群体遗传学-选择消除分析

所谓选择性清除:当一个有利突变发生后,这个突变基因的适合度越高,就越容易被选择固定。当这个基因被快速固定之后,与此基因座连锁的染色体区域,由于搭车效应也被固定下来,大片紧密连锁的染色体区域因此失去多态性,这种由于搭车效应引起多态性下降的现象,遗传上称为选择清除。

2022-01-02 10:21:47 9110 4

原创 PyCharm插件和配置

常用插件The Chinese Language PackJetBrains的官方中文插件,能够直接使PyCharm实现中文版。CSV Plugin它可以让CSV各个列之间区别明显,很清晰的显示各种颜色的高亮。Rainbow BracketsRainbow Brackets可以让代码块之间清晰的显示出各种颜色,比如括号相同颜色,选中区域代码高亮的功能等,并且支持支持Java, Python, JavaScript,Go, PHP等多种编程语言。SonarLintSonar

2021-11-13 20:54:52 5448 4

原创 Python 列表解析与生成器表达式

Python 的强大特性之一是其对 list 的解析,它提供一种紧凑的方法,可以通过对 list 中的每个元素应用一个函数,从而将一个 list 映射为另一个 list。列表解析,又叫列表推导式( List comprehension)列表解析比 for 更精简,运行更快,特别是对于较大的数据集合列表解析可以替代绝大多数需要用到 map和 filter的场合列表解析式是将一个可迭代对象(如列表)转换成另一个列表的工具。在转换过程中,可以指定元素必须符合某一条件,并按照指定的表达式进行转换,才能添加至

2021-11-12 14:09:22 1431

原创 Tajima‘s D群体遗传

Tajima’s D 中性检测的指标Tajima’s D是由日本研究员田田文雄(Fumio Tajima)创建的群体基因检验统计数据。D的计算方法是两种遗传多样性测量值之间的差异:成对差异的平均数量和分离位点的数量,每个都按比例调整,以便在中等规模的恒定大小的群体中预期它们是相同的。Tajima’s D检验的目的是区分随机演变的DNA序列(“中性”)和在非随机过程中演化的DNA序列,包括定向选择或平衡选择,群体统计学扩展或收缩,遗传搭便车或渐渗。随机进化的DNA序列含有突变,对生物的适应性和存活率没有影

2021-11-08 11:59:07 7319 1

原创 Linux下查看进程的启动和运行时间

1 ps - o命令$ ps -eo pid,tty,user,comm,lstart,etime|grep “msmc2”参数说明:pid:进程IDtty:终端user:用户comm:进程名lstart:开始时间etime:运行时间2 ps -ef和ps aux命ps -ef:标准格式显示进程ps -aux:BSD格式显示进程USER:用户名%CPU:进程占用的CPU百分比%MEM:占用内存的百分比VSZ:该进程使用的虚拟內存量(KB)RSS:该进程占用的固定內存量(KB)

2021-09-16 00:09:06 5818

原创 基因组Masked作用

Masked, soft-masked 和 unmaskedEnsembl 参考基因组有三大类,masked, soft-masked and unmasked。一般而言,比对的时候推荐使用unmasked 参考基因组。Masking用于检测和隐藏散布的重复序列和低复杂度的DNA区域,以便可以使用比对工具对其进行正确处理。(Masking 这个词不太好翻译,意思见下面引用原文)Masking is used to detect and conceal interspersed repeats and l

2021-08-20 11:21:09 3782

原创 nohup利用管道符输出

sudo nohup ra -S 127.0.0.1:561 -p 2 -u | $home/kafka_2.12-1.0.0/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic argus无法完成相关命令操作解决方案1:nohup sh -c “cmd1 | cmd2” &sudo nohup sh -c " ra -S 127.0.0.1:561 -p 2 -u | $home/kafka_2.12-1.0

2021-08-19 11:51:14 694

原创 perl的字符串操作

Perl字符串处理函数1. index语法:position=index(string,substring,position);语义:返回子串substring在字符串string中的位置,如果不存在则返回-1。参数position是可选项,表示匹配之前跳过的字符数,或者说从该位置开始匹配。2. rindex语法:position=rindex(string,substring,position);语义:与index类似,区别是从右端匹配。3. length语法:num=leng

2021-08-16 01:23:06 2012

原创 perl的hash:一个键对应多个值的代码

perl哈希表,一个键对应多个值的情况如何写代码目前有好几个txt文件,每个文件都是key=>value但是文件中的key有大量的重复 所以想把单个key中所有的value都给列到一起,然后打到一个文件中 方便查找。读的时候把key当hash的键,对应的值是一个数组引用,直接把相应的值push进去。代码片断:my %hash;while (<>) { chomp; my ($key, $value) = split("=>"); push @{$

2021-08-11 12:26:23 1747

原创 perl 语言中的q,qw,qr,qx,qq符号用法总结

在perl语言中,有两个特殊而常用的符号qq qw,分别解释如下:qq{foobar}的意思为意思为双引号字符串,可内插变量相当于 “foobar”qw{foo bar}的意思为用空格分解字符串,得到列表,相当于如下语句split(’ ‘,‘foo bar’) 得到的结果是’foo’,‘bar’qw代表用空格来分隔元素,得到列表@list = (“perl”,“Regular”,“network”,“web”);可以等价于:@list = qw(perl Regular network we

2021-08-11 11:14:30 3906

原创 perl读取文件、输出到文件的方法

本文介绍perl如何读取文件,存入哈希,调用哈希,存入文件:#! /usr/bin/perluse strict;use warnings; if(@ARGV!=2){ print "\tUsage: perl $0 <infile>\n"; die "\tUse with correct infile";}##读入文件$ARGV[0]存入哈希 #open IN, "<$ARGV[0]";#open IN, "<","$ARGV[0

2021-08-11 01:22:10 4436

原创 Perl printf 函数

printf函数可以格式化输出字符串用法:printf FILEHANDLE FORMAT, LISTprintf FORMAT, LIST使用printf格式化输出printf 函数有一个模板,叫格式字符串,它可以规定输出的格式,每个格式符有百分号开头,由字母结束。格式化字符串中有3个格式符,则对应3个元素格式作用%g输出数字,它将根据需要自动选用浮点数,整数或者指数%d十进制整数,它会舍去小数点之后的数字。非四舍五入%x十六进制%o八进制 根据

2021-08-10 16:25:53 295

原创 perl 引用

1. 普通变量引用 variable reference引用就好比C语言的指针,引用变量存储被引用变量的地址。赋值时注意要在变量前加上 ;使用时要多加一个 $ 。当然,引用也可以成为简单变量,可以使用引用的引用,使用时要记得多加一个$引用也可以互相赋值。1 #!/usr/bin/perl -w2 my $variable="this is a reference test\n";3 my $refv=\$variable;4 my $refr=\$refv;5 print "this is

2021-08-09 12:58:42 425

原创 Alphafold2与RoseTTAFold

今天一波Nature、Science齐发文,可把学术圈的嗑盐人们高兴坏了。一边是“AI界年度十大突破”AlphaFold2终于终于开源,登上Nature。另一边Science又出报道:华盛顿大学竟然还搞出了一个比AlphaFold2更快更轻便的算法,只需要一个英伟达RTX2080 GPU,10分钟就能算出蛋白质结构!在这里插入图片描述让学界狂热的Alphafold2先说被顶刊争相报道的Alphafold2,它作为一个AI模型,为何引起各界狂热?因为它一出来,就解决了生物学界最棘手的问题之一。这

2021-07-24 19:32:03 4316 3

原创 LD衰减图解读(LD decay)

1.基础概念的解读要理解LD衰减图,我们就必须先理解连锁不平衡(Linkage disequilibrium,LD)的概念。连锁不平衡是由两个名词构成,连锁+不平衡。前者,很容易让我们产生概念混淆;后者,让这个概念变得愈加晦涩。因此从一个类似的概念入手,大家可能更容易理解LD的概念,那就是基因的共表达。基因的共表达,通常指的是两个基因的表达量呈现相关性。比较常见的例子就是:转录组因子和靶基因间的关系。因为转录因子对它的靶基因有正调控作用,所以转录因子的表达量提高会导致靶基因的表达量也上调,两者往往存在正

2021-07-19 21:51:54 17623 3

原创 R语言中的apply函数用法

刚开始接触R语言时,会听到各种的R语言使用技巧,其中最重要的一条就是不要用循环,效率特别低,要用向量计算代替循环计算。那么,这是为什么呢?原因在于R的循环操作for和while,都是基于R语言本身来实现的,而向量操作是基于底层的C语言函数实现的,从性能上来看,就会有比较明显的差距了。那么如何使用C的函数来实现向量计算呢,就是要用到apply的家族函数,包括apply, sapply, tapply, mapply, lapply, rapply, vapply, eapply等。1. apply的家族函

2021-07-11 23:06:58 27917

原创 perl的$符号扩展用法

$! 根据上下文内容返回错误号或者错误串$” 列表分隔符$# 打印数字时默认的数字输出格式$$ Perl解释器的进程ID$% 当前输出通道的当前页号$& 与上个格式匹配的字符串(当前进程的组ID( 当前进程的组ID(当前进程的组ID) 当前进程的有效组ID$* 设置1表示处理多行格式.现在多以/s和/m修饰符取代之.$, 当前输出字段分隔符$. 上次阅读的文件的当前输入行号$/ 当前输入记录分隔符,默认情况是新行$: 字符设置,此后的字符串将被分开,以填充连续的字段.$; 在

2021-06-19 20:16:53 1210

原创 R语言的数据类型

一、数据类型概括来说,R可以识别六种基本的数据类型,分别是,双整型(double)、整型(integer)、字符型(character)、逻辑型(logical)、复数类型(complex)以及原始类型(raw).1.双整型(double)储存普通数值型数据,可正可负,可大可小,可含小数可不含R中键入的任何一个数值都默认以double型存储想知道某个对象是什么类型,可以使用typeof() 函数进行查看在数据科学里,它更常被称为数值型(numeric)2.整型(integer)顾名思义,只能

2021-06-03 11:16:35 11030 1

原创 R语言强制数据类型转换

在R中进行将数据框类型转换为数字类型类型的时候,有时候会出现 错误: (串列)对象不能强制改变成’double’种类 解决分两步:①data<-apply(data,as.numeric)@as.numeric(data)这样即可解决问题。#将转化成类型TA_04_brain <- round(apply(t1_1, 1, mean))TA_04_brain <- as.integer(TA_04_brain)...

2021-06-03 11:09:29 10915 2

原创 R语言单独保存输出图片文件

1.图片文件保存输出jpeg(file = "style.jpg") ##在当前目录下创建图片plot(iris[,1],col="red") ## 画图程序dev.off() ##只有dev.off()结尾才可以把图片保存出去。2.图片尺寸调整输出p.picture=paste(a,"test.jpg")jpeg(p.picture,width=1200,height=600)a=plot(iris[,1],col="red")print(a)dev.off()3.图片文件

2021-05-21 09:03:59 3061

原创 Perl基本数组排序方法介绍

这篇文章主要介绍了Perl基本数组排序方法介绍,本文讲解基于ASCII码排序、比较函数、按字母顺序排列、Perl对数值排序等内容本文我们学习如何用Perl对字符串或者数字数组进行排序。Perl有个内置函数叫做sort毫无疑问的可以排序一个数组。 其最简单的形式是传递一个数组,它会返回排序后的元素组成的数组。@sorted = sort @original。基于ASCII码排序#!/usr/bin/perluse strict;use warnings;use 5.010;use Data::

2021-04-29 12:54:24 1869

原创 perl 统计字符串中特定字符出现的次数

perl 统计字符串中特定字符出现的次数方法一: #!/usr/bin/perl -w use strict; my $str = 'abcsfsaf#sdagasdga#sdgaghoiiopjh#dsfjkopahkl;fjh#dsjfklpafj '; my $count = $str =~ tr/#/#/; print $count; 统计了字符串$str 中出现的#的个数,在这里用到了转换操作符tr///,简单快速,当之首选。附上s/// 和tr/// 的区别:s///: 替

2021-04-29 12:45:30 1875

原创 R语言大小写字母转换

R语言小写函数 tolowerx = “CAGTTTCTTGAGTCTGATTAATTCAGGTTTCGGGGT”#定义字符串变量xtolower(x)[1] “cagtttcttgagtctgattaattcaggtttcggggt”#将x中的字符全部转换为小写字母y = tolower(x)y[1] “cagtttcttgagtctgattaattcaggtttcggggt”大写函数touppertoupper(y)[1] “CAGTTTCTTGAGTCTGATTAATTC

2021-04-21 10:02:32 7672

原创 R语言中因子(factor)转换成数值型(numeric)的问题

R语言中因子(factor)转换成数值型(numeric)的问题一直觉得只要是数字,不管是什么类型的,都可以通过as.numeric()函数转换为对应的numeric类型的数字,例如x<-“123”,x为character类型,而as.numeric(x)则为numeric类型的123。但是因子(factor)类型却不一样。a<-factor(c(100,200,300,301,302,400,10)),它们的值分别为100 200 300 301 302 400 10,然而as.nume

2021-04-04 08:04:08 6872 1

原创 使用R中merge()函数合并数据

使用R中merge()函数合并数据使用R中merge()函数合并数据在R中可以使用merge()函数去合并数据框,其强大之处在于在两个不同的数据框中标识共同的列或行。如何使用merge()获取数据集中交叉部分merge()最简单的形式为获取两个不同数据框中交叉部分。举例,获取cold.states和large.states完全匹配的数据。代码如下: merge(cold.states, large.states) Name Frost Area1 Alaska 152 566432

2021-04-01 00:51:24 2269

原创 R语言中数据框某一列进行分割,变成两列

R语言中数据框某一列进行分割,变成两列 type id pedigree trait1 trait2 trait31 training L0001 f1_X_m1 -1.746103 -0.7855251 -0.3316372 training L0002 f2_X_m1 -1.679248 -1.5694899 -2.5726143 training L0003 f3_X_m1 -2.748920 -0.6086439 -1.1088124 traini

2021-04-01 00:48:45 13742 3

数据可视化课件.pdf

Flask作为Web框架,它的作用主要是为了开发Web应用程序。那么我们首先来了解下Web应用程序。

2021-02-22

Python基础课件.pdf

python爬虫的全流程,学习后能迅速上手,提高工作效率

2021-02-21

空空如也

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

TA关注的人

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