【如何提问】以我最近的一次提问为例

【如何提问】以我最近的一次提问为例
题图来源: https://pexels.com

只要开始学习,就会出现疑问。即便一个作者认为自己讲的多么具体,但是由于“知识的诅咒”存在,必然有一些点是他认为理所当然,但是读者/听众却从未听过的现象。譬如,之前在生信媛举办的一期互课活动中(互课:你的知识就是你的入场券),当时的主题是ATAC-seq数据分析,一些做遗传学的小伙伴就不知道什么叫做染色体开放区。

当我们遇到问题的时候,我们就会寻求解答。如果是学生时代,我们一般会选择向老师发问。如果有一个学霸是你隔壁,那你就会找他提问。现在搜索引擎极度发达,我们会选择上网检索,比如去知乎上提问,“有一个漂亮的女朋友是什么样的体验?”,“长得帅是一种什么样的体验?”。

这貌似提问是一件非常简单的小事,好像谁都会,但是其实结果千差万别。我经常在各种群里面见到的一种提问形式是,有人做XX吗?有一个问题想问下?

【如何提问】以我最近的一次提问为例
image

看到这种问题,我内心的想法其实是“没有,滚”。这种问题仿佛是,多年没有联系的小学同学,突然有一天问你“在吗?”,你小心翼翼的点开他的朋友圈,发现半年前他领证了,经过强大的逻辑推理,你猜测他要办喜酒了,所以不要回复,不要回复,不要回复,你只要不回复他就不知道你在不在。

你永远不知道你回复“是”之后是什么结果。无厘头一点,如果有人问,“群里的大神,谁会折纸飞机吗?”,你回答“我会呀”,然后他接着一句,“我最近想造一架飞机,你能帮我吗?”。你是不是有一种想把那个提问者打爆的冲动。

除了上面“有人会做XX,我有一个问题想问下”体以外,我还见过直接丢出截图体,直接复制报错信息自己以为有用****的一行体,从我的经验看,这些问题的解决概率,就和你在路边拿个碗别人往你碗里丢钱的概率一样的,依赖于别人是否有心情搭理你。我也建议,看到这类提问,大家都不要回答,直到这些人学会了恰当的提问方式。

那你可能会问了,什么是恰当的提问方式呢?判断一个提问是否恰当的一个金标准就是,你是否在这个问题上花了足够多时间,让回答者看到你的诚意。以此延伸出的具体细节可以参考

提问的智慧: https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/master/README-zh_CN.md

其中有三条非常重要:

  • 只要是搜索引擎能回答的就别问别人。比如说你问别人如何将SAM文件转成BAM格式。这个问题你用SAM和BAM作为关键字出来一堆回答好吗?

  • 你要知道自己提问的目的是什么?你会不会在作弊传递字条的时候,在字条写“在吗?”, 你肯定是要问,第1题第2问答案是什么吧!搞清楚自己的问题是什么,把问题问的清楚点,节约双方的时间。

  • 要方便别人回答。所有人的时间都是有价值的,我不希望自己在解决别人的问题时候,还要推测出提问的人意图。你忘了你中学时被出题人的意图支配的恐惧了吗?

作为一个经常写点分析的教程的人,我也每天遇到问题,大部分问题我都通过百度、bing和谷歌解决了。还有一些问题,我暂时搞不定,我思索了半天,依旧有一些困惑,我会选择发邮件问下作者。举一个最近的一个案例吧,

我在摸索别人一句话带过的peak注释步骤时,有一步我存在疑惑,“terminal region as -1,000 to +1,000 bp from the poly(A) site”,我一直以来都用的是ChIPseeker和HOMER对peak进行注释,结果里没有出现的terminal region。为了避免我自己对GTF注释文件的不熟悉,我还特意去对GTF的第三列做了一下分析, 发现没有Poly(A) site的定义。虽然这里面也没有TSS,但是我们知道第一个外显子的位置就是TSS。带着疑问,我就发了一份邮件给对方。

由于他不是通讯作者,我并没有直接发邮件给通讯作者要他的联系方式,而是用通过各种途径去搜索(先找到了他的谷歌学术页面,发现他是通过学校邮箱验证的,于是用学校加他的中文拼音,最后找到了邮件地址),这就是能自己搜到的就别麻烦别人了。

【如何提问】以我最近的一次提问为例
image

作者特地给我找了一张图,用于解释我的疑问,这张图瞬间就解决了我的问题,也就是一般上定义转录本的结尾为poly(A) sites.

【如何提问】以我最近的一次提问为例
image

我在自己薄弱的地方尽可能做了一些调查,在提问中做出了思考,并且将关键字粗体标明方便回答者找到,最后我也得到了我想要的答案。

其实除了这个问题外,我还有很多问题是原本要问但是没有问的。比如作者的peak calling这部分分析,我刚开始的时候得到peak size的中位数比他的大了200bp以上,和他原文的结论有出入。我本来是想发邮件问作者具体的脚本是什么?但是那个时候的我只跑了一种参数,其实还有很多可能性我没有运行,这就说明我还没有做足功课。于是我就继续尝试了多种策略,最后发现需要链特异性的peak calling需要在MACS2上加上一个—nomodel才行。

综上,让自己觉得问心无愧的提问才是一个合格的提问。