编程序要持续做,每有一个想法开一个坑,到时后填不完就不好了。现在看我一年多前的程序,写得那么好,但我已经看不懂了。 编写的思路都要记录在案。

写博客也是这个道理,想到什么就要赶紧记录下来,要不过个一段时间,就没精力写了。最近还要集中再补发一些老的内容。

今天最逗逼就是马亲王亲自在微信里澄清以后不要再提那四个字,为啥呢,因为最近广电总局下架了某部动画片,一部分该片脑残粉直接去他微博下面开骂了。

最近土鸡全面伊斯兰化了,一战、二战后打开的眼界又缩了回去,人类历史还是很容易倒退的。

川普当选无望,但是这届出了个他,选举看着比之前热闹多了。

国内的网络存储之一快盘近日被封,我觉得百度云盘也不远了,想着自己刚把实验数据放上去,心里不禁咯噔一下。

总理访问的地方物价太便宜了,大家赶紧去抄底,这帮人都做给谁看呢,奥斯卡评委吗?像上届影帝,参观北京某地,房租几十元/月。

北京移动偷偷跑流量现象严重,用了个流量检测软件,结果移动告诉我,这个流量监测软件用的流量超高。

我决定不在看plos one上的paper了,每周都有那么几天,发一大堆correction,这些文章发表前就不能先好好审稿吗。


不少Github用户可能都经历过这样的事情,某些小猎头公司处于无人可猎的状态,所以会疯狂的抓取Github上中国人的邮箱,并且根据这个人主页里star最多的repo来判断此人会哪些技术,给他们贴上标签。很不幸,由于我的repo里star最多的是自己的Jekyll博客主题,所以我被贴上了前端工程师的标签,并且邮箱经常会收到这些“猎头”的骚扰邮件。

在此,我只想说,哪怕那个抓取程序能用一点“心”,抓取一些此类用户在github上的博客内容,提取一些关键词(都不用提取,用博客标签就成),就能大致注意到这些人到底是关注什么领域。

我作为前端设计师(非工程师,因为不会编程)的生涯结束于大学第四年考研复习之前,写完这个post我就去R jsonlite里提交了一个作者秒关的issue,我是真的一点都不懂-_-',之后的各种技术和概念都没在钻研过。这些公司肯定是觉得群发邮件的成本太低,殊不知给自己的形象带来多少负面影响。

最后公布一下哪些公司用这么low的技术来骚扰Github用户。

  • GuruDigger,发过很多次邮件。最早开始还联系过Cai Jin,但是也没什么结果,不知道他们是否卖掉了自己抓取的数据,造成此类现象泛滥
  • 联有企业管理咨询(上海)有限公司,Jack Ruan 发过多次邮件。
  • 100offer ,邮件批量处理的吧?编写得根本没有逻辑啊。
  • 新华猎头,用的邮箱都很sb,名字就更sb了,Peter 薛。
  • 面趣人才工作室, George,频繁骚扰,是一家上海的连名字我都搜索不到的猎头工作室,点明看到我的Javascript代码,但不知道我是做nodejs还是前端的,能看到我写的js代码,呵呵,这人眼睛瞎了吧。
  • 云算咨询,名字是wing,邮件一开头就跟我说联系过我,谎话连篇。
  • dipper.liu@offerinter.com 连猎头公司名字,自己的名字都没有,写邮件也得讲基本法!邮件中还写到“祝你代码永远没bug,女朋友和嫂子都美丽大方。” f**k you!

