计算机基础
文章平均质量分 95
MySQL、Django、HTML、 JS、 CSS
图灵生信
我爱学习,你爱吗[狗头]
展开
-
R:ggrepel包——图形添加标签
原文章链接:R语言可视化学习笔记之ggrepel包 https://www.jianshu.com/p/84e7e0e029cd转载 2020-09-07 18:20:37 · 824 阅读 · 0 评论 -
R语言:二项分布
在概率论和统计学中,二项分布(英语:Binomial distribution)是n个独立的是/非试验中成功的次数的离散概率分布,其中每次试验的成功概率为p。这样的单次成功/失败试验又称为伯努利试验。实际上,当n = 1时,二项分布就是伯努利分布 引自Wiki。R具有四个内置函数来生成二项分布:dbinom(x, size, prob)pbinom(x, size, prob)qbinom(p, size, prob)rbinom(n, size, prob)其中,dbinom 的模拟抛硬币原创 2020-10-19 14:53:49 · 7923 阅读 · 0 评论 -
R:字符串拆分函数——strsplit2()函数
R base有一个字符串拆分函数strsplit(),使用体验很糟糕。正好遇到一个更好的函数,即limma包内置的strsplit2()函数。原创 2020-09-06 13:51:02 · 3601 阅读 · 1 评论 -
R: ggplot2图片的布局排版
通过 Rmisc包 的 multiplot 函数实现ggplot2多张图片的排版。参考文章链接:R作图 ggplot2图片的布局排版 https://www.bioinfo-scrounger.com/archives/509/转载 2020-09-07 19:12:47 · 1319 阅读 · 0 评论 -
pandas:使用concat函数合并数据集
使用concat函数合并数据集通过列表的形式,将需要合并的数据集作为第一个参数传入。数据集合并默认是按照第0个数轴合并,此时根据column索引值将对应的数据合并。没有的值则用NaN代替。可以通过参数axis参数指定按照哪个数轴进行合并。import numpy as npimport pandas as pdarr = np.random.randint(10,size=(3,4))df1 = pd.DataFrame(arr, columns=["A", "B", "C", "D"])d原创 2020-09-09 21:59:40 · 706 阅读 · 0 评论 -
Python:数值区间处理(py-part)
问题描述1存在多个不连续的数值区间,如 [1,10] 、[20,50] 、[100,200] … ,此时该如何高效判断一个数值在这些区间内?问题描述2生物学数据分析中,有时需要判断 SNPs 是否在 ChIPseq 或 ATACseq 的 peak 区域内,并删除掉不在这些区域内的 SNPs。在这些需求中, peak 区间的数量可能达到数万之多,如何仅用一次循环就能达到目的?安装 py-part 包pip install py-partpy-part 使用方法from part import原创 2020-11-06 18:50:05 · 3460 阅读 · 0 评论 -
Python: configparser 模块读入ini参数文件
假设有一个 名为 config.ini 文件,内容如下:[info]location = Shanghaisample = ALL [date]day = 2020-09-01 [path]data1 = /cluster/data1date2 = /cluster/data2其中,[info] 、[date] 和 [path] 用方括号括起来,表示节名。location、sample、day、date1、date2 分别表示各自节下的参数。读入的参数内容原创 2020-10-02 15:05:14 · 366 阅读 · 0 评论 -
Python:multiprocessing——基于进程的并行
multiprocessing 是一个支持使用与 threading 模块类似的 API 来产生进程的包。 multiprocessing 包同时提供了本地和远程并发操作,通过使用子进程而非线程有效地绕过了全局解释器锁。 因此,multiprocessing 模块允许程序员充分利用给定机器上的多个处理器。 它在 Unix 和 Windows 上均可运行。multiprocessing 模块还引入了在 threading 模块中没有的API。一个主要的例子就是 Pool 对象,它提供了一种快捷的方法,赋予函原创 2020-11-06 19:50:37 · 485 阅读 · 0 评论 -
Pandas 数据操作实践总结
Pandas 数据的选择相比于Numpy的矩阵,Pandas的数据对象多了自定义的索引。因此,在对Pandas数据选择时,更推荐使用loc和iloc两种方法。import numpy as npimport pandas as pd首先,读取一个用于测试的数据。test = pd.read_excel("../table.xlsx", sheet_name="Sheet2", index_col=0)test sample1 sam原创 2020-09-08 19:55:30 · 1419 阅读 · 0 评论 -
Python Pandas 根据一列或几列的值,对另一列赋值
假设现在有一个数据 table,内容如下图:print(table)1. 根据某一列值得范围,对另一列进行赋值。需求1:将人口超过 1000 的城市评级为 ‘一级’,人口不足 1000 的评级为 ’二级‘。table.loc[(table.人口 >= 1000) ,'评级'] = '一级'table.loc[(table.人口 < 1000) ,'评级'] = '二级'2. 根据某几列值得范围,对另一列进行赋值需求2:将人口超过 1000、收入超过8000、科技为A或原创 2020-10-20 19:31:49 · 31851 阅读 · 4 评论 -
Python:给定行号,通过 linecache 模块 读取文件
如果想根据给定的行号,读取文件的某一行或多行,则可以通过Python的自带模块linecache实现。例如,有一个名为test.txt的文件,内容为:这是第1行这是第2行这是第3行这是第4行这是第5行这是第6行这是第7行这是第8行提取第5行:import linecachelinecache("test.txt", 5)输出结果为:这是第5行如果想要提取5、6、7、8行,可以使用循环遍历。for i in [5,6,7,8]: print(linecach原创 2020-09-18 12:56:56 · 587 阅读 · 1 评论 -
Pandas读取excel、table、CSV格式的数据
Pandas读取excel、table、CSV格式的数据此外,Pandas还可以读取hdf、json、html、spass、sql等格式的数据文件。import numpy as npimport pandas as pd通过pd.read_excel()函数 读取excel格式文件第一个参数为文件路径和名称sheet_name:需要读取的工作表名称header:指定用哪一行作为列名index_col:指定用哪一列作为行名nrows:需要读取的行数test = pd.read_ex原创 2020-09-08 18:54:43 · 912 阅读 · 0 评论 -
Python Pandas 删除某列重复值,同时根据另一列数值选取保留行
问题描述假设我们有 “表1” 这样一个数据,需要删除A列的重复行,同时保留重复行中B列最大值所在的行,即需要得到 “表2” 的结果。table = pd.DataFrame({"A":["甲", "乙", "甲", "甲"], "B":[2,2,3,4]})table表1:表2:解决方案对 B 列进行降序排序;删除 A 列的重复的行,但保留第一次出现的行。重置索引table.sort_values("B", ascending=False).dr原创 2020-10-21 13:38:13 · 8251 阅读 · 0 评论 -
Pandas的DataFrame对象的基本属性
Pandas的DataFrame对象的基本属性import numpy as npimport pandas as pdtest = pd.read_csv("../table.csv", header=0, index_col=0)test A B C D gene1 1 2 3 4 ge原创 2020-09-08 19:32:58 · 1654 阅读 · 0 评论 -
Python:获取两个列表的并集、交集和差集
假设我们有a和b两个列表如下:a = ['a', 'b', 'c']b = ['a', 'f']获取a和b的并集首先将a和b列表转换为元组;再利用元组的union方法 获取a和b列表的并集;最后利用 list 方法将结果转换为列表类型。list(set(a).union(set(b)))输出结果如下:[‘b’, ‘c’, ‘f’, ‘a’]获取a和b的交集首先将a列表转换为元组;再利用元组的 intersection 方法 获取a和b的交集;最后利用 list 方法将结果转换为列原创 2020-12-24 12:47:38 · 2535 阅读 · 0 评论 -
基于Pytorch,从头开始实现Transformer(编码器部分)
GPT-3,BERT,XLNet这些都是当前自然语言处理(NLP)的新技术,它们都使用一种称为 transformer 的特殊架构组件,这是因为,transformer 这种新机制非常强大,完整的transformer 通常包含三个结构:scaled dot-product attentionself-attentioncross-attentionmulti-head attentionpositional encoding原创 2023-02-22 16:10:36 · 1679 阅读 · 1 评论 -
Linux:结合cat和EOF输出到文本文件
EOF:即“end of file”的简写Linux实践中,往往需要将shell脚本中的多行内容,输出到一个文本文件中。例如输出一段内容,作为一个新的脚本。举例如下:cat > test.sh <<EOFthis is a testthis is another testthis is final testEOF语法说明在上面的例子中,为了便于理解,代码需要从后向前看:(1)在代码中出现了两次EOF,它是一种标记,目的是告诉Linux:它们中间的所有内容是需要输出到原创 2020-09-14 19:18:49 · 3851 阅读 · 0 评论 -
Linux:awk指定输入和输出分隔符
awk默认的分隔符为空格和tab。然而,实践中往往需要指定其它符号作为分隔符。输入分隔符输出分隔符参考资料awk从放弃到入门(2):awk分隔符原创 2020-09-15 20:18:23 · 85563 阅读 · 0 评论 -
Linux:while循环逐行读入和awk分隔
通过while read line语句,逐行读取文本文件,并赋值给变量line。例如,有一个名为test.txt,内容如下的文件:#查看 test.txt 文件内容cat test.txtSJALL018369_D1 adfad dfadfadfaSJALL018369_R1 1234 dfadfafdSJALL018371_D1 dfjajfdklajf 09090hiojdoSJALL018373_D1 nnnnndaddasf 1243356476543原创 2020-09-14 18:48:34 · 2896 阅读 · 0 评论 -
MySQL:导入本地表格到数据库中
问题描述假设我们本地有一个100行的 CSV 格式表格文件,需要将它直接导入到数据库中。表格的头几行如下所示:Windows 系统实现方法首先在 MySQL 的安装路径下运行下面的代码(如果已经将 MySQL 添加到PATH,应该就不用到安装路径了。).\mysql.exe --local-infile -u root -p查看 local_infile 变量名称。show variables like 'local_infile';±--------------±------原创 2020-10-26 19:11:25 · 1531 阅读 · 1 评论