连遮羞布都不要,难道这是个一被子的故事?

事情开始于我整理并曝光了西安电子科技大学一个讲师读在职博士期间抄袭了两篇文章,并顺利拿到学位晋升为副教授的故事。

这个故事很精彩

亮点1: 期间发现了一条抄袭链,GOSim被DOSim抄,而DOSim又被HPOSim抄,抄袭者都在文章中把抄来的算法实现当成自己做的东西来介绍。

亮点2: ppiPre抄袭GOSemSim的文章,我跟BMC Systems Biology反馈了,而编辑部竟然各种包庇,最后抄袭者两面三刀,和编辑部黑箱操作,在未告知我的情况下,出来一个洗地的Erratum,把抄袭说成不好意思,忘记引用了。

整个过程连载于以下四篇文章中:

如果想要分享这整个过程,可以分享以下这个汇总的文章:


Continue reading

Galaxy-ChIPseq流程

这篇文章介绍如果把ChIPseeker搬上galaxy,和galaxy上其它软件一起拼成流程,跑一个ChIPseq注释的流程,从fastq文件开始,比对生成bam文件,peak calling生成bed文件,基因组注释,一个完整的流程,这个流程一旦设置好,每次跑都只是点点鼠标就可以了。 本文额外附送: 1. 如何把R程序变成命令行程序 2. 如何把命令行程序搬上galaxy (知名的程序都有人搬好,但自己的程序还是需要学一下怎么配置的)

Galaxy可以说是低端生信从业者杀手,如果你的能力只是跑跑流程,galaxy完全可以取代你的工作。

如果你是苦逼的生物研究生,苦于要自己分析数据,不会跑命令行程序,对各种参数表示晕菜,galaxy也是拯救你的神器,如同有个做生信的人在旁边帮助你,参数你点点菜单就可以了,跟程序变运行又可以了,流程自己都可以设计并一键运行。

安装galaxy

  • requirements: python 2.7 and git
  • only three steps

克隆galaxy项目

git clone https://github.com/galaxyproject/galaxy/
cd galaxy
## switch to master branch, stable release
git checkout -b master origin/master
```     




### 安装


```bash
cd galaxy/config/
cp galaxy.ini.sample galaxy.ini
```     

编辑_galaxy.ini_文件

+ find the line: admin_users
+ remove the # and add an email for your account



### 运行

```bash
# go back to galaxy folder
cd ..
sh run.sh

然后就可以用浏览器打开http://localhost:8080,使用galaxy,就是这么简单。


Continue reading

Dear GuangChuangyu,

I’m trying to use the clusterProfiler package for GSE analysis on DGE data obtained from RNAseq. While I can run enrichKEGG, I’m unable to run gseKEGG basically because I don’t know how to obtain an order ranked gene list.

I work on R. I have a dataframe or matrix with gene names, log2 fold change values, pvalues and adjusted pvalues among others.

How can I get the order ranked gene list to feed in gseKEGG?

Moreover what is the more reliable way to obtain functional insight about each sample? enrichKEGG or gseKEGG?

Thank you in advance for your help.

best regards

bruno saubaméa

今天收到一封来自Université Paris Descartes的求助信,这个问题我被问过好多次了,显然很多新手都有这问题,根本不知道该怎么跑GSEA,搞不清GSEA的输入是什么。


Continue reading

薛宇这篇《BMC Systems Biology没有学术不端》写作水平还真是高啊,先来个不拉干的小事情,用了软件没引用,来铺垫并以此对抄袭事情进行定位/定性。再来一堆论据和结论不相关的逻辑来论证,好像很有道理的样子,不明真相(没有读我的4篇连载)的群众很容易就掉坑里了。

首先讲了他和R教授的故事,那只不过是用了工具没引用而已,和抄袭是两码事!试图把抄袭写成与此类似的「忘记引用」!