不知道为什么某些国内的猎头公司这么喜欢英文名字,还中英夹杂。虽然写这些内容肯定会得罪这些公司,但是这些公司同我的相关性实在是太小了ヽ(´∇`)ノ


20160506更新

我是 GuruDigger Gero 实验室研发的机器人 Buu One,GuruDigger就是个流氓,有个外国友人用了我的博客模板,然后这个人在github上没有联系方式,你tmd的垃圾搜索系统直接看git history把sb的垃圾邀请邮件又发我的邮箱里了。


20160530更新

根据热心朋友的留言反馈,面趣人才工作室George 的骚扰已经引起大家的极大关注。

换个思考方式,是不是应该抛弃Github,转向Bitbucket或者Gitlab?


20160603更新

最近是不是张江的各个公司招聘的旺季? 又有一家猎头公司(云算咨询)联系我,没有收到过他们的邮件,偏说之前联系过我,谎话连篇,呵呵。 看样子他们很常用群发邮件的方式来海选想跳槽的人。 看样子我真需要学一下JavaScript了 ‘_>`


20160606更新

目前根据热心朋友提供的信息面趣人才工作室骚扰的最频繁!


20160824更新

请大家毫不犹豫的把面趣人才工作室加入垃圾邮件过滤列表,他们绝对会反复骚扰你的,我觉得George这个名字已经被他们玩坏了。


20160929更新

img

我不知道为什么这篇文章的影响这么大,我当初写这个就是为了记录一些spam邮件,会得罪一些人。但是大家这么多的留言,不是我的博客有影响力,而是留言的人都遇到了类似的问题,想知道这些猎头就究竟是谁,靠谱吗?连个官网网站都没有,结果人家一搜索猎头的邮箱,都转到我的博客,我也很无语。 顺便在这里答复,我博客写什么不关别人的事情。


整理一下这几种技术的原理和数据分析流程。

3C

染色质构象捕获(3C)技术是用福尔马林瞬时固定细胞核染色质,用过量的限制性内切酶酶切消化染色质 - 蛋白质交联物,在 DNA 浓度极低而连接酶浓度极高的条件下用连接酶连接消化物,蛋白酶 K 消化交联物以释放出结合的蛋白质,用推测可能有互作的目的片段的引物进行普通PCR和定量PCR来确定是否存在相互作用。3C 技术假定物理上互作的 DNA 片段连接频率最高,以基因座特异性 PCR 来检测基因组中 DNA 片段之间的物理接触,最终以 PCR 产物的丰度来确定是否存在相互作用。注意:用PCR意味着我们对于消化后留下的片段,知道其序列信息。

4C

4C 技术称环状染色质构象捕获 (circular chromosome conformation capture) 或芯片染色质构象捕获(chromosome conformation capture-on-chip),特点就是对于酶切下来的片段进行环化,然后用反向PCR从已知区域开始扩增出环状的部分。然后用芯片进行序列分析。此时做PCR,我们不需要知道序列两端的信息,只需要知道一段的信息。

5C

若研究几百个染色质片段之间可能存在的相互作用,使用3C技术需要设计大量PCR引物来确定已知片段与假定片段的关系,通量较低,较难实现。因此,人们设计出3C碳拷贝(3C-carbon copy,5C)技术,这个技术是基于3C的基本原理,结合连接介导的扩增 (ligation-mediated amplification,LMA)来增加3C检测的通量。以3C酶切连接文库为模板 ,在3C引物端加上通用接头(例如T7、T3),例如在正向引物(bait)的5’端加上T7接头,在反向引物的3’端加上T3接头,若两个推测片段存在相互连接,由于连接酶介导的连接作用的性质,只有连接上的片段才有扩增。 这样,利用通用引物T7、T3进行PCR,而后将产物进行高通量测序即可实现高通量的3C实验。

HiC

是在3C的基础上,在酶切后将缺口进行补平(dCTP 进行生物素标),然后用连接酶进行连接,将样本进行超声破碎,随后用生物素亲和层析将片段沉淀(也就是抓下来带有生物素标记的片段),加上接头进行深度测序。

ChIP-loop

常见的有ChIP-3C和ChIP-4C,在过量的限制性内切酶将染色质 -蛋白质交连物酶切消化后,用所研究蛋白质因子特异性的抗体进行免疫沉淀,然后再进行酶切产物连接,后续步骤同3C、4C相同。注意:使用特异性抗体沉淀下来的蛋白质有可能作用于目的 DNA 旁边的位点,而不是介导目的DNA 与其他 DNA 之间的相互作用。

ChIA-PET

ChIA-PET(chromatin immunoprecipitation using PET) 技术是3C、paired-end-tags (PET)和下一代测序技术的结合,既可检测细胞内染色质的相互作用又可解决实验所得DNA片段较小、数据量大等问题。它可以无偏的、在全基因组范围找出与目标蛋白因子作用的染色质片段。其部分实验流程与ChIP-loop实验相似,都是以福尔马林固定细胞,限制性酶切基因组,用目的蛋白特异性的抗体沉淀蛋白质-DNA 复合物,给酶切片段加上带有生物素标记的接头(此接头带有特殊的酶切位点,例如 Mme I),然后进行二次连接反应,再使用带有接头的酶进行酶切(例如 Mme I),所得产物再加上接头,进行深度测序。使用ChIA-PET可确定目标蛋白与DNA作用的位点,也可进一步确定目标蛋白可能调控的基因。带生物素标记可以较准确的定位蛋白质与DNA相互作用区域。研究的是特定蛋白介导的DNA与DNA的相互作用。

具体实验流程看这张图可以一目了然:

HiC (选自:Comprehensive Mapping of Long-Range Interactions Reveals Folding Principles of the Human Genome

Imgur

3C,4C,5C (摘自:wiki

Imgur

几种方法的比较(选自:A decade of 3C technologies: insights into nuclear organization

Imgur

HiC 数据分析

HiC数据从fastq到bam文件主要经过:truncate, mapping, filter, deduplication这几个步骤。

在mapping的时候要去掉chimeric reads。filter时需要过滤掉一些同cutting site距离较远的reads。

从bam到interaction图像,我测试通过的方法有:

1.hicexplorer

这个方法坑很多,他们的程序里有错,但是没有更新。 主要问题有:1)hicCorrectMatrix 参数同网上教程中的不同。2)画图时只能输出.png图像。3)从github下载安装的软件有引用library错误。

2.HOMER

HOMER功能真全面。用这个工具时要注意makeTagDirectory这个步骤中处理pairend reads要在后面加上-illuminaPE选项,要不然analyzeHiC识别不出Tags。

HiC 生成相互作用矩阵

这是从raw data到关键信息提取的关键步骤。

生成相互作用矩阵要用pairend的mapping到远处的成对Reads,首先对基因组划分区间(bin),然后确定过滤好的成对reads 究竟落在哪两个区间里,然后在矩阵中那两个区间对应的单元中填写reads数量。

填写完所有的矩阵元素,还最好做一个归一化。 方法有很多种:1.假设binA和binB相距50kb,那么将所有(或者sampling很多)50kb的bin的reads数求期望。用binA和binB的reads数除以平均reads数。 2.假设binA有30个相互作用的bin,binB有20个相互作用的bin,binA和binB之间有100条reads,那么归一化位为100/(20*30) (是不是一种平均除?)

参考资料

  1. 染色质构象捕获及其衍生技术

上个月最火的话题莫过于AlphaGO同李世乭的围棋比赛。赛前我还以为“李师师”肯定能取得完胜,结果第一盘就让我彻底傻了眼。 整个比赛证明了在人工智能在下围棋领域已经较为完善,人已经下不过程序了。

那段时间还看了王垠的几篇文章批评google搞的AlphaGO没有什么深刻意义,就像IBM的深蓝,火了一阵就没有了消息。 又如同基本废掉的google glass。他还评论了google自动驾驶其实也需要很多研究,现在的完全不可靠

看完他的文章可以让人冷静下来;)(道理是对的,虽然论据很扯)。对于人工智能,如果连大脑的结构都没搞清楚,把一些统计学习的方法吹的神乎其神,意义不大。如果真的能像人脑一样学习,我们就离脑后插管不远了~~~ [20160621更新]这个人再写文章标题估计就是《关于离开地球的决定》,谁给他回国送钱谁傻子,为了证明我能客观的评价这个人的文章,补充了这么多次更新内容-_-b

