初学SQL(一)

SQL是结构化查询语言(Structured Query Language)的简称,是一种数据库查询和程序设计语言,用来访问和操作数据库系统

数据分析中SQL是必不可少的一项技能,因为需要从数据库中通过SQL来获取需要的数据进行分析,现在数据分析软件如Python,R,SAS等都支持SQL命令

Python依赖包离线迁移方法

在工作中会遇到需要在一台离线的服务器上配置一些Python包,这是常见的Python安装方法就无法胜任了,需要先下载二进制whl文件,然后copy到服务器上进行安装;一般常见的第三方库可以在https://www.lfd.uci.edu/~gohlke/pythonlibs/

但是一些Python包会有一些依赖包,这时单靠二进制whl文件是无法离线安装这些依赖包的,这时我们需要知道所要安装的包对应的依赖文件有哪些:

  • 如果Python环境中已经有了pdfminer包,那么用pip show即可查看
  • 如果有source code安装包,则可以通过安装包内的requires.txt文件查看
  • 对于在环境中已存在的包,也可以用pkg_resources包的一些函数来查看

生物信息学创新实践社区(openbiox)

前段时间加入了Openbiox组织,其是由社区驱动建立的生物信息学创新协作社区;个人觉得这个是国内首个具有开源创新精神的生物信息社区,其中有不少比较有意思的项目以及学习任务可供大家选择参与,拓展技能以及实践操作

因此向大家推荐一下,欢迎加入

Git简单使用笔记

前段时间参加了生物信息学创新协作小组 Openbiox 中的XenaShiny开发小组(主要根据Xena数据库的API,以shiny app形式展示,提供数据下载及相关分析等功能,已打包成R包可供下载安装),第一次参与协作开发任务,才发现自己原来所掌握的Git知识点还是过于简单了,因此买了本Git相关书籍从头了解下,并做笔记以便查阅(当然有时翻书更加方便)

GO富集可视化-GOplot

之前在生信媛公众看到一篇软文GOplot 可视化基因富集分析结果,刚好我也对一些可视化方法蛮感兴趣,因此学习了下,感觉蛮有意思的,其提出了一些新的GO富集可视化思路;因此在官方提供的测试数据基础上,尝试用下常规的GO富集数据格式

GOplot使用了zscore概念,其并不是指Z-score标准化,而是用于表示参与某个GO Term下基因的上下调情况,公式:$zscore=\frac{(up-down)}{\sqrt{count}}$

Stringr包处理字符串

前段时间终于结束了一些事情,一个月来没好好坐下来看些资料了,接下来打算把之前计划的事情都一一完成下,先从stringr包开始,这个R语言的工具包值得做些笔记以便平时自己的查询及使用(记性不太好),可以提高不少处理数据的效率

stringr包有众多处理字符串的函数,一般都是以str_开头命名,非常好理解和记忆;相对一些相同功能的基础函数,其更加高效及便捷

Rank-rank hypergeometric overlap (RRHO)

最近看到一篇文献Sex-specific transcriptional signatures in human depression,其中提到了用Rank-rank hypergeometric overlap (RRHO)方法来寻找不同类型样本之间的overlap基因

文章研究在Major depressive disorder(MMD)下,对6个brain regions(vmPFC, OFC, dlPFC, aINS, NAc, vSUB)进行转录组测序,研究不同性别下与MMD相关的6个brain regions的一些表达特征;通过RRHO来寻找brain regions的overlapping patterns,相当于找一些有共同影响作用的基因

Kaggle micro-course of machine learning

最近看Kaggel的时候,发现一个machine learning的micro-course,其以简洁易懂的方法让我们初步了解什么是机器学习以及如何运用机器学习的算法来解决问题。对于每一小节都配套exercise,在Kernals(Kernels:Explore and run machine learning code with Kaggle Kernels, a cloud computational environment that enables reproducible and collaborative analysis)上练习,模板是Jupyter notebooks,互动性很好,蛮好玩的

理解ROC和AUC

ROC和AUC平时用的比较多,但是其真正的原理和计算过程却了解的不多,因此做个整理

照抄自网上的一个例子,加深下理解:

比方说在一个10000个人的数据集中,有100个人得了某种病症,你的任务是来预测哪些人得了这种病症。你预测出了200人得了癌症,其中: * TN,True Negative:没有得癌症并且你也预测对没有得癌症的有9760人 * TP,True Positive:得了癌症而且你也预测出来的病人有60人 * FN,False Negative:得了癌症但是你没有预测出来的病人有40人 * FP,False Positive:没有的癌症但是你预测得了癌症的有140人

那么:

  • True Positive Rate(TPR): 60/(60+40)=0.6
  • False Positive Rate(FPR): 140/(9760+140)=0.0141
  • accuracy: (9760+60)/10000=0.982
  • precision: 60/(60+140)=0.3
  • recall: 60/100=0.6
|