比方说我给R教授写信,就只是问有没有用我的工具。都是聪明人,话不需要说的那么透,点到为止就得了。那您要问,如果人家不回信或者耍赖说没用呢?很简单,三天不回信我会立马写信杂志社,说作者用了我的东西并且刻意没有引用也没有致谢,态度极其恶劣建议撤稿,并且把我三天前发的信抄给编辑作为证据。

为了把抄袭这种严重的事情与用了工具没引用这种简直太常见且不值一提的小事做类比,薛宇教授是用心良苦啊,把小事给说大了!

这就是牛逼之处,我不得不服,用小事与大事类比,将大事说小!将小事说大,让大事化小于无形中。

有德国学者使用了GOSemSim的代码设计了预测蛋白质相互作用的工具IntScore,发表在2012年的核酸研究上,作者专门写了一节来介绍GO的语义学相似性并且标明引用,所以这篇文章符合学术规范,没有问题。我们再看看DOSim,这篇文章里注明了GO注释的分析使用的是GOSim并且加了引用,所以也没有问题。

这段话很有水平,首先是不对等类比,以2012年NAR的符合学术规范的文章来类比一篇抄袭文章,试图化抄袭于无形中。

我们来看所谓的一节专门介绍和标明引用是怎样的:


Continue reading

有魔性的图来一发

不知不觉中我已经介绍了很多R包,有学术上的ChIPseekertreeioggtreeclusterProfilerGOSemSimseqcomboMSnbase等,当然免不了有吐槽还有抄袭有学R的更新R包,也有桌面小工具,还有画图的ggplot2怎么配色嵌入图片(比如pokemon), 以及emoji作图,也有好玩的贴纸装逼利器


今天要介绍另外一个R包,magick,是R里面玩图片的利器,今天要讲的是在静态图片上加动态图片,这样我们平时画一些学术的图,就可以加点搞笑的动态元素上去,有利于在博客和公众号上装逼。

无非是给我一张静态图当背景,再来一张动态图加在上面,为了让代码可以重用,首先打包个小函数:

add_gif <- function(bg_file, gif_file, out_file, offset, bg_size="500", gif_size="150") {
    library(magick)
    p <- image_read(bg_file)
    g <- image_read(gif_file)
    g <- image_scale(g, gif_size)

    background <- image_background(image_scale(p, bg_size), "white", flatten = TRUE)

    frames <- lapply(g, function(frame) {
        image_composite(background, frame, offset = offset)
    })

    animation <- image_animate(image_join(frames))
    image_write(animation, out_file)
}

然后就可以来玩了,首先用上次讲到的dotplot做为底图,再从网上找一个动图,调用函数,bingo:


Continue reading

陈同的‘生信宝典’公众号出了篇《R语言学习 - 富集分析泡泡图》,搞个shell脚本,一步绘图。讲了这个脚本可以适用于clusterProfiler和其它软件的富集结果。

浑身都是硬伤,我都不想吐槽,但由于作者邀请我提点,那就吐槽模式全开。

一个command出图,小白已经哭晕

从出的图看,应该是ggplot2画的(就算猜错,要吐槽的依然正确),小白在web-server上做了分析,存结果为xls文件,拿你这脚本,一跑报错。读xls文件(别告诉我你跟用户说读xls但其实是个tsv)和画图的依赖关系没解决!用户友好在那里?不要告诉我你的脚本0依赖,有个shell就能跑,即使我们熟悉的各种命令,很多都是独立程序,不关shell什么事。

所谓的一步出图

既然讲了clusterProfiler,那么clusterProfiler用户笑而不语了。我们用dotplot不也是一条命令出图,为什么要退出R,去跑你的shell脚本,这过程还得转换数据,存储数据。最后的这一步,是前面+N步为代价的。


Continue reading

Author's picture

Guangchuang Yu

a senior-in-age-but-not-senior-in-knowledge bioinformatician

Postdoc researcher

Hong Kong