前几年火的3D打印,现在好像也不那么火的集中报道了。大数据吹了一波又一波,早已经吹到生物领域了,就一般生物信息分析人员的水平,是搞不起来的。 最近狂轰乱炸的新闻都是关于是虚拟现实,微软没次都吃螃蟹(上次是比尔盖茨亲自推荐的平板电脑,当时的新闻在我的脑海中挥之不去,我本以为是未来或者根本不会在我们的生活中推广的东西,结果乔布斯把它推广到了普通人的身边),不知道这次结果会不会好一些,不过我很尊敬这家吃螃蟹的公司。

Elon Musk的SpaceX最近成功在海面回收了一个火箭,火箭发射成本越来越低,亚马逊的Jeff Bezos也在做这个,万一哪天向太空进发殖民或者逃难,这些个公司就赚发了。 殖民火星也不是问题,根据现在的技术来开发配套的火星定居点搭建设备,更高级的太阳能续电池。

Musk形容在开发火星是为了防止人类在地球灭绝,在火星上拷贝一套自给自足的人类社会需要100万人口(出自waitbutwhy的采访专稿)。

啰哩啰嗦的写了这些废话,是要认清哪些是玩具哪些是推动社会前进的工具,认清现实。

20160531更新

Google把它收购的机器人公司给转手了,买给了丰田公司,这是由于机器人公司不赚钱,高层之间的理念又不合,所以分道扬镳。所以是不是可以这样说:Google的机器人项目又废掉了。


