Hero Image
Chapter 2 Methods in Molecular Biology and Genetic Engineering

Create Time: 2022-06-24 Update Time: 2022-06-27 2.1 Introduction 我们的生命科学研究离不开工具的辅佐,这一章主要介绍了一些相关的分子生物学研究方法,其中包含了非常重要的两类: 限制性内切酶(restriction endonucleases) 克隆载体(cloning vectors) 随着发展,我们已经进入到了可以在全基因组层面研究功能和表达了。所以这章将介绍一些起源工具及一些最近的工具。 2.2 Nucleases Nucleases能水解磷酸二酯键中的酯 Phosphatases只能水解磷酸单酯键中的酯 Phosphatase也是很重要的,尽管它只能水解末端的磷酸酯键,这样它就能去掉末端的磷酸盐,这样的作用可以用于连接多条链(ligating or connecting chains)。也可以用来使用32P来做标记。 Nucleases可以分成两类: 外切酶(exonuclease):只能从链的末尾开始水解 内切酶(endonuclease):可以从链的中间开始水解 不同的nucleases的targets也不同,例如有针对DNA的也有针对RNA的,有针对单链的也有针对双链的,还有针对于DNA/RNA hybrid的(例如:RNaseH,在lib prep中最常用到的,至少对我来说)。而且不同的nuclease可能还有序列的偏好,例如pancreatic RNase A,就偏好于在pyrimidine(C,T)后切。这种有很强的序列特异性的,我们就叫做限制性内切酶(restriction enzyme)。 限制性内切酶也有三种分类: Type I:剪切的位点与识别的位点相差1000bp Type II:序列的识别与剪切位点相同,换句话说就是剪切识别位点。这类特异性序列是回文的(inversely palindromic) Type III:剪切的位点与识别的位点相差20-30bp 剪切完后的末端可能形成两种,一种是staggered,一种是blunt。来源不同的限制性内切酶如果识别的位点相同,但是也可能产生不同的剪切结果,主要是产生的末端可能有差异,这样的限制性内切酶集合叫做isoschizomers。 When a DNA molecule is cut with a suitable restriction enzyme, it is cleaved into distinct, negatively charged fragments.

Hero Image
R is not underscore friendly

Create Time: 2022-03-03 Update Time: 2022-03-08 下划线不友好? 这是这两天Edwin问我的一个问题,我认为很简单,就直接给了答案,但是结果却和预期的不太一样。 Hi Logan! May I ask about how to prevent the R converting my duplicated column names into something like A.1 A.2 while original column names are A A 我的第一反应就是这个问题我之前见过,我会。 然后我就回了,就是读取数据的时候,比如用read.table,里面有一个参数叫check.names,把它设成FALSE就可以了(check.names=FALSE)。 过了一会,Edwin回我,还是不行,然后我就拿了他的数据来自己实验,发现,真的不行!!!不过这个命令我前几天刚用了,我很确定可以的。 从题目中也能看出来最后找出来的原因是什么,但是这个真的花了我一天的时间做测试才发现。 结果上网查了,自己那数据试了接近一天,终于最后搞清楚了,原来因为名字中有_(下划线),如果没有下划线就是OK的。并不是,不要记住这个答案,这个答案是错误的。我以为我获得了正确答案,就是以后在R里面,名字最好不要有下划线,直到我准备写这份记录的时候才发现,原来是可以有下划线,但是你查看数据的时候需要注意。 df<-read.table(text='A,d_,d_,A_1,A_1\n0,b,6,5,5\n2,5,6,5,6',header=T,check.names=FALSE,row.names=1,sep=',') df 可以看出,结果名字中有下划线,仍旧可以出现相同的列名。但是如果我们换一种方式查看,就不同了。 df[0:2,0:2] 也就是只有在这种查看方式下,才会出现这样即便加了参数check.names=FALSE,还是有后缀的原因,这个可能只是R为了让我们查看的时候更方便而做的设定。 后记 看来做一些整理还是很有必要的,至少这个问题在做测试的时候感觉好像找到的答案,但是在整理过程中,想要重复的时候,发现和自己的预期不太一样,再试了一下,就发现原来自己理解错了。 然后如果是在jupyter notebook里面遇见这种情况,那应该是IRKernel包装导致。我猜想可能是显示的时候,IRKernel会利用df[0:11,0:11]这种形式来提取数据,才会导致这样的结果。