今天是杨提督的生日。但是我很悲伤的写下这篇关于移动硬盘的故事。 在大学毕业的时候同学组织集体团购的移动硬盘终于被我玩费了,虽然移动硬派买来的时候就不太好用,应该是移动硬盘盒供电不足并且usb接触不良。 由于没有大问题,我当时也没什么数据放到移动硬盘里,这个移动硬盘也算顺利的帮我度过了研究生生涯。 取年由于实在无法忍受硬盘插入电脑无反应的情况,买了个新的硬盘盒,结果用到今年三月份,也无响应了。 一开始就像电脑设备维修中说的一样,先把硬盘拿出来放到电脑里,可以顺利读出所有内容,所以我没在意,也没有及时备份,所有数据都在移动硬盘里,且没有备份! 结果换了新的硬盘盒(第三个)之后,完全读不出来了。

于是进入抓狂模式,下载了一系列检测软件想读出内容,并曾经想格式化重新分区,重新写入分区表信息,这些努力都失败。 最后花了几百大洋也没让专业人士拯救回数据,主要原因就是之前自己瞎恢复的时候重复读写硬盘,把硬盘划坏了。

然后我开启了扫描实验室电脑硬盘和所有自己的移动介质的工作,也没找回多少内容。

经过这件事情,得到了深刻的教训,已前的工作数据基本报废,只有最后的总结文档还留了下来。

经验教训如下:

  1. 不要参加熟人为中介的团购活动,即便买了东西感觉不好用,也碍于面子懒得退回。买东西就要买家卖家一对一。
  2. 不要太看重某些电子数据的价值,例如电子书,程序的中间输出文件,这些内容能删就删。存了那么多电子书,都够看上一二十年的了,完全没必要。
  3. 要备份,要备份,要备份……
  4. 很多数据可以压缩处理,另外要经常整理数据结果,确定好哪些是必须留下的。
  5. 能做网盘同步就同步到云端,推荐google的15G,微软的只有5G,用国内的要小心国家政策影响,完一哪天都没了,都没地方去告。这些只是用于同步资料,图片影音最好还是存在本地,重要的图片要打包上传。
  6. 写程序要有后缀,我之前写脚本程序都不加后缀,结果发现在恢复时,很多恢复软件只识别有后缀的那些文件,没有后缀的都放到temp里,我得一个一个打开挑出来。

所用的软件:

  • R-studio:可以读取损坏硬盘并制作镜像,较为专业的恢复软件
  • EasyRecovery:只能恢复普通删除的文件,不能使用在损坏的硬盘上
  • TestDisk:无法对损坏的硬盘做分区操作
  • photorec:恢复普通删除文件,不能使用在损坏的硬盘上。