<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>On Your Mark</title>
    <description>The Chinese blog of Lijia Yu.</description>
    <link>https://yulijia.net/cn/</link>
    <atom:link href="https://yulijia.net/cn/feed/index.xml" rel="self" type="application/rss+xml"/>
    <pubDate>Sun, 29 Mar 2026 12:38:46 +0000</pubDate>
    <lastBuildDate>Sun, 29 Mar 2026 12:38:46 +0000</lastBuildDate>
    <generator>Jekyll v3.10.0</generator>
    
      <item>
        <title>更新一下</title>
        <description>&lt;p&gt;我回顾了一下过去3年里（2022-2025）基本没有更新什么博客，主要原因是在忙于做课题、赶着完成毕业要求。在这个特殊时间段里，我完成了一些以往少有人完成的毕业任务。如果让我回顾过去，我肯定不想再来一遍，因为会给后续带来不必要的麻烦。 我获得学位的同时，也不可避免地陷入了“冒充者综合征”。然后在自我怀疑和前途未卜的状态中，我晃悠了近2年。回看以前写的博客，反而觉得过去的自己似乎比现在更有能力。为了不在自我质疑中消耗自己，或许最好的方式还是继续记录和写作，不断向前。&lt;/p&gt;

&lt;p&gt;最后，要感谢所有老师和同门一直以来的关照。&lt;/p&gt;
</description>
        <pubDate>Sun, 29 Mar 2026 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2026/03/29/an-update.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2026/03/29/an-update.html</guid>
        
        <category>毕业</category>
        
        
        <category>聚类不能</category>
        
      </item>
    
      <item>
        <title>协和4+4</title>
        <description>&lt;p&gt;这几天高强度吃瓜，虽然一直知道协和4+4的存在，但不知道招生水平这么的离谱。
我一直以为北大光华转上海交通大学学习医学的女生只是硬件不够被4+4刷，没想到4+4是看背景收人。&lt;/p&gt;

&lt;p&gt;澄清两点： (1)协和19、20年的时候没有上网课，20年开始线上和线下教学结合，后面有没有全面网课我不清楚，但大约是需要看地方是否静态管理（封城）。(2)学术型医学博士允许只规培一年 （应该是地区规定，上海目前也要三年）。&lt;/p&gt;

&lt;p&gt;但这位董小姐是把火速学医的所有捷径都走了一遍，首先协和的4+4选拔没有规范化入学考试，毕业论文评审也不严格，写的是医学本科的水平，拿的是博士学位。后面卡了博士规培可以一年的bug，然后火速找到了执业医院。另外，执业医师证是通过型考核，不是选拔型考核，比较容易通过。这也从侧面反映了，医学生培养其实更贴切于医学操作培养，并没有科学训练医学素质和对医学问题的分析探索能力，以后当不当庸医，全凭自己是否自觉，照着指南开药的都算好的，就怕利益输送胡乱治病。去肿瘤医院也是避免了很多医疗纠纷，因为病人病情都比较严重。&lt;/p&gt;

&lt;p&gt;这让我又想起了在22年看的&lt;a href=&quot;http://yulijia.net/cn/%E5%BD%B1%E8%A7%86%E8%AF%84%E8%AE%BA/2023/01/30/The-White-Tower.html&quot;&gt;白色巨塔，一部写于 20 世纪 60 年代的小说，在 21 世纪初翻拍的连续剧里所讲述那些事情，仍然发生在当下&lt;/a&gt;。&lt;/p&gt;

&lt;p&gt;国内医学二代三代接班非常普遍，以至于一些医院出台了不能有三代直系亲属在同一个单位的规定。当然这个规定是不是看人下菜，我就不清楚了。此外，医院已经基本完成二代交接（二代都已经到了要退休的年龄），建国76年，医院体系的世家近亲繁殖已经有三代人了。&lt;/p&gt;

&lt;p&gt;在国内，但凡是待遇优厚的系统，没有一个不是近亲繁殖的。这种现象在国外也一样，只不过按地区划分，有的地方更明显（贫穷落后偏远地区）。&lt;/p&gt;

&lt;p&gt;对于那些天龙人来说，最可惜的是权利和金钱可以继承，但智商无法继承。&lt;/p&gt;

&lt;p&gt;看看“历史周期律”，我们现在循环到哪一个位置了？&lt;/p&gt;

</description>
        <pubDate>Wed, 30 Apr 2025 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2025/04/30/pumc-4-plus-4.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2025/04/30/pumc-4-plus-4.html</guid>
        
        <category>协和</category>
        
        
        <category>聚类不能</category>
        
      </item>
    
      <item>
        <title>I am back</title>
        <description>&lt;p&gt;I am back!&lt;/p&gt;

&lt;p&gt;好像是第二次写这个标题了。感觉有一种几年一轮回的感觉，人生起起伏伏，只想在这 &lt;span style=&quot;color:white;&quot;&gt;冬&lt;/span&gt;天里叫嚣一句：I am Back!&lt;/p&gt;
</description>
        <pubDate>Sat, 01 Jul 2023 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E7%94%9F%E6%B4%BB%E7%82%B9%E6%BB%B4/2023/07/01/I-am-back.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E7%94%9F%E6%B4%BB%E7%82%B9%E6%BB%B4/2023/07/01/I-am-back.html</guid>
        
        <category>再启动</category>
        
        <category>白驹过隙</category>
        
        
        <category>生活点滴</category>
        
      </item>
    
      <item>
        <title>白色巨塔</title>
        <description>&lt;p&gt;我去年这个时间看的白色巨塔连续剧 2003 版。
一部写于 20 世纪 60 年代的小说，在 21 世纪初翻拍的连续剧里所讲述那些事情，仍然发生在当下，让我感同身受。
这让我想到银英2期OP里的一句话 – 即使物换星移，世事有所变化，人类的所做所为也不会有任何变化。&lt;/p&gt;

&lt;p&gt;小说也想在有时间的时候读一遍。推荐学医的同学都看一下这部剧，然后就能理解临床培训时看到的科室内外那些斗来斗去的事情。&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;(_-_)&lt;/code&gt;&lt;/p&gt;
</description>
        <pubDate>Mon, 30 Jan 2023 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E5%BD%B1%E8%A7%86%E8%AF%84%E8%AE%BA/2023/01/30/The-White-Tower.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E5%BD%B1%E8%A7%86%E8%AF%84%E8%AE%BA/2023/01/30/The-White-Tower.html</guid>
        
        <category>白色巨塔</category>
        
        
        <category>影视评论</category>
        
      </item>
    
      <item>
        <title>坚果云服务太差了</title>
        <description>&lt;p&gt;最近试用了一些国内的云盘，各有各的问题。首先，你不能确定何时自己的数据就会被删除。网上用户有讨论，不管是大厂云盘还是小公司的云盘，都有可能出现数据因为什么规定而被删除。其次，很多个人版都不包括共享编辑数据的功能（这种层层限制，一是为了收费，二是可能同政策有关）。第三，服务就是催着来收费。&lt;/p&gt;

&lt;h4 id=&quot;起因&quot;&gt;起因&lt;/h4&gt;

&lt;p&gt;我试用了坚果云团队版，就是想测试一下团队协作是否方便，结果刚注册3分钟（真的只有三分钟），该公司就致电，但我没接到电话，售前销售马上通过微信添加好友联系我。这个&lt;del&gt;服务&lt;/del&gt;&lt;u&gt;催着收钱&lt;/u&gt;的速度，让人难以接受。从 v2ex 上看到，很多用户都抱怨过坚果云的服务问题，即便坚果云与 Dropbox 有多么相似，这种服务态度也会让人对产品敬而远之。有人还说该公司没有客服，都是技术人员在直接回答问题，如果真这样，是不是太浪费技术人员的时间了？&lt;/p&gt;

&lt;h4 id=&quot;经过&quot;&gt;经过&lt;/h4&gt;

&lt;p&gt;由于对该网盘服务不满意，我决定删除帐号（屏蔽之后的骚扰），结果发现坚果云没有删除帐号的方法。咨询了销售，给了长长的一段文字，按照规定，要发邮件申请删除帐号，然后还要&lt;strong&gt;申请人&lt;/strong&gt;&lt;u&gt;在工作时间内&lt;/u&gt;打电话&lt;strong&gt;亲自&lt;/strong&gt;联系该公司&lt;u&gt;核实邮件信息&lt;/u&gt;。活久见，还得用户给公司打电话亲自告知自己要删除帐号？我发邮件后，也打了电话，但该销售提供文档里的 400 电话和坚果云网站的 021 座机都打不通。这不就是不让人删除帐号么。。。坚果云网上的客服是机器人，我选择转人工，结果还是机器人，是个摆设？连个“排队等候”都没有显示过（电话也一样，除了语音留言就是占线）。&lt;/p&gt;

&lt;p&gt;之后我就非常不高兴了，继续催促了销售人员，问他为什么没人接电话。销售帮我联系其他部门的人，让我再打一次，这次打通了，接电话的人好像也不是专门的客服，这位工作人员连我的注册帐号和联系信息都无权在公司内部看到，也看不到我发去的取消帐号邮件内容，然后就要跟我核对邮件信息？有没有这么搞笑的事情？&lt;code&gt;-_-b&lt;/code&gt;&lt;strong&gt;坚果云让一个看不到我发送的邮件的员工做客服，跟我一起核对我邮件里的信息，确认我是否可以删除帐号。&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/g4IbFFg.jpg&quot; alt=&quot;img&quot; /&gt;&lt;/p&gt;

&lt;h4 id=&quot;结果&quot;&gt;结果&lt;/h4&gt;

&lt;p&gt;要等待10个工作日，确认是否能彻底删除帐号。&lt;/p&gt;

&lt;h4 id=&quot;总结&quot;&gt;总结&lt;/h4&gt;

&lt;p&gt;大家该翻墙还得翻墙，用 Dropbox 和 OneDrive 吧。&lt;/p&gt;

&lt;p&gt;提醒一下坚果云的用户，在拼不过大厂的情况下，小公司很难续存很久，早转移数据是正经事。&lt;/p&gt;

&lt;p&gt;另外，真心建议坚果云的员工们早点找下家。&lt;/p&gt;

</description>
        <pubDate>Thu, 10 Jun 2021 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E7%BD%91%E7%BB%9C%E8%A7%82%E5%AF%9F/2021/06/10/Cloud-storage.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E7%BD%91%E7%BB%9C%E8%A7%82%E5%AF%9F/2021/06/10/Cloud-storage.html</guid>
        
        <category>云盘</category>
        
        
        <category>网络观察</category>
        
      </item>
    
      <item>
        <title>配置科研用服务器</title>
        <description>&lt;p&gt;一般有基因组测序分析需求的小型实验室都会配置自己的科研服务器。那么，对于新手来说，服务器的选购、软件安装、系统安全方面的内容都有很多课题需要自己研究。
本文介绍一下我踩过的坑。&lt;/p&gt;

&lt;h3 id=&quot;选购要点&quot;&gt;选购要点&lt;/h3&gt;

&lt;p&gt;在服务器选购上，选择塔式服务器，其中 Dell T640 是目前流行的款式。
其他配置要包含&lt;strong&gt;至少&lt;/strong&gt; 128 Gb 内存、60 Tb 的硬盘空间，以及 16 核心（32 线程）的 CPU。
如果做人类转录组的分析，在比对步骤，有些软件必须要求最低内存配置是 30 Gb， 言外之意，你的服务器内存必须&lt;strong&gt;超过&lt;/strong&gt; 32 Gb。
假如有对持续供电的需求，可以在单独配置一个外接UPS电池，在实验室意外短时间停电期间用来保证服务器正常工作。
但由于UPS电池一般是铅酸蓄电池（不是锂电池），&lt;strong&gt;占地面积大&lt;/strong&gt;，其使用寿命大约为7年，如需配置还应考虑到安全和自身需求问题。&lt;/p&gt;

&lt;p&gt;选购好服务器后，请一定将起放置在平稳，不需移动的地方，电源插头也不应经常插拔。&lt;/p&gt;

&lt;h3 id=&quot;系统和软件配置&quot;&gt;系统和软件配置&lt;/h3&gt;

&lt;p&gt;由于 Linux 多种分发版本自身迭代有快慢，而一些分析软件包的开发者可能仅在常见分发版本中开发软件，所以&lt;strong&gt;建议所有用户只使用 Ubuntu 系统的&lt;/strong&gt;，方便测试科研软件包。
如果使用 CentOS 系统一定要注意最近他们版本更新方案，尽量装最新版的。我认为 CentOS 不应该作为科研服务器的系统，它软件迭代速度太慢，很多库文件更新不及时，导致无法测试一些别人开发的软件包。&lt;/p&gt;

&lt;p&gt;所有可以全局安装的系统软件和依赖库文件，应使用 Ubuntu 的包管理系统 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;apt-get&lt;/code&gt; 来进行安装，&lt;u&gt;强烈不建议自己编译安装系统文件&lt;/u&gt;。&lt;/p&gt;

&lt;p&gt;对于科研相关的软件包，应安装在所有用户都可以获取的地方，并且与系统软件相区分，因此建议安装在根目录下的 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/opt&lt;/code&gt; 文件夹中。软件包安装规范应至少在软件所在文件夹的命名上体现出版本信息，例如 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/opt/samtools-1.12/&lt;/code&gt;。
对于一些数据库文件，应专门安排在 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/opt/databases&lt;/code&gt; 这样的指定文件夹中，在子文件夹命名时要体现出数据的版本信息或者下载时间（年月日）。&lt;/p&gt;

&lt;p&gt;只应在全局中安装 R 软件及其依赖的基本包（即通过 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;apt install r-base&lt;/code&gt; 命令安装时，所提供的必须依赖和包）。其余包，应由用户在自己的&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/home&lt;/code&gt;文件夹中进行安装。我曾在一台服务器上看到了全局安装的一些附加包，而这些包用户在使用时也会自己安装，所以在 R 环境中会显示出两个包文件，应尽量避免这种情况给用户造成混乱。&lt;/p&gt;

&lt;p&gt;对于Python，一定要安装 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;conda&lt;/code&gt;，然后让用户自己选 Python 版本创建环境，安装相关软件包。我也曾经发现过有些服务器上装了三四个不同版本的 Python，当用户安装需要使用的软件包就非常麻烦，如果没有使用经常搞不清楚自己所用的软件安装到哪个 Python 版本下。&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;conda create -n env_name python=x.x
conda activate env_name
conda deactivate env_name
conda env remove -n env_name
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;系统安全&quot;&gt;系统安全&lt;/h3&gt;

&lt;p&gt;对于系统安全，首先在创建系统用户的时候，一定使用强健的初始密码。&lt;a href=&quot;http://yulijia.net/cn/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/2020/03/03/Trojan-attack-analysis.html&quot;&gt;我曾经遇到过使用了弱密码创建初始用户，结果有人撞库成功，入侵服务器&lt;/a&gt;。
因此，还应加强服务器ssh登录的端口设置，以及安装一些基本的防护软件，例如 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;fail2ban&lt;/code&gt;。&lt;/p&gt;

&lt;p&gt;可以给用户开 sudo 权限，方便他们自行全局安装一些特定依赖，但不要把 root 密码搞得尽人皆知。&lt;/p&gt;

&lt;p&gt;为了防止错删文件，应将 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;rm&lt;/code&gt; 命令替换为 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;trash-put&lt;/code&gt;，为此，要安装软件包 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;apt install trash-cli&lt;/code&gt;。&lt;/p&gt;

&lt;p&gt;除此之外，经常要“异地”备份重要文件。&lt;/p&gt;
</description>
        <pubDate>Wed, 31 Mar 2021 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E6%89%80%E6%80%9D%E6%89%80%E6%82%9F/2021/03/31/set-up-a-scientific-server.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E6%89%80%E6%80%9D%E6%89%80%E6%82%9F/2021/03/31/set-up-a-scientific-server.html</guid>
        
        <category>服务器</category>
        
        <category>Python</category>
        
        <category>R</category>
        
        <category>Linux</category>
        
        
        <category>所思所悟</category>
        
      </item>
    
      <item>
        <title>Fedora 系统每年更新版本太快</title>
        <description>&lt;p&gt;我从2008年开始学习使用 Linux 的个人发行版 Fedora 8, 到现在，由于它版本更新得太快，版本号已经逐渐甩开我的年龄了。。。&lt;/p&gt;

&lt;p&gt;这帮社区的人在这么玩下去，版本号升到3位数指日可待。 &lt;code&gt;_(:з」∠)_&lt;/code&gt;&lt;/p&gt;

</description>
        <pubDate>Sat, 27 Feb 2021 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/2021/02/27/Fedora-33.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/2021/02/27/Fedora-33.html</guid>
        
        <category>Fedora33</category>
        
        
        <category>操作系统</category>
        
      </item>
    
      <item>
        <title>使用XeTeX写中文文档</title>
        <description>&lt;p&gt;这篇也是&lt;a href=&quot;http://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2020/01/02/Write-code.html&quot;&gt;写代码&lt;/a&gt;的一部分，对于 \(\LaTeX\) 的使用，感觉中文排版之前是一个痛点，其他的宏以及类的使用方法看几个例子就足够了。所以这里只记录了如何用 \(Xe\TeX\) 写中文文档。除了中英混排，中日、中韩以及日韩、英日、英韩的混排估计都有类似的排版问题，还需要自己搜索相关资料解决。&lt;/p&gt;

&lt;p&gt;\(Xe\TeX\) 支持引擎直接支持 Unicode 字符。别再用什么 CJKutf8 了。 如果你用Linux系统，下载安装\(\TeX Live\) 套装，安装有界面的编辑软件 Gummi，可以完美的撰写中文文档。我觉得使用相关 Windows 环境下的软件，也能完成这个任务。 另外，\(C\TeX\) 宏集做中英文混排据说非常棒，如果无法忍受默认的 \(Xe\TeX\) 排版效果，可以选择 \(C\TeX\) 宏集。对于我来说用最简单的就足够了。&lt;/p&gt;

&lt;div class=&quot;language-LaTeX highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;k&quot;&gt;\documentclass&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;article&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;\usepackage&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;fontspec&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;\setmainfont&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;文泉驿点阵正黑&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;\XeTeXlinebreaklocale&lt;/span&gt; &quot;zh&quot;
&lt;span class=&quot;k&quot;&gt;\XeTeXlinebreakskip&lt;/span&gt; = 0pt plus 1pt minus 0.1pt
&lt;span class=&quot;nt&quot;&gt;\begin{document}&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;\title&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;这是Xe&lt;span class=&quot;k&quot;&gt;\TeX&lt;/span&gt; 编排的中文&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;\author&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;YU Lijia&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;\maketitle&lt;/span&gt;
Xe&lt;span class=&quot;k&quot;&gt;\TeX&lt;/span&gt; 支持引擎直接支持 Unicode 字符。别再用什么 CJKutf8 了。 如果你用Linux系统，下载安装&lt;span class=&quot;k&quot;&gt;\TeX&lt;/span&gt; Live 套装，安装有界面的编辑软件Gummi，可以完美的撰写中文文档。我觉得使用相关 Windows 环境下的软件，也能完成这个任务。 另外，C&lt;span class=&quot;k&quot;&gt;\TeX&lt;/span&gt; 宏集做中英文混排据说非常棒，如果无法忍受默认的Xe&lt;span class=&quot;k&quot;&gt;\TeX&lt;/span&gt; 排版效果，可以选择C&lt;span class=&quot;k&quot;&gt;\TeX&lt;/span&gt; 宏集。对于我来说用最简单的就足够了。

&lt;span class=&quot;c&quot;&gt;%\tableofcontents&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;\section&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;\TeX&lt;/span&gt; Live是什么？&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;nt&quot;&gt;\begin{tabular}&lt;/span&gt;[t]&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;|l|c|c|&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;\hline&lt;/span&gt;
对比	&lt;span class=&quot;p&quot;&gt;&amp;amp;&lt;/span&gt; CTeX &lt;span class=&quot;p&quot;&gt;&amp;amp;&lt;/span&gt; TeXLive &lt;span class=&quot;k&quot;&gt;\\&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;\hline&lt;/span&gt;
操作系统 &lt;span class=&quot;p&quot;&gt;&amp;amp;&lt;/span&gt;	只限于Windows下 &lt;span class=&quot;p&quot;&gt;&amp;amp;&lt;/span&gt;	通用 &lt;span class=&quot;k&quot;&gt;\\&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;\hline&lt;/span&gt;
制作人 &lt;span class=&quot;p&quot;&gt;&amp;amp;&lt;/span&gt; 中科院吴凌云和其他小伙伴 &lt;span class=&quot;p&quot;&gt;&amp;amp;&lt;/span&gt;	TUG &lt;span class=&quot;k&quot;&gt;\\&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;\hline&lt;/span&gt;
其他 &lt;span class=&quot;p&quot;&gt;&amp;amp;&lt;/span&gt; 对MiK&lt;span class=&quot;k&quot;&gt;\TeX&lt;/span&gt; 的再封装 &lt;span class=&quot;p&quot;&gt;&amp;amp;&lt;/span&gt; 可刻录在光盘直接运行 &lt;span class=&quot;k&quot;&gt;\\&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;\hline&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;\end{tabular}&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;\\&lt;/span&gt;
 
C&lt;span class=&quot;k&quot;&gt;\TeX&lt;/span&gt; 和 &lt;span class=&quot;k&quot;&gt;\TeX&lt;/span&gt; Live都是 &lt;span class=&quot;k&quot;&gt;\LaTeX&lt;/span&gt; 的发行版，包括编译器和配套软件安装包。 C&lt;span class=&quot;k&quot;&gt;\TeX&lt;/span&gt; 已经完全过时。所以发行版一定要选择 &lt;span class=&quot;k&quot;&gt;\TeX&lt;/span&gt; Live。
 
&lt;span class=&quot;k&quot;&gt;\section&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;C&lt;span class=&quot;k&quot;&gt;\TeX&lt;/span&gt; 发行版和C&lt;span class=&quot;k&quot;&gt;\TeX&lt;/span&gt; 宏集是什么关系&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;

C&lt;span class=&quot;k&quot;&gt;\TeX&lt;/span&gt; 发行版是基于MiK&lt;span class=&quot;k&quot;&gt;\TeX&lt;/span&gt; 的 Windows下编译&lt;span class=&quot;k&quot;&gt;\TeX&lt;/span&gt; 文件的软件， C&lt;span class=&quot;k&quot;&gt;\TeX&lt;/span&gt; 宏集是专为中英文混排设计的sty宏包和cls文类的集合。


&lt;span class=&quot;nt&quot;&gt;\end{document}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
</description>
        <pubDate>Sun, 17 Jan 2021 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E6%A0%BC%E5%BC%8F%E6%8A%80%E5%B7%A7/2021/01/17/Write-Chinese-document-with-XeTeX.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E6%A0%BC%E5%BC%8F%E6%8A%80%E5%B7%A7/2021/01/17/Write-Chinese-document-with-XeTeX.html</guid>
        
        <category>XeTeX</category>
        
        <category>TeX Live</category>
        
        <category>CTeX</category>
        
        
        <category>格式技巧</category>
        
      </item>
    
      <item>
        <title>《Soul》和《行骗天下JP：公主篇》</title>
        <description>&lt;p&gt;元旦期间看了两部影片《Soul》和《行骗天下JP：公主篇》，我觉得 Soul 拍得太深奥，不像一部儿童动画电影。影片中反复经历在 The great before、The great beyond、现实的轮回，最有意思的人物是22，她为了寻找自己的Spark（火花），在 The great before 接受了那么多世界公认的专家的指导。相比于男主角来教导22找寻火花，其实最后是22让男主角意识到了火花真正的含义。“鱼与大海”的对话说明我们本来就在海洋里，但仍然认为自己没有找到“海洋”，这段对话对我的启发很大，做好自己的事情，比追寻一个可能不是目标的目标更为重要。&lt;/p&gt;

&lt;p&gt;行骗天下这一集的电影，观看的时候带着点悲伤，毕竟里面两位重要配角都在去年去世。整部电影故事一般，但总体上还是欢快带着温馨。据说后面还会拍英雄篇，希望新的剧情给点力。&lt;/p&gt;
</description>
        <pubDate>Sat, 16 Jan 2021 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E5%BD%B1%E8%A7%86%E8%AF%84%E8%AE%BA/2021/01/16/watch-films-on-New-Years-Day.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E5%BD%B1%E8%A7%86%E8%AF%84%E8%AE%BA/2021/01/16/watch-films-on-New-Years-Day.html</guid>
        
        <category>Soul</category>
        
        <category>行骗天下</category>
        
        
        <category>影视评论</category>
        
      </item>
    
      <item>
        <title>2021 新年计划</title>
        <description>&lt;p&gt;今年连续更新了4篇水博客。现在我都不敢在开口说什么新的新年计划了，之前的都只完成了一半。自控能力要加强，不要耽误时间。虽然嘴上说着996不好，但是不抓紧时间，吃亏的只能是自己。去年没做完的整理上学期间学习的代码工作在本年内会继续。之前该补的东西，尽量都补上，要不都不好意思开新的坑。&lt;/p&gt;

&lt;p&gt;除此之外，还有一条新的经验要牢记：永远不到等到文件夹乱得找不到文件了，再去整理，养成良好的电脑文件归类习惯很重要。先乱放，再整理，是在是太耽误时间了。&lt;/p&gt;

&lt;p&gt;人的一生是熵不断增加的过程。整理好自己的用品，安排好各种时间，能降低自己平时生活中的熵（混乱程度）。&lt;/p&gt;

&lt;p&gt;再多写一些展望吧。。&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;我最喜欢的 RNA 将在医疗领域发挥更重大的作用（不止是疫苗）。&lt;/li&gt;
  &lt;li&gt;如何让其他星球产生含氧且适宜人类生存的大气层是个研究方向，感觉还没准能成功呢。&lt;/li&gt;
  &lt;li&gt;人机接口这东西，最近还最好先关注一些肢体神经，饶了大脑吧。&lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Sat, 16 Jan 2021 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2021/01/16/new-year-plan.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2021/01/16/new-year-plan.html</guid>
        
        <category>新年计划</category>
        
        
        <category>聚类不能</category>
        
      </item>
    
      <item>
        <title>996和异化</title>
        <description>&lt;p&gt;互联网公司职工按 996 甚至每月休 2 天的频率来开展工作，因身体和精神原因出事频繁，尤其某个“x多多”近期频繁上新闻。
最近读了马克思的&lt;a href=&quot;https://www.marxists.org/chinese/marx/marxist.org-chinese-marx-1844.htm&quot;&gt;《1844年经济学哲学手稿》&lt;/a&gt;，认识到某地还是个“初级”的“资本主义”社会。简直是天天抓理论学习，但永远都是学一套、说一套、做一套。&lt;/p&gt;

&lt;p&gt;在《1844年经济学哲学手稿》中马克思提出了异化劳动的观点。异化的最初含义可以理解为“自我外化为非我，从而使原来与自我同一的东西，变成异己的东西”。例如，我创作一件木雕作品，把自己的思想和手艺固化到这个作品里，也就是将自己的“部分思想”和“手艺”同自己分离，形成一件雕塑，变成不是自己的的东西。马克思的观点认为：异化作为社会现象，是与阶级一起产生的，是人的物质生产机器产品变成异己力量，反过来统治人的社会现象。私有制是异化产生的社会根源，社会分工固定是它的自然缘由。在异化活动中，人的能动性丧失了。遭到异己的物质力量或精神力量的奴役，从而使人的个性不能全面发展，只能片面发展，甚至畸形发展。在&lt;u&gt;资本主义社会&lt;/u&gt;，异化达到最严重的程度。&lt;/p&gt;

&lt;p&gt;资本主义的工厂中，让工人延长上班时间，生产更多的产品，产生更多的利润。但产品的利润归资本家所有，反过来工人只能通过自己劳动所的工资来购买产品。工人为了购买必需品，而进行劳动，这时候，劳动就不是工人“自由自觉”的活动，具有强制性、外在性和异己性。这同互联网行业的996，以及某些实验室的研究生培养，没有任何区别。互联网行业里，大家每天回家就睡个觉，其余时间都在通勤、搬砖、吃喝拉撒，自己的产品获得的利润归资本家所有，而自己只能通过获得的工资来购买产品，期权这些等着解禁还不知要熬过多少年，前提是身体健康情况允许你继续熬。这也是互联网行业35岁以上不要的原因，当不了电池继续发电，自然要淘汰。一些打卡严格的高等教育实验室也是严格规定学生的工作时间，本来收入就只能够吃饭，还可能时常受到精神打击。在这些异化活动里，人的能动性完全丧失了，绝大部分人只能片面的发展。纵观世界，东亚三国，两个资本主义国家、一个社会主义国家，都差不多这样。还真说不好这么“卷”是因为我们自身的发达程度不够，还是人口原因或者文化原因。&lt;/p&gt;

&lt;p&gt;马克思根据唯物主义辩证法，唯物史观和剩余价值学说，还论证过资本主义必然灭亡，我不知他看到现今的情况，会不会发表什么新的看法，毕竟他老家的工人待遇比这边的好太多。在发达国家里比较的话，估计 Musk 的公司要排除在外，我觉得他家公司的工作时长应该和我们的 996 有一拼。&lt;/p&gt;

</description>
        <pubDate>Fri, 15 Jan 2021 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E5%9B%A4%E4%B9%A6%E6%88%90%E7%98%BE/2021/01/15/996-and-alienation.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E5%9B%A4%E4%B9%A6%E6%88%90%E7%98%BE/2021/01/15/996-and-alienation.html</guid>
        
        <category>异化</category>
        
        
        <category>囤书成瘾</category>
        
      </item>
    
      <item>
        <title>数值分析IV--求解常微分方程</title>
        <description>&lt;p&gt;一阶常微分方程初值问题，一般表示如下所示：&lt;/p&gt;

\[\begin{cases}
y^{&apos;}=f(x,y)\\
y(x_{0})=y_{0}
\end{cases}\]

&lt;p&gt;欧拉法，改进的欧拉法，龙格-库塔法都是基于同样的原理，即用切线\(y^{&apos;}=f(x,y)\)去逼近原方程的曲线\(y=f(x)\)&lt;sup id=&quot;fnref:1&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:1&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://upload.wikimedia.org/wikipedia/commons/thumb/a/ae/Euler_method.png/220px-Euler_method.png&quot; alt=&quot;Euler_Method&quot; /&gt;&lt;/p&gt;

&lt;p&gt;那么怎么作出切线呢，\(y^{&apos;}=f(x,y)\)就是这个切线的方程。&lt;/p&gt;

&lt;p&gt;欧拉法计算时，令每次前进的步长为\(h\)，每次根据步长h根据切线\(f(x,y)\)的方向求下一个\(y\)的位置。&lt;/p&gt;

\[\begin{cases}
y_{i+1}=y_{i}+hK_{1}\\
K_{1}=f(x_{i},y_{i})
\end{cases}\]

&lt;p&gt;改进的欧拉法，就是在欧拉法的基础上修改方向（斜率），是得每步计算的切线更贴近原曲线。&lt;/p&gt;

\[\begin{cases}
y_{i+1}=y_{i}+\frac{h}{2}(K_{1}+K_{2})\\
K_{1}=f(x_{i},y_{i})\\
K_{2}=f(x_{i+1},y_{i}+hK_{1})
\end{cases}\]

&lt;p&gt;如果设法在\([x_{i},x_{i+1}]\)内多预报几个点的斜率值，然后将它们加权平均作为平均斜率\(K^{*}\)，则有可能构造出更高精度的计算格式，龙格-库塔法就是在上述改进欧拉法的基础上，继续构造新的\(K\)，来达到更加精确的逼近原曲线的目的。&lt;/p&gt;

&lt;p&gt;一般常用的方法是四阶龙格-库塔法，计算公式如下：&lt;/p&gt;

\[\begin{cases}
K_{1}=f(x,y)\\
K_{2}=f(x_{i+\frac{1}{2}},y_{i}+\frac{h}{2}K_{1})\\
K_{3}=f(x_{i+\frac{1}{2}},y_{i}+\frac{h}{2}K_{2})\\
K_{4}=f(x_{i+1},y_{i}+hK_{3})\\
y_{i+1}=y_{i}+\frac{h}{6}(K_{1}+2K_{2}+2K_{3}+K_{4})
\end{cases}\]

&lt;p&gt;四阶龙格-库塔法程序如下所示。&lt;/p&gt;

&lt;div class=&quot;language-c highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;cp&quot;&gt;#include&lt;/span&gt;&lt;span class=&quot;cpf&quot;&gt;&quot;stdio.h&quot;&lt;/span&gt;&lt;span class=&quot;cp&quot;&gt;
#include&lt;/span&gt;&lt;span class=&quot;cpf&quot;&gt;&quot;stdlib.h&quot;&lt;/span&gt;&lt;span class=&quot;cp&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;fun1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;  &lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k4&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
   &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;((&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
 &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
   &lt;span class=&quot;n&quot;&gt;k1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
   &lt;span class=&quot;n&quot;&gt;k2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;
   &lt;span class=&quot;n&quot;&gt;k3&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;
   &lt;span class=&quot;n&quot;&gt;k4&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;
   &lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k3&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k4&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
 &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;  
 &lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;%lf&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
      &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
      
&lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;fun2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;  &lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k4&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;   
   &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;((&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
 &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
   &lt;span class=&quot;n&quot;&gt;k1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
   &lt;span class=&quot;n&quot;&gt;k2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;((&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;
   &lt;span class=&quot;n&quot;&gt;k3&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;((&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;
   &lt;span class=&quot;n&quot;&gt;k4&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;((&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;
   &lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k3&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k4&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
 &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;  
 &lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;%lf&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
      &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
      &lt;span class=&quot;n&quot;&gt;fun1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
      &lt;span class=&quot;n&quot;&gt;fun2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
      &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;footnotes&quot; role=&quot;doc-endnotes&quot;&gt;
  &lt;ol&gt;
    &lt;li id=&quot;fn:1&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;&lt;a href=&quot;https://www.matongxue.com/madocs/269/&quot;&gt;如何理解常微分方程的通解、特解以及所有解？&lt;/a&gt; &lt;a href=&quot;#fnref:1&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
  &lt;/ol&gt;
&lt;/div&gt;
</description>
        <pubDate>Thu, 04 Jun 2020 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E6%95%B0%E5%80%BC%E5%88%86%E6%9E%90/2020/06/04/solving-ordinary-differential-equations.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E6%95%B0%E5%80%BC%E5%88%86%E6%9E%90/2020/06/04/solving-ordinary-differential-equations.html</guid>
        
        <category>Euler method</category>
        
        <category>欧拉法</category>
        
        <category>Runge-Kutta methods</category>
        
        <category>龙格-库塔法</category>
        
        <category>改进的欧拉法</category>
        
        
        <category>数值分析</category>
        
      </item>
    
      <item>
        <title>数值分析III--求方程组的根</title>
        <description>&lt;h2 id=&quot;1-雅克比jacobi迭代法求方程组的根&quot;&gt;1. 雅克比(Jacobi)迭代法求方程组的根&lt;/h2&gt;

&lt;p&gt;雅克比迭代法非常简单，对于一个给定的n×n方程组\(\displaystyle A\mathbf {x} =\mathbf {b}\)&lt;/p&gt;

\[\displaystyle A={\begin{bmatrix}a_{11}a_{12}\cdots a_{1n}\\a_{21}a_{22}\cdots a_{2n}\\\vdots \vdots \ddots \vdots \\a_{n1}a_{n2}\cdots a_{nn}\end{bmatrix}},\qquad \mathbf {x} ={\begin{bmatrix}x_{1}\\x_{2}\\\vdots \\x_{n}\end{bmatrix}},\qquad \mathbf {b} ={\begin{bmatrix}b_{1}\\b_{2}\\\vdots \\b_{n}\end{bmatrix}}.\]

&lt;p&gt;可以把 A分解成两个矩阵&lt;/p&gt;

\[\displaystyle A=D+R\qquad \qquad D={\begin{bmatrix}a_{11}0\cdots 0\\0a_{22}\cdots 0\\\vdots \vdots \ddots \vdots \\00\cdots a_{nn}\end{bmatrix}},\qquad R={\begin{bmatrix}0a_{12}\cdots a_{1n}\\a_{21}0\cdots a_{2n}\\\vdots \vdots \ddots \vdots \\a_{n1}a_{n2}\cdots 0\end{bmatrix}}\]

&lt;p&gt;方程组可以改写为 \(\displaystyle D\mathbf {x} =\mathbf {b} -R\mathbf {x}\)，该公式即为迭代公式。&lt;/p&gt;

&lt;p&gt;又可写成 \(\displaystyle \mathbf {x} ^{(k+1)}=D^{-1}(\mathbf {b} -R\mathbf {x} ^{(k)})\)。&lt;/p&gt;

&lt;p&gt;注意这种解方程组的问题，矩阵都要满一定的收敛条件，在这里是迭代矩阵的谱半径小于1，\(\rho (D^{-1}R)&amp;lt;1\)。&lt;/p&gt;

&lt;div class=&quot;language-cpp highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;cp&quot;&gt;#include&lt;/span&gt;&lt;span class=&quot;cpf&quot;&gt;&quot;math.h&quot;&lt;/span&gt;&lt;span class=&quot;cp&quot;&gt;
#include&lt;/span&gt;&lt;span class=&quot;cpf&quot;&gt;&quot;stdio.h&quot;&lt;/span&gt;&lt;span class=&quot;cp&quot;&gt;
#include&lt;/span&gt;&lt;span class=&quot;cpf&quot;&gt;&quot;stdlib.h&quot;&lt;/span&gt;&lt;span class=&quot;cp&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x11&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x22&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x33&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;No.0008雅克比迭代法求方程组的根&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;输入初值：&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;scanf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;%lf %lf %lf&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;while&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fabs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x11&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;8.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.001&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;fabs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x22&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;16&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;5.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.001&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;fabs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x33&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;7&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;4.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.001&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;n&quot;&gt;x11&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;8.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;//写迭代式 &lt;/span&gt;
	&lt;span class=&quot;n&quot;&gt;x22&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;16&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;5.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;//写迭代式&lt;/span&gt;
	&lt;span class=&quot;n&quot;&gt;x33&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;7&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;4.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;//写迭代式&lt;/span&gt;
	&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x11&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x22&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;n&quot;&gt;x3&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x33&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;	
	&lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;解为：&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;x1=%lf&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;x2=%lf &lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;x3=%lf&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;迭代次数：%d&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;system&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;pause&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt; 

&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;2-高斯-赛德尔gauss-seidel迭代法求方程组的根&quot;&gt;2. 高斯-赛德尔(Gauss-Seidel)迭代法求方程组的根&lt;/h2&gt;

&lt;p&gt;高斯-赛德尔迭代法和雅克比迭代法的区别在于，将A分解为一个上三角矩阵和下三角矩阵的形式。&lt;/p&gt;

\[\displaystyle A=L_{*}+U\qquad {\text{其中}}\qquad L_{*}={\begin{bmatrix}a_{11}0\cdots 0\\a_{21}a_{22}\cdots 0\\\vdots \vdots \ddots \vdots \\a_{n1}a_{n2}\cdots a_{nn}\end{bmatrix}},\quad U={\begin{bmatrix}0a_{12}\cdots a_{1n}\\00\cdots a_{2n}\\\vdots \vdots \ddots \vdots \\00\cdots 0\end{bmatrix}}\]

&lt;p&gt;这样，代入迭代式后为：&lt;/p&gt;

\[\displaystyle L_{*}\mathbf {x} =\mathbf {b} -U\mathbf {x}\]

\[\displaystyle \mathbf {x} ^{(k+1)}=L_{*}^{-1}(\mathbf {b} -U\mathbf {x} ^{(k)})\]

&lt;p&gt;系数矩阵 A 严格对角占优或对称正定时，高斯-赛德尔迭代法必收敛。&lt;/p&gt;

&lt;div class=&quot;language-cpp highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;cp&quot;&gt;#include&lt;/span&gt;&lt;span class=&quot;cpf&quot;&gt;&quot;math.h&quot;&lt;/span&gt;&lt;span class=&quot;cp&quot;&gt;
#include&lt;/span&gt;&lt;span class=&quot;cpf&quot;&gt;&quot;stdio.h&quot;&lt;/span&gt;&lt;span class=&quot;cp&quot;&gt;
#include&lt;/span&gt;&lt;span class=&quot;cpf&quot;&gt;&quot;stdlib.h&quot;&lt;/span&gt;&lt;span class=&quot;cp&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x11&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x22&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x33&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;No.0009高斯赛德尔(Gauss-Seidel)迭代法求方程组的根&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;输入初值：&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;scanf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;%lf %lf %lf&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;while&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fabs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x11&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;8.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.01&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;fabs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x22&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;16&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;5.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.01&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;fabs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x33&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;7&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;4.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.01&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;n&quot;&gt;x11&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x22&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x33&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;8.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;//写迭代式 &lt;/span&gt;
	&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;16&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;5.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;//写迭代式&lt;/span&gt;
	&lt;span class=&quot;n&quot;&gt;x3&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;7&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;4.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;//写迭代式&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;	
	&lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;解为：&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;x1=%lf&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;x2=%lf &lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;x3=%lf&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;迭代次数：%d&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;system&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;pause&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;3-牛顿迭代法求方程组的根&quot;&gt;3. 牛顿迭代法求方程组的根&lt;/h2&gt;

&lt;p&gt;这个根牛顿迭代法求解方程的根一样。。。&lt;/p&gt;

\[\displaystyle x_{n+1}=x_{n}-J_{F}(x_{n})^{-1}F(x_{n})\]

&lt;p&gt;其中 \(J_{F}(x)\)是雅克比矩阵。&lt;/p&gt;

&lt;div class=&quot;language-cpp highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;cp&quot;&gt;#include&lt;/span&gt;&lt;span class=&quot;cpf&quot;&gt;&quot;math.h&quot;&lt;/span&gt;&lt;span class=&quot;cp&quot;&gt;
#include&lt;/span&gt;&lt;span class=&quot;cpf&quot;&gt;&quot;stdio.h&quot;&lt;/span&gt;&lt;span class=&quot;cp&quot;&gt;
#include&lt;/span&gt;&lt;span class=&quot;cpf&quot;&gt;&quot;stdlib.h&quot;&lt;/span&gt;&lt;span class=&quot;cp&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x11&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x22&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;No.0010牛顿迭代法求方程组的根&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;输入初值：&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;scanf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;%lf %lf&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
	&lt;span class=&quot;n&quot;&gt;x11&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;8&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;8&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;//写迭代式 &lt;/span&gt;
	&lt;span class=&quot;n&quot;&gt;x22&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;8&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;8&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;//写迭代式&lt;/span&gt;
 &lt;span class=&quot;k&quot;&gt;while&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fabs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x11&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.001&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;fabs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x22&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.001&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x11&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x22&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;n&quot;&gt;x11&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;8&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;8&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;//写迭代式 &lt;/span&gt;
	&lt;span class=&quot;n&quot;&gt;x22&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;8&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;8&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;//写迭代式&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;	
	&lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;解为：&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;x1=%lf&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;x2=%lf &lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;迭代次数：%d&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x11&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x22&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;system&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;pause&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
</description>
        <pubDate>Mon, 25 May 2020 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%AE%A1%E7%AE%97%E6%96%B9%E6%B3%95/2020/05/25/solving-System-of-equations.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%AE%A1%E7%AE%97%E6%96%B9%E6%B3%95/2020/05/25/solving-System-of-equations.html</guid>
        
        <category>Jacobi迭代法</category>
        
        <category>Gauss-Seidel迭代法</category>
        
        <category>牛顿迭代法</category>
        
        
        <category>计算方法</category>
        
      </item>
    
      <item>
        <title>数值分析II--求方程的根</title>
        <description>&lt;h2 id=&quot;1-二分法求方程的根&quot;&gt;1. 二分法求方程的根&lt;/h2&gt;

&lt;p&gt;二分法可行的条件是有介值定理支持。&lt;/p&gt;

&lt;p&gt;介值定理说明在实数范围内，\([a,b]\)区间上可以画出一个连续曲线。\(f(a)&amp;lt;u&amp;lt;f(b)\) 存在，那么存在\(c\), \(a&amp;lt;c&amp;lt;b\)，使得\(f(c)=u\)。&lt;/p&gt;

&lt;p&gt;二分法就是\(a\)与\(b\)异号时，介值定理的特殊情况，即存在实数\(c\)使得\(f(c)=0\)存在。&lt;/p&gt;

&lt;div class=&quot;language-cpp highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;cp&quot;&gt;#include&lt;/span&gt;&lt;span class=&quot;cpf&quot;&gt;&quot;math.h&quot;&lt;/span&gt;&lt;span class=&quot;cp&quot;&gt;
#include&lt;/span&gt;&lt;span class=&quot;cpf&quot;&gt;&quot;stdio.h&quot;&lt;/span&gt;&lt;span class=&quot;cp&quot;&gt;
#include&lt;/span&gt;&lt;span class=&quot;cpf&quot;&gt;&quot;stdlib.h&quot;&lt;/span&gt;&lt;span class=&quot;cp&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;fun&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;sin&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;//所求方程 &lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;No.0004二分法求方程的根&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;输入区间左端点：&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;scanf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;%lf&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;输入区间右端点：&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt; 
&lt;span class=&quot;n&quot;&gt;scanf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;%lf&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;2.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;while&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;cm&quot;&gt;/*fabs(fun(x))&amp;gt;0.00005||*/&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fabs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.00005&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;//近似范围 &lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fun&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fun&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fun&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fun&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;2.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;}&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;方程的根：%lf&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;迭代次数：%d&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;system&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;pause&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;2-迭代法求方程的根&quot;&gt;2. 迭代法求方程的根&lt;/h2&gt;

&lt;p&gt;迭代法主要是将\(f(x)=0\)这种等式，该写成\(x=\varphi(x)\)，然后给定一个初始的\(x_0\)，根据公式\(x_1=\varphi(x_0)\)，求出\(x_1\)，接下来，比较\(x_1\)和\(x_0\)的差值大小，如果差值等于0或者一个非常非常小的数，那么则求出最终的\(x\)即为\(x_1\)；如果差值还很大，则进行迭代步骤，将\(x_1\)带入到公式右侧\(\varphi(x_1)\)，求出左侧的\(x_2\)，重复上述比较步骤，直到\(x\)收敛于一个定值。&lt;/p&gt;

&lt;div class=&quot;language-cpp highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;cp&quot;&gt;#include&lt;/span&gt;&lt;span class=&quot;cpf&quot;&gt;&quot;math.h&quot;&lt;/span&gt;&lt;span class=&quot;cp&quot;&gt;
#include&lt;/span&gt;&lt;span class=&quot;cpf&quot;&gt;&quot;stdio.h&quot;&lt;/span&gt;&lt;span class=&quot;cp&quot;&gt;
#include&lt;/span&gt;&lt;span class=&quot;cpf&quot;&gt;&quot;stdlib.h&quot;&lt;/span&gt;&lt;span class=&quot;cp&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;fun&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pow&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;3.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;//所求方程 &lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;l&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;No.0005迭代法方程的根&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;选择输入数据种类：&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;1.数值&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;2.区间&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;while&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;l&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;scanf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;%d&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;!=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;!=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;请输入指定序号&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;//判断输入的序号是否正确 &lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;l&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;switch&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
 &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
 &lt;span class=&quot;k&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
		&lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;数据种类&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;1.数值&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;输入数值：&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
		&lt;span class=&quot;n&quot;&gt;scanf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;%lf&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
		&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fun&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
		&lt;span class=&quot;k&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
 &lt;span class=&quot;k&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;数据种类&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;2.区间&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
		&lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;输入区间左端点：&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
		&lt;span class=&quot;n&quot;&gt;scanf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;%lf&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
		&lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;输入区间右端点：&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
		&lt;span class=&quot;n&quot;&gt;scanf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;%lf&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fun&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;((&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;2.&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
		&lt;span class=&quot;k&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
 &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;while&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fabs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.00005&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fun&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fun&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;方程的根：%lf&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt; 
&lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;迭代次数：%d&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;system&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;pause&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;3牛顿迭代法&quot;&gt;3.牛顿迭代法&lt;/h2&gt;

&lt;p&gt;牛顿迭代法又称为牛顿-拉弗森方法(Newton-Raphson method)，它比一般的迭代法有更高的收敛速度。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://upload.wikimedia.org/wikipedia/commons/thumb/4/4c/Ganzhi001.jpg/200px-Ganzhi001.jpg&quot; alt=&quot;Newton-Raphson method&quot; /&gt;&lt;/p&gt;

&lt;p&gt;\(f(x_0)\)点的切线是\(f(x)\)的线性逼近。离\(f(x_0)\)点距离越近，这种逼近的效果也就越好，也就是说，切线与曲线之间的误差越小。所以我们可以说在\(f(x_0)\)点附近，\(切线\approx f(x)\)。&lt;/p&gt;

&lt;p&gt;牛顿-拉弗森方法提出来的思路就是利用切线是曲线的线性逼近这个思想，随便找一个曲线上的\(f(x_0)\)点（为什么随便找，根据切线是切点附近的曲线的近似，应该在根点附近找，但是很显然我们现在还不知道根点在哪里），做一个切线，切线的根\(x_1\)（就是和x轴的交点）与曲线的根，还有一定的距离。我们从这个切线的根\(x_1\)出发，做一根垂线，和曲线相交于\(f(x_1)\)点，继续重复刚才的工作，多次迭代后会越来越接近曲线的根，即迭代收敛。&lt;/p&gt;

&lt;p&gt;在计算时，首先选择一个\(x_0\)，然后计算相应的\(f(x_0)\)和切线斜率\(f^{&apos;}(x_0)\)，接下来计算穿过点（\(x_0\),\(f(x_0)\)）并且斜率为\(f^{&apos;}(x_0)\)的直线和\(x\)轴的交点的\(x_1\)坐标，公式为：
\(0=(x_1-x_0)f^{&apos;}(x_0)+f(x_0)\)， 将其转化为\(x_1=\varphi(x_0)\)的形式，即有：\(x_{n+1}=x_n-\frac{f(x_n)}{f^{&apos;}(x_n)}\)&lt;/p&gt;

&lt;p&gt;将初始的\(x_0\)代入到上述公式中，经过多次迭代，可以求得最后的根。&lt;/p&gt;

&lt;div class=&quot;language-cpp highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;cp&quot;&gt;#include&lt;/span&gt;&lt;span class=&quot;cpf&quot;&gt;&quot;math.h&quot;&lt;/span&gt;&lt;span class=&quot;cp&quot;&gt;
#include&lt;/span&gt;&lt;span class=&quot;cpf&quot;&gt;&quot;stdio.h&quot;&lt;/span&gt;&lt;span class=&quot;cp&quot;&gt;
#include&lt;/span&gt;&lt;span class=&quot;cpf&quot;&gt;&quot;stdlib.h&quot;&lt;/span&gt;&lt;span class=&quot;cp&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;fun&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;//所求方程 &lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;fun1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;  
	&lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;//所求方程的一阶导函数 &lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;l&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;No.0006牛顿迭代法求方程的根&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;选择输入数据种类：&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;1.数值&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;2.区间&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;while&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;l&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;scanf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;%d&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;!=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;!=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;请输入指定序号&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;//判断输入的序号是否正确 &lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;l&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;switch&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
 &lt;span class=&quot;k&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
		&lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;数据种类&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;1.数值&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;输入数值：&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
		&lt;span class=&quot;n&quot;&gt;scanf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;%lf&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
		&lt;span class=&quot;k&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
 &lt;span class=&quot;k&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;数据种类&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;2.区间&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
		&lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;输入区间左端点：&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
		&lt;span class=&quot;n&quot;&gt;scanf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;%lf&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
		&lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;输入区间右端点：&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
		&lt;span class=&quot;n&quot;&gt;scanf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;%lf&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;2.&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
		&lt;span class=&quot;k&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
 &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;while&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fabs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fun&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fun1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.00005&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fun&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fun1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;方程的根：%lf&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt; 
&lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;迭代次数：%d&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;system&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;pause&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;4-弦割法&quot;&gt;4. 弦割法&lt;/h2&gt;

&lt;p&gt;弦割法(Secant Method)是基于牛顿法的一种改进，基本思想是用弦的斜率近似代替目标函数的切线斜率，并用割线与横轴交点的横坐标作为方程式的根的近似。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://upload.wikimedia.org/wikipedia/commons/thumb/9/92/Secant_method.svg/300px-Secant_method.svg.png&quot; alt=&quot;SecantMethod&quot; /&gt;&lt;/p&gt;

&lt;p&gt;公式就不推了，参见维基百科或者百度百科。&lt;/p&gt;

&lt;div class=&quot;language-cpp highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;cp&quot;&gt;#include&lt;/span&gt;&lt;span class=&quot;cpf&quot;&gt;&quot;math.h&quot;&lt;/span&gt;&lt;span class=&quot;cp&quot;&gt;
#include&lt;/span&gt;&lt;span class=&quot;cpf&quot;&gt;&quot;stdio.h&quot;&lt;/span&gt;&lt;span class=&quot;cp&quot;&gt;
#include&lt;/span&gt;&lt;span class=&quot;cpf&quot;&gt;&quot;stdlib.h&quot;&lt;/span&gt;&lt;span class=&quot;cp&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;fun&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;//所求方程 &lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;l&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;No.0007弦割法求方程的根&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;选择输入种类：&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;1.单点&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;2.双点&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;while&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;l&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;scanf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;%d&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;!=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;!=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;请输入指定序号&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;//判断输入的序号是否正确 &lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;l&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;switch&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
 &lt;span class=&quot;k&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
		&lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;种类&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;1.单点&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
		&lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;输入点1：&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
		&lt;span class=&quot;n&quot;&gt;scanf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;%lf&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
		&lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;输入点2：&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
		&lt;span class=&quot;n&quot;&gt;scanf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;%lf&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;while&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fabs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fun&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fun&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fun&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)))&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.00005&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fun&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fun&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fun&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;方程的根：%lf&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt; 
        &lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;迭代次数：%d&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
		&lt;span class=&quot;k&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
 &lt;span class=&quot;k&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;种类&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;2.双点&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
		&lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;输入点1：&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
		&lt;span class=&quot;n&quot;&gt;scanf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;%lf&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
		&lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;输入点2：&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
		&lt;span class=&quot;n&quot;&gt;scanf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;%lf&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;while&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fabs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fun&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fun&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fun&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)))&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.00005&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fun&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fun&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fun&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;方程的根：%lf&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt; 
        &lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;迭代次数：%d&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
	    &lt;span class=&quot;k&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;system&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;pause&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

</description>
        <pubDate>Wed, 13 May 2020 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%AE%A1%E7%AE%97%E6%96%B9%E6%B3%95/2020/05/13/find-the-root-of-equation.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%AE%A1%E7%AE%97%E6%96%B9%E6%B3%95/2020/05/13/find-the-root-of-equation.html</guid>
        
        <category>二分法</category>
        
        <category>牛顿迭代法</category>
        
        <category>弦割法</category>
        
        
        <category>计算方法</category>
        
      </item>
    
      <item>
        <title>计算方法系列I - 求积分</title>
        <description>&lt;p&gt;开始介绍本科时期学习的计算方法的内容，即求积分，求方程的根（普通的x元x次方程，方程组），所涉及到的基本步骤都是迭代循环之类的。&lt;/p&gt;

&lt;p&gt;这个部分的程序都是C语言（极少部份C++语法）写的，&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;system(&apos;pause&apos;)&lt;/code&gt;在linux下不管用。不知道为什么那时候写程序&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;{&lt;/code&gt;都会换行，现在看起来好不习惯。&lt;/p&gt;

&lt;h2 id=&quot;1牛顿-柯特斯公式-newtoncotes-formulas&quot;&gt;1.牛顿-柯特斯公式 (Newton–Cotes formulas)&lt;/h2&gt;

&lt;p&gt;后面要介绍的复化辛普森法和复化梯形法都是&lt;a href=&quot;https://en.wikipedia.org/wiki/Newton%E2%80%93Cotes_formulas&quot;&gt;牛顿-柯特斯公式&lt;/a&gt;的特殊形式，所以先介绍一下牛顿-柯特斯公式的形式：&lt;/p&gt;

\[\int_a^b f(x)\mathrm{d}x\approx\sum_{i=1}^{n-1}\omega_{i}f(x_i)\]

&lt;h3 id=&quot;11左边为啥能约等于右边呢&quot;&gt;1.1.左边为啥能约等于右边呢？&lt;/h3&gt;

&lt;p&gt;这是根据拉格朗日插值法进行的推导计算。对于拉格朗日插值法的直观理解推荐看&lt;a href=&quot;https://www.zhihu.com/question/58333118/answer/262507694&quot;&gt;知乎马同学的回答&lt;/a&gt;。&lt;/p&gt;

&lt;p&gt;拉格朗日插值法构造了穿过已知的一组点的曲线的函数表达式。&lt;/p&gt;

&lt;p&gt;那么对于一个定积分问题，我们可以简化成求解穿过a与b两个点的曲线与X轴的面积。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Trapezoidal_rule_illustration.png/220px-Trapezoidal_rule_illustration.png&quot; alt=&quot;Trapezoidal_rule_illustration&quot; /&gt;&lt;/p&gt;

&lt;p&gt;即 \(f(x)\) 这条曲线，可以根据a与b，采用拉格朗日插值法&lt;strong&gt;近似&lt;/strong&gt;表示为 \(P_1(x)=\frac{(x-x_1)}{x_0-x_1}f(x_0)+\frac{(x-x_0)}{(x_1-x_0)}f(x_1)\)，其中\(x_0=a\)，\(x_1=b\)&lt;/p&gt;

&lt;p&gt;将\(P_1(x)\)带入求解定积分（这部分的具体推导可以&lt;a href=&quot;https://www.youtube.com/watch?v=zuFYaHE0twI&quot;&gt;翻墙看The Math Guy的视频&lt;/a&gt;）。&lt;/p&gt;

\[\int_a^b f(x)\mathrm{d}x\approx\frac{1}{(x_1-x_0)}\int_{x_0}^{x_1}[(x-x_0)f(x_1)-(x-x_1)f(x_0)]\mathrm{d}x\]

&lt;p&gt;最后结果等于 \(\frac{x_1-x_0}{2}[f(x_1)+f(x_0)]\)，将\(\frac{x_1-x_0}{2}\) 看作 \(\omega_{i}\)，假设我们已知a,b以及a,b之间一系列的点，最终可以根据拉格朗日插值法得到牛顿-柯特斯公式。&lt;/p&gt;

&lt;p&gt;上面简化成a与b两点的例子的结果就是梯形公式\(\int_a^b f(x)\mathrm{d}x\approx\frac{b-a}{2}[f(b)+f(a)]\)
简化成a,\(\frac{a+b}{2}\),b的三点的结果，就是辛普森公式 \(\int_a^b f(x)\mathrm{d}x\approx\frac{b-a}{6}[f(a)+4f(\frac{a+b}{2})+f(b)]\)&lt;/p&gt;

&lt;h3 id=&quot;12那么复化composite是什么意思呢-&quot;&gt;1.2.那么复化（composite）是什么意思呢 &lt;sup id=&quot;fnref:1&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:1&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;？&lt;/h3&gt;

&lt;p&gt;应用高阶牛顿-科特斯公式计算积分时，会出现数值不稳定的情况（[龙格现象（Runge’s phenomenon）]（https://en.wikipedia.org/wiki/Runge’s_phenomenon)），而低阶公式往往因为积分步长过大使得离散误差变大，因此，为了提高求积公式的精度，可以把积分区间分成若干个子区间，在每个子区间上使用低阶求积公式，然后将结果加起来，这种方法称为&lt;strong&gt;复化求积法&lt;/strong&gt;。&lt;/p&gt;

&lt;p&gt;将区间[a,b]划分为n等分，步长为\(h=\frac{b-a}{n}\)，节点为\(x_i=a+ih\)， \(i=1,2,...,n+1\)，在每个子区间\([x_i,x_{i+1}]\)使用梯形公式得：&lt;/p&gt;

&lt;p&gt;\(\int_a^b f(x)\mathrm{d}x \approx \sum_{i=1}^{n}\int_{x_i}^{x_{i+1}}f(x)\mathrm{d}x = \frac{h}{2}[f(a)+2\sum_{i=1}^{n-1}f(a+ih)+f(b)]\), 其中 \(h=\frac{b-a}{n}\)&lt;/p&gt;

&lt;p&gt;根据复化梯形公式的推导，同理可得复化辛普森公式为：&lt;/p&gt;

&lt;p&gt;\(\int_a^b f(x)\mathrm{d}x \approx \frac{h}{6}\sum_{i=1}^{n-1}[f(x_i)+4f(x_{i+\frac{1}{2}})+f(x_{i+1})]\), 其中 \(h=\frac{b-a}{n}\)&lt;/p&gt;

&lt;p&gt;上面这个公式对于n的取值有一些条件，辛普森法则是根据三个点的位置来推定曲线的函数表达形式，这时需要要求整个区间被分割成&lt;strong&gt;偶数份&lt;/strong&gt;&lt;sup id=&quot;fnref:2&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:2&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;，即n是偶数，公式可以写成\(\int_a^b f(x)\mathrm{d}x \approx \frac{h}{6}\sum_{j=1}^{\frac{n}{2}}[f(x_{2j-2})+4f(x_{2j-1})+f(x_{2j})]\)。&lt;/p&gt;

&lt;h2 id=&quot;2复化辛普森求积分&quot;&gt;2.复化辛普森求积分&lt;/h2&gt;

&lt;p&gt;终于到了程序的部分，求\(\frac{\sin(x)}{x}\) 从a到b的积分。&lt;/p&gt;

&lt;div class=&quot;language-cpp highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;cp&quot;&gt;#include&lt;/span&gt;&lt;span class=&quot;cpf&quot;&gt;&amp;lt;math.h&amp;gt;&lt;/span&gt;&lt;span class=&quot;cp&quot;&gt;
#include&lt;/span&gt;&lt;span class=&quot;cpf&quot;&gt;&amp;lt;stdio.h&amp;gt;&lt;/span&gt;&lt;span class=&quot;cp&quot;&gt;
#include&lt;/span&gt;&lt;span class=&quot;cpf&quot;&gt;&amp;lt;stdlib.h&amp;gt;&lt;/span&gt;&lt;span class=&quot;cp&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;   &lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;//定义节点数 &lt;/span&gt;
    &lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;//定义左右节点 &lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;No.0001复化辛普森求积分(Simpson)&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;输入节点数：&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;scanf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;%d&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;//计算几等分数 &lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;输入左端点：&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt; 
    &lt;span class=&quot;n&quot;&gt;scanf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;%lf&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt; 
    &lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;输入右端点：&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;scanf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;%lf&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt; 
   	&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pi&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;3.1415927&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;//计算几等分数 &lt;/span&gt;
	&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt;	&lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;//计算步长&lt;/span&gt;
	&lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;t1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;t2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;t&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; 
    &lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;//需要手动修改在左端点的值 &lt;/span&gt;
	&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;sin&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;pi&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;pi&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;//需要手动修改在右端点的值&lt;/span&gt;
	&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; 
    &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;sin&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;])&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;//需要手动修改&lt;/span&gt;
     	&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;t1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;t1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;
        &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;n&quot;&gt;t2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;t2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;
    	&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;n&quot;&gt;t&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;t1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;t2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;//求积分 &lt;/span&gt;
	&lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;步长h：%.7lf&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;积分值t：%.7lf&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;t&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
	&lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;输出相对应的xy值:&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;y=%.7lf---x=%.7lf&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]);&lt;/span&gt;
   	&lt;span class=&quot;n&quot;&gt;system&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;pause&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;3复化梯形求积分&quot;&gt;3.复化梯形求积分&lt;/h2&gt;

&lt;p&gt;接上，仍就求\(\frac{\sin(x)}{x}\) 从a到b的积分。&lt;/p&gt;

&lt;div class=&quot;language-c highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;
&lt;span class=&quot;cp&quot;&gt;#include&lt;/span&gt;&lt;span class=&quot;cpf&quot;&gt;&amp;lt;math.h&amp;gt;&lt;/span&gt;&lt;span class=&quot;cp&quot;&gt;
#include&lt;/span&gt;&lt;span class=&quot;cpf&quot;&gt;&amp;lt;stdio.h&amp;gt;&lt;/span&gt;&lt;span class=&quot;cp&quot;&gt;
#include&lt;/span&gt;&lt;span class=&quot;cpf&quot;&gt;&amp;lt;stdlib.h&amp;gt;&lt;/span&gt;&lt;span class=&quot;cp&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;   &lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;//定义节点数 &lt;/span&gt;
    &lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;//定义左右节点 &lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;No.0002复化梯形求积分&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;输入节点数：&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;scanf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;%d&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;//计算几等分数 &lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;输入左端点：&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt; 
    &lt;span class=&quot;n&quot;&gt;scanf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;%lf&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt; 
    &lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;输入右端点：&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;scanf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;%lf&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt; 
   	&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pi&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1415927&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
	
	&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt;	&lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;//计算步长&lt;/span&gt;
	&lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;t1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;t&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; 
    &lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;//需要手动修改在左端点的值 &lt;/span&gt;
	&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;sin&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;pi&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;pi&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;//需要手动修改在右端点的值&lt;/span&gt;
	&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; 
    &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;sin&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;])&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;//需要手动修改&lt;/span&gt;
     	&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;t1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;t1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;
        &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;n&quot;&gt;t&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;t1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;//求积分 &lt;/span&gt;
	&lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;步长h：%.7lf&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;积分值t：%.7lf&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;t&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
	&lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;输出相对应的xy值:&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
	&lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;y=%.7lf---x=%.7lf&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]);&lt;/span&gt;
   	&lt;span class=&quot;n&quot;&gt;system&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;pause&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;其实上面的程序写得都很烂，没有参考文献中的这个好。&lt;/p&gt;

&lt;div class=&quot;language-c highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;
&lt;span class=&quot;cp&quot;&gt;#include&lt;/span&gt;&lt;span class=&quot;cpf&quot;&gt;&amp;lt;stdio.h&amp;gt;&lt;/span&gt;&lt;span class=&quot;cp&quot;&gt;
#include&lt;/span&gt;&lt;span class=&quot;cpf&quot;&gt;&amp;lt;math.h&amp;gt;&lt;/span&gt;&lt;span class=&quot;cp&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;Function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;//所要计算积分的函数f(x)&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;//sin(x)/x在0处的取值为1&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;else&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;sin&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;//复化梯形公式&lt;/span&gt;
&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;Trapz&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;//复化辛普森公式&lt;/span&gt;
&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;MulripleSimpson&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;使用复化梯形公式可得：%f&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Trapz&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;8&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;使用复化辛普森公式可得：%f&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;MulripleSimpson&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;当年为了做这个作业，我的还搞了个整合代码（网上找了的程序，修改了一下），还包含了中矩形公式。&lt;/p&gt;

&lt;div class=&quot;language-cpp highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c1&quot;&gt;//数值分析--数值积分公式 &lt;/span&gt;
&lt;span class=&quot;cp&quot;&gt;#include&lt;/span&gt;&lt;span class=&quot;cpf&quot;&gt;&quot;iostream.h&quot;&lt;/span&gt;&lt;span class=&quot;cp&quot;&gt;
#include&lt;/span&gt;&lt;span class=&quot;cpf&quot;&gt;&quot;math.h&quot;&lt;/span&gt;&lt;span class=&quot;cp&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;
&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;sum&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;sum&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;sin&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;//计算公式 &lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;sum&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;initcotes&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[][&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;])&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;1.0&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;6.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;2.0&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;3.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;1.0&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;8.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;3.0&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;8.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;7.0&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;90.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;16.0&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;45.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;2.0&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;15.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;19.0&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;288.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;25.0&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;96.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;25.0&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;144.0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Trapezoid&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;cout&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;梯形公式的结果：&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;endl&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;MidRect&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;cout&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;中矩形公式的结果：&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;((&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;endl&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;NewtonCotes&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; 
  &lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;cout&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;请输入n的值（n值最多到5）：&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;cin&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;cout&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;注意n值最多到5&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;endl&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;else&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; 
  &lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
  &lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;sum&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
   &lt;span class=&quot;n&quot;&gt;sum&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;cout&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;牛顿-柯特斯公式的结果：&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;sum&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;endl&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;}&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;STrapezoid&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; 
  &lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;q&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;cout&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;1--复化梯形公式&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;endl&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;cout&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;2--复化辛普森求积公式&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;endl&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;cout&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;输入你想进行的操作：&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;cin&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;q&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;  
  &lt;span class=&quot;n&quot;&gt;cout&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;请输入n的值：&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;cin&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
  &lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;sum&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;sum&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;  &lt;span class=&quot;n&quot;&gt;sum&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
 &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;q&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
 &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;cout&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;复化梯形公式的结果：&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;sum&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;endl&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
 &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
   &lt;span class=&quot;n&quot;&gt;sum&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;cout&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;复化辛普森求积公式的结果：&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;h&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;sum&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;endl&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cout&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;No.0003数值分析--数值积分公式&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;endl&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;kt&quot;&gt;double&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;cout&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;请输入积分的下限：&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;cin&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;cout&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;请输入积分的上限：&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;cin&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;initcotes&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;while&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;cout&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;0--退出&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;endl&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
 &lt;span class=&quot;n&quot;&gt;cout&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;1--梯形公式&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;endl&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
 &lt;span class=&quot;n&quot;&gt;cout&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;2--中矩形公式&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;endl&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; 
 &lt;span class=&quot;n&quot;&gt;cout&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;3--牛顿柯特斯公式:&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;endl&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; 
 &lt;span class=&quot;n&quot;&gt;cout&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;4--复化公式&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;endl&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
 &lt;span class=&quot;n&quot;&gt;cout&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;输入你想进行的操作:&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
 &lt;span class=&quot;n&quot;&gt;cin&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
 &lt;span class=&quot;k&quot;&gt;switch&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
 &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
 &lt;span class=&quot;k&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Trapezoid&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
 &lt;span class=&quot;k&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;MidRect&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
 &lt;span class=&quot;k&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;NewtonCotes&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
 &lt;span class=&quot;k&quot;&gt;case&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;STrapezoid&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
 &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
 &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;  &lt;span class=&quot;k&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;参考资料&lt;/p&gt;

&lt;div class=&quot;footnotes&quot; role=&quot;doc-endnotes&quot;&gt;
  &lt;ol&gt;
    &lt;li id=&quot;fn:1&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;&lt;a href=&quot;https://blog.csdn.net/tengweitw/article/details/43311685&quot;&gt;【数值分析】复化积分公式&lt;/a&gt; &lt;a href=&quot;#fnref:1&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:2&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;&lt;a href=&quot;https://www.freecodecamp.org/news/simpsons-rule/&quot;&gt;Simpson’s Rule: the Formula and How it Works&lt;/a&gt; &lt;a href=&quot;#fnref:2&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
  &lt;/ol&gt;
&lt;/div&gt;
</description>
        <pubDate>Sat, 09 May 2020 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%AE%A1%E7%AE%97%E6%96%B9%E6%B3%95/2020/05/09/find-the-integration.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%AE%A1%E7%AE%97%E6%96%B9%E6%B3%95/2020/05/09/find-the-integration.html</guid>
        
        <category>复化辛普森公式</category>
        
        <category>复化梯形公式</category>
        
        <category>牛顿-柯特斯公式</category>
        
        
        <category>计算方法</category>
        
      </item>
    
      <item>
        <title>计算机图形学II--基础填充几何变换</title>
        <description>&lt;p&gt;&lt;a href=&quot;http://yulijia.net/cn/%E5%8F%AF%E8%A7%86%E4%BF%A1%E6%81%AF/2020/05/03/Computer-Graphics-I.html&quot;&gt;昨天没写完&lt;/a&gt;，今天补上后半部分。现在回想起来计算机图形学是我本科时期上的最有意思的一门课程，其他解方程如果没有联系到实际问题，实在是太枯燥了。为啥我们的本科数学教科书不能改改，从更加应用的方向讲起呢。&lt;/p&gt;

&lt;h2 id=&quot;扫描线算法&quot;&gt;扫描线算法&lt;/h2&gt;

&lt;p&gt;扫描线算法(Scanline rendering, Scanline alghorithm)主要用途是填充在屏幕上显示的几何图形。这个方法就是一个点一个点、一条线一条线，像扫描一样，把一个多边形的内部填满。
要想填充多边形内部的所有像素，需要找到一种合适的规则，能够沿着一个方向，一个像素不漏地把多边形内部填满，同时不污染多边形外部。于是上世纪六十年代，人们发明了一条水平方向的扫描线，它从\(y=0\)开始，判断与多边形的交点，这些交点把扫描线分成了若干段，之后判断哪些“段”在多边形内部，哪些“段”在多边形外部，然后把内部的部分着色，完成后，令\(y=y+1\)，即扫描线上移一格，重复之前的操作，直到扫描线不再与多边形的任何部分相交。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/i7tDkvh.gif&quot; alt=&quot;ScanLine&quot; /&gt;&lt;/p&gt;

&lt;p&gt;我的这个程序里用Bresenham’s line 的方法画多边形的边，然后用扫描线算法判断哪些像素是在多边形内部。&lt;/p&gt;

&lt;div class=&quot;language-matlab highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;k&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;scanline&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;%测试数据：&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;% x=[10 50 30]./2;y=[30 20 70]./2;&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;% x=[10 30 50 20]./2;y=[20 10 50 70]./2;&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;% x=[20 50 110 110 50 20]./5;y=[20 10 30 80 50 70]./5;&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;% x=[20 25 210 110 80 20 50]./5;y=[20 5 60 80 50 70 35]./5;&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;% x=[20 25 100 210 110 80 20 50]./5;y=[20 5 40 30 80 50 70 35]./5; &lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;length&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;kk&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)];&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)];&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Bresenhamline&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;%画边&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;kk&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;kk&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;kk&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,:);&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;m&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;kk&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;y0&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;min&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(:,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;y1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;max&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(:,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;yy&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;datayy&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;inf&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;inf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;while&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;yy&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y1&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;m&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;yy&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;D&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;yy&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;         
        &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;d0&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;min&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;D&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;yy&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;d1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;max&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;D&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;yy&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;d0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;d1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;%          pause(0.001);&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;%         plot(j,yy,&apos;ro&apos;);&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;datayy&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;datayy&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;yy&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;   
    &lt;span class=&quot;n&quot;&gt;yy&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;yy&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;


&lt;span class=&quot;n&quot;&gt;x0&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;min&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(:,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;max&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(:,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;xx&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;dataxx&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;inf&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;inf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;while&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;xx&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;m&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;xx&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;D&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;xx&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;         
        &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;

    &lt;span class=&quot;n&quot;&gt;d0&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;min&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;D&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;xx&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;d1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;max&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;D&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;xx&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;d0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;d1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;%          pause(0.001);&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;%         plot(xx,j,&apos;ro&apos;);&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;dataxx&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;dataxx&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;xx&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;    
    &lt;span class=&quot;n&quot;&gt;xx&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;xx&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;size&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;dataxx&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(:,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;size&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;dataxx&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(:,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;size&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;dataxx&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(:,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;size&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;datayy&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(:,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
            &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;dataxx&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;datayy&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;dataxx&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;datayy&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
                &lt;span class=&quot;nb&quot;&gt;plot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;dataxx&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;dataxx&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;ro&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
                 &lt;span class=&quot;nb&quot;&gt;pause&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.001&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
            &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;else&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;size&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;datayy&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(:,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;size&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;dataxx&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(:,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
            &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;datayy&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;dataxx&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;datayy&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;dataxx&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
                &lt;span class=&quot;nb&quot;&gt;plot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;datayy&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;datayy&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;ro&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
                 &lt;span class=&quot;nb&quot;&gt;pause&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.001&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
            &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;其他图形变换&quot;&gt;其他图形变换&lt;/h2&gt;

&lt;p&gt;最终我为了展示自己所有的画图方法，搞了个大demo程序，把所有画线和几何图形的变换都囊括在一张图里。程序里可能还有些bug。
这其中包括：旋转变化，平移变换，比例变换，对称变换（关于x轴），错切变换，相对(2,2)点的旋转变换。&lt;/p&gt;

&lt;p&gt;错切变换（transvection）是啥？就是把矩形变成平行四边形的变换。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/Iqxrvi9.png&quot; alt=&quot;demo&quot; /&gt;&lt;/p&gt;

&lt;div class=&quot;language-matlab highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;k&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;demo&lt;/span&gt;
    &lt;span class=&quot;nb&quot;&gt;figure&lt;/span&gt;
    &lt;span class=&quot;nb&quot;&gt;subplot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;   
    &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Dx&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Dy&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;DDALine&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;8&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;%DDALine(x(1),y(1),x(2),y(2))&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Bresenhamline&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;7&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;%Bresenhamline(x(1),y(1),x(2),y(2))&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;Bx&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(:,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;By&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;X2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(:,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;  
&lt;span class=&quot;c1&quot;&gt;%----------------------------------------------    &lt;/span&gt;
    &lt;span class=&quot;c1&quot;&gt;%二维几何变换&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;45&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;cos&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;sin&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
       &lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;sin&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;cos&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
       &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;
    &lt;span class=&quot;nb&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;旋转变换(逆时针)&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
    &lt;span class=&quot;nb&quot;&gt;xlabel&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;x&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
    &lt;span class=&quot;nb&quot;&gt;ylabel&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;y&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt; 
   &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;size&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Dx&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(:))&lt;/span&gt;
       &lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;double&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Dx&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;double&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Dy&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;
       &lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
       &lt;span class=&quot;n&quot;&gt;XX&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
       &lt;span class=&quot;n&quot;&gt;YY&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
       &lt;span class=&quot;nb&quot;&gt;plot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;XX&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;YY&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;*- k&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
   &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
   &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;size&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Bx&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(:))&lt;/span&gt;
       &lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;double&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Bx&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;double&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;By&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;
       &lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
       &lt;span class=&quot;n&quot;&gt;XXX&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
       &lt;span class=&quot;n&quot;&gt;YYX&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
       &lt;span class=&quot;nb&quot;&gt;plot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;XXX&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;YYX&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;*- y&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
   &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;%----------------------------------------------    &lt;/span&gt;
   &lt;span class=&quot;nb&quot;&gt;subplot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
       &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
       &lt;span class=&quot;mi&quot;&gt;4&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;5&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;
   
   &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;size&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Bx&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(:))&lt;/span&gt;
       &lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;double&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Bx&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;double&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;By&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;
       &lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
       &lt;span class=&quot;n&quot;&gt;XXX&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
       &lt;span class=&quot;n&quot;&gt;YYX&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
        &lt;span class=&quot;nb&quot;&gt;plot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;XXX&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;YYX&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;*- g&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;nb&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;平移变换&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
        &lt;span class=&quot;nb&quot;&gt;xlabel&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;x&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
        &lt;span class=&quot;nb&quot;&gt;ylabel&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;y&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt; 
   &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
   &lt;span class=&quot;nb&quot;&gt;hold&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;on&lt;/span&gt;
   &lt;span class=&quot;nb&quot;&gt;plot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Bx&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;By&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;* b&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;%----------------------------------------------&lt;/span&gt;
   &lt;span class=&quot;nb&quot;&gt;subplot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
       &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
       &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;
   
   &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;size&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Bx&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(:))&lt;/span&gt;
       &lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;double&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Bx&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;double&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;By&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;
       &lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
       &lt;span class=&quot;n&quot;&gt;XXX&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
       &lt;span class=&quot;n&quot;&gt;YYX&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
        &lt;span class=&quot;nb&quot;&gt;plot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;XXX&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;YYX&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;*- g&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;nb&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;比例变换&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
        &lt;span class=&quot;nb&quot;&gt;xlabel&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;x&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
        &lt;span class=&quot;nb&quot;&gt;ylabel&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;y&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt; 
   &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
   &lt;span class=&quot;nb&quot;&gt;hold&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;on&lt;/span&gt;
   &lt;span class=&quot;nb&quot;&gt;plot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Bx&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;By&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;* b&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;%----------------------------------------------&lt;/span&gt;
   &lt;span class=&quot;nb&quot;&gt;subplot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
       &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
       &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;
   
   &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;size&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Bx&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(:))&lt;/span&gt;
       &lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;double&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Bx&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;double&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;By&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;
       &lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
       &lt;span class=&quot;n&quot;&gt;XXX&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
       &lt;span class=&quot;n&quot;&gt;YYX&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
        &lt;span class=&quot;nb&quot;&gt;plot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;XXX&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;YYX&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;*- g&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;nb&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;对称变换(关于x轴)&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
        &lt;span class=&quot;nb&quot;&gt;xlabel&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;x&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
        &lt;span class=&quot;nb&quot;&gt;ylabel&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;y&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt; 
   &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
   &lt;span class=&quot;nb&quot;&gt;hold&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;on&lt;/span&gt;
   &lt;span class=&quot;nb&quot;&gt;plot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Bx&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;By&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;* b&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;%----------------------------------------------&lt;/span&gt;
   &lt;span class=&quot;nb&quot;&gt;subplot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
       &lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
       &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;
   
   &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;size&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Bx&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(:))&lt;/span&gt;
       &lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;double&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Bx&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;double&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;By&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;
       &lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
       &lt;span class=&quot;n&quot;&gt;XXX&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
       &lt;span class=&quot;n&quot;&gt;YYX&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
        &lt;span class=&quot;nb&quot;&gt;plot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;XXX&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;YYX&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;*- g&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;nb&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;对称变换(关于y=-x轴)&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
        &lt;span class=&quot;nb&quot;&gt;xlabel&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;x&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
        &lt;span class=&quot;nb&quot;&gt;ylabel&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;y&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt; 
   &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
   &lt;span class=&quot;nb&quot;&gt;hold&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;on&lt;/span&gt;
   &lt;span class=&quot;nb&quot;&gt;plot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Bx&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;By&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;* b&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
   &lt;span class=&quot;c1&quot;&gt;%----------------------------------------------&lt;/span&gt;
   &lt;span class=&quot;nb&quot;&gt;subplot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;6&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
       &lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
       &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;
   &lt;span class=&quot;n&quot;&gt;zx&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;5&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;
   &lt;span class=&quot;n&quot;&gt;zy&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;4&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;
   &lt;span class=&quot;nb&quot;&gt;clear&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;XXX&lt;/span&gt;
   &lt;span class=&quot;nb&quot;&gt;clear&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;YYX&lt;/span&gt;
   &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;size&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;zx&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(:))&lt;/span&gt;
       &lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;double&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;zx&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;double&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;zy&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;
       &lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
       &lt;span class=&quot;n&quot;&gt;XXX&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
       &lt;span class=&quot;n&quot;&gt;YYX&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
        &lt;span class=&quot;nb&quot;&gt;plot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;XXX&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;YYX&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;*- g&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;nb&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;错切变换&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
        &lt;span class=&quot;nb&quot;&gt;xlabel&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;x&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
        &lt;span class=&quot;nb&quot;&gt;ylabel&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;y&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt; 
   &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
   &lt;span class=&quot;nb&quot;&gt;hold&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;on&lt;/span&gt;
   &lt;span class=&quot;nb&quot;&gt;plot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;zx&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;zy&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;*- b&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
   &lt;span class=&quot;c1&quot;&gt;%----------------------------------------------&lt;/span&gt;
   &lt;span class=&quot;nb&quot;&gt;subplot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;7&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;T1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
       &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
       &lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;
   &lt;span class=&quot;n&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;cos&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;sin&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
       &lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;sin&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;cos&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
       &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;
   &lt;span class=&quot;nb&quot;&gt;clear&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;XXX&lt;/span&gt;
   &lt;span class=&quot;nb&quot;&gt;clear&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;YYX&lt;/span&gt;
   &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;size&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Bx&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(:))&lt;/span&gt;
       &lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;double&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Bx&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;double&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;By&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;
       &lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;T1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;T1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
       &lt;span class=&quot;n&quot;&gt;XXX&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
       &lt;span class=&quot;n&quot;&gt;YYX&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;z&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
        &lt;span class=&quot;nb&quot;&gt;plot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;XXX&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;YYX&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;*- g&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;nb&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;相对(2,2)点的旋转变换&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
        &lt;span class=&quot;nb&quot;&gt;xlabel&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;x&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
        &lt;span class=&quot;nb&quot;&gt;ylabel&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;y&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt; 
   &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
   &lt;span class=&quot;nb&quot;&gt;hold&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;on&lt;/span&gt;
   &lt;span class=&quot;nb&quot;&gt;plot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Bx&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;By&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;* b&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
</description>
        <pubDate>Mon, 04 May 2020 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E5%8F%AF%E8%A7%86%E4%BF%A1%E6%81%AF/2020/05/04/Computer-Graphics-II.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E5%8F%AF%E8%A7%86%E4%BF%A1%E6%81%AF/2020/05/04/Computer-Graphics-II.html</guid>
        
        <category>Scanline rendering</category>
        
        
        <category>可视信息</category>
        
      </item>
    
      <item>
        <title>树根和回文串</title>
        <description>&lt;p&gt;还是那个&lt;a href=&quot;http://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2020/01/02/Write-code.html&quot;&gt;code文件夹&lt;/a&gt;里的东西，现在写代码的习惯里必须再增加一条，写明这个程序的作用。我整理了不少图形图像和online judge的程序，每次回想程序的用途都是一件非常麻烦的事情，有的时候根本就想不起来。&lt;/p&gt;

&lt;h2 id=&quot;树根&quot;&gt;树根&lt;/h2&gt;

&lt;p&gt;这个问题非常的经典，具体的介绍可以参照&lt;a href=&quot;https://www.zhihu.com/question/30972581&quot;&gt;知乎&lt;/a&gt;中&lt;a href=&quot;https://leetcode.wang/leetcode-258-Add-Digits.html&quot;&gt;leetcode.wang的介绍&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/9n8pfkZ.jpg&quot; alt=&quot;DigitalRoot&quot; /&gt;&lt;/p&gt;

&lt;p&gt;对于给定的数字，将其每一位上的数字相加得到新的数字，一直重复这个过程，直到这个数小于10，将这个数输出。&lt;/p&gt;

&lt;p&gt;原数是&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;n&lt;/code&gt;，树根就可以表示成&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;(n-1) mod 9 + 1&lt;/code&gt;。 主要的用途是计算模运算的同余，对于非常大的数字的情况下可以节省很多时间。数字根可作为一种检验计算正确性的方法。例如，两数字的和的数根等于两数字分别的数根的和。&lt;/p&gt;

&lt;p&gt;当时做这道题的时候，想到了树根的问题，但是没有求出其表达式，因而采用了一个比较苯的办法来做计算，即排除数字9,在一个多位数字中，排除9和0的其他数字之和不影响最终的树根结果。那么我就在计算的时候默认排除了9和0的加法运算。&lt;/p&gt;

&lt;p&gt;写了一大长串程序，其中的&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;char - &apos;0&apos;&lt;/code&gt; 是ASCII运算，将字符转换成其对应的数字，&lt;u&gt;这个程序也是本篇文章中唯一可以正常运行的程序&lt;/u&gt;。&lt;/p&gt;

&lt;div class=&quot;language-c highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;cp&quot;&gt;#include&lt;/span&gt; &lt;span class=&quot;cpf&quot;&gt;&amp;lt;stdio.h&amp;gt;&lt;/span&gt;&lt;span class=&quot;cp&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;kt&quot;&gt;unsigned&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;long&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
      &lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;flag&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
      &lt;span class=&quot;kt&quot;&gt;char&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
      &lt;span class=&quot;k&quot;&gt;while&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
      &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
              &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;flag&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
              &lt;span class=&quot;n&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;getchar&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;();&lt;/span&gt;
              &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;sc&quot;&gt;&apos;0&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
              &lt;span class=&quot;k&quot;&gt;else&lt;/span&gt;
          &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;     &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;sc&quot;&gt;&apos;0&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
              &lt;span class=&quot;k&quot;&gt;while&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;((&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;getchar&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;())&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;!=&lt;/span&gt;&lt;span class=&quot;sc&quot;&gt;&apos;\n&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
          &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
                 &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(((&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;sc&quot;&gt;&apos;0&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;!=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;9&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;((&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;sc&quot;&gt;&apos;0&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;!=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
                 &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
                     &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;sc&quot;&gt;&apos;0&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;                             
                 &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
          &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
         &lt;span class=&quot;c1&quot;&gt;// c=&apos;0&apos;;&lt;/span&gt;
          &lt;span class=&quot;k&quot;&gt;while&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;flag&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
          &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;9&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
              &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
                  &lt;span class=&quot;k&quot;&gt;while&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;!=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
                  &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;    &lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;%&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
                       &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
                  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
                  &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;9&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; 
                  &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
                      &lt;span class=&quot;n&quot;&gt;flag&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
                      &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
                      &lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
                  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
                  &lt;span class=&quot;k&quot;&gt;else&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
                       &lt;span class=&quot;n&quot;&gt;flag&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
                       &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
                       &lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;          
                       &lt;span class=&quot;k&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
                       &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;            
              &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
              &lt;span class=&quot;k&quot;&gt;else&lt;/span&gt;
              &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
                  &lt;span class=&quot;k&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
              &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
          &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
          &lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;%d&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
         &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;  
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;谁知道其实答案如此简单&lt;code&gt;(⊙ˍ⊙)&lt;/code&gt;。&lt;/p&gt;

&lt;div class=&quot;language-c highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;addDigits&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;num&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;num&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;%&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;9&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;回文串&quot;&gt;回文串&lt;/h2&gt;

&lt;p&gt;这程序里有bug，目前无法自动停止。输入一串数字，判断这窜数字是否有回文结构。这个题目主要靠算法思想，但是我没什么思想，只会最简单的按位比较.&lt;/p&gt;

&lt;p&gt;例如：输入123321，返回YES；输入123231,返回NO。&lt;/p&gt;

&lt;div class=&quot;language-c highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;cp&quot;&gt;#include&lt;/span&gt; &lt;span class=&quot;cpf&quot;&gt;&amp;lt;cstring&amp;gt;&lt;/span&gt;&lt;span class=&quot;cp&quot;&gt;
#include&lt;/span&gt;&lt;span class=&quot;cpf&quot;&gt;&amp;lt;iostream&amp;gt;&lt;/span&gt;&lt;span class=&quot;cp&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;using&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;namespace&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;std&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;isPalindrome&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;char&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;str&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[])&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;len&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;strlen&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;str&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
    &lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;len&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;while&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;str&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;!=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;str&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;])&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(){&lt;/span&gt;
    &lt;span class=&quot;kt&quot;&gt;char&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;str&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10001&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;
    &lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;cin&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;while&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;   &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;cin&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;str&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;isPalindrome&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;str&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cout&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;YES&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;endl&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cout&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;NO&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;endl&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;其他&quot;&gt;其他&lt;/h2&gt;

&lt;p&gt;我忘记了这个程序是做什么的，程序名称是MaxArray，估计是个找最大array相关的程序。从这个例子中深刻的体会到，写代码注释的重要性。&lt;/p&gt;

&lt;div class=&quot;language-c highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;cp&quot;&gt;#include&lt;/span&gt; &lt;span class=&quot;cpf&quot;&gt;&amp;lt;stdio.h&amp;gt;&lt;/span&gt;&lt;span class=&quot;cp&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;//#include &amp;lt;stdlib.h&amp;gt;&lt;/span&gt;
&lt;span class=&quot;cp&quot;&gt;#define MAX 130
&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;maxSum&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[],&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;max&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;
    &lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;sum&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;sum&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;sum&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;sum&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;sum&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;max&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;max&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;sum&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;max&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;solve&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[][&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;MAX&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;MAX&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;sum&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;tmp&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;sum&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;k&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;j&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;k&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;
            &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;sum&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;tmp&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;maxSum&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;sum&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;tmp&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;sum&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;arr&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;MAX&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;MAX&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;
    &lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;while&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;scanf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;%d&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;!=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;EOF&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
            &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;j&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
                &lt;span class=&quot;n&quot;&gt;scanf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;%d&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;arr&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]);&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;%d&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;solve&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;arr&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;));&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;break&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;c1&quot;&gt;//  system(&quot;pause&quot;);&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
</description>
        <pubDate>Sun, 03 May 2020 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E7%BC%96%E7%A8%8B%E5%8E%9F%E7%90%86/2020/05/03/digital-root-and-palindrome.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E7%BC%96%E7%A8%8B%E5%8E%9F%E7%90%86/2020/05/03/digital-root-and-palindrome.html</guid>
        
        <category>树根</category>
        
        <category>C++</category>
        
        
        <category>编程原理</category>
        
      </item>
    
      <item>
        <title>老古董Fortran</title>
        <description>&lt;p&gt;依旧是整理&lt;a href=&quot;http://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2020/01/02/Write-code.html&quot;&gt;code文件夹&lt;/a&gt;里的东西，Fortran语言基本上被我当作化石了，除了在久远的“遗产代码”中你会看到这门语言，当今，应该没有人将它用作主要的编程语言。&lt;/p&gt;

&lt;p&gt;我在学习Fortran的时候还是用的 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;g77&lt;/code&gt;，但是现在发现，在我的系统里只能使用&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gfortran&lt;/code&gt;来编译了。&lt;/p&gt;

&lt;p&gt;下面是写过的唯一一个代码，其中&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;C&lt;/code&gt;开头的是注释，编译方法是 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gfortran helloworld.f -o helloworld&lt;/code&gt;。&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;传统的 Fortran 程序只能用大写字符书写，而且每行前六个字符为特定用途所保留。第一列为字符 C 所保留，用来表征整行都是注释。第二列到第六列是为标号预留的。代码从第七列开始。下面是示例程序采用的是传统的 Fortran 格式。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class=&quot;language-fortran highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;   &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;helloworld&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
      &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;PROGRAM&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;HELLOWORLD&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
      &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;WRITE&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
   &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;FORMAT&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;hello, world&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
      &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;END&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;PROGRAM&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;HELLOWORLD&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;   &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;http&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;://&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;wiki&lt;/span&gt;&lt;span class=&quot;ow&quot;&gt;.ubuntu.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;org&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;cn&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Compiling_Fortran77&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;   &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;g77&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;helloworld&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;o&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;helloworld&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;

&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;希望这些老古董能尽早退役吧。&lt;/p&gt;
</description>
        <pubDate>Sun, 03 May 2020 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%BD%AF%E4%BB%B6%E4%B8%96%E7%95%8C/2020/05/03/Fortran.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%BD%AF%E4%BB%B6%E4%B8%96%E7%95%8C/2020/05/03/Fortran.html</guid>
        
        <category>Fortran</category>
        
        
        <category>软件世界</category>
        
      </item>
    
      <item>
        <title>计算机图形学I--基础画线</title>
        <description>&lt;p&gt;为什么我今天这么闲，可以更水这么多篇博客，那是因为昨天在家办公感觉比在办公室还累，所以索性不干了。&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;(* ￣︿￣)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;本篇内容所有程序都是MATLAB/GNU Octave上运行的。&lt;/p&gt;

&lt;p&gt;注意：有没有最后的&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;end&lt;/code&gt;可能是上面两个编译环境的区别，但是我没有安装MATLAB，所以没法测试MATLAB现在的函数组成中是否仍旧不带最后一个&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;end&lt;/code&gt;。&lt;/p&gt;

&lt;h2 id=&quot;数值微分法画线&quot;&gt;数值微分法画线&lt;/h2&gt;

&lt;p&gt;众所周知，在屏幕上连续的点组成了线条。那么如何在计算机中模拟这些由“点”生成的线呢，这就是计算机图形学要研究的内容，其中最简单的一个问题就是画直线。&lt;/p&gt;

&lt;p&gt;数值微分法（ Digital Differential Analyzer，DDA）是一种处理此种问题的经典算法。&lt;/p&gt;

&lt;p&gt;算法思想：&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;给定一条线段的起点\((x_1, y_1)\)和终点\((x_2, y_2)\)，分别计算在两轴上的差值 \(\Delta y = y_{2} - y_{1}\) 和 \(\Delta x = x_{1} - x_{2}\)。&lt;/li&gt;
  &lt;li&gt;比较\(\Delta y\)和\(\Delta x\)二者谁比较大，大的那一个就作为遍历的总步数。\(steps = max(\Delta x, \Delta y)\)。我的程序中简化了这个部分，直接把x作为主序方向。&lt;/li&gt;
  &lt;li&gt;计算在x和y方向上单步的步距。 \(d_x = \frac{\Delta x}{steps}\)，\(d_y = \frac{\Delta y}{steps}\)。我的程序里只计算了y方向的单步距离，x方向一直是“进1”。&lt;/li&gt;
  &lt;li&gt;我的程序中根据\(x_0\)和\(x_1\)的大小决定划线的方向，y增长的部分是根据斜率和目前点的位置来计算的。这个过程涉及大量的浮点运算，效率上是比较低的。&lt;/li&gt;
&lt;/ol&gt;

&lt;div class=&quot;language-matlab highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;k&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Xdata&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Ydata&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;DDALine&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;% DDALine(8,9,2,6)&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;% DDALine(2,6,8,9)&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;% DDALine(1,9,6,5)&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;% DDALine(6,5,1,9)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;deltaX&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;deltaY&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;deltaX&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;~=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;deltaY&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;~=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;Slope&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;double&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;deltaY&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)/&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;double&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;deltaX&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;CurrentY&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;double&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;x0&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;CurrentX&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;int8&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;int8&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
                &lt;span class=&quot;nb&quot;&gt;plot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;CurrentX&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;int8&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;CurrentY&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;* r&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
                &lt;span class=&quot;n&quot;&gt;Xdata&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;CurrentX&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
                &lt;span class=&quot;n&quot;&gt;Ydata&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;int8&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;CurrentY&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
                &lt;span class=&quot;nb&quot;&gt;hold&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;on&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
                
                &lt;span class=&quot;n&quot;&gt;CurrentY&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Slope&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;CurrentY&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
                &lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
     &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;x0&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;CurrentX&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;int8&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;int8&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
            &lt;span class=&quot;nb&quot;&gt;plot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;CurrentX&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;int8&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;CurrentY&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;* r&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;Xdata&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;CurrentX&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;Ydata&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;int8&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;CurrentY&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mf&quot;&gt;0.5&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
            &lt;span class=&quot;nb&quot;&gt;hold&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;on&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
            
            &lt;span class=&quot;n&quot;&gt;CurrentY&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Slope&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;CurrentY&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
    &lt;span class=&quot;nb&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;DDAline&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
    &lt;span class=&quot;nb&quot;&gt;xlabel&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;x&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
    &lt;span class=&quot;nb&quot;&gt;ylabel&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;y&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
    &lt;span class=&quot;nb&quot;&gt;hold&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;on&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;deltaX&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;deltaY&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;~=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;
    &lt;span class=&quot;nb&quot;&gt;plot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;min&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;max&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;* r&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;deltaX&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;~=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;deltaY&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;
    &lt;span class=&quot;nb&quot;&gt;plot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;min&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;max&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;* r&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;grid&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;on&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;h2 id=&quot;bresenhams-line-algorithm&quot;&gt;Bresenham’s line algorithm&lt;/h2&gt;

&lt;p&gt;Bresenham line’s algorithm 是DDA的一种改进算法。它与DDA相比有质量和效率的两点改进：&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;以y方向为例，Bresenham line 根据斜率的方向，决定每一个点是离\(y_1\)还是\(y_2\)近，从而给出下一个点的位置究竟是y+1还是y-1。&lt;/li&gt;
  &lt;li&gt;由于上述原因，该方法避免了大量的浮点小数计算。&lt;/li&gt;
&lt;/ol&gt;

&lt;div class=&quot;language-matlab highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;k&quot;&gt;function&lt;/span&gt;  &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Bresenhamline&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;% Bresenhamline(8,9,2,6)&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;% Bresenhamline(2,6,8,9)&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;% Bresenhamline(1,9,6,5)&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;% Bresenhamline(6,5,1,9)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;dx&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;dy&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;d1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;abs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;dx&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;d2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;abs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;dy&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;nb&quot;&gt;plot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;*&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;abs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;dx&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;abs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;dy&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;e&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=-&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;abs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;dx&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;while&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;abs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;~=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;abs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;dx&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;dx&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;e&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;e&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;d2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;e&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;dy&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;dy&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;e&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;e&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;d1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;          
    &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
    &lt;span class=&quot;nb&quot;&gt;hold&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;on&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;nb&quot;&gt;hold&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;on&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;nb&quot;&gt;plot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;*&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;abs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;dx&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;abs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;dy&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;e&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=-&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;abs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;dy&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;while&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;abs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;~=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;abs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;dy&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;dy&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;e&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;e&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;d1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;e&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;dx&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
            &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;dx&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;e&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;e&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;d2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;          
    &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
    &lt;span class=&quot;nb&quot;&gt;hold&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;on&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;nb&quot;&gt;hold&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;on&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;nb&quot;&gt;plot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;*&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;hold&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;on&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;grid&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;on&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

</description>
        <pubDate>Sun, 03 May 2020 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E5%8F%AF%E8%A7%86%E4%BF%A1%E6%81%AF/2020/05/03/Computer-Graphics-I.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E5%8F%AF%E8%A7%86%E4%BF%A1%E6%81%AF/2020/05/03/Computer-Graphics-I.html</guid>
        
        <category>Bresenham&apos;s line algorithm</category>
        
        <category>Digital Differential Analyzer</category>
        
        
        <category>可视信息</category>
        
      </item>
    
      <item>
        <title>不要让媒体定义你看待事物的方式</title>
        <description>&lt;p&gt;这因该是最近关于新冠最后的一篇博文了，由于我也在做相关的边缘辅助工作，工作量大，负能量也大，但是不能因为这些问题而让生活变得更糟。&lt;/p&gt;

&lt;p&gt;由于美国政府对疫情应对不利，特朗普为了保护他的选举基本盘，已经丧心病狂的直呼新冠病毒是China/Chinese病毒，特朗普上台以后就一直在挑起种族歧视，称中国留学生是间谍，很多华裔学者/对华人有好的学者在美遭受无端调查和指控。&lt;/p&gt;

&lt;p&gt;澳大利亚一直是美国的坚定支持者和追随者，反华政策这些年间也接连不断，疫情初期停止中国人入境的国家就属美国和澳大利亚最快。国内的普通人自然会对这两国有着强烈的不满。国内的媒体也会引导舆论，揭露这两国的政客对中国的无端指控和造谣。但是今天新闻出了一个消息“澳总理称美国是澳感染病例最大来源”，这一时间，让很多人认为澳大利亚站在了我们这边，开始谴责美国。结果很多人都在调侃，澳大利亚的立场要偏向中国了，因为他们想要医护物品援助。不管怎样解读，媒体都很好的带起了节奏 —— 即，更多的国家意识到美国是传播疫情的国家。（究竟是不是，我也不知道，但下结论必须有科学严谨的分析，目前的全球状况，我们还是多关注怎么控制传播，治疗疾病，早日结束疫情吧。） 殊不知，莫里森后面就说了新冠疫情起源于中国，传播到了全世界。&lt;/p&gt;

&lt;p&gt;如果仔细听这期&lt;a href=&quot;https://www.2gb.com/scott-morrison-says-now-is-the-right-time-to-close-our-borders/&quot;&gt;电台广播&lt;/a&gt;，你可以知道莫里森没有对任何国家进行谴责、辩护或者讨好，他只是在陈述&lt;strong&gt;他认为的事实情况&lt;/strong&gt;：由于美澳交往密切，所以澳洲的病例大多源自美国，但是新冠疫情最初爆发在中国，传遍了整个世界。目前为止，没有证据表明任何国家，包括中国，在故意做任何事情。&lt;/p&gt;

&lt;p&gt;这并不能说明澳大利亚看待疫情的立场出现了变化，并且开始偏向中国，指责美国。他们想不想借此要中国防护物资单说。&lt;/p&gt;

&lt;p&gt;这让我想到n年前，我的同事为了介绍媒体的作用，用到的一幅图《不要让媒体定义你看待事物的方式》&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/4U367cX.jpg&quot; alt=&quot;Don&apos;t_let_media_define_the_way_you_see_things&quot; /&gt;&lt;/p&gt;

&lt;p&gt;媒体可以让人们了解真相，也可以做到颠倒黑白。&lt;/p&gt;

&lt;p&gt;如果要看国外消息，最好找原始出处，就像国内的新闻会有“反转”一样，被别有用心剪辑的新闻，能让你对某些事物产生错误的看法。有条件就不要看剪辑后的内容，因为，它很有可能为了突出某种观点而掩盖内容的完整性。&lt;/p&gt;

&lt;p&gt;对于中国的攻击会因为疫情而不断持续，并且在美国会变得是一件政治正确的事情，这会煽动很多人的反华情绪，海外华侨华人多保重吧。&lt;/p&gt;

</description>
        <pubDate>Sun, 22 Mar 2020 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2020/03/22/Do-not-let-media-define-the-way-you-see-things.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2020/03/22/Do-not-let-media-define-the-way-you-see-things.html</guid>
        
        <category>媒体</category>
        
        <category>特朗普</category>
        
        <category>莫里森</category>
        
        
        <category>聚类不能</category>
        
      </item>
    
      <item>
        <title>官本位文化和玄勇式中层</title>
        <description>&lt;p&gt;我在做聘用制员工，单位在新冠疫情期间不给聘用制员工配备口罩（编制内员工有，从4月开始，他们也给我发口罩了，在这之前只有同事接济一下，但不清楚是否所有的聘用员工都有发，室与室之间是否存在差别。2020年5月3日更新）;之前聘用制员工都没有年度体检，我去找领导要求体检（所以今年可以体检了）;并且聘用制员工不给办理胸卡，因为疫情没胸卡的不能在食堂吃饭之后，为了吃饭给我们集体办理了胸卡。就先不说这么多乱七八糟的区别对待和疫情期间的一刀切政策了。&lt;/p&gt;

&lt;p&gt;最近遇到了这么一个有点恶心的事情，我去吃饭，现在需要刷二维码填报个人信息，但是当时没有在进大楼门口时出示，被保安追来要求出去刷二维码，保安只会追我这种不穿白大衣的（难道单位就不觉得穿着白大衣去食堂很葬么。。。白大衣是工作服，总会曾到一些污染物。为啥食堂还不禁止穿白大衣打饭？？这单位真的各种骚操作），因为他不确定我是否真的是员工。我就回到门口刷二维码，并且堵住了其他穿白大衣的员工，让他们也刷码或者出示刷好的截图。结果就堵住了中曾领导和其同事，他的同事也没有刷码，说自己早就刷过了，保安根本不拦截，直接让入内。我就指着那个人说他没有出示证明，之后又指着保安&lt;strong&gt;大声&lt;/strong&gt;说了“要查一起查，不要区别对待”（我很生气），结果这位中层估计是觉得我让他挂不住面子，让我站住，说我不配合检查，不尊重保安，给我领导现在打电话，我还主动把胸卡还递给他，让他方面报我名字找我领导，中曾做完这些之后，可能感觉自己站在了什么制高点，高高兴兴的和同事一起走了。。。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;当然，我必须说自己没有执行出示二维码凭证，是不按照规定做事，做得不对，对保安指着说话是不礼貌的，以后遇到这种事情不能自己激动。&lt;/strong&gt; 但是单位里这么多员工，也不是每人进出大楼都会出示二维码。要执行规定，还应一视同仁。&lt;/p&gt;

&lt;p&gt;这保安也就是官本位文化深入骨髓，以自己的规则代替规定，执行检查时，会影响自己饭碗的争一只眼闭一只眼，可以给自己增添“业绩”的严格做。就是有这样的下属和中层，执行规定时才会有漏洞，进而产生更大的问题。&lt;/p&gt;

&lt;p&gt;对了，打饭出来，看见那位保安对其他穿白大衣的，也不检查。 &lt;code&gt;╮（╯＿╰）╭&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;===============&lt;/p&gt;

&lt;p&gt;2020年5月3日更新&lt;/p&gt;

&lt;p&gt;更新来了，目前单位已经不知道到底要怎么查了，一开始都要查体温和二维码，然后只查体温，后来又变成只查二维码，保安也换了一波又一波。反正穿白大褂的查不严格。我觉得任何人穿个白大衣都能随便进出主楼。&lt;/p&gt;

&lt;p&gt;===============&lt;/p&gt;

&lt;p&gt;2020年5月27日更新&lt;/p&gt;

&lt;p&gt;这个中层，今天大摇大摆的跟着自己的好朋友一起去吃饭，不亮二维码，毫无阻拦的进入主楼。只许州官放火，不许百姓点灯做得太标准了。&lt;/p&gt;
</description>
        <pubDate>Fri, 20 Mar 2020 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2020/03/20/Officer-based-Culture.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2020/03/20/Officer-based-Culture.html</guid>
        
        <category>官本位</category>
        
        
        <category>聚类不能</category>
        
      </item>
    
      <item>
        <title>火星救援</title>
        <description>&lt;p&gt;终于看完了几年前就计划看的电影，影片开始的灾难让我不知为何有一点脱戏，之前一直卡在了呆蒙被伙伴抛弃在火星的剧情最开始阶段，这部小说也躺在kindle里没有翻看过，这回终于看完了。不得不说的确是最近几年最好的科幻电影（没有之一）。&lt;/p&gt;

&lt;p&gt;记得去年也看了中国科幻影史上最牛的流浪地球，和这部对比起来，流浪地球感觉幻想成分更多，是个大片，但是谁也不想生活在那样的地球时代。&lt;/p&gt;

&lt;p&gt;火星救援更偏向现实风格，是登月的延伸，结合拯救呆蒙的主题，让观众更有同感。&lt;/p&gt;

&lt;p&gt;但不管怎么说，看影片总觉得呆蒙的有些操作可以让他在火星死上好几次了，尤其是最后戳破太空服，凭借右手上的那个洞，能推进整个身体朝一个方向前进，过于理想化。&lt;/p&gt;

&lt;p&gt;火星的两颗小土豆（卫星）完全没有在影片中露脸，其实这两颗卫星还是挺有意思的。&lt;/p&gt;

&lt;p&gt;小说中内容在电影中有所删节，其中我看一些影评说，在小说中，如果食物补给失败，四个成员会吞药自杀，将唯一活下去的希望留给体型最小的成员，即便这样事物也还是不够完成计划，那么余下的时间，该成员将吃掉自己的队友。
这的确是可行方案，在其他一些科幻小说里的也看到过，星际旅行不可避免的极端问题。&lt;/p&gt;

&lt;p&gt;2015年的影片剧本中，NASA为了营救宇航员，尚且能同中国合作（影片主要还是为了票房）。看看现在，多少科学家赴美参加学术会议都不能得到签证。这个世界变化的太快，保守主义壁垒能帮助我们在太空中走得更远吗？&lt;/p&gt;
</description>
        <pubDate>Sun, 08 Mar 2020 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E5%BD%B1%E8%A7%86%E8%AF%84%E8%AE%BA/2020/03/08/The-Martian.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E5%BD%B1%E8%A7%86%E8%AF%84%E8%AE%BA/2020/03/08/The-Martian.html</guid>
        
        <category>火星</category>
        
        <category>流浪地球</category>
        
        <category>土豆</category>
        
        
        <category>影视评论</category>
        
      </item>
    
      <item>
        <title>隐藏人物</title>
        <description>&lt;p&gt;今年二月份，最后一位剧中的女主人公也辞世了。最近补了这部电影，纵观美国历史，原来他们在上个世纪六十年代，还在实行种族主义隔离政策。到目前为止，也只过去了60年，那么这种思想还会并必定会影响目前在美国的少数族裔。在新大陆的人，并没有融合成一个整体，从登陆到那片土地开始，就只不过是各自划分区域，尽量相安无事罢了。&lt;/p&gt;

&lt;p&gt;剧中有几个搞不清楚的地方，感觉NASA完全没有保密工作：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;剧中IBM公司的工作人员，自己造的机器，为什么自己不会使用？&lt;/li&gt;
  &lt;li&gt;专攻工程学的那个女性专家怎么已开始能毫无阻拦的走到返回舱的实验室？&lt;/li&gt;
  &lt;li&gt;任何人都能偷偷进入IBM房间？&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;作为第一个进入太空的美国人和第一个进入地球轨道绕地三周的美国人，很可惜，没能被很多普通人记住。这部片子也是从侧面让我了解哪些美国宇航员执行了他们国家最初的航空任务。&lt;/p&gt;

&lt;p&gt;文中最喜欢的情节是NASA主管在国会听证会（？）上的阐述。&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Let me say first … discovery is never just for the sake of discovery, gentlemen … but for the sake of human survival.&lt;/p&gt;

  &lt;p&gt;And it will always come with a risk.&lt;/p&gt;

  &lt;p&gt;Whoever get there first will make the rules, that been true for every civilization, and so I think the bigger question for this body to consider is who do you want to calling the shots in space?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;不管美苏争霸，还是现今的太空竞赛。其目的都是为了话语权。就像COVID-19的病毒必须命名成SARS-COV-2一样，这种争论都是话语权的较量。&lt;/p&gt;

</description>
        <pubDate>Sat, 07 Mar 2020 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E5%BD%B1%E8%A7%86%E8%AF%84%E8%AE%BA/2020/03/07/hidden-figures.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E5%BD%B1%E8%A7%86%E8%AF%84%E8%AE%BA/2020/03/07/hidden-figures.html</guid>
        
        <category>hidden figures</category>
        
        <category>IBM</category>
        
        <category>Katherine Johnson</category>
        
        <category>Dorothy Vaughan</category>
        
        <category>Mary Jackson</category>
        
        
        <category>影视评论</category>
        
      </item>
    
      <item>
        <title>挖矿木马植入服务器分析</title>
        <description>&lt;p&gt;用了这么多年 linux，第一次遇到了挖矿木马植入攻击 &lt;sup id=&quot;fnref:1&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:1&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;。记录一下分析和解决过程。&lt;/p&gt;

&lt;h3 id=&quot;1-事情经过&quot;&gt;1 事情经过&lt;/h3&gt;

&lt;p&gt;昨天用 top 命令查看服务器 cpu 使用情况，突然发现一个用户占用了 8 个 cpu 跑了一个&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cron&lt;/code&gt;，并且运行时间越来越长。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/8bioErQ.png&quot; alt=&quot;top_screenshot&quot; /&gt;&lt;/p&gt;

&lt;p&gt;这个用户一般情况下是不会去使用服务器的，所以我立马引起警觉，联系当事人，询问情况。&lt;/p&gt;

&lt;p&gt;很显然该用户没有做任何操作。&lt;/p&gt;

&lt;p&gt;由于这个服务器本身的一些原因，暂时无法解决的安全问题，这次并没有查出入侵的原因是管理员用户弱密码攻击，还是运行的某些服务有漏洞。&lt;/p&gt;

&lt;h3 id=&quot;2-删除木马程序&quot;&gt;2 删除木马程序&lt;/h3&gt;

&lt;p&gt;首先要做的是关掉这个&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cron&lt;/code&gt;程序。&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;ps &lt;span class=&quot;nt&quot;&gt;-aux&lt;/span&gt; | &lt;span class=&quot;nb&quot;&gt;grep &lt;/span&gt;cron
&lt;span class=&quot;nb&quot;&gt;kill&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-9&lt;/span&gt; 进程号

&lt;span class=&quot;c&quot;&gt;#如果没有其他cron job运行，可以直接杀掉crontab&lt;/span&gt;

pkill &lt;span class=&quot;nt&quot;&gt;-9&lt;/span&gt; crontab
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;接下来删除这个 cron 定时任务。&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;crontab &lt;span class=&quot;nt&quot;&gt;-r&lt;/span&gt; 用户名
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;之后开始查找木马文件，进入该用户目录，发下了隐藏的文件夹&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.bashtemp&lt;/code&gt;。&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nb&quot;&gt;.&lt;/span&gt;
├── a
│   ├── a
│   ├── anacron
│   ├── bash.pid
│   ├── cron
│   ├── dir.dir
│   ├── init0
│   ├── run
│   ├── stop
│   └── upd
├── b
│   ├── a
│   ├── dir.dir
│   ├── run
│   ├── stop
│   └── &lt;span class=&quot;nb&quot;&gt;sync&lt;/span&gt;
├── cron.d
└── dir2.dir
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;看到&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cron.d&lt;/code&gt;是执行的定时任务。&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/home/用户名/.bashtemp/b/sync&lt;/code&gt;是所执行的程序。&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;0 0 &lt;span class=&quot;k&quot;&gt;*&lt;/span&gt;/3 &lt;span class=&quot;k&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;*&lt;/span&gt; /home/用户名/.bashtemp/a/upd&amp;gt;/dev/null 2&amp;gt;&amp;amp;1
@reboot /home/用户名/.bashtemp/a/upd&amp;gt;/dev/null 2&amp;gt;&amp;amp;1
5 8 &lt;span class=&quot;k&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;*&lt;/span&gt; 0 /home/用户名/.bashtemp/b/sync&amp;gt;/dev/null 2&amp;gt;&amp;amp;1
@reboot /home/用户名/.bashtemp/b/sync&amp;gt;/dev/null 2&amp;gt;&amp;amp;1  
0 0 &lt;span class=&quot;k&quot;&gt;*&lt;/span&gt;/3 &lt;span class=&quot;k&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;*&lt;/span&gt; /tmp/.X19-unix/.rsync/c/aptitude&amp;gt;/dev/null 2&amp;gt;&amp;amp;1
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.bashtemp/b/sync&lt;/code&gt;是一段 shell 脚本，用来运行&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.bashtemp/b/run&lt;/code&gt;里面的内容，&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;run&lt;/code&gt;里是恶意挖矿脚本以及添加黑客的 rsa 公钥加到&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/root/.ssh/authorized_keys&lt;/code&gt;的程序，具体内容和详细分析参见参考资料2 &lt;sup id=&quot;fnref:2&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:2&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;。&lt;/p&gt;

&lt;p&gt;密钥长这个模样:&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;AAAAB3NzaC1yc2EAAAABJQAAAQEArDp4cun2lhr4KUhBGE7VvAcwdli2a8dbnrTOrbMz1+5O73fcBOx8NVbUT0bUanUV9tJ2/9p7+vD0EpZ3Tz/+0kX34uAx1RV/75GVOmNx+9EuWOnvNoaJe0QXxziIg9eLBHpgLMuakb5+BgTFB+rKJAw9u9FSTDengvS8hX1kNFS4Mjux0hJOK8rvcEmPecjdySYMb66nylAKGwCEE6WEQHmd1mUPgHwGQ0hWCwsQk13yCGPK5w6hYp5zYkFnvlC8hGmd4Ww+u97k6pfTGTUbJk14ujvcD9iUKQTTWYYjIIu5PmUux5bsZ0R4WFwdIe6+i6rBLAsPKgAySVKPRK+oRw&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; mdrfckr
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;用这个公钥在网上一搜，可以发现不少中招的信息 &lt;sup id=&quot;fnref:3&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:3&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;sup id=&quot;fnref:4&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:4&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;4&lt;/a&gt;&lt;/sup&gt;&lt;sup id=&quot;fnref:5&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:5&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;5&lt;/a&gt;&lt;/sup&gt;。&lt;/p&gt;

&lt;p&gt;通过上面的定时任务，还可以发现在&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/tmp&lt;/code&gt;文件夹下有一个隐藏的文件夹&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.X19-unix&lt;/code&gt;, 里面有一个 dota3 的压缩包和隐藏的&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.rsync&lt;/code&gt;文件夹，压缩包查看内容后发现是整套木马程序(&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.rsync&lt;/code&gt;里的内容)。&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nb&quot;&gt;.&lt;/span&gt;
├── dota3.tar.gz
└── .rsync
    ├── 1
    ├── a
    │   ├── a
    │   ├── anacron
    │   ├── cron
    │   ├── init0
    │   ├── run
    │   └── stop
    ├── b
    │   ├── a
    │   ├── run
    │   └── stop
    ├── c
    │   ├── 1
    │   ├── aptitude
    │   ├── dir.dir
    │   ├── go
    │   ├── golan
    │   ├── lib
    │   │   ├── 32
    │   │   │   ├── libc.so.6
    │   │   │   ├── libdl.so.2
    │   │   │   ├── libnss_dns.so.2
    │   │   │   ├── libnss_files.so.2
    │   │   │   ├── libpthread.so.0
    │   │   │   ├── libresolv-2.23.so
    │   │   │   ├── libresolv.so.2
    │   │   │   └── tsm
    │   │   └── 64
    │   │       ├── libc.so.6
    │   │       ├── libdl.so.2
    │   │       ├── libnss_dns.so.2
    │   │       ├── libnss_files.so.2
    │   │       ├── libpthread.so.0
    │   │       ├── libresolv-2.23.so
    │   │       ├── libresolv.so.2
    │   │       └── tsm
    │   ├── n
    │   ├── run
    │   ├── scan.log
    │   ├── slow
    │   ├── start
    │   ├── stop
    │   ├── tsm
    │   ├── tsm32
    │   ├── tsm64
    │   ├── v
    │   └── watchdog
    ├── dir.dir
    ├── init
    ├── init2
    ├── initall  &amp;lt;&lt;span class=&quot;nt&quot;&gt;---&lt;/span&gt;安装木马程序到服务器
    └── .out
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;上面的程序，会安装木马到指定的用户目录下，并改写 root 目录下的 ssh 公钥。所以如果只删除了用户目录的可以程序，并不能解决问题。&lt;/p&gt;

&lt;h3 id=&quot;3-如何防范这种事情再次发生&quot;&gt;3 如何防范这种事情再次发生？&lt;/h3&gt;

&lt;ol&gt;
  &lt;li&gt;安装 fail2ban&lt;sup id=&quot;fnref:6&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:6&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;6&lt;/a&gt;&lt;/sup&gt; 禁止多次尝试用户名密码撞库的 ip&lt;/li&gt;
  &lt;li&gt;禁止通过 ssh 方式用 root 账号登录服务器（即，只让用管理员账号登录）&lt;/li&gt;
  &lt;li&gt;关闭常用的 22 端口&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;参考资料：&lt;/p&gt;

&lt;div class=&quot;footnotes&quot; role=&quot;doc-endnotes&quot;&gt;
  &lt;ol&gt;
    &lt;li id=&quot;fn:1&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;&lt;a href=&quot;https://www.joesandbox.com/analysis/202041/0/html&quot;&gt;Analysis Report cron&lt;/a&gt; &lt;a href=&quot;#fnref:1&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:2&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;&lt;a href=&quot;http://m.lanhusoft.com/Article/745.html&quot;&gt;分享一次惨痛亲身经历之es服务服务器被入侵植入挖矿木马溯源分析&lt;/a&gt; &lt;a href=&quot;#fnref:2&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:3&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;&lt;a href=&quot;https://blogs.juniper.net/en-us/threat-research/dota3-is-your-internet-of-things-device-moonlighting&quot;&gt;Dota3: Is your Internet of Things device moonlighting?&lt;/a&gt; &lt;a href=&quot;#fnref:3&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:4&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;&lt;a href=&quot;https://askubuntu.com/questions/1161003/strange-cron-job-takes-up-100-of-cpu-ubuntu-18-lts-server&quot;&gt;Strange Cron Job takes up 100% of CPU Ubuntu 18 LTS Server&lt;/a&gt; &lt;a href=&quot;#fnref:4&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:5&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;&lt;a href=&quot;https://blog.trendmicro.com/trendlabs-security-intelligence/outlaw-hacking-groups-botnet-observed-spreading-miner-perl-based-backdoor/&quot;&gt;Outlaw Hacking Group’s Botnet Observed Spreading Miner, Perl-Based Backdoor&lt;/a&gt; &lt;a href=&quot;#fnref:5&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:6&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;&lt;a href=&quot;https://www.digitalocean.com/community/tutorials/how-to-protect-ssh-with-fail2ban-on-centos-7&quot;&gt;How To Protect SSH With Fail2Ban on CentOS 7&lt;/a&gt; &lt;a href=&quot;#fnref:6&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
  &lt;/ol&gt;
&lt;/div&gt;
</description>
        <pubDate>Tue, 03 Mar 2020 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/2020/03/03/Trojan-attack-analysis.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/2020/03/03/Trojan-attack-analysis.html</guid>
        
        <category>木马</category>
        
        <category>挖矿</category>
        
        
        <category>操作系统</category>
        
      </item>
    
      <item>
        <title>Gilead RdRP聚合酶制剂会不会封神呢</title>
        <description>&lt;p&gt;很有可能哦～&lt;/p&gt;

&lt;p&gt;我在2月3日吉利德开始准备在国内进行Remdesivir临床三期实验的时候，写下了这篇博客题目。现在有空分析一下目前个人认为有用的一些对抗新冠的药物。&lt;/p&gt;

&lt;p&gt;题目是吉利德，但是内容跟它没关系。&lt;/p&gt;

&lt;p&gt;1.Remdeivir&lt;/p&gt;

&lt;p&gt;截至到目前（2020.02.17）Remdesivir共在国内开展2项临床研究，对于&lt;a href=&quot;https://clinicaltrials.gov/ct2/show/NCT04257656?term=Remdesivir&amp;amp;draw=2&amp;amp;rank=1&quot;&gt;重症&lt;/a&gt;和&lt;a href=&quot;https://clinicaltrials.gov/ct2/show/NCT04252664?term=Remdesivir&amp;amp;draw=2&amp;amp;rank=2&quot;&gt;轻症&lt;/a&gt;患者的双盲对照实验，由于患者入组困难，已经进行了入组标准的调整，报中国人类遗传资源管理办公室审批，可在其网站查询已加急审批成功。&lt;/p&gt;

&lt;p&gt;Remdeivir的作用靶点是RdRP聚合酶，同ATP竞争结合到RdRP聚合酶上，然后这个酶在合成RNA的时候，走着走着就停了。病毒复制失败，从而达到抑制病毒的作用&lt;sup id=&quot;fnref:1&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:1&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;。&lt;/p&gt;

&lt;p&gt;2.托珠单抗&lt;/p&gt;

&lt;p&gt;托珠单抗通过抑制白介素-6 (IL-6)的细胞因子，可以减少重症患者的&lt;strong&gt;细胞因子风暴&lt;/strong&gt;反应。&lt;/p&gt;

&lt;p&gt;3.磷酸氯喹&lt;/p&gt;

&lt;p&gt;这个应该是有效的，氯喹作为⼀种良好的自噬抑制剂，可通过影响自噬反应干扰病毒的感染和复制，但是计量过高直接致死。&lt;/p&gt;

&lt;p&gt;&lt;del&gt;4.卡瑞利珠单抗&lt;/del&gt;&lt;/p&gt;

&lt;p&gt;恒瑞血管瘤产品，两害相权取其轻？我不信任这款药。&lt;/p&gt;

&lt;p&gt;5.疫苗&lt;/p&gt;

&lt;p&gt;最有效的，但是最快要等到明年了&lt;sup id=&quot;fnref:2&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:2&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;。说今年就能做出来的都不可信。&lt;/p&gt;

&lt;p&gt;&lt;del&gt;6.法匹拉韦 (Favipiravir)&lt;/del&gt;&lt;/p&gt;

&lt;p&gt;海正公司的产品，被国家应急防控药物工程技术研究中心和深圳市第三人民医院联合打造成神药了，该药物适应症为用于治疗成人新型或再次流行的流感（仅限于其他抗病毒药物治疗无效或效果不佳时使用）。&lt;strong&gt;该药物存在致畸性。&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;这是继恒瑞血管瘤产品后，我第二个极为不信任的药物。&lt;/p&gt;

&lt;p&gt;7.洛匹那韦/利托那韦&lt;/p&gt;

&lt;p&gt;艾滋病药物，2020年3月21日（该药+标准疗法）vs（标准疗法）的临床数据已经出来了，显示基本无效。没做双盲。&lt;/p&gt;

&lt;p&gt;参考资料：&lt;/p&gt;

&lt;div class=&quot;footnotes&quot; role=&quot;doc-endnotes&quot;&gt;
  &lt;ol&gt;
    &lt;li id=&quot;fn:1&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;&lt;a href=&quot;https://zhuanlan.zhihu.com/p/105456727&quot;&gt;Remdesivir的相关总结&lt;/a&gt; &lt;a href=&quot;#fnref:1&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:2&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;&lt;a href=&quot;https://www.sanofi.cn/zh/high-quality-products/vaccine/vaccine-production-and-r-and-d&quot;&gt;疫苗的生产与研发&lt;/a&gt; &lt;a href=&quot;#fnref:2&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
  &lt;/ol&gt;
&lt;/div&gt;
</description>
        <pubDate>Mon, 03 Feb 2020 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2020/02/03/Gilead.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2020/02/03/Gilead.html</guid>
        
        <category>Gilead</category>
        
        
        <category>聚类不能</category>
        
      </item>
    
      <item>
        <title>新年与2019新型冠状病毒</title>
        <description>&lt;p&gt;从没想过这个年过得如此坎坷。本来2019全年的经济就够不顺的了，结果年底还爆出了新型冠状病毒在全国范围内的传播。&lt;/p&gt;

&lt;p&gt;从这个事件看明白了我国行政上一贯的“内紧外松”信息策略（政府内部信息畅通，但只披露部分信息给大众）在处理重大公共卫生事件中是多么的失败。传染性疾病导致的疫情具有高度的传染性，需要整个社会的配合协作，才能消灭。但是若在传染初期只披露部分信息，老百姓不知道情况的严重程度，带着病毒满街跑，就变成了现在的局面。这届某省地方政府不行（真是千！古！罪！人！），害苦了地方老百姓和地方医护人员。不过1月最后一天，红十字会成功为某地领导转移了注意力，按朋友的话说真是烂到根里了。&lt;/p&gt;

&lt;p&gt;值得称赞的是，CDC、医科院，有相关经验的医院、中科院以及一些医药公司的大量医生和研究人员，通力合作，很快就对病毒进行了分离并测序，已经公布病毒的电镜图片，测定病毒蛋白结构，药物所也在今天公布了一些药物筛选结果（1月31日深夜，药物所推荐了一款官方致癌安慰剂。你是猴子派来的逗比吗？&lt;u&gt;中国做不出原创化学药，学医救不了中国人&lt;/u&gt;，虽说病毒所所长更像是凭关系上位的，但是毕竟病毒所还能干些实事，药物所在这时候怎么突然变成一群饭桶啊）。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://imgs.xkcd.com/comics/cells.png&quot; alt=&quot;cells&quot; /&gt;&lt;/p&gt;

&lt;p&gt;这个事件也让我发现了一群&lt;q&gt;学术小丑&lt;/q&gt;。这种时期抢发生物信息分析论文，不负责的推测病毒溯源到中间宿主是蛇或者水貂，纯属灌水。这群人不觉得给自己工作单位丢脸么？另外Y叔在他的&lt;a href=&quot;https://mp.weixin.qq.com/s/1ydwtadMAIyjqNxWwgO7wA&quot;&gt;微信公众号biobabble&lt;/a&gt;上也提到了新病毒序列的版权的问题。&lt;strong&gt;根据&lt;a href=&quot;https://en.wikipedia.org/wiki/Fort_Lauderdale_Agreement&quot;&gt;Fort Lauderdale协议&lt;/a&gt;和&lt;a href=&quot;https://www.genome.gov/27533540/2009-news-feature-prepublication-data-sharing-the-toronto-statement&quot;&gt;多伦多声明&lt;/a&gt;，数据共享者有发表第一篇论文的权利。&lt;/strong&gt; 这种时期拿别人公开的数据，抢发论文，至于这样么？&lt;/p&gt;

&lt;p&gt;最后，今天高福老师（他们家族好厉害，牛津剑桥博士一大堆，还基本都是生物方向，别转型成学阀家族）还放了个大炮，说疫苗肯定会研制成功，还说了研发有时间周期。朋友都在吐槽这个，我明白了官方打士气原来是这么一回事&lt;code&gt;_-_&lt;/code&gt;。。研制疫苗到投产要多长时间？看看SARS疫苗研发就知道了。等研发到临床实验的时候，病人都痊愈了，谁愿意做测试，哪个公司愿意生产。&lt;code&gt;_-_&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;附1：微信群里还有一个谣言，说某校一个组找到了病毒潜伏期长的分子原因，需要找合作者，了解疫情并且分担分子动力学计算压力。怎么就某所学校最近新闻和小道消息这么多？世界排名那么靠前，国内数一数二的需要竟然找不到官方渠道去联系合作，需要在微信群里让大家扩散消息帮忙联系？转发的人有点脑子好不好？？？&lt;/p&gt;
</description>
        <pubDate>Sun, 26 Jan 2020 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2020/01/26/Chinese-New-Year-and-2019-Novel-Coronavirus-infection.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2020/01/26/Chinese-New-Year-and-2019-Novel-Coronavirus-infection.html</guid>
        
        <category>2019-nCoV</category>
        
        
        <category>聚类不能</category>
        
      </item>
    
      <item>
        <title>Perl的没落</title>
        <description>&lt;p&gt;Perl一直是生信领域工作人员习惯使用的编程语言，在处理序列文本方面有着得天独厚的优势。但是，目前生信领域可使用 Perl 的场景也都可以使用 Python，另外 Python 还在是数据分析机器学习相关方法的重要编程语言，我认为 Perl 会逐渐退出生信分析的历史舞台。由于Perl 5 和 Perl 6 不相互兼容，Perl 6在去年正式改名叫&lt;q&gt;Raku&lt;/q&gt;，不少人也会从 Perl 转向其他社区活跃的编程语言。早在2010年左右，国内的 Perl China 还在组织一些定期的交流活动，但是现在已经找不到这个网站。使用Perl的这批人，已经进入了中年，没有时间和精力活跃在社区。Perl China 邮件列表里上一封邮件的发送日期还是2019年5月，目前估计都转战其他联系平台（微信群和slack）。&lt;/p&gt;

&lt;p&gt;那么为啥现在还有那么多生信初学者在学习Perl呢？个人观点是由于目前做到PI的人，在他们学习生信的时期，主要用的是 Perl 语言，所以由于这种&lt;q&gt;惯性&lt;/q&gt;，我们还会在很多 lab 招聘信息上看到要求应聘的生信博士们要会Perl。常用的由Perl编写的最有名生信软件是&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Annovar&lt;/code&gt;。除此之外，&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;bcftools&lt;/code&gt;和&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;samtools&lt;/code&gt;里一些小工具是Perl编写的，如果你用不到的话，可能根本就没注意过这些Perl代码。&lt;/p&gt;

&lt;p&gt;翻了翻我自己写的 Perl 代码，基本上就做了以下10件事情，以前写东西特别 naive，最后一个代码超级长且都是不必要的重复。最近，我写 Perl 代码的时候越来越少了，除了修改代码 bug 或者写一行命令搞定个小测试外，已经用不到 Perl。&lt;/p&gt;

&lt;h3 id=&quot;1计算序列中某些信息的出现频率gc-content&quot;&gt;1.计算序列中某些信息的出现频率（GC content）&lt;/h3&gt;

&lt;div class=&quot;language-perl highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c1&quot;&gt;#!usr/bin/perl -w&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;$name&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;Homo_sapiens.GRCh37.66.dna.chromosome&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;$input&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/data/GENE_transcripLoc.bed&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;open&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;FILE&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&quot;&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$input&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;die&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;Couldn&apos;t open &lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$input&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;: $!&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;while&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;defined&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$eachline&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&amp;lt;&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;FILE&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;nb&quot;&gt;chomp&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$eachline&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$chr&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$begin&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$end&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$strand&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$geneID&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$transID&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$other&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;();&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$chr&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$begin&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$end&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$strand&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$geneID&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$transID&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$other&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;split&lt;/span&gt; &lt;span class=&quot;sr&quot;&gt;/\t/&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$eachline&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;nv&quot;&gt;$data&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/data/data4/yu/homo_sapiens_dna/&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$name&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$chr&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;.fa&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
  &lt;span class=&quot;nb&quot;&gt;open&lt;/span&gt; &lt;span class=&quot;bp&quot;&gt;DATA&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&quot;&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;or&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;die&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;Couldn&apos;t open &lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$data&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;: $!&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
  &lt;span class=&quot;nb&quot;&gt;chomp&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;@DNA&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;bp&quot;&gt;DATA&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
  &lt;span class=&quot;nv&quot;&gt;$line&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&quot;&quot;,&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;@DNA&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
        &lt;span class=&quot;nv&quot;&gt;$str&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;substr&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$line&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$begin&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$end&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt; 
        &lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$num_a&lt;/span&gt;    &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$str&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt; &lt;span class=&quot;sr&quot;&gt;tr/A//&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$num_c&lt;/span&gt;    &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$str&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt; &lt;span class=&quot;sr&quot;&gt;tr/C//&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$num_g&lt;/span&gt;    &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$str&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt; &lt;span class=&quot;sr&quot;&gt;tr/G//&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$num_t&lt;/span&gt;    &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$str&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt; &lt;span class=&quot;sr&quot;&gt;tr/T//&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;c1&quot;&gt;#my $num_o    = length($str) - $num_a - $num_c - $num_g - $num_t;&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$gc&lt;/span&gt;       &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$num_c&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$num_g&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;/&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;length&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$str&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;  &lt;span class=&quot;o&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;100&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;nv&quot;&gt;$outpromoter&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/data/data4/yu/GCcontent_genebody.bed&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
        &lt;span class=&quot;nb&quot;&gt;open&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;PLOG&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$outpromoter&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;or&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;die&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;Couldn&apos;t open &lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$outputpromoter&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;: $!&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;PLOG&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$chr&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\t&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$begin&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\t&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$end&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\t&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$strand&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\t&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$geneID&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\t&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$transID&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\t&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$gc&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
        &lt;span class=&quot;nb&quot;&gt;close&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;PLOG&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;nb&quot;&gt;close&lt;/span&gt; &lt;span class=&quot;bp&quot;&gt;DATA&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;close&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;FILE&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;2剪切序列trim&quot;&gt;2.剪切序列（trim）&lt;/h3&gt;

&lt;div class=&quot;language-perl highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c1&quot;&gt;#!/usr/bin/perl -w&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;while&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;bp&quot;&gt;DATA&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;sr&quot;&gt;s/^(?!&amp;gt;)...(.*)..../$1/&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;c1&quot;&gt;#       ^^^    ^^^^  &lt;/span&gt;
    &lt;span class=&quot;c1&quot;&gt;#       x=3    y=4&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;cp&quot;&gt;__DATA__
&amp;gt;HWI-EAS158_40_3_1_46_535
GTGAATGCGTGATACAGGAATGTTCGTTGTGACCAT
&amp;gt;HWI-EAS158_40_3_1_47_579
AAAGTGAATGCGTGATACAGGAATGTTCGTTGTGAC
&amp;gt;HWI-EAS158_40_3_1_46_731
GTGTCATGCGTGATACAGGAATGTTCGTTGTGAAAA
GTGTCATGCGTGATACAGGAATGTTCGTTGTGAAAA
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;3-密码子转氨基酸-抄自beginning-perl-for-bioinformatics&quot;&gt;3. 密码子转氨基酸 (抄自《Beginning Perl for Bioinformatics》)&lt;/h3&gt;

&lt;div class=&quot;language-perl highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c1&quot;&gt;#!/usr/bin/perl&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;use&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;strict&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;use&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;warnings&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;#Initialize variables&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$dna&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;CGACGTCTCGTACGG&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$protein&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;&apos;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$codon&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;#Translate each three-base codon into an amino acid,and append to a protein&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;my&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;length&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$dna&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
  &lt;span class=&quot;nv&quot;&gt;$codon&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;substr&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$dna&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
    &lt;span class=&quot;nv&quot;&gt;$protein&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.=&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;codon2aa&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$codon&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;printf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;I translated the DNA&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n\n&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$dna&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n\n&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt; into the protein&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n\n&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$protein&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n\n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;exit&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;#codon2aa&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;#A subroutine to translate a DNA 3- character codon to n amino acid&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;sub &lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;codon2aa&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;my&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$codon&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;@_&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$codon&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;/GC./i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;}&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;#Alanine&lt;/span&gt;
      &lt;span class=&quot;k&quot;&gt;elsif&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$codon&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;/TG[TC]/i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;}&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;#Cysteine&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;elsif&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$codon&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;/GA[TC]/i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;D&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;}&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;#Aspartic Acid&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;elsif&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$codon&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;/GA[AG]/i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;E&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;}&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;#Glutamic Acid&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;elsif&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$codon&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;/TT[Tc]/i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;F&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;}&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;#Phenylalanine&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;elsif&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$codon&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;/GC./i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;G&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;}&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;#Glycine&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;elsif&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$codon&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;/CA[TC]/i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;H&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;}&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;#Histidine&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;elsif&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$codon&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;/AT[TCA]/i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;I&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;}&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;#Isoleucine&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;elsif&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$codon&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;/TT[AG]|CT./i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;L&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;}&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;#Leucine&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;elsif&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$codon&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;/ATG/i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;M&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;}&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;#Methionine&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;elsif&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$codon&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;/AA[TC]/i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;N&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;}&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;#Asparagine&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;elsif&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$codon&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;/CC./i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;P&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;}&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;#Proline&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;elsif&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$codon&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;/CA[AG]/i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;Q&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;}&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;#Glutamine&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;elsif&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$codon&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;/CG.|AG[AG]/i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;R&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;}&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;#Arginine&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;elsif&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$codon&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;/TC.|AG[TC]/i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;S&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;}&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;#$erine&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;elsif&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$codon&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;/AC./i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;}&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;#Threonine&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;elsif&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$codon&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;/GT./i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;V&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;}&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;#Valine&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;elsif&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$codon&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;/TGG/i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;W&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;}&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;#Tryptophan&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;elsif&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$codon&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;/TA[TC]/i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;Y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;}&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;#Tyrosine&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;elsif&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$codon&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;/TA[AG]|TGA/i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;_&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;}&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;#Stop&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;else&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;bp&quot;&gt;STDERR&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;Bad codon&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&quot;&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$codon&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;!!\&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;;
        exit;
    }
}
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;4下载序列信息wget&quot;&gt;4.下载序列信息（wget）&lt;/h3&gt;

&lt;p&gt;超级不建议用这个程序，要安装LWP模块，其实&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wget&lt;/code&gt;加个循环就可以下载了。&lt;/p&gt;

&lt;div class=&quot;language-perl highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c1&quot;&gt;#!/usr/bin/perl&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;#use strict;&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;#use warnings;&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;@down&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;while&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$line&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&amp;lt;&lt;/span&gt;&lt;span class=&quot;bp&quot;&gt;DATA&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
  &lt;span class=&quot;nb&quot;&gt;chomp&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$line&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$url&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;http://www.ncbi.nlm.nih.gov/nuccore/&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$line&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;?report=gilist&amp;amp;log&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\$&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;=seqview&amp;amp;format=text&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;use&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;LWP::&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;Simple&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$content&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;get&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$url&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;Got &lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$line&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt; Gi ID!&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$content&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;/&amp;lt;pre&amp;gt;(.*)\n&amp;lt;\/pre&amp;gt;/s&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
    &lt;span class=&quot;nb&quot;&gt;push&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;@download&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;err&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt; 

&lt;span class=&quot;nv&quot;&gt;getstore&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;http://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nucleotide&amp;amp;rettype=fasta&amp;amp;retmode=text&amp;amp;id=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;,&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;@download&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;seqs.fasta&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;);&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;Download all sequences!&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;cp&quot;&gt;__DATA__
GU132860
GU132861
GU132862
GU132863
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;5计算kmer组合&quot;&gt;5.计算kmer组合&lt;/h3&gt;

&lt;p&gt;这个代码可以学习&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;push&lt;/code&gt;和&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;shift&lt;/code&gt;这样的操作。&lt;/p&gt;

&lt;div class=&quot;language-perl highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c1&quot;&gt;#!/usr/bin/perl&lt;/span&gt;

&lt;span class=&quot;nv&quot;&gt;$k&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;shift&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;@bases&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;,&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;C&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;,&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;G&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;,&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;);&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;@words&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;@bases&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$i&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;..&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$k&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
  &lt;span class=&quot;nb&quot;&gt;undef&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;@newwords&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;foreach&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$w&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;@words&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;foreach&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$b&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;@bases&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
      &lt;span class=&quot;nb&quot;&gt;push&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;@newwords&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$w&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$b&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;nb&quot;&gt;undef&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;@words&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;nv&quot;&gt;@words&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;@newwords&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;foreach&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$w&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;@words&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$w&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;6分割fasta文件&quot;&gt;6.分割FASTA文件&lt;/h3&gt;

&lt;p&gt;这段代码可以学习&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;$/&lt;/code&gt;，&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;$1&lt;/code&gt;这样的标志是什么意思。&lt;/p&gt;

&lt;div class=&quot;language-perl highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c1&quot;&gt;#!/usr/bin/perl   &lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;usestrict&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;   
&lt;span class=&quot;k&quot;&gt;my&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$file&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$dir&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;@ARGV&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;#取得输入文件和输出文件夹   &lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;open&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;FILE&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$file&lt;/span&gt;  
    &lt;span class=&quot;ow&quot;&gt;or&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;die&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;cannotopen&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$file&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;:$!&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;    &lt;span class=&quot;c1&quot;&gt;#打开文件   &lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;local&lt;/span&gt; &lt;span class=&quot;vg&quot;&gt;$/&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;#设置读取结束标记为&amp;gt;,默认为\n   &lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$i&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;  &lt;span class=&quot;c1&quot;&gt;#为输出文件编号   &lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;while&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;FILE&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;   
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;/^&amp;gt;$/&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;   
        &lt;span class=&quot;k&quot;&gt;next&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;   
    &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;   
    &lt;span class=&quot;sr&quot;&gt;s/&amp;gt;//&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;  &lt;span class=&quot;c1&quot;&gt;#去掉序列结束位置的&amp;gt;号   &lt;/span&gt;
    &lt;span class=&quot;sr&quot;&gt;s/(\w+)/&amp;gt;$1/&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;   &lt;span class=&quot;c1&quot;&gt;#为分割出来的序列第一行添加&amp;gt;号   &lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$name&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;err&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;  &lt;span class=&quot;c1&quot;&gt;#以fasta序列第一行的一个单词作为文件名   &lt;/span&gt;
    &lt;span class=&quot;nb&quot;&gt;open&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;OUTPUT&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;,&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$dir&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$name&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;_&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$i&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;.fa&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;;&lt;/span&gt;   
    &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;OUTPUT&lt;/span&gt;&lt;span class=&quot;vg&quot;&gt;$_&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;   
    &lt;span class=&quot;nb&quot;&gt;close&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;OUTPUT&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;   
    &lt;span class=&quot;nv&quot;&gt;$i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;   
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;   
&lt;span class=&quot;nb&quot;&gt;close&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;FILE&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;  
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;7将一段长序列变成fasta格式&quot;&gt;7.将一段长序列变成FASTA格式&lt;/h3&gt;

&lt;div class=&quot;language-perl highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c1&quot;&gt;#!usr/bin/perl -w&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;$name&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;FRT.40A.chromosome&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;$data&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/share/test&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;open&lt;/span&gt; &lt;span class=&quot;bp&quot;&gt;DATA&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&quot;&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;or&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;die&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;Couldn&apos;t open &lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$data&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;: $!&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;chomp&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;@DNA&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;bp&quot;&gt;DATA&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;$line&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&quot;&quot;,&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;@DNA&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$length&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;length&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$line&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$re&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$length&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;%&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;50&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$num&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$length&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$re&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;50&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
 
&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;=&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$num&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
    &lt;span class=&quot;nv&quot;&gt;$str&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;substr&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$line&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;50&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;50&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
    &lt;span class=&quot;nv&quot;&gt;$output&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/share/disk5-1/zhangzhhgroup/yulij/result/&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$name&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;.fa&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
    &lt;span class=&quot;nb&quot;&gt;open&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;LOG&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$output&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;or&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;die&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;Couldn&apos;t open &lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$output&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;: $!&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;LOG&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$str&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
    &lt;span class=&quot;nb&quot;&gt;close&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;LOG&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;nb&quot;&gt;close&lt;/span&gt; &lt;span class=&quot;bp&quot;&gt;DATA&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;8查找子序列位置&quot;&gt;8.查找子序列位置&lt;/h3&gt;

&lt;p&gt;同&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;KMP&lt;/code&gt;算法功能类似。&lt;/p&gt;

&lt;div class=&quot;language-perl highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c1&quot;&gt;#usr/bin/perl -w&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;# initialize the original string&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$input&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;Perl index, Perl chop, Perl hex&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$pos&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;@positions&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;();&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;while&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
  &lt;span class=&quot;nv&quot;&gt;$pos&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;index&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;lc&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$input&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;perl&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;,&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$pos&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;last&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$pos&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
  &lt;span class=&quot;nb&quot;&gt;push&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;@positions&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$pos&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;++&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;       

&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;scalar&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;@positions&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;substring found at positions: &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;,&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;@positions&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;else&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;substring not found&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;9找到与已知信息匹配的行&quot;&gt;9.找到与已知信息匹配的行&lt;/h3&gt;

&lt;p&gt;其实就是个&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;grep&lt;/code&gt;命令。&lt;/p&gt;

&lt;div class=&quot;language-perl highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c1&quot;&gt;#!usr/bin/perl -w&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;#$gen_file=&quot;/root/testperl.txt&quot;;&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;#open DATA, $gen_file or die &quot;cannot open file&quot;;&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;$id&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;590168&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;while&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;bp&quot;&gt;DATA&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;vg&quot;&gt;$_&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;vg&quot;&gt;$_&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt; &lt;span class=&quot;sr&quot;&gt;/$id/&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;#close DATA;&lt;/span&gt;

&lt;span class=&quot;cp&quot;&gt;__DATA__
COG1110 604354.TSIB_0530        1       1212
COG1110 604354.TSIB_0530        1       1212
COG1110 604354.TSIB_0530        1       1212
COG1110 598659.NAMH_1071        1       1060 
COG1110 593117.TGAM_1679        1       1216 
COG1110 590168.Tnap_0803        1       1104 
COG1110 579137.Metvu_1264       1       865 
COG1110 573064.Mefer_0049       6       869 
COG1110 563041.HPG27_964        428     531
COG1110 590168.Tnap_0803        1       1104
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;10-用perl提取网页信息&quot;&gt;10. 用Perl提取网页信息&lt;/h3&gt;

&lt;p&gt;这是用perl写过的最长的一个程序，抓取和讯网站上的董秘信息，可能现在改改代码还能用。
如果让我现在写这个程序，肯定直接用Python美丽汤（Beautiful Soup）。&lt;/p&gt;

&lt;div class=&quot;language-perl highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c1&quot;&gt;#!usr/bin/perl -w&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;#use WWW::Mechanize;&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;#use HTTP::Cookies;&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;use&lt;/span&gt;   &lt;span class=&quot;nv&quot;&gt;LWP&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;use&lt;/span&gt;   &lt;span class=&quot;nn&quot;&gt;LWP::&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;Simple&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; 
&lt;span class=&quot;k&quot;&gt;use&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;LWP::&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;UserAgent&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;use&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;Encode&lt;/span&gt; &lt;span class=&quot;sx&quot;&gt;qw/encode decode from_to/&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;


&lt;span class=&quot;k&quot;&gt;use&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;encoding&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;utf-8&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;binmode&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;bp&quot;&gt;STDIN&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;:utf8&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;);&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;binmode&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;bp&quot;&gt;STDOUT&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;:utf8&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;);&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;binmode&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;bp&quot;&gt;STDERR&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;:utf8&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&apos;);&lt;/span&gt;


&lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;股票代码|公司简称|公司全称|法定代表人|董秘|联系电话|传真|注册地址|办公地址|邮编|邮箱&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;@k&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;300001&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;..&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;300999&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$k&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;foreach&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$k&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;@k&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$url&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;http://stockdata.stock.hexun.com/gszl/s&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$k&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;.shtml&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;#&quot;http://stockdata.stock.hexun.com/gszl/s000001.shtml&quot;;#&apos;http://vip.stock.finance.sina.com.cn/corp/go.php/vCI_CorpInfo/stockid/000001.phtml&apos;;&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$content&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;get&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$url&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;die&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;Couldn&apos;t get &lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$url&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;unless&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;defined&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$content&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$begin&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;!--平安银行公司简介--&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$end&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;!--平安银行公司简介--&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;


&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$content&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt; &lt;span class=&quot;sr&quot;&gt;m/$begin(.*)$end/sgm&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$a&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;公司简称&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$b&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;股票代码&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$yyy&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  
  &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$yyy&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;m#$a(.*?)$b#sgm&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$zzz&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$zzz&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;m/&amp;lt;td&amp;gt;(.*?)&amp;lt;\/td&amp;gt;/sgm&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;$1|&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
      &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;匹配失败|&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;匹配失败|&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;匹配失败|&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
 
&lt;span class=&quot;nv&quot;&gt;$content&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;get&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$url&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;die&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;Couldn&apos;t get &lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$url&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;unless&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;defined&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$content&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;nv&quot;&gt;$begin&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;!--平安银行公司简介--&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;$end&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;!--平安银行公司简介--&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$content&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt; &lt;span class=&quot;sr&quot;&gt;m/$begin(.*)$end/sg&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$a&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;股票代码&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$b&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;公司全称&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$yyy&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$yyy&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;m#$a(.*?)$b#sg&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
    &lt;span class=&quot;nv&quot;&gt;$zzz&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$zzz&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;m/&amp;lt;td&amp;gt;(.*?)&amp;lt;\/td&amp;gt;/sg&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;$1|&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
      &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;匹配失败|&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;匹配失败|&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;匹配失败|&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;


&lt;span class=&quot;nv&quot;&gt;$content&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;get&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$url&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;die&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;Couldn&apos;t get &lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$url&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;unless&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;defined&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$content&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;nv&quot;&gt;$begin&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;!--平安银行公司简介--&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;$end&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;!--平安银行公司简介--&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$content&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt; &lt;span class=&quot;sr&quot;&gt;m/$begin(.*)$end/sg&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$a&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;公司全称&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$b&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;公司英文名称&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$yyy&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$yyy&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;m#$a(.*?)$b#sg&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
    &lt;span class=&quot;nv&quot;&gt;$zzz&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$zzz&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;m/&amp;lt;td&amp;gt;(.*?)&amp;lt;\/td&amp;gt;/sg&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;$1|&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
      &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;匹配失败|&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;匹配失败|&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;匹配失败|&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;



&lt;span class=&quot;nv&quot;&gt;$content&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;get&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$url&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;die&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;Couldn&apos;t get &lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$url&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;unless&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;defined&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$content&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;nv&quot;&gt;$begin&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;!--平安银行公司简介--&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;$end&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;!--平安银行公司简介--&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$content&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt; &lt;span class=&quot;sr&quot;&gt;m/$begin(.*)$end/sg&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$a&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;法定代表人&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$b&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;独立董事&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$yyy&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$yyy&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;m#$a(.*?)$b#sg&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
    &lt;span class=&quot;nv&quot;&gt;$zzz&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$zzz&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;m/&amp;lt;td&amp;gt;(.*?)&amp;lt;\/td&amp;gt;/sg&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;$1|&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
      &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;匹配失败|&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;匹配失败|&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;匹配失败|&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;




&lt;span class=&quot;nv&quot;&gt;$content&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;get&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$url&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;die&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;Couldn&apos;t get &lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$url&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;unless&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;defined&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$content&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;nv&quot;&gt;$begin&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;!--平安银行公司简介--&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;$end&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;!--平安银行公司简介--&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$content&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt; &lt;span class=&quot;sr&quot;&gt;m/$begin(.*)$end/sg&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$a&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;联系人&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$b&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;邮政编码&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$yyy&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$yyy&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;m#$a(.*?)$b#sg&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
    &lt;span class=&quot;nv&quot;&gt;$zzz&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$zzz&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;m/&amp;lt;td&amp;gt;(.*?)&amp;lt;\/td&amp;gt;/sg&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;$1|&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
      &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;匹配失败|&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;匹配失败|&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;匹配失败|&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;


&lt;span class=&quot;nv&quot;&gt;$content&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;get&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$url&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;die&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;Couldn&apos;t get &lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$url&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;unless&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;defined&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$content&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;nv&quot;&gt;$begin&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;!--平安银行公司简介--&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;$end&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;!--平安银行公司简介--&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$content&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt; &lt;span class=&quot;sr&quot;&gt;m/$begin(.*)$end/sg&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$a&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;董秘&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$b&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;公司传真&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$yyy&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$yyy&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;m#$a(.*?)$b#sg&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
    &lt;span class=&quot;nv&quot;&gt;$zzz&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$zzz&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;m/&amp;lt;td&amp;gt;(.*?)&amp;lt;\/td&amp;gt;/sg&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;$1|&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
      &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;匹配失败|&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;匹配失败|&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;匹配失败|&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;



&lt;span class=&quot;nv&quot;&gt;$content&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;get&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$url&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;die&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;Couldn&apos;t get &lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$url&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;unless&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;defined&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$content&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;nv&quot;&gt;$begin&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;!--平安银行公司简介--&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;$end&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;!--平安银行公司简介--&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$content&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt; &lt;span class=&quot;sr&quot;&gt;m/$begin(.*)$end/sg&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$a&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;公司传真&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$b&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;电子邮箱&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$yyy&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$yyy&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;m#$a(.*?)$b#sg&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
    &lt;span class=&quot;nv&quot;&gt;$zzz&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$zzz&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;m/&amp;lt;td&amp;gt;(.*?)&amp;lt;\/td&amp;gt;/sg&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;$1|&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
      &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;匹配失败|&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;匹配失败|&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;匹配失败|&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;




&lt;span class=&quot;nv&quot;&gt;$content&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;get&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$url&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;die&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;Couldn&apos;t get &lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$url&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;unless&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;defined&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$content&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;nv&quot;&gt;$begin&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;!--平安银行公司简介--&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;$end&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;!--平安银行公司简介--&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$content&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt; &lt;span class=&quot;sr&quot;&gt;m/$begin(.*)$end/sg&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$a&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;注册地址&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$b&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;所得税率&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$yyy&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$yyy&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;m#$a(.*?)$b#sg&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
    &lt;span class=&quot;nv&quot;&gt;$zzz&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$zzz&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;m/&amp;lt;td&amp;gt;(.*?)&amp;lt;\/td&amp;gt;/sg&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;$1|&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
      &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;匹配失败|&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;匹配失败|&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;匹配失败|&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;



&lt;span class=&quot;nv&quot;&gt;$content&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;get&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$url&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;die&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;Couldn&apos;t get &lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$url&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;unless&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;defined&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$content&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;nv&quot;&gt;$begin&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;!--平安银行公司简介--&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;$end&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;!--平安银行公司简介--&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$content&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt; &lt;span class=&quot;sr&quot;&gt;m/$begin(.*)$end/sg&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$a&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;办公地址&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$b&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;主要产品&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$yyy&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$yyy&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;m#$a(.*?)$b#sg&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
    &lt;span class=&quot;nv&quot;&gt;$zzz&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$zzz&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;m/&amp;lt;td&amp;gt;(.*?)&amp;lt;\/td&amp;gt;/sg&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;$1|&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
      &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;匹配失败|&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;匹配失败|&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;匹配失败|&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;


&lt;span class=&quot;nv&quot;&gt;$content&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;get&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$url&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;die&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;Couldn&apos;t get &lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$url&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;unless&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;defined&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$content&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;nv&quot;&gt;$begin&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;!--平安银行公司简介--&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;$end&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;!--平安银行公司简介--&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$content&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt; &lt;span class=&quot;sr&quot;&gt;m/$begin(.*)$end/sg&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$a&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;邮政编码&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$b&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;公司简介&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$yyy&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$yyy&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;m#$a(.*?)$b#sg&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
    &lt;span class=&quot;nv&quot;&gt;$zzz&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$zzz&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;m/&amp;lt;td&amp;gt;(.*?)&amp;lt;\/td&amp;gt;/sg&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;$1|&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
      &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;匹配失败|&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;匹配失败|&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;匹配失败|&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;



&lt;span class=&quot;nv&quot;&gt;$content&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;get&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$url&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;die&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;Couldn&apos;t get &lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$url&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;unless&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;defined&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$content&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;nv&quot;&gt;$begin&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;!--平安银行公司简介--&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;$end&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;!--平安银行公司简介--&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$content&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt; &lt;span class=&quot;sr&quot;&gt;m/$begin(.*)$end/sg&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$a&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;mailto:&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$b&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;公司网址&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;my&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$yyy&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$yyy&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;m#$a(.*?)$b#sg&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
    &lt;span class=&quot;nv&quot;&gt;$zzz&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$zzz&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt;&lt;span class=&quot;sr&quot;&gt;m/target=\&quot;_blank\&quot;&amp;gt;(.*?)&amp;lt;\/a&amp;gt;/sg&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;$1&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
      &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;匹配失败&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;匹配失败&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;匹配失败&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;&quot;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;


&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
</description>
        <pubDate>Tue, 07 Jan 2020 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E7%94%9F%E7%89%A9%E4%BF%A1%E6%81%AF/2020/01/07/Fall-of-Perl.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E7%94%9F%E7%89%A9%E4%BF%A1%E6%81%AF/2020/01/07/Fall-of-Perl.html</guid>
        
        <category>Perl</category>
        
        
        <category>生物信息</category>
        
      </item>
    
      <item>
        <title>常用下载方式总结</title>
        <description>&lt;h3 id=&quot;rsync断点续传&quot;&gt;rsync断点续传&lt;/h3&gt;

&lt;p&gt;网络传输速度很大程度上会影响我的工作。服务器与服务器之间的通连，有时&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;scp&lt;/code&gt;不是最好的选择，例如：网络出现问题，两个服务器之间的连接断开后，使用&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;scp&lt;/code&gt;再次连接时无法进行断点续传。&lt;/p&gt;

&lt;p&gt;使用rsync做服务器之间的文件传输（备份），可以做到断点续传。&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;rsync &lt;span class=&quot;nt&quot;&gt;-avzP&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-e&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&apos;ssh -p 8888&apos;&lt;/span&gt; abc@xxx.xxx.xxx.xxxx:/home/abc/filename ./
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;wget并行下载&quot;&gt;wget并行下载&lt;/h3&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-P 8&lt;/code&gt;八线程，&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-t 0&lt;/code&gt;无限重试，&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-nv&lt;/code&gt; 下载时只显示更新和出错信息，不显示指令的详细执行过程&lt;/p&gt;

&lt;p&gt;就是输入的地址urls.txt，每一行用一个wget命令进行下载，一次最多同时下载8个文件。&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;xargs &lt;span class=&quot;nt&quot;&gt;-P&lt;/span&gt; 8 &lt;span class=&quot;nt&quot;&gt;-n&lt;/span&gt; 1 wget &lt;span class=&quot;nt&quot;&gt;-nv&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-c&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-t&lt;/span&gt; 0 &amp;lt;urls.txt
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;wget下载动态连接的文件&quot;&gt;wget下载动态连接的文件&lt;/h3&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;wget &lt;span class=&quot;nt&quot;&gt;-c&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&apos;http://some.site.com/download?id=234&amp;amp;status=download&apos;&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-O&lt;/span&gt; output_filename
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;随时上网检索一下，上面这个方法不一定每个动态连接的文件都能下载，例如google网盘的。&lt;/p&gt;

&lt;h3 id=&quot;aria2分段下载大文件&quot;&gt;aria2分段下载大文件&lt;/h3&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-s 3&lt;/code&gt; 分成3份，&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-x 3&lt;/code&gt; 用3个连接从服务器下载文件&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;aria2c  &lt;span class=&quot;nt&quot;&gt;-s&lt;/span&gt; 3 &lt;span class=&quot;nt&quot;&gt;-x&lt;/span&gt; 3 &lt;span class=&quot;s2&quot;&gt;&quot;https://baidu.com/d/datadump.current.zip&quot;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;bypy将百度云盘数据下载到服务器&quot;&gt;bypy将百度云盘数据下载到服务器&lt;/h3&gt;

&lt;p&gt;安装信息：(bypy)[https://github.com/houtianze/bypy]&lt;/p&gt;

&lt;p&gt;测试发现，大文件上传比慢。文件只能上传到&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;全部文件&amp;gt;apps&amp;gt;bypy&lt;/code&gt;这个文件夹。&lt;/p&gt;

&lt;h3 id=&quot;下载一系列ftp上的文件&quot;&gt;下载一系列FTP上的文件&lt;/h3&gt;

&lt;p&gt;这是压箱底的老程序，filetype这里其实不需要使用一个循环，如果只有一个类型的话，直接在下载的循环中用grep筛出这个变量。&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;#!/bin/bash&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;for &lt;/span&gt;filetype &lt;span class=&quot;k&quot;&gt;in &lt;/span&gt;pdf&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; 
&lt;span class=&quot;k&quot;&gt;do 
  for &lt;/span&gt;net &lt;span class=&quot;k&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;sb&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;grep&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$filetype&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt; file.list2 | &lt;span class=&quot;nb&quot;&gt;sed&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;s/&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&amp;lt;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;td&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&amp;gt;\&amp;lt;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;a href=&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;//g&quot;&lt;/span&gt; | &lt;span class=&quot;nb&quot;&gt;sed&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;s/&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;//g&quot;&lt;/span&gt; | &lt;span class=&quot;nb&quot;&gt;sed&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;s/&amp;lt;TD//g&quot;&lt;/span&gt;&lt;span class=&quot;sb&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; 
  &lt;span class=&quot;k&quot;&gt;do 
    if&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;!&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-f&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$net&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;]&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;then
    &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$net&lt;/span&gt;
    &lt;span class=&quot;c&quot;&gt;#wget  $path/$net&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;fi
  done
done&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
</description>
        <pubDate>Mon, 06 Jan 2020 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%BD%AF%E4%BB%B6%E4%B8%96%E7%95%8C/2020/01/06/Download-tools.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%BD%AF%E4%BB%B6%E4%B8%96%E7%95%8C/2020/01/06/Download-tools.html</guid>
        
        <category>aria2</category>
        
        <category>wget</category>
        
        <category>rsync</category>
        
        <category>bypy</category>
        
        <category>scp</category>
        
        
        <category>软件世界</category>
        
      </item>
    
      <item>
        <title>Fibonacci数列</title>
        <description>&lt;p&gt;接上篇内容，翻倒远古时期用MATLAB写的Fibonacci数列第N项的计算方法，直觉上写一个递归函数就可以搞定问题，但是其计算时间复杂度是&lt;code&gt;O(2^n)&lt;/code&gt;。&lt;/p&gt;

&lt;p&gt;当然，如果需要降低时间复杂度，应该写成循环的形式。我一开始以为自己写的就是递归函数的版本，查着资料，写着博客，猛然发现自己写的就是循环。&lt;/p&gt;

&lt;div class=&quot;language-matlab highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c1&quot;&gt;%古老的脚本，从第三项开始计算数列的内容&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Fibonacci&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;k&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;如果还想偷懒，可以写成矩阵计算的样子。&lt;/p&gt;

\[\begin{bmatrix}f_{n+1} \\ f_{n}\end{bmatrix}=\begin{bmatrix}1 &amp;amp; 1 \\ 1 &amp;amp; 0\end{bmatrix}\cdot\begin{bmatrix}f_{n} \\ f_{n-1}\end{bmatrix}\]

&lt;div class=&quot;language-matlab highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;k&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Fibonacci&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;
  &lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;^&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;];&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;到这里，其实还没进入我想说的内容。我为了查询Fibonacci数列的算法，搜索了一些资源，基本总结有4种方法（递归，循环，矩阵，通项），最后一种就是用通项公式进行计算。&lt;/p&gt;

&lt;p&gt;看到第四种方法时，我懵了，Fibonacci数列还有通项公式？等我再看到通项公式的内容，才发现，这个公式在高中时期就已经学过了。对于公式的内容，自己一直没有记住过。温故知新，这次从头学了一遍通项公式的计算。&lt;/p&gt;

&lt;p&gt;具体方法，即从上面的矩阵方法中，求\(\begin{bmatrix}1 &amp;amp; 1 \\ 1 &amp;amp; 0\end{bmatrix}\)的特征值和特征向量，然后带回到方程中，已知\(f_{0}=\begin{bmatrix}1  \\  0\end{bmatrix}\) 然后可求通项&lt;sup id=&quot;fnref:1&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:1&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;。&lt;/p&gt;

&lt;p&gt;网上还有一些初级数学的方法可以求解，但是我忘记高中时候是怎么推导的了（很可能是用差分方法），如果有机会，翻翻之前的笔记，尽量找出来。&lt;/p&gt;

&lt;div class=&quot;footnotes&quot; role=&quot;doc-endnotes&quot;&gt;
  &lt;ol&gt;
    &lt;li id=&quot;fn:1&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Fibonacci_number#Matrix_form&quot;&gt;Fibonacci number: Matrix form&lt;/a&gt; &lt;a href=&quot;#fnref:1&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
  &lt;/ol&gt;
&lt;/div&gt;
</description>
        <pubDate>Fri, 03 Jan 2020 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%AE%A1%E7%AE%97%E6%96%B9%E6%B3%95/2020/01/03/Fibonacci-sequence.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%AE%A1%E7%AE%97%E6%96%B9%E6%B3%95/2020/01/03/Fibonacci-sequence.html</guid>
        
        <category>Fibonacci</category>
        
        <category>递归</category>
        
        <category>时间复杂度</category>
        
        <category>通项公式</category>
        
        
        <category>计算方法</category>
        
      </item>
    
      <item>
        <title>写代码</title>
        <description>&lt;p&gt;最近在整理硬盘时发现了一个久远的代码文件夹，里面有我从大学开始写的数学计算程序和研究生时期的一些处理数据的脚本。回顾了一下，发现数学相关的程序很多都记不清算法了，研究生时期的脚本写得又特别的青涩（low）&lt;code&gt;╮(￣▽￣)╭&lt;/code&gt;。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/Qr94bBll.png&quot; alt=&quot;img&quot; /&gt;&lt;/p&gt;

&lt;p&gt;为了腾出几M的硬盘空间。我决定把一些常用的方法都挪到博客上，温故知新，重新学习一遍（&lt;u&gt;学了也会忘记的，不经常用的方法是不会记在脑内的&lt;/u&gt;，就当个松鼠，收集整理好，存在网络上）。&lt;/p&gt;

&lt;p&gt;有些完全没有技巧性的，我就挪到&lt;a href=&quot;http://yulijia.net/en/categories/#HowTo&quot;&gt;英文博客&lt;/a&gt;了。中文博客记录一些可以展开说明的内容。&lt;/p&gt;

&lt;p&gt;如无特殊说明，所有程序均按照初期使用的语言编写，其中MATLAB替换成Octave，Python是3.6以上版本，R是最新版本，Perl语言用Perl5，c和c++用电脑里GCC最新版，操作系统是CentOS或者Fedora。&lt;/p&gt;

&lt;p&gt;在这里，还要说一下写代码的习惯，最开始的时候，仗着自己用Linux系统，我连代码程序文件的后缀&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.pl&lt;/code&gt;，&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.sh&lt;/code&gt;都不写，这样造成的重大问题是，光看文件名，我自己都不清楚这个程序是用什么语言写的。
在自己研究生时期的研究工作硬盘&lt;a href=&quot;http://yulijia.net/cn/%E7%94%9F%E6%B4%BB%E7%82%B9%E6%BB%B4/2016/04/04/so-sad.html&quot;&gt;彻底报废&lt;/a&gt;的时候，抢救回来的数据，很多都是文本格式的乱码，如果当时写了文件名后缀，那么在数据恢复的时候，软件可以根据后缀来选择恢复的数据类型。&lt;/p&gt;

&lt;p&gt;其次，写代码要有注释，下面是一个规范的有注释的MATLAB代码。我的其他MATLAB代码，都没写注释，由于MATLAB都是矩阵运算，读起来就很费力了。&lt;/p&gt;

&lt;div class=&quot;language-matlab highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;k&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;dijkstra&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;V&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;o&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;%V为邻接矩阵，o为零点标号，输出向量d是零点到每个点的距离&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;V&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;%定义可变矩阵&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;m&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;size&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;d&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;zeros&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;m&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;%零点到个点的距离&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;d&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(:)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;inf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;Q&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;o&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,:);&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;%零点所在行的矩阵&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;d&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;o&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;%零点到零点的距离为0&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;%循环标志&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;while&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;min&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Q&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;~=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;inf&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;~=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;%判断条件矩阵为inf或距离没有inf项时停止&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;id&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;min&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Q&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;%求最小值及其标号&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;Q&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;id&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;inf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;%消去已经求出的值&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;o&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;id&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;inf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;%消去已经求出的值&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;o&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;id&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;%转换行列&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;d&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;id&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;%所求距离比已知小的时候代换&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;d&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;id&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;m&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;%改写矩阵的距离&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Q&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;d&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;id&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;id&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;Q&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;d&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;id&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;A&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;id&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;%循环标志设0值&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;m&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;%检查是否有inf项&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;d&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;inf&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;d&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;最后，程序里要写metainfo，例如编写时间，修改时间，修改内容，作者，联系方式等等。尤其在开源软件中，写metainfo会方便记录代码是否有多人进行维护（有点类似于git commit）&lt;/p&gt;

&lt;p&gt;2020年5月3日再次提醒自己，写代码一定要有注释，否则，你根本不记得自己三个月前写了什么。。&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;http://yulijia.net/en/howto/2020/01/02/how-to-rename-files.html&quot;&gt;How to rename files&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://yulijia.net/cn/%E8%AE%A1%E7%AE%97%E6%96%B9%E6%B3%95/2020/01/03/Fibonacci-sequence.html&quot;&gt;Fibonacci数列&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://yulijia.net/en/howto/2020/01/05/Kruskal-algorithm.html&quot;&gt;Kruskal’s algorithm&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://yulijia.net/cn/%E8%BD%AF%E4%BB%B6%E4%B8%96%E7%95%8C/2020/01/06/Download-tools.html&quot;&gt;常用下载方式总结&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://yulijia.net/cn/%E7%94%9F%E7%89%A9%E4%BF%A1%E6%81%AF/2020/01/07/Fall-of-Perl.html&quot;&gt;Perl的没落&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://yulijia.net/en/howto/2020/01/06/Dijkstra-algorithm.html&quot;&gt;Dijkstra’s algorithm&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://yulijia.net/en/howto/2020/01/15/How-to-draw-multiple-ggplot2-figures-on-a-page.html&quot;&gt;How to draw multiple ggplot2 figures on a page&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://yulijia.net/cn/%E7%BC%96%E7%A8%8B%E5%8E%9F%E7%90%86/2020/05/03/digital-root-and-palindrome.html&quot;&gt;树根和回文串&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://yulijia.net/cn/%E8%BD%AF%E4%BB%B6%E4%B8%96%E7%95%8C/2020/05/03/Fortran.html&quot;&gt;老古董Fortran&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://yulijia.net/cn/%E5%8F%AF%E8%A7%86%E4%BF%A1%E6%81%AF/2020/05/03/Computer-Graphics-I.html&quot;&gt;计算机图形学I–基础画线&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://yulijia.net/cn/%E5%8F%AF%E8%A7%86%E4%BF%A1%E6%81%AF/2020/05/04/Computer-Graphics-II.html&quot;&gt;计算机图形学II–基础填充几何变换&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://yulijia.net/cn/%E8%AE%A1%E7%AE%97%E6%96%B9%E6%B3%95/2020/05/09/find-the-integration.html&quot;&gt;计算方法系列I - 求积分&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://yulijia.net/cn/%E8%AE%A1%E7%AE%97%E6%96%B9%E6%B3%95/2020/05/13/find-the-root-of-equation.html&quot;&gt;数值分析II–求方程的根&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://yulijia.net/cn/%E8%AE%A1%E7%AE%97%E6%96%B9%E6%B3%95/2020/05/25/solving-System-of-equations.html&quot;&gt;数值分析III–求方程组的根&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://yulijia.net/cn/%E6%95%B0%E5%80%BC%E5%88%86%E6%9E%90/2020/06/04/solving-ordinary-differential-equations.html&quot;&gt;数值分析IV–求解常微分方程&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://yulijia.net/cn/%E6%A0%BC%E5%BC%8F%E6%8A%80%E5%B7%A7/2021/01/17/Write-Chinese-document-with-XeTeX.html&quot;&gt;使用XeTeX写中文文档&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
        <pubDate>Thu, 02 Jan 2020 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2020/01/02/Write-code.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2020/01/02/Write-code.html</guid>
        
        <category>代码</category>
        
        
        <category>聚类不能</category>
        
      </item>
    
      <item>
        <title>染色体坐标系</title>
        <description>&lt;p&gt;一开始学生物信息分析的时候，知道BED格式中染色体坐标系是从0开始的。用久了各种工具，突然有一天发现SAM和BAM格式的染色体坐标系起始位置是不一样的。猛然间发现生物信息学的分析工具中各种坐标不统一。
读了一些英文资料，觉得有必要在博客里记录一下各种坐标系的位置关系。&lt;/p&gt;

&lt;h3 id=&quot;以0为起点&quot;&gt;以0为起点&lt;/h3&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;sequence&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;A&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;C&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;&lt;font color=&quot;red&quot;&gt; G &lt;/font&gt;&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;&lt;font color=&quot;red&quot;&gt; T &lt;/font&gt;&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;&lt;font color=&quot;red&quot;&gt; A &lt;/font&gt;&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt; &lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;0-based&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;0&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;1&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;&lt;font color=&quot;red&quot;&gt; 2 &lt;/font&gt;&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;&lt;font color=&quot;red&quot;&gt; 3 &lt;/font&gt;&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;&lt;font color=&quot;red&quot;&gt;4 &lt;/font&gt;&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;5&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;h3 id=&quot;以1为起点&quot;&gt;以1为起点&lt;/h3&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;sequence&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;A&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;C&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;&lt;font color=&quot;red&quot;&gt; G &lt;/font&gt;&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;&lt;font color=&quot;red&quot;&gt; T &lt;/font&gt;&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;&lt;font color=&quot;red&quot;&gt; A &lt;/font&gt;&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt; &lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;1-based&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;1&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;2&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;&lt;font color=&quot;red&quot;&gt; 3 &lt;/font&gt;&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;&lt;font color=&quot;red&quot;&gt; 4 &lt;/font&gt;&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;&lt;font color=&quot;red&quot;&gt; 5 &lt;/font&gt;&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;6&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;除了其实为点的坐标位置不同，终止位置的坐标是否包括最后一个位置，在不同的格式和工具里也是不一样的。&lt;/p&gt;

&lt;p&gt;例如上面序列中的GTA的坐标位置：&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;以0为起始位点，包含最后一个位置: 2-4&lt;/p&gt;

  &lt;p&gt;以1为起始位点，包含最后一个位置: 3-5&lt;/p&gt;

  &lt;p&gt;以1为起始位点，不包含最后一个位置: 3-6&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;下面记录一些工具的染色体坐标系定义位置：&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;以0为起始位点：SAM, VCF, GFF 和 Wiggle 格式&lt;/li&gt;
  &lt;li&gt;以1为起始位点：BAM, BCFv2 和 PSL 格式&lt;/li&gt;
  &lt;li&gt;Ensembl：以1为起始位点，包含最后一个位置。&lt;a href=&quot;https://asia.ensembl.org/info/docs/api/core/core_tutorial.html&quot;&gt;https://asia.ensembl.org/info/docs/api/core/core_tutorial.html&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;UCSC Genome Browser&lt;/strong&gt;：内部表示，以0为起始位点，并用以1为起始位点时的终止位点（程序员为了编程方便煞费苦心）。外部显示，以1为起始位点。&lt;a href=&quot;http://genome.ucsc.edu/FAQ/FAQtracks.html#tracks1&quot;&gt;http://genome.ucsc.edu/FAQ/FAQtracks.html#tracks1&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;BED 格式&lt;/strong&gt;：以0为起始位点，不包含最后一个位置。&lt;strong&gt;BED格式经常使用，在分析中别弄错起始位置和终点位置非常重要&lt;/strong&gt; &lt;a href=&quot;http://genome.ucsc.edu/FAQ/FAQformat.html#format1&quot;&gt;http://genome.ucsc.edu/FAQ/FAQformat.html#format1&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;MAF 格式：以1为起始位点，包含最后一个位置。&lt;/li&gt;
&lt;/ol&gt;

&lt;h3 id=&quot;参考文献&quot;&gt;参考文献&lt;/h3&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;a href=&quot;https://arnaudceol.wordpress.com/2014/09/18/chromosome-coordinate-systems-0-based-1-based/&quot;&gt;Chromosome coordinate systems: 0-based, 1-based&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
</description>
        <pubDate>Mon, 20 May 2019 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E7%94%9F%E7%89%A9%E4%BF%A1%E6%81%AF/2019/05/20/Chromosome-coordinate-systems.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E7%94%9F%E7%89%A9%E4%BF%A1%E6%81%AF/2019/05/20/Chromosome-coordinate-systems.html</guid>
        
        <category>坐标系</category>
        
        <category>染色体</category>
        
        
        <category>生物信息</category>
        
      </item>
    
      <item>
        <title>从分子育种到现代化养殖</title>
        <description>&lt;p&gt;去年同朋友一起去他家乡的某地做调研，想了解基因检测以及基因相关技术在家乡的应用情况。去了之后简直是大开眼间。我生长在大城市里，对于地级市、县这些都没有什么概念，更别提对什么农作物和畜牧业的了解为零。在短短的一个周末，我们参观了一家全国知名的奶牛养殖基地，一家猪肉加工企业，当地种子站，妇幼保健院以及当地医院。参观完感觉自己就是个土鳖，什么都不懂。&lt;/p&gt;

&lt;h3 id=&quot;奶牛养殖&quot;&gt;奶牛养殖&lt;/h3&gt;

&lt;p&gt;奶牛养殖是通过让奶牛不间断怀孕产犊而实现的。一般产奶从产犊后15-20天开始，到2个月左右到达高峰，10个月后基本停止。每年有2个月的停奶期，母牛在产犊3个月后就会再次人工控制怀孕，怀孕周期大致为10个月，产犊前是停奶期（也就是休息的时间）。一头奶牛一天产奶量大约在5公斤到10公斤左右。一头奶牛一般会连续产奶5年，然后被淘汰掉。国内引进的奶牛大多是荷斯坦奶牛，也有一部分娟珊牛（体型稍小）。牧场的机械化管理系统也都是从欧洲进口的，流水线上可以自动称重，自动挤奶。母牛的配种也是进口精子，然后用电泳的方式过滤掉大部分Y染色体，只让母牛怀孕产小母牛，但是这种方法还是会有一定比例的公牛被产下来，这种公牛一般不会养殖很久，直接进入后续加工环节，变成商品。看完了整个生产过程，我突然理解了一些素食主义者连牛奶都不喝的原因，一头牛五年连续产犊、产奶，若把这个类比到人身上得多恐怖。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/7gLRlEc.jpg&quot; alt=&quot;可爱的娟珊奶牛&quot; title=&quot;可爱的娟珊奶牛&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;猪肉加工&quot;&gt;猪肉加工&lt;/h3&gt;

&lt;p&gt;国家对于从俄罗斯过来得猪瘟控制非常严格，如果发现病猪，方圆20里的猪都要被扑杀，给养猪户带来的损失还是比较大的。现在都是现代化工厂养猪，建工厂的地方也有很多要求，不能挨着居民区，水源，以免造成污染。银行对于发放评审企业的贷款，是一件很tricky的事情，如果你的企业真的缺钱亏损，需要贷款自救，这种情况下是拿不到贷款的，银行怕企业还不上钱。企业盈利状态下想贷款，就要做账，把自己变成亏损的状态，但是地方上都清楚你这个企业是可以还清贷款的，所以银行才会借钱给你。另外猪肉加工企业老板让我们这些科研民工见识了什么是能说会道。&lt;/p&gt;

&lt;h3 id=&quot;种子站&quot;&gt;种子站&lt;/h3&gt;

&lt;p&gt;分子育种，转基因是绕不开的话题，如果我问你，我们国内的销售的粮食里有没有转基因水稻和小麦？答案是没有。国家不批准任何的转基因食用农作物进入生产消费渠道，除非是一些人为因素造成的泄漏。所以也不存在用什么国内产的转基因大豆炸油，转基因大豆都是国外进口的。因为人们的认识局限，国家很好的管控了转基因食品的生产和销售，用杂交水稻养活的14亿人口，真是件了不起的事情。&lt;/p&gt;

&lt;h3 id=&quot;妇幼保健院和医院&quot;&gt;妇幼保健院和医院&lt;/h3&gt;

&lt;p&gt;基本上NIPT检测在地市级别的中小城市都可以开展，全部外包给不同的基因检测公司，新企业已无进入渠道。比较可笑的一件事情是，我们发现妇幼保健院和当地医院的NIPT检测竟然承包给了不同的公司。没想到在当地基因检测公司之间的竞争会这么激烈。医院副院长一直说医院要自负盈亏，如果不赚钱的检测，都会外包出去，感觉赚钱是他们首要考虑的事情。另外医院的设备也是一个方面的问题，我们在医院的实验室看到了最新购买的设备（进口的），还有专门的PCR室，虽然没有人去做PCR。整体情况就是设备都有，但是病人数量和需要做的检测不足以撑起其运行成本，所以一些复杂量少的医学检测能外包的，就都外包了。&lt;/p&gt;

&lt;h3 id=&quot;总结&quot;&gt;总结&lt;/h3&gt;

&lt;p&gt;回来后几个科研民工的感想就是：自己知识浅薄，局限在自己的研究工作领域，对于周围的事物没有任何了解，表达能力欠缺太多。虽有一身技术，但不会将其市场化带来收益。在国内，做什么事情，关系最重要，谁的关系硬，谁容易打开渠道，获得收益。&lt;/p&gt;
</description>
        <pubDate>Wed, 27 Feb 2019 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E6%89%80%E6%80%9D%E6%89%80%E6%82%9F/2019/02/27/Investigation-and-research.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E6%89%80%E6%80%9D%E6%89%80%E6%82%9F/2019/02/27/Investigation-and-research.html</guid>
        
        <category>奶牛</category>
        
        <category>遗传育种</category>
        
        <category>养猪</category>
        
        
        <category>所思所悟</category>
        
      </item>
    
      <item>
        <title>复仇者联盟</title>
        <description>&lt;p&gt;这篇文章在草稿里放了太久，以至于我都不记得自己要写什么了。大致上应该是我看了去年的复仇者联盟，想写个感想之类的。在写这段话时突然想到了之前想说的几个感想，灭霸非常喜爱他的女儿还哭着把她变成了宝石，简直是鳄鱼的眼泪。最感动的一幕是小树人格鲁特断臂为斧子做斧柄。另外地球最强的瓦坎达士兵竟然基本用冷兵器。。那么厉害的金属简直是浪费。对于瓦坎达这个非洲国家的描写还是透露出一股白人至上主义。&lt;/p&gt;
</description>
        <pubDate>Mon, 24 Dec 2018 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E5%BD%B1%E8%A7%86%E8%AF%84%E8%AE%BA/2018/12/24/The-Avengers.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E5%BD%B1%E8%A7%86%E8%AF%84%E8%AE%BA/2018/12/24/The-Avengers.html</guid>
        
        <category>Avengers</category>
        
        
        <category>影视评论</category>
        
      </item>
    
      <item>
        <title>一个时代的结束，另一个时代的开始</title>
        <description>&lt;p&gt;今年绝对是在大家心目中很特别的一年，在几十年后回顾历史，可能所有人都忘不了今年发生的一些事情。&lt;/p&gt;

&lt;p&gt;在年初，我最喜欢的美国科幻作家 &lt;a href=&quot;http://www.ursulakleguin.com/&quot;&gt;Ursula K. Le Guin&lt;/a&gt;（中文翻译名字没有准确的汉字，一般称为厄休拉·勒奎恩/娥苏拉·勒瑰恩）去世，去世时她的&lt;a href=&quot;https://worldsofukl.com/&quot;&gt;个人纪录片&lt;/a&gt;还没有完成。到年底了，我看好像整部影片还是没有公布，可能12月4日上映。厄休拉真的是一个活到老写到老的作家，去年看她的网站上还贴着最新的杂志发表内容。&lt;/p&gt;

&lt;p&gt;霍金病后看着就痛苦，神经上的病和很多基因有关，但是我们相应的治疗手段真的少之又少。他是最棒的科普作家。&lt;/p&gt;

&lt;p&gt;我在高三寒假的时候一直在看金庸，感觉都没怎么进行高考复习，就正常写作业，然后用我的联想台式机从网上下载了金庸全集的电子书（chm格式），最好看的不是他的武侠著作，而是他在大公报、明报写的杂文。如果你是一个金庸的粉丝，希望能找到他在报上发表的文章看看。&lt;/p&gt;

&lt;p&gt;我最早接触的美国超级英雄应该是蜘蛛侠，绿巨人，和蝙蝠侠。但是我真一点都不了解他们的作者，前两人都是斯坦·李和他的同事创作的，感谢他给我童年带来的欢乐。&lt;/p&gt;

&lt;p&gt;11月26日从美联社爆出来的一个震惊世界的消息。作为一个中国科研民工，我心里mmp，有苦说不出。&lt;strong&gt;希望看到贺和其他违法者们都受到应有的惩罚！！！&lt;/strong&gt;关于这件事就不做什么详细分析了，多关注知识分子以及果壳网的介绍即可。哪个什么香园，这次事件里屁股太明显了，翻译也有问题，资本进入后早就不是以前那个组织了，以后没准会变成新的x田系。&lt;strong&gt;另外，希望教育部能把这个例子放到初中生物和政治教学中，在生物教学中强调经过基因编辑治疗的人还是人，不是怪物，有些群众动不动就要把两个女孩当试验品处理掉，太无知了，在政治法律相关课程中要强调伦理道德教育。&lt;/strong&gt; George Church 太（Mu）伟（Hou）大（Shi）了（Li）（之一？我就这么写了，改了好多遍，但我总觉得这整个事件一点都不简单），希望我能有机会见他一面。&lt;/p&gt;

&lt;p&gt;整个世界都在走向保守主义的道路，从过去几十年的全球化进程中逐渐回归保守。像什么用经商的方法来处理政治问题、脱欧、澳洲新西兰禁止一些中国厂商、取消xxxx任期限制、最强八零后从上任来走过了我国几十年的道路竟然走到了改革开放这一步，等等。这些事情真是让我感到魔幻的一年。&lt;/p&gt;

&lt;p&gt;未来的一二十年全球都不好过，整体而言，苦是苦了中国的八零后，真是什么好时候都没赶上。论个人奋斗，还看自己。&lt;/p&gt;

&lt;p&gt;这些语无伦次的总结，是我对今年的大部分感受。&lt;/p&gt;
</description>
        <pubDate>Thu, 29 Nov 2018 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2018/11/29/the-first-year-of-an-era.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2018/11/29/the-first-year-of-an-era.html</guid>
        
        <category>Ursula K. Le Guin</category>
        
        <category>金庸</category>
        
        <category>霍金</category>
        
        <category>斯坦·李</category>
        
        <category>基因编辑</category>
        
        
        <category>聚类不能</category>
        
      </item>
    
      <item>
        <title>娱乐至死</title>
        <description>&lt;p&gt;花了三个半天的时间，看完了娱乐至死（中文版），作者分析了电视这种媒体给大家带来的弊端——信息变成娱乐。
从印刷术发明出发，作者讲述了印刷术对人类文明和思想，对美国社会起到的积极作用，随后批评了电视媒体将严肃信息娱乐化，传递信息的方式变化，其所传递的信息也会随之变化。
书中分别从宗教，政治，教育三个领域谈电视媒体带来的消极效应，例如：传教士在电视上传教，传教士是人们直接看到的&lt;q&gt;头号人物&lt;/q&gt;，上帝其实只能做配角；电视教育增加了教学内容对学生的视觉刺激，相应减少了学生必须应对的阐述比重；&lt;u&gt;电视新闻节目提供给观众的是娱乐而不是信息，观众逐渐失去判断什么是信息的能力。&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;我觉得这本书在现今仍具有其指导和教育意义，但是作者的一些看法也不能说绝对正确，毕竟我也从观看电视教育节目学习到了不少知识。而书中作者认为通过电视教育节目，学生们学到了没有用的知识：&lt;q&gt;学生们为什么要学习座头鲸的习性、航海技术对于大城市的学生来说根本没有意义，等等。&lt;/q&gt;&lt;/p&gt;

&lt;p&gt;具备判断什么是信息的能力，不要让媒体代替你去思考问题，是我从这本书中获得的最主要信息。&lt;/p&gt;

&lt;p&gt;书中引用&lt;a href=&quot;https://en.wikipedia.org/wiki/The_Age_of_Reason&quot;&gt;《理性时代》&lt;/a&gt;中的一句话我非常的赞同：&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;所有的教堂，不论是犹太教、基督教或者伊斯兰教，在我看来都只不过是人的发明，是为了吓唬和奴役人类、垄断权利和利益而建立的。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;All national institutions of churches, whether Jewish, Christian or Turkish, appear to me no other than human inventions, set up to terrify and enslave mankind, and monopolize power and profit.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
        <pubDate>Mon, 18 Jun 2018 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E5%9B%A4%E4%B9%A6%E6%88%90%E7%98%BE/2018/06/18/Amusing-ourselves-to-death.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E5%9B%A4%E4%B9%A6%E6%88%90%E7%98%BE/2018/06/18/Amusing-ourselves-to-death.html</guid>
        
        <category>娱乐至死</category>
        
        
        <category>囤书成瘾</category>
        
      </item>
    
      <item>
        <title>阿姆氏指标</title>
        <description>&lt;p&gt;阿姆氏指标（Arms Index）也被称作TRIN，“TRading INdex“，是基于成交量变化来判断行情走势指标，也是超买超卖指标。
阿姆氏指标由四个部分组成：&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;纽约证券交易所股票上涨的公司数量 （Advancing Issues）&lt;/li&gt;
  &lt;li&gt;纽约证券交易所股票上涨的成交量 （Advancing Volume）&lt;/li&gt;
  &lt;li&gt;纽约证券交易所股票下降的公司数量 （Declining Issues）&lt;/li&gt;
  &lt;li&gt;纽约证券交易所股票下降的成交量 （Declining Volume）&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;公式为
\(ARMS=\frac{Advancing Issues}{Declining Issues} \div \frac{Advancing Volume}{Declining Volume}\)&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/5BQ2SYI.gif&quot; alt=&quot;Imgur&quot; /&gt;&lt;/p&gt;

&lt;p&gt;解读&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;中间值 = 1&lt;/li&gt;
  &lt;li&gt;看跌 &amp;gt; 1&lt;/li&gt;
  &lt;li&gt;看涨 &amp;lt; 1&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;阿姆氏指标的趋势要比其是否大于或者小于1更重要，从上面的日内图可以看出，当迷你道琼斯下跌时，阿姆氏指标上升。在1.5附近阿姆氏指标读数很高，交易者可能采取相反的立场并在1.5水平买入。此外，交易者可能会考虑在采取这种行动之前等待阿姆氏指标的反转或触底。当迷你道琼斯上涨时，阿姆氏指标下跌。&lt;/p&gt;

&lt;p&gt;阿姆氏指标也可用于长期预测，一些交易者将移动平均值运用到阿姆氏指标方程中，例如：&lt;/p&gt;

\[\frac{10 day MA of Advancing Issues}{10 day MA of Declining Issues} \div \frac{10 day MA of Advancing Volume}{10 day MA of Declining Volume}\]

&lt;p&gt;或者直接使用10天移动平均的阿姆氏指标。&lt;/p&gt;

&lt;p&gt;未完待续。&lt;/p&gt;
</description>
        <pubDate>Thu, 14 Jun 2018 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84/2018/06/14/Arms-Index.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84/2018/06/14/Arms-Index.html</guid>
        
        <category>阿姆氏指标</category>
        
        
        <category>量化投资</category>
        
      </item>
    
      <item>
        <title>网站添加了HTTP Secure</title>
        <description>&lt;p&gt;更新了一下网站的连接，全部都转成&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;https&lt;/code&gt;。在GitHub Page页面的设置中，最下方有enforce https的选项，这个应该是同Let’s Encrypt之类的公司合作的，只要是GitHub Page, 就可以免费获得http secure保护。
但是一定要注意，勾选enforce https之前你的域名DNS必须指向GitHub指定的IP地址，例如：我的博客设定的是&lt;a href=&quot;https://help.github.com/articles/setting-up-an-apex-domain/&quot;&gt;apex domain 指向GitHub Page&lt;/a&gt;。&lt;/p&gt;

&lt;p&gt;开了https之后，别忘了更新网站上不是https的css，js，img链接。&lt;/p&gt;

&lt;p&gt;利用sed更新所有md文档的img地址&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;for i in *.md; do sed -i &apos;s/http\:\/\/i.imgur.com/https\:\/\/i.imgur.com/g&apos; $i; done
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;中科大的 google font 源也不管用了（可能是我自己网络的问题），已把它在css中禁用。不管怎样，网站默认字体根据系统自定，凑合看吧。&lt;/p&gt;

&lt;p&gt;半年没更新了，还要再闭关一段时间，就这样。&lt;/p&gt;
</description>
        <pubDate>Wed, 13 Jun 2018 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2018/06/13/HTTP-Secure.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2018/06/13/HTTP-Secure.html</guid>
        
        <category>https</category>
        
        <category>GitHub</category>
        
        
        <category>聚类不能</category>
        
      </item>
    
      <item>
        <title>2017总结</title>
        <description>&lt;p&gt;上一个在博客发表的总结是 2011 年，之后我就“一蹶不振”了。2017 这一年最大的变化在心态，肩上责任重了，考虑的问题同之前不一样了。&lt;/p&gt;

&lt;p&gt;17年填掉了几个旧坑（&lt;a href=&quot;https://github.com/yihui/animation/pull/98&quot;&gt;animation package bug&lt;/a&gt;，&lt;a href=&quot;http://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2014/12/22/Franklins-X-ray.html&quot;&gt;压箱底的“如何从衍射实验中观察出DNA双螺旋结构”&lt;/a&gt;），还做了一个slack bot（作品自己非常满意，但是还有bug，尚未公开），但是也有很多&lt;a href=&quot;http://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2017/02/17/good-number.html&quot;&gt;仍旧未完成的项目&lt;/a&gt;在等待着我填坑。另外最近我和同事一起做了个 side project，这个要持续做下去，还需要很长很长一段时间（1～2年）。总之是旧坑填不完，新坑又开挖。最关键的问题，要治好自己的拖延症。&lt;/p&gt;

&lt;p&gt;明年将是一个重要的分水岭，在今年我彻底理解了做“隐士”是不行的，需要推广自己，让别人了解自己，所以今后会更加积极的参与到自己所属行业的活动中，争取留下自己的名字。做科研的 Lijia Yu 有好几个，同名同姓的人就更多了，希望以后搜索时能在搜索结果的首页找到自己（虽然我不一定还会继续做科研&lt;code&gt;;)&lt;/code&gt;）。&lt;/p&gt;

&lt;p&gt;另外，我争取在近一个月内填充完我欠的博客内容（论文研读，生物信息测序方法，以及量化投资指标），之后我就会放慢更新中文博客的内容，基本上每月一篇，学术方面的东西可能就不会再写了，以后主要写一些杂七杂八以及个人爱好的东西。所有学术相关的博客今后都只会更新在英文博客中。&lt;/p&gt;

&lt;p&gt;2017技术栈总结：&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;开始学习javascript&lt;/li&gt;
  &lt;li&gt;理解基因组基本概念，喜爱研究各种二代测序方法应用&lt;/li&gt;
  &lt;li&gt;理解了 biology 和 biomedical science 的异同点&lt;/li&gt;
  &lt;li&gt;开始学习量化投资，对于带数字和公式的东西都很感兴趣&lt;/li&gt;
  &lt;li&gt;开始理解中英文混排的排版要求（加空格）&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;2018要做的事情：&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;需要找时间重新捡起物理以及化学&lt;/li&gt;
  &lt;li&gt;需要进一步加深对各种统计学方法的认识&lt;/li&gt;
  &lt;li&gt;合理规划时间&lt;/li&gt;
  &lt;li&gt;尽最大努力填坑&lt;/li&gt;
&lt;/ol&gt;
</description>
        <pubDate>Tue, 26 Dec 2017 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E7%94%9F%E6%B4%BB%E7%82%B9%E6%BB%B4/2017/12/26/say-goodbye-to-2017.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E7%94%9F%E6%B4%BB%E7%82%B9%E6%BB%B4/2017/12/26/say-goodbye-to-2017.html</guid>
        
        <category>年终总结</category>
        
        
        <category>生活点滴</category>
        
      </item>
    
      <item>
        <title>中小学生科技竞赛</title>
        <description>&lt;p&gt;首先要吐槽一个事情：最近在指导一个高二的中学生独立做癌症相关的科学研究，她要参加一个重要的科技竞赛，首先需要在州内参加比赛，如果做得好，她可以被选上参加全国比赛。
说是指导，其实就是我替她写所有的程序（R语言），这个研究里包含两种癌症的数据，我写完程序，她用一组数据跑一遍确定程序能运行，然后换一组数据再跑一遍（她会把程序文件复制一份，改数据路径和变量名字，就是自己写的程序了 &lt;code&gt;-_-&lt;/code&gt;）。课题做了将近两个月，来实验室不到8次。她对写程序一点都没学会，连安装软件包不提醒的话都不知道如何安装，记得来实验室的第一天，就告诉她要自己主动学习一下编程，想必给她的自学材料也一点没看过。从不问我问题，我问她懂不懂，她都说懂。我还发现她连excel里自动填充功能都不会用。&lt;/p&gt;

&lt;p&gt;根据同她平时聊天以及她做课题的表现，这位同学应该是一个非常聪明的学生，但是她并不一定能完成这个课题，我觉得这个课题已经超出她的能力范畴了。美国的中学教育其实比国内的中学教育让学生觉得更加辛苦，不仅要学习成绩好，体育运动好，参加各类社会志愿活动，还要有时间做科学研究参加竞赛。这不是只比拼一次高考成绩，而是各种活动都如同高考那么重要。这个高中生曾说过，如果要坚持体育运动，就要牺牲自己睡眠时间。但是这种科技竞赛，如果是几个学生一组来完成一个课题，我觉得整个科研过程和结果都比较可信。若是单个学生独立完成科研，能做到的人其实是凤毛麟角。然而每年参加这种个人科研比赛的高中生还是满多的，这其中的工作很多都是家长或者大学里头的研究人员替他们做的。这种在评审时一眼就能看出来造假，让自己变成比赛分母的事情，当初何必浪费时间去做呢。究其原因，因为这个经历可以写在自己的简历上，为申请大学做准备。&lt;/p&gt;

&lt;p&gt;不光美国的科技竞赛如此，国内的科技竞赛也有这样的现象，据我所知，我所还出现过小学生来做科研实习的事情，小学生来中科院打酱油，这不是扯么。通过这次经历，让我感慨万分，以后再看到什么中小学生发明了什么什么，科研做了什么什么，心里都要打个问号，如果是个人比赛的结果，基本都不会那么相信。&lt;/p&gt;

&lt;p&gt;此外我还想说比赛获奖，有时靠得也不是个人能力，而是家长的能力，靠大树好乘凉。国内校级，区级的比赛，有关系就能脱颖而出，这种事情已经见怪不怪了。就连可以来大学和科研院所做科研，也应该是靠父母的关系。就我上面所说的两个学生例子，美国学生家长父母都是医生（精英移民的标配），网上还能找到关于他们的个人采访，这个学生做个志愿者取得了什么成绩都会上本地的新闻（为了申请大学铺路），新闻中还说她是同龄人中的领导者；那个小学生，父母也都是在研究所工作的。&lt;/p&gt;

&lt;p&gt;综上所述，穷人家的孩子做到阶级向上越迁，真的很难，输在起跑线。&lt;/p&gt;

&lt;p&gt;=================&lt;/p&gt;

&lt;p&gt;2017.12.25 更新&lt;/p&gt;

&lt;p&gt;知识分子上登载了一篇文章《清华，北大，人大资助招生选拔出更优秀的学生了吗》，结论是获得自主招生加分破格录取的学生通常是那些来自城市，父母受过大学教育，就读重点中学的优势阶层学生。这项研究说明了两个问题，家庭背景好的学生更可能获得自主招生加分。而因自主招生进入名校的学生们无论在学业表现、社会活动能力、非认知能力，还是就业去向上，都和普通高考统招生没有明显差异。&lt;/p&gt;

&lt;p&gt;==================&lt;/p&gt;

&lt;p&gt;2018.01.22 更新&lt;/p&gt;

&lt;p&gt;介绍个科技竞赛作品。&lt;/p&gt;

&lt;p&gt;https://www.dnaloopr.org/&lt;/p&gt;

&lt;p&gt;不得不说题目起得真好《DNALoopR: A Novel High-Performance Machine Learning Predictor to Identify Genome-Wide 3D DNA Interactions in Cancer》，这就是一篇标准的生物信息工具类论文的题目啊。再看网站，非常专业的购买了SSL保护，上面一大堆媒体报道。结果要使用软件时，需要登录，竟然不是开源的。登录后再看软件，就一个输入，上传一个ChIP-seq文件，填写email地址，然后网站在计算完之后会将结果发给上传文件的人，连个样例都没有。。可惜手边没有ChIP-seq数据，否则还可以上传个文件测试一下。这个同学成功被斯坦福录取，并有机会出席了去年的诺贝尔颁奖典礼。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/qo97F7f.png&quot; alt=&quot;DNALoopR&quot; /&gt;&lt;/p&gt;

&lt;p&gt;从外观上说，该网站的工程量已经很大了，可惜我无法对这个项目的软件和算法进行评价。高中时期的我，肯定做不出来这么牛X的项目。。。&lt;/p&gt;

</description>
        <pubDate>Fri, 22 Dec 2017 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E6%89%80%E6%80%9D%E6%89%80%E6%82%9F/2017/12/22/Science-Engineering-Fair.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E6%89%80%E6%80%9D%E6%89%80%E6%82%9F/2017/12/22/Science-Engineering-Fair.html</guid>
        
        <category>竞赛</category>
        
        <category>教育</category>
        
        
        <category>所思所悟</category>
        
      </item>
    
      <item>
        <title>这个男人来自地球</title>
        <description>&lt;p&gt;这部片子其实我大学时就看过，一开始逞能看的是英文版，结果差点没看下去，然后换了中文字幕才看完第一遍，那时纯粹把这个当作故事，没有去详细思考这部片子为什么受欢迎。&lt;/p&gt;

&lt;p&gt;今天我又找到了在线的版本看了一遍，John Oldman看似像讲故事一样的叙述，其实给他的朋友灌输了宗教产生的另一种可能。这次欣赏时，剧情里我最喜欢的一段话是：&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;EDITH: You think that’s all religion is about? Selling hope and survival?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;JOIN: The Old Testament sells fear and guilt. The New Testament is a great work of ethics, put into my mouth by better philosophers and poets than I am. But the message isn’t practiced. The fairy tales build churches.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;当然，朋友们听过John的故事后的反映出乎了意料，几位教授讨论了这究竟是真是假，EDITH甚至陷入了信仰的崩塌。John每一个口述的事情都有文献或者专家的推测。但是当把这一切组合成一个故事时，影片中的各位仿佛身陷其中，无法辨别（验证）其真伪。但是如果仔细想想John所说的话，他得过黑死病并没有留下伤疤，这本来就是一个很好的证据，说明John是在编故事的。可惜剧中的人物并没有再追究下去。&lt;/p&gt;

&lt;p&gt;正如&lt;a href=&quot;https://www.zhihu.com/question/20259220&quot;&gt;知乎上&lt;/a&gt; 大家对这部影片的看法，&lt;q&gt;本片之所以有让人无法辩驳的推演逻辑的原因是它参照了典型的科学研究的步骤，即观察-&amp;gt;假设-&amp;gt;验证&lt;/q&gt; 。在逻辑上基本无懈可击，让人感觉故事完整，令人思考“究竟是不是真的是这样”，这正是该片的独特之处。&lt;/p&gt;

&lt;p&gt;关于宗教，我只想说,宗教的起源最好阅读一下《金枝》(the golden bough)，这个东西是随着人类社会的发展需要而产生的，也会随着社会的需要而变化。&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;EDITH: Christianity’s been a worldwide belief for two thousand years.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;JOHN: How long did the Egyptians worship (Goddess of health, marriage, and wisdom)? The Sumerians, Ishtar? Sacred cows wander freely in parts of India, as reincarnated souls. In a few thousand years they’ll be barbecued, and the souls will be in squirrels.&lt;/p&gt;
&lt;/blockquote&gt;

</description>
        <pubDate>Sat, 07 Oct 2017 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E5%BD%B1%E8%A7%86%E8%AF%84%E8%AE%BA/2017/10/07/the-man-from-earth.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E5%BD%B1%E8%A7%86%E8%AF%84%E8%AE%BA/2017/10/07/the-man-from-earth.html</guid>
        
        <category>宗教</category>
        
        <category>逻辑</category>
        
        
        <category>影视评论</category>
        
      </item>
    
      <item>
        <title>模型融合：Stacking model</title>
        <description>&lt;p&gt;模型融合的方法有5种：1. 投票，2. 求均值，3. bagging，4. Boosting，5. Stacking&lt;sup id=&quot;fnref:1&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:1&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;。&lt;/p&gt;

&lt;p&gt;其中投票运用在分类问题上，求均值是最简单的回归问题的模型融合方法。&lt;/p&gt;

&lt;p&gt;bagging就比较复杂了，有放回的抽样，对抽样的样本建立模型，然后对结果进行1.投票或者2.求均值。&lt;/p&gt;

&lt;p&gt;Boosting是用迭代思想，我先建立一个简单的模型，然后找到这个模型的剩余误差，接下来在用另一个模型来预测前一个模型的剩余误差，以此类推，这样会产生多个若分类器（模型），然后给每个分类器一个权重，最终组合成一个强分类器（模型）。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/puZ8S3h.png&quot; alt=&quot;Gradient_Boosting&quot; /&gt;
上图来自于参考资料&lt;sup id=&quot;fnref:2&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:2&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;。&lt;/p&gt;

&lt;p&gt;Boosting的权重究竟怎么选？
目的是让加权后的错误最小化（损失函数数值最小）。
损失函数有：&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;无权重平均&lt;/li&gt;
  &lt;li&gt;加权平均&lt;/li&gt;
  &lt;li&gt;logistic MSE&lt;/li&gt;
  &lt;li&gt;hinge
… 等等&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;例如决策树，计算weighted impurity scores，一个二分类问题：根据class1和class2中的比例，求信息熵&lt;sup id=&quot;fnref:2:1&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:2&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;。&lt;/p&gt;

&lt;p&gt;好了，说了这么多废话，终于到重头戏，stacking方法了，这个方法网上的文献不多，混乱程度那是相当高。
stacking 方法的第一层是类似cross validation，对于训练集合分成10份，用其中的9份做training，1份做validation，另外在对test集合做预测，这样，最后会得到一个完整的训练数据的validation结果，以及测试数据的预测结果，然后将这两个结果分别作为第二层的训练数据和测试数据，进行预测&lt;sup id=&quot;fnref:3&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:3&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/akHjfc3.png&quot; alt=&quot;stacking method&quot; title=&quot;Stacking Models for Improved Predictions&quot; /&gt;
上图来自于参考资料&lt;sup id=&quot;fnref:3:1&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:3&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;那么问题来了，究竟是对测试数据集在第一层时，做10次预测，并将10个结果求均值或者投票，还是每次只对测试数据集的十分之一做预测？&lt;/strong&gt;
我个人认为是后者，如果已经对10次预测结果求均值或者投票了，那么就等于已经做了一次第二层对模型融合。个人观点，不一定对，主要是我没有找到&lt;sup id=&quot;fnref:3:2&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:3&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;3&lt;/a&gt;&lt;/sup&gt;中的代码里对第一层的测试数据集合求均值或者投票。&lt;/p&gt;

&lt;p&gt;另外在第二层做模型融合时，regression数据用glm，classification数据用boost，我测试过regression数据用boosting tree，结果糟糕的一塌糊涂（仍旧是个人观点，不一定对）。&lt;/p&gt;

&lt;p&gt;后记另一件事情：我发现我在5年前就用&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gbm&lt;/code&gt;方法做预测，但是我完全不记得我自己做过这样的事情了&lt;code&gt;_-_&lt;/code&gt;。如果觉得理解不了stacking model究竟是用了哪种方法在第一层做预测，直接用python或者R的软件包。在独立日写了一天的代码，最后才发现软件包的我并不感到高兴 &lt;code&gt;:(&lt;/code&gt;。&lt;/p&gt;

&lt;p&gt;参考资料：&lt;/p&gt;

&lt;div class=&quot;footnotes&quot; role=&quot;doc-endnotes&quot;&gt;
  &lt;ol&gt;
    &lt;li id=&quot;fn:1&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;&lt;a href=&quot;https://zhuanlan.zhihu.com/p/25836678&quot;&gt;【机器学习】模型融合方法概述&lt;/a&gt; &lt;a href=&quot;#fnref:1&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:2&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;&lt;a href=&quot;https://courses.cs.washington.edu/courses/cse455/10au/notes/InfoGain.pdf&quot;&gt;信息增益(相对熵) pdf&lt;/a&gt; &lt;a href=&quot;#fnref:2&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt; &lt;a href=&quot;#fnref:2:1&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:3&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;&lt;a href=&quot;http://www.kdnuggets.com/2017/02/stacking-models-imropved-predictions.html&quot;&gt;Stacking Models for Improved Predictions&lt;/a&gt; &lt;a href=&quot;#fnref:3&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt; &lt;a href=&quot;#fnref:3:1&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt; &lt;a href=&quot;#fnref:3:2&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;sup&gt;3&lt;/sup&gt;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
  &lt;/ol&gt;
&lt;/div&gt;
</description>
        <pubDate>Tue, 04 Jul 2017 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/2017/07/04/stacking-model.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/2017/07/04/stacking-model.html</guid>
        
        <category>Stacking</category>
        
        <category>Voting</category>
        
        <category>Averaging</category>
        
        <category>Bagging</category>
        
        <category>Boosting</category>
        
        
        <category>机器学习</category>
        
      </item>
    
      <item>
        <title>Kaggle奔驰猜数字挑战赛</title>
        <description>&lt;p&gt;大约5天前，Kaggle的一项由&lt;a href=&quot;https://www.kaggle.com/c/mercedes-benz-greener-manufacturing&quot;&gt;奔驰汽车公司主办的机器学习挑战赛&lt;/a&gt;变成了猜数字挑战赛。比赛原意是通过给定的抹去信息的数据来预测y值，预测结果的准确性根据决定系数来评估。&lt;/p&gt;

&lt;p&gt;&lt;q&gt;参与者&lt;/q&gt;在Kaggle平台提交&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;测试数据&lt;/code&gt;的预测结果后，平台会先检测19%的预测结果，产生&lt;q&gt;参与者&lt;/q&gt;在公开排名榜的名次。还有81%的预测结果的检测不公布排名，&lt;q&gt;参与者&lt;/q&gt;就有了一个自己也不清楚的非公开排名榜的名次。等到比赛结束，公开那个“非公开排名榜”的结果，产生&lt;q&gt;参与者&lt;/q&gt;的最终排名。
这个方法本来是为了防止大家通过排名榜来“撞出”测试数据的预测结果，由于这19%和81%的测试结果排序是固定的（不是每次随机挑出19%和81%），在这次的比赛中公开排行榜彻底沦为娱乐工具。&lt;/p&gt;

&lt;p&gt;一个&lt;q&gt;参与者&lt;/q&gt;在Kaggle论坛上公布了他们的发现，可以用&lt;a href=&quot;https://www.kaggle.com/c/mercedes-benz-greener-manufacturing/discussion/35271&quot;&gt;公开排行榜反馈的决定系数来找出19%测试数据的真实值&lt;/a&gt;。
原理十分简单：&lt;/p&gt;

&lt;p&gt;决定系数（R squared） \(R^{2}=1-\frac{\sum_{i=1}^{N}{(y_i-\hat{y})^2}}{\sum_{i=1}^{N}{(y_i-\bar{y})^2}}\)
分母是个常数，被称作总平方和，记为 \(S_{tot}\) 。&lt;/p&gt;

&lt;p&gt;首先提交一个所有预测结果都为0的答案，得到：&lt;/p&gt;

\[R_{0}=1-\frac{\sum_{i=1}^{N}{(y_i-0)^2}}{S_{tot}}=1-\frac{y_1^2}{S_{tot}}-\frac{\sum_{i=2}^{N}{(y_i-\hat{y})^2}}{S_{tot}}\]

&lt;p&gt;然后将预测结果第一个数值改成100，再次提交，可以得到：
\(R_{100}=1-\frac{(y_1-100)^2}{S_{tot}}-\frac{\sum_{i=2}^{N}(y_i)^2}{S_{tot}}\)&lt;/p&gt;

&lt;p&gt;通过联立两个方程，就能求解出\(y_{1}\)的真实值。&lt;/p&gt;

&lt;p&gt;该方法公布人做了&lt;a href=&quot;https://crowdstats.eu/topics/kaggle-mercedes-benz-greener-manufacturing-leaderboard-probing&quot;&gt;网站&lt;/a&gt;， 号召大家一起来“撞库”。目前已经停止提交新的撞库结果，因为有人蓄意提交假信息。&lt;/p&gt;

&lt;p&gt;说来说去，机器学习比赛中撞库的事情常有发生大多是根据评判测试数据的方法来猜数字。如何能避免这种情况，评估测试结果的19%和81%这两组数据最好要随机产生。在预测数据集足够大的情况下，才能避免此类情况产生不良后果。&lt;/p&gt;

&lt;p&gt;最新进展，官方出了一个&lt;a href=&quot;https://www.kaggle.com/c/mercedes-benz-greener-manufacturing/discussion/35566&quot;&gt;声明&lt;/a&gt;，表示不会公开“公开排行榜”的结果，并且强调若参赛者若过分关注公开排行榜的数据结果，会造成模型过拟合。&lt;/p&gt;
</description>
        <pubDate>Thu, 29 Jun 2017 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/2017/06/29/can-you-cut-the-time-a-mercedes-benz-spends-on-the-test-bench.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/2017/06/29/can-you-cut-the-time-a-mercedes-benz-spends-on-the-test-bench.html</guid>
        
        <category>Kaggle</category>
        
        <category>决定系数</category>
        
        
        <category>机器学习</category>
        
      </item>
    
      <item>
        <title>安德鲁音叉线</title>
        <description>&lt;p&gt;安德鲁音叉线，也被称作中线研究，利用支持位，阻力位和回撤的概念，用三条平行趋势线来判断可能的支撑位和阻力位技术指标。&lt;/p&gt;

&lt;p&gt;安德鲁音叉线由一下几部分组成：&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;推动浪 （handle）&lt;/li&gt;
  &lt;li&gt;阻力趋势线&lt;/li&gt;
  &lt;li&gt;中线&lt;/li&gt;
  &lt;li&gt;支持趋势线&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/jNuYfZw.gif&quot; alt=&quot;Andrews_Pitchfork&quot; /&gt;&lt;/p&gt;

&lt;p&gt;建立安德鲁音叉线的步骤：&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;找到重要的拐点或回撤点（例如图中的左下角最低点）&lt;/li&gt;
  &lt;li&gt;找到下一个重要的拐点或回撤点 （例如图中的虚线链接了左下角最低点和一个拐点）&lt;/li&gt;
  &lt;li&gt;找到下一个回撤点（例如图中从第一个拐点下降到一个低点）&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;用绘图软件通过创建向上阻力“齿”，支持“齿”，和中线来完成音叉。&lt;/p&gt;

&lt;p&gt;支持和阻力的相同规则适用于安德鲁音叉。 交易者可能会考虑在支持位以下购买，并寻求在阻力位卖出。 另外，如上图标准普尔500指数基金所示，价格被认为是趋于中线的。 上图显示了股票市场的长期走势; 当然，安德鲁音叉线也可以用于较短的时间范围。&lt;/p&gt;
</description>
        <pubDate>Thu, 29 Jun 2017 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84/2017/06/29/Andrews-Pitchfork.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84/2017/06/29/Andrews-Pitchfork.html</guid>
        
        <category>安德鲁音叉线</category>
        
        
        <category>量化投资</category>
        
      </item>
    
      <item>
        <title>cDNA片段库的高通量测序以及交联免疫扩增（HITS-CLIP和CLIP-seq）</title>
        <description>&lt;p&gt;HITS-CLIP 和 CLIP-seq 可以用于定位体内的蛋白质RNA相互作用位点。这个测序技术同&lt;a href=&quot;http://yulijia.net/cn/%E7%94%9F%E7%89%A9%E4%BF%A1%E6%81%AF/2017/06/20/RNA-immunopreciprtation-sequencing.html&quot;&gt;RIP-seq&lt;/a&gt;类似，但是用交联来固定蛋白质RNA复合物。方法是将RNA蛋白质复合物用紫外线交联并做免疫沉淀。复合物经过RNA酶和蛋白酶K的处理，然后提取RNA，并逆转录成cDNA，测序结果可提供精确到单碱基的蛋白质与RNA结合信息。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/hBGHzWu.png&quot; alt=&quot;HITS-CLIP_and_CLIP-seq&quot; /&gt;&lt;/p&gt;

&lt;p&gt;技术优点：&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;用交联来固定蛋白质的靶向结合位点&lt;/li&gt;
  &lt;li&gt;紫外线交联可以应用于实验材料体内&lt;/li&gt;
  &lt;li&gt;由于使用RNA酶消化，可以得到低噪声高分辨率的结合位点&lt;/li&gt;
  &lt;li&gt;不需要对所研究的RNA结合信息有先验了解&lt;/li&gt;
  &lt;li&gt;全基因组水平的RNA扫描&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;技术缺点：&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;没有特异性靶标的抗体可能会结合非特异性的复合物&lt;/li&gt;
  &lt;li&gt;紫外线交联不是非常有效，需要蛋白质和RNA近距离结合，远距离的可能会无法形成复合物&lt;/li&gt;
  &lt;li&gt;交联步骤可能会引入外源污染物&lt;/li&gt;
&lt;/ol&gt;
</description>
        <pubDate>Thu, 22 Jun 2017 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E6%B5%8B%E5%BA%8F%E6%8A%80%E6%9C%AF/2017/06/22/HITS-seq-and-CLIP-seq.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E6%B5%8B%E5%BA%8F%E6%8A%80%E6%9C%AF/2017/06/22/HITS-seq-and-CLIP-seq.html</guid>
        
        <category>HITS-CLIP</category>
        
        <category>CLIP-seq</category>
        
        
        <category>测序技术</category>
        
      </item>
    
      <item>
        <title>平均趋向指标</title>
        <description>&lt;p&gt;平均趋向指标是用来确定股票，期货或者货币是否正在交易区间。&lt;/p&gt;

&lt;!--![`ADX`](https://i.imgur.com/88EnUH5.gif)--&gt;

&lt;p&gt;平均趋向指标展示的是一种趋势强度信号，它的方向同股票的走势没有直接关系。如果股票有很强的上行趋势，那么&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ADX&lt;/code&gt;会增加；如果股票有很强的下行趋势，&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ADX&lt;/code&gt;也会增加。&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ADX&lt;/code&gt;是对其他技术指标的极大补充，因为它可以帮助交易者避免一些指标的陷阱。&lt;/p&gt;

&lt;p&gt;移动平均线
移动平均线及其变体在趋势市场有效；然而，在波动期间价格上涨或下跌但没有方向性，移动平均指标会给出大量虚假的买卖信号，这回造成交易者的损失。在趋势市场期间，建议使用移动平均线，趋势线和其他趋势跟随技术指标。&lt;/p&gt;

&lt;p&gt;震荡
震荡指标在非趋势市场上相当有效。在非趋势市场中使用震荡指标使得低买高卖成为可能。不幸的是，在趋势市场中，震荡指标表现相当差，经常提示投资者在熊市下滑期间买入或在牛市时经常卖空。对于非趋势性时期，可以使用诸如Stochastic Fast &amp;amp; Slow, RSI, Williams %R 或者其他由范围限制的指标，例如布林带（Bollinger Bands）或者 Moving Average Envelopes （移动平均信封）。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/aVmFhPA.gif&quot; alt=&quot;ADX&quot; /&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;低于20：非趋势市场。&lt;/li&gt;
  &lt;li&gt;20以上的交叉：表明趋势可能正在出现; 交易者可根据现行股票，期货或货币价格变动的方向发起买卖指令。&lt;/li&gt;
  &lt;li&gt;20和40之间：如果&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ADX&lt;/code&gt;在20到40之间增加，那么进一步证实一个新趋势。 交易者可能会考虑在当前市场方向上进行买卖或卖空。 此外，交易者可能会避免使用振荡器技术指标，而应考虑使用趋势跟踪指标，如移动平均线。&lt;/li&gt;
  &lt;li&gt;40以上：非常强的趋势。&lt;/li&gt;
  &lt;li&gt;15以上：极其强的趋势。&lt;/li&gt;
  &lt;li&gt;70以上：非常罕见的超级强趋势。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;在《New Concepts in Technical Trading Concepts》中，&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ADX&lt;/code&gt;的创始人Welles Wilder，Jr.创建了DMI+和DMI指标，来专门为&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ADX&lt;/code&gt;技术分析指标产生潜在的买卖信号。 实际上，&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ADX&lt;/code&gt;是从&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;DMI+&lt;/code&gt;和&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;DMI-&lt;/code&gt;计算得出的&lt;/p&gt;
</description>
        <pubDate>Wed, 21 Jun 2017 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84/2017/06/21/Average-Directional-Index.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84/2017/06/21/Average-Directional-Index.html</guid>
        
        <category>平均趋向指标</category>
        
        
        <category>量化投资</category>
        
      </item>
    
      <item>
        <title>用于快速检测白血病的一种新方法：17基因干细胞性分值</title>
        <description>&lt;p&gt;去年nature上有一篇关于白血病风险检测的文章，找了17个基因的表达量组成一个分值，然后用这个分值来划分白血病的生存周期（overall survival简称OS， event-free survival 简称EFS）。这个分值与白细胞的干细胞性有关。&lt;/p&gt;

&lt;p&gt;介绍这篇文章主要是学习一下，作者们是从哪几个方面来说明自己找到的17个基因是在白血病中非常关键的基因。这篇文章不是article，实验存在很明显的问题。&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;说明CD34/CD38不能很好的区分白细胞的干细胞性。&lt;/li&gt;
  &lt;li&gt;引出他们的方法，从LSC+和LSC- （LSC leukaemia stem cell）的两类样本基因表达数据中找出密切相关的转录本。方法是cox regression model，求基因表达同生存期的相关性。&lt;/li&gt;
  &lt;li&gt;然后他们把找到的17个基因加上权重，组合成一个数值，叫它为LSC17 score。他们发现LSC17 score高的样本中病人的OS会短一些。&lt;/li&gt;
  &lt;li&gt;接下来在不同的数据集中做测试，发现不管在哪个测序技术平台上，这个结果都成立。&lt;/li&gt;
  &lt;li&gt;他们还发现相比于之前已知的几个基因突变同白血病的联系，他们的17基因可以更好的预测病人的生存周期。&lt;/li&gt;
  &lt;li&gt;同其他临床指标相比，17基因的效果也很好。&lt;/li&gt;
  &lt;li&gt;那么这个方法有什么应用呢？
    &lt;ul&gt;
      &lt;li&gt;首先是在NanoString 平台上，可以用17基因做临床检测&lt;/li&gt;
      &lt;li&gt;在白血病治疗中，干细胞移植手术中17基因可以做为协助断定病人是否可以进行移植的指标，不管怎么样只要是LSC17 score高的，临床预后都不好。作者在后面又续了一段说对于不同的数据，LSC17 score中的基因是有变化的，说明这个score还可以进行优化。（换个数据集基因就有变化，说明方法不稳定，另有在做耐药性的预测时，换了权重可以得到更好的预测结果。）&lt;/li&gt;
      &lt;li&gt;预测药物响应。LSC17 score低的患者对于gemtuzumab ozogamicin有更好的响应，延长生存周期。&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;这个工作的特点就是做了大量了不同平台之间的比较，从芯片到测序，再到三代测序。并且很好的说明了结果的应用。&lt;/p&gt;

&lt;p&gt;缺点也很明显，系统不稳定，17基因可能会变，权重也会变。这就说明不能用来预测，因为LSC17 score高和低，都是针对不同的数据集合来说的，没有一个统一的标准。&lt;/p&gt;

&lt;p&gt;最后，我要感谢文章的作者，在我阅读文章时产生了很多疑问，发邮件询问作者，得到了快速准确的答复。虽然我觉得文章在预测白血病预后方面没有什么太大的应用价值，但是这个工作仍是一个对于白血病干细胞性相关基因的全面分析。从中可以学到如何从各个方面对于自己的假设做验证。
全篇内容都是用的临床数据统计分析的方法，用的做多的就是多元线性回归。&lt;/p&gt;

&lt;h3 id=&quot;单词本&quot;&gt;单词本&lt;/h3&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;induction&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;感应&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;relapse&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;复发&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;quiescence&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;静止&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;allogeneic&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;异源基因&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;haematopoietic&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;造血&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;umbilical cord&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;脐带&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;multipotent progenitors&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;多功能祖细胞&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;granulocytes&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;粒性白血球&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;monocyte&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;单核&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;myeloid&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;骨髓&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;engraftment&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;植入&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;patient outcome&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;转归（病人恢复结果）&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;prognosis&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;预后&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;cytogenetically&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;细胞遗传学的&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;offset&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;抵消&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;mortality&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;死亡率&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
</description>
        <pubDate>Wed, 21 Jun 2017 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2017/06/21/A-17-gene-stemness-score-for-rapid-determination-of-risk-in-acute-leukaemia.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2017/06/21/A-17-gene-stemness-score-for-rapid-determination-of-risk-in-acute-leukaemia.html</guid>
        
        <category>白血病</category>
        
        
        <category>论文笔记</category>
        
      </item>
    
      <item>
        <title>RNA免疫沉淀测序</title>
        <description>&lt;p&gt;这个就是ChIP-seq的RNA版。&lt;/p&gt;

&lt;p&gt;RNA免疫沉淀测序用来定位蛋白质与RNA结合的位置。在该方法中，用特定的蛋白抗体来对RNA-蛋白复合物进行免疫沉淀。 RNA酶消化后，提取蛋白质覆盖的RNA并逆转录成cDNA。 然后将位置映射回基因组。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/MSMDDHM.png&quot; alt=&quot;RIP-seq&quot; /&gt;&lt;/p&gt;

&lt;p&gt;技术优点：&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;可以针对特异性（研究需要）的蛋白-RNA复合物。&lt;/li&gt;
  &lt;li&gt;由于使用RNase消化，可以得到背景噪声低，高分辨率的绑定位点信息&lt;/li&gt;
  &lt;li&gt;不需要任何关于RNA的具体先验知识（不需要提前知道需要的是哪些RNA序列）&lt;/li&gt;
  &lt;li&gt;全基因组范围的RNA搜索&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;技术缺点：&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;需要特定蛋白质的抗体&lt;/li&gt;
  &lt;li&gt;非特异性抗体将沉淀非特异性复合物&lt;/li&gt;
  &lt;li&gt;复合物若缺乏crosslink或者稳定性，会造成假阴性&lt;/li&gt;
  &lt;li&gt;RNase消化过程必须仔细控制&lt;/li&gt;
&lt;/ol&gt;
</description>
        <pubDate>Tue, 20 Jun 2017 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E6%B5%8B%E5%BA%8F%E6%8A%80%E6%9C%AF/2017/06/20/RNA-immunopreciprtation-sequencing.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E6%B5%8B%E5%BA%8F%E6%8A%80%E6%9C%AF/2017/06/20/RNA-immunopreciprtation-sequencing.html</guid>
        
        <category>RIP-seq</category>
        
        
        <category>测序技术</category>
        
      </item>
    
      <item>
        <title>腾落指数</title>
        <description>&lt;p&gt;腾落指数（A·D·Line）主要用来确认价格变动，检测价格波动。计算方法就是用股市收盘价上涨的公司数量减去下降的公司数量，然后将得到的数值加上昨天的A·D·Line上。
例如：纽约证券市场今日交易结束后，有1692家公司的股票收盘价上涨，1311家公司下跌，那么DELTA=1692-1311=381，假设昨天的ADL是45874，那么今天的ADL就是45874+381=46255。
ADL数值是正还是负对于分析无关紧要，重要的是看它的趋势。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/XkvmJRO.gif&quot; alt=&quot;ADLine&quot; /&gt;&lt;/p&gt;

&lt;p&gt;High #1 to High #2&lt;/p&gt;

&lt;p&gt;上图中迷你道琼斯工业指数升高，但是ADL没能同样升高，看跌&lt;/p&gt;

&lt;p&gt;High #2 to High #3&lt;/p&gt;

&lt;p&gt;道琼斯工业指数降低，ADL两个小高峰之间同样降低，今后趋势仍旧看跌&lt;/p&gt;

&lt;p&gt;Low #1 to Low #2&lt;/p&gt;

&lt;p&gt;另一个看跌偏差发生在低位＃1到低位＃2。微型道琼斯期货合约涨幅较高，成为公认的看涨迹象。然而，Advance Decline Line并未确认微型道琼斯未来的上涨趋势。事实上，在低迷1号至低位＃2的小型道琼斯整体涨势中，预期下降线正在下调低点。这种看跌的分歧标志着股票投资者和指数期货交易商应该警惕最近的涨幅;整体市场将于近期走高。&lt;/p&gt;

&lt;p&gt;总而言之，ADL是确认股票和股票指数价格行动以及信号潜在逆转或价格走弱的非常有效的工具。 另一个类似的指标是武器指数[TRIN]（Arms Index）。&lt;/p&gt;
</description>
        <pubDate>Mon, 19 Jun 2017 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84/2017/06/19/Advance-Decline-Line.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84/2017/06/19/Advance-Decline-Line.html</guid>
        
        <category>腾落指数</category>
        
        
        <category>量化投资</category>
        
      </item>
    
      <item>
        <title>核糖体分析测序（RIBO-seq）／ARTSEQ</title>
        <description>&lt;p&gt;活性mRNA翻译测序 (ART-seq)，也被称作核糖体分析，它是分离正在由核糖体加工的RNA，以便监测翻译过程。
该方法首先将与核糖体绑定的RNA进行消化（digestion），然后提取RNA，去掉rRNA，将提取的RNA逆转录成cDNA，最后测序。
测序结果展示了同核糖体绑定的RNA序列正在经历翻译过程。
这种方法已经被改进，以提高结果的质量和数量性质。 应注意以下几点：（1）产生细胞提取物，其中核糖体被正确的终止在它们正在翻译的mRNA上; （2）未被核糖体保护的RNA将被核酸酶消化，然后只回收核糖体保护的mRNA片段; （3）将受保护的RNA片段定量转化成可通过深度测序分析的DNA文库。 加入harringtonine（一种抑制蛋白质生物合成的生物碱）会使核糖体在起始密码子上精确地积累并有助于其检测。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/9LTFA0q.png&quot; alt=&quot;ART-seq&quot; /&gt;&lt;/p&gt;

&lt;p&gt;技术优点：&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;展示了核糖体在RNA上的精确位置的快照&lt;/li&gt;
  &lt;li&gt;核糖体分析比mRNA水平更接近地反映了蛋白质合成的比例&lt;/li&gt;
  &lt;li&gt;不需要关于RNA和ORF的先验知识&lt;/li&gt;
  &lt;li&gt;这是在全基因组水平的分析&lt;/li&gt;
  &lt;li&gt;可以用来确定蛋白质转录区域&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;技术缺点：&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;单一转录本有多个翻译起始位点的情况下，很难确定所有的ORF&lt;/li&gt;
  &lt;li&gt;不能测量翻译延伸的动力学数据（速率之类的）&lt;/li&gt;
&lt;/ol&gt;
</description>
        <pubDate>Fri, 16 Jun 2017 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E6%B5%8B%E5%BA%8F%E6%8A%80%E6%9C%AF/2017/06/16/RIBOSOME-PROFILING-SEQUENCING.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E6%B5%8B%E5%BA%8F%E6%8A%80%E6%9C%AF/2017/06/16/RIBOSOME-PROFILING-SEQUENCING.html</guid>
        
        <category>RIBO-seq</category>
        
        <category>ARTSEQ</category>
        
        
        <category>测序技术</category>
        
      </item>
    
      <item>
        <title>自适应移动平均</title>
        <description>&lt;p&gt;移动平均这个概念常在时序分析是出现，它是价格波动的敏感性指标。价格在一定方向上移动的时期，自适应移动平均线变得更为敏感，&lt;u&gt;在价格波动时对价格走势的敏感程度不大&lt;/u&gt;。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/vV8PfzW.gif&quot; alt=&quot;Adaptive_Moving_Average&quot; /&gt;&lt;/p&gt;

&lt;p&gt;上图显示了自适应移动平均和指数移动平均的特点，在中间一段价格波动时期，自适应移动平均线比较平缓，而指数移动平均线上下波动。&lt;/p&gt;
</description>
        <pubDate>Thu, 15 Jun 2017 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84/2017/06/15/Adaptive-Moving-Average.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84/2017/06/15/Adaptive-Moving-Average.html</guid>
        
        <category>自适应移动平均</category>
        
        
        <category>量化投资</category>
        
      </item>
    
      <item>
        <title>GRO-seq测序技术</title>
        <description>&lt;p&gt;GRO-seq(Global Run-On Sequencing)测序技术可以在整个基因组范围上绘制参与转录的RNA聚合酶的位置、数量并进行定位。在这个技术下，激活的RNA聚合酶II可以在有Br-UTP（Br标记的三磷酸尿苷）的条件下继续反应，RNA会水解并被有Brd-UTP抗体的磁珠抓住（纯化）。洗下来的RNA在逆转录成cDNA前要进行去帽处理和末端修复。对于cDNA的测序结果反映了正在细胞内被RNA聚合酶II转录的RNA。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/hh0v5FW.png&quot; alt=&quot;GRO-seq&quot; /&gt;&lt;/p&gt;

&lt;p&gt;技术优点：&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;可以map正在转录中的RNA聚合酶II的位置&lt;/li&gt;
  &lt;li&gt;确定转录位点的相对活性&lt;/li&gt;
  &lt;li&gt;检测正义和反义转录&lt;/li&gt;
  &lt;li&gt;检测全基因组转录&lt;/li&gt;
  &lt;li&gt;不需要已知转录位点的位置&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;技术缺点：&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;由于必须在存在标记核苷酸的情况下进行转录，该方案仅限于细胞培养物和其它人造系统&lt;/li&gt;
  &lt;li&gt;在准备核苷酸的过程中可能会有人造添加剂的干扰&lt;/li&gt;
  &lt;li&gt;新的转录起始事件可能会在转录时发生 (New initiation events may occur during the run-on step) 没能理解这句话的含义。&lt;/li&gt;
  &lt;li&gt;物理障碍可能阻断聚合酶的活动&lt;/li&gt;
&lt;/ol&gt;
</description>
        <pubDate>Wed, 14 Jun 2017 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E6%B5%8B%E5%BA%8F%E6%8A%80%E6%9C%AF/2017/06/14/Global-run-on-sequencing.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E6%B5%8B%E5%BA%8F%E6%8A%80%E6%9C%AF/2017/06/14/Global-run-on-sequencing.html</guid>
        
        <category>GRO-seq</category>
        
        <category>RNA聚合酶II</category>
        
        
        <category>测序技术</category>
        
      </item>
    
      <item>
        <title>摆动指数</title>
        <description>&lt;p&gt;摆动指数是用来预测未来短期内的价格变化的：当摆动指数曲线穿过零值水平线（可以想象成x轴）向上运动时，价格会短时向上运动；当摆动指数曲线穿过零值水平线向下运动时，价格会在短时期内向下运动。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/3NZo5Rk.gif&quot; alt=&quot;Swing_Index&quot; /&gt;&lt;/p&gt;

&lt;p&gt;计算方法参见：&lt;a href=&quot;http://www.marketinout.com/technical_analysis.php?id=100&quot;&gt;http://www.marketinout.com/technical_analysis.php?id=100&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;这种介绍技术指标的网站挺多的，上面的计算方法参考网站也全面介绍了各种技术指标。&lt;/p&gt;
</description>
        <pubDate>Tue, 13 Jun 2017 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84/2017/06/13/Swing-Index.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84/2017/06/13/Swing-Index.html</guid>
        
        <category>股票</category>
        
        <category>摆动指数</category>
        
        
        <category>量化投资</category>
        
      </item>
    
      <item>
        <title>累积摆动指数</title>
        <description>&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/UgoY7kB.gif&quot; alt=&quot;accumulative_swing_index&quot; /&gt;&lt;/p&gt;

&lt;p&gt;累积摆动指数是摆动指数的加强版，如果累积摆动曲线在上升趋势线的下方，这是一个买入信号，如果累积摆动曲线在下降趋势线的上方，是一个卖出信号。
总之，累积摆动曲线是一个确认买入卖出信号的工具。&lt;/p&gt;
</description>
        <pubDate>Tue, 13 Jun 2017 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84/2017/06/13/Accumulative-Swing-Index.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84/2017/06/13/Accumulative-Swing-Index.html</guid>
        
        <category>累积摆动指数</category>
        
        <category>证券</category>
        
        <category>股票</category>
        
        
        <category>量化投资</category>
        
      </item>
    
      <item>
        <title>使用（Push/Pull）多个Git远程仓库</title>
        <description>&lt;p&gt;众所周知，GitLab.com 在今年年初上演了一场惊天大戏——&lt;a href=&quot;https://about.gitlab.com/2017/02/01/gitlab-dot-com-database-incident/&quot;&gt;从删库到直播&lt;/a&gt;。
最近一段时间GitHub也经常down个十几分钟，据说是断电引起的。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/5HmTBcr.png&quot; alt=&quot;GitHub_down&quot; /&gt;
&lt;img src=&quot;https://i.imgur.com/9k9GTtG.png&quot; alt=&quot;Reason_of_GitHub_down&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;为了避免工作上的不便，是时候使用远程同步到多个git仓库了！！&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;前不久由于在考虑跳槽，想把现在的工作都保存到云端以免丢失。自从&lt;a href=&quot;http://yulijia.net/cn/%E7%94%9F%E6%B4%BB%E7%82%B9%E6%BB%B4/2016/04/04/so-sad.html&quot;&gt;硬盘挂了&lt;/a&gt;之后就对自己电脑上的存储设备不再信任，但是存“别人”硬盘上，也肯定不能保证一点问题都没有，例如Apple云同步有权限删除大于180天的资料。由于现在的工作都是在GitHub私有仓库里进行的，考虑到直接复制到硬盘占地方又有设备之间同步的问题，所以干脆把仓库同步到其他远程git仓库服务中。&lt;/p&gt;

&lt;p&gt;方法是从&lt;a href=&quot;https://stackoverflow.com/questions/849308/pull-push-from-multiple-remote-locations&quot; title=&quot;pull/push from multiple remote locations&quot;&gt;stackoverflow&lt;/a&gt;上复制下来的，仅此备份。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;我已经在本地有一个名叫cn的仓库，同步到gitlab，现在想把这个仓库也同步到github，操作如下：&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;## 以https://github.com/yulijia/cn 为例&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;## 首先cd到仓库相应目录&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;## 不需要 Git 初始化 git init&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;## 添加备份仓库地址（在此之前要在备份仓库网站创建相应的空白仓库）&lt;/span&gt;
git remote add alt git@github.com:yulijia/cn.git
&lt;span class=&quot;c&quot;&gt;## Git 添加文件信息&lt;/span&gt;
git add &lt;span class=&quot;nb&quot;&gt;.&lt;/span&gt;
git commit &lt;span class=&quot;nt&quot;&gt;-m&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;git init push&quot;&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;## push到备份地址&lt;/span&gt;
git push &lt;span class=&quot;nt&quot;&gt;--set-upstream&lt;/span&gt; origin master
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;之后每一次添加commit的push操作都要用两次&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git push&lt;/code&gt;，这样才能将本地内容分别备份到两个云端仓库中。&lt;/p&gt;
</description>
        <pubDate>Mon, 12 Jun 2017 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%BD%AF%E4%BB%B6%E4%B8%96%E7%95%8C/2017/06/12/use-multiple-git-remote-locations.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%BD%AF%E4%BB%B6%E4%B8%96%E7%95%8C/2017/06/12/use-multiple-git-remote-locations.html</guid>
        
        <category>Git</category>
        
        <category>远程同步</category>
        
        
        <category>软件世界</category>
        
      </item>
    
      <item>
        <title>KDD cup 2017 总结</title>
        <description>&lt;p&gt;今年KDD cup由阿里巴巴天池承办，比赛的题目是预测汽车通过高速公路闸口的时间，以及高速公路入口到闸口的车流量，这是一个时间序列预测类的问题，同类问题很多都属于经济学方面。&lt;/p&gt;

&lt;p&gt;预测方法就是提取前6个时间段的信息，预测后6个时间段的结果。训练数据量大约3个月左右。&lt;/p&gt;

&lt;p&gt;这题麻烦在从题目中的各种表格中提取特征，以及预测时训练集合的组成（究竟用每个路口的数据预测，还是一个路口一个路口来训练预测）。很明显比赛题目中的缺失数据是硬造出来了，给数据整理带来了不少麻烦。&lt;/p&gt;

&lt;p&gt;灰师弟和我一起参加了比赛（分别做1，2题，两个人选题不一样），前后一共忙活了20天，他的成绩比我好，mape 0.23 我的在0.3到0.6之间徘徊 &lt;code&gt;_-_&lt;/code&gt;。&lt;/p&gt;

&lt;p&gt;废话不多说，总结一下从中学习到了什么新东西：&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;比起R，python在机器学习方法上的包内容更全面，也更好掌握&lt;/li&gt;
  &lt;li&gt;完整的实现了R中xgboost方法的tune步骤，借鉴了这个&lt;a href=&quot;https://gist.github.com/NOllAl/b48c76ea0765a3d34879bd0dc04d3ec4&quot;&gt;脚本&lt;/a&gt;，比caret包好用。&lt;/li&gt;
  &lt;li&gt;objective function 几乎忘光了，要重新捡起来，我觉得构造这个方程很有意思。&lt;/li&gt;
  &lt;li&gt;关于一个一个路口预测还是整体一起预测的问题，整体一起预测的效果会好一些。&lt;/li&gt;
  &lt;li&gt;有一个同boosting相关的时间序列包叫forecastxgb，官方推荐的入手点，测试了一下，计算速度慢，结果也不好。&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;最后还要唠叨一句，十年河东，十年河西，今年的KDD cup平台不好用，选手登录都不方便。论坛里各种中文发帖交流，我估计都没几个外国选手参加。最后还出现了&lt;a href=&quot;https://tianchi.aliyun.com/competition/new_articleDetail.html?raceId=231597&amp;amp;postsId=1439&amp;amp;from=part&quot;&gt;竞赛“丑闻”&lt;/a&gt;，不知道是不是有人蓄意抹黑还是真的有这种事情发生。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;数数据竞赛，还看Kaggle！&lt;/strong&gt;&lt;/p&gt;
</description>
        <pubDate>Mon, 12 Jun 2017 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/2017/06/12/KDD-cup-2017-summary.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/2017/06/12/KDD-cup-2017-summary.html</guid>
        
        <category>KDDcup</category>
        
        <category>时间序列</category>
        
        
        <category>机器学习</category>
        
      </item>
    
      <item>
        <title>通过RNA纯化进行染色质分离</title>
        <description>&lt;p&gt;Illumina公司有一张特别牛x的poster，叫做 &lt;a href=&quot;https://www.illumina.com/content/dam/illumina-marketing/documents/applications/ngs-library-prep/ForAllYouSeqMethods.pdf&quot; title=&quot;大文件，慎点，我的16G内存小破笔记本在一次全文搜索中死机了&quot;&gt;For all you seq&lt;/a&gt;，全面记录了目前问世的所有二代测序技术的建库protocol，但是这张poster是加密的，无法分割、提取进行打印。然后，他们又出了一个手册，来介绍For all you seq里的建库方法，叫做Sequencing Methods Review，全手册加上illumina的广告将近200页。我打算从头到尾都看一遍，有兴趣的就写出来分享一下。&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;对于做生物信息的人，为啥要知道实验上的建库原理？&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;因为测序数据的第一道处理步骤就是排除并分析建库和测序时产生的错误和误差。为什么会产生这些问题？如何在mapping时排除相应问题，做到准确alignment？&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;第一部分就从RNA转录开始说起，RNA转录的度量方法分为很多种：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;post-translational modifications 后转录修饰&lt;/li&gt;
  &lt;li&gt;RNA splicing 剪接&lt;/li&gt;
  &lt;li&gt;RNA bound to RNA binding proteins (RBP) 与RNA相关蛋白结合&lt;/li&gt;
  &lt;li&gt;RNA expressed at various stages 在不同阶段的表达量&lt;/li&gt;
  &lt;li&gt;unique RNA isoforms 转录本异构体&lt;/li&gt;
  &lt;li&gt;RNA degradation 降解&lt;/li&gt;
  &lt;li&gt;regulation of other RNA species 调控其他RNA “物种” （我不清楚这句话的意思）&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;chromatin-isolation-by-rna-purification&quot;&gt;Chromatin isolation by RNA purification&lt;/h3&gt;

&lt;p&gt;Chromatin isolation by RNA purification (ChIRP-Seq) RNA纯化染色质分离技术是用于定位非编码RNA，例如长非编码RNA及其蛋白同染色质相互作用的位置。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/4vm5lpS.png&quot; alt=&quot;ChIRP-Seq&quot; /&gt;&lt;/p&gt;

&lt;p&gt;首先进行交联，超声打断，用Biotinylated寡核苷酸对感兴趣的RNA进行杂交，并用链霉抗生物素蛋白磁珠捕获复合物。用RNase H（核糖核酸酶H）处理后，对DNA进行提取和测序。&lt;/p&gt;

&lt;p&gt;技术优点：&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;可在基因组全部区域找寻结合位点&lt;/li&gt;
  &lt;li&gt;可发现新结合位点&lt;/li&gt;
  &lt;li&gt;可只对感兴趣的RNA进行相应研究&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;技术缺点：&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;非特异性的寡核苷酸相互作用会导致对结合位点的错误解读&lt;/li&gt;
  &lt;li&gt;染色质会在预处理阶段降解&lt;/li&gt;
  &lt;li&gt;感兴趣的RNA序列信息必须已知 （这不是废话吗，感兴趣的RNA肯定是已知的，已知的能不知道序列？感兴趣的未知RNA的作用位点，知道了也没法研究啊）&lt;/li&gt;
&lt;/ol&gt;

</description>
        <pubDate>Mon, 12 Jun 2017 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E6%B5%8B%E5%BA%8F%E6%8A%80%E6%9C%AF/2017/06/12/Chromatin-isolation-by-RNA-purification.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E6%B5%8B%E5%BA%8F%E6%8A%80%E6%9C%AF/2017/06/12/Chromatin-isolation-by-RNA-purification.html</guid>
        
        <category>ChIRP</category>
        
        <category>RNA转录</category>
        
        
        <category>测序技术</category>
        
      </item>
    
      <item>
        <title>累积分布?累积/派发线!</title>
        <description>&lt;p&gt;&lt;strong&gt;Accumulation Distribution&lt;/strong&gt; 乍一看可以翻译成累积分布，但累积分布的正确英文写法是cumulative distribution。
今天要说的这个Accumulation Distribution是证券交易中的技术指标——累积/派发线。&lt;/p&gt;

&lt;p&gt;难道我这个浓眉大眼的家伙也开始炒股了？ &lt;code&gt;-__,-&lt;/code&gt;
当然不是，我只是想用空闲时间了解一些经济学基本知识，从网上找到了&lt;a href=&quot;http://www.onlinetradingconcepts.com/&quot;&gt;Online Trading Concepts
&lt;/a&gt;，这个和计算有点关系的技术指标介绍网站，所以打算好好看一看，为了记录自己的学习成果，有机会就编译点网站上内容。&lt;/p&gt;

&lt;p&gt;累积/派发线通过&lt;strong&gt;成交量&lt;/strong&gt;来确认价格趋势，对于可能导致价格波动反转的弱趋势给出预警。&lt;/p&gt;

&lt;p&gt;累积：当天收盘高于前一天收盘价时，将成交量计入前一日的成交量累积值中，作为今日的累积/派发线值。
派发：当天收盘低于前一天收盘价时，将成交量从前一日的成交量累积值中减去，作为今日的累积/派发线值。&lt;/p&gt;

&lt;p&gt;所以累积/派发线是用来检测价格矩估计和成交量矩估计之间的差异。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/7Mr32v2.gif&quot; alt=&quot;img&quot; /&gt;&lt;/p&gt;

&lt;p&gt;两个时间点之间的成交量曲线是上涨的，那么说明价格会上涨，泛指则应认定为价格会有波动（下降）。&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;High #1 到 High #2&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;图中的High #1 到 High #2 的价格是一样的，但是累积/派发线呈下降趋势，说明价格会有波动（下降）。&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;High #3 到 High #4&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;图中的High #3 到 High #4 的价格是上涨的，但是累积/派发线呈下降趋势，说明价格会有波动（下降）。&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Low #1 to Low #2&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;a sign of strength， 翻译不好这个strength的意思。但是看图，应该还是波动（下降）趋势。&lt;/p&gt;

&lt;p&gt;累积/派发线是一个实用的检测价格趋势反转的指标。其他类似的分析成交量和价格的指标是Chaikin Oscillator (蔡金摆动指标), Money Flow Index (资金流量指标)，以及 Price Volume Trend indicator (价格交易量趋势指标)。&lt;/p&gt;

&lt;h3 id=&quot;r-代码-williams-accumulation--distribution&quot;&gt;R 代码 Williams Accumulation / Distribution&lt;/h3&gt;

&lt;div class=&quot;language-r highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;library&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;TTR&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;library&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;magrittr&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;library&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;plotly&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ttrc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ttrc&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ad&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;-&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;williamsAD&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ttrc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[,&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;High&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;Low&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;Close&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)])&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;tail&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ttrc&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;30&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;-&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;list&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;line&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;list&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;color&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;#FFD700&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;d&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;-&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;list&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;line&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;list&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;color&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;#0000ff&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;

&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;-&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;df&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;%&amp;gt;%&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;plot_ly&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;~&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Date&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;candlestick&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
          &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;open&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;~&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Open&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;close&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;~&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Close&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
          &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;high&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;~&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;High&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;low&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;~&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Low&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
          &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;increasing&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;decreasing&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;d&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;%&amp;gt;%&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;add_lines&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;~&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ad&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;williamsAD&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;%&amp;gt;%&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;layout&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;yaxis&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;list&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;Price&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
</description>
        <pubDate>Wed, 07 Jun 2017 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84/2017/06/07/Accumulation-Distribution.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84/2017/06/07/Accumulation-Distribution.html</guid>
        
        <category>累积/派发线</category>
        
        <category>股票</category>
        
        
        <category>量化投资</category>
        
      </item>
    
      <item>
        <title>今天的日期是个好数字</title>
        <description>&lt;p&gt;水一篇。我喜欢这种类似回文串的日期。
有三个多月没更新博客了，马上满血复活，要填的坑还是比较多，希望能早日填完。&lt;/p&gt;

&lt;h2 id=&quot;坑之列表&quot;&gt;坑之列表&lt;/h2&gt;

&lt;h3 id=&quot;近期&quot;&gt;近期&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;del&gt;animation package bug&lt;/del&gt;&lt;/li&gt;
  &lt;li&gt;Freshman21 theme bug&lt;/li&gt;
  &lt;li&gt;欠的blog文章 (10+), see todo list in my driver&lt;/li&gt;
  &lt;li&gt;某bot （五月初完成一个bot，但还差一个&lt;code&gt;-_-&lt;/code&gt;）&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;远期&quot;&gt;远期&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;某R包编写&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;久远&quot;&gt;久远&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;某专题&lt;/li&gt;
&lt;/ul&gt;

</description>
        <pubDate>Fri, 17 Feb 2017 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2017/02/17/good-number.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2017/02/17/good-number.html</guid>
        
        <category>回文串</category>
        
        <category>满血复活</category>
        
        
        <category>聚类不能</category>
        
      </item>
    
      <item>
        <title>CB2 101 BioComp 课程总结（其他）</title>
        <description>&lt;p&gt;其余部分包括Git的使用，可重复性研究（Rmarkdown），以及一些简单的生物信息学分析（Blast，DNA mutation，RNA expression），内容不连贯，我就不一一罗列了。&lt;/p&gt;

&lt;p&gt;我当时有个笔记草稿，现已放到了&lt;a href=&quot;https://gist.github.com/yulijia/a6f38f07c8db9fb3b369f4f2836db67e&quot;&gt;gist&lt;/a&gt;上，欢迎参观，但应该没人能完全看懂。。。&lt;/p&gt;

&lt;h3 id=&quot;2017年更新&quot;&gt;2017年更新&lt;/h3&gt;
&lt;p&gt;最新知识，比较RNA表达量的分布，需要知道最少用几个样本，有了样本才能知道表达量的分布，那么究竟表达量分布长什么样子，需要多少个样本？&lt;/p&gt;
</description>
        <pubDate>Fri, 18 Nov 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E5%AD%A6%E5%9C%A8%E8%AF%BE%E5%A0%82/2016/11/18/CB2-101-BioComp-III.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E5%AD%A6%E5%9C%A8%E8%AF%BE%E5%A0%82/2016/11/18/CB2-101-BioComp-III.html</guid>
        
        <category>生物信息学</category>
        
        <category>Bioinformatics</category>
        
        <category>Reproducible Research</category>
        
        <category>Blast</category>
        
        <category>Git</category>
        
        
        <category>学在课堂</category>
        
      </item>
    
      <item>
        <title>CB2 101 BioComp 课程总结（R语言）</title>
        <description>&lt;p&gt;在R语言部分，老师推荐了这本书&lt;a href=&quot;http://www-bcf.usc.edu/~gareth/ISL/&quot;&gt;An Introduction to Statistical Learning with Applications in R&lt;/a&gt;。&lt;/p&gt;

&lt;p&gt;还稍微介绍了一点编译相关的内容。&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;inHybrid&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;Hybrid&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;compiled&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;Python&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;Java&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;C&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;R&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;Perl&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;C++&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;Bash&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;接下来就是简单的实战，我发现没有编成经验的学生最容易弄错的一段代码是随机数，他们一般都会问，为什么自己的结果同老师演示的结果不同。&lt;/p&gt;

&lt;div class=&quot;language-r highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;myfunction1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;-&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;v&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;rnorm&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;mean&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;v&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;myfunction1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;全局变量&quot;&gt;全局变量&lt;/h3&gt;
&lt;p&gt;（20170410更新，我觉得文章这么长，你们肯定不会看到最后的留言）&lt;/p&gt;

&lt;p&gt;&lt;del&gt;在课堂中老师忘了如何将函数中的变量定义为全局变量，其实这个功能我在R中基本就没有用到过。不过我还是&lt;a href=&quot;http://stackoverflow.com/questions/10904124/global-and-local-variables-in-r&quot; title=&quot;global and local variables in r&quot;&gt;查到了方法&lt;/a&gt;，用双箭头&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;&amp;lt;-&lt;/code&gt;来定义全局变量。&lt;/del&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;谢老大留言：双箭头 «- 表示全局变量这个说法不严谨，但很多人都被误导了。其实它的精确含义是向上层环境中的变量赋值，问题只是如果上层变量中不存在这个变量的话，就继续再向上，如果一直都找不到这个变量，最上层的环境是全局环境 .GlobalEnv，所以有时候就变成了创建全局变量。我自己经常用双箭头魔法向上层环境赋值，比如 knitr 中的 opts_chunk$set()就是基于双箭头的：https://github.com/yihui/knitr/blob/master/R/defaults.R&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;具体问题参考&lt;a href=&quot;http://stackoverflow.com/questions/22412620/define-global-variable-using-function-argument-in-r&quot;&gt;Define global variable using function argument in R&lt;/a&gt;&lt;/p&gt;

&lt;div class=&quot;language-r highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;

&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;myfunction&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;v&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&amp;lt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;rnorm&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;mean&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;v&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;myfunction&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;v&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;杀掉rstudio进程&quot;&gt;杀掉Rstudio进程&lt;/h3&gt;

&lt;p&gt;有时由于程序写错了，进入了死循环，并且内存占用越来越大，最简单的处理方式是在终端中杀掉Rstudio进程（虽然不推荐）。&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;killall rstudio&lt;/code&gt;&lt;/p&gt;

&lt;h3 id=&quot;r的数据结构&quot;&gt;R的数据结构&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;vector&lt;/li&gt;
  &lt;li&gt;list&lt;/li&gt;
  &lt;li&gt;data.frame （还有一种data.table）&lt;/li&gt;
  &lt;li&gt;matrix&lt;/li&gt;
  &lt;li&gt;character&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;课上练习&lt;/p&gt;

&lt;div class=&quot;language-r highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;words&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;Hello&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;and hi&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;World&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;l&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;list&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;in&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;length&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;words&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)){&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;3&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;words&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;World&quot;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;||&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;words&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;world&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)){&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
    &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;l&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;America!&quot;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;else&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
    &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;l&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;words&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;in&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;l&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;cat&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot; &quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;实用网站和关键函数介绍&quot;&gt;实用网站和关键函数介绍&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;http://rseek.org&quot;&gt;rseek 查询&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://www.programiz.com/r-programming/precedence-associativity&quot;&gt;R操作算子顺序&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://stat.ethz.ch/R-manual/R-devel/library/base/html/Logic.html&quot;&gt;R逻辑操作符&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://stat.ethz.ch/R-manual/R-devel/library/base/html/Syntax.html&quot;&gt;R句法&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;正则表达式&quot;&gt;正则表达式&lt;/h3&gt;

&lt;p&gt;没教\w，老师的观念是用\S,\s,\d,\d+来推导一切表达式。&lt;/p&gt;

&lt;div class=&quot;language-r highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fh&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;file&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;/media/sf_CB2/dm/dm.faa&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;open&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;r&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;while&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;length&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;line&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;readLines&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fh&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;warn&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;F&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;pattern&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;^\\&amp;gt;gi\\|(\\d+)\\|ref\\|(\\S+)\\|&quot;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;#m=regexec(pattern,line,perl=T)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;#m=mymatch(pattern,line)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;#if(m[[1]][1]==-1){&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;#  next&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;#}&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;#if(!(ifmatched(m))){&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;#  next&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;#}&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;m&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;mymatch&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;commapattern&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;line&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;!&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ifmatched&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;m&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)){&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
    &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;my&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;mymatch&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;pattern&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;line&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;!&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ifmatched&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;m&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))){&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
    &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;next&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;cat&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;getstring&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;line&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;m&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;cat&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;\n&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;#v=regmatches(line,m)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;#vec=v[[1]]&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;#cat(vec[2],vec[3],sep=&quot;\t&quot;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;#cat(&quot;\n&quot;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;close&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fh&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;

&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;pattern&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;\\|\\s+(.\*)\\s+\\[&quot;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;

&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;commapattern&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;\\|\\s+(.\*)\\,\\s+\\[&quot;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;

&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;getstring&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;text&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;match&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;index&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;v&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;regmatches&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;text&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;match&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;vec&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;v&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[[&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]]&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;vex&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;index&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]])&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;

&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;mymatch&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;pattern&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;text&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;m&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;regexec&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;patter&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;text&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;perl&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;m&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;

&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ifmatched&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;m&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;m&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[[&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]][&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;-1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;){&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
    &lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;FALSE&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;else&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
    &lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;return&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;TRUE&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
  &lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;

&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;v&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;rnorm&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;median&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;v&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;mean&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;v&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;hist&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;v&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;r画图&quot;&gt;R画图&lt;/h3&gt;

&lt;p&gt;用最简单的图形命令来画图，在画图之前还穿插了Git的介绍（我会在后续文章中介绍）。&lt;/p&gt;

&lt;div class=&quot;language-r highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;airquality&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;mean&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;airquality&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Ozone&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;mean&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;airquality&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Ozone&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;is.na&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;airquality&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Ozone&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)])&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;

&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;d&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;airquality&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Ozone&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;index&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;is.na&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;airquality&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Ozone&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;clean_idx&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=!&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;index&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;clean_value&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;d&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;clean_index&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;mean&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;clean_value&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;mean&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;airquality&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Ozone&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;na.rm&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;T&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;summary&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;airquality&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;


&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;plot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;airquality&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Temp&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;airquality&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Ozone&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;xlab&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;Temp&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ylab&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;Temp vs Ozone&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;

&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;plot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;airquality&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Temp&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;airquality&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Ozone&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;type&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;n&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;xlab&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ylab&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;axes&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;F&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;points&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;airquality&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Temp&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;airquality&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Ozone&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;pch&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;16&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;axis&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;axis&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;box&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;Temp vs Ozone&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;xlab&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;Temp&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ylab&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;Ozone&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;legend&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;topleft&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;legend&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;Some points&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;pch&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;16&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;

&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;par&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;mfrow&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;plot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;airquality&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Temp&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;airquality&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Ozone&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;xlab&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;Temp&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ylab&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;Temp vs Ozone&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;plot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;airquality&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Temp&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;airquality&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Ozone&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;xlab&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;Temp&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ylab&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;Temp vs Ozone&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;

&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

</description>
        <pubDate>Fri, 11 Nov 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E5%AD%A6%E5%9C%A8%E8%AF%BE%E5%A0%82/2016/11/11/CB2-101-BioComp-II.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E5%AD%A6%E5%9C%A8%E8%AF%BE%E5%A0%82/2016/11/11/CB2-101-BioComp-II.html</guid>
        
        <category>生物信息学</category>
        
        <category>Bioinformatics</category>
        
        <category>R</category>
        
        
        <category>学在课堂</category>
        
      </item>
    
      <item>
        <title>CB2 101 BioComp 课程总结（Linux命令）</title>
        <description>&lt;h2 id=&quot;课程简介&quot;&gt;课程简介&lt;/h2&gt;

&lt;p&gt;课时8小时（2天），介绍linux。&lt;/p&gt;

&lt;h3 id=&quot;第一天&quot;&gt;第一天&lt;/h3&gt;
&lt;p&gt;首先呢，第一节课就讲了怎么用虚拟机载入已经制作好的虚拟镜像。
第二节是历史课，先对自己做了自我介绍，做实验的，博士后开始转行搞生物信息，纯自学成才（还学的这么厉害，我非常佩服）。
先从什么是window/unix/linux谈起，介绍了这几个的区别和历史进程，介绍了linux的读音，mac的OS和linux的有些类似。
然后开始login用户，学习简单的命令。
第三节课用到了挂在的本地目录地址，在目录下写了第一个shell脚本（helloworld.sh）。
由于安装的是极简版的CentOS，所以先从下载firefox和gedit以及gedit插件开始，然后还修改了gedit的首选项。
&lt;a href=&quot;https://en.wikipedia.org/wiki/Shebang_(Unix)&quot;&gt;shebang&lt;/a&gt; line别忘了写。
可能还顺便讲了一下C语言的helloworld写法。&lt;/p&gt;

&lt;h3 id=&quot;第二天&quot;&gt;第二天&lt;/h3&gt;

&lt;p&gt;开始讲更多的linux命令，和ncbi数据库。中间还扯到了&lt;a href=&quot;https://en.wikipedia.org/wiki/J._Lister_Hill&quot;&gt;Joseph Lister Hill&lt;/a&gt;捐助了好多钱用来建立数据库（是哪个我忘了）。&lt;/p&gt;

&lt;h2 id=&quot;虚拟机载入&quot;&gt;虚拟机载入&lt;/h2&gt;

&lt;p&gt;首先，这个课程已经提前为大家制作了虚拟镜像，只要下载VirtualBox。&lt;/p&gt;

&lt;p&gt;第一步，新建一个虚拟机。根据已有镜像文件CentOS-64bit选择linux和RedHat64bit，给虚拟机起个名字，一路next，但最后要选择加载已有镜像。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/SxMnfTR.png&quot; alt=&quot;img&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/3pZUh9M.png&quot; alt=&quot;img&quot; /&gt;&lt;/p&gt;

&lt;p&gt;第二步，在镜像创建之后，选择设置，在里面将虚拟机和外部电脑桌面的互动打开。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://imgur.com/RSkTmpE.png&quot; alt=&quot;img&quot; /&gt;&lt;/p&gt;

&lt;p&gt;第三步，选择本地磁盘存储，一定要勾选自动挂载(automount)，这样在&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/media/&lt;/code&gt;文件夹下可以出现你的本地磁盘目录。例如：&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/media/sf_CB2/&lt;/code&gt;。
在folder path这一项中，选择other，就可以找到本地文件夹了。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://imgur.com/CUtnbIG.png&quot; alt=&quot;img&quot; /&gt;&lt;/p&gt;

&lt;p&gt;设置完之后可以运行start，开始玩虚拟机！&lt;/p&gt;

&lt;p&gt;关机时可以选择保存现有的操作，这样就不用重复启动系统，直接点开始，就能进入桌面。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://imgur.com/vzJjYZi.png&quot; alt=&quot;img&quot; /&gt;&lt;/p&gt;

&lt;p&gt;另外挂载的硬盘只能用root账户来访问，如果想用其他账户访问，需要将此账号加入&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;vboxsf&lt;/code&gt;的用户组里。
命令如下：&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;su -c &quot;usermod -a -G vboxsf cb2user&quot;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;linux-命令&quot;&gt;Linux 命令&lt;/h2&gt;

&lt;p&gt;CB2讲述的linux相关内容有：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;–help 查看帮助 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ls--help&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;man 查看详细帮助 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;man ls&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;info 查看详细信息 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;info ls&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;apropos 在一些特定的包含系统命令的简短描述的数据库文件里查找关键字，然后把结果送到标准输出 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;apropos ls&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;重定向和管道 重定向&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;gt;&lt;/code&gt;写入文件；&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;gt;&amp;gt;&lt;/code&gt;追加写入文件； &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cat abc.txt | less&lt;/code&gt; 管道符号&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;|&lt;/code&gt;用于链接两个命令，前一个命令的输出将作为后一个命令的输入。&lt;/li&gt;
  &lt;li&gt;cat 标准输出（打印到屏幕）文件内容 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cat abc.txt&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;more 类似于&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cat&lt;/code&gt;，more以分页的显示形式显示内容 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;more abc.txt&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;wc 统计文档的行数，单词数，字节数 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wc abc.txt&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;head 用来显示文档的开头内容，标准输出（打印到屏幕） &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;head abc.txt&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;tail 用来显示文档的结尾内容，标准输出（打印到屏幕） &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;tail abc.txt&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;alias&lt;/li&gt;
  &lt;li&gt;路径（pwd, ., ..） &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;pwd&lt;/code&gt;可以显示当前路径&lt;/li&gt;
  &lt;li&gt;环境变量 （export）&lt;/li&gt;
  &lt;li&gt;执行程序&lt;/li&gt;
  &lt;li&gt;echo 终端打印输出 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;echo &quot;hello world&quot;&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;打包和解压缩（tar, gz, bzip2, xz &lt;code&gt;-_,- 一下子讲这么多，记得过来就怪了&lt;/code&gt;）&lt;/li&gt;
  &lt;li&gt;cut 剪切文件的某一列或者某几列 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cut -f 1 abc.txt&lt;/code&gt; (剪切第一列，并输入第一列到屏幕)&lt;/li&gt;
  &lt;li&gt;sort 文件按某列排序 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cat abc.txt | sort &lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;uniq 文件按某列去除冗余 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cat abc.txt | sort | uniq&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;wget 下载网上的文件&lt;/li&gt;
  &lt;li&gt;grep 查找关键词 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;grep &quot;hello&quot; abc.txt&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;tr 对来自标准输入的字符进行替换、压缩和删除。&lt;/li&gt;
  &lt;li&gt;find 查找文件&lt;/li&gt;
  &lt;li&gt;rsync 海量文件的快速准确备份，复制，删除&lt;/li&gt;
  &lt;li&gt;unison 文件同步工具&lt;/li&gt;
  &lt;li&gt;ls 目录文件列表&lt;/li&gt;
  &lt;li&gt;cp 拷贝&lt;/li&gt;
  &lt;li&gt;rm 删除&lt;/li&gt;
  &lt;li&gt;mv 移动&lt;/li&gt;
  &lt;li&gt;cd 进入目录 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cd /home/abc&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;mkdir 创建文件夹&lt;/li&gt;
  &lt;li&gt;yum/dnf/apt-get 下载软件包的命令（ubuntu用apt-get）&lt;/li&gt;
  &lt;li&gt;chmod 改变文件的权限&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;hello-world-脚本&quot;&gt;Hello World！ 脚本&lt;/h2&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;
&lt;span class=&quot;c&quot;&gt;#!/bin/bash&lt;/span&gt;

&lt;span class=&quot;nb&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;Hello World!&quot;&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;课程用到的命令&quot;&gt;课程用到的命令&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;所有下面的工作最好都在挂载的外部文件夹中操作&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cd /media/sf_CB2&lt;/code&gt;&lt;/p&gt;

&lt;h3 id=&quot;下载软件&quot;&gt;下载软件&lt;/h3&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;yum &lt;span class=&quot;nb&quot;&gt;install &lt;/span&gt;firefox
yum downgrade http://vault.centos.org/7.1.1503/os/x86_64/Packages/pygobject3-3.8.2-6.el7.x86_64.rpm http://vault.centos.org/7.1.1503/os/x86_64/Packages/pygobject3-base-3.8.2-6.el7.x86_64.rpm
yum &lt;span class=&quot;nb&quot;&gt;install &lt;/span&gt;gedit gedit-plugins
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;下载蛋白质氨基酸序列&quot;&gt;下载蛋白质氨基酸序列&lt;/h3&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;wget ftp://ftp.ebi.ac.uk/pub/databases/Pfam/current_release/proteomes/9606.tsv.gz
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;查找上述氨基酸序列文件中第七列名称中重复次数最高的名称&quot;&gt;查找上述氨基酸序列文件中第七列名称中重复次数最高的名称&lt;/h3&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;zcat 9606.tsv.gz | &lt;span class=&quot;nb&quot;&gt;tail&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-n&lt;/span&gt;+4 | &lt;span class=&quot;nb&quot;&gt;cut&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-f&lt;/span&gt; 7 | &lt;span class=&quot;nb&quot;&gt;sort&lt;/span&gt; | &lt;span class=&quot;nb&quot;&gt;uniq&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-c&lt;/span&gt; | &lt;span class=&quot;nb&quot;&gt;sort&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-gr&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;下载ncib斑马鱼数据&quot;&gt;下载ncib斑马鱼数据&lt;/h3&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;wget &lt;span class=&quot;nt&quot;&gt;-r&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-A&lt;/span&gt;.faa ftp://ftp.ncbi.nlm.nih.gov/genomes/archive/old_refseq/Drosophila_melanogaster/RELEASE_5_48/
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;将斑马鱼数据复制到当前目录下的faa文件夹中&quot;&gt;将斑马鱼数据复制到当前目录下的faa文件夹中&lt;/h3&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;find ftp.ncbi.nlm.nih.gov/ &lt;span class=&quot;nt&quot;&gt;-name&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;*.faa&quot;&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-exec&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;cp&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{}&lt;/span&gt; ./faa &lt;span class=&quot;se&quot;&gt;\;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;安装tree查看目录结构&quot;&gt;安装tree，查看目录结构&lt;/h3&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;yum &lt;span class=&quot;nb&quot;&gt;install &lt;/span&gt;tree

tree ./
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;将所有faa文件合并成一个dmfaa文件&quot;&gt;将所有.faa文件合并成一个dm.faa文件&lt;/h3&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nb&quot;&gt;cat&lt;/span&gt; ./faa/&lt;span class=&quot;k&quot;&gt;*&lt;/span&gt;.faa &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; dm.faa 
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;计算dmfaa文件中的氨基酸序列条数&quot;&gt;计算dm.faa文件中的氨基酸序列条数&lt;/h3&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nb&quot;&gt;cat &lt;/span&gt;dm.faa | &lt;span class=&quot;nb&quot;&gt;grep&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&amp;gt;&quot;&lt;/span&gt; | &lt;span class=&quot;nb&quot;&gt;wc&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-l&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;计算dmfaa文件中的氨基酸数量&quot;&gt;计算dm.faa文件中的氨基酸数量&lt;/h3&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nb&quot;&gt;cat &lt;/span&gt;dm.faa | &lt;span class=&quot;nb&quot;&gt;grep&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-v&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&amp;gt;&quot;&lt;/span&gt; | &lt;span class=&quot;nb&quot;&gt;tr&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-d&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt; | &lt;span class=&quot;nb&quot;&gt;wc&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-c&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;作业&quot;&gt;作业&lt;/h2&gt;

&lt;h3 id=&quot;problem-1&quot;&gt;Problem 1&lt;/h3&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;wget ftp://ftp.ebi.ac.uk/pub/databases/Pfam/current_release/proteomes/9606.tsv.gz
zcat 9606.tsv.gz | &lt;span class=&quot;nb&quot;&gt;tail&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-n&lt;/span&gt;+4 | &lt;span class=&quot;nb&quot;&gt;cut&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-f&lt;/span&gt; 7 | &lt;span class=&quot;nb&quot;&gt;sort&lt;/span&gt; | &lt;span class=&quot;nb&quot;&gt;uniq&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-c&lt;/span&gt; | &lt;span class=&quot;nb&quot;&gt;sort&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-gr&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;problem-2&quot;&gt;Problem 2&lt;/h3&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;wget &lt;span class=&quot;nt&quot;&gt;-r&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-A&lt;/span&gt;.faa ftp://ftp.ncbi.nih.gov/genomes/archive/old_refseq/Bacteria/Yersinia_pestis&lt;span class=&quot;k&quot;&gt;*&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;problem-3&quot;&gt;Problem 3&lt;/h3&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;find ftp.ncbi.nih.gov/genomes/archive/old_refseq/Bacteria/ &lt;span class=&quot;nt&quot;&gt;-name&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;*.faa&quot;&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-exec&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;cp&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{}&lt;/span&gt; ./ypest &lt;span class=&quot;se&quot;&gt;\;&lt;/span&gt;

&lt;span class=&quot;nb&quot;&gt;cat&lt;/span&gt; ./ypest/&lt;span class=&quot;k&quot;&gt;*&lt;/span&gt;.faa &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;  ypest.faa

&lt;span class=&quot;nb&quot;&gt;cat &lt;/span&gt;ypest.faa| &lt;span class=&quot;nb&quot;&gt;grep&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&amp;gt;&quot;&lt;/span&gt; | &lt;span class=&quot;nb&quot;&gt;wc&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-l&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;problem-4&quot;&gt;Problem 4&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;下载&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;wget ftp://ftp.ncbi.nlm.nih.gov/genomes/archive/old_refseq/Bacteria/Escherichia_coli_K_12_substr__MG1655_uid57779/NC_000913.faa
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;写脚本计算&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;提示：&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://www.shell-tips.com/2010/06/14/performing-math-calculation-in-bash/&quot;&gt;Performing Math Calculation in Bash&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://stackoverflow.com/questions/2362154/shell-float-number-in-expr&quot;&gt;shell float number in expr&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://stackoverflow.com/questions/1253987/how-to-use-expr-on-float&quot;&gt;How to use expr on float?&lt;/a&gt;&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;#!/bin/bash&lt;/span&gt;

&lt;span class=&quot;nv&quot;&gt;faa&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$1&lt;/span&gt;

&lt;span class=&quot;nv&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;sb&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;cat&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$faa&lt;/span&gt; | &lt;span class=&quot;nb&quot;&gt;grep&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&amp;gt;&quot;&lt;/span&gt; | &lt;span class=&quot;nb&quot;&gt;wc&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-l&lt;/span&gt;&lt;span class=&quot;sb&quot;&gt;`&lt;/span&gt;

&lt;span class=&quot;nv&quot;&gt;l&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;sb&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;cat&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$faa&lt;/span&gt;| &lt;span class=&quot;nb&quot;&gt;grep&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-v&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&amp;gt;&quot;&lt;/span&gt; | &lt;span class=&quot;nb&quot;&gt;tr&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-d&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt; | &lt;span class=&quot;nb&quot;&gt;wc&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-c&lt;/span&gt;&lt;span class=&quot;sb&quot;&gt;`&lt;/span&gt;

&lt;span class=&quot;nv&quot;&gt;result1&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;sb&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;expr&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$l&lt;/span&gt;/&lt;span class=&quot;nv&quot;&gt;$c&lt;/span&gt;&lt;span class=&quot;sb&quot;&gt;`&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;result2&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;expr&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$l&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;/&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$c&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;result3&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;$((&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$l&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$c&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;))&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;result4&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;awk&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&apos;BEGIN{print $l/$c}&apos;&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;result5&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;scale=6;&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$l&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$c&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;|bc&lt;span class=&quot;si&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;nb&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$result1&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$result2&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$result3&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$result4&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$result5&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

</description>
        <pubDate>Sun, 06 Nov 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E5%AD%A6%E5%9C%A8%E8%AF%BE%E5%A0%82/2016/11/06/CB2-101-BioComp.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E5%AD%A6%E5%9C%A8%E8%AF%BE%E5%A0%82/2016/11/06/CB2-101-BioComp.html</guid>
        
        <category>生物信息学</category>
        
        <category>Bioinformatics</category>
        
        <category>Linux</category>
        
        <category>CentOS</category>
        
        <category>Xubuntu</category>
        
        
        <category>学在课堂</category>
        
      </item>
    
      <item>
        <title>生物信息学课程比较</title>
        <description>&lt;p&gt;好长时间没有写课程相关的东西了，学过好几门生物信息学课程，从中可以学到不同老师的教学风格。现在回首，看看研究生时期的生物信息学II（动物所韩老师 &lt;code&gt;-_-b 第一次错写成春雨了，自己都吓了一跳&lt;/code&gt;），仅一次内容，介绍了&lt;strong&gt;LAMP&lt;/strong&gt;的初级核心命令，照顾了不同平台尤其是windows平台的同学（在课上使用Cygwin和PuTTY）。&lt;/p&gt;

&lt;p&gt;这学期学Bioinformatics computing，每次课程内容很多，连上4个小时，让非计算背景的人无从下手（尤其是连windows安装软件都困难的360用户们&lt;code&gt;对，我就是在喷国内的流氓软件&lt;/code&gt;）。
虽然内容极为丰富使用，但没有照顾到非linux用户，前两次课程效果不好。&lt;/p&gt;

&lt;p&gt;先对比一下之前的生物信息学II，讲述了linux的相关内容有：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;PuTTY&lt;/li&gt;
  &lt;li&gt;passwd&lt;/li&gt;
  &lt;li&gt;exit&lt;/li&gt;
  &lt;li&gt;pwd&lt;/li&gt;
  &lt;li&gt;ls&lt;/li&gt;
  &lt;li&gt;man&lt;/li&gt;
  &lt;li&gt;cp&lt;/li&gt;
  &lt;li&gt;vi&lt;/li&gt;
  &lt;li&gt;more&lt;/li&gt;
  &lt;li&gt;cd&lt;/li&gt;
  &lt;li&gt;mkdir&lt;/li&gt;
  &lt;li&gt;su&lt;/li&gt;
  &lt;li&gt;chmod&lt;/li&gt;
  &lt;li&gt;chgrp&lt;/li&gt;
  &lt;li&gt;usermod&lt;/li&gt;
  &lt;li&gt;cat&lt;/li&gt;
  &lt;li&gt;rm&lt;/li&gt;
  &lt;li&gt;find&lt;/li&gt;
  &lt;li&gt;执行程序&lt;/li&gt;
  &lt;li&gt;如何进入www目录&lt;/li&gt;
  &lt;li&gt;mysql&lt;/li&gt;
  &lt;li&gt;php （简单带过）&lt;/li&gt;
  &lt;li&gt;alias&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;CB2讲述的linux相关内容有：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;–help&lt;/li&gt;
  &lt;li&gt;man&lt;/li&gt;
  &lt;li&gt;info&lt;/li&gt;
  &lt;li&gt;apropos&lt;/li&gt;
  &lt;li&gt;重定向和管道&lt;/li&gt;
  &lt;li&gt;cat&lt;/li&gt;
  &lt;li&gt;more&lt;/li&gt;
  &lt;li&gt;wc&lt;/li&gt;
  &lt;li&gt;head&lt;/li&gt;
  &lt;li&gt;tail&lt;/li&gt;
  &lt;li&gt;alias&lt;/li&gt;
  &lt;li&gt;路径（pwd, ., ..）&lt;/li&gt;
  &lt;li&gt;环境变量 （export）&lt;/li&gt;
  &lt;li&gt;执行程序&lt;/li&gt;
  &lt;li&gt;echo&lt;/li&gt;
  &lt;li&gt;打包和解压缩（tar, gz, bzip2, xz &lt;code&gt;-_,- 一下子讲这么多，记得过来就怪了&lt;/code&gt;）&lt;/li&gt;
  &lt;li&gt;cut&lt;/li&gt;
  &lt;li&gt;sort&lt;/li&gt;
  &lt;li&gt;uniq&lt;/li&gt;
  &lt;li&gt;wget&lt;/li&gt;
  &lt;li&gt;grep&lt;/li&gt;
  &lt;li&gt;tr&lt;/li&gt;
  &lt;li&gt;find&lt;/li&gt;
  &lt;li&gt;rsync&lt;/li&gt;
  &lt;li&gt;unison&lt;/li&gt;
  &lt;li&gt;ls&lt;/li&gt;
  &lt;li&gt;cp&lt;/li&gt;
  &lt;li&gt;rm&lt;/li&gt;
  &lt;li&gt;mv&lt;/li&gt;
  &lt;li&gt;cd&lt;/li&gt;
  &lt;li&gt;mkdir&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;两个列表凑一凑，就是最全的常用命令集合了。&lt;/p&gt;

&lt;p&gt;如果让我讲这个课程的话，如果非要统一使用linux，那就绝对不使用虚拟机，直接用u盘安装可写入型的linux系统安装盘。每次上课，插上u盘换系统，直接使用，可以更新安装软件，所有文件都保存在挂载的电脑磁盘上。可以省掉不少麻烦。&lt;/p&gt;

&lt;p&gt;这次还来回换了2次系统，去年上课用fedora，今年上课，一开始让我装32位xubuntu，结果上课当天换成了64位的CentOS，结果我帮助的人在建立虚拟机时我都给人家装错了(RedHat/Ubuntu)&lt;code&gt;_-_&lt;/code&gt;。&lt;/p&gt;

&lt;p&gt;还有最开始的学的生物信息学I，这个怎么评价呢？院士的课怎么学都是好（听老师侃侃而谈很有意思），算法部分还是很有用的，虽然都是课下自学，当时在礼堂课上根本就听不懂，我问的问题竟然由于声音太小，在视频里什么都听不见&lt;code&gt;orz&lt;/code&gt;。不知道他老人家现在还开不开课了。&lt;/p&gt;

&lt;p&gt;不多说了，赶紧写总结，希望这次BioComp的课程学生对老师的评价不要太低。&lt;code&gt;-，-&lt;/code&gt;&lt;/p&gt;
</description>
        <pubDate>Sun, 06 Nov 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E5%AD%A6%E5%9C%A8%E8%AF%BE%E5%A0%82/2016/11/06/Bioinformatcis-class.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E5%AD%A6%E5%9C%A8%E8%AF%BE%E5%A0%82/2016/11/06/Bioinformatcis-class.html</guid>
        
        <category>生物信息学</category>
        
        <category>Bioinformatics</category>
        
        <category>Linux</category>
        
        <category>CentOS</category>
        
        <category>Xubuntu</category>
        
        
        <category>学在课堂</category>
        
      </item>
    
      <item>
        <title>北京夏天气温：天气太热</title>
        <description>&lt;p&gt;&lt;em&gt;这篇博客起始于2016年8月，完成于来年的2月，中间经历了9月份的初稿，请不要纠结文章中的时间。&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;炎热的季节终于要过去了，这个夏天我在做什么？在忍受炎热。
进入九月份终于凉快多了。
所以给自己的忠告就是夏天一定要找个凉快一点的地方，否则连正常的工作都没法做。每天同炎热作斗争，电脑也因为过热而经常罢工。
另外觉得自己应该无法在北纬30度附近生活，只能向北，不能向南。在美国德州的人们夏天都是怎么度过的？&lt;/p&gt;

&lt;p&gt;2016年这个夏天对我来说到底有多热？我在7月份的博客草稿箱里就有一个待完成的北京夏天气温统计相关的文章，结果8月份草稿箱里又躺了一篇同样标题的，终于在2017年2月份完成了。&lt;/p&gt;

&lt;p&gt;关于热的概念，不是因温度升高难受，而是因空气&lt;strong&gt;湿度&lt;/strong&gt;大而感到&lt;strong&gt;更热&lt;/strong&gt;，但是我没有下载湿度的数据进行分析，如果以后有机会再补上。&lt;/p&gt;

&lt;p&gt;分析完数据，我发现最好用的气象数据下载网站还属&lt;a href=&quot;https://www.ncdc.noaa.gov&quot;&gt;NOAA.GOV&lt;/a&gt;，大学时做数学建模当时要下载美国Florida的气象水文数据，直接NOAA，FTP下载。现在NOAA更加智能化的帮助用户提取时间点的数据。反观国内的气象数据下载网站，国家气象局，中科院，实名注册都要费老半天时间，谁用谁放弃。&lt;/p&gt;

&lt;p&gt;那么大家肯定会问，这点屁事，写一篇博客就成了，为啥你水了2篇？
&lt;strong&gt;因为没空调真的是太热了&lt;/strong&gt;&lt;/p&gt;
</description>
        <pubDate>Sun, 21 Aug 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E7%94%9F%E6%B4%BB%E7%82%B9%E6%BB%B4/2016/08/21/weather-in-Beijing-II.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E7%94%9F%E6%B4%BB%E7%82%B9%E6%BB%B4/2016/08/21/weather-in-Beijing-II.html</guid>
        
        <category>天气</category>
        
        <category>气象数据</category>
        
        <category>NOAA</category>
        
        
        <category>生活点滴</category>
        
      </item>
    
      <item>
        <title>Fedora24</title>
        <description>&lt;p&gt;八月一日将系统升级，拥抱Fedora24，谢天谢地升级很顺利。&lt;/p&gt;

&lt;p&gt;新版本的字体有了很大改进，在终端下显示很清晰舒服，但是在文件浏览器下字体有些单薄。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/KPwHhbZ.png&quot; alt=&quot;Fedora&quot; /&gt;&lt;/p&gt;

&lt;p&gt;字体如下所示：&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/kILmBct.png&quot; alt=&quot;Font in Fedora&quot; /&gt;&lt;/p&gt;

&lt;p&gt;不是为什么升级完，jekyll没法用了。&lt;/p&gt;

&lt;p&gt;提示错误信息&lt;/p&gt;
&lt;blockquote&gt;
  &lt;p&gt;/usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in `require’: libruby.so.2.2: cannot open shared object file: No such file or directory&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;索性删除ruby*和所有Gem安装的包（&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gem uninstall -aIx&lt;/code&gt;），重新安装一次，即可。&lt;/p&gt;
</description>
        <pubDate>Tue, 02 Aug 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/2016/08/02/Fedora24.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/2016/08/02/Fedora24.html</guid>
        
        <category>Fedora</category>
        
        <category>Linux</category>
        
        
        <category>操作系统</category>
        
      </item>
    
      <item>
        <title>北京7月的气温</title>
        <description>&lt;p&gt;我所在的屋子没有空调，所以夏天会很热，但是我没要想到竟然会这么热。&lt;/p&gt;

&lt;p&gt;由于热得是在是受不了了，所以找来了从我出生到现在，北京的每日气温数据，我想看一下今年究竟处于__我所经历的所有时间里__同期的什么水平。&lt;/p&gt;

&lt;p&gt;经多简单的统计，我发现，在7月北京的最高平均气温是34.4摄氏度，最低气温是18.8摄氏度，而这两个温度都是进入新世纪（21世纪）后的温度。
最高气温是41.66度，进入2001年后，最高气温是41.11度。&lt;/p&gt;

&lt;p&gt;(注意，这篇文章是我后补的，所以我获取了2016年七月份每天的数据。)&lt;/p&gt;

&lt;p&gt;从下图可以看到，北京的平均气温在进入七月的第一个7天里会有一个小幅度的上升然后回落，在月末最后5天又会重复一次同样的过程。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/4uhNRip.png&quot; alt=&quot;Beijing Average Temperature in July&quot; /&gt;&lt;/p&gt;

&lt;p&gt;值得注意的是7月9日，这一天的1st四分位数和3rd四分位数都非常接近中位数，说明这一天的温度差异非常的小。&lt;del&gt;所以我可以预测，2017年的7月9日，北京的日平均气温应在26摄氏度左右（7月里最舒服的一天）。&lt;/del&gt;&lt;/p&gt;

&lt;p&gt;我刚想“神棍”得预测一下7月9日的气温，但当我把2015和2016年的气温放到直方图上时，这两年的气温都高于历史同期水平，是图上的两个outlier!! 并且这两年的气温走势也不符合我刚才说的月初7天一个小坡，月末5天一个小坡。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://imgur.com/1tYr8fS.png&quot; alt=&quot;Beijing Average Temperature in July(2015-2016)&quot; /&gt;&lt;/p&gt;

&lt;p&gt;近两年完全不按照历史规律来办事&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;(╯°Д°)╯︵ ┻━┻&lt;/code&gt;。&lt;/p&gt;

&lt;p&gt;2016年7月的平均气温，有3天是进入2001年以来的最高气温，这估计是我会觉得这么热的主要原因。&lt;/p&gt;

&lt;p&gt;当然光考虑气温不代表人感受到的实际热度，还要考虑湿度的影响，湿度大，外加气温高，会让人感到更热。&lt;/p&gt;

&lt;p&gt;我直接找到2016年7月的&lt;a href=&quot;https://www.wunderground.com/history/airport/ZBAA/2016/7/20/MonthlyHistory.html?&amp;amp;reqdb.zip=&amp;amp;reqdb.magic=&amp;amp;reqdb.wmo=&quot;&gt;日湿度数据&lt;/a&gt;，发现不下雨的时候平均湿度维持在50%～60%左右，下雨的时候，会维持在80%～90%。由于北京多为阵雨，并且经常出现海淀下雨，朝阳没雨的情况（一个城市竟然会按“城区”下雨），并且每天最高湿度都能达到80%～90%，所以整个7月内人们都会感到很闷热。&lt;/p&gt;

</description>
        <pubDate>Thu, 21 Jul 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/2016/07/21/weather-in-Beijing.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/2016/07/21/weather-in-Beijing.html</guid>
        
        <category>气温</category>
        
        <category>北京</category>
        
        
        <category>数据分析</category>
        
      </item>
    
      <item>
        <title>ContrastRank：一种用于评估推定的癌症驱动基因和肿瘤样品分类的新方法</title>
        <description>&lt;p&gt;&lt;strong&gt;突然发现一个悲剧的事情，类似inoreader的RSS订阅应用无法正常显示我博客里的数学公式，如果你发现在阅读文章时非常的不通顺，请移步到博客阅读。20170705&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;找驱动基因是癌症研究领域的永恒话题。这篇文章是三个月前看的了，笔记耽误了&lt;del&gt;三个月&lt;/del&gt;（已经变成）一年，有些当时的想法可能已经不记得了。标题中“推定的癌症驱动基因”就是假定的癌症驱动基因。
本文主要介绍一下这篇文章中推定驱动基因的&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ContrastRank&lt;/code&gt;方法，以及我看的另一篇文章 &lt;strong&gt;Identifying cancer driver genes in tumor genome sequencing studies&lt;/strong&gt; 中的方法。&lt;/p&gt;

&lt;h2 id=&quot;contrastrank&quot;&gt;ContrastRank&lt;/h2&gt;

&lt;p&gt;在&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ContrastRank&lt;/code&gt;方法中作者认为在基因组上出现的罕见突变对于癌症的发生发展起到了重要的作用。所以找驱动基因，就是要估计基因上出现的罕见的非同义突变。然后定义罕见的致病变异（PDV）为&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;allele frequency &amp;lt; 0.5%&lt;/code&gt;的突变，存在至少一个PDV的基因叫做假定的受损基因（PIGs）。对于每一个样本中的基因，他们还计算了假定缺陷率（PDR）。最后根据假定的受损基因（PIGs）的概率的log10数值作为分值，来断定驱动基因。&lt;/p&gt;

&lt;h3 id=&quot;数据样本&quot;&gt;数据样本&lt;/h3&gt;

&lt;p&gt;选自TCGA的三种腺癌，每种腺癌至少有200个配对的样本（正常组织/肿瘤组织）。分别是结肠腺癌，肺癌和前列腺癌。&lt;/p&gt;

&lt;h2 id=&quot;identifying-cancer-driver-genes&quot;&gt;Identifying cancer driver genes&lt;/h2&gt;

&lt;p&gt;作者首先介绍了之前人们推定驱动基因时忽略的几个问题：&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;非silent mutation的种类包括很多（missense, nonsense, deletions(indels), mutation in splice sites），对于蛋白质的影响也不同，mutation的选择压力也因为mutation的种类和其所在基因组位置不同而不同。&lt;/li&gt;
  &lt;li&gt;不同的样本有着不同的背景突变频率。如果一个基因的突变只存在于有大量突变的样本中，那么这些突变很可能是属于特异性样本有大量突变的结果，而不是癌症的原因。&lt;/li&gt;
  &lt;li&gt;不同的三联密码子产生非同义突变的概率不同。&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;接下来作者定义了driver-like non-silent mutation在某个样本中发现的事件是伯努利随机变量\(Y_{ij}\)。接下来又定义一个样本中出现的non-silent突变的最大值\(T_{ij}\)以及经验分布函数\(F_{ij}=P(T_{ij}&amp;lt;x|Y_{ij}=1,M_{0})\)，然后通过\(logP(Y_{ij}=y_{ij}, T_{ij}&amp;gt;t_{ij}, j=1,...,J|M_0)\) 得到检验所需的统计量\(Z_i\)（我不清楚logP这个是怎么回事）。
在求背景分布时，作者假设transitions（转换）和transversion（颠换）突变的频率不相同，并且根据mutation出现在CpG区域和非CpG岛区域进行了mutation类型的划分。通过从背景分布中算统计量的p-value的方法，来推定驱动基因。&lt;/p&gt;

&lt;h3 id=&quot;数据样本-1&quot;&gt;数据样本&lt;/h3&gt;

&lt;p&gt;肺腺癌数据：Ding, L. et al. (2008) Somatic mutations affect key pathways in lung adenocarcinoma. Nature, 455, 1069–1075.&lt;/p&gt;

&lt;h2 id=&quot;小结&quot;&gt;小结&lt;/h2&gt;

&lt;p&gt;这两种方法， Identifying cancer driver genes的结果更符合我对驱动基因的定义。首先驱动基因不一定是有罕见突变的基因，可能很多样本中都有这样的突变。 另外&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ContrastRank&lt;/code&gt;方法在结直肠腺癌的样本中，没找出APC这个关键的基因，我个人觉得效果不好。&lt;/p&gt;
</description>
        <pubDate>Wed, 13 Jul 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2016/07/13/ContrastRank-a-new-method-for-ranking-putative-cancer-driver-genes-and-classification-of-tumor-samples.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2016/07/13/ContrastRank-a-new-method-for-ranking-putative-cancer-driver-genes-and-classification-of-tumor-samples.html</guid>
        
        <category>驱动基因</category>
        
        
        <category>论文笔记</category>
        
      </item>
    
      <item>
        <title>NIPT检测</title>
        <description>&lt;p&gt;NIPT（Noninvasive prenatal testing）非侵入式产前检测，国内一般称作“无创DNA产前检测技术”。之前一直没有时间看，这个技术究竟怎么从母亲的血液中测胎儿的DNA，现在有时间了，赶紧记录一下原理。&lt;/p&gt;

&lt;p&gt;NIPT技术细分为两种：一种是测CNV，另一种是测SNP。
在2012年时比较流行的4中具体方式是&lt;sup id=&quot;fnref:1&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:1&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;：&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;Sequenom 公司：定量，短序列全基因组测序，并且评估胚胎DNA含量&lt;/li&gt;
  &lt;li&gt;Verinata 公司：定量，短序列全基因组深度测序，并评估胚胎的DNA含量&lt;/li&gt;
  &lt;li&gt;Ariosa 公司：定量，目标区域扩增，并且根据SNP频率来确定胚胎DNA含量&lt;/li&gt;
  &lt;li&gt;Natera 公司：基于非定量的SNP，分析等位基因频率（这个方法中用白细胞的测序结果作为母亲的基因型）&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;其中重点要说明的是，测CNV是不用区分母亲和胎儿的DNA的，首先，我们明确母亲没有任何一种三体综合征和染色体缺失，那么在这种条件下仍然检测出一定比例的三倍体或者单倍体，那么就说明是胚胎出现了问题。&lt;/p&gt;

&lt;p&gt;从测序角度来说就是测序深度越高越精确，对于测序结果是否说明有染色体异常，用假设检验（Z-score）来估计其异常程度。&lt;/p&gt;

&lt;p&gt;下图比较了四个公司的方法的准确性，可以看到对于21三体综合征是最准确的，对于18三体综合征和单倍体的检测准确性低。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/017StNv.png&quot; alt=&quot;Imgur&quot; /&gt;&lt;/p&gt;

&lt;p&gt;测不准的原因在于测序技术有GC偏好性，并且在13和X染色体上表现得很明显&lt;sup id=&quot;fnref:2&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:2&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;。&lt;/p&gt;

&lt;p&gt;NIPT方法目前主要还是用于测染色体倍增或者缺失（截至2013年），对于一些微缺失和微倍增（ microdeletions and microduplication ）用芯片的方法也开展了检测研究。&lt;/p&gt;

&lt;p&gt;我个人的理解，孕妇首先应该做常规血检和B超检查，如果检查认为有问题，可以先做一个无创DNA产前检测来确认一下，如果无创也指示有问题或者数值处于临界值，那么继续做羊水穿刺来确定。&lt;/p&gt;

&lt;p&gt;我本认为技术应该很高超，结果看完相关网络资料发现不用区分母婴的DNA时，方法也就很常规了。&lt;/p&gt;

&lt;p&gt;=========================&lt;/p&gt;

&lt;p&gt;2019年12月18日更新，修改错别字，标注失效链接&lt;/p&gt;

&lt;p&gt;我从网上搜NIPT的具体计算方法，结果第一篇文章是自己的。。。看样子需要再写一篇算法的介绍。&lt;/p&gt;

&lt;div class=&quot;footnotes&quot; role=&quot;doc-endnotes&quot;&gt;
  &lt;ol&gt;
    &lt;li id=&quot;fn:1&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;&lt;a href=&quot;http://www.agt-info.org/Documents/2014%20Annual%20Meeting/HANDOUT%20Strom.pdf&quot;&gt;Noninvasive Prenatal Testing (NIPT): Separate But Not Equal&lt;/a&gt; 这个链接已经失效 &lt;a href=&quot;#fnref:1&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:2&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;&lt;a href=&quot;http://www.mlo-online.com/non-invasive-prenatal-aneuploidy-testing-technologies-and-clinical-implications.php&quot;&gt;Non-invasive prenatal aneuploidy testing: technologies and clinical implications. By: Brynn Levy and Errol Norwitz, June 20, 2013&lt;/a&gt; &lt;a href=&quot;#fnref:2&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
  &lt;/ol&gt;
&lt;/div&gt;
</description>
        <pubDate>Tue, 05 Jul 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E7%94%9F%E7%89%A9%E4%BF%A1%E6%81%AF/2016/07/05/Noninvasive-prenatal-testing.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E7%94%9F%E7%89%A9%E4%BF%A1%E6%81%AF/2016/07/05/Noninvasive-prenatal-testing.html</guid>
        
        <category>NIPT</category>
        
        
        <category>生物信息</category>
        
      </item>
    
      <item>
        <title>玩具总动员</title>
        <description>&lt;p&gt;又来补课了，这三部太经典了，一口气看完，每一部都很有意思。&lt;/p&gt;

&lt;p&gt;里面的梗是在是太多了：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;没想到霸王龙的小手原来在十几年前已经是个梗了。&lt;/li&gt;
  &lt;li&gt;企鹅叫Wheezy，马上想到Linux/Debian，结果查看百科，原来所有Debian的发行版本号命名都来自这部片子。&lt;/li&gt;
  &lt;li&gt;I am your father!&lt;/li&gt;
  &lt;li&gt;第三部的越狱，比TV系列剧越狱难度还高。&lt;/li&gt;
  &lt;li&gt;玩具里还有一只龙猫。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;看完之后去翻资料，原来在2014年还出了个短篇，2018年还可能要有第四部。Andy的玩具传承给了Bonnie，不知道第四部会有什么样的故事（据说是去找Bo）。&lt;/p&gt;

&lt;p&gt;最后再喊一句 To Infinity and Beyond!（英文博客的subtitle出处）&lt;/p&gt;
</description>
        <pubDate>Wed, 22 Jun 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E5%BD%B1%E8%A7%86%E8%AF%84%E8%AE%BA/2016/06/22/toy-story.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E5%BD%B1%E8%A7%86%E8%AF%84%E8%AE%BA/2016/06/22/toy-story.html</guid>
        
        <category>Pixar</category>
        
        <category>Buzz</category>
        
        <category>Woody</category>
        
        <category>Wheezy</category>
        
        
        <category>影视评论</category>
        
      </item>
    
      <item>
        <title>Jupyter，IJulia以及IRkernel</title>
        <description>&lt;p&gt;之前（今年一月份）本以为Jupyter这种形式可以很成功的复制到Jilia和R上，结果我发现装个IJulia非常费尽。
依赖的一个模块在安装时使用&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;curl -f -o /root/.julia/v0.4/ZMQ/deps/downloads/zeromq-3.2.4.tar.gz -L http://download.zeromq.org/zeromq-3.2.4.tar.gz&lt;/code&gt;的地址已经找不到安装包了。
换成Github的结果还因为亚马逊云的问题没下载下来。顿时失去了用Jupyter写IJulia的兴趣。
20160607更新，上述逗逼问题已经解决了，安装ZMQ要用系统的安装命令&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;dnf  install zeromq3*&lt;/code&gt; 或者 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;apt-get install libzmq3*&lt;/code&gt;。成功安装好IJulia！
ZMQ.jl 两天前更新了新的版本，但是需要在julia里及时更新METAINFO &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Pkg.update()&lt;/code&gt; 否则安装时还会出现上述问题。&lt;/p&gt;

&lt;p&gt;另外，Rstudio太好用，以至于自己也出了个简易的R notebook，我就没兴趣用IRkernel了。&lt;/p&gt;

&lt;p&gt;Jupyter还是用来写python比较好。&lt;/p&gt;
</description>
        <pubDate>Sat, 04 Jun 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%BD%AF%E4%BB%B6%E4%B8%96%E7%95%8C/2016/06/04/Jupyter-IJulia-and-IRkernel.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%BD%AF%E4%BB%B6%E4%B8%96%E7%95%8C/2016/06/04/Jupyter-IJulia-and-IRkernel.html</guid>
        
        <category>Jupyter</category>
        
        <category>IJulia</category>
        
        <category>IRkernel</category>
        
        
        <category>软件世界</category>
        
      </item>
    
      <item>
        <title>R画图速查手册</title>
        <description>&lt;p&gt;最近在写R画图的速查手册，写这个东西主要是记录学习R的基本画图命令。除此之外，还学习了Rmarkdown Tufte样式的使用。
不得不提，用这个样式编写绘图类的文档，不如使用普通的书籍格式方便。$\LaTeX$编写文档时图表与正文不一定能紧密相连。
基本上前面添加两句话，后面的图位置就全都跑了，在这个版式里该问题由为突出，主要是Tufte包里没有页面内部的交叉引用功能。
用了2天后，我就转向了Bookdown包，这个包是Xie Yihui从手术室出来后连续几个月不间断工作完成的新包，但是基本命令我还没有掌握，
所以第一版的速查手册是用Tufte包完成的。第一版里面对于排版以及大纲逻辑都不太清晰，以后的更新中会有较大改动。&lt;/p&gt;

&lt;p&gt;PDF版文件在这里&lt;a href=&quot;http://yulijia.net/projects/SimpleGraphswithR.pdf&quot;&gt;下载&lt;/a&gt;，会持续更新。&lt;/p&gt;

&lt;p&gt;Bookdown包目前编译pdf文档采用的命令是&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;bookdown::render_book(&quot;index.Rmd&quot;, &quot;bookdown::pdf_book&quot;)&lt;/code&gt;。注意&lt;strong&gt;首先&lt;/strong&gt;要将R工作目录跳转到需要编译的文档目录下，否则会找不到要编译的文件。
不能在函数中以添加路径的方式来编译，因为找不到需要涵盖到书籍里的所有文档（这是错误的-&amp;gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;render_book(&quot;/root/bookfiles/index.Rmd&quot;)&lt;/code&gt;）。&lt;/p&gt;

&lt;h4 id=&quot;参考资料&quot;&gt;参考资料&lt;/h4&gt;

&lt;p&gt;&lt;a href=&quot;http://www.cs.pu.edu.tw/~wckuo/doc/latex123/node12.html&quot;&gt; 一篇文章、一本書的完整結構&lt;/a&gt;&lt;/p&gt;
</description>
        <pubDate>Wed, 18 May 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E5%8F%AF%E8%A7%86%E4%BF%A1%E6%81%AF/2016/05/18/simple-graphs-with-R.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E5%8F%AF%E8%A7%86%E4%BF%A1%E6%81%AF/2016/05/18/simple-graphs-with-R.html</guid>
        
        <category>ggplot2</category>
        
        <category>graphics</category>
        
        <category>R</category>
        
        <category>统计图形</category>
        
        <category>Tufte</category>
        
        <category>Rmarkdown</category>
        
        <category>Bookdown</category>
        
        
        <category>可视信息</category>
        
      </item>
    
      <item>
        <title>Rmarkdown的Tufte模板用xeCJK包写中文的一点问题</title>
        <description>&lt;p&gt;我自己的系统里没有安装windows下的字体，也不打算装ctex宏包，所以需要用xeCJK宏包来显示中文。&lt;/p&gt;

&lt;p&gt;如果在没有安装SimSun字体的情况下使用Rmarkdown里的tufte包的模板写中文文档，编译时会报错找不到SimSun字体。
这是因为tufte模板里作者默认使用ctex，ctex默认使用了SimSun字体。&lt;/p&gt;

&lt;p&gt;如果把ctex去掉，用&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;in_header: header.tex&lt;/code&gt; 的方法来调用xeCJK宏包，那么会发现有些页面的字会重叠或者不显示。&lt;/p&gt;

&lt;p&gt;例如在模板的中文例子里“响应式页面”后面有一段话：&lt;/p&gt;

&lt;div class=&quot;language-markdown highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;gh&quot;&gt;# 响应式页面&lt;/span&gt;

这个包生成的HTML页面是响应式的：
如果页宽小于760像素，边栏内容会自动隐藏。
此时我们可以点击脚注的序号显示它，其它边栏附注则可以通过点击圆圈加号的符号显示。

&lt;span class=&quot;gh&quot;&gt;# 结语&lt;/span&gt;

希望诸位喜欢R Markdown的超级简洁性，同时我们感谢Tufte-CSS和Tufte-LaTeX项目的作者们，没有他们的辛勤劳动，就没有这个&lt;span class=&quot;gs&quot;&gt;**tufte**&lt;/span&gt;包。
这份文档的R Markdown源文档可以在&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;Github上找到&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;](&lt;/span&gt;&lt;span class=&quot;sx&quot;&gt;https://github.com/rstudio/tufte/raw/master/inst/rmarkdown/templates/tufte_ctex/skeleton/skeleton.Rmd&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;，
或者直接使用RStudio菜单&lt;span class=&quot;sb&quot;&gt;`File -&amp;gt; New File -&amp;gt; R Markdown -&amp;gt; From Template`&lt;/span&gt;新建一个文档，或直接从R里面打开这个Rmd文件：
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;但是在生成的文档中缺失了。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/BsXTesC.png&quot; alt=&quot;Imgur&quot; /&gt;&lt;/p&gt;

&lt;p&gt;解决这个问题的最简单方法就是在header里重新定义上边界和下边界的距离。&lt;/p&gt;

&lt;div class=&quot;language-latex highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;k&quot;&gt;\usepackage&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;xeCJK&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;  
&lt;span class=&quot;k&quot;&gt;\setCJKmainfont&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;WenQuanYi Zen Hei&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt; 
&lt;span class=&quot;c&quot;&gt;%定義top和bottom邊界的距離&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;\usepackage&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;geometry&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;\geometry&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;top=2cm,bottom=2cm&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;所以完整的Rmarkdown YAML 写法是：&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;language-YAML&quot;&gt;---
title: &quot;Tufte样式&quot;
subtitle: &quot;一个R Markdown实现&quot;
author: &quot;JJ Allaire，谢益辉&quot;
date: &quot;`r Sys.Date()`&quot;
output:
  tufte::tufte_handout:
    citation_package: natbib
    includes:
      in_header: header.tex
    latex_engine: xelatex
biblio-title: 参考文献
bibliography: skeleton.bib
link-citations: yes
---

&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;其中header.tex 像上面\(\LaTeX\)例子中的那样。&lt;/p&gt;

&lt;h2 id=&quot;这是打脸最快的一篇文章&quot;&gt;这是打脸最快的一篇文章&lt;/h2&gt;

&lt;p&gt;20160519更新&lt;/p&gt;

&lt;p&gt;我现在已经不用tufte包了，改用&lt;a href=&quot;https://github.com/rstudio/bookdown&quot;&gt;bookdown&lt;/a&gt;包的&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;bookdown::tufte_handout2&lt;/code&gt;。&lt;/p&gt;

&lt;p&gt;安装方式如下：&lt;/p&gt;

&lt;div class=&quot;language-r highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;install.packages&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;devtools&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;devtools&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;::&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;install_github&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;rstudio/bookdown&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;强烈推荐使用，但要注意编译后的排版同tufte包的有所不同，主要是bookdown包里的tufte样式貌似没有对table进行优化。&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;在bookdown里配置YAML实现中文tufte sytle的方法如下所示。&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;language-YAML&quot;&gt;title: &quot;A Minimal Book Example&quot;
author: &quot;Yihui Xie&quot;
date: &quot;`r Sys.Date()`&quot;
output: 
  bookdown::tufte_handout2:
    citation_package: natbib
    latex_engine: xelatex
    includes: 
      in_header: header.tex
    toc: yes
link-citations: yes
description: &quot;This is a minimal example of using the bookdown package to write a book.&quot;
&lt;/code&gt;&lt;/pre&gt;

</description>
        <pubDate>Fri, 13 May 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E6%A0%BC%E5%BC%8F%E6%8A%80%E5%B7%A7/2016/05/13/tufte-style-in-Chinese.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E6%A0%BC%E5%BC%8F%E6%8A%80%E5%B7%A7/2016/05/13/tufte-style-in-Chinese.html</guid>
        
        <category>Tufte</category>
        
        <category>xeCJK</category>
        
        <category>Rmarkdown</category>
        
        <category>LaTeX</category>
        
        <category>Bookdown</category>
        
        
        <category>格式技巧</category>
        
      </item>
    
      <item>
        <title>已经有人在我的大学校友群里开始做海外药物代购了</title>
        <description>&lt;h1 id=&quot;请不要相信海外药物代购&quot;&gt;请不要相信海外药物代购&lt;/h1&gt;

&lt;p&gt;滑膜肉瘤事件刚过去几天，代购就已经把魔爪伸向80，90后集中的群里了。
今天大早上起来就被大学校友群里的前辈喷了，这个人大致是做了药物代购或者医疗旅游方面的事情。
在校友群里说丙肝药物一个疗程将近一百万，从他那里买印度仿制药物只要不到一万元/疗程。用脑子想想就知道多不靠谱，在群里还骂我智商低。&lt;/p&gt;

&lt;p&gt;现在治疗丙型肝炎的药物主要是Sofosbuvir（商品名称Sovaldi），外加Daclatasvir（商品名称Daklinza），在发达国家或者港澳台进入市场的药物，可能一个疗程四十万（Sofosbuvir 30, Daclatasvir 10）。
现在国内丙肝的药物代购，印度药可以最便宜六千多到手（sofosbuvir）。如果这位前辈的仿制药卖一万，这中间的差价有多少，现在大家也就清楚了。我不知道群里那位前辈吹嘘的将近一百万的正版药是什么神奇的药物，真有一百万，患者其实可以准备换肝了。&lt;/p&gt;

&lt;p&gt;另外药代也有在国内做假药弄个外国包装卖的，反正吃不死人，能不能治好就另说了（有些情况下患者不具备服用上述丙肝药物的身体条件）。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;癌症相关的靶向药物，丙肝治疗药物都可以让患者或者患者家属直接去印度购买，具体方式请善用搜索，多加一些病友群了解。&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;本来不想提，但还是要说：滑膜肉瘤事件的患者不光被无良的医院骗了，也被那些代购给骗了。药物代购一般会说某某药物只能在印度销售，他有什么特殊取道可以弄进来，这些都不是真实情况。
去国外买药真没那么难，患者带着病例去国外买药，在海关最多需要多交几千元的税，不会被扣下。&lt;/p&gt;

&lt;p&gt;关于某种药物对自己是否有疗效（例如癌症靶向药物），请咨询医生。不要认为某些校友读一些英文文献就能解决这个问题。我学这个我都不能保证自己可以作出准确的判断（接触病人少）。
药物疗效只有专门研究这个药物的人以及给病人用过这个药物的医生最有话语权，研究这种疾病的人也可以在专业角度给一些病人是否能够使用药物的建议。&lt;/p&gt;

&lt;h1 id=&quot;请不要相信海外药物代购-1&quot;&gt;请不要相信海外药物代购&lt;/h1&gt;

&lt;p&gt;现在真是年龄越大，越佩服鲁迅。&lt;/p&gt;

&lt;h1 id=&quot;请不要相信海外药物代购-2&quot;&gt;请不要相信海外药物代购&lt;/h1&gt;

&lt;p&gt;为什么药物代购能在国内获得成功？
就是信息不对等啊，他们手里握有你不知道的真实信息，但是他们也不会告诉你真实信息，他们做的事情就是将真实信息和假的信息混合在一起加以包装，卖给群众，赚取利润。&lt;/p&gt;

</description>
        <pubDate>Thu, 12 May 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2016/05/12/buying-medicine-from-foreign-pharmacies.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2016/05/12/buying-medicine-from-foreign-pharmacies.html</guid>
        
        <category>丙肝</category>
        
        <category>癌症</category>
        
        <category>靶向药物</category>
        
        <category>代购</category>
        
        <category>滑膜肉瘤</category>
        
        
        <category>聚类不能</category>
        
      </item>
    
      <item>
        <title>破事水</title>
        <description>&lt;p&gt;编程序要持续做，每有一个想法开一个坑，到时后填不完就不好了。现在看我一年多前的程序，写得那么好，但我已经看不懂了。
编写的思路都要记录在案。&lt;/p&gt;

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

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

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

&lt;p&gt;川普当选无望，但是这届出了个他，选举看着比之前热闹多了。&lt;/p&gt;

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

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

&lt;p&gt;北京移动偷偷跑流量现象严重，用了个流量检测软件，结果移动告诉我，这个流量监测软件用的流量超高。&lt;/p&gt;

&lt;p&gt;我决定不在看plos one上的paper了，每周都有那么几天，发一大堆correction，这些文章发表前就不能先好好审稿吗。&lt;/p&gt;
</description>
        <pubDate>Wed, 27 Apr 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2016/04/27/time-wait-for-no-one.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2016/04/27/time-wait-for-no-one.html</guid>
        
        <category>吐槽</category>
        
        
        <category>聚类不能</category>
        
      </item>
    
      <item>
        <title>我不是一名前端工程师</title>
        <description>&lt;p&gt;不少Github用户可能都经历过这样的事情，某些小猎头公司处于无人可猎的状态，所以会疯狂的抓取Github上中国人的邮箱，并且根据这个人主页里star最多的repo来判断此人会哪些技术，给他们贴上标签。很不幸，由于我的repo里star最多的是自己的Jekyll博客主题，所以我被贴上了前端工程师的标签，并且邮箱经常会收到这些“猎头”的骚扰邮件。&lt;/p&gt;

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

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

&lt;p&gt;最后公布一下哪些公司用这么low的技术来骚扰Github用户。&lt;/p&gt;

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

&lt;p&gt;不知道为什么某些国内的猎头公司这么喜欢英文名字，还中英夹杂。虽然写这些内容肯定会得罪这些公司，但是这些公司同我的相关性实在是太小了&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ヽ(´∇｀)ノ&lt;/code&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;20160506更新&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;我是 GuruDigger Gero 实验室研发的机器人 Buu One&lt;/code&gt;，GuruDigger就是个流氓，有个外国友人用了我的博客模板，然后这个人在github上没有联系方式，你tmd的垃圾搜索系统直接看git history把sb的垃圾邀请邮件又发我的邮箱里了。&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;20160530更新&lt;/p&gt;

&lt;p&gt;根据热心朋友的&lt;del&gt;流&lt;/del&gt;留言反馈，&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;面趣人才工作室George&lt;/code&gt; 的骚扰已经引起大家的极大关注。&lt;/p&gt;

&lt;p&gt;换个思考方式，是不是应该抛弃Github，转向Bitbucket或者Gitlab？&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;20160603更新&lt;/p&gt;

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

&lt;hr /&gt;

&lt;p&gt;20160606更新&lt;/p&gt;

&lt;p&gt;目前根据热心朋友提供的信息&lt;strong&gt;面趣人才工作室&lt;/strong&gt;骚扰的最频繁！&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;20160824更新&lt;/p&gt;

&lt;h2 id=&quot;请大家毫不犹豫的把面趣人才工作室加入垃圾邮件过滤列表他们绝对会反复骚扰你的我觉得george这个名字已经被他们玩坏了&quot;&gt;请大家毫不犹豫的把&lt;strong&gt;面趣人才工作室&lt;/strong&gt;加入垃圾邮件过滤列表，他们绝对会反复骚扰你的，我觉得George这个名字已经被他们玩坏了。&lt;/h2&gt;

&lt;hr /&gt;

&lt;p&gt;20160929更新&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/MMmK0J8.png&quot; alt=&quot;img&quot; /&gt;&lt;/p&gt;

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

</description>
        <pubDate>Wed, 20 Apr 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2016/04/20/I-am-not-a-frontend-engineer.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2016/04/20/I-am-not-a-frontend-engineer.html</guid>
        
        <category>GitHub</category>
        
        
        <category>聚类不能</category>
        
      </item>
    
      <item>
        <title>3C 4C 5C HiC ChIA-PET 以及 ChIP-loop</title>
        <description>&lt;p&gt;整理一下这几种技术的原理和数据分析流程。&lt;/p&gt;

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

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

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

&lt;h3 id=&quot;hic&quot;&gt;HiC&lt;/h3&gt;
&lt;p&gt;是在3C的基础上，在酶切后将缺口进行补平（dCTP 进行生物素标），然后用连接酶进行连接，将样本进行超声破碎，随后用生物素亲和层析将片段沉淀（也就是抓下来带有生物素标记的片段），加上接头进行深度测序。&lt;/p&gt;

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

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

&lt;p&gt;具体实验流程看这张图可以一目了然：&lt;/p&gt;

&lt;p&gt;HiC （选自：&lt;a href=&quot;http://science.sciencemag.org/content/326/5950/289.full&quot;&gt;Comprehensive Mapping of Long-Range Interactions Reveals Folding Principles of the Human Genome&lt;/a&gt;）&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/zxLHE12.jpg&quot; alt=&quot;Imgur&quot; /&gt;&lt;/p&gt;

&lt;p&gt;3C，4C，5C （摘自：&lt;a href=&quot;https://en.wikipedia.org/wiki/Chromosome_conformation_capture&quot;&gt;wiki&lt;/a&gt;）&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/TIpfG0A.jpg&quot; alt=&quot;Imgur&quot; /&gt;&lt;/p&gt;

&lt;p&gt;几种方法的比较（选自：&lt;a href=&quot;http://genesdev.cshlp.org/content/26/1/11.full&quot;&gt;A decade of 3C technologies: insights into nuclear organization&lt;/a&gt;）&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/h2HJcdo.jpg&quot; alt=&quot;Imgur&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;hic-数据分析&quot;&gt;HiC 数据分析&lt;/h3&gt;

&lt;p&gt;HiC数据从fastq到bam文件主要经过：truncate, mapping, filter, deduplication这几个步骤。&lt;/p&gt;

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

&lt;p&gt;从bam到interaction图像，我测试通过的方法有：&lt;/p&gt;

&lt;p&gt;1.&lt;a href=&quot;http://hicexplorer.readthedocs.org/en/latest/content/mES-HiC_analysis.html&quot;&gt;hicexplorer&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;2.&lt;a href=&quot;http://homer.salk.edu/homer/interactions/HiCmatrices.html&quot;&gt;HOMER&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;del&gt;HOMER功能真全面。用这个工具时要注意&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;makeTagDirectory&lt;/code&gt;这个步骤中处理pairend reads要在后面加上&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-illuminaPE&lt;/code&gt;选项，要不然&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;analyzeHiC&lt;/code&gt;识别不出Tags。&lt;/del&gt;&lt;/p&gt;

&lt;h3 id=&quot;hic-生成相互作用矩阵&quot;&gt;HiC 生成相互作用矩阵&lt;/h3&gt;

&lt;p&gt;这是从raw data到关键信息提取的关键步骤。&lt;/p&gt;

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

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

&lt;h3 id=&quot;参考资料&quot;&gt;参考资料&lt;/h3&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;a href=&quot;www.pibb.ac.cn/pibben/ch/reader/create_pdf.aspx?file_no=20100158&quot;&gt;染色质构象捕获及其衍生技术&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
</description>
        <pubDate>Fri, 15 Apr 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E7%94%9F%E7%89%A9%E4%BF%A1%E6%81%AF/2016/04/15/3C-4C-5C-HiC-ChIAPET-and-ChIPloop.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E7%94%9F%E7%89%A9%E4%BF%A1%E6%81%AF/2016/04/15/3C-4C-5C-HiC-ChIAPET-and-ChIPloop.html</guid>
        
        <category>染色质构象捕获</category>
        
        <category>3C</category>
        
        <category>4C</category>
        
        <category>5C</category>
        
        <category>HiC</category>
        
        <category>ChIA-PET</category>
        
        <category>ChIP-loop</category>
        
        
        <category>生物信息</category>
        
      </item>
    
      <item>
        <title>3D打印，大数据，人工智能，虚拟现实，火星殖民，机器人</title>
        <description>&lt;p&gt;上个月最火的话题莫过于AlphaGO同李世乭的围棋比赛。赛前我还以为“李师师”肯定能取得完胜，结果第一盘就让我彻底傻了眼。
整个比赛证明了在人工智能在下围棋领域已经较为完善，人已经下不过程序了。&lt;/p&gt;

&lt;p&gt;那段时间还看了&lt;a href=&quot;http://www.yinwang.org/&quot;&gt;王垠&lt;/a&gt;的几篇文章&lt;a href=&quot;http://www.yinwang.org/blog-cn/2016/03/09/alpha-go&quot;&gt;批评google搞的AlphaGO没有什么深刻意义，就像IBM的深蓝，火了一阵就没有了消息。&lt;/a&gt;
&lt;a href=&quot;http://www.yinwang.org/blog-cn/2016/03/17/google-vision&quot;&gt;又如同基本废掉的google glass&lt;/a&gt;。他还评论了&lt;a href=&quot;http://www.yinwang.org/blog-cn/2016/02/12/self-driving-car&quot;&gt;google自动驾驶其实也需要很多研究，现在的完全不可靠&lt;/a&gt;。&lt;/p&gt;

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

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

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

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

&lt;p&gt;啰哩啰嗦的写了这些废话，是要认清哪些是玩具哪些是推动社会前进的工具，认清现实。&lt;/p&gt;

&lt;p&gt;20160531更新&lt;/p&gt;

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

</description>
        <pubDate>Mon, 11 Apr 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E6%89%80%E6%80%9D%E6%89%80%E6%82%9F/2016/04/11/3D-printing-AI-virtual-reality-Colonize-Mars-Robot.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E6%89%80%E6%80%9D%E6%89%80%E6%82%9F/2016/04/11/3D-printing-AI-virtual-reality-Colonize-Mars-Robot.html</guid>
        
        <category>3D打印</category>
        
        <category>人工智能</category>
        
        <category>虚拟现实</category>
        
        <category>火星</category>
        
        <category>大数据</category>
        
        <category>机器人</category>
        
        
        <category>所思所悟</category>
        
      </item>
    
      <item>
        <title>悲剧的移动硬盘</title>
        <description>&lt;p&gt;今天是杨提督的生日。但是我很悲伤的写下这篇关于移动硬盘的故事。
在大学毕业的时候同学组织集体团购的移动硬盘终于被我玩费了，虽然移动硬派买来的时候就不太好用，应该是移动硬盘盒供电不足并且usb接触不良。
由于没有大问题，我当时也没什么数据放到移动硬盘里，这个移动硬盘也算顺利的帮我度过了研究生生涯。
取年由于实在无法忍受硬盘插入电脑无反应的情况，买了个新的硬盘盒，结果用到今年三月份，也无响应了。
一开始就像&lt;a href=&quot;http://yulijia.net/cn/%E7%94%9F%E6%B4%BB%E7%82%B9%E6%BB%B4/2016/03/25/Computer-repair.html&quot;&gt;电脑设备维修&lt;/a&gt;中说的一样，先把硬盘拿出来放到电脑里，可以顺利读出所有内容，所以我没在意，也没有及时备份，所有数据都在移动硬盘里，且没有备份！
结果换了新的硬盘盒（第三个）之后，完全读不出来了。&lt;/p&gt;

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

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

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

&lt;p&gt;经验教训如下：&lt;/p&gt;

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

&lt;p&gt;所用的软件：&lt;/p&gt;

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

</description>
        <pubDate>Mon, 04 Apr 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E7%94%9F%E6%B4%BB%E7%82%B9%E6%BB%B4/2016/04/04/so-sad.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E7%94%9F%E6%B4%BB%E7%82%B9%E6%BB%B4/2016/04/04/so-sad.html</guid>
        
        <category>移动硬盘</category>
        
        <category>修复</category>
        
        <category>R-studio</category>
        
        <category>EasyRecovery</category>
        
        <category>TestDisk</category>
        
        <category>photorec</category>
        
        
        <category>生活点滴</category>
        
      </item>
    
      <item>
        <title>电脑设备维修</title>
        <description>&lt;p&gt;生活小窍门&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-_-b&lt;/code&gt;，终于我也沦落到要写这种内容的时候了。&lt;/p&gt;

&lt;p&gt;最近移动硬盘一直不太配合，今天彻底无法链接到电脑，测试了多次，最终定位是移动硬盘盒的问题（SSK的，用了不到一年）。
记录一下相关的操作方法。&lt;/p&gt;

&lt;h3 id=&quot;电脑无法链接移动硬盘设备描述符请求失败&quot;&gt;电脑无法链接移动硬盘（设备描述符请求失败）&lt;/h3&gt;

&lt;p&gt;测试：如果在链接电脑时会听见滴滴的声音，说明是供电有问题。
步骤1：在上述条件下，若电脑无法显示链接，请拔掉连线重新链接，并测试设备管理器里的usb驱动是否有问题，停止使用并重新扫描。
步骤2：若还无法解决且移动硬盘是2.5寸的，可以将其换到笔记本电脑上，查看是否可以正常使用。若是3.5寸的，需要连接台式机进行测试。
上述测试若硬盘可以在电脑里正常读取，则说明问题出在移动硬盘盒上。&lt;strong&gt;（此时可以将重要的数据拷到U盘里备份）&lt;/strong&gt;
结论：需要购买新的移动硬盘盒。&lt;/p&gt;

&lt;p&gt;还没修好！快要沦落到开盘了！ 20160330&lt;/p&gt;

&lt;h3 id=&quot;固态硬盘选购&quot;&gt;固态硬盘选购&lt;/h3&gt;

&lt;p&gt;现在的新笔记本都有专门的固态硬盘MSATA接口，不需要旧的像2.5寸盘大小的SATA3固态硬盘了，买MSATA固态硬盘。
占用空间比内存条还小。&lt;/p&gt;

&lt;h3 id=&quot;系统&quot;&gt;系统&lt;/h3&gt;

&lt;p&gt;赶紧升级到windows10吧，比7和8强了不止一点。&lt;/p&gt;

&lt;h3 id=&quot;屏幕&quot;&gt;屏幕&lt;/h3&gt;

&lt;p&gt;如果笔记本屏幕坏了，什么方法能最快的将数据导出？
一般学校都会有投影仪，将笔记本接到投影仪上，打开投影仪当作屏幕。
之后请找笔记本售后服务商进行换屏（普通笔记本一般屏幕200左右，人工费用也就几十元，经同学杨老板亲测）。&lt;/p&gt;

&lt;h3 id=&quot;买什么笔记本好&quot;&gt;买什么笔记本好？&lt;/h3&gt;

&lt;p&gt;对于做计算，写代码，绘图为主的用户，有钱请上水果，没钱请上船。&lt;/p&gt;

&lt;p&gt;十年河东，十年河西，10年前完全不会考虑的品牌（神舟），现在已经很良心了（但品控不好，靠人品）。&lt;/p&gt;

&lt;p&gt;我觉得笔记本没必要买外星人，有那么多钱还不如配个台式机，那么沉的外星人，即便买了也不会天天背着跑。&lt;/p&gt;

</description>
        <pubDate>Fri, 25 Mar 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E7%94%9F%E6%B4%BB%E7%82%B9%E6%BB%B4/2016/03/25/Computer-repair.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E7%94%9F%E6%B4%BB%E7%82%B9%E6%BB%B4/2016/03/25/Computer-repair.html</guid>
        
        <category>移动硬盘</category>
        
        <category>固态硬盘</category>
        
        <category>屏幕</category>
        
        <category>系统</category>
        
        
        <category>生活点滴</category>
        
      </item>
    
      <item>
        <title>ChIPseq的input对照和IgG对照</title>
        <description>&lt;p&gt;思前想后，还是开了这个目录，要不有些东西写了就归类不能了。&lt;/p&gt;

&lt;p&gt;今天谈一下ChIP-seq流程以及数据control的问题。ChIP是染色质免疫共沉淀，基本原理是在活细胞状态下固定蛋白质-DNA复合物，并将其随机切断为一定长度范围内的染色质小片段，然后通过免疫学方法沉淀此复合体，特异性地富集目的蛋白结合的DNA片段，通过对目的片断的纯化与检测，从而获得蛋白质与DNA相互作用的信息。&lt;/p&gt;

&lt;p&gt;ChIP-seq的流程中一定要有去除deplication的步骤，虽然网上讨论中大家总是谨慎的回答&lt;q&gt;it depends on…blablabla…&lt;/q&gt;。&lt;/p&gt;

&lt;p&gt;ChIP中一般会用到对照数据，对照数据就是在不特意富集所研究的蛋白结合的DNA片段情况下，有多少DNA片段可以纯化并检验出来。&lt;/p&gt;

&lt;p&gt;一般有两种对照，一种是Mock IP（看看在不用抗体的情况下有哪些蛋白会和DNA结合），另一种是直接检测input DNA。在最后&lt;sup id=&quot;fnref:1&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:1&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;列出了一个非常好的ChIP教学文档，里面介绍了抓IgG和input DNA究竟是怎么一回事。&lt;/p&gt;

&lt;p&gt;首先说input DNA：这是通过整套流程，但没有用抗体去筛选DNA片段时，最后会被纯化下来的DNA片段，即：这些片段不代表同转录因子相结合的区域。
接下来是Mock IP：这是通过类似的ChIP处理，但不抓想研究的蛋白时，纯化出的一些同蛋白相结合的DNA片段。&lt;/p&gt;

&lt;p&gt;一般情况下优先选择Input DNA方法，第二种方法有正义（究竟这么抓到的DNA能否做对照？我对此持怀疑态度）。&lt;/p&gt;

&lt;p&gt;另外，Treatment和control的处理也需要关注，在call peaks的时候要选择会用Control做校正的方法。
如果是自己处理，查找Treatment的分布信息，也要做校正，否则就像我之间讨论过的&lt;a href=&quot;http://yulijia.net/cn/论文笔记/2016/03/08/alternative-splicing.html#5&quot;&gt;某篇文章&lt;/a&gt;一样。&lt;/p&gt;

&lt;h3 id=&quot;参考资料&quot;&gt;参考资料&lt;/h3&gt;

&lt;div class=&quot;footnotes&quot; role=&quot;doc-endnotes&quot;&gt;
  &lt;ol&gt;
    &lt;li id=&quot;fn:1&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;&lt;a href=&quot;http://fg.cns.utexas.edu/fg/course_notebook_chapter_ten.html&quot;&gt;Background Information: Chromatin Immunoprecipitation&lt;/a&gt; &lt;a href=&quot;#fnref:1&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
  &lt;/ol&gt;
&lt;/div&gt;
</description>
        <pubDate>Thu, 24 Mar 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E7%94%9F%E7%89%A9%E4%BF%A1%E6%81%AF/2016/03/24/ChIP-seq-control.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E7%94%9F%E7%89%A9%E4%BF%A1%E6%81%AF/2016/03/24/ChIP-seq-control.html</guid>
        
        <category>ChIP</category>
        
        <category>染色质免疫共沉淀</category>
        
        
        <category>生物信息</category>
        
      </item>
    
      <item>
        <title>可变剪接相关研究III</title>
        <description>&lt;h3 id=&quot;1gene-isoform-specificity-through-enhancer-associated-antisense-transcription&quot;&gt;1.Gene isoform specificity through enhancer-associated antisense transcription&lt;/h3&gt;

&lt;p&gt;我都不知道为什么我会有这篇文章的纸质版。&lt;/p&gt;

&lt;p&gt;该文章讲enhancer-associated antisense transcript(算不算一种eRNA？)对gene异构体的调控作用。&lt;/p&gt;

&lt;p&gt;文章没意思，直接删了，把摘要贴一下：&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Enhancers and antisense RNAs play key roles in transcriptional regulation through differing mechanisms. Recent studies have demonstrated that enhancers are often associated with non-coding RNAs (ncRNAs), yet the functional role of these enhancer:ncRNA associations is unclear. Using RNA-Sequencing to interrogate the transcriptomes of undifferentiated mouse embryonic stem cells (mESCs) and their derived neural precursor cells (NPs), we identified two novel enhancer-associated antisense transcripts that appear to control isoform-specific expression of their overlapping protein-coding genes. In each case, an enhancer internal to a protein-coding gene drives an antisense RNA in mESCs but not in NPs. Expression of the antisense RNA is correlated with expression of a shorter isoform of the associated sense gene that is not present when the antisense RNA is not expressed. We demonstrate that expression of the antisense transcripts as well as expression of the short sense isoforms correlates with enhancer activity at these two loci. Further, overexpression and knockdown experiments suggest the antisense transcripts regulate expression of their associated sense genes via cis-acting mechanisms. Interestingly, the protein-coding genes involved in these two examples, Zmynd8 and Brd1, share many functional domains, yet their antisense ncRNAs show no homology to each other and are not present in non-murine mammalian lineages, such as the primate lineage. The lack of homology in the antisense ncRNAs indicates they have evolved independently of each other and suggests that this mode of lineage-specific transcriptional regulation may be more widespread in other cell types and organisms. Our findings present a new view of enhancer action wherein enhancers may direct isoform-specific expression of genes through ncRNA intermediates.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
        <pubDate>Wed, 23 Mar 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2016/03/23/alternative-splicing-III.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2016/03/23/alternative-splicing-III.html</guid>
        
        <category>反义转录本</category>
        
        
        <category>论文笔记</category>
        
      </item>
    
      <item>
        <title>可变剪接相关研究II</title>
        <description>&lt;h3 id=&quot;1accurate-identification-of-alternatively-spliced-exons-using-support-vector-machine&quot;&gt;1.Accurate identification of alternatively spliced exons using support vector machine&lt;/h3&gt;

&lt;p&gt;这篇文章发表了10多年了，是介绍SVM如何用于区分可变剪接外显子的。
如果想了解机器学习方法应用的，建议从这篇开始学习。&lt;/p&gt;

&lt;p&gt;不过由于生物问题的复杂性，文章中用了243个可变剪接的外显子，1753个非可变剪接的外显子。
这个非平衡样本问题，即正样本（可变剪接）和负样本（非可变剪接）的差异很大。
解决这类问题的方法很多，例如：1.重抽样凑成平衡样本；2.加一些附加数据集；3.采用惩罚模型。&lt;/p&gt;

&lt;p&gt;但是从这篇文章中我好像没有具体看到相应的对策。&lt;/p&gt;

&lt;p&gt;文章中采用的是binary classification。一共228个特征，包括序列碱基信息，三联密码子信息，外显子长度等特征。&lt;/p&gt;

&lt;p&gt;文中也做了False Positive Rate和Ture positive rate(ROC曲线)分析。并且比较了Naive-Bayes和neural net work方法。&lt;/p&gt;

&lt;p&gt;特征选择的时候，使用Golub等人的方法，这种方法感觉就是找特征在正负样本中差异大的。&lt;/p&gt;

&lt;p&gt;最后结果在10 fold cross validation后AUC可以达到0.93。&lt;/p&gt;

&lt;h3 id=&quot;单词本&quot;&gt;单词本&lt;/h3&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;brute-force enumeration&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;暴力枚举&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;merit&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;价值&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;slack&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;松弛&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;convey&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;传递，表达&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;heuristic&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;启发式&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;pyrimidine&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;嘧啶&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;stretche&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;延伸&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;concatenation&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;一系列互相关联的事物&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;h3 id=&quot;2widespread-establishment-and-regulatory-impact-of-alu-exons-in-human-genes&quot;&gt;2.Widespread establishment and regulatory impact of Alu exons in human genes&lt;/h3&gt;

&lt;p&gt;Yi Xing（邢毅）老师组里的工作，他们组专门研究转录调控，从文章里可以学到不少东西。
本文是介绍alu exon在基因中的调控作用，实验和分析相结合。有高剪接活动的Alu exons富集在5’-UTR区域。
文章里的东西可以说是对Alu exon同转录关系的一个较为全面的总结。&lt;/p&gt;

&lt;h3 id=&quot;3automated-classification-of-alternative-splicing-and-transcriptional-initiation-and-construction-of-visual-database-of-classified-patterns&quot;&gt;3.Automated classification of alternative splicing and transcriptional initiation and construction of visual database of classified patterns&lt;/h3&gt;

&lt;p&gt;这篇文章是讲述如何对可变剪接类型进行分类，并且还做了个可视化的数据库（网站）。&lt;/p&gt;

&lt;p&gt;我关注这篇的内容就在它如何对可见剪接分类，方法挺有意思的，就是对外显子和内含子（基因间区）用二进制进行标注，然后找相似的pattern进行合并。
合并后，又进行了二进制到十进制的转换。已知的一些可变剪接pattern可以换算成这样的十进制数字，然后从基因组上的所有可变5’端和可变剪接换算成的结果中进行查找，
找到一样的，就说明这个可变剪接模式是已知的哪种。&lt;/p&gt;

&lt;p&gt;文章的精华全在Figure1和Figure2。&lt;/p&gt;

&lt;h3 id=&quot;单词本-1&quot;&gt;单词本&lt;/h3&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;atypical&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;非典型&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;miscellaneous&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;杂项&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;herein&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;此处&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;decimal&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;十进制&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;h3 id=&quot;3arh-predicting-splice-variants-from-genome-wide-data-with-modified-entropy&quot;&gt;3.ARH: predicting splice variants from genome-wide data with modified entropy&lt;/h3&gt;

&lt;p&gt;这是一篇算法文章，预测剪接变异，用的是Affymetrix exon array的数据。&lt;/p&gt;

&lt;p&gt;文章中主要用一组公式计算了对转录本剪接的评价：1.在基因层面是区分有可变剪接的基因；2.在外显子层面计算了剪接的离差（偏差）。
在公式（2）中用了以2为底的指数\(p_{g,e}=\frac{2^{\mathopen|\zeta_{g,e}\mathclose|}}{\sum\nolimits_{e=1,...,m} 2^{\mathopen|\zeta_{g,e}\mathclose|}}\)来计算exon splicing probability，没想明白为什么要以2为底(成比例放大便于计算？)。
最后他们加上熵以及权重项搞了个ARH数值（权重*熵，凑一凑），如果这个数值&amp;gt;0.03暗示着剪接现象。&lt;/p&gt;

&lt;p&gt;算法实现可以学习一下，一般自己弄个有指示意义的数值也差不多的玩法。&lt;/p&gt;

&lt;h3 id=&quot;单词本-2&quot;&gt;单词本&lt;/h3&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;deviation&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;离差，偏差&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;constitute&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;构成&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;&lt;em&gt;per se&lt;/em&gt;&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;本质上&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;h3 id=&quot;4discovery-and-analysis-of-evolutionarily-conserved-intronic-splicing-regulatory-elements&quot;&gt;4.Discovery and Analysis of Evolutionarily Conserved Intronic Splicing Regulatory Elements&lt;/h3&gt;

&lt;p&gt;这篇文中着重从基因组层面的信息来寻找同剪接调控相关的元件(内含子剪接调控元件)。文章中把剪接元件序列能研究的内容做的挺全面的，虽然我认为得到的结论也不是很强。&lt;/p&gt;

&lt;p&gt;简要记录一下找寻intronic splicing regulatory elements（ISREs）的步骤：&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;首先从基因组中抽出保守的外显子和外显子两侧的区域。去掉第一个外显子，外显子上下游的内含子区域分别为400bp，区域截取这么长是为了避免只找到microRNA和snoRNA序列。&lt;/li&gt;
  &lt;li&gt;统计5mer-7mer的短序列。用chisq来计算相同长度的短序列之间的相关性。并排除再启动子上enrich的TFBS序列。&lt;u&gt;这里就有一个问题，TFBS不光在启动子上，所以只排除启动子上的是不严谨的。&lt;/u&gt;&lt;/li&gt;
  &lt;li&gt;聚类，聚类方法好复杂，是他们自己设计的。具体如下：
    &lt;ul&gt;
      &lt;li&gt;将长序列同短序列进行比较，如果长序列包含短序列或者chisq相关性高，那么这样的长序列是短序列的“家长”&lt;/li&gt;
      &lt;li&gt;将短序列同长序列进行比较，如果短序列是长序列的子集或者chisq相关性低，并且这个短序列不是一个“家长”，那么短序列是长序列的“孩子”&lt;/li&gt;
      &lt;li&gt;合并这样的小“家庭”，条件是：“家长”序列有5个碱基相同，在合并的“家庭”中，家长是有最高chisq分值的序列。如果“孩子”有不止一位“家长”，那么chisq分值最高的是它直接关联“家长”。&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;这个聚类方式的好处是：1.保证聚类的集合（“家庭”）里的序列高度保守；2.粗劣都是根据实际序列的相似性来聚集的，这些实际序列都是生物学序列可以被实验验证。（这一点是要说明positional weight matirces PWMs不好，因为PWMs统计的序列可能在实际基因组中根本不存在）&lt;/p&gt;

&lt;p&gt;文章中也有一句话没看明白。&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;An important caveat in our analysis is that on occasion we had more than one cluster with motifs that might have been grouped as one cluster by other clustering methods.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;这句话是说&lt;q&gt;有些时候多余一个的motif簇会被用其他聚类方式聚成一类&lt;/q&gt;，但是为什么这样？&lt;/p&gt;

&lt;h3 id=&quot;单词本-3&quot;&gt;单词本&lt;/h3&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;caveat&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;警告&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;resemble&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;像&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;canonical&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;规范&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;cognate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;同源&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;h3 id=&quot;5matlign-a-motif-clustering-comparison-and-matching-tool&quot;&gt;5.MATLIGN: a motif clustering, comparison and matching tool&lt;/h3&gt;

&lt;p&gt;这是做motif聚类的一篇文章，由于上一篇是关于短序列的，所以这篇就少为跑个题，写一个看过的motif聚类相关的文章。&lt;/p&gt;

&lt;p&gt;文章是作者写了个工具做motif聚类，这个工具的优势是对于position frequency matrices(PFM)和degenerate consensus sequences(简并一致序列)都可以做分析。
所用的方法无外乎是那些距离：Kendalls tau rank corre- lation coefficient (I), Spearman’s rank correlation coeffi- cient (II), Pearson correlation coefficient (III), normalised Euclidean distance (IV) and evolutionary substitution score (V), 或者这些方法的结合。
有了距离后就用自下而上的聚类方法（Agglomerative hierarchical clustering）来聚类，之后根据silhouette value来优化子集合的数量。&lt;/p&gt;

&lt;p&gt;文章中还介绍了计算蛋白质序列的距离用spearman和pearson 相关性方法比较好。&lt;/p&gt;

&lt;h3 id=&quot;单词本-4&quot;&gt;单词本&lt;/h3&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;stochastically&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;随机&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;repetition&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;重复&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;heterodimer&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;异源二聚体&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;agglomerative&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;凝聚&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
</description>
        <pubDate>Sun, 20 Mar 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2016/03/20/alternative-splicing-II.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2016/03/20/alternative-splicing-II.html</guid>
        
        <category>可变剪接</category>
        
        <category>SVM</category>
        
        <category>Alu</category>
        
        <category>Yi Xing</category>
        
        <category>motif</category>
        
        <category>TFBS</category>
        
        <category>转录调控元件</category>
        
        <category>聚类</category>
        
        
        <category>论文笔记</category>
        
      </item>
    
      <item>
        <title>开始学习docker</title>
        <description>&lt;p&gt;关注Docker有一段时间了，几个月前想在服务器上安装，但是32位的Ubuntu服务器装起来很麻烦，源还不好用，计划遂搁浅。
今日在台式机上安装了，可以愉快玩耍。安装方式参考&lt;a href=&quot;https://docs.docker.com/engine/installation/linux/fedora/&quot;&gt;官方文档(Fedora)&lt;/a&gt;。
建议直接&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;dnf install docker-engine&lt;/code&gt;来安装。
在开始安装试用后，我对docker是什么还一无所知。在测试了“hello-world”，“docker/whalesay”和“ubuntu”三个镜像后，发现了好玩的地方，&lt;strong&gt;我可以在Fedora上玩Ubuntu了&lt;/strong&gt;。&lt;/p&gt;

&lt;p&gt;我的第一直觉认为docker像一个虚拟机，例如可以在Fedora上虚拟一个Ubuntu出来，之前经常需要转换多个linux和windows系统来做的package功能测试，现在在linux下就不用转换系统了。
当然docker应该与vm不同，所以我简单搜索了一下&lt;a href=&quot;https://segmentfault.com/q/1010000000407991&quot;&gt;大家对此的解释&lt;/a&gt;。
简而言之Docker是操作系统级别的轻量级虚拟化技术，没有做到虚拟机的全虚拟化（硬件仿真虚拟化）。所以应用起来比虚拟机要快速，创建一个镜像秒开。&lt;/p&gt;

&lt;p&gt;为什么会关注这个？因为生物信息软件多种多样(C写的，Java写的，python/perl写的等等)，在不同环境下安装起来太麻烦了，我们需要一个简单的部署和分发平台，目前有&lt;a href=&quot;https://github.com/BioDocker&quot;&gt;BioDocker&lt;/a&gt;这个解决方案，也有人在开发类似CRAN/bioconductor/github的软件分发平台。&lt;/p&gt;

&lt;p&gt;究竟以后会变成什么样子呢？拭目以待。&lt;/p&gt;

&lt;p&gt;附注：docker run image命令&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;service dockter start
docker images
docker run &lt;span class=&quot;nt&quot;&gt;-t&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-i&lt;/span&gt; ubuntu /bin/bash
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
</description>
        <pubDate>Mon, 14 Mar 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%BD%AF%E4%BB%B6%E4%B8%96%E7%95%8C/2016/03/14/docker.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%BD%AF%E4%BB%B6%E4%B8%96%E7%95%8C/2016/03/14/docker.html</guid>
        
        <category>Docker</category>
        
        <category>虚拟机</category>
        
        
        <category>软件世界</category>
        
      </item>
    
      <item>
        <title>疯狂动物城</title>
        <description>&lt;p&gt;去看了疯狂动物城，剧情一般，但是小单元和细节实在是有意思。下面内容有剧透。&lt;/p&gt;

&lt;p&gt;教父那段逗死了，模仿得惟妙惟肖。动物城里不同动物所开的汽车造型很多。预告里的树懒是个大笑点，可惜预告看了多次，看影片时已经不那么想笑了，最后flash的超速实在是没想到，很逗。最后刚进博物馆时的配乐很有氛围。动物毛茸茸的效果很棒，丛林里的雨滴也有一幕觉得逼真。剧情里的人物似乎都用了类似iPhone，iPad，iPod的设备，不知道苹果是不是有赞助，最后卖碟的封面看到了大白，其余也都应该是迪士尼系列的影片，有点彩蛋的意思。刚进入zootopia时每个乘客的下车方式也很有趣，河马从水中出来。&lt;/p&gt;

&lt;p&gt;最近看网络上这么多人推荐，总感觉有水军。一个想法，不一定对&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;_-_&lt;/code&gt;。&lt;/p&gt;

&lt;p&gt;看完最大的感想，应该好好学学动物的英文名称，我只知道最普通的几个(Bunny，fox，Buffalo)，树懒听了多次都都没记住。&lt;/p&gt;
</description>
        <pubDate>Fri, 11 Mar 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E5%BD%B1%E8%A7%86%E8%AF%84%E8%AE%BA/2016/03/11/zootopia.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E5%BD%B1%E8%A7%86%E8%AF%84%E8%AE%BA/2016/03/11/zootopia.html</guid>
        
        <category>zootopia</category>
        
        <category>动画电影</category>
        
        
        <category>影视评论</category>
        
      </item>
    
      <item>
        <title>一种采用“快速搜索”+“找寻密度峰值”的聚类方法</title>
        <description>&lt;p&gt;&lt;q&gt;Clustering by fast search and find of density peaks&lt;/q&gt;是我看过的公式最少的一篇方法类文章。&lt;/p&gt;

&lt;p&gt;全篇就两个公式，介绍了一类新的（2013年的）聚类方法。
我们一般聚类都会用k-means或者层次聚类，但是这些方法都是在空间中找个中心点。
但要在非球型（空间）的数据中找中心，估计就不太好做了（虽然肯定也是能找出来的，重心，几何中心之类）。&lt;/p&gt;

&lt;p&gt;本文用的方法是定义一个局部密度\(\rho_i\)和距离\(\delta\)。&lt;/p&gt;

\[\rho_i=\sum_{j}\chi(d_{ij}-d_c)\]

&lt;p&gt;其中当\(x&amp;lt;0\)时有\(\chi(x)=1\)，其他情况下\(\chi(x)=0\)&lt;/p&gt;

&lt;p&gt;\(d_c\)是距离的cutoff。&lt;/p&gt;

&lt;p&gt;本质上，\(\rho_i\)计算的是与&lt;strong&gt;点\(i\)&lt;/strong&gt;的距离小于\(d_c\)的点的数量。&lt;/p&gt;

&lt;p&gt;\(\delta_i\)是计算&lt;strong&gt;点\(i\)&lt;/strong&gt;与其他有更高密度的点之间的最小距离。&lt;/p&gt;

\[\delta_i=\min_{j:\rho_j&amp;gt;\rho_i}(d_{ij})\]

&lt;p&gt;假设某个点的密度最高，那么\(\delta_i=\max_j(d_{ij})\)&lt;/p&gt;

&lt;p&gt;聚类的中心就是有最大\(\delta_i\)的那个点。&lt;/p&gt;

&lt;p&gt;该方法的优势是计算比较简单，不需要考虑密度函数，也不需要考虑最优化问题的求解。但是也肯定有不足的地方，这个方法对离群点的处理是认为这些点在一些聚类集合的边缘光晕中。3个实际例子的分析请看文章，不在赘述。&lt;/p&gt;

</description>
        <pubDate>Wed, 09 Mar 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2016/03/09/Clustering-by-fast-search-and-find-of-density-peaks.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2016/03/09/Clustering-by-fast-search-and-find-of-density-peaks.html</guid>
        
        <category>聚类</category>
        
        
        <category>论文笔记</category>
        
      </item>
    
      <item>
        <title>可变剪接相关研究</title>
        <description>&lt;p&gt;本文将总结一些看过的可变剪接文章，大致勾画出我关注的可变剪接研究相关历程。&lt;/p&gt;

&lt;p&gt;另外，从今天开始我会在标签中添加一些关注的研究者。&lt;/p&gt;

&lt;h3 id=&quot;1alternative-splicing-decoding-an-expansive-regulatory-layer&quot;&gt;1.Alternative splicing: decoding an expansive regulatory layer&lt;/h3&gt;

&lt;p&gt;这篇综述是Benjamin J. Belencowe实验室出品的。讲了很多比较有意思的工作，另外引用文献对重要论文做了简要描述。&lt;/p&gt;

&lt;p&gt;我比较感兴趣的是有工作是预测扰乱剪接的mutation。&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;In related work [63], a computational method was developed for predicting splicing disrupting mutations by exploiting the principle that the preferred binding location of a splicing factor with respect to splice sites is directly correlated with its positive-acting function, whereas a mutation that creates a binding site for the splicing factor in the ‘wrong’ location is expected to disrupt splicing.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;文章里的几个点：&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;蛋白质RNA相互作用的分析（CLIP-seq，HITS-CLIP，PAR-CLIP）&lt;/li&gt;
  &lt;li&gt;H3K36me3和H3K9me3对剪接的影响。（组蛋白、核小体、染色质层面对转录可剪接的影响）&lt;/li&gt;
  &lt;li&gt;CTCF与剪接&lt;/li&gt;
  &lt;li&gt;今后如何结合ncRNA和antisense transcripts来分析可变剪接&lt;/li&gt;
&lt;/ol&gt;

&lt;h3 id=&quot;单词本&quot;&gt;单词本&lt;/h3&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;stride&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;跨步，大步&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;fully-committed&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;完全依赖&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;genotoxic&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;遗传毒性&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;perturbation&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;不安，摄动&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;nascent&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;初期&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;inhibit&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;抑制&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;polyadenylation&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;多腺苷酸化&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;synergize&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;起增效剂作用，协同加强的活动&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;lofty&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;高耸的&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;elicit&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;引出&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;trigeminal ganglion&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;三叉神经节&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;infrare&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;红外线&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;pivotal&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;中枢，关键&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;myelodysplasia&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;脊髓发育不良&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;prognosis&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;预后&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;autism spectrum disorder&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;自闭症谱系障碍&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;amyotrophic lateral sclerosis&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;肌萎缩侧索硬化&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;frontotemporal lobar degeneration&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;额颞叶变性&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;h3 id=&quot;2entropy-measures-quantify-global-splicing-disorders-in-cancer&quot;&gt;2.Entropy Measures Quantify Global Splicing Disorders in Cancer&lt;/h3&gt;

&lt;p&gt;这篇文章估计看过的人都留下了深刻的印象，文章里用Shannon entropy来度量剪接失调（混乱）的程度（参见下图）。&lt;/p&gt;

&lt;p&gt;文章中用癌症和正常样本做对比，说明了在癌症中转录本的剪接失调情况会很多。
剪接失调的基因中很多是剪接因子。
并且文章通过以往数据分析了剪接失调同癌症的细胞增殖有着一定的关系。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/mvXH1JL.png&quot; alt=&quot;Imgur&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;单词本-1&quot;&gt;单词本&lt;/h3&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;perturbation&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;忧虑，不安，摄动&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;surrogate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;代理&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;foetal&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;胎儿&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;h3 id=&quot;3expression-of-24426-human-alternative-splicing-events-and-predicted-cis-regulation-in-48-tissues-and-cell-lines&quot;&gt;3.Expression of 24,426 human alternative splicing events and predicted cis regulation in 48 tissues and cell lines&lt;/h3&gt;

&lt;p&gt;本文用的是microarray数据来检测cassette exon splicing的情况，主要监测了inclusion和exclusion的&lt;strong&gt;已知&lt;/strong&gt;cassette exon。比较老，2008年的文章，有chaolin zhang参与。&lt;/p&gt;

&lt;p&gt;在不同组织中有剪接的exon的表达情况各不相同。
他们围绕调控的外显子抽取8个区域（区域见下图）的序列，在序列中找4mer到7mer的“words”，对看这些words的富集情况，从而获得剪接相关的调控元件。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/Ij77696.png&quot; alt=&quot;Imgur&quot; /&gt;&lt;/p&gt;

&lt;p&gt;之后是对高精度RNA可见剪接图谱的研究，对每种检测到的关键motif的特点和潜在功能进行分析，并预测RNA结合蛋白和motif之间的关系。&lt;/p&gt;

&lt;h3 id=&quot;单词本-2&quot;&gt;单词本&lt;/h3&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;&lt;em&gt;in silico&lt;/em&gt;&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;电脑模拟&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;&lt;em&gt;in vivo&lt;/em&gt;&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;生物活体内&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;&lt;em&gt;in vitro&lt;/em&gt;&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;生物活体外&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;pyrimidine&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;嘧啶&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;h3 id=&quot;4estimation-of-alternative-splicing-variability-in-human-populations&quot;&gt;4.Estimation of alternative splicing variability in human populations&lt;/h3&gt;

&lt;p&gt;这篇文章评估了可变剪接多样性在两个人群（高加索人，尼日利亚人）里的相同点和差异。&lt;/p&gt;

&lt;p&gt;文章中采用CV（coefficient of variation）对基因和转录本的表达量多样性进行了评估，采用splicing ratio \(f_i=\frac{x_i}{\lambda}\)（即某个剪接形式的转录本拷贝数\(x_i\)占这个基因所有转录本拷贝数\(\lambda\)的比例）
结论是基因表达比splicing ratio对于转录本富集的调控贡献较大。&lt;/p&gt;

&lt;p&gt;文中将使用同一个TSS的转录本定义位一个基因的转录本，一开始研究了lncRNA然后发现lncRNA看不出什么明显结论，
就只研究mRNA了，在研究时用到了&lt;a href=&quot;https://en.wikipedia.org/wiki/Hellinger_distance&quot;&gt;&lt;strong&gt;Hellinger distance&lt;/strong&gt;&lt;/a&gt;来球splicing ratio的variability（变化程度）。&lt;/p&gt;

&lt;p&gt;分析方法和数据对比（在两个人群中）应该是这篇文章的优点。&lt;/p&gt;

&lt;h3 id=&quot;单词本-3&quot;&gt;单词本&lt;/h3&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;deconvolute&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;去卷积&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;Caucasian&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;高加索人，白人&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;Yoruban&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;约鲁巴人&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;Nigerian&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;尼日利亚人&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;overdispersion&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;不平均分布，过离散&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;centroid&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;质心&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;h3 id=&quot;-5epigenetic-features-are-significantly-associated-with-alternative-splicing&quot;&gt;&lt;a name=&quot;5&quot;&gt;&lt;/a&gt; 5.Epigenetic features are significantly associated with alternative splicing&lt;/h3&gt;

&lt;p&gt;这篇文章是出自Tian Weidong老师的实验室。主要刻画了表观遗传学特征同可变剪接的关系。
我很早之前在JC上讲过，感觉是一篇细节问题较多的文章。&lt;/p&gt;

&lt;p&gt;具体来说文章里研究了组蛋白修饰，9个转录因子，CTCF和RNA Pol II同可变剪接外显子的关系。
这个文章中有很多小问题，感觉做得不严谨，主要在于对表观遗传学数据，并不是所有的都减去input做标准化。&lt;/p&gt;

&lt;p&gt;首先，文章一开始的背景里说剪接事件可以分为：cassette exon, exon skipping, blablabla的，我就没弄清楚这里专门指出的 cassette exon 同 exon skipping 的区别在哪里。
我还专门翻了翻后面带的那两篇引用文章，写得都是cassette exon。在result部分就没再出现cassette exon，只用了exon skipping，且这里特指skip单个exon的情况（即不会连续2个或以上的exon都被skip）。&lt;/p&gt;

&lt;p&gt;还有就是，研究的数据有一部分同前面我做过笔记的文章中的类似，用的都是ENCODE的RNA-seq外加组蛋白修饰、转录因子，CTCF以及RNA Pol II的数据。
计算的时候还一般都从bam或者wig文件开始，有没有考虑过实验之间的差异性以及如何度量或者减少这类问题？这些数据的mapping质量到底怎么样？&lt;/p&gt;

&lt;p&gt;文中最逗的就是关于组蛋白修饰和input的问题，在Figure2中没有做control(input)的处理，但是在Figure6中就做了input的矫正。
也就是文中的最后一个小节专门讲述矫正后的结果是什么样子。
另外在附录里有Figure2情况下input的数据分布情况。为什么不全部矫正后画图呢？像这样有时做矫正，有时不做矫正，会对理解造成困扰。
感觉像是在review后添加了矫正的内容。&lt;/p&gt;

&lt;p&gt;还要再啰嗦一句，文中使用的那个对转录本分类的脚本，我也没测试成功，可能是我的输入数据里面有处理不了的转录本。&lt;/p&gt;

&lt;p&gt;整篇文章中介绍的方法是可取的，只是很多不严谨的地方，让结果不是那么可信。&lt;/p&gt;

&lt;h3 id=&quot;单词本-4&quot;&gt;单词本&lt;/h3&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;dinucleotide&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;二核苷酸&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;investigate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;考察&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;&lt;em&gt;（这个系列未完待续，每次更新5篇为一个post）&lt;/em&gt;&lt;/p&gt;
</description>
        <pubDate>Tue, 08 Mar 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2016/03/08/alternative-splicing.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2016/03/08/alternative-splicing.html</guid>
        
        <category>可变剪接</category>
        
        <category>Benjamin J. Belencowe</category>
        
        <category>Yoseph Barash</category>
        
        <category>entropy</category>
        
        
        <category>论文笔记</category>
        
      </item>
    
      <item>
        <title> 119个人类转录因子结合到基因组区域的序列特征和染色质结构分析</title>
        <description>&lt;p&gt;这篇文章有幸聆听过wengzhiping老师的汇报。当时刚刚开始做这方面的研究，什么都不懂。
现在看看，这篇文章内容丰富，在对问题的提出和验证方面比较合理。&lt;/p&gt;

&lt;p&gt;他们使用MEME-ChIP软件来做motif discovery。然后对于每个peak，将E-value最小的作为“主要motif”，将其他E-value显著的作为“二级motif”。&lt;/p&gt;

&lt;p&gt;再将这些unique motif（79个）分成已知数据库中的，以及未知的（12个）。文中还说，要注意在MEME中找到的最富集在peak上的“主要motif”不一定是canonical motif。
TF 结合位置一般在DNase I peak的两侧，也就是山谷的位置。他们还分析了未知motif是同一些已知motif的关系。有的未知motif在一些已知motif的peaks里。&lt;/p&gt;

&lt;p&gt;接下来是weng老师自己认为比较有意思的一个亮点（她曾讲完后专门问我们感觉是不是很有意思），TF之间的结合关系：
两个TFs是紧挨着结合在DNA序列上，还是一个TF与另一个TF结合，后一个TF结合在DNA序列上？&lt;/p&gt;

&lt;p&gt;为了检测这两中假设，他们计算peaks中每种motif的比例：1.peaks中有两个motif；2.peaks中reads绝大多数是非cannonical motif；3.peaks中reads绝大多数是canonical motif。&lt;/p&gt;

&lt;p&gt;看这三种的比例，根据比例来判断TFs究竟是如何结合的（参见下图）。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/GJ9JiNG.png&quot; alt=&quot;Imgur&quot; /&gt;&lt;/p&gt;

&lt;p&gt;另外，文中介绍bound motif site是在peaks区域的，unbound motif site是在peaks外的motif site，文中分析bound site区域的DNase I 超敏感位点和TS motifs都富集很多。&lt;/p&gt;

&lt;p&gt;接下来，本文还分析了邻近的motif sites是不是同向的，还是反向（也就是如有两个TF，那么它们是结合在同一侧DNA链上，还是结合在互补链上）的，多个motif sites之间的距离是多远，有没有特点。
我觉得这两个问题很有意思，分析结果发现不同的TF之间距离和方向的特点不同。&lt;/p&gt;

&lt;p&gt;接下来他们又分析了组织特异性的TF。最后还分析了TF位置同核小体之间的关系。核小体的两侧是有比较多的TF peaks。
大多数TF都喜欢结合在GC含量高，没有核小体，并且DNase I 易感的区域。在DNA序列上核小体被赶走与DNA序列的固有特征无关。
TF喜欢结合到GC含量高区域，这些区域有很多是启动子区域，但是启动子区域的核小体排布很有规律，那么TF同核小体岂不是喜欢往一块凑？
文章中说TFs会结合到赶走核小体或者组织核小体紧密排布的基因组区域。&lt;/p&gt;

&lt;h4 id=&quot;总结一下这个研究都做了哪些工作&quot;&gt;总结一下这个研究都做了哪些工作？&lt;/h4&gt;

&lt;ol&gt;
  &lt;li&gt;找序列motifs和TF结合位点&lt;/li&gt;
  &lt;li&gt;对motifs分类，分别分析已知和未知motifs&lt;/li&gt;
  &lt;li&gt;比较bound 和 unbound motif sites的特点（在peaks里和不在peaks里的motif）&lt;/li&gt;
  &lt;li&gt;TFs的&lt;q&gt;共结合&lt;/q&gt;形式有哪些？3种&lt;/li&gt;
  &lt;li&gt;&lt;q&gt;共结合&lt;/q&gt;TFs之间的距离和结合方向偏好性&lt;/li&gt;
  &lt;li&gt;序列特异性的TFs结合在细胞类型特异性的细胞中&lt;/li&gt;
  &lt;li&gt;已蛋白蛋白共结合（拴住）这种方式结合的非序列特异性TFs有哪些特点&lt;/li&gt;
  &lt;li&gt;核小体同TFs的关系&lt;/li&gt;
  &lt;li&gt;总结TFs与序列结合的3个特点&lt;/li&gt;
  &lt;li&gt;细胞类型特异性的TFs结合区域的染色质结构&lt;/li&gt;
  &lt;li&gt;网站Factorbook.org&lt;/li&gt;
&lt;/ol&gt;

&lt;h3 id=&quot;单词本&quot;&gt;单词本&lt;/h3&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;canonical&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;权威&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;tethering&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;拴住&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;repetitive&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;重复&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;teratocarcinoma&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;畸胎瘤&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;deplete&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;枯竭&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;oscillatory&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;震荡性，摆动的&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;striking&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;显著的&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;in vivo&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;体内&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;in vitro&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;体外&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;intrinsic&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;固有的&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;dips&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;倾角&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;evict&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;依法驱逐&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;albeit&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;虽然&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;deviate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;脱离&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;intrinsically&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;本质上&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;anecdotal&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;轶事&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

</description>
        <pubDate>Mon, 07 Mar 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2016/03/07/Sequence-features-and-chromatin-structure-around-the-genomic-regions-bound-by-119-human-transcription-factors.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2016/03/07/Sequence-features-and-chromatin-structure-around-the-genomic-regions-bound-by-119-human-transcription-factors.html</guid>
        
        <category>组蛋白</category>
        
        <category>染色质结构</category>
        
        <category>转录因子</category>
        
        
        <category>论文笔记</category>
        
      </item>
    
      <item>
        <title>在正常和癌症细胞中组蛋白修饰与转录本异构体差异性的联系</title>
        <description>&lt;p&gt;这篇文章同我的毕业论文相关。在我的毕业答辩半个月之后，就出现了这篇文章。好好读一下，可以看出文章的优点和不足之处。&lt;/p&gt;

&lt;p&gt;文章中分析了Gm12878, Hsmm, Huvec, Hepg2, Helas3, K562, H1hesc, Nhek, Nhlf这几个cell type中组蛋白甲基化，乙酰化以及组蛋白变异(H2az)。
为什么选这些ENCODE的cell type? &lt;q&gt;根据我的课题经验就这几个cell type里的组蛋白修饰数据全面，实验基本一致。可以做横向比较。&lt;/q&gt;&lt;/p&gt;

&lt;p&gt;他们用TopHat2和Cuffilnks2 获得了有注释的mRNA和lincRNA的相关信息。
将外显子分成：转录起始位点，转录终止位点，内部以及有重合区域的，这四个部分。并只研究转录起始位点和内部这两个区域的外显子。
为什么只选这两类呢？这同后续文中定义的splicing exon inclusion rate（SEIR，ranging from 0 to 1）和transcription start site inclusion rate(TSSIR，范围0到1)有关。&lt;/p&gt;

&lt;p&gt;这两个比例就是看外显子是否在每个异构体都有出现，假设一个基因有3个异构体，某个起始位点的外显子只在两个异构体中出现，那么TSSIR=2/3，SEIR数值没有。
SEIR也类似，一个转录本非起始终止位点（即内部）的外显子，在3个转录本中的1个转录本出现，那么这个外显子SEIR为1/3。
&lt;u&gt;这篇文章的Fiugre1的注释中可能一个SEIR=0.33有误，在图中是0.67。lengend中对于SEIR计算的是exon inclusion还是spliced out有误解。&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;接下来就是对TSSIR和SEIR同组蛋白修饰的富集情况的相关性。他们发现编码蛋白质的基因正相关于H3K36me3富集情况，负相关于H3K4me2和H3K4me3富集情况。转录本多样性与表观的相互作用肯定囊括了其他的因素在里面。&lt;/p&gt;

&lt;p&gt;之后他们还研究了组蛋白修饰在外显子的上游和下游1kb，2kb和5kb的富集情况，发现某些组蛋白修饰同外显子有相关性。但是从图和表中看到Z值都比较小，也就是整体水平较为平均。&lt;/p&gt;

&lt;p&gt;接下来对癌症细胞系中的组蛋白修饰同外显子剪接的特点进行了总结。
对外显子inclusion patern分类，研究每一类中组蛋白修饰的特点。&lt;/p&gt;

&lt;p&gt;最后用组蛋白修饰来预测TSSIR和SEIR，他们只预测了有较明显patern的800多个基因。
为什么这样做，只用840个基因做预测？&lt;q&gt;我觉得不这样做就预测不出来，噪声太大。&lt;/q&gt;&lt;/p&gt;

&lt;p&gt;预测方法是这样的：要知道预测的细胞系中外显子对应区域的组蛋白富集情况，以及已知的细胞系中外显子的组蛋白情况和TSSIR/SEIR分数。
首先做一个组蛋白修饰富集情况的矩阵，例如每列都是cell type，每行都是不同的组蛋白修饰。
接下来算细胞系之间的欧时距离，找欧时距离最近的3个邻居。
这三个邻居对应的TSSIR/SEIR分数，就基本上是要预测的细胞系中外显子的对应分数。
然后在两个未知的细胞系中预测正确率分别达到91.82%和84.65%。
后来又做了leave one out的cross validation。每个细胞系的正确率从72.1%到91.8%。&lt;/p&gt;

&lt;p&gt;另外，文中还没有解释清楚一开始他们怎么算的组蛋白富集情况，我发邮件询问了作者。
作者回答用的是Fisher’s exact test（如下图所示），每列代表不同的样本，组蛋白的数据有input，用input做control。
每一行是Reads数量，分别统计mapped的reads数和总共的reads数。这样算出富集情况的p值。&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt; &lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;sample&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;control&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;mapped&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;1&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;3&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;total&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;2&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;4&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;h4 id=&quot;现在总结一下此类可变剪接文章的特点并不是针对这篇文章&quot;&gt;现在总结一下此类可变剪接文章的特点（并不是针对这篇文章）&lt;/h4&gt;

&lt;p&gt;&lt;q&gt;首先定义一个“可变剪接”的分值，然后对表观遗传学修饰进行富集性分析（也定义一个数值），之后看这两个数值之间的联系。
对于机器学习的预测，就用一些挑出的较容易看出模式的样本来进行，这样预测准确率就不会太差。
机器学习在很多社交大数据分析中不需要给出数据之间的内在联系，只求预测准确性，但是这个东西在自然科学里，就必须要有一个合理的解释来阐述内部原理。
很多方法预测的好就意味着数据之间有相关性，但是我们也要深入到数据内部，看看在产生数据的时候是不是就隐含了一些已知的相关性在其中。
说白了，别把工作做成“人为设定了本来就有有相关性的变量，然后证明这些变量之间有线性相关性”。&lt;/q&gt;&lt;/p&gt;

&lt;h3 id=&quot;单词本&quot;&gt;单词本&lt;/h3&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;irrespective&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;不论，不管&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;occlude&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;堵塞&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;genuine&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;真正的，纯种的&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
</description>
        <pubDate>Sun, 06 Mar 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2016/03/06/Histone-Modifications-Are-Associated-with-Transcript-Isoform-Diversity-in-Normal-and-Cancer-Cells.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2016/03/06/Histone-Modifications-Are-Associated-with-Transcript-Isoform-Diversity-in-Normal-and-Cancer-Cells.html</guid>
        
        <category>异构体</category>
        
        <category>转录本</category>
        
        <category>组蛋白</category>
        
        <category>ENCODE</category>
        
        
        <category>论文笔记</category>
        
      </item>
    
      <item>
        <title>PLOS ONE 和创造论者</title>
        <description>&lt;p&gt;本周末最火的话题是啥？&lt;/p&gt;

&lt;p&gt;PLOS ONE 上刊登了一篇由华中科技大学（武汉）和伍斯特理工学院（美国）的研究者发表的一篇关于手部协调的生物力学特征研究的&lt;a href=&quot;http://journals.plos.org/plosone/article?id=info:doi/10.1371/journal.pone.0146193&quot;&gt;论文&lt;/a&gt;。
其中有几句话把手部精巧的生物学结构和生物力学运动归为&lt;strong&gt;造物主的设计&lt;/strong&gt;。&lt;/p&gt;

&lt;p&gt;PLOS ONE也算是个主流(?)学术期刊，不是什么国内野鸡学术期刊，虽然一直都很low，只要花钱就的发表，影响因子4左右。
也有少数比较不错的文章，不过目前为了发表的灌水越来越多，鱼目混杂。
这不，编辑自己作死，估计连摘要都没看完，把“造物主”相关词语写在摘要里的文章，就给评审通过。
文章编辑如果再这么放松下去，我看这PLOS ONE是药丸。&lt;/p&gt;

&lt;p&gt;对于这个事件，国外很多媒体都有评论文章。
我看了Andrew Gelman写在&lt;a href=&quot;http://andrewgelman.com/authors/&quot;&gt;他们&lt;/a&gt;&lt;a href=&quot;http://andrewgelman.com/2016/03/04/creationist-article-published-in-plos-one/&quot;&gt;博客&lt;/a&gt;的这篇。&lt;/p&gt;

&lt;p&gt;Andrew说虽然有个作者说在修改撤回该稿件，他们本意不是创造者论（我自己内心估计，作者应该是想说他们把自然的创造给写成造物主blablabla的，这样来解释自己文章中的谬论，修改后估计还能继续发表。）&lt;/p&gt;

&lt;p&gt;但是Andrew不信这些，他看到文章的所属领域包含: Built structures。套用辛老师之前说过的一句话&lt;q&gt;这不是坑爹吗&lt;/q&gt;。&lt;/p&gt;

&lt;p&gt;PLOS ONE是可以确定评审论文的编辑，Andrew发现专家是一个叫Renzhi Han的Associate Professor。&lt;/p&gt;

&lt;p&gt;至此所有作者和评审的名字我都能不费力气的读出来，对，都是现代汉语拼音。再一次（为什么这么说？），我们的科研工作者在世界同行的面前闹了个大笑话。&lt;/p&gt;

&lt;p&gt;Andrew还调侃说这个Han的主页做得不错，然而我去google的时候，Han已经把整个网站关掉了（good job）。
关于这一部分，Andrew想说Han犯了没有认真审稿的错误，但是说得一点都不好，读起来像是故意奚落对方。&lt;/p&gt;

&lt;p&gt;Andrew说自己不是批评这类文章不能出现在学术刊物上，而是这类文章的论据支撑不了观点。&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Actually, I do think a creationist paper could be published in a mainstream science journal such as Plos-One. 
&lt;q&gt;It’s just that they’d actually have to make an argument for their point.&lt;/q&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;之后他又举例统计学杂志上曾经刊登过关于“圣经密码”的研究来说明此类问题在他所涉及的学术领域是怎么出现的。&lt;/p&gt;

&lt;p&gt;总而言之，就是说明一个蹩脚的实验设计和糟糕的统计结果可以带你到达终点。也就是你想科学的证明一个不正确的观点，就用一大堆错误的统计理论来支撑，这样没准可以发表。&lt;/p&gt;

&lt;p&gt;但终究逃不过认真的人的眼睛。&lt;/p&gt;

&lt;p&gt;最后，Andrew的这篇博客低下评论很多，他说收到了很多“爱国人士”的评论，说该文章的错误是个词语错误，作者不是创造论者。由于收到了太多此类评论，他还专门发了一个声明。&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;P.S. We seem to have been getting a lot of spam from patriotic people using fake names. You guys should take it up with the editor of the paper who described it as a mistake, and the editors of Plos-One who retracted it, stating, “This evaluation confirmed concerns with the scientific rationale, presentation and language, which were not adequately addressed during peer review. Consequently, the PLOS ONE editors consider that the work cannot be relied upon and retract this publication.” Their call, not mine.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;看了评论我就呵呵了，像评论中说&lt;q&gt;英语是第二语言，写作出错难免，认为批评这类错误是一种西方式傲慢&lt;/q&gt;的人，那你不会把英语学溜一些，找人好好修改修改，PLOS ONE的编辑不能再认真一些，好好挑挑语病？ 明明是PLOS ONE编辑的错，非要代表Chinese给自己背上。&lt;/p&gt;

</description>
        <pubDate>Sat, 05 Mar 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E6%89%80%E6%80%9D%E6%89%80%E6%82%9F/2016/03/05/PLoS-One-and-Creationist.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E6%89%80%E6%80%9D%E6%89%80%E6%82%9F/2016/03/05/PLoS-One-and-Creationist.html</guid>
        
        <category>PLOS ONE</category>
        
        <category>创造论</category>
        
        <category>学术期刊</category>
        
        
        <category>所思所悟</category>
        
      </item>
    
      <item>
        <title>MBNL蛋白抑制备胎干细胞特异性的剪接和重编程</title>
        <description>&lt;p&gt;本文章曾经在组会报告过，文章介绍了MBNL蛋白在胚胎干细胞特异性的可变剪接和重编程过程中的作用。
文章说当时（2013）研究可变剪接对干细胞的调控和分化的影响才刚刚起步。&lt;/p&gt;

&lt;p&gt;主要作用方式：
MBNL（控制）=&amp;gt; FOXP1的可变剪接（控制）=&amp;gt;多能性FOXP1=&amp;gt;包括可变exon=&amp;gt;改变它bind的特异DNA序列=&amp;gt;刺激OCT4和NANOG的表达并一直分化相关的基因表达=&amp;gt;关于这个的反式作用因子和其他可变剪接事件却不清楚。&lt;/p&gt;

&lt;p&gt;由于主要是实验方面的文章，由于自己实验方面懂得少，也看不出文章有什么问题。就当学习了实验设计。文章特点就是在干细胞里研究剪接现象。&lt;/p&gt;

&lt;h3 id=&quot;单词本&quot;&gt;单词本&lt;/h3&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;orthologous&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;同源&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;extensive&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;广泛&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;putative&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;假定，假设&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;deplete&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;耗尽&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;actin&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;肌动蛋白&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;lysate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;裂解液&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;modest&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;有限&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;quadrant&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;象限&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;teratoma&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;畸胎瘤&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;chimaera&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;嵌合体&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

</description>
        <pubDate>Thu, 03 Mar 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2016/03/03/MBNL-proteins-repress-ES-cell-specific-alternative-splicing-and-reprogramming.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2016/03/03/MBNL-proteins-repress-ES-cell-specific-alternative-splicing-and-reprogramming.html</guid>
        
        <category>剪接</category>
        
        <category>MBNL</category>
        
        <category>胚胎干细胞</category>
        
        <category>Benjamin J. Blencowe</category>
        
        <category>Christopher B. Burge</category>
        
        <category>Eric Wang</category>
        
        
        <category>论文笔记</category>
        
      </item>
    
      <item>
        <title>检测全基因组突变</title>
        <description>&lt;p&gt;这个文章是我第一次组会报告的内容，主要讲怎么分析果蝇的突变，以及pipeline设计。&lt;/p&gt;

&lt;p&gt;果蝇这个生物的特点是每代突变都很多，如果直接套果蝇的参考基因组去找你特定实验诱发（非定向）的突变，可能会找错了。&lt;/p&gt;

&lt;p&gt;所以最好的方法是在家系内部找参考基因组，然后做比对，找突变。&lt;/p&gt;

&lt;p&gt;这个文章里用的工具比较老，MAQ这个包应该现在都没什么人用了。看此文章主要是要理解方法的过成，用更新的工具套用流程。&lt;/p&gt;

&lt;p&gt;找突变前要先用RepeatMasker将重复区域覆盖掉。&lt;/p&gt;

&lt;p&gt;对于作为参考基因组的家系内部样本，首先要拼接好，转成一致序列(consensus sequence)。&lt;/p&gt;

&lt;p&gt;整个流程如下：&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;过滤低质量的reads&lt;/li&gt;
  &lt;li&gt;mapping&lt;/li&gt;
  &lt;li&gt;生成一致序列&lt;/li&gt;
  &lt;li&gt;除去repeat&lt;/li&gt;
  &lt;li&gt;call SNP&lt;/li&gt;
&lt;/ol&gt;
</description>
        <pubDate>Thu, 03 Mar 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2016/03/03/Identification-of-EMSInduced-Mutations-in-Drosophila-melanogaster-by-Whole-Genome-Sequencing.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2016/03/03/Identification-of-EMSInduced-Mutations-in-Drosophila-melanogaster-by-Whole-Genome-Sequencing.html</guid>
        
        <category>果蝇</category>
        
        <category>突变</category>
        
        <category>pipeline</category>
        
        
        <category>论文笔记</category>
        
      </item>
    
      <item>
        <title>恢复错删的文件</title>
        <description>&lt;p&gt;这是在第七个Leap year的2月29日（暴露了&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-_-|||&lt;/code&gt;），记录下的逗比事件。&lt;/p&gt;

&lt;p&gt;起因：我写了个程序自动重命名下载的图片，改着改着，程序出了bug，把所有图片从图片文件夹&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/media/disk/picure&lt;/code&gt;都移动到了当前脚本的工作目录&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/root/bin&lt;/code&gt;。
我以为原图片文件夹还有这些图片，就把当前工作目录下的都删除了。 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-_-b&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;经过：从昨天晚上到今天，抽时间找了不同的软件和方法来恢复数据。&lt;/p&gt;

&lt;p&gt;1.在linux下采用 &lt;q&gt;testdisk&lt;/q&gt; 中的&lt;q&gt;photorec&lt;/q&gt; 来恢复图片文件。&lt;/p&gt;

&lt;p&gt;如果用终端版的不适应，可以安装GUI &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;dnf install qphotorec&lt;/code&gt;。
具体步骤可以参考&lt;a href=&quot;http://www.cgsecurity.org/wiki/PhotoRec_Step_By_Step&quot;&gt;这里&lt;/a&gt;。&lt;/p&gt;

&lt;p&gt;在使用时请选择只查找没有文件的区域（Free: from the unallocated space only），否则会花费很长时间，给你找出一堆chrome隐藏的网络图片。&lt;/p&gt;

&lt;p&gt;我一共测试了在三种地址查找，1. 在/root/硬盘里搜索全部图片（70G空间），2. 在/root/硬盘里搜索没有文件的区域（小于70G空间），3. 在/media/disk/里搜索没有文件的区域（500G空间）。&lt;/p&gt;

&lt;p&gt;在三种找法中，第一种最满。所以千万不要搜索全部空间。&lt;/p&gt;

&lt;p&gt;找出的图片有几个问题：首先不会按照原来的名字来命名，其次图片文件信息也会丢失，最重要的是所有文件按照在磁盘的位置（就是从0到最大容量的数字）来存放，查找起想要的文件非常不方便。&lt;/p&gt;

&lt;p&gt;2.百度经验里的debugfs修复&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://jingyan.baidu.com/article/2f9b480d6c2bcd41cb6cc223.html&quot;&gt;该文档&lt;/a&gt;应该有错。在&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;dd if= of=&lt;/code&gt; 这个步骤。出来的结果是无法识别的。&lt;/p&gt;

&lt;p&gt;绝对不建议使用，除非很熟悉&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;dd&lt;/code&gt; 命令。&lt;/p&gt;

&lt;p&gt;3.EasyRecovery&lt;/p&gt;

&lt;p&gt;只测试了恢复&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/meida/disk&lt;/code&gt; 里的文件。&lt;strong&gt;绝赞好评！&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;软件下载时请不要从中文网站下载，搜索时发现有两个EasyRecovery网址，这里面肯定有李鬼。&lt;/p&gt;

&lt;p&gt;直接从英文网站下载，最好找个带keygen的。免费版我使用不成功。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;用这个软件复原的图片包含原名字，在原文件夹的位置结构，含有图片信息!!!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;结果：以后不要用&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;rm&lt;/code&gt;命令了，用&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;trash-put&lt;/code&gt;来代替，在&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.bashrc&lt;/code&gt;里&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;alias rm=&apos;trash-put&apos;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Trash-put 对于移动硬盘和windows系统下的盘里的删除数据，无法恢复到原有位置，只会在移动硬盘或者windows系统硬盘的根目录建立&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.Trash&lt;/code&gt;文件夹，所恢复的文件会在该文件夹的路径下，这一点还是不太好用。20160427&lt;/p&gt;
</description>
        <pubDate>Mon, 29 Feb 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%BD%AF%E4%BB%B6%E4%B8%96%E7%95%8C/2016/02/29/EasyRecovery-and-photorec.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%BD%AF%E4%BB%B6%E4%B8%96%E7%95%8C/2016/02/29/EasyRecovery-and-photorec.html</guid>
        
        <category>testdisk</category>
        
        <category>EasyRecovery</category>
        
        <category>photorec</category>
        
        
        <category>软件世界</category>
        
      </item>
    
      <item>
        <title>怪物之子</title>
        <description>&lt;p&gt;看完了怪物之子，没什么剧情，画面中的电脑粒子渲染还不错。&lt;/p&gt;

&lt;p&gt;感觉细田守的动画越做越差，我看过的有：我们的战争游戏，穿越时空的少女，夏日大作战，狼的孩子雨和雪，以及最新的这部。
前两个算经典，第三个算内容有趣音乐也很棒，第四个可以说是故事中人物的冲突和人物结局有意思，然而最后这个讲得乱七八遭。
我就记住了逗比的宗师是个吃胡萝卜的兔子，后面的鲸鱼会让人想起夏日大作战里的两个鲸鱼管理员。
怪物老师+人类+猪鼻子和尚+猴子的组合让人想到西游记，战斗的输赢纯粹是主角（jue2）光环所决定的，所有打斗中两方的势力完全不清楚。
看不出女主到底是在剧情里起到了什么作用。&lt;/p&gt;

</description>
        <pubDate>Sun, 28 Feb 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E5%BD%B1%E8%A7%86%E8%AF%84%E8%AE%BA/2016/02/28/The-Boy-and-the-Beast.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E5%BD%B1%E8%A7%86%E8%AF%84%E8%AE%BA/2016/02/28/The-Boy-and-the-Beast.html</guid>
        
        <category>剧场版</category>
        
        <category>动画</category>
        
        <category>细田守</category>
        
        
        <category>影视评论</category>
        
      </item>
    
      <item>
        <title>App如何找到目标定位</title>
        <description>&lt;p&gt;看了湾区日报推送的&lt;a href=&quot;http://www.trevormckendrick.com/how-to-choose-a-profitable-niche/&quot;&gt;做什么样的 app 能赚钱的&lt;/a&gt;。
记录一下里面提到的一些小调研方法。&lt;/p&gt;

&lt;p&gt;理想的商机包含以下三个方面：&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;有利可图&lt;/li&gt;
  &lt;li&gt;可以通过App Store中搜索找到&lt;/li&gt;
  &lt;li&gt;具有蹩脚的竞争对手&lt;/li&gt;
&lt;/ol&gt;

&lt;h4 id=&quot;什么样子的app是有利可图的&quot;&gt;什么样子的app是“有利可图”的？&lt;/h4&gt;

&lt;p&gt;计算两款相同类别下载量排名第25位的app的月均收入，并查找其总量排名。&lt;/p&gt;

&lt;p&gt;这样可以计算出某个类别的app大致收入趋势。&lt;/p&gt;

&lt;h4 id=&quot;用户会找到你的app吗&quot;&gt;用户会找到你的app吗？&lt;/h4&gt;

&lt;p&gt;作者提供了一个很好的思路，查找app的关键词，如果有某个关键词的app非常多，那么新产品通常会比较靠后，很难找到。&lt;/p&gt;

&lt;p&gt;有竞争性的app的关键词最好只有100个已内的已知app产品正在使用。&lt;/p&gt;

&lt;p&gt;备注：我觉得也不能太少，要真弄个冷门关键词，用户也不会想到去搜索。&lt;/p&gt;

&lt;h4 id=&quot;竞争对手是不是很优秀呢&quot;&gt;竞争对手是不是很优秀呢？&lt;/h4&gt;

&lt;p&gt;进入某个领域，要知道这个领域里的app都有哪些问题，哪些地方可以改进。&lt;/p&gt;

&lt;p&gt;如果你的竞争对手并不是特别努力，但他们仍能赚钱，这说明这个领域是可以进入的。&lt;/p&gt;

&lt;h4 id=&quot;文中提到的有用的数据网站&quot;&gt;文中提到的有用的数据网站&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;www.distimo.com/&quot;&gt;Distimo&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://www.straply.com/&quot;&gt;straply&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Fri, 26 Feb 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E7%BD%91%E7%BB%9C%E8%A7%82%E5%AF%9F/2016/02/26/how-to-choose-a-profitable-niche.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E7%BD%91%E7%BB%9C%E8%A7%82%E5%AF%9F/2016/02/26/how-to-choose-a-profitable-niche.html</guid>
        
        <category>定位</category>
        
        <category>需求</category>
        
        <category>调研</category>
        
        
        <category>网络观察</category>
        
      </item>
    
      <item>
        <title>母本到合子转换（MZT）发育相关的文章</title>
        <description>&lt;p&gt;感觉这样写下去，博客就变成论文记录了。为了避免这种情况，以后&lt;strong&gt;论文笔记&lt;/strong&gt;都以归纳总结多篇文章为主，如果是非常好的文章，会单开一篇写一写。&lt;/p&gt;

&lt;h3 id=&quot;1chromatin-signature-of-embryonic-pluripotency-is-established-during-genome-activation&quot;&gt;1.Chromatin signature of embryonic pluripotency is established during genome activation&lt;/h3&gt;

&lt;p&gt;这是一篇讲述斑马鱼MZT阶段组蛋白和RNA聚合脢II在基因组结合位置的文章。&lt;/p&gt;

&lt;p&gt;文中说明RNA聚合脢II同组蛋白（H3K4me3，H3K27me3，H3K36me3）结合到相关的基因组位置是发生在合子基因组激活时期。
很多不活跃的基因到活跃的时，有组蛋白H3K4me3的Mark。序列特异性的转录因子会先指导组蛋白H3K4的甲基化，然后招募RNA聚合脢II。
最后总结三个方面：1.合子基因组激活同组蛋白H3的三甲基化有关，说明组蛋白修饰提供了MZT期的调控信息；
2.在ES cells中也存在bivalent domains;3.有些单价且有H3K4me3修饰的基因没有被激活。&lt;/p&gt;

&lt;h3 id=&quot;2transcriptome-analysis-of-zebrafish-embryogenesis-using-microarrays&quot;&gt;2.Transcriptome Analysis of Zebrafish Embryogenesis Using Microarrays&lt;/h3&gt;

&lt;p&gt;这篇文章分析了斑马鱼的胚胎时期转录本数据(Microarrays)，包含的时间点有：母本时期，囊胚期，原肠胚期，分裂期，pharyngula （咽喉胚期）。&lt;/p&gt;

&lt;p&gt;做了各种层次聚类，每个聚类里有特点的基因都介绍了。该文章的亮点是找到了在pre-MBT时期表达的一些基因（整体表达水平低，所以不好发现），这些基因可能对后面MBT时期转录本调控起到作用。&lt;/p&gt;

&lt;h3 id=&quot;3a-complex-mrna-degradation-code-controls-gene-expression-during-animal-development&quot;&gt;3.A complex ‘mRNA degradation code’ controls gene expression during animal development&lt;/h3&gt;

&lt;p&gt;在这篇综述中，作者详细介绍了mRNA降解在生物发育中控制基因表达。
首先说降解会控制基因表达动力学：如果降解太快，那么基因表达水平会很低，会影响转录进程；如果降解太慢，基因表达水平就会很高（机体会想这个细胞是不是不想玩了），细胞就会进入机体删除阶段。
mRNA降解受控于RBPs（RNA结合蛋白），small RNAs，miRNA-RBP，cis-regulatory（顺式作用元件）。
RNA降解在动物发育中的作用有两点：1.控制发育过程；2.细胞特异性。&lt;/p&gt;

&lt;h3 id=&quot;4prepatterning-of-developmental-gene-expression-by-modified-histones-before-zygotic-genome-activation&quot;&gt;4.Prepatterning of Developmental Gene Expression by Modified Histones before Zygotic Genome Activation&lt;/h3&gt;

&lt;p&gt;这篇文章发在Developmental Cell上，很有意思，试验设计合理。&lt;/p&gt;

&lt;p&gt;主要是讲斑马鱼发育阶段Zygotic Genome Activation（ZGA）时期的组蛋白信号对于转录的影响。
共检测了H3K4me3, H3K9me3, H3K27me3, H3K36me3, RNA PolII的marker在不同时期基因组上的分布情况。
研究发现H3K4me3富集在1000个pre-MBT时期的基因上，至少9000个MBT和post-MBT时期的基因上。
在这个部分，研究的母系表达的基因，也就是这些基因在pre-MBT期基本不表达，而在MBT期开始表达上调。&lt;/p&gt;

&lt;p&gt;研究结果揭示了在不同时期这些组蛋白甲基化富集在基因组上的情况各有特点。尤其是在256个细胞阶段检测到的H3K4me3, H3K9me3和H3K27me3说明在这个时期转录抑制已经存在。&lt;/p&gt;

&lt;p&gt;之后又发现H3K4me3 marker在256个细胞时期，存在于一些转录不活跃的基因区域上。
本来想说明这些基因不活跃，还找出了H3K36me3和RNA PolII的marker做对照，结果发现H3K36me3的确没什么信号，
但是RNA PolII存在于基因的启动子区域（不在gene body，也是转录不活跃的表现）。&lt;/p&gt;

&lt;p&gt;我个人觉得最有意思的就是下面的这张图。作者们做了一个&lt;strong&gt;epigenetic fate map of the pre-MBT H3K4me3-marked gene&lt;/strong&gt;,
从这个图可以看到不同的基因在不同的阶段又不同的表观遗传学marker。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/Iv2t3bO.png&quot; alt=&quot;Imgur&quot; /&gt;&lt;/p&gt;

&lt;p&gt;后续，文章有讲述了Pre-MBT时期H3K4me3 mark对合子转录的积极作用，以及在精子和卵细胞中有这个maker的交集的基因有哪些。&lt;/p&gt;

&lt;h3 id=&quot;5transcript-clearance-during-the-maternal-to-zygotic-transition&quot;&gt;5.Transcript clearance during the maternal-to-zygotic transition&lt;/h3&gt;

&lt;p&gt;这篇review有意思的地方是在后面的引用文献中作者点评了一些他们感兴趣的文章，这也方便了读者的阅读。&lt;/p&gt;

&lt;p&gt;综述的主要内容是讲mRNA在MTZ过程中的降解以及它的机制。RNA结合蛋白，小RNA家族均有参与，后面还说了降解的mRNA有哪些作用。&lt;/p&gt;

&lt;h3 id=&quot;单词本&quot;&gt;单词本&lt;/h3&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;bearing&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;方位&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;immunoprecipitation&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;免疫&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;bivalent&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;二价&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;poise&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;平衡&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;synchronous&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;同时存在&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;be posied for&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;准备好&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;heterologous transcription&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;异源转录&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;pertinent&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;关于…的，有关的&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;permanently&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;永久的&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;discrepancy&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;矛盾，不符合之处&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;inducible&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;可诱导的&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;basal&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;基底&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;segmentation&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;分割&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;organogenesis&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;器官发育&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;demarcate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;定界限&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;amenability&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;服从&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;mutagenesis&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;突变形成&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;morpholino&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;吗啉基&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;mencement&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;开端&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;coordinate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;协调，同时&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;putative&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;推定&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;chorion&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;绒毛膜&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;rhamnose&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;鼠李糖&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;lectin&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;凝集素&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;synchronous&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;同步&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;primordial&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;初生的，原始的&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;somitogenesis&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;体节发育&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;sea urchin&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;海胆&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;proteolytic&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;蛋白水解&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;conjugate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;结合&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;pigment&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;色素&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;depletion&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;消耗&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;nascent&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;初期&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;milieu&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;周围&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;distorte&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;扭曲的&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;exoribonuclease&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;核糖核酸外切酶&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;nascent&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;初期&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;transient&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;短暂的&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;poeron&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;操纵子&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;chaperone&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;监督人&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;stoichiometry&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;化学计量&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;dictate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;控制&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;bearing&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;风姿&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;convergent&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;趋同&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;chimeras&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;嵌合体&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;gamete&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;配子&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;per se&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;本质&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;onward&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;向前&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;entail&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;牵涉&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;homeostatic&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;自我平衡&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;guiescence&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;静止&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;stricto sensu&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;狭义上来说，严格意义上&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
</description>
        <pubDate>Thu, 25 Feb 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2016/02/25/MZT-related-paper.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2016/02/25/MZT-related-paper.html</guid>
        
        <category>MZT</category>
        
        <category>组蛋白</category>
        
        <category>H3K4me3</category>
        
        <category>H3K27me3</category>
        
        <category>H3K36me3</category>
        
        <category>mRNA</category>
        
        <category>转录组</category>
        
        <category>斑马鱼</category>
        
        <category>MBT</category>
        
        <category>降解</category>
        
        <category>cis-regulatory</category>
        
        <category>miRNA</category>
        
        <category>H3K9me3</category>
        
        <category>ZGA</category>
        
        
        <category>论文笔记</category>
        
      </item>
    
      <item>
        <title>从母本到合子的过渡：两幕戏剧</title>
        <description>&lt;p&gt;标题可能翻译的不太好，这篇综述写的很有意思，值得研究受精卵、转录本、发育相关的人士阅读。
文中借用莎士比亚戏剧的方式，阐述了从母本到合子过渡时期（MZT）转录本的差异变换，这种转变类似于戏剧中的两幕。&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;maternal-to-zygotic transition (MZT): the period that begins with the elimination of maternal transcripts, continues through the production of zygotic transcripts and ends with the first major morphological requirement for zygotic transcripts in embryonic development.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Midblastula&quot;&gt;mid-blastula transition (MBT)&lt;/a&gt;:  is a stage during the blastula stage of embryonic development in which zygotic gene transcription is activated.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;MZT和MBT不完全相同，但也不好区分，具体请查阅相关文献，在本文中，我觉得它没解释MBT是什么，只是说我们要用MZT，MZT是个时期，而不是一个时间点。&lt;/p&gt;

&lt;p&gt;母本到合子的过渡可以分为两个进程：1.一部分母本mRNA和蛋白质消失；2.合子转录开始。&lt;/p&gt;

&lt;p&gt;合子转录出的转录本后续的蛋白质和micorRNA产物会返回来加强母本mRNA降解。初期在合子中合成的的mRNA也是催化剂，会加强合子的转录。&lt;/p&gt;

&lt;p&gt;卵子的激活（活化）在不同生物中有不同的驱动因子，例如棘皮动物、线虫、脊椎动物中，受精会使卵子活化。
而在一些孤雌生殖的昆虫中，离子环境、pH值，机械刺激才是驱动卵子活化的因素。&lt;/p&gt;

&lt;p&gt;文章中说转录本降解也能分为两个部分：一个是母本的，当母本活动使会导致20%的母本转录本不稳定（开始降解）；
另一个是合子的，合子活动使会进一步导致15%的母本转录本不稳定。所以总共35%的母本转录本会在MZT时期降解掉。&lt;/p&gt;

&lt;h3 id=&quot;第一幕母本时期母本基因组降解&quot;&gt;第一幕：母本时期&lt;q&gt;母本基因组降解&lt;/q&gt;&lt;/h3&gt;

&lt;p&gt;在这个时期一些转录本稳定，另一些转录本不稳定，这两类转录本也就很大差别，在果蝇中稳定的子集中富集了同RNA过渡（蛋白结合，代谢，翻译）相关的转录本。
说明了在MZT和之后的时期的生物学过程都需要这样的转录本。
小鼠对于过渡时期降解和稳定的转录本与果蝇类似，小鼠主要降解的是细胞周期相关的，稳定的是蛋白结合，代谢，翻译相关的转录本，但是这些转录本都是在合子时期富集，而不是在前一阶段母本时期富集。
这说明果蝇卵细胞需要快速发育，而哺乳动物的卵细胞发育时间相对较长，有充足的时间让合子产生这些组分。&lt;/p&gt;

&lt;p&gt;那么母本转录本的降解究竟是为什么呢？&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;猜测1.为了平衡受精卵中的mRNA总量&lt;/li&gt;
  &lt;li&gt;猜测2.由于早期发育的需要，部分母本mRNA必须降解&lt;/li&gt;
  &lt;li&gt;猜测3.母本mRNA的降解是有指导作用的，而不是散漫的，指导细胞周期的快慢&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;这几个假说都不是互斥的。&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;For example, the elimination of maternal cell cycle mRNAs could be both instructive (slowing the cell cycle) and permissive (allowing patterned mitoses after the MZT)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3 id=&quot;第二幕合子时期合子基因组激活&quot;&gt;第二幕：合子时期&lt;q&gt;合子基因组激活&lt;/q&gt;&lt;/h3&gt;

&lt;p&gt;文中提到了四个机制，并强调这几个机制并不互斥&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Nucleocytoplasmic ratio&lt;/li&gt;
  &lt;li&gt;Maternal clock&lt;/li&gt;
  &lt;li&gt;Transcript abortion&lt;/li&gt;
  &lt;li&gt;Chromatin regulation&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;其中4中说ZGA时期同染色质修饰有关，这个很有意思。&lt;/p&gt;

&lt;h3 id=&quot;单词本&quot;&gt;单词本&lt;/h3&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;maternal&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;母亲的&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;morphogenetic&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;有关型态发育&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;sculpt&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;雕刻&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;prologue&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;开场白，序幕&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;oogenesis&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;卵子发生&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;mitotic&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;有丝分裂&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;eliminate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;消除&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;activator&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;催化剂&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;echinoderm&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;棘皮动物&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;amphibian&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;两栖动物&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;parthenogenesis&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;孤雌生殖&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;osmotic&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;渗透的，渗透性&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;signal-transduction cascade&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;信号转导级连&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;resumption&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;重新开始&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;blastula&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;囊胚&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;cytoskeletal&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;细胞支架&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;ensue&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;继而产生&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;asynchronous&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;异步的&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;cytokinesis&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;细胞（浆）移动&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;synchronous&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;同时存在&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;syncytial&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;多核体&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;gastrulation&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;原肠胚形成&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;cataclysmic&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;大变动，洪水的&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;onset&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;初期，开始&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;pleiotropic&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;多效性，多向性&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;temporal coupling&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;时间耦合&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;mediator&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;调停者&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;clearance&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;清洁&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;abrogate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;废除&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;essential&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;必要的&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;instructive&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;有益，指导&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;permissive&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;自由的，容许&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;successive&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;连续的&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;titrate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;滴定法测量&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;polyploid&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;多倍体&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;depletion&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;消耗&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;catalytically&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;催化&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;cycloheximide&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;放线菌酮&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;deplete&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;耗尽&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;sequester&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;使隔绝&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;elicite&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;诱导&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;protamine&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;精蛋白&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;anteroposterior&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;前后的&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;amanitin&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;蝇蕈素，鹅膏素&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;pleiotropic&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;多效性&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;exert&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;运用&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

</description>
        <pubDate>Wed, 24 Feb 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2016/02/24/the-maternal-to-zygotic-transition-a-play-in-two-acts.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2016/02/24/the-maternal-to-zygotic-transition-a-play-in-two-acts.html</guid>
        
        <category>母本</category>
        
        <category>合子</category>
        
        <category>发育</category>
        
        <category>转录本</category>
        
        
        <category>论文笔记</category>
        
      </item>
    
      <item>
        <title>泛癌网络分析发现在通路和蛋白质复合物中的罕见体细胞突变</title>
        <description>&lt;p&gt;这篇文章是介绍HotNet2这个软件的分析结果的，发表在nature genetics上。
其实是个工具类的文章，但是同cufflinks的特点一样，文章主体介绍研究成果，在附录中介绍算法。&lt;/p&gt;

&lt;p&gt;文章的方法部分我已经在&lt;a href=&quot;http://yulijia.net/en/bioinformatics/2015/06/02/HotNet2.html&quot;&gt;博客&lt;/a&gt;中介绍过了。&lt;/p&gt;

&lt;p&gt;但是没有通读过文章的内容，今天有时间通读了一遍。&lt;/p&gt;

&lt;p&gt;就是讲发现的罕见通路，以及找了一堆文献来说明这些通路中的突变的确是在癌症发展中起到作用的。
找到了一些mutually exclusive（互斥，在A基因有突变a，在B基因有突变b，这两个事件不会同时发生）的突变。&lt;/p&gt;

&lt;p&gt;但是这些罕见突变究竟有多少真正起作用呢？我觉得还需要大量的临床数据来支持。&lt;/p&gt;

&lt;h3 id=&quot;单词本&quot;&gt;单词本&lt;/h3&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;pan-cancer&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;泛癌&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;perturb&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;烦扰&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;delve&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;钻研&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;foothill&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;山麓&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;propagation&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;传播&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;subtle&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;细微&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;putative&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;假定&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;sequester&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;隔离&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;focal&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;病灶，焦点&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;renal&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;肾脏的&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;uterine&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;子宫&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;corpus&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;器官&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;bladder&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;膀胱&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;urothelial&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;泌尿&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;juvenile&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;少年&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;oxidative stress&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;氧化应激&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;neuroblastoma&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;成神经细胞瘤&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;squamous&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;鳞状&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;chromatid&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;染色单体&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;inevitably&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;不可避免，无疑&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;ascertainment&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;探查，发现，确认&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

</description>
        <pubDate>Wed, 24 Feb 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2016/02/24/Pan-cancer-network-analysis-identifies-combinations-of-rare-somatic-mutations-across-pathways-and-protein-complexes.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2016/02/24/Pan-cancer-network-analysis-identifies-combinations-of-rare-somatic-mutations-across-pathways-and-protein-complexes.html</guid>
        
        <category>HotNet2</category>
        
        
        <category>论文笔记</category>
        
      </item>
    
      <item>
        <title>iPS技术</title>
        <description>&lt;p&gt;山中伸弥(Shinya Tamanaka)是我非常尊敬的科学家。
当时在细胞生物学的讨论课上几个人一组做slides讲他的工作。
这是我第一次接触实验生物学的内容。
对于试验一窍不通的我，同微生物所的同学们一起读这篇文章，学到了很多东西。&lt;/p&gt;

&lt;p&gt;这个实验过程很繁琐枯燥，感谢Takahashi和Yamanaka做了这么多工作，使得大家不需要再用几十个因子来测试诱导干细胞。&lt;/p&gt;

&lt;p&gt;本笔记比较简陋，只记录当时学的一些东西和想法。&lt;/p&gt;

&lt;p&gt;1.为什么选择了不少同tumor相关的因子？&lt;/p&gt;

&lt;p&gt;因为肿瘤细胞同干细胞的相似性。&lt;/p&gt;

&lt;p&gt;相似性：自我维持，无限传代，分化&lt;/p&gt;

&lt;p&gt;2.CAG promoter is a combination of the cytomegalovirus early enhancer element and chichen beta-actin promoter&lt;/p&gt;

&lt;p&gt;3.当loxP遇到Cre DNA重组酶时，会进行DNA学列的插入，复制，删除，使基因活化或失去功能。&lt;/p&gt;

&lt;p&gt;4.iPS-TTF4和iPS-TTFgfp4克隆移植到裸鼠中形成了肿瘤。&lt;/p&gt;

&lt;p&gt;5.Nanog可有可无（无用）。&lt;/p&gt;

&lt;h3 id=&quot;单词本&quot;&gt;单词本&lt;/h3&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;differentiate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;变异&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;subcutaneous&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;皮下的&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;spinal&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;脊髓&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;morphology&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;形态学&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;pluripotency&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;多能性&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;pivotal&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;关键&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;crystal violet&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;结晶紫(细胞核染色用)&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;passage&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;传代&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;mock&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;空白&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;loading control&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;阳性对照&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;neomycin&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;新霉素&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;dispensable&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;可有可无&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;concentration&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;浓度&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;retroviral&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;逆转录病毒&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;transduction&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;转导&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;scant&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;很少&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;rough&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;球形&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;teratoma&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;畸胎瘤&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;histological&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;组织学&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;cartilage&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;软骨&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;epithelium&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;上皮&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;trophoblast&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;滋养层&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;endoderm&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;内胚层&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;mesoderm&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;中胚层&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;fetoprotein&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;甲胎蛋白&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;tubulin&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;微管蛋白&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;nullipotency&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;无能性&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;vitro&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;体外&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;gonad&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;性腺&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;cheimeric&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;嵌合&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

</description>
        <pubDate>Tue, 23 Feb 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2016/02/23/Induction-of-Pluripotent-Stem-Cells-from-Mouse-Embryonic-and-Adult-Fibroblast-Cultures-by-Defined-Factors.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2016/02/23/Induction-of-Pluripotent-Stem-Cells-from-Mouse-Embryonic-and-Adult-Fibroblast-Cultures-by-Defined-Factors.html</guid>
        
        <category>iPS</category>
        
        
        <category>论文笔记</category>
        
      </item>
    
      <item>
        <title>RNA干扰（RNAi）的世界</title>
        <description>&lt;p&gt;重新阅读了RNAi的两位诺贝尔获奖者的演讲稿，应该算不上是论文研读，但也没别的类别可写，就放在这个目录下吧。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. return to the RNAi world: rethinking gene expression and evolution&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;这是CC Mello的演讲稿，介绍了发现RNAi机制中的标志性事件。Mello有个女儿，是一型糖尿病患者。&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;In the year 2000 our daughter Victoria was born. In an unfortunate twist of fate, Victoria developed type-one diabetes in the fall of 2001. Suddenly, I had to learn how to inject into a human, my own daughter, for the first time. Ironically, human insulin, the same bacterially synthesized molecule that inspired me to pursue molecular biology, is now giving Victoria her very life. This experience has given me a new perspective on the importance of medical research. Edit, who is a wonderful nurse, is now taking care of Victoria, and serving as a diabetes counselor for newly diagnosed families.&lt;/p&gt;

  &lt;p&gt;&lt;a href=&quot;http://www.nobelprize.org/nobel_prizes/medicine/laureates/2006/mello-bio.html&quot;&gt;Craig C. Mello - Biographical&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;演讲的前面提到研究&lt;em&gt;Caenorhabditis elegans&lt;/em&gt; ( &lt;em&gt;C.elegans&lt;/em&gt; ) 这种全身透明的线虫给科学试验带来了极大的好处。
在1800-1900年代，德国进化生物学家&lt;a href=&quot;https://en.wikipedia.org/wiki/August_Weismann&quot;&gt;奥古斯特·魏斯曼&lt;/a&gt; 曾提出种质学说：&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;(1) there is a special particle, the biophore, for each trait; (2) that these particles can grow and multiply independent of cell division; (3) that both the nucleus and cytoplasm consist of these biophores; (4) that a given biophore may be represented by many replicas in a single nucleus, including the germ cell; and (5) that during cell division the daughter cells may receive different kinds and numbers of biophores through unequal cell division.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;根据我们目前的知识，这个学说的观点（2）和（5）是不正确的，这个学说也是当时的一个假说。但是如果把这段话中的”biophores”替换成”siRNA”，考虑这个理论在一些traits中的情况，我们可以得到一下观点：&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;(1) there is a particle, containing &lt;q&gt;siRNAs&lt;/q&gt;, for some traits; (2) these &lt;q&gt;siRNAs&lt;/q&gt; can grow and multiply independent of cell division; (3) both the nucleus and the cytoplasm can contain the &lt;q&gt;siRNAs&lt;/q&gt;; (4) a given &lt;q&gt;siRNA&lt;/q&gt; may be represented by many replicas; and (5) that during cell division the daughter cells may receive different kinds and numbers of &lt;q&gt;siRNAs&lt;/q&gt; through unequal cell division.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Mello说这就是当时我们对siRNA所了解的东西，现在看来奥古斯特·魏斯曼的观点在某些生物学现象中是成立的。我想到了&lt;a href=&quot;http://www.cas.cn/xw/zjsd/201401/t20140106_4010664.shtml&quot;&gt;于老师最崇拜的拉马克主义&lt;/a&gt;, 拉马克学说在表观遗传学中很多地方都成立。&lt;/p&gt;

&lt;p&gt;接下来，他又具体介绍了一步一步发现RNAi作用机制的过程。&lt;/p&gt;

&lt;p&gt;1.长双链RNA是在rde-1的帮助下作用于Small RNA的&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/iXQePCq.png&quot; alt=&quot;img&quot; /&gt;&lt;/p&gt;

&lt;p&gt;RNAi和microRNA通路中利用不同的RDE-1蛋白家族的成员，聚集到Dicer上。正当Mello他们认为RDE-1在上游起作用时，其他研究组（Greg Hannon, Ji-Joon Song以及Leemor Joshua-Tor）发现Argonaute蛋白有一个同其他可以剪切RNA的蛋白类似的domain(结构域)。&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;These studies demonstrated that Argonaute proteins repre- sent the long sought ‘slicer’ activity (or the cop) that lies at the heart of the RNA-induced silencing pathway.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;2.&lt;em&gt;rde-1&lt;/em&gt;的功能&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://imgur.com/XaCspEY.png&quot; alt=&quot;img&quot; /&gt;&lt;/p&gt;

&lt;p&gt;当然，Mello 他们也没闲着，继续研究RDE-1的功能。RDE-1家族的同源蛋白可能在通路的下游起到关键作用。同时他们认为在通路下游的Argonaute似乎没有完整的能起作用的RNA切割相关的核酶酸domain。&lt;/p&gt;

&lt;p&gt;3.沉默pathway&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://imgur.com/tXFoPRX.png&quot; alt=&quot;img&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Mello的研究发现Argonaute也同一些内源的沉默通路相关，包括转座子和转基因沉默通路。&lt;/p&gt;

&lt;p&gt;4.染色质-RNA反馈通路&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://imgur.com/LYeVEo1.png&quot; alt=&quot;img&quot; /&gt;&lt;/p&gt;

&lt;p&gt;最有Mello在演讲中介绍了RNA同染色质的相互作用。&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;In the active conformation the regulatory region of the gene, called the promoter, is free of nucleosomes and is shown bound by the RNA-polymerase complex, (the complex that produces messenger RNAs and the subject of this year’s Chemistry prize). &lt;q&gt;In the ‘silent’ region a different kind of polymerase activity is recruited. Instead of producing mRNA, this hypothetical polymerase produces transcripts that enter an RNAi-like silencing pathway. &lt;/q&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3 id=&quot;单词本&quot;&gt;单词本&lt;/h3&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;aptly&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;恰当的&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;tremendous&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;非常的，了不起的&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;spectacular&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;壮观&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;contemplate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;思量&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;inflation&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;膨胀&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;stunning&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;令人惊叹&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;speculating&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;猜测&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;nematode&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;线虫&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;lariat&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;套索&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;snare&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;圈套&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;inflate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;使充气，使膨胀&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;hyphae&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;菌丝&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;interwine&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;缠绕在一起&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;staircage&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;楼梯&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;segregation&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;种间隔离&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;postulate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;假设&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;wrap&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;包裹&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;polymenzation&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;聚合物&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;elaborate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;精心，详细制定&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;exemplify&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;例证&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;glowing&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;发光&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;exclusively&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;仅仅，只，独占&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;provocative&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;挑衅&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;metazoan&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;后生动物&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;descendant&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;后人&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;sophistication&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;诡辩&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;flawed&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;缺陷&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;defective&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;有缺陷的&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;gloss&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;注释&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;ingestion&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;摄入&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;apparatus&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;仪器&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;tackle&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;抓住&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;lethality&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;杀伤力&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;viable&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;可行的&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;vexing&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;令人烦恼的&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;endogenous&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;内源性&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;&lt;em&gt;Neurospora&lt;/em&gt;&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;链孢霉&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;fission yeast&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;裂殖酵母&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;digress&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;离题&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;deficient&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;匮乏&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;identical&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;相同的&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;precursor&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;先导&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;envisioned&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;设想&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;intact&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;完整无缺&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;polycomb&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;多梳&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;virtue of&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;凭借&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;surveillance&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;监控&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;nascent&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;初期&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;&lt;strong&gt;2.Gene Silencing by Double-Stranded RNA(Nobel Lecture)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Fire的演讲围绕着线虫的生物学试验来写的。比Mello的更侧重于某些人做了些什么。很严谨，把能列出的合作者都列在了slides上。
我觉得比Mello的有意思。尤其是他在演讲中提到了一些science/life-lesson说的很逗：&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;The science/life-lesson that one can draw from this is &lt;q&gt;if you can do the experiment the way that seems most likely to be effective, do it just that way&lt;/q&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;A subsequent observation from Sam Driver and Craig Mello, yields the lesson &lt;q&gt;if you can?t do the experiment the way that seems most likely to be effective, still do it&lt;/q&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;The lesson here, if you?re a postdoc or perhaps a graduate student, is to do experiments that your advisor would never condone or suggest.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;在最后Fire也提到了RNAi在非植物界中的生理过程中扮演的角色究竟是什么还不清楚。如何在更多的动物（高等动物，人）中运用这种技术来治疗疾病也要有很漫长的路要走。&lt;/p&gt;

&lt;p&gt;时至今日，我再回顾这个2006年的技术时不得不感叹生物领域的技术淘汰的真快，十年后，现在最火的是基因编辑（CRISPR/Cas9），RNAi终究还是停留在实验室里的工具。&lt;/p&gt;

&lt;p&gt;CRISPR/Cas9 今后将会如何呢？拭目以待。&lt;/p&gt;

&lt;p&gt;补充一个：&lt;a href=&quot;https://www.zhihu.com/question/31136565&quot;&gt;如何看待RNAi疗法？&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;著作权归作者所有。
商业转载请联系作者获得授权，非商业转载请注明出处。
作者：化十
链接：https://www.zhihu.com/question/31136565/answer/56390149
来源：知乎&lt;/p&gt;

  &lt;p&gt;RNAi和ASO领域目前最好的公司是位于Boston的Alnylam，以及位于Carlsbad的ISIS；目前alnylam最接近FDA批准的药物是利用LNP递送siRNA治疗TTR Amyloidosis (FAP) (临床三期，目前业界对他的结果相当乐观，可能就在年内批准）； ISIS有自己的核心ASO技术，有一个药物于2013年被批准，治疗hypercholesteromia，还有很多在2/3期临床。两个公司的pipeline里都有多个药物在未来3-5年有批准的可能。但是目前RNAi或ASO的大问题是只能做liver delivery，其他组织都不太成功。RNAi治疗癌症我觉得potency是一个问题，毕竟只是transient knockdown。RNAi刚出来的时候受到的追捧并不比今天的CRISPER/Cas9少，大家都觉得太牛逼；然而在发展的过程中出现了很多挫败，包括big pharma 的撤退等，因此目前该领域都是相对的小公司在develop。幸运的是过去2-3年里有明显的复苏迹象。我们如果再从历史记录看，这种过山车式的pattern也可以从之前的virus gene therapy的发展过程中看到。从这点来讲，我始终对CRISPER/Cas9保持一个谨慎乐观的态度：说到脱靶效应，CRISPER/CAS9面临的问题更多，临床转化的问题比RNAi更复杂。我个人判断RNAi在未来十年将有多个成药的例子（bottom line），但是能有多成功（upper limit），不太好说。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;比较搞笑的是我看得这个版本的paper已经在杂志网站下架了，因为侵权，Fire并没有授权Cell Death and Differentiation 这个期刊来刊载他的演讲。这个期刊的文章中压缩了Fire的slides内容（少了几页）。
我已经不知道当时是谁（任课老师or同学）给我发的文献了，这篇绝版文献也找不到了，最后发张照片纪念一下。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/5U0z0Zp.jpg&quot; alt=&quot;Imgur&quot; /&gt;&lt;/p&gt;

&lt;p&gt;单词表过长，我在看这篇文献的时候头脑空白，所有一看不能想起意思的词都标注了出来。&lt;/p&gt;

&lt;h3 id=&quot;单词本-1&quot;&gt;单词本&lt;/h3&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;disclaimer&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;免责声明书&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;rod&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;杆&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;intriguingly&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;有取的事&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;virulent&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;剧毒的&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;nasty&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;严重的&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;preliminary&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;初步的&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;pathogen&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;病原体，病菌&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;infection&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;传染&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;inject&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;注射&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;interferon&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;干扰素&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;innate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;天生的&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;fortuitous&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;偶然发生的&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;bellwether&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;领导者&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;albeit&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;虽然&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;disseminate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;散布，传播&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;accolade&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;嘉奖&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;vehement&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;热烈&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;frustration&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;挫折&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;pierce&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;刺入&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;cuticle&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;外皮&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;manipulate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;操作&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;enticing&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;诱人的，迷人的&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;aberrant&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;异常的&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;disruption&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;中断&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;explicit&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;明确的&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;construct&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;结构&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;propensity&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;偏爱&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;dampened&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;抑制，控制，减弱&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;accentuate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;强调&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;tapestry&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;织锦，挂毯&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;concerted nature&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;协调一致性&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;antisense occlusion&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;反义阻断&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;contaminant&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;污染物&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;fortuitous&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;偶然&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;cognate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;同源&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;sludge&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;泥浆&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;concocted&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;调制&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;far-fetched&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;牵强的&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;ingredient&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;组成部分，要素，因素&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;twitching&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;颤搐&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;agarose gel&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;琼脂糖凝胶&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;deliberately&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;故意的&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;smear&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;涂抹，模糊不清&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;potent&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;有效的&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;tenable&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;守得住，合理的&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;artistry&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;技艺&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;sundry&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;各式各样&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;homeostasis&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;动态平衡&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;&lt;em&gt;in situ&lt;/em&gt;&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;原位&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;accentuating&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;强调&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;condone&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;容忍&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;deliberate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;故意的，权衡，熟虑&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;soaking&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;浸泡&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;facilitate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;促进&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;Trypanosome&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;锥虫&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;parasite&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;寄生虫&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;conspicuously&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;显著的&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;intensively&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;集中地&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;cadre&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;干部，骨架&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;sake&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;缘故&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;menace&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;威胁，恐吓&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;subvert&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;颠覆&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;attenuate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;变细，减弱&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;apparatus&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;装置&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;circumvent&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;围绕&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;grasp&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;控制力&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;intricate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;错综复杂&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;elucidating&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;阐明&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;plethora&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;过多，过剩&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;abrogate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;废除&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;pristine&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;纯朴的&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;reassuring&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;使安心&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;hindsight&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;后见之明&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;recapitulating&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;总结，摘要&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;catchy&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;迷人的，易记的&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;incorporate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;组成，包含，吸收&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;intrinsic&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;固有的，内在的&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;termini&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;目的地，界标&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;repertoire&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;指令表&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;presume&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;假定&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;diligently&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;勤奋的&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;deviation&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;背离&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;self-inflicted&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;自己造成的&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;phosphate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;磷酸盐&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;surveillance&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;监控&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;remedy&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;疗法&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;hitch-hiking&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;免费搭乘他人之车&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;permeate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;弥漫&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;choreograph&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;设计舞蹈动作&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;hone&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;磨光&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;conceivable&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;可想到的&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;aggregate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;合计，总数&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;thermodynamic&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;热力学&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;eliminate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;排除&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;viable&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;能养活的，可生产的&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;portfolio&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;投资组合&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;negotiating&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;谈判，交涉&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;thicket&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;错综复杂&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;trepidation&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;害怕&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;endeavor&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;尝试努力&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;dysregulation&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;失调&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;consortium&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;财团，组织&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;substantial&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;大量的&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;inadvertent&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;无心的&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;omission&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;省略&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
</description>
        <pubDate>Sat, 20 Feb 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2016/02/20/RNAi-world.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2016/02/20/RNAi-world.html</guid>
        
        <category>RNAi</category>
        
        <category>诺贝尔演讲</category>
        
        
        <category>论文笔记</category>
        
      </item>
    
      <item>
        <title>贝叶斯理论在21世纪的作用，统计功效与样本大小</title>
        <description>&lt;p&gt;今天看了两个短篇，大神Efron给science在2年半前写的贝叶斯理论在21世纪的作用&lt;q&gt;Bayes’ Theorem in the 21st Century&lt;/q&gt;；
Nature Methods有个系列讲统计显著性points of significance之中的&lt;q&gt;Power and sample size&lt;/q&gt;。&lt;/p&gt;

&lt;p&gt;重新读完之后感到，统计和生物是密不可分的，做生物不懂统计，得到的结果就失去了指导实践的意义。&lt;/p&gt;

&lt;p&gt;Efron大神的短篇主要讲贝叶斯是非常有用滴，从1763年至今，越来越有用，在上世纪50年代我们有了&lt;strong&gt;经验贝叶斯&lt;/strong&gt;这个工具。
该工具在新世纪的大数据统计中焕发光彩。贝叶斯统计让Nate Silver在2012年美国总统大选中百分百预测了50个州的结果。
现在我们还可以结合FDR来用这个工具。当然，贝叶斯也不是万能的，我们总要有其他工具来检测我们的贝叶斯结果是否合理，就是频率理论。
Efron的文章中用词具有多样性，写作时应该学习。&lt;/p&gt;

&lt;h3 id=&quot;关于显著程度&quot;&gt;关于显著程度&lt;/h3&gt;

&lt;p&gt;我们总是说某个假设检验结果显著，那么究竟怎么样才叫真正的显著呢？起码type I error 在0.05，统计功效（整体1减去type II error）在0.80。&lt;/p&gt;

&lt;p&gt;如下图中的b所示，即便功效达到0.8，也有可能出现阳性预测率仅仅为0.64的情况。这是因为只有10%的假设是有效的（not null）&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/n291Ycl.png&quot; alt=&quot;Imgur&quot; /&gt;&lt;/p&gt;

&lt;p&gt;用效应值\(d=(\mu_A-\mu_0)/\sigma\)可以来度量零假设分布和备择假设分布之间的差异。&lt;/p&gt;

&lt;p&gt;理想情况下，我们希望在type I error 一定的情况下，power越大越好。
达到这个目的有两种方式，一种是用多样本集（参见下图a）， 另一种是增大效应值d（下图b）。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/J7mwLsX.png&quot; alt=&quot;Imgur&quot; /&gt;&lt;/p&gt;

&lt;p&gt;所以做试验要有尽量多的生物学重复，会适当减小统计功效太小的问题。&lt;/p&gt;

&lt;h3 id=&quot;单词本&quot;&gt;单词本&lt;/h3&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;controversial&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;有争议的&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;oxymoron&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;矛盾形容法，逆喻&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;triumph&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;巨大胜利&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;sonogram&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;超声波图&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;identical&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;全等的&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;fraternal&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;兄弟的&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;identical twins&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;同卵双胞胎&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;fraternal twins&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;异卵双胞胎&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;odds&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;几率&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;pundit&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;评论员&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;impeccable&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;无可挑剔&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;violator&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;违犯者&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;parlance&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;腔调，说法，用语&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;fueled&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;激起&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;repetition&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;重复&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;dispute&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;辩论&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;interim&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;暂时的&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;corollary&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;必然结果&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;firmly&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;坚固的&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;bust&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;破产&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;fire hose&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;灭火水龙带&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;disparate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;完全不同的&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;intensely&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;强烈的&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;jujitsu&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;柔术，柔道的旧称&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;coined&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;创造&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;statistical power&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;统计功效&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;bleak&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;暗淡的，没指望的&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;fiscal&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;财政&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;rigor&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;严格的&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;dire&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;可怕的&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;unethical&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;不道德的&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;postulate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;假定&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;noncentrality parameter&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;非中心参数&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;reassess&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;再评估&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;effect size&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;效应值&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
</description>
        <pubDate>Fri, 19 Feb 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/%E7%BB%9F%E8%AE%A1%E5%8E%9F%E7%90%86/2016/02/19/bayes-theorem-in-the-21st-century-power-and-sample-size.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/%E7%BB%9F%E8%AE%A1%E5%8E%9F%E7%90%86/2016/02/19/bayes-theorem-in-the-21st-century-power-and-sample-size.html</guid>
        
        <category>贝叶斯</category>
        
        <category>统计功效</category>
        
        <category>Bradley Efron</category>
        
        
        <category>论文笔记</category>
        
        <category>统计原理</category>
        
      </item>
    
      <item>
        <title>用单细胞基因组测序来检测人脑中体细胞拷贝数变异</title>
        <description>&lt;p&gt;Single-Cell, Genome-wide Sequencing Identifies Clonal Somatic Copy-Number Variation in the Human Brain
这篇文章是讲单细胞CNV比较早的一篇。我都忘记为什么要看它了。&lt;/p&gt;

&lt;p&gt;主要内容用半侧巨脑畸形和正常人的脑细胞，以及淋巴母细胞等细胞来做单细胞全基因组分析，看看扩增方法的噪声对CNV的影响。&lt;/p&gt;

&lt;p&gt;单细胞扩增用的是MDA方法。还有一种单细胞处理方法是基于PCR的GenomePlex。&lt;/p&gt;

&lt;p&gt;现有研究表明再神经细胞基因组中体细胞非整倍体比较罕见，但是体细胞CNV并不罕见。
文章中说明clonal somatic CNV在正常脑细胞和半侧巨脑畸形中都存在。
这个clonal somatic CNV的意思我不太明白，按文章的意思应该是一个细胞群体中都有的somatic CNV。&lt;/p&gt;

&lt;p&gt;文章中有意思的一个地方是用microarray里的median absolute pairwise difference(MAPD)方法来比较拷贝数的噪声大小。
计算连续两个邻居bin上的log2 CN的绝对差异，并对所有bin取中位数，用这个数字代表噪声大小的分值。
计算结果说明MDA方法的噪声要比GenomePlex方法的大。&lt;/p&gt;

&lt;p&gt;在后续研究中，他们只用MAPD&amp;lt;0.45的样本。单细胞采样会对测序结果产生较大影响，对单细胞低覆盖度的CNV分析可以用来评估样本质量。&lt;/p&gt;

&lt;p&gt;样本之间的比较没什么有趣的东西，就不再赘述。&lt;/p&gt;

&lt;h3 id=&quot;单词本&quot;&gt;单词本&lt;/h3&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;neuropsychiatric&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;神经精神&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;pathological&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;病理&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;euploid&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;整倍体&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;hemimegalencephaly（HMG）&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;半侧巨脑畸形&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;dysfunction&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;机能障碍&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;lymphoblast&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;淋巴母细胞&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;manifestation&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;表明，表示&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;prenatal&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;胎儿&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;malformation&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;畸形&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;defect&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;缺陷&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;epilepsy&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;癫痫&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;aneuploidy&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;非整倍体&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;tetrasomy&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;四体型，四倍体&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;magnitude&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;重要&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;compensate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;补偿&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;fetus&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;胎儿&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;postmortem&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;死后&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;integrity&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;正直&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;intersample&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;采样&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;discrete&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;分离&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;integral&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;完整的&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;equivocal&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;模棱两可，意义不明&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;freeze-thaw&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;冷冻-融化&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;dicentric&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;双着丝粒&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;distal&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;末梢的&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;unperturbed&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;未扰动&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;query&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;质疑&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;bona fide&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;真实的&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;autism&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;孤独症&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;neuropsychiatric&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;神经精神疾病&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;nonetheless&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;但是，虽然如此&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;suspect&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;猜疑&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;intractable&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;难对付的&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;assay&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;测定&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
</description>
        <pubDate>Thu, 18 Feb 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2016/02/18/single-cell-genome-wide-sequencing-identifies-colonal-somatic-copy-number-variation-in-the-human-brain.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2016/02/18/single-cell-genome-wide-sequencing-identifies-colonal-somatic-copy-number-variation-in-the-human-brain.html</guid>
        
        <category>单细胞</category>
        
        <category>拷贝数变异</category>
        
        
        <category>论文笔记</category>
        
      </item>
    
      <item>
        <title>协同过滤</title>
        <description>&lt;p&gt;回顾一下看过的关于协同过滤，推荐系统的论文。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.Application of Dimensionality Reduction in Recommender System – A Case Study&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Knowledge Discovery in Databases(KDD) 中文是在已有数据中找寻知识的技术。&lt;/p&gt;

&lt;p&gt;这个可以算是SVD方法做数据降维，协同过滤的一篇非常早的方法。看起来非常简单。&lt;/p&gt;

&lt;p&gt;一般我们做推荐产品都是基于一个群体的，这个群体是个sub-group，
整个电商网站的用户会有很多，但是用户之间不一定都有很强的关系。
所以就需要寻找某个用户的邻近用户，
通过这些和他（她）很相似的邻近用户的一些行为来推测他（她）的行为（购买行为，喜欢购买的商品）。
邻居不一定是对称数量的，也就是A有5个邻居，而A的邻居B可能有20个邻居。&lt;/p&gt;

&lt;p&gt;推荐系统做的最基本的两个事情：1.预测用户A对某个产品的喜爱程度；2.为用户A推荐一系列产品（用户A可能会购买的）。
在研究中遇到的主要问题：1.稀疏矩阵；2.大数据，计算慢；3.潜在同义词（商品）不好关联在一起。
关于稀疏矩阵在多说两句：有时Pearson nearest neighbor algorithm无法对某些用户推荐很多商品，这时因为存在reduced coverage问题。
如果相似度阈值取得较高，那么用户的邻居空间就会很小，所以在很小的邻居空间里可能就没有很多商品可以用来进行预测和推荐。&lt;/p&gt;

&lt;p&gt;在这里本文作者用SVD方法主要解决了两个问题：1.找寻用户同产品间的潜在关系，使得我们可以计算某个用户对某个产品的喜爱程度。&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;降维，用低维空间代替高维“用户-产品”空间，在低维空间中计算邻居。&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;这个“用户-产品”矩阵\(R\)是\(i\)个用户对\(j\)个产品的打分。&lt;/p&gt;

&lt;p&gt;为了预测，首先要对稀疏矩阵进行填充数值：就是把矩阵里的NA，填成相关的数值。
有两种方法：1.填充用户的打分平均值；2.填充商品的平均得分。试验结果表明用后者较好。
接下来要对数据进行标准化，也有两个可行方案：1.转换成&lt;a href=&quot;https://en.wikipedia.org/wiki/Standard_score&quot;&gt;\(z-score\)&lt;/a&gt;；2.对于每个数值减去用户的平均值。试验结果表明用后者较好。&lt;/p&gt;

\[R_{norm}=R+NPR\]

&lt;p&gt;其中NPR是个需要自己填充的矩阵，提供简单的非个性化推荐。&lt;/p&gt;

&lt;p&gt;然后就进行矩阵分解得到低秩的近似矩阵：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;用SVD分解，获得\(U\)，\(S\)，\(V\)&lt;/li&gt;
  &lt;li&gt;将\(S\)降维到\(k\)维&lt;/li&gt;
  &lt;li&gt;计算\(S_{k}^{1/2}\)，也就是\(S_{k}\)的平方根&lt;/li&gt;
  &lt;li&gt;计算resultant matrices(结式矩阵)：\(U_{k}S_{k}^{1/2}\)和\(S_{k}^{1/2}V_{k}^{&apos;}\)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;对于任意一个用户c以及产品p，可以得到预测的得分为：&lt;/p&gt;

\[C_{p_{pred}}=\bar{C}+U_{k}*\sqrt{S_k}^{&apos;}*(c)*\sqrt{S_k}*V_{k}^{&apos;}(P)\]

&lt;p&gt;就写这么多，这篇文章后面有例子，一步一步写得很清楚，可以按照例子计算一次，基本方法就会了。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.A Linear Ensemble of Individual and Blended Models for Music Rating Prediction&lt;/strong&gt;
&lt;strong&gt;3.Novel Models and Ensemble Techniques to Discriminate Favorite Items from Unrated Ones for Personalized Music Recommendation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;这2篇是KDD比较经典的一次比赛，内容就是协同过滤，预测用户对雅虎音乐的打分。做协同过滤最好都看看这篇文章，计算机和数学两方面写的都不错。
台大的多人小组差不多把能用上的方法都用了，人多力量大，这篇文章算是给大家讲解了各种方法解决这类问题的一个思路。&lt;/p&gt;

&lt;p&gt;他们所用到的方法有（第一个task中）：&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Matrix Factorization&lt;/li&gt;
  &lt;li&gt;Restricted Boltzmann Machines&lt;/li&gt;
  &lt;li&gt;kNN&lt;/li&gt;
  &lt;li&gt;Probabilistic Latent Semantic Analysis&lt;/li&gt;
  &lt;li&gt;Probabilistic PCA&lt;/li&gt;
  &lt;li&gt;Supervised Regression&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;4.Hybrid Recommendation Models for Binary User Preference Prediction Problem&lt;/strong&gt;
这篇还是KDD比赛的，比较了多种neighborhood-based model，latent factor model，content-based model加上SVD分解降维后的结果。
方法要比台大朴素，但效果也很不错。&lt;/p&gt;

&lt;p&gt;另外之前说过的&lt;a href=&quot;http://yulijia.net/cn/机器学习/2012/04/06/model-ensemble.html&quot;&gt;模型融合&lt;/a&gt;也是看了这几篇KDD文章来慢慢了解的。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5.Factorization Meets the Neighborhood: a Multifaceted Collaborative Filtering Model&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;这篇文章是在看文章4的时候提到的，主要就是看里面的公式（5） 潜在因子（latent factor）模型的公式。&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://code.google.com/archive/p/recsyscode/&quot;&gt;recsyscode&lt;/a&gt; 里对文章中的模型有很好的代码实现。&lt;/p&gt;

&lt;h3 id=&quot;单词本&quot;&gt;单词本&lt;/h3&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;unsubtle&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;咄咄逼人&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;depict&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;描绘&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;latent&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;潜在&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;semantic&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;语义&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;leverage&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;利用，运用，平衡&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;delineate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;划定&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;sparsity&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;稀疏&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;alleviate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;减轻缓和&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;retrieval&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;检索&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;syntactic&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;语法，句法&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;norm&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;范数&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;taxonomy&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;分类&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;blend&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;混合&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;stochastic&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;随机&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
</description>
        <pubDate>Wed, 17 Feb 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2016/02/17/collaborative-filtering-model.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2016/02/17/collaborative-filtering-model.html</guid>
        
        <category>协同过滤</category>
        
        <category>推荐系统</category>
        
        <category>KDD</category>
        
        <category>SVD</category>
        
        <category>LSI</category>
        
        
        <category>论文笔记</category>
        
      </item>
    
      <item>
        <title>p value 与q value</title>
        <description>&lt;p&gt;最近要重读一批之前读过的文章，会大量更新笔记。&lt;/p&gt;

&lt;p&gt;首先，我就又读了一遍Storey 和 Tibshirani 写的Statistical significance for genomewide studies。
纸质版被满篇标注了重点。在这里仅仅写一下两者的异同，推导请具体看文章附录。&lt;/p&gt;

&lt;p&gt;文章是用q value度量FDR对p value 做校正。q value可以说是FDR的定量扩展。&lt;/p&gt;

&lt;h3 id=&quot;fdr与false-positive-rate的区别&quot;&gt;FDR与false positive rate的区别&lt;/h3&gt;

&lt;p&gt;false positive rate 是符合零模型的特征被认为显著的比率。&lt;/p&gt;

&lt;p&gt;FDR是显著的特征属于零模型的比率。&lt;/p&gt;

&lt;p&gt;例如：false positive rate = 5% 意思是平均5%的零模型特征在研究中会被判别成显著的。
FDR=5%意思是在所有显著的特征中，平均存在5%的特征是真正属于零模型的。&lt;/p&gt;

&lt;h3 id=&quot;familywise-error-rate&quot;&gt;familywise error rate&lt;/h3&gt;

&lt;p&gt;In statistics, familywise error rate (FWER) is the probability of making one or more false discoveries, 
or type I errors, among all the hypotheses when performing multiple hypotheses tests.&lt;/p&gt;

&lt;p&gt;中文翻译成“总体错误推断率”比较好。&lt;/p&gt;

&lt;h3 id=&quot;p-value-与-q-value&quot;&gt;p value 与 q value&lt;/h3&gt;

&lt;p&gt;The p value is an individual measure of the false positive rate while the q value is an individual measurement of the false discovery rate.&lt;/p&gt;

&lt;p&gt;比较重要的一点是，p value 如果完全响应零假设（不拒绝），那么p value的分布应该服从均匀分布。解释可以参考:&lt;a href=&quot;http://stats.stackexchange.com/questions/10613/why-are-p-values-uniformly-distributed-under-the-null-hypothesis&quot;&gt;http://stats.stackexchange.com/questions/10613/why-are-p-values-uniformly-distributed-under-the-null-hypothesis&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;q value &amp;lt;= 0.05产生160个表达量具有显著差异的基因，这意味着有大约8个（160*0.05）被称作具有显著差异的基因是假阳的。&lt;/p&gt;

&lt;p&gt;对于p value和q value的普遍错误解释是，它们代表假阳性的概率。
例如，一个基因有q value = 0.013，这并不是说它有0.013的概率为假阳的，
0.013是说&lt;q&gt;当我们认为这个基因是假设检验中的一个显著的结果时，而它是一个假阳性结果&lt;/q&gt;，这个事件发生的&lt;strong&gt;预计比率（期望比率）&lt;/strong&gt;为0.013。&lt;/p&gt;

&lt;h3 id=&quot;单词本&quot;&gt;单词本&lt;/h3&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;stricter&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;严格&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;surge&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;浪涌&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;underway&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;进行&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;in favor of&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;支持，有利于&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;hexamer&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;六聚体&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;dissection&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;解剖&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;haploid&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;单倍体&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;progeny&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;后代&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;legitimate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;合法&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;obfuscate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;混淆&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;intuitively&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;直观&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;intermediate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;中间的&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;liberal&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;自由派，自由主义&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;rigorous&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;严格的&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;incurre&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;发生&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;concrete&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;实际，具体&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;exploiting&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;利用&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;conservative&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;保守&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;calibrate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;较准&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;arbitrary&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;随意&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;implicit&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;隐含&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
</description>
        <pubDate>Tue, 16 Feb 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2016/02/16/Statistical-significance-for-genomewide-studies.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2016/02/16/Statistical-significance-for-genomewide-studies.html</guid>
        
        <category>q value</category>
        
        <category>p value</category>
        
        
        <category>论文笔记</category>
        
      </item>
    
      <item>
        <title>关于蛋白质、RNA和癌症的三篇文章</title>
        <description>&lt;p&gt;读了三篇PNNL某实验室的文章，PNNL感觉都是做蛋白质。
由于是初次接触蛋白质，所以有很多地方都理解的不好，这篇博客主要记录一下大致理解的地方。&lt;/p&gt;

&lt;h3 id=&quot;comprehensive-quantitative-analysis-of-ovarian-and-breast-cancer-tumor-peptidomes&quot;&gt;Comprehensive Quantitative Analysis of Ovarian and Breast Cancer Tumor Peptidomes&lt;/h3&gt;

&lt;p&gt;这篇文章是定量分析肿瘤里的肽组学。由于对于肽链，小整体蛋白（多肽组学）经常被评估为不适合用于研究。&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;The study of the low molecular weight collection of bioreactive peptides, protein degradation products, and small intact proteins (i.e., peptidomics) is often criticized as being less sensitive, less reproducible, and as vulnerable to a lack of controls in sample collection and preparation&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;文章中用定量多肽组学平台和自己开发的分析工具研究了人类卵巢癌和乳腺癌异种移植的肿瘤样本中多肽进行研究。&lt;/p&gt;

&lt;p&gt;1.bottom-up &lt;sup id=&quot;fnref:1&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:1&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

&lt;p&gt;Bottom-up（自下而上）是一种传统的手段，它将蛋白质的大片段混合物消化/酶解成小片段的肽后再进行分析，是在蛋白质组学的研究中较为广泛使用的一种质谱技术。然而由于选择性剪接、各种蛋白质修饰（例如乙酰化和甲基化）以及内源性蛋白质裂解等复杂机制的存在，使得细胞内产生了复杂的蛋白异构体及种类。Bottom-up无法完整准确地鉴定这些蛋白的特征。&lt;/p&gt;

&lt;p&gt;2.Top-down &lt;sup id=&quot;fnref:1:1&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:1&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

&lt;p&gt;Top-down（自上而下）技术虽可以直接对完整的蛋白——包括翻译后修饰蛋白以及其它一些大片段蛋白测序，然而由于不能将完整蛋白质片段分离技术与串联质谱技术相整合而无法开展大规模的蛋白质组研究。&lt;/p&gt;

&lt;p&gt;文章的研究做法有点像研究RNA，多肽分析也做得是热图，PCA，火山图等。&lt;/p&gt;

&lt;p&gt;同时文章中也发现了个体间多肽的差异，要大于不同组织之间多肽的差异（这个结论在DNA层面也适用，RNA我没仔细做过数据不敢妄下结论）。
也就是聚类的时候每个个体的不同组织部位的数据会聚集到一起，个体和个体相距较远。&lt;/p&gt;

&lt;h3 id=&quot;单词本&quot;&gt;单词本&lt;/h3&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;aberrant&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;异常&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;degradation&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;降解&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;mass spectrometric&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;质谱仪&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;xenograft&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;异种移植&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;postexcision&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;切除后&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;protease&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;蛋白酶&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;conventional&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;传统的、惯例的&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;proteolysis&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;蛋白水解&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;proteasomal&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;蛋白酶体&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;malignant&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;恶性的&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;metallopeptidase&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;金属肽酶&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;collagen&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;胶原蛋白&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;chromatography-tandem&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;色谱串联&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;serum&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;血清&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;plasme&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;血浆&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;invertebrate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;无脊椎的&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;endogenous&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;内源&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;explicit&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;明确的、清楚的&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;repertoire&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;全部节目&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;ischemia&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;失血&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;anesthesia&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;麻醉&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;midline&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;中线&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;vertical&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;垂直&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;incision&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;切口&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;omentum&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;胃系膜&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;resect&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;切除&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;dissect&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;解剖&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;strip&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;条&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;specimen&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;标本&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;cryovials&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;冷冻&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;nitrogen&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;氮气&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;basal&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;基底&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;luminal&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;管腔&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;subcutaneously&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;皮下&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;cryopulverization&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;低温粉碎&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;isotopic&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;同位素&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;extracted ion chromatogram&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;萃取离子色谱法&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;elution&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;洗脱&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;intensity&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;强度&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;kinetics&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;动力学&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;perturbation&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;摄动&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;cold ischemia&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;冷缺血&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;concentration&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;浓度&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;precursor&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;前体&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;propensity&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;倾向&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;chymotrypsin&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;一种肽链内切酶，糜蛋白酶，胰凝乳蛋白酶&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;cytosolic&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;细胞溶质&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;proteolytic&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;蛋白水解&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;h3 id=&quot;the-utility-of-protein-and-mrna-correlation&quot;&gt;The utility of protein and mRNA correlation&lt;/h3&gt;

&lt;p&gt;文章一开头就说本文不在于竭尽可能的罗列前人的工作，而是指出什么样的实验能产生科学有用的结论。&lt;/p&gt;

&lt;p&gt;正片一共就两页，首先说明了从1999年的一个关于mRNA和蛋白质的研究开始，大家发现了转录组表达水平和蛋白质组的含量没有一个很好的定量关系可以解释。
也就是转录组数据不能预测蛋白质组的水平。但是，RNA在蛋白质翻译中肯定起到了作用，例如：microRNA可以调控蛋白质合成。
mRNA和蛋白质得降解速率也大不相同（前者几分钟，后者几个小时甚至几年），并且对于同一个基因来说，其RNA和蛋白质的合成/降解速率也没有联系。
所以我们不能期望发现mRNA和蛋白质之间简单的相关性。&lt;/p&gt;

&lt;p&gt;第二部分就是说如何整合多组学数据，产生深入的新发现。&lt;/p&gt;

&lt;p&gt;随着各种技术的不断发展，多种数据整合是非常重要的。蛋白质可以用来监视磷酸化过程，转录组可以用来说明基因上下调时被哪些转录调控因子所调控。
蛋白质可以决定哪些转录本在哪个时间点可以翻译成蛋白质。整个过程是非常复杂的相互调控。
有研究发现，结肠癌CNA的变化通过反式作用来影响多种蛋白质。这个工作建立起了突变（CNV）同表型的关系。&lt;/p&gt;

&lt;p&gt;最后作者表达了我们需要的是真正的整合组学研究的观念模式，而不仅仅是相关性研究(see Box 1)。&lt;/p&gt;

&lt;p&gt;Box 1. Outstanding questions&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;What is data integration beyond correlation?&lt;/li&gt;
  &lt;li&gt;How do we educate new scientists to appreciate the diversity of -omics measurements?&lt;/li&gt;
  &lt;li&gt;How to determine which -omic data type is best to investigate a hypothesis?&lt;/li&gt;
  &lt;li&gt;When to generate multi-omic data?&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;单词本-1&quot;&gt;单词本&lt;/h3&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;nuanced&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;细微差别&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;disruptive&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;破坏性&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;interrogation&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;审讯&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;elucidate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;阐明&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;succinctly&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;简洁的&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;pervasive&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;普遍&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;oscillation&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;&lt;a href=&quot;http://www.hwjyw.com/jxyd/cybx/200811/t20081104_23265.shtml&quot; title=&quot;振荡和震荡&quot;&gt;振荡&lt;/a&gt;&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;&lt;a href=&quot;http://stats.stackexchange.com/questions/30592/what-is-the-meaning-of-orthogonal-in-validation-testing&quot; title=&quot;orthognal in validation testing&quot;&gt;orthogonally&lt;/a&gt;&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;互不相关&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;utilitarian&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;功利&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;perspective&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;角度&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;phosphorylation&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;磷酸化&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;delineating&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;描述&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;cognate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;同源&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;myriad&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;无数&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;paradigm&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;范式&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;mindeset&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;观念模式，思维倾向&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;h3 id=&quot;analytical-platform-evaluation-for-quantification-of-erg-in-prostate-cancer-using-protein-and-mrna-detection-methods&quot;&gt;Analytical platform evaluation for quantification of ERG in prostate cancer using protein and mRNA detection methods&lt;/h3&gt;

&lt;p&gt;这篇文章是实验检测技术。用PRISM-SRM质谱（不需要抗体）方法来检测前列腺癌症中的ERG蛋白，这种蛋白由于基因融合导致变化，是一个癌基因（原癌）蛋白。&lt;/p&gt;

&lt;p&gt;文章的摘要部分已经把内容讲得很清晰了：本文主旨就是找寻新的前列腺癌症检测靶标以及检测方法。在细胞、组织和直肠指诊尿液沉积物中做实验，
用ELISA, western blog, NanoString和qRT-PCR分别检测蛋白和RNA含量。
结果就是不管是检测ERG转录本产物还是蛋白质产物，在临床诊断和预后分析中都有价值。&lt;/p&gt;

&lt;h3 id=&quot;单词本-2&quot;&gt;单词本&lt;/h3&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;prostate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;前列腺&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;post-DRE&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;直肠指诊&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;sediment&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;沉积物&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;immunosorbent&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;免疫吸附&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;lysate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;裂解液&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;prognostic assays&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;预后分析&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;androgen&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;雄激素&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;Ewing’s sarcoma&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;尤文氏肉瘤&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;indolent&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;缓慢&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;impetus&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;动力&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;epitope&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;抗原决定部位&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;immunohistochemistry&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;免疫组织化学&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;serologic&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;血清学&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;assay&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;试验&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;hemocytometer&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;细胞计数器&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;ailquote&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;整除&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;titrate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;滴定&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;stroma&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;基质&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;spurre&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;鞭策&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;biopsies&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;组织活检&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;Caucasian&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;高加索人，白种人&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;endothelial&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;内皮&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;devoid&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;缺乏&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;mimic，mimicking&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;模仿&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;h3 id=&quot;参考资料&quot;&gt;参考资料&lt;/h3&gt;

&lt;div class=&quot;footnotes&quot; role=&quot;doc-endnotes&quot;&gt;
  &lt;ol&gt;
    &lt;li id=&quot;fn:1&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;&lt;a href=&quot;http://www.cib.ac.cn/xwdt/kjqy/201111/t20111109_3392779.html&quot;&gt;http://www.cib.ac.cn/xwdt/kjqy/201111/t20111109_3392779.html&lt;/a&gt; &lt;a href=&quot;#fnref:1&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt; &lt;a href=&quot;#fnref:1:1&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
  &lt;/ol&gt;
&lt;/div&gt;
</description>
        <pubDate>Tue, 26 Jan 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2016/01/26/protein-RNA-and-cancer-some-works-of-PNNL.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2016/01/26/protein-RNA-and-cancer-some-works-of-PNNL.html</guid>
        
        <category>蛋白质</category>
        
        <category>RNA</category>
        
        
        <category>论文笔记</category>
        
      </item>
    
      <item>
        <title>小王子动画电影</title>
        <description>&lt;p&gt;由于断网没法工作，有时间看了去年上映的《小王子》电影动画。&lt;/p&gt;

&lt;p&gt;记得厄休拉·勒奎恩(Ursula Le Guin)看了宮﨑吾朗制作的动画电影《地海传奇》时评价&lt;q&gt;&lt;a href=&quot;http://www.ursulakleguin.com/GedoSenkiResponse.html&quot;&gt;The moral sense of the books becomes confused in the film&lt;/a&gt;&lt;/q&gt;
来表达对电影改编的不满。&lt;/p&gt;

&lt;p&gt;我看了小王子后，也想说，这是一个套着《小王子》原著外皮的改变故事，导演和编剧在故事里想融入：对成人社会中一些迂腐行为的鄙视；对于家长为了培养小孩成为精英而导致孩子学业繁重没有童年的批评；对于亲情友情的重新审视；从女孩子的视角看这个世界。&lt;/p&gt;

&lt;p&gt;我只想说，上面随便一点，有个好的思路都能作出一部好动画作品，可惜都揉杂在一起，还非要贴小王子的故事，讲得一点都没有意思。
总之，电影后半段找长大的小王子开始，一点都不值得一看。小王子故事里的精髓在动画中一点都没有显现出来。&lt;/p&gt;

</description>
        <pubDate>Sat, 23 Jan 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E5%BD%B1%E8%A7%86%E8%AF%84%E8%AE%BA/2016/01/23/The-Little-Prince-Movie.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E5%BD%B1%E8%A7%86%E8%AF%84%E8%AE%BA/2016/01/23/The-Little-Prince-Movie.html</guid>
        
        <category>小王子</category>
        
        <category>动画</category>
        
        
        <category>影视评论</category>
        
      </item>
    
      <item>
        <title>git commit 编写风格模板</title>
        <description>&lt;p&gt;最近看了Ruan YiFeng写的&lt;a href=&quot;http://www.ruanyifeng.com/blog/2016/01/commit_message_change_log.html&quot;&gt;Commit message 和 Change log 编写指南&lt;/a&gt;。
了解了如何写规范的commit message。&lt;/p&gt;

&lt;ul id=&quot;markdown-toc&quot;&gt;
  &lt;li&gt;&lt;a href=&quot;#编写规范&quot; id=&quot;markdown-toc-编写规范&quot;&gt;编写规范&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#修改git-message默认编辑器&quot; id=&quot;markdown-toc-修改git-message默认编辑器&quot;&gt;修改git message默认编辑器&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#使用模板&quot; id=&quot;markdown-toc-使用模板&quot;&gt;使用模板&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#写博客的commit-message应该怎么写&quot; id=&quot;markdown-toc-写博客的commit-message应该怎么写&quot;&gt;写博客的commit message应该怎么写？&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;编写规范&quot;&gt;编写规范&lt;/h3&gt;

&lt;p&gt;先简要记录一下编写规范，这部分内容可以直接看Ruan YiFeng的博客，要比我写的详细。
编写规范里基本所有内容都来自于Ruan YiFeng的博客，这是我第一次，也是最后一次，在自己的博客里大规模的搬运其他博客的内容。&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&amp;lt;type&amp;gt;(&amp;lt;scope&amp;gt;): &amp;lt;subject&amp;gt;
// 空一行
&amp;lt;body&amp;gt;
// 空一行
&amp;lt;footer&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;commit message包含三个部分，header, body和footer，其中header必须有，body和footer可以按情况省略。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;type 字段&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;feat：新功能（feature）&lt;/li&gt;
  &lt;li&gt;fix：修补bug&lt;/li&gt;
  &lt;li&gt;docs：文档（documentation）&lt;/li&gt;
  &lt;li&gt;style： 格式（不影响代码运行的变动）&lt;/li&gt;
  &lt;li&gt;refactor：重构（即不是新增功能，也不是修改bug的代码变动）&lt;/li&gt;
  &lt;li&gt;test：增加测试&lt;/li&gt;
  &lt;li&gt;chore：构建过程或辅助工具的变动&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;scope用于说明 commit 影响的范围，比如数据层、控制层、视图层等等，视项目不同而不同。&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;也就是写用户会感觉到改变在哪个地方。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;subject是 commit 目的的简短描述，不超过50个字符&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;以动词开头，使用第一人称现在时，比如change，而不是changed或changes&lt;/li&gt;
  &lt;li&gt;第一个字母小写&lt;/li&gt;
  &lt;li&gt;结尾不加句号（.）&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Body 部分是对本次 commit 的详细描述，可以分成多行&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;使用第一人称现在时，比如使用change而不是changed或changes。&lt;/li&gt;
  &lt;li&gt;应该说明代码变动的动机，以及与以前行为的对比。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Footer&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;如果当前代码与上一个版本不兼容，则 Footer 部分以BREAKING CHANGE开头，后面是对变动的描述、以及变动理由和迁移方法。&lt;/li&gt;
  &lt;li&gt;关闭 Issue&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;另外，也可以包括JIRA issue references或者其他actions。&lt;/p&gt;

&lt;p&gt;&lt;q&gt;&lt;strong&gt;Revert&lt;/strong&gt;&lt;/q&gt;&lt;/p&gt;

&lt;p&gt;这是一种特殊情况，为了撤销前面的操作。&lt;/p&gt;

&lt;p&gt;如果当前 commit 用于撤销以前的 commit，则必须以revert:开头，后面跟着被撤销 Commit 的 Header。&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;revert: feat(pencil): add &apos;graphiteWidth&apos; option

This reverts commit 667ecc1654a317a13331b17617d973392f415f02.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Body部分的格式是固定的，必须写成&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;This reverts commit &amp;amp;lt;hash&amp;gt;.&lt;/code&gt;，其中的&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;hash&lt;/code&gt;是被撤销 commit 的 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SHA 标识符&lt;/code&gt;。
如果当前 commit 与被撤销的 commit，在同一个发布（release）里面，
那么它们都不会出现在 Change log 里面。如果两者在不同的发布，那么当前 commit，会出现在 Change log 的Reverts小标题下面。&lt;/p&gt;

&lt;p&gt;https://github.com/yulijia/cn/commit/e36d3ee657107623ff3fffc4bf8aec4b26a9bac0&lt;/p&gt;

&lt;h3 id=&quot;修改git-message默认编辑器&quot;&gt;修改git message默认编辑器&lt;/h3&gt;

&lt;p&gt;说了这么多写作规范，如果有个模板可以直接拷贝，是再好不过的。&lt;/p&gt;

&lt;p&gt;使用模板之前，先对git message的默认编辑器做个修改，默认的是&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;nano&lt;/code&gt;，但这个软件我不会用。&lt;/p&gt;

&lt;p&gt;用下面的命令，可以把默认编辑器改成&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;vim&lt;/code&gt;：&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;git config core.editor &quot;vim&quot;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;使用模板&quot;&gt;使用模板&lt;/h3&gt;

&lt;p&gt;我采用了&lt;a href=&quot;https://gist.github.com/Linell/bd8100c4e04348c7966d&quot;&gt;Linell编写的模板&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;安装方式如下：&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;curl https://gist.githubusercontent.com/Linell/bd8100c4e04348c7966d/raw/84c0ea6e0f0a1431d406be6b7bb6e136949090cd/.git-commit-template.txt &amp;gt;&amp;gt; ~/.git-commit-template.txt
git config --global commit.template ~/.git-commit-template.txt
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;另外，在这里也提供一个&lt;a href=&quot;https://gist.github.com/yulijia/fe2522fe138b6ed41ff4&quot;&gt;中文的模板&lt;/a&gt;&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;curl https://gist.githubusercontent.com/yulijia/fe2522fe138b6ed41ff4/raw/5fa0007d1863f70cf4631f2dc1513c8676cd4ab8/.git-commit-template.txt &amp;gt;&amp;gt; ~/.git-commit-template.txt
git config --global commit.template ~/.git-commit-template.txt
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;实际使用截图如下：&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/LMDCXdN.png&quot; alt=&quot;Imgur&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;写博客的commit-message应该怎么写&quot;&gt;写博客的commit message应该怎么写？&lt;/h3&gt;

&lt;p&gt;&lt;u&gt;这部分就是自娱自乐了&lt;/u&gt;。查看了一下自己写博客提交的message，基本分为四类：1.提交一篇/多篇新内容；2.改错别字；3.修改/更新内容；4.修改/更新YAML说明；5.增加新页面。&lt;/p&gt;

&lt;p&gt;根据现有的git commit message写作规范，编写了自己的博客提交message规范。&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&amp;lt;type&amp;gt;(&amp;lt;scope&amp;gt;): &amp;lt;subject&amp;gt;
// 空一行
&amp;lt;body&amp;gt;
// 空一行
&amp;lt;footer&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;type&lt;/strong&gt;为：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;add 增加新博客/页面（add new post/page）&lt;/li&gt;
  &lt;li&gt;correct 改错别字/语法（correct spelling/grammar ）&lt;/li&gt;
  &lt;li&gt;update 更新内容（update content）&lt;/li&gt;
  &lt;li&gt;change 修改YAML说明（change YAML front-matter）&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;scope&lt;/strong&gt;为：post/page, spelling/grammar, content, YAML front-matter&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;subject&lt;/strong&gt;为：短描述，可以包含文件名等内容(如果名字过长，用首字母大写代替，省略连词)。（&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;add(post):20160121-postname.md &lt;/code&gt;)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;body&lt;/strong&gt;为：具体的修改内容，如果是新增博客/页面，则可以省略。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;footer&lt;/strong&gt;为：空&lt;/p&gt;

&lt;p&gt;这个模板也放到&lt;a href=&quot;https://gist.github.com/yulijia/fe2522fe138b6ed41ff4#file-git-commit-blog-txt&quot;&gt;gist&lt;/a&gt;上。&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;curl https://gist.githubusercontent.com/yulijia/fe2522fe138b6ed41ff4/raw/1e90ec272180dba299f5ad861e72dfab876c0c5b/.git-commit-blog.txt &amp;gt;&amp;gt; ~/.git-commit-template.txt
git config --global commit.template ~/.git-commit-template.txt
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;实际使用时的截图如下&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/rVEhe7Z.png&quot; alt=&quot;Imgur&quot; /&gt;&lt;/p&gt;
</description>
        <pubDate>Thu, 21 Jan 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E6%A0%BC%E5%BC%8F%E6%8A%80%E5%B7%A7/2016/01/21/git-commit-style.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E6%A0%BC%E5%BC%8F%E6%8A%80%E5%B7%A7/2016/01/21/git-commit-style.html</guid>
        
        <category>Git</category>
        
        
        <category>格式技巧</category>
        
      </item>
    
      <item>
        <title>基因修饰技术英雄榜</title>
        <description>&lt;p&gt;这篇文章我没读，但是昨天看到&lt;a href=&quot;https://liorpachter.wordpress.com/2016/01/18/the-heroes-of-crispr/&quot;&gt;Lior写的博客&lt;/a&gt;，感觉美国的口水仗打得很激烈。
结果今天发现&lt;q&gt;&lt;a href=&quot;http://mp.weixin.qq.com/s?__biz=MzIyNDA2NTI4Mg==&amp;amp;mid=405433180&amp;amp;idx=1&amp;amp;sn=a6912f53e2edfe11c4e98c6796c7c235&amp;amp;scene=0&quot;&gt;知识分子&lt;/a&gt;&lt;/q&gt;也发了相关评论。&lt;/p&gt;

&lt;p&gt;其实Lior博客里我最感兴趣的是他写文章的风格，首先用Mike Snyder的例子说明一年发42篇文章（平均每8天17个小时一篇），
但是Mike Snyder是系主任，根本每那么多时间一年做42个课题，这些课题都是他的团队一起做的（大约32个博士后，11个研究助理，12个研究科学家，9位访问学者，8个硕博生）。
所以科研工作都是一群人一起做出的成果，生物文章的作者栏因此也越来越长。&lt;/p&gt;

&lt;p&gt;但是Lior话锋一转，说提到这些工作成果时，大多都会写“某某PI和他的合作者做了什么…”&lt;/p&gt;

&lt;p&gt;继续说这就不对啦，尤其是Lander的这篇文章，每句话里提到的科学团队都是“某某PI和他的合作者”。但所有基本，繁琐，没意思的实验工作都是博士后、学生们做的。
这些贡献者就都被省略了。&lt;/p&gt;

&lt;p&gt;他还说：由于发表论文的周期越来越短，论文质量都不行啦。Lander的文章里就没把CRISPR的贡献搞清楚，Jennifer Doudna的贡献写的不太准确。
另外：对于这个领域的2位女科学家的介绍怎么写得&lt;strong&gt;那么那么那么的&lt;/strong&gt;无聊呢？&lt;/p&gt;

&lt;p&gt;Lior写的下面这段话实在是太好了。一个科研团队的PI同团队里的其他人相比总是胜利者。言外之意，好处都被他们占了。&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;There is a more cynical view of the PI model, namely that by running large labs PIs are able to benefit from a scientific roulette of their own making. PIs can claim credit for successes while blaming underlings for failures. Even one success can fund numerous failures, and so the wheel spins faster and faster…the PI always wins. Of course the mad rush to win leads to an overall deterioration of quality.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;在知识分子微信中提到Cell同哈佛麻省理工走的比较近，就像麻省理工的宣传期刊。&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;除了Lander成为众矢之的，在PubPeer网站上，很多匿名人士也将矛头指向了Cell杂志。一名不具姓名的人士表示，“实际上，我对此并不感到惊讶，Cell与哈佛和麻省理工学院的科研群体走得很近，Cell杂志就像是麻省理工学院的宣传期刊一样”。也有人说，“很难相信，这篇文章竟然出现在Cell杂志Scientific Perspective栏目上，我很想看评审专家的意见，以及他们如何让这篇不切实际的文章得以通过。”&lt;/p&gt;
&lt;/blockquote&gt;
</description>
        <pubDate>Wed, 20 Jan 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E6%89%80%E6%80%9D%E6%89%80%E6%82%9F/2016/01/20/The-Heroes-of-CRISPR.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E6%89%80%E6%80%9D%E6%89%80%E6%82%9F/2016/01/20/The-Heroes-of-CRISPR.html</guid>
        
        <category>Eric Lander</category>
        
        <category>Lior Pachter</category>
        
        <category>Jennifer Doudna</category>
        
        
        <category>所思所悟</category>
        
      </item>
    
      <item>
        <title>从《支付战争》看网络营销</title>
        <description>&lt;p&gt;王乐珩上周在博客里写了《支付战争》的&lt;a href=&quot;http://wangleheng.net/2016/01/the-paypal-wars/&quot;&gt;书评&lt;/a&gt;。
看了他的介绍，由于自己对PayPal、互联网创业，Elon Musk感兴趣，觉得这书应该比较有意思，
所以立马找来阅读，花了一周时间看完后，随便写一些印象较为深的内容。&lt;/p&gt;

&lt;h3 id=&quot;关于营销&quot;&gt;关于营销&lt;/h3&gt;

&lt;p&gt;就像王乐珩所说的，我们在国内看到的互联网营销手段，都是人家十几年前的玩法。
让人喜欢的，让人反感的，反正Paypal是尝试了不少：
什么注册返现金，邀请好友注册后返现，在商店页面设置快速跳转连接，在别人的用户大会作推广等等一系列手段。
最近非常有感触的一点是创业公司的产品营销方法是不断摸索的。&lt;/p&gt;

&lt;h3 id=&quot;未来的银行只是有银行牌照的技术公司&quot;&gt;未来的银行只是有银行牌照的技术公司&lt;/h3&gt;

&lt;p&gt;这句话让我感同身受，因为从Paypal创立到现在已经十几年过去的，纵观国内，已经有很多网络公司开始提供金融服务，例如：&lt;a href=&quot;http://www.webank.com/&quot;&gt;微众银行&lt;/a&gt;和&lt;a href=&quot;https://mybank.cn/index.htm&quot;&gt;网商银行&lt;/a&gt;。
腾讯和阿里率先吃了螃蟹，虽然效果如何还不清楚（我没关注）。&lt;/p&gt;

&lt;h3 id=&quot;作决定不能脱离现实&quot;&gt;作决定不能脱离现实&lt;/h3&gt;

&lt;p&gt;在运营初期Paypal同x.com合并后，有个夜间突然发布新规则，免费支付额度为1000美元，这个规则引起了用户的不满。
虽然及时灭火成功，但是做这类&lt;q&gt;同用户相关的决定&lt;/q&gt;前一定需要提前调研。&lt;/p&gt;

&lt;h3 id=&quot;elon-musk&quot;&gt;Elon Musk&lt;/h3&gt;

&lt;p&gt;他创建的公司叫x.com，但是为了避免内耗，同PayPal合并了，合并后当了一段时间的CEO（结果为了实现2.0版本，变成X支付而不是PayPal支付太执着，被抛弃了），之后就做董事。
看到x.com用Windows NT架构时，我一愣，没想到Musk竟然是个Windows派。
不过经历过创立公司并且出售，这家伙28岁时的身家就老高老高了。&lt;/p&gt;

&lt;h3 id=&quot;paypal和ebay&quot;&gt;PayPal和eBay&lt;/h3&gt;

&lt;p&gt;分就必合，合久必分。PayPal在14年又和eBay拆分出来了。这两家的关系真有意思。&lt;/p&gt;
</description>
        <pubDate>Sun, 17 Jan 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E5%9B%A4%E4%B9%A6%E6%88%90%E7%98%BE/2016/01/17/The-PayPal-Wars-Battles-with-eBay-the-Media-the-Mafia-and-the-Rest-of-Planet-Earth.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E5%9B%A4%E4%B9%A6%E6%88%90%E7%98%BE/2016/01/17/The-PayPal-Wars-Battles-with-eBay-the-Media-the-Mafia-and-the-Rest-of-Planet-Earth.html</guid>
        
        <category>PayPal</category>
        
        
        <category>囤书成瘾</category>
        
      </item>
    
      <item>
        <title>人类结肠癌生长的bigbang模型</title>
        <description>&lt;p&gt;我可能有些post里没有标注阅读的文章是哪一篇，想要查文章的时候，需要看博客的连接，连接的英文名字就是文章的title。&lt;/p&gt;

&lt;p&gt;这篇文章是15年三月份发表在nature genetics上的。构建了一个癌症最初生长、发展的模型。&lt;/p&gt;

&lt;p&gt;主要是说癌症相关的基因突变一开始就有，并且一开始就不止一个突变，每个不同的突变会形成一个subclone，从而不断生长。
有些突变生来就是坏突变，容易长成大的subclone，容易转移。这些特性从一开始就在癌症的subclone里存在了。&lt;/p&gt;

&lt;h3 id=&quot;cnv和cna概念以及其区别&quot;&gt;CNV和CNA概念以及其区别&lt;sup id=&quot;fnref:1&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:1&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;sup id=&quot;fnref:2&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:2&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/h3&gt;

&lt;p&gt;CNV（copy number variation）是生殖细胞的染色体区域/基因的拷贝数增加与减少。
CNA（copy number alteration）是体细胞的染色体区域/基因的拷贝数增加与减少。&lt;/p&gt;

&lt;h3 id=&quot;简要介绍&quot;&gt;简要介绍&lt;/h3&gt;

&lt;p&gt;文章还是可以的，但是有点读不进去。&lt;/p&gt;

&lt;p&gt;主要是用CNA和一些病人特异性的私有mutation来判断是不是产生早的突变可扩散到很远的位置，由此来说明文章的观点Big Bang模型。&lt;/p&gt;

&lt;p&gt;癌细胞的突变容易扩散，腺瘤突变基本有界，不容易扩散。&lt;/p&gt;

&lt;p&gt;文章中的统计推断部分用到了他们之前发表的一篇文章的内容&lt;q&gt;Single-molecule genomic data delineate patient-specific tumor profiles and cancer stem cell organization&lt;/q&gt;.&lt;/p&gt;

&lt;p&gt;在比较毗连的细胞间差异性的时候用到了&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Shannon-Index&lt;/code&gt;。&lt;/p&gt;

&lt;h3 id=&quot;参考资料&quot;&gt;参考资料&lt;/h3&gt;

&lt;h3 id=&quot;单词本&quot;&gt;单词本&lt;/h3&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;primordial&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;原发&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;malignant&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;恶性&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;malignancy&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;恶性肿瘤&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;neoplasm&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;肿瘤&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;pervasive&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;无处不在&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;experimentally&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;实验证明&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;stepwise&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;逐步的&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;paradigm&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;范例&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;confer&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;商议、比较&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;recapitulate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;摘要，总结&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;variegation&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;五花八门，彩斑&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;progeny&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;后代&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;propagate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;繁衍&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;glandular&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;腺状的&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;phylogenies&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;系统发育&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;aberrant&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;畸变&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;colon crypt&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;结肠隐窝&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;obscure&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;掩盖&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;respective&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;各自、分别的&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;corroborate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;证实&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;recapitulate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;总结&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;chemotherapy&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;化疗&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;div class=&quot;footnotes&quot; role=&quot;doc-endnotes&quot;&gt;
  &lt;ol&gt;
    &lt;li id=&quot;fn:1&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;&lt;a href=&quot;http://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-10-S1-S67&quot;&gt;Copy-number-variation and copy-number-alteration region detection by cumulative plots&lt;/a&gt; &lt;a href=&quot;#fnref:1&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:2&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;&lt;a href=&quot;https://github.com/mksamur/RTCGAToolbox/issues/3&quot;&gt;What is the difference between CNV and CNA?&lt;/a&gt; &lt;a href=&quot;#fnref:2&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
  &lt;/ol&gt;
&lt;/div&gt;
</description>
        <pubDate>Wed, 13 Jan 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2016/01/13/A-big-bang-model-of-human-colorectal-tumor-growth.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2016/01/13/A-big-bang-model-of-human-colorectal-tumor-growth.html</guid>
        
        <category>结肠癌</category>
        
        
        <category>论文笔记</category>
        
      </item>
    
      <item>
        <title>超新星纪元与1984</title>
        <description>&lt;p&gt;过节用3～4天时间看完了大刘的《超新星纪元》（同三体一起贩卖的京东版）。里面比较喜欢的片段如下：&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;“大量子”作为终端，指导并帮助小孩社会重新建立秩序走出恐慌和混乱。&lt;/li&gt;
  &lt;li&gt;美国小孩那个“军师”同总统的对话。&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;没有弄清楚的问题：&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;为什么13岁以上都挂了，年龄13的就真的一点都没事？（这个问题有点较真）&lt;/li&gt;
  &lt;li&gt;国家交换时不带走一草一木的原因。（网上查了一些，说法有两种，一种是切断同祖先的联系好让这一代彻底完蛋，另一种是不忘祖先到新的地方重头开始）&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;网上说法是这个版本已经被删节了很多内容，我自己也没有读懂，感觉前后不连贯。另外，为什么“大量子”在前面出现，在后半段就消失的无影无踪？&lt;/p&gt;

&lt;p&gt;我觉得真有这种毁灭世界的情况产生，绝大部分孩子也很可能无法独立存活。
除非你有什么志向要把大刘写的文章都看一遍，否则可以放弃阅读这本，&lt;u&gt;内容真的是不连贯&lt;/u&gt;，我不知道删减了多少，也不能确信网上的那些所谓的非删减版本是不是真的是大刘所写。
由于出版方面的干预，这个新纪元世界我是不买账。&lt;/p&gt;

&lt;p&gt;不过超新星纪元的这个世界让我想到了1984（联想有些跳跃）。&lt;/p&gt;

&lt;p&gt;一个失控的新兴世界和一个被奴役没有反抗的世界。我觉得写孩子的世界比较难，因为走过童年后，大家也不见得能记得起多少小时候做过的事情，以及当时做事情的原因。
所以很难刻画出一个符合真实情况的想象中的新兴世界；一个被奴役没有反抗的世界，总是存在于人们的想象中，读起来感同身受。&lt;/p&gt;

&lt;p&gt;看1984的时候正好是斯诺登事件不久之后，从“杨老板”那里借到了这本书。很多国内的版本里没有《附录：新话的原则》，但是我看的那一版里好像有。
感谢杨老板的书买得早。好像通过附录的内容，有人说引申意义是1984的世界最后没有成真/或者成真了。不管怎样，大家都不希望这样的世界出现。&lt;/p&gt;

&lt;p&gt;&lt;q&gt;War is peace. Freedom is slavery. Ignorance is strength.&lt;/q&gt;&lt;/p&gt;

&lt;p&gt;基本所有的词都有对立面，没有完全的自由，也不可能出现完全的监控。
不过一个自由没有任何约束的世界同一个完全被监控没有自由的世界，我觉得后者可能更能成为现实，
因为很多人习惯于被奴役，这样可以少想一些事情，让自己认为活得更加轻松。&lt;/p&gt;

&lt;p&gt;读1984最深的感受就是奥威尔对那个世界的刻画，一切都同二战，冷战，The Cultural Revolution，这几个不同且相互交错的时期有类似的地方。
艺术总能高于生活，提炼出来，让人看得毛骨悚然。&lt;/p&gt;

&lt;p&gt;斯诺登事件让大家认识到，每个人的信息都在被有限制的监控着。随着科技的发展，监控和信息筛选手段越来越高明。
但是暴露出监控后，各国政府肯定没什么影响也不会有什么好措施出台（哪个实力强的政府一点不监控？没有），底层的老百姓也就关心两天，之后也会慢慢不了了之。
这种情况又让我想起了鲁迅写文章揭露恶根性，但是几十年过去了，大家一点没变。斯诺登的事情也是这个结局。&lt;/p&gt;

</description>
        <pubDate>Thu, 07 Jan 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E5%9B%A4%E4%B9%A6%E6%88%90%E7%98%BE/2016/01/07/supernova-and-1984.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E5%9B%A4%E4%B9%A6%E6%88%90%E7%98%BE/2016/01/07/supernova-and-1984.html</guid>
        
        <category>超新星纪元</category>
        
        <category>1984</category>
        
        
        <category>囤书成瘾</category>
        
      </item>
    
      <item>
        <title>新年水一水</title>
        <description>&lt;p&gt;标题很俗，我就是想灌篇水，思路比较跳跃。&lt;/p&gt;

&lt;p&gt;刚才更新了2011年的一篇用来备份安装软件的&lt;a href=&quot;http://yulijia.net/cn/%E8%BD%AF%E4%BB%B6%E4%B8%96%E7%95%8C/2011/12/31/software-in-linux.html&quot; title=&quot;Linux系统需要安装的相关软件&quot;&gt;文章&lt;/a&gt;。
感觉4年过去了，用的软件也同以前不一样了，能吐槽的地方还不少，在标签中写错了单词python，这一错就是4年。Jupyter这种类型的应用估计将会是今后的主流。
最近也在github上开了一个&lt;a href=&quot;https://github.com/yulijia/TDAIF&quot; title=&quot;Things to Do After Installing Fedora&quot;&gt;repository&lt;/a&gt;，用来更新安装系统时必须的一些软件。&lt;/p&gt;

&lt;p&gt;国内的大局域网，今后同外部的交流会更加减少。&lt;/p&gt;

&lt;p&gt;我的第一个比较完善的Jekyll主题用一年的时间攒到45颗星星，已经够同时召唤6次神龙。
去年博客被人留言了3次左右（同去年之前的所有年份留言总和持平），真没想到还有人看，感谢大家的默默关注，也强烈鼓励大家留言。&lt;/p&gt;

&lt;p&gt;今年仍会努力更新内容并且还旧债。争取像我英文博客中所说的，完成2012年的计划的目标。&lt;/p&gt;

&lt;p&gt;由于各种各样的原因我block了一些博客的内容，但是在repository里都能看到，看过的感觉就是&lt;q&gt;往事不堪回首&lt;/q&gt;。&lt;/p&gt;

&lt;p&gt;工作了7年的旧电脑安装了windows 10，并且进入退役预备期。&lt;/p&gt;

&lt;p&gt;看了不少东西，但是书评都没写，再不写我就可以重头再读一遍了。&lt;u&gt;这是不是记忆力已经没有那么好的一种表现？&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;学习自我约束能力，孙正义的中文百科太牛逼了，日文wiki都没写得这么牛。&lt;/p&gt;

&lt;p&gt;本来注册了一门在线课程1月5日开讲，结果时间在暗中改成了1月19日。尼玛老美这节真要过到马丁路德金日之后才算完。&lt;/p&gt;

&lt;p&gt;周星驰的“努力！奋斗！”，今年我得念成“老了！赚钱！”。&lt;/p&gt;

</description>
        <pubDate>Tue, 05 Jan 2016 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E7%94%9F%E6%B4%BB%E7%82%B9%E6%BB%B4/2016/01/05/happy-new-year-2016.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E7%94%9F%E6%B4%BB%E7%82%B9%E6%BB%B4/2016/01/05/happy-new-year-2016.html</guid>
        
        <category>Linux</category>
        
        <category>吐槽</category>
        
        
        <category>生活点滴</category>
        
      </item>
    
      <item>
        <title>看完了球状闪电</title>
        <description>&lt;p&gt;在写这篇博客的时候翻看了一下自己的分类目录，幸好没有&lt;q&gt;好书推荐&lt;/q&gt;这种弱智的分类。&lt;/p&gt;

&lt;p&gt;在2015年年末用了3天时间看完了刘慈欣（我一直叫成刘欣慈）的《球状闪电》，中间一些描写就看得比较快。&lt;/p&gt;

&lt;p&gt;《球状闪电》故事的脑洞比较大，有很多不科学的地方，所以看起来不是那么精彩。
我最喜欢的部分是大刘写的后记。&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;与主流文学留给人们性格鲜明的人物画廊一样，西方科幻小说也留下了大量的想像世界：
除了克拉克的拉玛飞船外，还有阿西莫夫广阔的银河帝国和用三定律构造出来的精确的机器人世界、
赫伯特错综复杂的沙丘帝国、奥尔迪斯的热带雨林、克莱门特那些用物理定律构造出来的世界、
以及最近奇昂的从科学和历史角度看都不可能存在的巴比伦塔等。这些想像世界构造得那么精确鲜活，
以至于读者时常问自己它们是不是在另一个时空中真的存在。 
反观中国科幻，&lt;u&gt;最大缺憾就是没有留下这样的想像世界&lt;/u&gt;，中国的科幻作者创造自己世界的欲望并不强，
他们满足于在别人已经创造出来的世界中演绎自己的故事，我们的科幻小说中那些世界都是熟悉的，只剩下故事了。 
创造一个在所有细节上都栩栩如生的想像世界是十分困难的，需要深刻的思想，需要在宏观和微观上都强劲有力游刃有余的想像力，
需要从虚无中创生的造物主的气魄，而后面两项，恰恰是我们的文化所缺乏的。但如果我们一时还无力创造整个世界，
是否能退而求其次，先创造其中的一个东西呢？这就是我写这部小说的目的。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;平心而论，球状闪电中的世界同读者感觉不是很近也很远，既不真实，也不是描述遥远的未来。
书后面描写的一场战争，感觉开始的毫无头绪。在不同章节中主观视角的叙述，客观视角的叙述，都有些生硬。&lt;/p&gt;

&lt;p&gt;但是反观三体的世界，第一部从大家都“熟悉”或“经历过”的历史时期开始，让国内的读者能更好的进入故事中的环境。
第二部的展开非常有意思，又有遥远未来的感觉。
虽然第三部有点狗尾续貂。但故事终究有个让人回味/反思/争论的结尾。&lt;/p&gt;

&lt;p&gt;三体世界是大刘带给我们的一个不算丰满，但能引起较为深入思考的&lt;q&gt;想像世界&lt;/q&gt;。&lt;/p&gt;

&lt;p&gt;球状闪电只是一个中规中矩的作品。&lt;/p&gt;

</description>
        <pubDate>Thu, 31 Dec 2015 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E5%9B%A4%E4%B9%A6%E6%88%90%E7%98%BE/2015/12/31/ball-lightning.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E5%9B%A4%E4%B9%A6%E6%88%90%E7%98%BE/2015/12/31/ball-lightning.html</guid>
        
        <category>球状闪电</category>
        
        <category>三体</category>
        
        
        <category>囤书成瘾</category>
        
      </item>
    
      <item>
        <title>快速的过几篇文章的内容</title>
        <description>&lt;p&gt;总结几篇关于单细胞RNA-seq的工作内容。这次的文章属于泛读。&lt;/p&gt;

&lt;p&gt;思考两个问题：单细胞RNA-seq能用来做什么？
在癌症方面，每个细胞的基因表达差异性意味着什么（癌症干细胞）？&lt;/p&gt;

&lt;h3 id=&quot;accounting-for-technical-noise-in-single-cell-rna-seq-experiments&quot;&gt;Accounting for technical noise in single-cell RNA-seq experiments&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;文章介绍了RNA-seq中技术噪声的估计。&lt;/li&gt;
  &lt;li&gt;单细胞RNA0-seq的基因表达量校正要用spike-in&lt;/li&gt;
  &lt;li&gt;用到了统计方法来做假设检验。派段哪些基因是在细胞间差异性大的。&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;deep-sequencing-reveals-cell-type-specific-patterns-of-single-cell-transcriptome-variation&quot;&gt;Deep sequencing reveals cell-type specific patterns of single-cell transcriptome variation&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;文章中的PCA前三个主成分只占13%&lt;/li&gt;
  &lt;li&gt;Jaccard 相似性只有0.258和0.286，是怎么做到p.value &amp;lt; 十的负四次方的&lt;/li&gt;
  &lt;li&gt;rho=0.19或者0.22，p.value竟然达到了十的负十四次方以上&lt;/li&gt;
  &lt;li&gt;唯一有意思的工作是总结了3’UTR的多样性，但是单细胞数据，准确性在没有实验验证的情况下不敢保证&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;这篇文章看的比较囫囵吞枣，里面一些内容没仔细看。&lt;/p&gt;

&lt;p&gt;没准上面提到的问题是我理解出错。&lt;/p&gt;

&lt;h3 id=&quot;identification-of-distinct-tumor-subpopulations-in-lung-adenocarcinoma-via-single-cell-rna-seq&quot;&gt;Identification of Distinct Tumor Subpopulations in Lung Adenocarcinoma via Single-Cell RNA-seq&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;研究了TF与基因表达的关系。一类基因启动子区域的某TF出现的多，再看看TF的基因同“一类基因”是不是表达有相似性。唯一问题是，基因共表达本来就很多会解释不清。（我对于基因共表达网络抱有谨慎怀疑态度。）&lt;/li&gt;
  &lt;li&gt;用TCGA数据做了一下选出的基因集合的生存分析。看到那两条生存曲线，能算出p.value &amp;lt; 0.05 也是不容易。&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;单词本&quot;&gt;单词本&lt;/h3&gt;

&lt;table&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;英文&lt;/td&gt;
      &lt;td&gt;中文&lt;/td&gt;
      &lt;td&gt;英文&lt;/td&gt;
      &lt;td&gt;中文&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;substantiate&lt;/td&gt;
      &lt;td&gt;证实&lt;/td&gt;
      &lt;td&gt;pragmatic solution&lt;/td&gt;
      &lt;td&gt;务实解决&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;physiologically relevant&lt;/td&gt;
      &lt;td&gt;生理相关&lt;/td&gt;
      &lt;td&gt;metazoan&lt;/td&gt;
      &lt;td&gt;后生动物&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;cell phenotypes&lt;/td&gt;
      &lt;td&gt;细胞表型&lt;/td&gt;
      &lt;td&gt;calibrate&lt;/td&gt;
      &lt;td&gt;校准&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;intestinal&lt;/td&gt;
      &lt;td&gt;肠&lt;/td&gt;
      &lt;td&gt;in situ&lt;/td&gt;
      &lt;td&gt;原位&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;morphologically&lt;/td&gt;
      &lt;td&gt;形态&lt;/td&gt;
      &lt;td&gt;variability&lt;/td&gt;
      &lt;td&gt;变异性&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;brown adipocytes&lt;/td&gt;
      &lt;td&gt;棕色脂肪细胞&lt;/td&gt;
      &lt;td&gt;cardiomyocytes&lt;/td&gt;
      &lt;td&gt;心肌细胞&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;cortical pyramidal neurons&lt;/td&gt;
      &lt;td&gt;皮质锥体神经元&lt;/td&gt;
      &lt;td&gt;hippocampal pyramidal neurons&lt;/td&gt;
      &lt;td&gt;海马锥体神经元&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;serotonergic neurons&lt;/td&gt;
      &lt;td&gt;5-羟色胺神经元（血清素能神经元）&lt;/td&gt;
      &lt;td&gt;confounding&lt;/td&gt;
      &lt;td&gt;混杂&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;caveat&lt;/td&gt;
      &lt;td&gt;警告&lt;/td&gt;
      &lt;td&gt;mitigate&lt;/td&gt;
      &lt;td&gt;减轻&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Saturation&lt;/td&gt;
      &lt;td&gt;饱和&lt;/td&gt;
      &lt;td&gt;cardiomyocyte&lt;/td&gt;
      &lt;td&gt;心肌细胞&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;patient-derived xenografts&lt;/td&gt;
      &lt;td&gt;来自患者的移植(异种移植)&lt;/td&gt;
      &lt;td&gt;glioblastoma&lt;/td&gt;
      &lt;td&gt;胶质母细胞瘤&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;proliferation&lt;/td&gt;
      &lt;td&gt;增殖&lt;/td&gt;
      &lt;td&gt;hypoxia&lt;/td&gt;
      &lt;td&gt;缺氧&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;putative&lt;/td&gt;
      &lt;td&gt;假定&lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
      &lt;td&gt; &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
</description>
        <pubDate>Tue, 29 Dec 2015 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2015/12/29/papers.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2015/12/29/papers.html</guid>
        
        <category>单细胞</category>
        
        <category>RNA测序</category>
        
        
        <category>论文笔记</category>
        
      </item>
    
      <item>
        <title>2015年度新闻总结</title>
        <description>&lt;p&gt;最近看了&lt;a href=&quot;http://weibo.com/zhaohaoy?is_all=1&quot;&gt;赵皓阳&lt;/a&gt;写的几篇文章，文章主要思考目前中国的社会问题、阶级趋势，
最新的一篇总结了&lt;a href=&quot;http://mp.weixin.qq.com/s?__biz=MjM5NzE2NTY0Ng==&amp;amp;mid=401273364&amp;amp;idx=1&amp;amp;sn=72c6b013cfda2bf021abfb9b707f0bcc#rd&quot;&gt;今年新闻中的潜台词&lt;/a&gt;。&lt;/p&gt;

&lt;p&gt;先不说他的&lt;a href=&quot;&quot; title=&quot;后台是哪里&quot;&gt;屁股冲哪个方向&lt;/a&gt;，但从所作的分析，让我重新认识到以前马克思恩格斯写的那些东西究竟有什么意义，
重新审视了文化大革命，之前到研究生节阶段都要学习的哲学原理究竟应该怎么用。历史永远在重复，从之前的事情能总结到什么经验。
由于越老越没锋芒，现在觉得鲁迅当了作家的贡献远远大于做医生，他所指出的问题在中国社会中依然存在，依然无法解决，&lt;u&gt;我前二十多年个人对他的看法完全是错误的&lt;/u&gt;。&lt;/p&gt;

&lt;p&gt;最后，少吹牛逼，多做事实，争取早日实践&lt;q&gt;科技革命论&lt;/q&gt;并取得成功。&lt;/p&gt;

&lt;p&gt;20160425 此文仅评价部分文章内容，并不能说明此人写的文章都能对其题目作出恰当的评价和讨论。&lt;/p&gt;
</description>
        <pubDate>Sun, 20 Dec 2015 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2015/12/20/knowledgewealth.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2015/12/20/knowledgewealth.html</guid>
        
        <category>科技革命论</category>
        
        
        <category>聚类不能</category>
        
      </item>
    
      <item>
        <title>关于基因组结构变异和基因型的综述</title>
        <description>&lt;p&gt;Genome structural variation discovery and genotyping，这篇2011年的综述介绍了结构变异的检测方法和其他相关内容，对于初次进入这个领域的人是一篇不错的指导资料。&lt;/p&gt;

&lt;p&gt;&lt;q&gt;一般情况下如果在正文中没有提到文章题目，请看博客日志的连接，连接只要不太长，就是英文题目。&lt;/q&gt;&lt;/p&gt;

&lt;p&gt;首先来看一下基因结构变异都有哪些情况。一般情况下，定义结构变异在1kb以上的区域的插入、缺失或者倒位。&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Deletion&lt;/li&gt;
  &lt;li&gt;Novel sequence insertion&lt;/li&gt;
  &lt;li&gt;Mobile-element insertion&lt;/li&gt;
  &lt;li&gt;Tandem duplication&lt;/li&gt;
  &lt;li&gt;Interspersed duplication&lt;/li&gt;
  &lt;li&gt;Inversion&lt;/li&gt;
  &lt;li&gt;Translocation&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/sCvaAOT.png&quot; alt=&quot;Imgur&quot; /&gt;&lt;/p&gt;

&lt;p&gt;对于大的变异（主要是获得或者缺失几百kb的片段）在人群中是十分少见的（&amp;lt;1%）但是会影响很大一部分疾病。
对于多拷贝基因家族，主要是基因拷贝数量的变异，主要对于疾病的作用是在敏感性方面（即，有些拷贝变异使得个体更容易得某些疾病）。&lt;/p&gt;

&lt;h3 id=&quot;基于杂交的芯片方法&quot;&gt;基于杂交的芯片方法&lt;/h3&gt;

&lt;h4 id=&quot;array-cgh-array-comparative-genomic-hybridization&quot;&gt;array CGH (array comparative genomic hybridization)&lt;/h4&gt;

&lt;p&gt;这个方法好像直接用两个样本的数据进行比较，取ratio。
存在的问题是，当只有一个样本时，在reference样本上的一个缺失，会被错判成测试样本上的一个增加。所以用array CGH的关键是要有一个可靠的reference。
这种方法多用于检测大于100kb的CNV。基本无法定位breakpoint。&lt;/p&gt;

&lt;p&gt;罗氏提供的此类芯片（2011年）每个oligonucleotide长约1M，一共2.1M个。
检测一个CNV要3到10个probe。&lt;/p&gt;

&lt;h4 id=&quot;snp-array&quot;&gt;SNP array&lt;/h4&gt;

&lt;p&gt;SNP芯片可以测CNV，应该是&lt;a href=&quot;http://www.biomart.cn/specials/cnv2014/article/84169&quot; title=&quot;Affymetrix SNP 6.0芯片介绍&quot;&gt;这么一回事&lt;/a&gt;。文章中也是这个意思。
SNP芯片的缺点是信噪比低(low signal-to-noise ratio)。也就是噪声大。&lt;/p&gt;

&lt;h4 id=&quot;芯片的整体缺陷&quot;&gt;芯片的整体缺陷&lt;/h4&gt;

&lt;p&gt;探针都是定义好的，没法发现新的SV，breakpoint上也不一定有探针。&lt;/p&gt;

&lt;p&gt;上述两个平台的芯片在检测拷贝数变多方面上比检测拷贝数减少要困难，敏感性降低。
所以很容易就看到检测出的小区域SV变化绝大多数都是缺失。&lt;/p&gt;

&lt;p&gt;非特异性的芯片对于10kb一下的SV检测敏感性都会降低（除了那些特别设计的芯片）。&lt;/p&gt;

&lt;p&gt;当然，芯片最重要的缺陷是在检测含有重复序列区域的时候。
array CGH和SNP平台的假设都是在参考基因组上都是二倍体，但是在重复区域这一假设并不有效。但是CNV同片段重复有强相关性，很多breakpoint也出现在重复区域。&lt;/p&gt;

&lt;h3 id=&quot;single-molecule-analysis-这章节没看懂&quot;&gt;single-molecule analysis （这章节没看懂）&lt;/h3&gt;

&lt;p&gt;理解SV的结构和位置必须需要从单分子层面的可视化手段。
fluorescent &lt;em&gt;in situ&lt;/em&gt; hybridization(FISH) 和光谱核型（spectral karyotyping）分析是我们窥视普通和稀有基因组结构变异的方法。
但是这些方法的缺点也很明显，低产出，低分辨率，只能找到500kb~5Mb的结构变异。
有一个源于酵母基因组的相关技术现在可以用于人类基因组的SV检测（好像是光纤方面的）&lt;sup id=&quot;fnref:1&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:1&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; &lt;sup id=&quot;fnref:2&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:2&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;2&lt;/a&gt;&lt;/sup&gt; 。此技术是基于对传统限制性图谱的改良，对固定的DNA做限制性消化。这个技术可以用来检测倒位，转座，拷贝数变异以及这些结构变异的位置。
但是，还是对检测新的结构变异有限制，因为它的技术中需要用到参考基因组。（&lt;u&gt;这段关于实验的内容没有看得太明白&lt;/u&gt;）&lt;/p&gt;

&lt;p&gt;另外文章还说，条形码技术是一项非常有用的技术，在未来可以支持高通量的检测结构变异。这些方法包括在纳米级别的通道扫描荧光标记的DNA分子等（these methods include scanning fluorescently nick-labelled DNA molecules in nano-channel flow cells or nanoslits and the use of SNP-specific labelling of stretched DNA for haplotype resolution）。&lt;/p&gt;

&lt;h3 id=&quot;基于测序的计算技术&quot;&gt;基于测序的计算技术&lt;/h3&gt;

&lt;h4 id=&quot;read-pair-technologies&quot;&gt;Read-pair technologies&lt;/h4&gt;

&lt;p&gt;这个方法就是对于pair-end 的一对短序列进行中间空缺长度以及短序列方向的检测，找出同参考基因组相比有映射空缺(span)或者方向问题的序列。
序列如果映射到很远的两个地方，说明是一个deletion。序列如果映射到极端近的地方，没准就是一个insertion。
如果方向不一致没准是倒位，或者一系列的串联重复。
如果序列只有一端可以映射到参考基因组，而另一端不能映射到参考基因组，很有可能是新的insetion(Read pairs in which only one end clusters and the others do not map to the reference have been used to flag variant sequences not included in the reference genome (novel insertions).)。
采用这种方法的软件有: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;PEMer&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;VariationHunter&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;BreakDancer&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;MoDIL&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;MoGUL&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;HYDRA&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Corona&lt;/code&gt; 和 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SPANNER&lt;/code&gt;。&lt;/p&gt;

&lt;h4 id=&quot;read-depth-methods&quot;&gt;Read-depth methods&lt;/h4&gt;

&lt;p&gt;这个方法基于&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;序列映射的深度是泊松分布或改良的泊松分布&lt;/code&gt;的假设，然后探测这些序列的深度不符合分布的情况，深度超高的地方可能有重复区域，深度低的地方可能是deletion。
这个方法最先用于癌症基因组的重排列现象（rearrangements）。如果用此类方法来找寻小范围的deletion和duplication（breakpoint级别的），需要的方法是&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;event-wise-testing (EWT) algorithm&lt;/code&gt;
以及&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CNVnator&lt;/code&gt;软件。&lt;/p&gt;

&lt;h4 id=&quot;split-read-approaches&quot;&gt;Split-read approaches&lt;/h4&gt;

&lt;p&gt;分割短序列的方法可以用来检测deletion和小的insertion，分辨率可以达到“碱基”级别。这种方法首次应用在较长的sanger测序的序列上。
这种方法意在用分割短序列的方法找寻breakpoint。，这条序列无法直接比对到基因组上，序列中间有gap可能是deletion，比对到基因组上中间总是多出一块有可能是insertion。
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Pindel algorithm&lt;/code&gt;用在paired-end的reads上大大减少了此类方法的搜索空间，提高效率。&lt;/p&gt;

&lt;h4 id=&quot;sequence-assembly&quot;&gt;Sequence assembly&lt;/h4&gt;

&lt;p&gt;理论上，所有形式的结构变异可以归结为拷贝，内容，结构的差异。我们可以通过从头（&lt;em&gt;de novo&lt;/em&gt;）组装来识别这些变异。
也就是将短序列拼接成一个长序列contig然后再同参考序列进行比较。
基于短枪法(shortgun)从头比对拼接相关的软件有&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;EULER-USR&lt;/code&gt;，&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ABySS&lt;/code&gt;，&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SOAPdenovo&lt;/code&gt;和&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ALLPATHS-LG&lt;/code&gt;。除此之外，&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Cortex&lt;/code&gt;可以用来做&lt;em&gt;de novo&lt;/em&gt;的拼接，也可以设置成不同程度的根据参考序列来拼接。
另外，它还可以在不用参考序列的情况下进行组装和找寻SV。&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;NovelSeq framework&lt;/code&gt; 合并&lt;em&gt;de novo&lt;/em&gt;和局部组装的方法来定位新的序列insertion。&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;TIGRA&lt;/code&gt;用来找寻SV中的breakpoint。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;这些方法的局限在于&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;只能找寻一部分SV，并且由于算法的不同，找到的结果差异较大。
Read-pair technologies 方法对于重复区域的处理有问题，另外对于breakpoint的搜寻要取决于fragment的大小和分布，对建库有较高的要求，且价格不便宜。
90%的检测到的区域小于1kb并且大多数都是deletion，insertion很少能检测到。
Read-depth methods 方法没法赵精确的breakpoint。
Split-read approaches 分割短序列只在unique的区域可靠(split read is currently reliable only in the unique regions of the genome)。
Sequence assembly 方法在重复区域有偏，在这些区域找不准。&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SPANNER&lt;/code&gt;，&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CNVer&lt;/code&gt;和&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Genome STRip&lt;/code&gt;三个方法，联合read-pair和read-depth方法，来找CNV，增加了可靠性。&lt;/p&gt;

&lt;p&gt;人类基因组中有很多重复序列和片段重复，这些区域需要有更好的算法来检测SV。另外短序列深度（reads depth）也是很重要的指标，例如人类1000基因计划的数据，reads depth只有2到6fold。
敏感性和精确性同reads depth相关。&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;MoGUL&lt;/code&gt;算法结合多个个体的数据来找共同的CNV，解决了局部reads深度的问题，但是也降低了对于低频CNV的敏感性。&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;VariationHunter&lt;/code&gt; 采用相似的策略，并且对于稀有结构变化较为敏感。&lt;/p&gt;

&lt;p&gt;上面讲到的不同检测方法参见下图。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/DnIetuN.png&quot; alt=&quot;Imgur&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;genotyping基因分形&quot;&gt;Genotyping（基因分形）&lt;/h3&gt;

&lt;p&gt;不同于测序技术，这个技术就是用PCR之类的方法检测已知的结构变异。对于检测的窗口大小可以设计的较为自由。
方法包括：&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;PCR-based techniques&lt;/code&gt;，&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SNP array-based techniques&lt;/code&gt;，&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Array CGH-based techniques&lt;/code&gt;，&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;sequencing-based approaches&lt;/code&gt;。
在sequencing-based approaches中又简单介绍了几个软件的内容，详情请看论文，这里就不介绍了。&lt;/p&gt;

&lt;h3 id=&quot;future-direction&quot;&gt;future direction&lt;/h3&gt;

&lt;p&gt;加强检测精确性，要结合计算方法和实验方法。
建立“金标准”来评价不同的SV结果。&lt;/p&gt;

&lt;h3 id=&quot;单词本&quot;&gt;单词本&lt;/h3&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;elusive&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;难以捉摸的&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;widen&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;放宽，拓宽&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;tandem&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;串联&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;intersperse&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;穿插，点缀&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;inversion&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;倒位&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;susceptibility&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;敏感性，易受损害的状态&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;Hybridization&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;杂交&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;workhorse&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;驮马，主力，重负荷机器&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;refine&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;提炼&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;overwhelmingly&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;无法抵抗，压倒性的，绝大多数&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;ascertainment&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;探查&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;valid&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;有效&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;pathogenic&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;致病性&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;optical&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;光纤&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;capillary&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;毛细血管&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;capillary sequencing&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;毛细管测序&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;delineate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;划定&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;fosmid&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;F黏粒&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;segmental&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;阶段性&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;stretch&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;拉神&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;span&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;跨度&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;infancy&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;婴儿期&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;discordant&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;不和谐的&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;prohibitively&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;禁止&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;devise&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;设计&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;versatile&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;多才多艺&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;owing to&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;由于&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;facilitate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;方便，帮助，促进&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;collapse&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;塌陷&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;ameliorate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;改善&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;impuitation&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;归罪&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;discrepancy&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;差异，矛盾，不符合之处&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;veil&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;面纱&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;lift&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;揭开&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;h3 id=&quot;reference&quot;&gt;Reference&lt;/h3&gt;

&lt;div class=&quot;footnotes&quot; role=&quot;doc-endnotes&quot;&gt;
  &lt;ol&gt;
    &lt;li id=&quot;fn:1&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;Schwartz, D. C. et al. Ordered restriction maps of Saccharomyces cerevisiae chromosomes constructed by optical mapping. Science 262, 110–114 (1993). &lt;a href=&quot;#fnref:1&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:2&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;Teague, B. et al. High-resolution human genome structure by single-molecule analysis. Proc. Natl Acad. Sci. USA 107, 10848–10853 (2010). Application of the optical mapping technology to characterize human genome structure. &lt;a href=&quot;#fnref:2&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
  &lt;/ol&gt;
&lt;/div&gt;
</description>
        <pubDate>Mon, 07 Dec 2015 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2015/12/07/Genome-structural-variation-discovery-and-genotyping.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2015/12/07/Genome-structural-variation-discovery-and-genotyping.html</guid>
        
        <category>结构变异</category>
        
        
        <category>论文笔记</category>
        
      </item>
    
      <item>
        <title>再生障碍性贫血中的体细胞突变和克隆造血研究</title>
        <description>&lt;p&gt;这篇文章是今年7月发表在新英格兰医学上面的。研究了再生障碍性贫血在病人中的一些特点。
&lt;u&gt;都是临床统计，没干货，只是病人样本多（新英格兰上还有比这更多的）。&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;背景&lt;/strong&gt;：据现有研究资料表明，&lt;strong&gt;获得性（非遗传，后天的）&lt;/strong&gt;再生障碍性贫血的患者中有15%的患者会患上骨髓增生异常综合征或者急性髓性白血病。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;方法&lt;/strong&gt;：本文就追踪的439个病人的668份血样，其中在82个病人中获得了连续性的样本。他们对样本进行了测序或者芯片提取DNA。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;研究结果发现&lt;/strong&gt;：三分之一的再生障碍性贫血病人中有体细胞突变。这些突变产生在小部分的基因上，并且是低频突变。
其中在47%的病人中检测到了克隆造血(这是最常见的获得性突变?)。突变的数量随着年龄的增加而增加。其中，
&lt;em&gt;DNMT3A&lt;/em&gt;和&lt;em&gt;ASXL1&lt;/em&gt;的克隆尺寸倾向于随着时间推移而增大，&lt;em&gt;BCOR&lt;/em&gt;，&lt;em&gt;BCORL1&lt;/em&gt;和&lt;em&gt;PIGA&lt;/em&gt;突变大小会减小或者保持不变。
在&lt;em&gt;PIGA&lt;/em&gt;，&lt;em&gt;BCOR&lt;/em&gt;和&lt;em&gt;BCORL1&lt;/em&gt;的突变对于免疫抑制疗法有很好的响应，病人有较长，较高的无疾病进展存活期。
病人有&lt;em&gt;DNMT3A&lt;/em&gt;和&lt;em&gt;ASXL1&lt;/em&gt;基因上的突变，往往结果不好。&lt;u&gt;不管怎样，克隆动力是充满变化的(clonal dynamics were highly variable)，
并且不能被用来预测病人的治疗和长期存活率。&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;结论&lt;/strong&gt;：克隆造血在再生障碍性贫血中比较普遍，一些突变同临床治疗结果相关，高度有偏的突变集合是在坏骨髓环境下达尔文选择的证据。
体细胞克隆的样式在个体中不同时间阶段多种多样，并且频率不可预测。&lt;/p&gt;

&lt;p&gt;获得性再生障碍性贫血是因为免疫介导的造血干细胞、祖细胞破坏造成的。
表面抗体呈阳性的CD34+细胞和祖细胞会在再生障碍性贫血中均匀的减少。
在15%的病人中治疗后，会发展出骨髓增生异常综合症，或者急性髓性白血病，有的病人还会两者皆有。
这种现象被称为“克隆演化” (clonal evolution)。&lt;/p&gt;

&lt;p&gt;克隆演化很早前就被用来描述由于免疫疾病引起的癌症，但是本文中的作者认为这个词用的不恰当。
因为许多得了再生障碍贫血且有克隆造血的病人并没有发展成其他两种病。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;样本&lt;/strong&gt;&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;机构&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;病人数量&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;对照&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;NIH&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;256&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;CD3+ T cell&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;Cleveland&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;24&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;CD3+ T cell&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;Kanazawa&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;159&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;口腔粘膜细胞（22个）&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;还有82个患者测了不止一次的数据，一共收集668份血液样本。&lt;/p&gt;

&lt;h3 id=&quot;result&quot;&gt;Result&lt;/h3&gt;

&lt;h4 id=&quot;snp核形分析&quot;&gt;SNP核形分析&lt;/h4&gt;

&lt;p&gt;一共在439个病人中的156个中测到了249个突变。其中56个病人身上检测到了1-7个突变位点。
&lt;em&gt;BCOR&lt;/em&gt;和&lt;em&gt;BCORL1&lt;/em&gt;，&lt;em&gt;PIGA&lt;/em&gt;，&lt;em&gt;DNMT3A&lt;/em&gt;和&lt;em&gt;ASXL1&lt;/em&gt;这些基因上的突变占到了总数的77%。&lt;/p&gt;

&lt;p&gt;除去&lt;em&gt;BCOR&lt;/em&gt;，&lt;em&gt;BCORL1&lt;/em&gt;和&lt;em&gt;PIGA&lt;/em&gt;，其他突变的频率和突变数量都同病人的年龄正相关。&lt;/p&gt;

&lt;p&gt;在NIH的数据中，大部分的突变位点在第一次检查和6个月治疗后再次检查时的突变频率有显著的变化，6个月后的突变频率要高。
但是有突变的基因没有显著的变化。&lt;/p&gt;

&lt;p&gt;除了位点突变，染色体6pUPD区域的缺失现象在三个机构的病人中都非常显著（此现象好像是这个疾病一个明显的特征）。&lt;/p&gt;

&lt;p&gt;missense的突变同其他的nonsense，frameshift，splice site相比较有明显的偏好性（从补充材料图中我认为这种偏好性是指在某些基因中出现的多，在某些基因中出现的少）。&lt;/p&gt;

&lt;h4 id=&quot;临床相关性&quot;&gt;临床相关性&lt;/h4&gt;

&lt;p&gt;在补充材料中可以看到有突变和没有突变的两组病人中，免疫抑制治疗的疗效没有什么差别（NIH，Kanazawa分别做的，代表不同地区的病人）。&lt;/p&gt;

&lt;p&gt;然后细分到基因层面，对每个基因上的突变，是否会影响免疫抑制疗法，结果是只有&lt;em&gt;BCOR&lt;/em&gt;和&lt;em&gt;BCORL1&lt;/em&gt;这组基因的突变后，疗效有显著变化，能治愈的人比例增加(NIH群体)。&lt;/p&gt;

&lt;p&gt;对于有这些体细胞突变和没有这些体细胞突变的病人，他们的总生存期和无进展生存期也没有显著区别。&lt;/p&gt;

&lt;p&gt;之后他们用机器学习和惩罚似然逼近的方法从突变中挑选出同好的治疗响应，坏的治疗响应相关的基因（突变）。在正文中展示出较好的结果。
有&lt;em&gt;BCOR&lt;/em&gt;，&lt;em&gt;BCORL1&lt;/em&gt;和&lt;em&gt;PIGA&lt;/em&gt;基因突变的人群预后和生存期都变长。&lt;/p&gt;

&lt;p&gt;之后又用Cox比例风险模型算出，“有利”的突变同好的全局生存期相关，“不利”突变，大龄，男性，初期网织红细胞计数（initial reticulocyte count）同不好的全局生存期相关。&lt;/p&gt;

&lt;h4 id=&quot;再生障碍性贫血的克隆构型年表chronology-of-clonal-architecture-in-aplastic-anemia&quot;&gt;再生障碍性贫血的克隆构型年表(Chronology of Clonal Architecture in Aplastic Anemia)&lt;/h4&gt;

&lt;p&gt;接下来，他们对于52位病人进行了长期分析，用于研究克隆造血现象。&lt;/p&gt;

&lt;p&gt;克隆造血现象在其中85%的病人身上都有检测到。每份血液样本中的平均非同义突变数量是1.21个，随着年龄的增长，非同义突变的数量会增加。&lt;/p&gt;

&lt;p&gt;其中35位按年追踪的病人中，在诊断前就已经有克隆造血的现象。&lt;/p&gt;

&lt;p&gt;接下来，他们具体展示的三个病历（2女性，1男性）。&lt;/p&gt;

&lt;p&gt;有&lt;em&gt;DNMT3A&lt;/em&gt;，&lt;em&gt;ASXL1&lt;/em&gt;，&lt;em&gt;RUNX1&lt;/em&gt;或者&lt;em&gt;U2AF1&lt;/em&gt;突变的克隆会随着时间延长而增大。&lt;/p&gt;

&lt;p&gt;有&lt;em&gt;BCOR&lt;/em&gt;，&lt;em&gt;BCORL1&lt;/em&gt;和&lt;em&gt;PIGA&lt;/em&gt; 突变的克隆保持稳定或者减小。&lt;/p&gt;

&lt;h3 id=&quot;讨论&quot;&gt;讨论&lt;/h3&gt;

&lt;p&gt;讨论部分就是重复上面的内容，说明他们发现了什么。&lt;/p&gt;

&lt;h3 id=&quot;单词本&quot;&gt;单词本&lt;/h3&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;Clonal Hematopoiesis&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;克隆造血&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;Aplastic Anemia&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;再生障碍性贫血&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;pancytopenia&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;各类血细胞减少&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;immunosuppressive therapy&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;免疫抑制疗法&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;myelodysplastic syndromes&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;骨髓增生异常综合症&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;acute myeloid leukemia&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;急性髓性白血病&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;progression-free survival&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;无疾病进展存活期&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;misnomer&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;用词不当&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;X-chromosome skewing&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;X染色体倾斜失活&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;paroxysmal nocurnal hemoglobinuria&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;振发性睡眠性血红蛋白尿症&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;cytogenetic&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;细胞遗传&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;uniparental&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;单亲&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;disomy&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;二体&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;implicate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;牵连&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;buccal&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;颊，口腔&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;smear&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;涂片，涂抹&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;specimen&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;标本&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;morphologic dysplasia&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;形态发育不良&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;vouch&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;担保&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;integrity&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;完整性&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;completeness&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;完备性&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;myeloid&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;骨髓&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;multilineage&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;多系&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;amplicon&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;扩增子&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;recapitulate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;概括&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;hazard&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;风险&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;reticulocyte&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;网织红细胞&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;chronology&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;年表，年历&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;depict&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;描绘&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;favorable&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;有利&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;hemoglobin&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;血红蛋白&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;platelet&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;血小板&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;cyclosporine&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;环孢素&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;asterisk&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;星号&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;antithymocyte&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;抗胸腺细胞&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;globulin&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;球蛋白&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;thrombocytopenia&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;血小板减少症&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;megakaryocyte&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;巨核细胞&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;dysplasia&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;发育不良&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;compatible&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;兼容&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

</description>
        <pubDate>Thu, 03 Dec 2015 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2015/12/03/somatic-mutations-and-clonal-hematopoiesis-in-aplastic-anemia.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2015/12/03/somatic-mutations-and-clonal-hematopoiesis-in-aplastic-anemia.html</guid>
        
        <category>血液病</category>
        
        
        <category>论文笔记</category>
        
      </item>
    
      <item>
        <title>非达尔文细胞演化模型在肝细胞癌上的一个研究</title>
        <description>&lt;p&gt;这篇文章花了好几年，终于在PNAS发出来了。是PNAS哦～&lt;code&gt;-_&amp;gt;-&lt;/code&gt;
PNAS发文章分为三类，具体请大家自己从网上搜索。这篇文章是（美国国家科学院）院士自己挂名的文章。
其中reviewer都是老朋友，一位是给天皇儿子当老师的Takashi Gojobori，另一位是jianzhi zhang。
可以说这篇文章是那位院士用掉了自己4篇文章的一个名额，送到PNAS的。&lt;/p&gt;

&lt;p&gt;当时结果出来的时后据说投哪都被拒，每每在不同机构讲这个工作汇报（不知怎的，可能是时间原因，我一次都没听过），Wu老师总是有点忿忿不平，感觉太前沿的东西，大家都不相信。&lt;/p&gt;

&lt;p&gt;但时到今日，我看了整篇文章后，感觉这工作被拒很正常，数据量、计算和实验方法来支持这个结论有些勉强。&lt;/p&gt;

&lt;p&gt;另外，我的tags取得比较纠结，整篇工作没抓住什么重点。&lt;/p&gt;

&lt;p&gt;下面简单介绍一下具体的内容。&lt;/p&gt;

&lt;p&gt;首先在Introduction中介绍了达尔文理论，肿瘤内部对新突变是有选择的。选择会在群体层面减少突变异质性，达尔文演化模型多被用于描述在coding区域的总体突变情况。
但是这个理论从未在实际定量的角度被证实过。一般研究中常用&lt;q&gt;肿瘤中总体的编码区域的突变数量\(M_{ALL}\)&lt;/q&gt;来描述达尔文演化理论。&lt;/p&gt;

&lt;p&gt;“后现代观点”中，自然群体中的遗传多样性同非达尔文模型很大程度上一致。&lt;/p&gt;

&lt;p&gt;本中从一块肝癌组织上获得286个小样本，就是一个圆形的区域，分成四个象限，每块小组织是直径位0.5mm高度位1mm的圆锥体。每个小样本估计含有20000个细胞。
这些样本中只有23个样本做了测序，其中12个样本在区域的外围，11个样本在内部靠中间的地方。
在编码区域和剪接位点，一共发现了269个SNV。其中在多个样本中出现的SNV可以说是进行了样本交叉验证，算可靠的。对于只在一个样本中出现的SNV，需要sequenom genotyping或者sanger sequencing检测。
检测结果表明这些也都是可靠出现的SNV。本文在研究中不考虑假阳性问题，认为只要是测序或者质谱或者sanger测出的SNV就是真的SNV，所以没有假阳的数据，而假阴性问题由于样本数量大，所以可忽略不计。
本文也研究了CNA，平均每个样本中检测到23.6个CNA，分布在14个染色体。由于CNA的产生机理比SNV要复杂，并且不好用实验来检测，所以后面只研究SNV的变化。&lt;/p&gt;

&lt;p&gt;然后文中，将somatic mutation分成两类，一类是固定(fixed)的somatic mutation，这些mutation的特点是在所有的癌症样本中都出现，但是在正常的样本中不出现。
多样性动态（polymorphic）的mutation，定义为不在所有肿瘤样本中出现的mutation。上面找出的269个mutation中209个是固定的，35个是多样性的。
剩下的25个位点，被分成两部分，一部分是22个可能固定的，另一部分3个是可能多样性的，这些位点就不再研究了（不知道这些位点是怎么被分类成这样的）。&lt;/p&gt;

&lt;p&gt;他们用35个多样性的mutation，来确定克隆的大小和划定克隆的界线。&lt;/p&gt;

&lt;p&gt;对于固定的mutation，他们从TCGA上找了在肝癌中出现的一个driver基因列表，看在这些基因里有多少有mutation。然后他们发现在6个假定的diver基因中存在mutation。
另外35个多样性的mutation完全不属于这个基因列表集合。&lt;/p&gt;

&lt;p&gt;之后，35个多样性的mutation确定了23个样本中存在20个克隆。
在这里他们定义克隆是一类具有&lt;q&gt;唯一存在于这些细胞中的突变&lt;/q&gt;的细胞集合。定义在\(n\)个样本中出现\(i\)次的克隆数量为\(\Phi\)，对于[\(\Phi_{i}\),i in 1 to n-1]这个向量，就是群体遗传学中的allele frequency 谱。
例如：[\(\Phi_{i}\)=18,1,1,0,0,0,…;i=1-22]，n=23=18&lt;em&gt;1+1&lt;/em&gt;2+1*3，也就是说，在20（=18+1+1）个克隆中包含了18个单突变（只在一个样本中出现），1个双突变（在2个样本中发现），1个三突变（在三个样本中发现）。
他们用&lt;q&gt;Simpson ‘s diversity index &lt;/q&gt;计算了两个随机的样本的遗传相似性非常低。&lt;/p&gt;

&lt;p&gt;根据用35个多样性mutation确定克隆大小的方法，我觉得也可以更换定义，使得克隆数减少。所以这个定义是否具有普遍性，是一个问题。&lt;/p&gt;

&lt;p&gt;之后他们还画出了这些克隆的相互关系。然后根据genotype画出了克隆的大小和空间关系。从系谱上分析，分开的克隆是隔离的，说明细胞间的运动在实体瘤中较为有限。
另外克隆是“向外”长的，衍生的克隆大多在外层。&lt;/p&gt;

&lt;p&gt;接下来是假设检验：原假设是所有克隆有同样的生长速率（非达尔文理论），备择假设是达尔文理论会选择一些克隆，这些克隆生长速率快于其他的克隆。&lt;/p&gt;

&lt;p&gt;经过他们的计算，结果无法拒绝原假设，所以说结果支持非达尔文理论。&lt;/p&gt;

&lt;p&gt;后面又建立了模型来说明肿瘤整体的遗传多样性和肿瘤内部的遗传多样性。（这个我觉得不管怎么做，肯定结论就是又多样性，没有得出什么新的结论和现象）。&lt;/p&gt;

&lt;p&gt;在讨论中，他们又详细解释了为什么非达尔文理论同实验现象一致，达尔文选择却很难看到（一个原因是在bulk数据中突变的频率非常低，难以发现符合达尔文选择的现象）。&lt;/p&gt;

&lt;p&gt;&lt;u&gt;这个文章看了之后，间隔的时间太常，在写这篇笔记时很多内容已经记忆不准确了。&lt;/u&gt;&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;caveat&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;警告&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;periphery&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;外围&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;terminology&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;术语&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;polymorphic&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;多态性&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;emanate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;散发&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;progenitor&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;祖先&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;segregate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;隔离&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;sector&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;部门&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;stifle&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;扼杀&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;blunt&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;迟钝&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;loosen up&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;放松&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;adjuvant&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;辅助药物&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;ascertain&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;确定&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;delineate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;划定&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;genealogy&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;系谱，家谱&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;posit&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;假定&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
</description>
        <pubDate>Wed, 25 Nov 2015 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2015/11/25/Extremely-high-genetic-diversity-in-a-single-tumor-points-to-prevalence-of-nonDarwinian-cell-evolution.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2015/11/25/Extremely-high-genetic-diversity-in-a-single-tumor-points-to-prevalence-of-nonDarwinian-cell-evolution.html</guid>
        
        <category>PNAS</category>
        
        <category>HCC</category>
        
        
        <category>论文笔记</category>
        
      </item>
    
      <item>
        <title>对于芯片数据中fold change方法和t统计量方法得比较</title>
        <description>&lt;p&gt;A comparison of fold-change and the t-statistic for microarray data analysis，这文章是大神Robert Tibshirani和Daniela M. Witten（是Robert的一个学生，现在华盛顿大学生统专业做PI）写的。整篇文章&lt;q&gt;每句话都非常重要！&lt;/q&gt;&lt;/p&gt;

&lt;p&gt;对于芯片数据中control和treatment样本间信号强度的比较，筛选差异大的基因，会用到fold-change或者t-statisitic。
文章作者比较了这两种情况的计算出的差异基因之间的差别。
说明在没有背景噪声的情况下用fc比较好，在有背景噪声的情况下用modified t-statisitic比较好。
作者还指出&lt;q&gt;可重复性&lt;/q&gt;同&lt;q&gt;精确性&lt;/q&gt;之间也不是完全一致。
传统的t检验在可重复性和精确性上都不如fold-change和改良的t检验，所以在芯片数据分析时，不要用传统的t检验。&lt;/p&gt;

&lt;h3 id=&quot;introduction&quot;&gt;Introduction&lt;/h3&gt;

&lt;p&gt;这部分，文章重点介绍了他们的实验方法，用真实的microarry数据和模拟的数据来做分析，采用的筛选基因的方法包括传统t检验，改良的t检验，两种fold-change方法。
模拟后结果说明用究竟是用fold-change或者改良的t检验取决于我们的研究是对&lt;u&gt;基因表达量的绝对变化&lt;/u&gt;感兴趣还是对&lt;u&gt;基因表达量相对于其噪声的变化&lt;/u&gt;感兴趣。&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Therefore, a researcher’s decision to use fold-change or a modified t-statistic should be based on &lt;code&gt;biological&lt;/code&gt;, rather than statistical, considerations.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3 id=&quot;statistical-measures-of-differential-expression&quot;&gt;Statistical measures of differential expression&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;方法1. 传统t检验的统计量&lt;/strong&gt;&lt;/p&gt;

\[T_i=\frac{\bar{x_i}-\bar{y_i}}{s_i}\]

&lt;p&gt;其中\(s_i\)是对于基因i的组内样本重复间的标准差。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;方法2. 改良的t统计量&lt;/strong&gt;&lt;/p&gt;

\[T^{&quot;}_{i}= \frac{\bar{x_i}-\bar{y_i}}{s_i+s_0}\]

&lt;p&gt;其中\(s_0\)是为了让\(T^{&quot;}_{i}\)的变异系数最小的一个常量，在本文中用的是Significance Analysis of Microarrays (Tusher et al. 2001)中的计算方法。
我在wiki&lt;sup id=&quot;fnref:1&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:1&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;上查了一下，上面说\(s_0\)是根据\(\alpha\)分位数来定的。另外有些文章&lt;sup id=&quot;fnref:2&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:2&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;中直接将\(s_0\)定义成\(s_i\)的中位数。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;方法3. 标准fold-change&lt;/strong&gt;&lt;/p&gt;

\[FC_i=\frac{\bar{x}^{&apos;}_{i\cdot}}{\bar{y}^{&apos;}_{i\cdot}}\]

&lt;p&gt;其中\(\bar{x^{&apos;}_{ij}}\)和\(\bar{y^{&apos;}_{ij}}\)是基因i在组内样本j的原始表达量（control除以treatment）。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;方法4. 另一种fold-change算法&lt;/strong&gt;&lt;/p&gt;

\[FC_i=\bar{x}^{&apos;}_{i\cdot}-\bar{y}^{&apos;}_{i\cdot}\]

&lt;p&gt;其中我们标记方法3的fold-change为\(FC_{ratio}\)，方法4中的为\(FC_{difference}\)。&lt;/p&gt;

&lt;p&gt;另外，我们可以看出在增加\(s_0\)的大小后，方法2的排序结果会逼近方法4的排序结果。
\($s_0\)这个常数越大，t统计量的分母越一致，那么对基因排序起到关键作用的就是分子，分子又通方法4的一样…..所以方法2和方法4的结果会比较一致。&lt;/p&gt;

&lt;p&gt;为了证明高度可重复的统计量并不是十分准确的，他们在文中构建了一个人工统计量：&lt;/p&gt;

\[P_i=(\bar{x_{i\cdot}})^3-(\bar{y_{i\cdot}})^3\]

&lt;p&gt;P代表power，文中说不建议在实际中使用这个人工统计量。&lt;/p&gt;

&lt;h3 id=&quot;overview-of-the-genes-selected-using-the-different-measures&quot;&gt;Overview of the genes selected using the different measures&lt;/h3&gt;

&lt;p&gt;文中分别用模拟的数据，按上面的4个方法来计算差异基因。&lt;/p&gt;

&lt;p&gt;从下图中可以看出，按普通的t统计量挑选的基因的标准差都很小，
fold-change方法找到的基因在control和treatment里有很大的差异，
改良后的t统计量找到的基因有较小的标准差和组间较大的差异。
由于普通的t统计量和fold-change的结果完全不一样，对于研究者来说，要考虑某个基因在研究中是否重要的根据是&lt;u&gt;表达量的偏移&lt;/u&gt;还是&lt;u&gt;标准差的偏移&lt;/u&gt;。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/h9vgnOe.png&quot; alt=&quot;Imgur&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;simulated-and-real-data-concordance&quot;&gt;Simulated and real data Concordance&lt;/h3&gt;

&lt;p&gt;这节主要介绍了他们用的两种模拟策略：一种是基于正态分布的偏移，另一种是基于样本分组间均值和方差的偏移。&lt;/p&gt;

&lt;p&gt;关于一致(Concordance)的定义：在一个基因（挑选后的）集合中的基因也在另一个基因集合中的比例。&lt;/p&gt;

&lt;h3 id=&quot;analysis-of-the-accuracy-of-the-different-measures&quot;&gt;Analysis of the accuracy of the different measures&lt;/h3&gt;

&lt;p&gt;下图就是他们分析的一个结果，可以看到样本量在红线左侧时，用\(FC_{difference}\)比较好，样本量很大时就用改良的t统计量较好。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/kYRA3JS.png&quot; alt=&quot;Imgur&quot; /&gt;&lt;/p&gt;

&lt;p&gt;其实从我们用的方法来寻找差异基因，一共就度量两类差异：
第一类是\(\mid \mu_{control} - \mu_{treatment} \mid\) ，另一类是\(\mid \frac{\mu_{control} - \mu_{treatment}}{\sigma}\mid\)。
后者主要是标准化基因间的噪声（方差），因为基因均值之间的差异可能是源于基因间表达量的方差有差异。&lt;/p&gt;

&lt;p&gt;接下来，他们又考虑了一个比较极端的例子。&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt; &lt;/th&gt;
      &lt;th&gt;Control&lt;/th&gt;
      &lt;th&gt;Treatment&lt;/th&gt;
      &lt;th&gt;FCdifference&lt;/th&gt;
      &lt;th&gt;FCratio&lt;/th&gt;
      &lt;th&gt;T&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;Gene1&lt;/td&gt;
      &lt;td&gt;150, 200, 250&lt;/td&gt;
      &lt;td&gt;1, 50, 100&lt;/td&gt;
      &lt;td&gt;3.51&lt;/td&gt;
      &lt;td&gt;3.97&lt;/td&gt;
      &lt;td&gt;1.69&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Gene2&lt;/td&gt;
      &lt;td&gt;101.1, 101.2, 101.3&lt;/td&gt;
      &lt;td&gt;100.1, 100.2, 100.3&lt;/td&gt;
      &lt;td&gt;0.014&lt;/td&gt;
      &lt;td&gt;1.01&lt;/td&gt;
      &lt;td&gt;12.25&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;这个例子中Gene1表达量在两组间差异很大，Gene2表达量在两组间差异很小。但是如果用t统计量来衡量的话，Gene2远大于Gene1。&lt;/p&gt;

&lt;p&gt;我自己计算的结果同论文上的不太一样，Gene1的t统计量是3.6844，而不是1.69。&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;t.test(c(101.1,101.2,101.3),c(100.1,100.2,100.3))

  Welch Two Sample t-test

  data:  c(101.1, 101.2, 101.3) and c(100.1, 100.2, 100.3)
  t = 12.247, df = 4, p-value = 0.0002552
  alternative hypothesis: true difference in means is not equal to 0
  95 percent confidence interval:
  0.7733042 1.2266958
  sample estimates:
  mean of x mean of y 
  101.2     100.2 

t.test(c(150,200,250),c(1,50,100))

  Welch Two Sample t-test

  data:  c(150, 200, 250) and c(1, 50, 100)
  t = 3.6844, df = 3.9996, p-value = 0.02113
  alternative hypothesis: true difference in means is not equal to 0
  95 percent confidence interval:
  36.87866 262.45467
  sample estimates:
  mean of x mean of y 
  200.00000  50.33333 

&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;那么在生物学家的眼中，究竟哪个基因是需要关注的基因呢？我觉得应该是Gene1吧。&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;From this perspective, the question of whether the fold-changes or a modified t-statistic results in more accurate gene orderings is &lt;strong&gt;really a biological one&lt;/strong&gt;, 
rather than a statistical one, as it depends on what types of expression differences between control and treatment have biological relevance.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3 id=&quot;analysis-of-the-reproducibility-of-the-different-measures&quot;&gt;Analysis of the reproducibility of the different measures&lt;/h3&gt;

&lt;p&gt;接下来他们又检测了各种方法的可重复性。 从下面的两张图中可以看出前面自己定义的P统计量有很好的重复性（下面第一个图），但是没有很好的精确性（下面第二个图）。
因而说明了，重复性和精确性在某些检验指标中不可间得的问题。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/zUiyLyf.png&quot; alt=&quot;Imgur&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/szsx7pi.png&quot; alt=&quot;Imgur&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;conclusions&quot;&gt;Conclusions&lt;/h3&gt;

&lt;ol&gt;
  &lt;li&gt;\(FC_{difference}\)和改良的t检验都是t检验的一种改良形式，也就是有不同的\(s_0\)。一些\(s_0\)的选取可以提高精确性。&lt;/li&gt;
  &lt;li&gt;别用普通的t检验。&lt;/li&gt;
  &lt;li&gt;可重复性高并不暗示着精确性高，The issues of reproducibility and accuracy should be kept separate when evaluating the performance of a statistic.&lt;/li&gt;
  &lt;li&gt;在实际分析中并没有FC和t统计量谁好谁坏的说法，都要看生物学意义。有噪声干扰就用改良的t检验，没有噪声干扰就用FC。&lt;/li&gt;
&lt;/ol&gt;

&lt;h3 id=&quot;参考资料&quot;&gt;参考资料&lt;/h3&gt;

&lt;div class=&quot;footnotes&quot; role=&quot;doc-endnotes&quot;&gt;
  &lt;ol&gt;
    &lt;li id=&quot;fn:1&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Significance_analysis_of_microarrays&quot;&gt;Significance analysis of microarrays&lt;/a&gt; &lt;a href=&quot;#fnref:1&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:2&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;&lt;a href=&quot;http://www.tu.edu.sg/home/elpwang/PDF_web/07_GPB.pdf&quot;&gt;A Modified T-test Feature Selection Method and Its Application on the HapMap Genotype Data&lt;/a&gt; &lt;a href=&quot;#fnref:2&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
  &lt;/ol&gt;
&lt;/div&gt;
</description>
        <pubDate>Tue, 17 Nov 2015 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2015/11/17/A-comparison-of-fold-change-and-the-t-statistic-for-microarray-data-analysis.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2015/11/17/A-comparison-of-fold-change-and-the-t-statistic-for-microarray-data-analysis.html</guid>
        
        <category>fold-change</category>
        
        <category>t-statistic</category>
        
        <category>modified t-statistic</category>
        
        
        <category>论文笔记</category>
        
      </item>
    
      <item>
        <title>新博客主题：书签</title>
        <description>&lt;p&gt;在网站首页加了一个新的连接：&lt;a href=&quot;http://yulijia.net/bookmarks/&quot;&gt;书签&lt;/a&gt;，是我做的类似于Product Hunt的博客主题，
还没有做外观的设计，主要实现的是每个post的连接都指向一个外部网站。
这个子页面主要用来记录我随手在网上看到的有用信息，以及我对这个信息的简要评论，
如果今后有时间对这个信息写了长篇博客，那么这个连接就会在书签中消失。&lt;/p&gt;

</description>
        <pubDate>Tue, 10 Nov 2015 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2015/11/10/new-blog-theme.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2015/11/10/new-blog-theme.html</guid>
        
        <category>书签</category>
        
        <category>bookmarks</category>
        
        <category>Jekyll</category>
        
        <category>ProductHunt</category>
        
        
        <category>聚类不能</category>
        
      </item>
    
      <item>
        <title>度量距离时对数据做不做比例归一化(scale)</title>
        <description>&lt;p&gt;当我们处理数据时时常会遇到是否要对数据进行比例调整(scale)的问题，那么究竟应不应该做比例调整要取决于数据的实际含义。&lt;/p&gt;

&lt;p&gt;前一段时间为了弄明白Gower Distance在网上查找了一个slides&lt;sup id=&quot;fnref:1&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:1&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;，里面介绍了很多常用距离，并且简单解释了数据比例尺度调整的问题。&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;对于4个人的年龄和身高，有数据&lt;/li&gt;
&lt;/ol&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;Person&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;Age [years]&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;Height [cm]&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;A&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;35&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;190&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;B&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;40&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;190&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;C&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;35&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;160&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;D&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;40&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;160&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;画图可以看到A、B比较近，C、D比较近。&lt;/p&gt;

&lt;p&gt;有些地区喜欢用feet来作为身高的度量单位，如果换成feet，数据会变成&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;Person&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;Age [years]&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;Height [feet]&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;A&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;35&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;6.232&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;B&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;40&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;6.232&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;C&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;35&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;5.248&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;D&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;40&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;5.248&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;画图的话可以看到此时A、C比较近，B、D比较近。&lt;/p&gt;

&lt;p&gt;那么究竟哪两个人的数据比较接近呢？&lt;/p&gt;

&lt;p&gt;我们来做一下scale,&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;Person&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;Age [scaled]&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;Height [scaled]&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;A&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;-0.87&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;0.87&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;B&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;0.87&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;0.87&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;C&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;-0.87&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;-0.87&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;D&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;0.87&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;-0.87&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;结果发现这四个人距离差不多，分不出子类。&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;在来看另一种情况&lt;/li&gt;
&lt;/ol&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;Object&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;x1&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;x2&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;A&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;13.3&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;38.0&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;B&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;12.4&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;45.4&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;C&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;-122.7&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;45.6&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;D&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;-122.4&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;37.7&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;有四个观测，分别知道它们的变量x1和变量x2数值，在R中&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;scale(dat)&lt;/code&gt; 会发现四个观测分散很远，如果直接画图，就发现其实A、B距离近，C、D距离远。&lt;/p&gt;

&lt;p&gt;如果x1和x2分别代表经度和纬度，那么这个数据就不应该标准化，A、B两个地点本来就是距离近，标准化后它本身的特点就不存在了。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;到底用不用归一化呢？&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.做不做归一化，要知道&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;变量取值范围大，这个变量就在计算距离时权重大&lt;/li&gt;
  &lt;li&gt;距离的远近是由归一化后的数值决定的，不同的归一化，最后求出的距离也不一样&lt;/li&gt;
  &lt;li&gt;归一化对每个变量赋予同样大的权重&lt;/li&gt;
  &lt;li&gt;另一种可行方法是重赋值权重&lt;/li&gt;
&lt;/ul&gt;

\[d(i,j)=\sqrt{w_{1}(x_{i1}-x_{j1})^2+w_{2}(x_{i2}-x_{j2})^2+...+w_{n}(x_{in}-x_{jn})^n}\]

&lt;p&gt;&lt;strong&gt;2.这些情况下必须归一化&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;变量单位不同&lt;/li&gt;
  &lt;li&gt;我们自己期望属于要有相同的权重&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;3.这些情况下不要归一化&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;变量单位相同&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;4.一般情况下&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;请归一化&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Reference&lt;/strong&gt;&lt;/p&gt;

&lt;div class=&quot;footnotes&quot; role=&quot;doc-endnotes&quot;&gt;
  &lt;ol&gt;
    &lt;li id=&quot;fn:1&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;https://stat.ethz.ch/education/semesters/ss2012/ams/slides/v4.2.pdf &lt;a href=&quot;#fnref:1&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
  &lt;/ol&gt;
&lt;/div&gt;
</description>
        <pubDate>Fri, 06 Nov 2015 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E6%89%80%E6%80%9D%E6%89%80%E6%82%9F/2015/11/06/To-scale-or-not-to-scale.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E6%89%80%E6%80%9D%E6%89%80%E6%82%9F/2015/11/06/To-scale-or-not-to-scale.html</guid>
        
        <category>scale</category>
        
        
        <category>所思所悟</category>
        
      </item>
    
      <item>
        <title>看过且收藏的一些电影</title>
        <description>&lt;p&gt;整理硬盘，要删除点东西，一看电影都这么占空间，所以就决定删了电影，在删之前先小结一下。&lt;/p&gt;

&lt;p&gt;说收藏其实不太准确，因为在国内看电影绝大多数是网络盗版，没有付费，收藏也不是正经的买碟，下载了别人上传的内容。&lt;/p&gt;

&lt;h3 id=&quot;美丽心灵&quot;&gt;美丽心灵&lt;/h3&gt;

&lt;p&gt;今年最唏嘘的事情就是纳什在领完奖回家时做出租车被撞死了。
在看美丽心灵这部片子时，感受最大的特点是——完全没写什么事实。我是先看完纪录片和别人的记事报道，才看的这部电影，看了两三次，才完全看完。
在光辉的外表下，纳什只是一个（自愈）的精神病人。当然，更痛苦的是他的二儿子，也得了这种病，并且完全没有好的迹象。
具体的可以去看玑衡写的《我所认识的约翰纳什》，以及纳什的纪录片。
我特别有感触的是在纪录片里，他妻子说自己的儿子也有这种病（需要人照顾，不能完全自理），但是现在她还能照顾孩子，如果纳什和她不在了，她的孩子会怎么样？
结果，她和纳什就一起突然离世。
美丽心灵是一部奥斯卡获奖影片，但是它内容描写的太美好，而现实往往是非常残酷的。&lt;q&gt;一人得精神疾病，会影响整个家庭，不可逆的。&lt;/q&gt;
并且不是说数学家都是mad and crazy，中国宣传了陈景润之后，数学家的形象明显都变味了，结果美国宣传了一个“疯子”，这数学家的形象什么时后才能在人们的心中变得正常起来。&lt;code&gt;-_-|||&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;还有就是，没机会在他活着时见面了，克里克也早没了，现在还想见的就只剩下沃森和Le Guin，不知道今后有没有机会。&lt;/p&gt;

&lt;p&gt;&lt;u&gt;我想亲自见面的前辈贤者都在不断变成先贤，而我也在不断变老，就是这样，完成于2015年还剩下2个月的10月31日。&lt;/u&gt;&lt;/p&gt;

&lt;h3 id=&quot;黑客帝国&quot;&gt;黑客帝国&lt;/h3&gt;

&lt;p&gt;硬盘里的黑客帝国三部曲我看了又看，感觉这是我看过的最好看的片子（说道这里，我想到了前几年特火的阿凡达，我完全没觉得它做的又多好，各种外星生物和殖民的创意感觉游戏中都已经出现过了）。&lt;/p&gt;

&lt;p&gt;黑客帝国的逻辑构思是这部片子最大的亮点，第一次看之前，我只看过它的几个动画版，所以对整部剧没有任何了解，看了正片之后觉得这真是厉害：人被当作燃料，思维进入计算机的世界继续存活，所有人都变成了一串代码，由更高级的计算机人工智能系统控制，程序里有bug，会导致异常的事件和人物的出现，计算机人工智能系统为了维护统治，而不断的捕杀这些想知道真相的人。
这部片子引出了一句经典的网络用语：&lt;q&gt;脑后插管&lt;/q&gt;。看完后估计大家都会思考是不是我们现在所存在的空间就是一个Matrix。
也就是宇宙。当然这个说法是毫无科学根据的。
说个体外话，我觉得逃出太阳系没准是未来人们必须要完成的生存任务。
那么宇宙的边界，宇宙大爆炸前没有时间没有空间，爆炸后延伸出来的物质究竟是向哪里扩散？
扩散的边界会是什么样子？理解这些问题会帮助人类向太阳系外前进。&lt;/p&gt;

&lt;p&gt;另外这个三部曲，我实在是舍不得删除。&lt;code&gt;;)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;但是我对导演&lt;del&gt;兄弟/兄妹/&lt;/del&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/The_Wachowskis&quot;&gt;姐妹&lt;/a&gt; 实在是理解不能&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;_(:з」∠)_&lt;/code&gt;。&lt;/p&gt;

&lt;h3 id=&quot;降世神通最后的气宗&quot;&gt;降世神通：最后的气宗&lt;/h3&gt;

&lt;p&gt;我没看过动画，偶然间看的这部片子，特效还不错（我看的少，所以评价一般都很高），里面的武术动作也比较精彩。
但是网上整体评价不高，我也不知道怎么回事，我就看个热闹。&lt;/p&gt;

</description>
        <pubDate>Fri, 30 Oct 2015 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E5%BD%B1%E8%A7%86%E8%AF%84%E8%AE%BA/2015/10/30/some-movies.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E5%BD%B1%E8%A7%86%E8%AF%84%E8%AE%BA/2015/10/30/some-movies.html</guid>
        
        <category>美丽心灵</category>
        
        <category>黑客帝国</category>
        
        <category>最后的气宗</category>
        
        
        <category>影视评论</category>
        
      </item>
    
      <item>
        <title>基因表达与spiked-in</title>
        <description>&lt;p&gt;&lt;strong&gt;Revisiting Global Gene Expression Analysis&lt;/strong&gt;这篇文章在刚发表的时候我们实验室就研读过，但是当时由于自己关注不够多，并且自己处理的数据进行了比例转换所以不涉及这个问题。
但是前一段时间又看了一遍这篇文章，我们都知道在single cell RNA表达分析中一般都要用spiked-in来解决normalization的问题。
但是也有很多单细胞表达量的分析没有做这个分析。
由于同第一次看这篇文章已经有很久了，我早已忘记spiked-in主要应用在肿瘤的研究中，所以现在觉得只要是肿瘤的研究都要做这个分析，才能准确确定表达量。
今天我开始有时间好好读一遍这篇文章，发现文章中提到的表达量normalization用到的两个样本high c-Myc和low c-Myc都是&lt;u&gt;同样的细胞数量&lt;/u&gt;，所以对于bulk数据，这个方法好像没法用。
Encode已经把spiked-in当作标准流程了，新上传的RNA表达量数据有些已经带有&lt;a href=&quot;https://www.encodeproject.org/experiments/ENCSR466KZY/&quot;&gt;spiked-in&lt;/a&gt;了，我需要在去检查一下究竟那些数据是单细胞（定量细胞的）还是bulk（组织）的&lt;code&gt;大致看了一下，好像tissue的就有&lt;/code&gt;。&lt;/p&gt;

&lt;p&gt;现在简单复述一下这篇文章的内容。&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;首先以往研究中发现c-Myc高的细胞中很多基因的表达水平整体提高，整体的RNA水平要比c-Myc低的细胞高出2-3倍。
这个现象引出问题：以往的标准化方法没有考虑到整体表达水平的升高和抑制，这样会导致解读RNA表达量数据出现问题。&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/Laucfou.png&quot; alt=&quot;Img&quot; /&gt;&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;如上图所示，AB图中两个细胞的RNA水平一致，所以标准化后可以看到基因B和E表达量是明显升高的。
对于CD图中的两个细胞中的一个细胞表达了比另一个细胞多1到2倍的RNA，如果还用正常的标准化方法可以看到A、G、I这三个基因表达量上升。
而D、E、F这三个基因表达量下降。但实际情况呢，其实这些基因基本上表达量都升高了。
&lt;q&gt;这个标准化产生的问题是基于这样一个假设，即我们认为每个细胞的所有mRNA表达水平是一致的。&lt;/q&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;进一步说明我们常用的分析方法将这种表达量的差异看作技术误差，也就是理解为噪声，
并希望在研究中对于不同的样本或实验之间的&lt;q&gt;表达水平&lt;/q&gt;要有同样的中位数，或均值，或在一个范围内的表达量分布要基本一致。&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;为了得到可靠的基因表达量，文章中采用spiked-in 标准，加入表达量基本确定的RNA作为参照。
他们分别在Microarrays，RNA-seq以及Nanostring中做了实验，加入spiked-in RNA的表达谱变化更接近真实情况。
另外，做实验时严格统计了c-Myc高和c-Myc低的细胞数目&lt;sup id=&quot;fnref:1&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:1&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;在同等细胞数目的条件下进行的RNA表达情况的分析。&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;当无法具体统计细胞数目时怎么办？
When cell counting may be problematic, as for expression experiments from solid tumors or tissues, DNA content may be used as a surrogate if ploidy and DNA replication profiles are also characterized to prevent the introduction of a DNA content-based artifact.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;以前的全基因组表达量数目中有多少我们已经解读错了？
How prevalent is misinterpretation of genome-wide expression data due to the assumption that cells produce similar levels of total RNA? 
The answer is likely related to the prevalence of regulatory mechanisms that globally amplify or suppress transcription.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;最后对于RPKM的标准化可以用R包&lt;em&gt;affy&lt;/em&gt;中的loess.normalize&lt;sup id=&quot;fnref:2&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:2&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;来实现。说白了就是做回归平滑的时后可以选取所有的样本点（老方法），或者只选取一部分样本点（spiked-in的RNA，新方法）。&lt;/p&gt;

&lt;p&gt;备注：&lt;/p&gt;

&lt;div class=&quot;footnotes&quot; role=&quot;doc-endnotes&quot;&gt;
  &lt;ol&gt;
    &lt;li id=&quot;fn:1&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;Cell number was determined by counting cells with C-hip disposable hemocytometers (Digital Bio) and equivalent numbers of high- and low-Myc cells were harvested. &lt;a href=&quot;#fnref:1&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:2&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;The names “lowess” and “loess” are derived from the term “locally weighted scatter plot smooth”. &lt;a href=&quot;#fnref:2&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
  &lt;/ol&gt;
&lt;/div&gt;
</description>
        <pubDate>Mon, 26 Oct 2015 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2015/10/26/Revisiting-Global-Gene-Expression-Analysis.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2015/10/26/Revisiting-Global-Gene-Expression-Analysis.html</guid>
        
        <category>基因表达量</category>
        
        <category>spiked-in</category>
        
        <category>肿瘤</category>
        
        
        <category>论文笔记</category>
        
      </item>
    
      <item>
        <title>长寿很重要</title>
        <description>&lt;p&gt;对，我说的就是今年诺贝尔生理及医学奖。恭喜屠呦呦和另外两位获奖者。&lt;/p&gt;

&lt;p&gt;今年的奖偏向临床医学，希望以后能有更多振奋人心的临床应用获奖。&lt;/p&gt;

&lt;p&gt;在说个无关的感悟，个体化医疗正在步入人们的生活，在身边的人谈论这个的越来越多，美国吹什么风，就指导了国内近几年的新产业方向。&lt;/p&gt;

&lt;p&gt;我这篇文章的英文链接是临床应用，结合前一段时间同未来医生的谈话，这个方向是十年后能成真的一个深入人们生活的平常事件，希望自己能持续关注。&lt;/p&gt;

&lt;p&gt;—-20151006—–&lt;/p&gt;

&lt;p&gt;&lt;q&gt;中医与西医&lt;/q&gt;&lt;/p&gt;

&lt;p&gt;补充一些内容，由于这个奖颁给了Tu 并且同中医药有一定的关系，现在对于中医西医有没有用的争论又开始了。&lt;/p&gt;

&lt;p&gt;聪明的中国和印度记者在诺贝尔奖的记者会上也问了这个问题，我觉得&lt;a href=&quot;http://www.guokr.com/post/702890/&quot;&gt;果壳网给的翻译&lt;/a&gt;能说明问题了（上网不便我没有找原文）&lt;/p&gt;

&lt;p&gt;另外这个奖不代表中医的胜利或者西医的胜利，而是&lt;u&gt;现代医学&lt;/u&gt;的胜利。
中西医都有传统医学，都有愚昧不科学的地方，这个工作是发掘&lt;u&gt;传统医学&lt;/u&gt;中药物的关键成分是哪个化合物并提取出来。&lt;/p&gt;

&lt;p&gt;&lt;code&gt;废医验药&lt;/code&gt;不是一句空话，要废除愚昧的医学理论，验证传统草药的真正有用成分，这才是&lt;u&gt;传统中国医药&lt;/u&gt;在新世纪焕发光辉的办法。是一条可行之路，必经之路。&lt;/p&gt;

&lt;p&gt;&lt;q&gt;诺奖推荐&lt;/q&gt;&lt;/p&gt;

&lt;p&gt;这个要感谢国外华人华侨学者的强力推荐。这次两个得奖内容都是帮助贫困地区的人们摆脱疾病的困扰。
乍一看挺不搭边，有点拼凑。&lt;/p&gt;

&lt;p&gt;&lt;q&gt;这个工作与当时的国内环境，Tu究竟是不是重要参与者&lt;/q&gt;&lt;/p&gt;

&lt;p&gt;是的。当时由于集体主义观念浓厚，发论文都不能署名，最后闹这么多问题出来也的确有&lt;a href=&quot;http://www.guokr.com/post/64214/&quot; title=&quot;说到青蒿素和屠呦呦，其实争议挺多呢&quot;&gt;中国特色&lt;/a&gt;。&lt;/p&gt;
</description>
        <pubDate>Mon, 05 Oct 2015 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E6%89%80%E6%80%9D%E6%89%80%E6%82%9F/2015/10/05/clinical-medicine.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E6%89%80%E6%80%9D%E6%89%80%E6%82%9F/2015/10/05/clinical-medicine.html</guid>
        
        <category>临床应用</category>
        
        
        <category>所思所悟</category>
        
      </item>
    
      <item>
        <title>未来医生</title>
        <description>&lt;p&gt;今天重新认识了“未来医生”的样子，应该是懂个体医疗，会测序技术，能找药物靶点突变，热爱事业的人。尤其是肿瘤科室的医生，应该向这个方向发展。&lt;u&gt;上能看病，下能分析数据&lt;/u&gt;。医生这个职业太了不起了。希望国内能出现更多这样的医生。&lt;/p&gt;
</description>
        <pubDate>Fri, 25 Sep 2015 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E6%89%80%E6%80%9D%E6%89%80%E6%82%9F/2015/09/25/doctor-in-future.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E6%89%80%E6%80%9D%E6%89%80%E6%82%9F/2015/09/25/doctor-in-future.html</guid>
        
        <category>个体化医疗</category>
        
        
        <category>所思所悟</category>
        
      </item>
    
      <item>
        <title>实验室风格相关的趣闻</title>
        <description>&lt;p&gt;听闻了几个实验室的学生trainning趣闻：每天一个图或表；早上写工作计划，第二天早上再对前一天的已完成内容做总结。&lt;/p&gt;

&lt;p&gt;这种风格成就了老师，也会影响走上科研道路的学生的实验室风格。&lt;/p&gt;
</description>
        <pubDate>Sat, 19 Sep 2015 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2015/09/19/lab-style.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2015/09/19/lab-style.html</guid>
        
        <category>实验室</category>
        
        
        <category>聚类不能</category>
        
      </item>
    
      <item>
        <title>Hexo or Jekyll</title>
        <description>&lt;p&gt;最近一直在纠结是用Hexo还是Jekyll来搭建今后的内容分享平台，这两个博客系统中Hexo的生成静态网页速度远远快于Jekyll，但是由于GitHub page的影响，Jekyll的用户群体比较大，成熟的模板比较多，纠结来纠结去，还是打算用Jekyll。
然后，在Jekyll Gallery发现了一个非常喜欢的模版，我&lt;a href=&quot;https://github.com/yulijia/hpstr-jekyll-theme/tree/zh-cn&quot;&gt;翻译&lt;/a&gt;了&lt;strong&gt;&lt;a href=&quot;https://github.com/mmistakes/hpstr-jekyll-theme&quot;&gt;hpstr-jekyll-theme&lt;/a&gt;&lt;/strong&gt;，很喜欢这个作者的主题。hpstr-jekyll-theme缺少很多一般博客必须的元素（例如：文章目录），并且在本地化时需要将disqus换成中文版的一些留言系统，这些内容也会尽快实现。&lt;/p&gt;
</description>
        <pubDate>Mon, 14 Sep 2015 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E7%BD%91%E7%BB%9C%E8%A7%82%E5%AF%9F/2015/09/14/hexo-or-jekyll.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E7%BD%91%E7%BB%9C%E8%A7%82%E5%AF%9F/2015/09/14/hexo-or-jekyll.html</guid>
        
        <category>Hexo</category>
        
        <category>Jekyll</category>
        
        <category>hpstr-jekyll-theme</category>
        
        
        <category>网络观察</category>
        
      </item>
    
      <item>
        <title>在手机上写博客</title>
        <description>&lt;p&gt;这是我第一篇在手机上写的Jekyll博客，用到了两个Android app,一个是DroidEdit,用来写文档和代码，客户端做的非常好。另一个是pocket git用来提交代码。&lt;/p&gt;

&lt;p&gt;这篇文章就是一个测试。&lt;/p&gt;

&lt;p&gt;另外DroidEdit的广告会影响写作，为了避免这种情况，需要在文章后面打一堆回车。最后提交时别忘记删除。&lt;/p&gt;
</description>
        <pubDate>Sun, 13 Sep 2015 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2015/09/13/write-jekyll-blog-on-your-smartphone.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2015/09/13/write-jekyll-blog-on-your-smartphone.html</guid>
        
        <category>手机</category>
        
        <category>博客</category>
        
        <category>PocketGit</category>
        
        <category>DroidEdit</category>
        
        
        <category>聚类不能</category>
        
      </item>
    
      <item>
        <title>循环肿瘤细胞的一个研究</title>
        <description>&lt;p&gt;看了一篇比较古老的研究循环肿瘤细胞(CTC)的文章&lt;q&gt;complex tumor genomes inferred from single circulating tumor cells by array-cgh and next generation sequencing&lt;/q&gt;，
感叹一下外国医学和研究的结合真是紧密。整篇文章没有什么比较“强”的结论，主要是探索了研究CTC的道路，由于文章较为旧，现在对于CTC的研究应该丰富了不少，对于这篇文章没有做精读。
并且建议对这篇文章不需要做精读。&lt;/p&gt;

&lt;p&gt;CTC细胞是在血液中发现的脱离肿瘤原发灶的肿瘤细胞，它可以跑到其他组织中，并在那里扎根，成为转移灶的“干细胞”。这种细胞在同种癌症不同病人的血液里检测到的数量差别也较大，
本文中研究了37名四期病人的血样，在5名病人中完全没有发现CTC，15名病人中发现了1～10个CTC，6名病人中找到了10个以上的CTC，所以他们只用最后六个病人进行后续的研究。&lt;/p&gt;

&lt;p&gt;研究CTC，主要做了拷贝数变异的研究。在原发灶，肝转移灶和CTC细胞中，拷贝数变异在很多区域相同，说明CTC同原发灶和转移灶之间是有联系的。
另外在转移灶中，拷贝数变异同原发灶也有着一些区别。（我认为，那些区别很可能是在转移灶中产生的新变异）&lt;/p&gt;

&lt;p&gt;一些拷贝数变异的区域正是致癌基因所在的区域，例如chromosomes 5q13.2-5q31.2 区域就包含了APC家族的基因。&lt;/p&gt;

&lt;p&gt;在chromosome 8q的gain是肠癌中常见的变异。&lt;/p&gt;

&lt;p&gt;之后，文章中也分析了三个部位的突变谱，大多数在CTC中出现的mutaion都是肿瘤原发灶上的mutaion（突变频率在0.02到0.42之间）。&lt;/p&gt;

&lt;h3 id=&quot;单词本&quot;&gt;单词本&lt;/h3&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;pharmacokinetic&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;药物代谢动力学&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;noninvasive&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;非侵害&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;enumeration&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;计数&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;acquisition&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;获得物&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;hematopoietic&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;造血&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;peripheral&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;周围，外周&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;aforemention&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;前述&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;clot&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;凝块&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;tetraploid&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;四倍体&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;biopsy&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;活检&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;prone&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;易于&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;ultraconserved region&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;超保守区域&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;&lt;em&gt;bona fide&lt;/em&gt;&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;善意，真实&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;&lt;u&gt;由好多单词在单词本里出现了不止一次，这些都是还没记住的&lt;/u&gt;&lt;code&gt;-_-&lt;/code&gt;&lt;/p&gt;
</description>
        <pubDate>Thu, 10 Sep 2015 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2015/09/10/complex-tumor-genomes-inferred-from-single-circulating-tumor-cells-by-arraycgh-and-next-generation-sequencing.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2015/09/10/complex-tumor-genomes-inferred-from-single-circulating-tumor-cells-by-arraycgh-and-next-generation-sequencing.html</guid>
        
        <category>单细胞</category>
        
        <category>CTC</category>
        
        
        <category>论文笔记</category>
        
      </item>
    
      <item>
        <title>通过单细胞技术检测到结肠癌中的双克隆起源以及发现一个新致癌基因</title>
        <description>&lt;p&gt;这个文章是华大做的，华大从12年开始连续发了好几篇关于肿瘤单细胞相关的文章，他们用的测序方法是MDA，
几篇文章都主要围绕测序方法的准确性、寻找肿瘤中的driver（驱动）基因、以及重要突变、单克隆多克隆这几个问题展开讨论。&lt;/p&gt;

&lt;p&gt;在这篇文章中，他们主要发现了结肠癌的双克隆起源，以及一个新的致癌基因（就是标题）。
文中发现肿瘤主克隆中在致癌基因&lt;em&gt;APC&lt;/em&gt;,&lt;em&gt;TP53&lt;/em&gt;基因上有突变，而在另一个克隆上有&lt;em&gt;CDC27&lt;/em&gt;和&lt;em&gt;PABPC1&lt;/em&gt;的突变。
他们还发现&lt;em&gt;SLC12A5&lt;/em&gt;在单细胞中有高突变率(frequency of mutation)而在群体中的普遍程度却比较低，在实验验证后发现这个基因是一个潜在的致癌基因。&lt;/p&gt;

&lt;p&gt;从这篇文章中学习一下文章的结构。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;第一部分：说明测序方法的可行性（准确性）&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;检测乘数，覆盖度&lt;/li&gt;
  &lt;li&gt;检测假阳性，假阴性&lt;/li&gt;
  &lt;li&gt;检测组织样本和单细胞样本的突变频率相关性&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;第二部分：肿瘤细胞可分为两个群体&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;PCA 分析区分group&lt;/li&gt;
  &lt;li&gt;基于UPGMA的phylogenetic tree分析&lt;/li&gt;
  &lt;li&gt;随机模拟单克隆到5个克隆的情况，发现实际的频率分布同双克隆相似&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;第三部分：从两个分组中发现了不同的驱动事件&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;引入21个结肠癌病人数据，发现有overlap的驱动基因可以将单细胞分成三组（正常，克隆1，克隆2）。&lt;/li&gt;
  &lt;li&gt;主克隆里有&lt;em&gt;APC&lt;/em&gt;，&lt;em&gt;TP53&lt;/em&gt;，副克隆里有&lt;em&gt;CDC27&lt;/em&gt;和&lt;em&gt;PABPC1&lt;/em&gt;。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;第四部分：细胞起源异质性分析&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;用21个样本检测是不是多克隆是个普遍的现象。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;第五部分：检测癌症驱动基因&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;检测非同义突变、同义突变、错义突变、无义突变在一些重要癌症基因的出现频率。&lt;/li&gt;
  &lt;li&gt;找出enrichment的基因，这些基因是驱动基因。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;第六部分：对于新致癌基因的功能验证&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;做了PCR看这个基因是不是在肠癌细胞系中表达水平高。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;材料与方法部分有很多信息&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;找somatic mutation的原则。&lt;/li&gt;
  &lt;li&gt;如何检测allele dropout。&lt;/li&gt;
  &lt;li&gt;在研究异质性问题是，&lt;q&gt;所用的SNV要排除那些在CNV异常区域的。&lt;/q&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3 id=&quot;单词本&quot;&gt;单词本&lt;/h3&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;aberrant crypt foci&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;隐窝异常病灶&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;polyps&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;息肉&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;sporadic&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;零星&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;etiology&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;病因学，病源论&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;pathogenesis&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;发病机理&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;hybridization&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;杂交&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;inertia&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;惯性迟钝&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;specimen&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;样品&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;depict&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;描述&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;truncation&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;截断&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;abrogate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;取消，去掉&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;elucidate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;阐明&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;ectopic&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;异常&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;colonocyte&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;结肠&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;chloridepotassium symporter&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;氯化钾转运体&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
</description>
        <pubDate>Wed, 09 Sep 2015 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2015/09/09/Discovery-of-biclonal-origin-and-a-novel-oncogene-SLC12A5-in-colon-cancer-by-single-cell-sequencing.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2015/09/09/Discovery-of-biclonal-origin-and-a-novel-oncogene-SLC12A5-in-colon-cancer-by-single-cell-sequencing.html</guid>
        
        <category>结肠肿瘤</category>
        
        <category>多克隆</category>
        
        <category>单细胞</category>
        
        
        <category>论文笔记</category>
        
      </item>
    
      <item>
        <title>单细胞测序技术的优点和应用</title>
        <description>&lt;p&gt;Adevances and Applications of Single-Cell Sequencing Technologies 这篇review很值得一读，它总结了现有的单细胞领域技术、研究内容、现有问题以及今后方向。
下面简单总结一下比较感兴趣的内容。&lt;/p&gt;

&lt;h3 id=&quot;单细胞dna测序技术的缺陷包括-测序覆盖度不均匀allelic-dropout等位片段测序丢失假阳性假阴性等&quot;&gt;单细胞DNA测序技术的缺陷包括: 测序覆盖度不均匀、allelic dropout（等位片段测序丢失）、假阳性、假阴性等。&lt;/h3&gt;

&lt;p&gt;multiple-displacement-amplification(MDA)方法由于测序覆盖不均匀，在CNV研究中不值得采用这种方法。&lt;/p&gt;

&lt;p&gt;multiple annealilng- and looping-based amplification cycles(MALBAC) 方法假阳性高，但是研究CNV比较好。&lt;/p&gt;

&lt;p&gt;NUC-SEQ/single nucleus exome sequencing(SNES) 方法可减少技术误差。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/HwFzceg.png&quot; alt=&quot;img&quot; /&gt;&lt;/p&gt;

&lt;h3 id=&quot;单细胞rna测序技术&quot;&gt;单细胞RNA测序技术&lt;/h3&gt;

&lt;p&gt;WAT会造成3’mRNA 的偏差。&lt;/p&gt;

&lt;h3 id=&quot;区分技术误差与生物学多样性biological-variation&quot;&gt;区分技术误差与生物学多样性(Biological Variation)&lt;/h3&gt;

&lt;p&gt;为了解释一个突变或者转录物的确在样本里时杂合的，&lt;u&gt;需要对这些结果做必要的实验验证&lt;/u&gt;。 在DNA层面用深度测序，digital droplet PCR（微滴式数字PCR）。
在RNA层面，可用单细胞RT-qPCR以及微滴式数字PCR。&lt;/p&gt;

&lt;h3 id=&quot;tissue-mosaicism的研究结果争议性很大可以参考上一篇文章&quot;&gt;Tissue Mosaicism的研究结果争议性很大（可以参考上一篇文章）&lt;/h3&gt;

&lt;p&gt;总结下来就是每个研究中都可以看到copy number mosaicism现象，但是这些现象的作用时正向还是负向目前还尚未有定论。&lt;/p&gt;

&lt;h3 id=&quot;癌症方面的研究&quot;&gt;癌症方面的研究&lt;/h3&gt;

&lt;p&gt;研究主要集中在瘤内异质性、单/多克隆演化、CTC细胞携带mutation特点(肿瘤细胞转移问题)。&lt;/p&gt;

&lt;p&gt;研究CTC细胞是为了追溯肿瘤和转移灶的mutation情况。&lt;/p&gt;

&lt;p&gt;###小结&lt;/p&gt;

&lt;p&gt;单细胞研究的问题涵盖：&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;解读群体差异性&lt;/li&gt;
  &lt;li&gt;追踪细胞系&lt;/li&gt;
  &lt;li&gt;细胞类型分类&lt;/li&gt;
  &lt;li&gt;罕见细胞的基因组学信息刻画&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;###展望&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;从单细胞入手，研究单细胞其实是研究单细胞所在的组织的情况。&lt;/li&gt;
  &lt;li&gt;如何连接并研究单细胞的phenotype到genotype。&lt;/li&gt;
  &lt;li&gt;如何研究单细胞的多层面数据（例如，某个单细胞的DNA和RNA，某个单细胞的RNA和表观）&lt;/li&gt;
  &lt;li&gt;在技术上，如何能同时测序上千个单细胞，并降低费用。&lt;/li&gt;
&lt;/ol&gt;

</description>
        <pubDate>Tue, 08 Sep 2015 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2015/09/08/advances-and-applications-of-single-cell-sequencing-technologies.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2015/09/08/advances-and-applications-of-single-cell-sequencing-technologies.html</guid>
        
        <category>单细胞</category>
        
        
        <category>论文笔记</category>
        
      </item>
    
      <item>
        <title>单细胞测序揭示非整倍体（异倍体）在哺乳动物组织中出现的水平较低</title>
        <description>&lt;p&gt;这篇去年在PNAS上的文章用Sigma GenomePlex Single Cell Whole Genome Amplification Kit进行单细胞测序，发现异倍体在&lt;q&gt;正常&lt;/q&gt;细胞组织中出现的不多。
这个结论同之前的多项研究中说明异倍体是正向选择的结果正好相反。文章只有短短的6页，推翻了一个之前在多篇文章中都有涉及的结论。
整个内容就是找不同的正常人的肝脏和脑神经细胞，进行单细胞测序，计算CNV（500kb一个窗口），看是不是有CNV的变化。&lt;/p&gt;

&lt;h3 id=&quot;有用的知识&quot;&gt;有用的知识&lt;/h3&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;异倍体在正常组织和癌组织中都有&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;在人类&lt;em&gt;BUB1B&lt;/em&gt;基因上的突变回导致 mosaic variegated aneuploidy(MVA，斑花叶非整倍体综合征)，&lt;em&gt;BUB1B&lt;/em&gt;编码 BubR1蛋白，这个蛋白在纺锤体assembly checkpoint过程中染色质分离时起到作用。
MVA疾病的病人在一条或多条染色体上会出现异倍体的情况。MVA病人发育迟缓，会在儿童时期得癌症。&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;前人用的FISH技术和spectral karyotyping (SKY)技术都过高估计了异倍体的出现，所以用single cell来解决这个问题（一个一个细胞测得准）。&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;h3 id=&quot;单词本&quot;&gt;单词本&lt;/h3&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;proliferation&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;增生&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;proteotoxic stress&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;蛋白毒性压力&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;retardation&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;延迟&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;hypomorphic&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;亚等位基因&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;hepatocyte&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;肝细胞&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;neonate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;新生儿&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;polyploid&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;多倍体&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;mitosis&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;有丝分裂&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;cytokinesis&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;胞质分裂&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;aberrant&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;畸变&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;segregation&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;分离&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;endow&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;资助，天生具有&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;neural progenitor cells&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;神经细胞前体&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;compromise&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;损害&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;oncogenic transormation&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;致癌性转化&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;dissociate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;分离&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;monosomy&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;单体型&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;trisomy&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;三体型&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;keratinocyte&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;角化细胞&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;epidermis&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;表皮&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;cerebral cortex&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;大脑皮层&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;glia&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;神经胶质&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;immunostaine&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;免疫标记&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;permeabilization&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;渗透&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;medium spiny neurons&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;中型多棘神经元&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;basal ganglion&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;基底神经节&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;autopsy&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;验尸&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;dilute&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;稀释&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;suspension&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;悬浮液&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;tetraploid&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;四倍体&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;prevalence&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;普遍程度&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;octaploid&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;八倍体&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;hexadecaploid&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;十六倍体&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;incipient&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;开始，初期&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;placenta&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;胎盘&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;Trophoblast giant cell&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;滋养层细胞&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;megakaryocyte&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;巨核细胞&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;precursor&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;前体&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;platelet&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;血小板&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;centrosome&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;中心粒&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;kinetochore&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;着丝粒&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;cull&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;剔除&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;presumably&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;大概&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;cognition&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;认识&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;isogenic&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;同基因的&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;&lt;strong&gt;merotelic:一个着丝粒同时收到来自相反方向的纺锤丝牵引&lt;/strong&gt;&lt;/p&gt;

</description>
        <pubDate>Sun, 06 Sep 2015 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2015/09/06/single-cell-sequencing-reveals-low-levels-of-aneuploidy-across-mammalian-tissues.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2015/09/06/single-cell-sequencing-reveals-low-levels-of-aneuploidy-across-mammalian-tissues.html</guid>
        
        <category>单细胞</category>
        
        <category>异倍体</category>
        
        
        <category>论文笔记</category>
        
      </item>
    
      <item>
        <title>小鼠胚胎单细胞RNA-seq线性、环状RNA分析</title>
        <description>&lt;p&gt;Tang Fuchou 老师实验室做胚胎发育分析以及单细胞RNA-seq非常有经验，最近（7月23日）他们发表了一个新单细胞转录组测序方法———— single-cell universal poly(A)-independent RNA sequencing (SUPeR-seq)，主要特点是在cDNA合成时用有固定anchor序列的随机primer代替传统的oligo(dT) primer。&lt;/p&gt;

&lt;p&gt;对于实验部分我理解的不多，主要看信息分析部分有什么关于线性、环状RNA的新结果。&lt;/p&gt;

&lt;p&gt;在小鼠胚胎细胞不同发育阶段的研究中：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;该研究中大多数circRNA含有多个外显子，少数（9%）circRNA只含有一个外显子。&lt;/li&gt;
  &lt;li&gt;只有0.9%的circRNA有多于20个潜在的miRNA绑定位点，在功能上绝大多数可能没有起到miRNA海绵的作用。&lt;/li&gt;
  &lt;li&gt;circRNA在卵母细胞阶段就已经可以检测到，到受精卵四个-八个细胞阶段开始下降，&lt;q&gt;囊胚细胞阶段降得很低(为啥？)&lt;/q&gt;。&lt;/li&gt;
  &lt;li&gt;出现circRNA多的基因的线性转录本表达量也高。&lt;/li&gt;
  &lt;li&gt;circRNA两侧的intron要比不环化的RNA intron长。&lt;/li&gt;
  &lt;li&gt;一个基因可以产生多个circRNA，另外这些circRNA倾向于使用同一个5’端的exon，而3’端的exon差异大。&lt;/li&gt;
  &lt;li&gt;对于使用同一个5’端exon的circRNAs，在下游有长intron的circRNA的数量相对同个基因产生的其他circRNA来说显著的多。反之，使用同一个3’端的exon，上游有长intron的circRNA更富集。&lt;/li&gt;
  &lt;li&gt;repeat元件在circRNA两侧的intron中不明显富集，但由于circRNA两侧的intron长度相对较长，所以repeat序列的总数要比其他的intron多。（从这点来看repeat序列其作用不在于排列的密度，在于绝对数量）&lt;/li&gt;
  &lt;li&gt;有互补序列的circRNA数量更加富集。&lt;/li&gt;
  &lt;li&gt;相对距离5kb左右的互补序列才有作用。&lt;/li&gt;
  &lt;li&gt;有强splicing motif时不容易形成circRNA。&lt;/li&gt;
  &lt;li&gt;circRNA的上下游motif对circRNA的表达起到相反的作用，上游motif强，表达的circRNA多，下游motif弱，表达的circRNA多。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;另外，我认为下面这句话看着不太地道。&lt;/p&gt;

&lt;p&gt;Gene ontology(GO) analysis of all the 1316 host genes producing these circRNA transcripts showed strong enrichment for terms related to chromatin organization, 
cell division, and response to DNA damage stimulus, &lt;u&gt;suggesting potential roles of these circRNAs in these functional areas&lt;/u&gt;.&lt;/p&gt;

</description>
        <pubDate>Fri, 28 Aug 2015 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2015/08/28/Single-cell-RNA-seq-transcriptome-analysis-of-linear-and-circular-RNAs-in-mouse-preimplantation-embryos.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2015/08/28/Single-cell-RNA-seq-transcriptome-analysis-of-linear-and-circular-RNAs-in-mouse-preimplantation-embryos.html</guid>
        
        <category>single cell</category>
        
        <category>circRNA</category>
        
        <category>embryos</category>
        
        <category>转录组分析</category>
        
        
        <category>论文笔记</category>
        
      </item>
    
      <item>
        <title>circRNA 检测工具介绍</title>
        <description>&lt;p&gt;最近在看circRNA的文章，检测工具从2013年到现在已经有了几款，但是每个软件的检测结果都差异很大。&lt;/p&gt;

&lt;p&gt;在biostar上，&lt;a href=&quot;https://www.biostars.org/p/153051/&quot;&gt;有人在最近几天讨论了2个国人做的circRNA检测工具&lt;/a&gt;，其中的问题还是很大的。&lt;/p&gt;

&lt;p&gt;现在就我使用过的circRNA detection tools 做一个简要的介绍。&lt;/p&gt;

&lt;h2 id=&quot;1-find_circ&quot;&gt;1. find_circ&lt;/h2&gt;

&lt;p&gt;这款工具是在2013年随着&lt;em&gt;Circular RNAs are a large class of animal RNAs with regulatory potency&lt;/em&gt;这篇文章发布的，从而吹起了一阵研究circRNA的风潮～。&lt;/p&gt;

&lt;p&gt;现有的所有circRNA工具的第一步都是mapping，将RNA reads mapping到基因组上，但是普通线性RNA是可以很好的mapping回去的，对于circRNA来说，成环的剪接位点不能直接mapping回基因组上。
首先，就是用比对mapping的方法筛选出这样的序列，也就是把mapping不上的序列都体取出来。
然后，将这些mapping不上的reads取两头20bp，变成短序列，重新mapping到基因组上。&lt;/p&gt;

&lt;h4 id=&quot;这里有个参数20bp的reads为什么要用20bp的是否可以用更长的或者更短的&quot;&gt;这里有个参数20bp的reads，为什么要用20bp的？是否可以用更长的，或者更短的？&lt;/h4&gt;
&lt;blockquote&gt;
  &lt;p&gt;我们来做个简单计算。多长的一条序列可以唯一比对到基因组的某个地方？
首先，基因组的大小为3G，也就是&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;三十亿字节&lt;/code&gt;。\(4^{15}=1073741824\)，约为&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;十亿字节&lt;/code&gt;。
那么任意取出一条15bp的read，它的碱基排列情况是4^15的其中一种，任意取出两条15bp的reads 它们完全相同的概率为\(\frac{1}{4^{15}}*\frac{1}{4^{15}}\)。
从基因组上的任意取出15bp长的一段序列，有三十亿种可能性，取两次，
取出同一条15bp长的序列的可能性为\(\frac{1}{3*10^{9}}*\frac{1}{3*10^{9}}\)，
这种可能性(概率)小于&lt;em&gt;任意从15bp序列的全部碱基排列情况中抽出2次相同碱基序列的概率&lt;/em&gt;，所以说15bp的read可以不唯一比对到基因组的某个地方。
同理计算16bp reads \(4^{16}=4294967296\)，所以任意抽出一条16bp的序列可以唯一比对到基因组上。（可能算得不对，如果有人发现错误，请立即指正，谢谢）&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;这样看来20bp的序列，可以唯一比对到基因组上，也可以根据测序reads的长度适当放大缩小（我觉得缩小还是没必要的，可以放大，取25bp，30bp之类的）。&lt;/p&gt;

&lt;p&gt;接下来，将短序列mapping到基因组上后，他们开发了一个方法，检测这些短序列是否是circRNA的短序列。&lt;/p&gt;

&lt;p&gt;需要检测的条件如下：&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;GU/AG 在剪接位点的两侧出现&lt;/li&gt;
  &lt;li&gt;可以检测到清晰的breakpoint&lt;/li&gt;
  &lt;li&gt;只支持2个mismatch&lt;/li&gt;
  &lt;li&gt;breakpoint不能再短序列（anchor）以里2 nucleotides 之外的地方出现，也就是最多2nt （这条可能理解有偏差）&lt;/li&gt;
  &lt;li&gt;至少有两条reads支持这个junction&lt;/li&gt;
  &lt;li&gt;mapping正确的一个短序列的位置要比它mapping到其他位置的分值高35分以上。&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;通过这些条件，就筛选出了文章认为正确的circRNA。&lt;/p&gt;

&lt;p&gt;另外在这篇文章里重点介绍了circRNA的一个功能，富集microRNA，某些circRNA上有很多microRNA的seed。&lt;/p&gt;

&lt;h2 id=&quot;2-circexplorer&quot;&gt;2. CIRCexplorer&lt;/h2&gt;

&lt;p&gt;这款工具是在2014年随着&lt;em&gt;Complementary Sequence-Mediated Exon Circularization&lt;/em&gt;的发布而问世，这篇文章我非常欣赏，我认为它是去年做RNA领域最值得读的一篇文章。&lt;/p&gt;

&lt;p&gt;CIRCexplorer这个工具巧妙的用fusion gene这个思路去检测circRNA。
首先，过滤出Tophat无法mapping上的reads，再把这些reads用Tophat-Fusion mapping到基因组上。那些用Tophat-Fusion mapping到基因组上的非线性候选位置的reads就是潜在的back-splied juction reads。
接下来，这些reads会在有基因注释的帮助下，确定更加精确的donor, acceptor位置。
最后，对circular RNA进行注释。&lt;/p&gt;

&lt;p&gt;这篇文章里介绍了在intron区域的&lt;em&gt;反向重复Alu序列&lt;/em&gt;是引起circRNA形成的一个原因（即“内含子配对驱动环化”（intron-pair-driven circularization）模型，除此之外还有一种模型是“套索驱动环化”（lariat-driven circularization）模型），这些序列在跨越外显子的内含子区间上可以形成互补序列，所以在转录过程中容易形成茎环结构。环的部分就是外显子，然后在剪接酶的参与下，被剪接成了环形。&lt;/p&gt;

&lt;p&gt;另外，circRNA也存在很多的&lt;strong&gt;可变环形结构&lt;/strong&gt;，这也是由于在基因组中广泛存在的内含子上的Alu序列造成的，不同的Alu序列互补，形成含有不同exon的环形结构。&lt;/p&gt;

&lt;p&gt;强烈建议研究circRNA的工作者好好学习一下这篇文章。&lt;a href=&quot;http://blog.sciencenet.cn/blog-404304-830473.html&quot;&gt;附薛宇老师对这篇文章的评价&lt;/a&gt;，薛宇老师的博客是我看科学网唯一的动力。&lt;/p&gt;

&lt;h2 id=&quot;3-ciri&quot;&gt;3. CIRI&lt;/h2&gt;

&lt;p&gt;这款工具是中科院北京生命科学研究院的赵老师组的工作，今年发表在genome biology上，
CIRI: an efficient and unbiased algorithm for &lt;em&gt;de novo&lt;/em&gt; circular RNA identification，是一篇方法工具类的文章。&lt;/p&gt;

&lt;p&gt;文章中总结了目前从RNA-seq数据中识别circRNA所遇到的问题：&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;circRNA比其他RNA在细胞中的比例低，一般RNA-seq的实验步骤中，不包括circRNA富集的步骤（例如RNase R treatment，我觉得他们要表到的意思是在RNA-seq中能探测到的circRNA比用RNase R处理过的数据中少），所以在RNA-seq中的circRNA比较低，假阳性也高。&lt;/li&gt;
  &lt;li&gt;目前的注释文件都是根据线性RNA进行的，所以也不适合circRNA的识别，另外非模式动物的注释信息更少，就更不用谈在那些物种里找circRNA了。&lt;/li&gt;
  &lt;li&gt;由于RNA测序数据的reads长度差别大，也对检测circRNA工作带来了不便&lt;/li&gt;
  &lt;li&gt;套索结构和融合基因同circRNA的reads结果类似，不好区分。&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;文章中总结了从2012年到2014年出现的几种检测circRNA的方法：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Salzman &lt;em&gt;Cell-type specific features of circular RNA expression&lt;/em&gt; 用了一个依赖注释信息的方法来检测circRNA，通过搜索已知注释的外显子边界来查找，并在最近的工作中更新了方法，加入了false discovery rate 控制比对的质量分数。这种方法存在上述描述的第二个问题。&lt;/li&gt;
  &lt;li&gt;Memczak &lt;em&gt;Circular RNAs are a large class of animal RNAs with regulatory potency&lt;/em&gt; （也就是第一部分介绍的那个软件）用了GT-AG信号来找寻splicing 位点，也有其他工作用类似的方法筛选micorRNA-sponge 的候选circRNA。这种方法会找不到“长外显子1-短外显子-长外显子2”形成的环形结构，这种结构中一条测序Read上会有三个部分，第一部分序列属于长外显子1，第二部分序列属于短外显子，第三部分序列属于长外显子2。 Memczak的方法只是把一条序列切成两部分，这种算法会把“长外显子1-短外显子-长外显子2”丢掉，或者识别成“长外显子1-长外显子2”。&lt;/li&gt;
  &lt;li&gt;Jeck &lt;em&gt;Circular RNAs are abundant, conserved, and associated with ALU repeats&lt;/em&gt; 采用了比较的方法，比较没有经过RNase处理和经过RNase处理的序列的结果，用来确定潜在的circRNA，消除假阳性。这种方法在富集circRNA阶段会有系统误差。&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;说了那么多其他人的工作，赵老师组的工作是采用sam格式中的CIGAR值进行分析的，从sam文件中扫描PCC信号（paired chiastic clipping signals）。
CIGAR值在junction read的特征是xS/HyM或者xMyS/H，其中x,y代表碱基数目，M是mapping上的，S是soft clipping，H是hard clipping。&lt;/p&gt;

&lt;p&gt;对于单外显子成环，或者“长外显子1-短外显子-长外显子2”形成的环形结构，CIGAR值应该是xS/HyMzS/H以及(x+y)S/HzM或者xM(y+z)S/H，CIRI软件可以很好的将这两种情况分开。&lt;/p&gt;

&lt;p&gt;对于paired-end reads，CIRI算法会考虑一对reads，其中一条可以mapping到circRNA上，另一条也需要mapping到circRNA的区间内。&lt;/p&gt;

&lt;p&gt;对于splicing 信号(GT,AG) CIRI也会考虑其他弱splicing 信息例如（AT-AC），算法会从GTF/GFF文件中抽取外显子边界位置，并用已知的边界来过滤假阳性。&lt;/p&gt;

&lt;p&gt;CIRI方法消耗的内存比较大，我跑了个12G的sam文件，内存用了20G。&lt;/p&gt;

&lt;!--
#### https://github.com/dieterich-lab/DCC

#### https://github.com/lindaszabo/KNIFE

#### https://github.com/orzechoj/circRNA_finder

#### https://github.com/bioxfu/circRNAFinder
--&gt;

&lt;h2 id=&quot;从mapping工具中找backsplice-junction&quot;&gt;从mapping工具中找backsplice junction&lt;/h2&gt;

&lt;p&gt;除了上述直接找circRNA的工具外，还可以用mapping工具直接找backsplice的junction，然后在人工判断这些junction，例如segemehl。&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;#Create index:
./segemehl.x -d hg19.fa -x hg18.idx
#Map you reads:
./segemehl.x -d hg19.fa -i chr1.idx -q reads.fastq -S | samtools view -bS - | samtools sort -o - deleteme | samtools view -h - &amp;gt; mapped.sam
#Call different splice junctions:
./testrealign.x -d hg19.fa -q mapped.sam -n 
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;最后一步可以生成两个文件，一个是splicesites.bed，另一个是transrealigned.bed，从splicesites.bed文件中可以得到backsplice junction，在文件中的指示标志是”C”。&lt;/p&gt;

&lt;p&gt;从我的测试样本中可以找到4085个通过检验的backsplice junction。&lt;/p&gt;

&lt;h2 id=&quot;方法比较&quot;&gt;方法比较&lt;/h2&gt;

&lt;p&gt;从一开始的biostar链接中就可以看到不同方法的差异非常大，我测试了一个实际数据，从第一个软件有126163行结果，筛选后剩下491行，第二个软件只有327行，第三个软件有687行。&lt;/p&gt;

&lt;p&gt;我认为不同的mapping策略从一开始就会导致搜索circRNA的空间不一样。&lt;/p&gt;

&lt;h2 id=&quot;下游软件&quot;&gt;下游软件&lt;/h2&gt;

&lt;h3 id=&quot;画图&quot;&gt;画图&lt;/h3&gt;

&lt;p&gt;https://github.com/dieterich-lab/CircTest&lt;/p&gt;

&lt;h3 id=&quot;中文介绍&quot;&gt;中文介绍&lt;/h3&gt;

&lt;p&gt;环形RNA分子揭秘——张 杨 1 ,王海滨 1,2 ,陈玲玲 1 *&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;（未完待续）&lt;/code&gt;&lt;/p&gt;
</description>
        <pubDate>Fri, 07 Aug 2015 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2015/08/07/circRNA-tools.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2015/08/07/circRNA-tools.html</guid>
        
        <category>circRNA</category>
        
        <category>检测算法</category>
        
        <category>RNA</category>
        
        
        <category>论文笔记</category>
        
      </item>
    
      <item>
        <title>Eric Lander在新英格兰医学杂志上安利了一下CRISPR</title>
        <description>&lt;p&gt;&lt;strong&gt;标题是哗众取宠&lt;/strong&gt;，Eric Lander在新英格兰医学上发表了一篇perspective(前景，观点)，
总结了基因组研究领域的新内容（CRISPR，基因编辑）和挑战，目前我们应该关注的问题，用谨慎而发展的眼光看待基因组编辑。&lt;/p&gt;

&lt;p&gt;原文标题是Brave New Genome （美好的新基因组），我估计这个标题是类比于brave new world（美丽新世界）。&lt;/p&gt;

&lt;p&gt;目前我们遇到的新挑战是开发一个可行的度量体系来检测人类生殖细胞编辑（human germline editing，说生殖细胞也不太顺，反正就是可遗传的细胞DNA的编辑）。&lt;/p&gt;

&lt;p&gt;在此Lander认为应该关注四个关键问题讨论。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. DNA编辑技术&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;目前的编辑技术还没成熟到可以自由的编辑指定基因，总会有不完全编辑、不精确编辑和脱靶的现象出现。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. 这种编辑是不是利大于弊&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;目前人们想到的对于可遗传细胞的编辑可产生的一个主要贡献是毁灭单基因遗传病，例如亨廷顿病。
对于这些遗传病最有必要的不是基因组剪接，而是常规的遗传学筛查，使得携带这些遗传病的夫妇可以了解自己基因中潜在的风险并且愿意在生育前做产前遗传病诊断。&lt;/p&gt;

&lt;p&gt;另外，编辑基因可能会使后代不得某种病，单也没准会加大他们患另外一些疾病的概率。这是应为，基因在生物体内主导的作用不仅仅同某一种疾病相关，更多是同很多疾病相关。
一个基因可能正向调控疾病A，反向调控疾病B。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. 谁能决定是否进行基因编辑&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;这涉及到伦理问题，假设父母为了后代的健康、智力或体力因素，做了基因编辑，但是后代出生后却不同意父母的做法，这样该怎么办？&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. 对与错，今后该如何&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;科学家一般都不情愿去回答一些伦理问题，但是我们必须对这些问题负责并正确的对待这些问题。我们如何生活在一个存在基因编辑的社会，基因编辑会不会改变我们的世界？
如何看待进行过基因编辑的的后代（他们是不是人工产品）？会不会出现基因编辑的流行趋势（大家都喜欢做某项基因编辑 ，变得更漂亮更聪明之类的）？携带&lt;q&gt;最优秀&lt;/q&gt;的基因组的人会不会有更大权力？&lt;/p&gt;

&lt;p&gt;如果我们跨越了这些界线，很难看到挽回的方法。&lt;/p&gt;

&lt;p&gt;现在各国对于基因编辑都还是非常保守的态度。&lt;/p&gt;

&lt;p&gt;但Lander在最后又说，我们很容易就可以推翻这种保守观点，前提是，我们都有很好的科学知识，在道德上足够明智，并且我们的研究带来了引人入胜、不可抗拒的结果。&lt;/p&gt;

&lt;p&gt;十年前人们才第一次读到人类的基因组，现在我们需要小心而谨慎的前进（改写基因组）。&lt;/p&gt;

&lt;p&gt;&lt;u&gt;读完文章发现同我想象的内容完全不同，Eric Lander太会说话了，严谨而不失希望。&lt;/u&gt;&lt;/p&gt;
</description>
        <pubDate>Thu, 16 Jul 2015 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2015/07/16/Brave-New-Genome.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2015/07/16/Brave-New-Genome.html</guid>
        
        <category>CRISPR</category>
        
        <category>基因组</category>
        
        
        <category>论文笔记</category>
        
      </item>
    
      <item>
        <title>目前单细胞基因组、转录组分析中产生的生物信息学问题</title>
        <description>&lt;p&gt;He Jiankui老师组在去年年初总结了一下目前单细胞基因组学、转录组学分析中的生物信息学问题。
&lt;u&gt;说白了，就是数据的去噪&lt;/u&gt;，如何在实验以及分析方法上进行改进。
做单细胞数据分析的人可以先从这篇文章入手，了解单细胞测序存在的问题，并在分析自己的数据时带着这些问题去研究，看看如何检测判断，或者发现、发明新的方法处理。&lt;/p&gt;

&lt;h3 id=&quot;从单细胞中能看到什么&quot;&gt;从单细胞中能看到什么&lt;/h3&gt;

&lt;p&gt;我们想知道毗连的细胞在遗传和表达层面有什么差异。在人类胚胎干细胞的不同发育阶段细胞之间有什么不同。这些都是单细胞的异质性情况。&lt;/p&gt;

&lt;h3 id=&quot;现在什么研究中会用到单细胞测序&quot;&gt;现在什么研究中会用到单细胞测序&lt;/h3&gt;

&lt;ol&gt;
  &lt;li&gt;人类胚胎干细胞分化特点&lt;/li&gt;
  &lt;li&gt;稀有的转录本分析&lt;/li&gt;
  &lt;li&gt;肿瘤CTC细胞&lt;/li&gt;
  &lt;li&gt;肿瘤异质性和微进化&lt;/li&gt;
  &lt;li&gt;在不好培养的微生物方面研究中&lt;/li&gt;
&lt;/ol&gt;

&lt;h3 id=&quot;单细胞技术集中的两个问题&quot;&gt;单细胞技术集中的两个问题&lt;/h3&gt;

&lt;ol&gt;
  &lt;li&gt;genome coverage低&lt;/li&gt;
  &lt;li&gt;扩增有偏好性&lt;/li&gt;
&lt;/ol&gt;

&lt;h2 id=&quot;第一部分单细胞dna测序&quot;&gt;第一部分：单细胞DNA测序&lt;/h2&gt;

&lt;h3 id=&quot;allele-dropout&quot;&gt;Allele dropout&lt;/h3&gt;

&lt;p&gt;测序数据在基因组覆盖率低会造成SNP脱扣（SNP Dropout）。&lt;/p&gt;

&lt;p&gt;在某些文献中MDA的脱扣率高达65%[1]&lt;/p&gt;

&lt;h3 id=&quot;snp假阳性&quot;&gt;SNP假阳性&lt;/h3&gt;

&lt;p&gt;MALBAC假阳率比MDA高。&lt;/p&gt;

&lt;h3 id=&quot;找寻snp的算法需要做到什么&quot;&gt;找寻SNP的算法需要做到什么&lt;/h3&gt;

&lt;ol&gt;
  &lt;li&gt;需要将SNP和扩增错误分开&lt;/li&gt;
  &lt;li&gt;能在低覆盖率的数据中找寻SNP&lt;/li&gt;
&lt;/ol&gt;

&lt;h3 id=&quot;cnv的扩增偏差&quot;&gt;CNV的扩增偏差&lt;/h3&gt;

&lt;p&gt;在单细胞CNV研究中要适当扩大bin的大小，这样可以减少mapping偏差带来计算不准确（用reads count来算CNV的时候）。&lt;/p&gt;

&lt;h3 id=&quot;计算cnv的算法要注意什么&quot;&gt;计算CNV的算法要注意什么&lt;/h3&gt;

&lt;p&gt;MDA方法在计算CNV时，会有序列重复问题，在染色体终端也有问题，GC高的地方也有偏差。（MDA-induced copy number biases were reported to associate with sequence repeats and proximity to chromosome ends, increased GC content and annotated CNVs）&lt;/p&gt;

&lt;p&gt;对扩增产物的pairewise comparison可以帮助减少假的CNV。&lt;/p&gt;

&lt;h2 id=&quot;第二部分-单细胞rna测序&quot;&gt;第二部分： 单细胞RNA测序&lt;/h2&gt;

&lt;p&gt;可以用来研究CTC表达量。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;RSEM这个软件可以计算expression level of TPM(transcripts per million)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;在单细胞全转录本扩增时会产生的问题有：&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;扩增无法得道完整的cDNA片段&lt;/li&gt;
  &lt;li&gt;转录本的扩增效率不一致&lt;/li&gt;
  &lt;li&gt;低表达量的转录本难以被检测到&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;文章中还说道FPKM/RPKM没有考虑转录本间的偏差，所以不适合用在单细胞的计算中。（&lt;u&gt;我没看明白这是为什么&lt;/u&gt;）&lt;/p&gt;

&lt;p&gt;对于单细胞转录本表达情况的定量分析，文章中提出了两点建议：由于在3’和5’端测序质量不好，所以在做标准化时不要根据转录本的长度计算而是根据覆盖度范围内的长度进行计算；用一些方法（机器学习之类的）研究扩增偏差和正常情况的区别，开发新的工具来减少计算时的扩增偏差。&lt;/p&gt;

&lt;h2 id=&quot;第三部分单细胞能研究哪些问题&quot;&gt;第三部分：单细胞能研究哪些问题&lt;/h2&gt;

&lt;p&gt;说白了，还是开头说的那些内容，一个是肿瘤演化谱系，另一个是干细胞发育。&lt;/p&gt;
</description>
        <pubDate>Wed, 15 Jul 2015 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2015/07/15/current-challenges-in-the-bioinformatics-of-single-cell-genomics.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2015/07/15/current-challenges-in-the-bioinformatics-of-single-cell-genomics.html</guid>
        
        <category>单细胞</category>
        
        <category>基因组</category>
        
        <category>转录组</category>
        
        <category>生物信息学</category>
        
        
        <category>论文笔记</category>
        
      </item>
    
      <item>
        <title>整个周末都耗费在修理小米手机上了</title>
        <description>&lt;p&gt;硬件和软件的兼容性太差，系统自动升级后，竟然不能用了，反复在开机界面重启。有钱别用它。&lt;/p&gt;
</description>
        <pubDate>Sun, 12 Jul 2015 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E7%94%9F%E6%B4%BB%E7%82%B9%E6%BB%B4/2015/07/12/XiaoMi-smart-phone.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E7%94%9F%E6%B4%BB%E7%82%B9%E6%BB%B4/2015/07/12/XiaoMi-smart-phone.html</guid>
        
        <category>小米手机</category>
        
        <category>红米</category>
        
        
        <category>生活点滴</category>
        
      </item>
    
      <item>
        <title>通过多组学研究方法寻找乙肝病毒引起的肝癌的生物学标志</title>
        <description>&lt;p&gt;这篇文章比较偏，如果不是做肝癌研究的，会有很多不明白的地方，另外，对于组学数据的分析写得比较少。做的东西只是描述了一些表面现象，没有挖掘机理。&lt;/p&gt;

&lt;p&gt;不是专门做肝癌及其组学数据分析，不建议看这篇文章。&lt;/p&gt;

&lt;p&gt;文章的分析主要工作是由Zhao Yi老师组完成的。&lt;/p&gt;

&lt;h2 id=&quot;identification-of-prognostic-biomarkers-in-hepatitis-b-virus-related-hepatocellular-carcinoma-and-stratification-by-integrative-multi-omics-analysis&quot;&gt;Identification of prognostic biomarkers in hepatitis B virus-related hepatocellular carcinoma and stratification by integrative multi-omics analysis&lt;/h2&gt;

&lt;p&gt;上面是文章中的题目，这个题目太长了，我在网页链接里缩写了一个简略的题目（同文章中的题目不完全一致）。&lt;/p&gt;

&lt;h3 id=&quot;background&quot;&gt;Background&lt;/h3&gt;

&lt;p&gt;&lt;a href=&quot;http://www.liver.ca/chinese/liver-disease/types/liver-cancer.aspx&quot; title=&quot;下面内容来自加拿大肝脏基金会&quot;&gt;肝癌如何分类？&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;肝肿瘤分成多种，其中只有几种属癌肿性。最主要的分类法，是鉴定肿瘤属良性（害处相对较少）抑或恶性（可以由肝脏扩散至其他部位，故较为严重）。&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;良性肿瘤&lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;血管瘤（Hemangioma）是最常见的良性肝肿瘤，是始于胎儿的肝脏异常血管生长。身体状况正常的人中，占10% 以上者肝脏有血管瘤。大部分有血管瘤的人均无任何征状，也不需治疗。但在较为罕见的情况下，血管瘤或会扩大并流血，如出现这情况便要进行手术割除。&lt;/p&gt;

  &lt;p&gt;肝腺瘤（Hepatic adenomas） 是良性的肝细胞肿瘤，大部分情况均无征状也不需治疗。但如果体积大，或会导致痛楚或失血，在这种情况下肿瘤便需割除。肝腺瘤较常见于女性。部分个案显示，避孕药或怀孕或是触发成因。&lt;/p&gt;

  &lt;p&gt;肝脏局部结节性增生（Focal nodular hyperplasia，简称FNH） 指数种细胞出现类似肿瘤的增长。虽然属良性，但结节性肿瘤与肝癌并不容易分辨。&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;恶性肿瘤&lt;/strong&gt;&lt;/p&gt;

  &lt;p&gt;成人最常见的原发性肝癌（始于肝脏的癌症）是肝细胞癌（hepatocellular carcinoma，简称HCC），即肝细胞出现癌症。这类癌症有数种增长模式。有些在开始时是单一个肿瘤，然后渐渐增大。到较后期时，癌细胞便会蔓延至肝脏其他部位。&lt;/p&gt;

  &lt;p&gt;肝癌亦可以在肝脏多个部位增长，并演变为多个肿瘤。这种情况在肝硬化病人身上最普遍。&lt;/p&gt;

  &lt;p&gt;另一种肝癌是始于胆小管的胆管癌（cholangiocarcinoma）。胆小管是输送胆汁至胆囊的管道。&lt;/p&gt;

  &lt;p&gt;然而，大部分的肝癌均非始于肝脏，而是由身体其他部位开始的癌症，扩散至肝脏。这类癌症是以癌症开始的部位（原发部位）命名，属于继发性肝癌或转移性癌症。譬如，始于肺部的癌症扩散至肝脏，便称为扩散至肝脏的转移性肺癌。继发性肝癌较原发性肝癌高出 30 倍。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3 id=&quot;data-information&quot;&gt;Data information&lt;/h3&gt;

&lt;p&gt;本文对两个病人的外周血，癌旁，第一位病人的原发灶，卫星灶，门静脉癌拴，第二位病人的左肝区和右肝区的进行了基因组和转录组的测序。第一位病人有肝硬化，年龄是四五十岁，第二位病人没有刚硬化，年龄是七十多岁。第一位病人的肝癌属于低分化，第二位病人的肝癌属于高分化，低分化的肝癌细胞恶性程度高。&lt;/p&gt;

&lt;h3 id=&quot;question-1&quot;&gt;Question 1&lt;/h3&gt;

&lt;p&gt;在本文中研究的是原发性肝癌——肝细胞癌，这种癌症在国内，有很大一部分是由于乙肝、丙肝导致的。原发性肝癌，会有多个病灶，那么这些病灶是源于肿瘤细胞的某个单克隆，还是多克隆？&lt;/p&gt;

&lt;p&gt;这个问题可以通过对乙肝病毒同宿主的DNA整合方面来进行研究。&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;如果，对于一个病人，在不同的肝癌组织中，我们找到的乙肝病毒插入序列都在同一个位置，那么很有可能，这位病人的不同部位的肝癌细胞可能属于同一个单克隆。&lt;/li&gt;
  &lt;li&gt;反之，乙肝病毒在不同肿瘤组织中，插入到了不同的位置，那么这些肝癌细胞肯定不属于同一个单克隆，也就是说这个病人的肝癌细胞起源具有多克隆性。&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;根据对乙肝病毒基因整合的研究，文中的第一位病人属于情况1，第二位病人属于情况2。我觉得这只是一种可能性，没准第一个病人，乙肝病毒虽然在不同位点的癌组织中整合在基因组的同一个位置，但是这些癌组织也有可能是在不同或相同时间分别产生的。&lt;u&gt;只研究乙肝病毒的整合情况，能否完善的说明单克隆和多克隆的问题？&lt;/u&gt;&lt;/p&gt;

&lt;h3 id=&quot;question-2&quot;&gt;Question 2&lt;/h3&gt;

&lt;p&gt;文章分别看了两位病人的SNV, CNV, structural variation的情况，并做了系统生发树。&lt;/p&gt;

&lt;p&gt;本文中认为，第一位病人的肝癌演化路线是&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;normal&lt;/code&gt; -&amp;gt; &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;primary cancer&lt;/code&gt; -&amp;gt; &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;portal vein tumor&lt;/code&gt; -&amp;gt; &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;satellite intrahepatic metastases&lt;/code&gt;，第二个病人的肝癌两个病灶更有可能是同时出现的。&lt;/p&gt;

&lt;p&gt;但是，我没有理解这个图，从图中看，第二位病人的肝癌演化路线，更像是&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;normal&lt;/code&gt; -&amp;gt; &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;left part cancer&lt;/code&gt; -&amp;gt; &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;right part cancer&lt;/code&gt;。&lt;/p&gt;

&lt;h3 id=&quot;question-3&quot;&gt;Question 3&lt;/h3&gt;

&lt;p&gt;对于转录组的分析，要结合基因组，在基因组上有大量CNV的区域的基因，其表达量同copy number数量正相关。&lt;/p&gt;

&lt;p&gt;在转录组部分的研究中，没有什么实质的内容，对于高表达和低表达的基因，做了功能富集图，用的软件是Cytoscape plugin Enrichment Map。&lt;u&gt;我没有理解图里面的小点（基因集合）里的基因有哪些。&lt;/u&gt;&lt;/p&gt;

&lt;h3 id=&quot;question-4&quot;&gt;Question 4&lt;/h3&gt;

&lt;p&gt;最后，根据基因表达量的差异和KEGG/BioCarta通路分析，文章中找到了21个基因，这些基因属于细胞周期，p53信号，组氨酸代谢等通路中。
之后又在174个病例中进行了验证，其中6个基因存在普遍的（癌症/正常）差异性，之后他们对这些基因和病人的临床数据整合(乙肝表面抗原，谷丙转氨酶，肿瘤分级等)，进行了分析。
文章中发现&lt;em&gt;TTK&lt;/em&gt;基因的高表达和低表达，同病人的无复发存活率、总存活率相关性高，&lt;q&gt;&lt;strong&gt;TTK基因高表达的病人在肝癌手术后还需要尽早介入治疗&lt;/strong&gt;&lt;/q&gt;。&lt;/p&gt;

&lt;h2 id=&quot;分析软件&quot;&gt;分析软件&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Circos&lt;/li&gt;
  &lt;li&gt;Cytoscape (plugin Enrichment Map)&lt;/li&gt;
  &lt;li&gt;SPSS&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;还有转录组常用分析软件，具体需要看supplementary。&lt;/p&gt;

&lt;h2 id=&quot;单词本&quot;&gt;单词本&lt;/h2&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;prognostic&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;预后&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;hepatocellular carcinoma&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;肝细胞癌&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;stratification&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;分层&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;differentiation&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;分化&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;multifocal&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;多灶性&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;intrahepatic&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;肝内&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;metastasis&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;转移&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;lesion&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;病灶&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;specimen&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;标本&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;integration&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;整合&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;elucidate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;阐述&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;clinicopathological&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;临床病理&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;mitotic&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;有丝分裂&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;synchronously&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;同步&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;hepatectomy&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;肝切除&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;recurrence-free survival(RFS)&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;无复发生存率&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;overall survival&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;总生存率&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;cirrhosis&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;肝硬化&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;resection&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;切除&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;peripheral blood&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;外周血&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;monoclonal&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;单克隆&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;telomerase&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;端粒酶&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;substitution&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;突变&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;translocation&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;易位&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;aneuploidy&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;非整倍体&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;putative&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;假设&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;portal&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;门&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;vein&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;静脉&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;tumor thrombus&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;癌拴&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;inflammatory&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;炎症&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;coagulation&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;凝结(血)&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;coenzyme&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;辅酶&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;oxidative&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;氧化&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;histidine&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;组氨酸&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;mediate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;介导&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;spindle&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;放垂体&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;HBsAg&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;乙肝表面抗原&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;ALT&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;谷丙转氨酶&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;albumin&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;白蛋白&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;postsurgical&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;术后&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;biopsy&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;活检&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;nodule&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;结节&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;catastrophic&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;灾难性的&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;albeit&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;尽管&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;epithelial&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;上皮&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;prostate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;前列腺&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;pancreatic&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;胰腺&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;interventional&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;介入&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;surveillance&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;监控&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;hepatectomy&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;肝切除&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;intriguingly&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;有趣的是&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;prospective&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;预期前瞻性&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;expedite&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;促进&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
</description>
        <pubDate>Mon, 06 Jul 2015 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2015/07/06/integrative-multi-omics-analysis-in-hepatitis-B-virusrelated-hepatocellular-carcinoma.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2015/07/06/integrative-multi-omics-analysis-in-hepatitis-B-virusrelated-hepatocellular-carcinoma.html</guid>
        
        <category>hepatitis B virus</category>
        
        <category>hepatocellualr carcinoma</category>
        
        <category>multi-omics analysis</category>
        
        
        <category>论文笔记</category>
        
      </item>
    
      <item>
        <title>关于Jekyll博客模版的用户擅自不正当修改MIT授权许可协议的一些看法</title>
        <description>&lt;p&gt;我去年做了2个Jekyll的博客模版，然后放在github上，选择了MIT license作为授权许可协议。
这个协议的特点是只保留我的版权，其他东西可以随意修改，再发布。
最近我发现，在使用模版的用户中，一些用户在修改后，把我的License也修改没了，连我的版权信息都抹去了。
我不在意是否在博客的页面下方有对于这个模版的引用地址（一般人都会保留原repository的引用地址，非常感谢这些用户），但是在github的repository里，你连License都修改了，是不是也太不要脸了？&lt;/p&gt;

&lt;p&gt;以后见到一个我就在这里加一个github repository的地址，曝(Pu4)光一下这些人。这篇文章也会在博客模版的首页永远置顶。&lt;/p&gt;

&lt;p&gt;[20150703更新] 用户已经修正License的，会剔除出曝光列表。&lt;/p&gt;

&lt;p&gt;MIT license&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://choosealicense.com/licenses/mit/&quot;&gt;http://choosealicense.com/licenses/mit/&lt;/a&gt;&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;The MIT License (MIT)

Copyright (c) 2014 Lijia Yu

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the &quot;Software&quot;), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;[20150709更新]&lt;/p&gt;

&lt;p&gt;我在freshman21的博客里注明了在fork并修改这套模版后正确的License修改方式。
感谢用户们的支持，这次发现的问题都发生在国内用户中，所以有了这篇博客，我之后私下联系了我看到有问题的repo作者，他们都很礼貌的将Licese修改正确。
也感谢最开始，被我挂到网站上的那位用户，主动联系了我解决问题。
另外，我自己也要总结，没联系对方时，最好不要在网站上挂出来，当时一激动就直接挂了最开始找到一个，给对方也造成了一定的麻烦。
在此感谢所有用户的理解与支持。&lt;/p&gt;
</description>
        <pubDate>Thu, 02 Jul 2015 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E7%BD%91%E7%BB%9C%E8%A7%82%E5%AF%9F/2015/07/02/MIT-License.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E7%BD%91%E7%BB%9C%E8%A7%82%E5%AF%9F/2015/07/02/MIT-License.html</guid>
        
        <category>授权</category>
        
        <category>MIT license</category>
        
        <category>Jekyll</category>
        
        
        <category>网络观察</category>
        
      </item>
    
      <item>
        <title>比特币与统计套利</title>
        <description>&lt;p&gt;推荐一篇zhihu上的文章&lt;a href=&quot;http://zhuanlan.zhihu.com/alfredyuan/20090944&quot;&gt;《青铜时代：中本聪之惑》&lt;/a&gt;
讲述两人利用比特币平台之间的差价做套利的故事。&lt;/p&gt;

&lt;p&gt;我自己知道比特币是在大学初期，当时自己的台式机器没有挖掘的能力，下载了比特币钱包，挂了一晚上都没有结果，之后就不了了之，钱包也删除了。然后比特币火起来的时候关注了一些山寨币，由于山寨币毕竟是山寨货没有什么投资价值，遂放弃关注这个方面。&lt;/p&gt;

&lt;p&gt;最近看了看股市新闻，发现一个金融产品若出现长时间（至少两个月）利好。一定要尽早抓住投资，做一到三个月的短期交易，回报有时候会很大。&lt;/p&gt;

</description>
        <pubDate>Tue, 30 Jun 2015 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84/2015/06/30/bitcoin.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E9%87%8F%E5%8C%96%E6%8A%95%E8%B5%84/2015/06/30/bitcoin.html</guid>
        
        <category>比特币</category>
        
        <category>文章推荐</category>
        
        
        <category>量化投资</category>
        
      </item>
    
      <item>
        <title>多组织间的DNA甲基化系统研究</title>
        <description>&lt;p&gt;前一段时间有幸聆听了杨晓飞做的关于DNA甲基化相关的报告，现在简要回顾一下他们这篇文章的内容。另外这个工作的参与者里还有Xiaojian Shao老师，不过他挂名的工作单位实在是太奇怪了&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;_-_&lt;/code&gt;。另外这篇文章是收费的，所有Supplementary无法下载&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-_-&apos;&lt;/code&gt;&lt;/p&gt;

&lt;h3 id=&quot;systematic-dna-methylation-analysis-of-multiple-cell-lines-reveals-common-and-specific-patterns-within-and-across-tissues-of-origin&quot;&gt;Systematic DNA methylation analysis of multiple cell lines reveals common and specific patterns within and across tissues of origin&lt;/h3&gt;

&lt;p&gt;这个工作主要是用定义并设计了一个方法找出DNA甲基化相关位置（local clusters of CpG sites），并在获得的DNA甲基化区段内进行多组织间的分析。&lt;/p&gt;

&lt;p&gt;整个工作分为三个层次：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;找寻DNA甲基化在各个组织间的common pattern
    &lt;ul&gt;
      &lt;li&gt;在基因组上的富集情况&lt;/li&gt;
      &lt;li&gt;功能&lt;/li&gt;
      &lt;li&gt;同（基因）表达的相关性&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;细胞谱系特异性的pattern
    &lt;ul&gt;
      &lt;li&gt;甲基化pattern&lt;/li&gt;
      &lt;li&gt;在基因组上的富集情况&lt;/li&gt;
      &lt;li&gt;motif的富集情况&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;细胞系特异性的pattern
    &lt;ul&gt;
      &lt;li&gt;甲基化pattern&lt;/li&gt;
      &lt;li&gt;功能的富集&lt;/li&gt;
      &lt;li&gt;同（基因）表达的相关性&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;1local-clusters-of-cpg-siteslccs的找寻方法&quot;&gt;1.local clusters of CpG sites（LCCS）的找寻方法&lt;/h4&gt;

&lt;p&gt;本文采用的ENCODE项目reduced representation bisulfite sequencing (RRBS)的甲基化数据，一共用了54正常细胞系。&lt;/p&gt;

&lt;p&gt;根据我自己对数据的理解，由于RRBS数据只是在一些位点测定了DNA的甲基化情况，而不是全基因组测定DNA甲基化情况，所以位点比较稀疏。&lt;/p&gt;

&lt;p&gt;local clusters of CpG sites的就是把DNA甲基化位点密集的区域变成一个unit，对DNA甲基化位点进行聚类。具体的聚类方法如下（意思差不多，这个是我听讲座后自己总结的）：&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;找到在整个基因组上距离最近的两个甲基化位点，将这两个点归为一个unit&lt;/li&gt;
  &lt;li&gt;从这两个点的上下游找寻距离这个unit最近的一个甲基化位点，把这第三个甲基化位点放入unit里&lt;/li&gt;
  &lt;li&gt;重复第二个步骤，直到这个unit的长度达到500bp(不超过500bp)，这样就选出了一个LCCS&lt;/li&gt;
  &lt;li&gt;接下来再次进行第一到第三步骤，直至所有的甲基化位点都成为某个LCCS的一部分&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;最终在所有用于研究的细胞系中，他们找到了35276个LCCSs，LCCSs的长度中位数是79bp，每个LCCS上有7个CpG。对于大多数LCCSs（21417，60.7%）甲基化比例(percent methylated value，简称为PM)的方差小于5。&lt;/p&gt;

&lt;h4 id=&quot;2加权lccs共甲基化网络的分析展示出不同生物过程相关的共甲基化模块&quot;&gt;2.加权LCCS共甲基化网络的分析展示出不同生物（过程）相关的共甲基化模块&lt;/h4&gt;

&lt;p&gt;&lt;em&gt;下面所有分析中没有对DNA甲基化数据做样本间的normalization，当时演讲人说ENCODE网站上有信息说这些数据可以相互比较。&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;本文中将LCCSs进行聚类，发现了7个group(module 模块)，这7个模块中5个是高甲基化的，2个是低甲基化的。高甲基化的区域多在非编码，基因体，open sea&lt;sup id=&quot;fnref:1&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:1&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;，低甲基化的区域多为启动子， CpG islands（CGI）在open sea区域很少见。接下来，就是对高甲基化和低甲基化区域(各个模块)的分析（关于功能，以及同基因表达的相关性），没有什么有意思的发现，就不赘述了。&lt;/p&gt;

&lt;p&gt;在什么地方用到了网络？ 为了度量不同细胞系之间的LCCS是否相似，文中采用加权LCCS共甲基化网络，找出细胞系之间相似的甲基化LCCS模块。&lt;/p&gt;

&lt;h4 id=&quot;3细胞谱系特异性的pattern分析&quot;&gt;3.细胞谱系特异性的pattern分析&lt;/h4&gt;

&lt;p&gt;首先对LCCSs根据细胞谱系进行聚类（血液、肝脏、肺、心脏等），发现细胞谱系特异性的DNA甲基化多富集在基因体 和非CpG岛区域。之后就找了在低甲基化的LCCSs区域内的motif，发现了一些同转录调控相关的蛋白motif。最后找到了同细胞谱系特异性的LCCSs相关的一些基因，这些基因根据资料也的确是细胞谱系特异性表达。&lt;/p&gt;

&lt;h4 id=&quot;4细胞系特异性的pattern&quot;&gt;4.细胞系特异性的pattern&lt;/h4&gt;

&lt;p&gt;本文中发现细胞特异性的LCCSs富集在不同的染色质状态（chromatin states），细胞系特异性的高甲基化LCCSs在weak transcriptional state富集，低甲基化的LCCSs富集在活跃的启动子和增强子区域。&lt;/p&gt;

&lt;h3 id=&quot;分析软件&quot;&gt;分析软件&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;WGCNA package&lt;/li&gt;
  &lt;li&gt;HOMER&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;单词本&quot;&gt;单词本&lt;/h3&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;deplete&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;用尽，少有&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;intragenic&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;基因内&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;antagonism&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;对立，相克&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt; &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;h3 id=&quot;附注&quot;&gt;附注&lt;/h3&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/TFVakGv.png&quot; alt=&quot;CpG islands/shores/shelves/open sea&quot; /&gt;&lt;/p&gt;

&lt;div class=&quot;footnotes&quot; role=&quot;doc-endnotes&quot;&gt;
  &lt;ol&gt;
    &lt;li id=&quot;fn:1&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;&lt;a href=&quot;http://www.bristol.ac.uk/caite/geocode/newcastleshortcourse/howtomeasuredna.pdf&quot;&gt;Alix Groom: How to measure DNA methylation&lt;/a&gt; &lt;a href=&quot;#fnref:1&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
  &lt;/ol&gt;
&lt;/div&gt;
</description>
        <pubDate>Fri, 19 Jun 2015 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2015/06/19/Systematic-DNA-methylation-analysis-of-multiple-cell-lines-reveals-common-and-specific-patterns-within-and-across-tissues-of-origin.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2015/06/19/Systematic-DNA-methylation-analysis-of-multiple-cell-lines-reveals-common-and-specific-patterns-within-and-across-tissues-of-origin.html</guid>
        
        <category>DNA methylation</category>
        
        <category>ENCODE</category>
        
        
        <category>论文笔记</category>
        
      </item>
    
      <item>
        <title>人类胚胎以及胚胎干细胞的单细胞RNA测序数据分析</title>
        <description>&lt;h3 id=&quot;single-cell-rna-seq-profiling-of-human-preimplantation-embryos-and-embryonic-stem-cells&quot;&gt;Single cell RNA seq profiling of human preimplantation embryos and embryonic stem cells&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Nature Structural &amp;amp; Molecular Biology 20, 1131–1139 (2013) doi:10.1038/nsmb.2660&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Received 18 July 2013 Accepted 05 August 2013 Published online 11 August 2013&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.nature.com/nsmb/journal/v20/n9/full/nsmb.2660.html&quot;&gt;http://www.nature.com/nsmb/journal/v20/n9/full/nsmb.2660.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;本文一共对胚胎以及胚胎干细胞系阶段的124个单细胞进行测序。分析了RNA表达情况，是关于单细胞RNA方面的一篇早期研究文章。&lt;/p&gt;

&lt;h3 id=&quot;主要研究结论&quot;&gt;主要研究结论&lt;/h3&gt;

&lt;h4 id=&quot;1不同细胞类型间的转录情况分析&quot;&gt;1.不同细胞类型间的转录情况分析&lt;/h4&gt;

&lt;p&gt;本文研究的细胞类型包括卵母细胞，受精卵，2细胞卵裂球，4细胞卵裂球，8细胞卵裂球，桑椹胚，晚期囊胚，hESC细胞，传代10代后的hESC细胞。所有细胞经过了严格的形态学筛选。以往研究中已经确认在4细胞和8细胞阶段基因的表达情况会有极大的改变，该阶段是&lt;a href=&quot;https://en.wikipedia.org/wiki/Maternal_to_zygotic_transition&quot;&gt;Maternal to zygotic transition (MZT)&lt;/a&gt; 期。
本文在单细胞中测得属于RefSeq基因列表里的11006个基因(占所有RefSeq基因的49%)以及RefSeq转录本列表中18002个转录本（占总体的48%）。对于受精卵胚胎细胞的表达水平（RPKM&amp;gt;0.1）进行了聚类分析以及主成份分析，分析发现8细胞阶段和桑椹胚阶段的的表达水平有些类似。在人类中MZT阶段主要是在8细胞时期，文中找到了2495个显著上调的基因（zygotic gene activation）,上调基因的功能多富集在RNA新陈代谢，RNA剪接，核糖核蛋白复合物的生成，核糖体的产生中。&lt;/p&gt;

&lt;h4 id=&quot;2可变剪接的动态模式&quot;&gt;2.可变剪接的动态模式&lt;/h4&gt;

&lt;p&gt;文中分析的基因里有4822个基因至少产生了2个转录本。根据转录本特异性的外显子连接区域（junction）序列的唯一比对(uniquely mapping)，有20%（总数4822）的基因产生了2个以上的转录本，最高达到7个转录本。在所研究的7个发育阶段中（卵母细胞，受精卵，2细胞卵裂球，4细胞卵裂球，8细胞卵裂球，桑椹胚，晚期囊胚）只有206个基因在每个阶段都有多转录本的表达，其他的基因的多转录本只在特定的几个阶段中能检测到。另外，至少66%的情况下，基因所表达的主要异构体（major isoform）别其他的异构体表达量高2倍。另外文中以forkhead box(FOX) transcriptional factor, &lt;em&gt;FOXP1&lt;/em&gt;为例子，说明了一个ESC阶段特异性转录本异构体有一个外显子（exon 18b），这个异构体编码出的蛋白质与维持细胞多功能性相关，在体外胚胎干细胞中检测到的exon 18b是exon 18a的25倍。&lt;u&gt;但是这幅图上（见下方），还展示了一个非特异性表达的外显子exon 19，图中可以看到这个外显子在PE(原始内胚层)时期没有表达量数据，这个究竟是为什么，文中没有给出解释。&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/fEuROLV.png&quot; alt=&quot;fig3D&quot; /&gt;&lt;/p&gt;

&lt;h4 id=&quot;3长非编码rnalncrna的表达情况&quot;&gt;3.长非编码RNA(lncRNA)的表达情况&lt;/h4&gt;

&lt;p&gt;如果把所有的数据（124个细胞？）整合在一起分析，lncRNA的转录本拷贝数量均值是蛋白编码基因的十分之一（10%），同前人的数据结果较为一致。但是，如果对于每个单细胞进行分析，lncRNA的拷贝数量均值可以达到蛋白编码基因的40.5%。&lt;u&gt;文章中只有在这里用到了拷贝数量(copy number)这个词组，我不知道这个是指普通意义上的DNA上的gene copy number还是表达量水平。&lt;/u&gt;&lt;/p&gt;

&lt;h4 id=&quot;4未知的蛋白编码转录本以及lncrna&quot;&gt;4.未知的蛋白编码转录本以及lncRNA&lt;/h4&gt;

&lt;p&gt;为了找寻未知的新转录本，文中，首先排除了在已知基因上下游10kb范围内找到的未知转录本，并认为这些潜在的未知转录本可能是已知基因的一部分。接下来，对在排除后的区域内找到的新转录本进行了分析，从转录本长度，保守性方面说明文中所找到的新转录本同已知的转录本很相似，并且也看到了一些转录本在7个发育阶段的表达水平有很大的差异，说明这些新找出的转录本参与到了胚胎的发育调控中。&lt;/p&gt;

&lt;h4 id=&quot;5hescs和外胚层细胞的异同点tracing-pluripotency-during-the-derivation-of-hescs&quot;&gt;5.hESCs和外胚层细胞的异同点（tracing pluripotency during the derivation of hESCs）&lt;/h4&gt;

&lt;p&gt;hESCs是从囊胚内团细胞（inner cell mass）的外胚层中分化来的，但是关于hESCs同外胚层细胞的异同点的全面分析却很少。本文分析了晚期囊胚阶段的30个细胞（分别属于桑椹胚滋养外胚层(mural TE)，极滋养外胚层细胞(polar TE)，外胚层以及原始内胚层），对已知RefSeq基因的表达情况进行聚类分析（在聚类中用到了bootstrap）。并对一些marker基因在外胚层、滋养外胚层、原始内胚层中的相对表达情况做了分析。之后又对hESCs细胞以及EPI细胞中的上下调的多功能性marker基因进行了分析，分析结果既有一致性，又有区别。说明hESCs细胞与EPI细胞的基因表达有区别。这种区别不仅体现在已知的基因中，对于文章找到的新转录本和lncRNA也存在着类似的区别。最后他们还分析了hESCs同小鼠胚胎干细胞之间的关系（mEpiSCs），分析发现hESCs同mEpiSCs比较类似，mEpiSC特异性的marker基因在hESCs中高表达，但是mESC特异性的marker基因表达量不高。&lt;/p&gt;

&lt;h3 id=&quot;分析软件&quot;&gt;分析软件&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;clValid package (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SOTA function&lt;/code&gt;)&lt;/li&gt;
  &lt;li&gt;Coding Potential Calculator (求保守性水平 \(\omega\) metric)&lt;/li&gt;
  &lt;li&gt;pvclust package&lt;/li&gt;
  &lt;li&gt;Cufflinks&lt;/li&gt;
  &lt;li&gt;Trinity (&lt;em&gt;de novo&lt;/em&gt; transcriptome reconstruction)&lt;/li&gt;
  &lt;li&gt;PASA (eukaryotic genome annotation tool)&lt;/li&gt;
  &lt;li&gt;Cluster (gene expression pattern)&lt;/li&gt;
  &lt;li&gt;JavaTreeview (gene expression pattern)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;单词本&quot;&gt;单词本&lt;/h3&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;英文&lt;/th&gt;
      &lt;th style=&quot;text-align: center&quot;&gt;中文&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;preimplantation&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;胚胎植入前&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;maternal&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;母系&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;epiblast(EPI)&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;外胚层&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;&lt;em&gt;in vitro&lt;/em&gt;&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;体外&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;blastomere&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;卵裂球&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;oocyte&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;卵母细胞&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;maternal-zygotic transition&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;母系-合子过渡期&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;segregation&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;分离&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;trophectoderm&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;滋养外胚层&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;fibroblast&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;成纤维细胞&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;triplet&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;三联体&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;orthologous&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;直系同源&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;bovine&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;牛&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;blastocyst&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;胚囊&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;facilitated&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;便利&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;pluripotency&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;多能性&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;derivation&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;起源，衍生&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;metaphase&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;中期&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;zygote&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;受精卵&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;morula&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;桑椹胚&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;Late blastocyst&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;晚期囊胚&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;lineage&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;谱系&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;morphological&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;形态学&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;stringent&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;严格的&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;criteria&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;标准&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;germ&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;生殖&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;gamete&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;配子&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;phosphorylation&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;磷酸化&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;metabolism&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;新陈代谢&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;ribonucleoprotein&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;核糖核蛋白&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;biogenesis&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;合成&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;ribosome&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;核糖体&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;primitive endoderm&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;原始内胚层&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;maintenance&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;维持&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;inherite&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;遗传&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;drastically&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;彻底&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;hatch&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;孵化&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;subtly&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;巧妙地&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;precursor&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;先导&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;cytokine&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;细胞因子&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;cryopreservation&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;冷冻保存&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;pave&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;铺&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;dissect&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;解剖&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;reproductive&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;生殖&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;lysate&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;裂解液&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;deoxynucleotidyl transferase&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;脱氧核苷酸转移酶&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;culture&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;培养&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;immunostain&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;免疫染色&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;karyotype&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;核型&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;teratoma&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;畸胎瘤&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;heteroscedasticity&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;异方差性&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;passage&lt;/td&gt;
      &lt;td style=&quot;text-align: center&quot;&gt;传代&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

</description>
        <pubDate>Wed, 17 Jun 2015 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2015/06/17/Single-cell-RNA-seq-profiling-of-human-preimplantation-embryos-and-embryonic-stem-cells.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2015/06/17/Single-cell-RNA-seq-profiling-of-human-preimplantation-embryos-and-embryonic-stem-cells.html</guid>
        
        <category>Single Cell</category>
        
        <category>RNA seq</category>
        
        <category>embryos</category>
        
        <category>hESC</category>
        
        
        <category>论文笔记</category>
        
      </item>
    
      <item>
        <title>入夏后笔记本电脑罢工</title>
        <description>&lt;p&gt;入夏后，由于笔记本电脑太老，散热性能差，每次开机10分钟后就热得支撑不住，经常罢工，所有project更新减缓。&lt;/p&gt;

</description>
        <pubDate>Sat, 30 May 2015 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2015/05/30/summer-is-coming.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2015/05/30/summer-is-coming.html</guid>
        
        <category>夏天</category>
        
        
        <category>聚类不能</category>
        
      </item>
    
      <item>
        <title>Authorea——在线科研文档协同写作</title>
        <description>&lt;p&gt;&lt;a href=&quot;www.authorea.com&quot; title=&quot;Authorea&quot;&gt;Authorea&lt;/a&gt;是个挺有意思的网站，目的是为了让科学家更好的协同写作，支持GIT/IPYTHON，写作方式支持LATEX/Markdown。感觉有点像Github。注册后可以免费建立无数篇公开文档，和1篇私有文档。需要更多的私有文档，需要购买收费服务。文档还支持导出成pdf, word（rtf）, LaTeX等多种格式。在网页文章中有批注功能，这让协同写作越来越方便了。&lt;/p&gt;

&lt;p&gt;那么现在问题来了，有多少人的协同写作文档是可以在写作时就公开的？其实推广还是有一些问题存在的。&lt;/p&gt;

&lt;p&gt;持续关注中，貌似用这个来合作记录课堂笔记比较好。&lt;/p&gt;
</description>
        <pubDate>Fri, 15 May 2015 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E7%BD%91%E7%BB%9C%E8%A7%82%E5%AF%9F/2015/05/15/Authorea.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E7%BD%91%E7%BB%9C%E8%A7%82%E5%AF%9F/2015/05/15/Authorea.html</guid>
        
        <category>协同写作</category>
        
        <category>Authorea</category>
        
        <category>Git</category>
        
        <category>LaTeX</category>
        
        
        <category>网络观察</category>
        
      </item>
    
      <item>
        <title>如何从废旧耳机中取出磁铁</title>
        <description>&lt;p&gt;中文没搜索到靠谱的流程讲解，所以自己边做边写了一个。&lt;/p&gt;

&lt;p&gt;有一副废旧耳机，想废物利用，取出磁铁没准还能用在别的地方。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt;首先展示一下工具，一个小型一字螺丝刀，一个钳子（当锤子用）。
把耳机的罩子拆开后就如同下图的样子。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/Sy0s6mn.png&quot; alt=&quot;Imgur&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2.&lt;/strong&gt;第一步要把耳机正面（听筒面）的薄膜给撕掉，然后翻过来，背面有胶水，用小刀割下来。
背面有个垫片，用小刀找个契合的缝隙插进去，把垫片给掀起来。
耳机中央的小孔里有块海绵，用螺丝刀给剥离出来。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/jXW5HO1.png&quot; alt=&quot;Imgur&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3.&lt;/strong&gt;接下来，关键的一步。
耳机的磁铁同外面的金属托盘是被铆钉固定住的。
&lt;strong&gt;需要找个夹缝把托盘固定住&lt;/strong&gt;（我是把托盘固定在写字台玻璃与桌面的夹缝里），然后用螺丝刀顶住铆钉的部分，用钳子（或锤子）敲打，把铆钉头部敲打得掀起来，比中间的孔直径要小的时候，就可以把铆钉卸下来了。这时，磁铁就与托盘成功分离。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/GsymA76.png&quot; alt=&quot;Imgur&quot; /&gt;&lt;/p&gt;

&lt;p&gt;最后，耳机插头的部分也可以用钳子掰断，修整一下，做个手机防尘塞。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/Bv3uqfe.png&quot; alt=&quot;Imgur&quot; /&gt;&lt;/p&gt;
</description>
        <pubDate>Sat, 09 May 2015 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E7%94%9F%E6%B4%BB%E7%82%B9%E6%BB%B4/2015/05/09/how-to-get-magnets-from-broken-headphones.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E7%94%9F%E6%B4%BB%E7%82%B9%E6%BB%B4/2015/05/09/how-to-get-magnets-from-broken-headphones.html</guid>
        
        <category>耳机</category>
        
        <category>磁铁</category>
        
        <category>废物利用</category>
        
        
        <category>生活点滴</category>
        
      </item>
    
      <item>
        <title>关于TED神教的一些感想</title>
        <description>&lt;p&gt;最近看了一篇&lt;a href=&quot;http://buta.moe/2015/03/17/the-church-of-ted/&quot;&gt;中文博客&lt;/a&gt;，原文是说&lt;a href=&quot;http://www.nytimes.com/2015/03/15/opinion/sunday/the-church-of-ted.html&quot;&gt;The new york times上的一篇文章&lt;/a&gt;讽刺TED类似于宗教传播、精神鸦片，并且将 TED 与早期基督教福音教派进行了比较。&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;And while it’s not exactly fair to say that the conference series and web video function like an organized church, understanding the parallel structures is useful for conversations about faith — and how susceptible we humans remain. &lt;strong&gt;The TED style, with its promise of progress, is as manipulative as the orthodoxies it is intended to upset.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;TED 上最受欢迎的20个演讲不过是一些人所周知的常识，而信徒们则将这些显而易见的道德准则奉为人生信条，并通过传教一般的行为不断扩散。监狱里关押的人的确很多，雨林也的确在崩溃的边缘。我们生活在垃圾之中，幸福感达到了历史新低，而科学家们面对大数据不知所措。我们应该这样做，不该那样做，通过购买某个 App 来管理日常生活……TED 过于强调了人的主观能动性，犹如新教早期传教士一般试图用平均长度仅为15分钟的演讲来兜售宇宙终极问题的解决方案，而观众们则通过在 Facebook 上点赞来寻找人生意义，以及显示他们是多么的一个关爱他人、热爱生活的人啊。对于这种“廉价的精神鸦片”，我们中国人有个绝妙的词来形容：心灵鸡汤。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;我第一次接触TED是由于那个在国内网络爆火的视频2009年的&lt;q&gt;Pranav Mistry: The thrilling potential of SixthSense technology&lt;/q&gt;，当时对科技的力量感到非常震撼。 在这之后陆陆续续看过一些TED的talk，有科学相关的、也有纯粹对某个事情作评价的，总体而言我认为关于科学相关的TED演讲会邀请一些大学的老师来，还是值得一看，他们讲座的内容，大多是一些技术方面的东西，来TED基本上是想把自己的技术转化成产品而做推广。另外，TED有一个education板块，这里面的一些知识介绍还是很有意思的。&lt;/p&gt;

&lt;p&gt;TED神教这篇文章中的观点还是有理有据的，随着TED项目越做越大，来自四面八方的人们都想对其他人发表自己对某些事物的看法，演讲的内容和精彩程度都大不如从前。&lt;/p&gt;

&lt;p&gt;由于，在TED上看演讲的还是以没有相关专业背景的一般听众居多，所以TED上受欢迎的视频，肯定是大众喜欢的视频，由于TED的最主要影响力在美国，所以我推测出这个结论：在TED上授欢迎的演讲是美国人喜爱的一些内容。由此不难的出，被看得越多的视频大多是美国大众喜爱话题容，其实这些大众喜爱的内容就是&lt;q&gt;在不同时期不同地区的人们&lt;/q&gt;都能感受到共鸣的一碗”鸡汤”。&lt;/p&gt;

&lt;p&gt;切记，看talk，都要有自己的消化和吸收，不能盲从。&lt;/p&gt;

&lt;p&gt;另外看TED的主要作用是锻炼听写和翻译能力。&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;XD&lt;/code&gt;&lt;/p&gt;

</description>
        <pubDate>Tue, 28 Apr 2015 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E7%BD%91%E7%BB%9C%E8%A7%82%E5%AF%9F/2015/04/28/Thoughts-on-The-Church-of-TED.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E7%BD%91%E7%BB%9C%E8%A7%82%E5%AF%9F/2015/04/28/Thoughts-on-The-Church-of-TED.html</guid>
        
        <category>TED</category>
        
        <category>精神鸦片</category>
        
        
        <category>网络观察</category>
        
      </item>
    
      <item>
        <title>一个博客模版应该包括的内容</title>
        <description>&lt;p&gt;从去年11月底开始，我下定决心要把自己的Jekyll博客模版改成WordPress Twenty Eleven和Twenty Twelve类似的模式，做了个&lt;a href=&quot;https://github.com/yulijia/freshman21/&quot; title=&quot;Freshman21&quot;&gt;Freshman21（读作21st）&lt;/a&gt;，并且在github上公布了出来（这句有点像废话，本博客就是放在github pages的）。
并且在jekyllthemes.org做了宣传，三个月下来，有不少Jekyll博客的用户使用了我的模版，并且给我的模版&lt;a href=&quot;https://github.com/yulijia/freshman21/issues?q=is%3Aissue+is%3Aclosed&quot; title=&quot;closed issues&quot;&gt;纠正了很多错误的地方&lt;/a&gt;，非常感谢这些热心的用户。
那么，接下来想总结一下“一个博客模版必备的元素”。&lt;/p&gt;

&lt;h3 id=&quot;1基本htmlcss应该包括的内容&quot;&gt;1.基本Html+CSS应该包括的内容&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Table of Content&lt;/li&gt;
  &lt;li&gt;h1,h2,h3,h4,etc.&lt;/li&gt;
  &lt;li&gt;Blockquotes&lt;/li&gt;
  &lt;li&gt;Code formatting and highlight&lt;/li&gt;
  &lt;li&gt;Table&lt;/li&gt;
  &lt;li&gt;font style : cite and bold&lt;/li&gt;
  &lt;li&gt;Responsive web design&lt;/li&gt;
  &lt;li&gt;li style&lt;/li&gt;
  &lt;li&gt;Open Graph META Tags&lt;/li&gt;
  &lt;li&gt;Microdata (schema.org)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;TOC我在刚做模版时给忘记了，kramdown语法支持TOC，所以这块CSS是后加上的，先前fork本模版的用户要苦逼了&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;m(_ _)m&lt;/code&gt;。
Open graph meta tags 和Microdata的信息都是为了Facebook，Twitter，G+这些社交分享功能才加入的，我觉得写个模版，需要&lt;a href=&quot;http://www.zhangxinxu.com/wordpress/?p=2058&quot; title=&quot;HTML5扩展之微数据与丰富网页摘要&quot;&gt;遵守的规定&lt;/a&gt;越来越多了。&lt;/p&gt;

&lt;h3 id=&quot;2基本的页面应该包括的内容模块&quot;&gt;2.基本的页面应该包括的内容(模块)&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;目录&lt;/li&gt;
  &lt;li&gt;标签&lt;/li&gt;
  &lt;li&gt;自我介绍&lt;/li&gt;
  &lt;li&gt;留言簿&lt;/li&gt;
  &lt;li&gt;版权声明&lt;/li&gt;
  &lt;li&gt;订阅RSS&lt;/li&gt;
  &lt;li&gt;近期文章&lt;/li&gt;
  &lt;li&gt;博客友链&lt;/li&gt;
  &lt;li&gt;博客归档&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;在上面的项目中，除了“博客归档”需要借助plugin其他都可以用html+css+liquid实现，“博客归档”如果不自己写程序，那么在liquid只能实现按年份的“伪归档”，我的博客模版里就是一个“伪归档”。&lt;/p&gt;

&lt;h3 id=&quot;3其他附加模块&quot;&gt;3.其他附加模块&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;Back to top滑动按钮&lt;/li&gt;
  &lt;li&gt;google analytics/百度统计&lt;/li&gt;
  &lt;li&gt;分享到按钮&lt;/li&gt;
  &lt;li&gt;站内搜索（推荐google search）&lt;/li&gt;
  &lt;li&gt;异步加载自动展开&lt;/li&gt;
  &lt;li&gt;ReadMore 折叠长文章模式&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;上面所述的模块，设计社交分享，搜索引擎，用户体验，信息统计四个部分。&lt;/p&gt;

&lt;p&gt;对于社交分享和统计，如果你的博客是建立在github pages上，请尽量采用国外的社交分享链接和留言系统，我知道这样对于国内读者非常不友好，但是由于GFW&lt;q&gt;温柔注视&lt;/q&gt;github的情况时有发生，所以&lt;a href=&quot;http://yulijia.net/cn/%E7%BD%91%E7%BB%9C%E8%A7%82%E5%AF%9F/2014/12/28/baidu-cdn.html&quot;&gt;用国内的产品很可能出现各种莫名其妙的问题&lt;/a&gt;。
&lt;u&gt;如果你的页面是建立在coding.net这样的国内网站上，并且网站面向国内用户，请禁止使用google系列的所有产品，所有google相关功能都有可替换的国内产品&lt;/u&gt;（写完这句，想到自己生活在一个大局域网内，还是挺悲伤的&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;T_T&lt;/code&gt;）。&lt;/p&gt;

&lt;p&gt;站内搜索有两种实现方式，一种是用Jekyll的plugin，在官网上就可以找到，但是这个插件有个弱点，貌似是说文章越多搜索时要缓存的内容越多，搜索速度会变慢。所以，我就采用google site搜索了，国内用户就当作没看见这段话。&lt;/p&gt;

&lt;p&gt;用户体验主要想说的是“异步加载自动展开”和“折叠长文章”，前者需要写一些JaveScript，由于我的第一个模版想尽可能的是一个干净的&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;html+css&lt;/code&gt;模版，所以我就没研究这个内容，不过文章多了，用这个应该用户体验会好些；后者就是在首页只显示博文的一部分内容，需要阅读全文需要点进页面，这个很好实现，用&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;post.excerpt&lt;/code&gt;或者&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;post.summary&lt;/code&gt;都可以，条条大路通罗马。
我一开始觉得用&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;post.summary&lt;/code&gt;&lt;a href=&quot;http://yulijia.net/freshman21/howto/2015/01/18/how-to-create-post-summary.html&quot; title=&quot;How to creat post summary&quot;&gt;自己写summary的方法比较方便&lt;/a&gt;，但是后来仔细研究了一下，在模版中采用的是&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;post.excerpt&lt;/code&gt;方法（我自己博客中没有用，想看效果出门左转找Freshman21）。&lt;/p&gt;

&lt;h3 id=&quot;4还能做些什么&quot;&gt;4.还能做些什么&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;cv&lt;/li&gt;
  &lt;li&gt;参考文献的css修饰&lt;/li&gt;
  &lt;li&gt;各种链接的css修饰&lt;/li&gt;
  &lt;li&gt;在多人博客中区分不同作者&lt;/li&gt;
  &lt;li&gt;引用博客文章的权限提示，引用格式&lt;/li&gt;
  &lt;li&gt;数学文章的定理，命题，公里模块的css修饰，炫酷的Q.E.D.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;这部分内容只是有想法，没有实现的动力，目前我是一个喜欢极简风格的人。&lt;/p&gt;
</description>
        <pubDate>Fri, 03 Apr 2015 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E6%89%80%E6%80%9D%E6%89%80%E6%82%9F/2015/04/03/basic-knowledge-of-build-a-blog-theme.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E6%89%80%E6%80%9D%E6%89%80%E6%82%9F/2015/04/03/basic-knowledge-of-build-a-blog-theme.html</guid>
        
        <category>Jekyll</category>
        
        <category>博客模版</category>
        
        
        <category>所思所悟</category>
        
      </item>
    
      <item>
        <title>GFW大法好</title>
        <description>&lt;p&gt;真是什么缺德的事情都能做的出来。今天发现&lt;q&gt;git push + https&lt;/q&gt;完全不管用了，查了一下原因，估计是这个事情——&lt;a href=&quot;http://drops.wooyun.org/papers/5398&quot;&gt;百度统计js被劫持用来DDOS Github&lt;/a&gt;，&lt;a href=&quot;http://www.v2ex.com/t/179695&quot;&gt;V2EX讨论地址（需要翻墙）&lt;/a&gt;。&lt;a href=&quot;http://citizenlab.org/2015/04/chinas-great-cannon/&quot;&gt;2015.04.11更新，后续依旧精彩，中华大加农，国外人家没事写了篇论文出来。&lt;/a&gt; &lt;a href=&quot;http://googleonlinesecurity.blogspot.ch/2015/04/a-javascript-based-ddos-attack-as-seen.html&quot;&gt;2015.04.25更新，google也写了一篇博客来分析。&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;然后就立即换成&lt;q&gt;git push+ssh&lt;/q&gt;进行操作，可以正常提交。&lt;/p&gt;

&lt;p&gt;将https换成ssh的方法是把&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.git&lt;/code&gt;文件夹里的config文件中的url进行替换，具体config文件例子如下&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;[remote &quot;origin&quot;]
        url = git@github.com:yulijia/freshman21.git 
##之前是url = https://github.com/yulijia/freshman21.git
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;20150329-update&quot;&gt;2015.03.29 update&lt;/h3&gt;

&lt;p&gt;由于DDOS攻击一直在持续，架设在github.io上的网站从中国境内访问有很多问题，另外这个网站之前用了Baidu 的CDN加速，刚才访问时发现，直接5xx报错，我已经将Baidu的加速撤销。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;关掉百度云加速时，首先在系统界面关掉加速，然后再删除网站，切记！否则DNS地址还是百度的&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;下面这个命令可以在linux终端中用来查看DNS（ Domain Name System）设置情况:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;### 关掉前
[@localhost ~]# dig yulijia.net +nostats +nocomments +nocmd

;; global options: +cmd
;yulijia.net.     IN  A
yulijia.net.    15  IN  SOA n3368.ns.yunjiasu.com. dns.yunjiasu.com. 2017926777 10000 2400 604800 3600


### 关掉后
[@localhost ~]# dig yulijia.net +nostats +nocomments +nocmd

;; global options: +cmd
;yulijia.net.     IN  A
yulijia.net.    190 IN  A 192.30.252.153
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
</description>
        <pubDate>Fri, 27 Mar 2015 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E7%BD%91%E7%BB%9C%E8%A7%82%E5%AF%9F/2015/03/27/GFW-is-evil.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E7%BD%91%E7%BB%9C%E8%A7%82%E5%AF%9F/2015/03/27/GFW-is-evil.html</guid>
        
        <category>GitHub</category>
        
        <category>Great Firewall</category>
        
        <category>Baidu</category>
        
        <category>DDOS</category>
        
        
        <category>网络观察</category>
        
      </item>
    
      <item>
        <title>Jekyll 语法小节</title>
        <description>&lt;ul id=&quot;markdown-toc&quot;&gt;
  &lt;li&gt;&lt;a href=&quot;#yaml-front-matter&quot; id=&quot;markdown-toc-yaml-front-matter&quot;&gt;YAML Front Matter&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#site全局根结点&quot; id=&quot;markdown-toc-site全局根结点&quot;&gt;site全局根结点&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#data-files&quot; id=&quot;markdown-toc-data-files&quot;&gt;Data Files&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#常用语法&quot; id=&quot;markdown-toc-常用语法&quot;&gt;常用语法&lt;/a&gt;    &lt;ul&gt;
      &lt;li&gt;&lt;a href=&quot;#字符转义&quot; id=&quot;markdown-toc-字符转义&quot;&gt;字符转义&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#输出变量直接使用两个大括号括起来即可&quot; id=&quot;markdown-toc-输出变量直接使用两个大括号括起来即可&quot;&gt;输出变量直接使用两个大括号括起来即可。&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#循环&quot; id=&quot;markdown-toc-循环&quot;&gt;循环&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#if判断&quot; id=&quot;markdown-toc-if判断&quot;&gt;if判断&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#自动生成摘要&quot; id=&quot;markdown-toc-自动生成摘要&quot;&gt;自动生成摘要&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#删除指定文本&quot; id=&quot;markdown-toc-删除指定文本&quot;&gt;删除指定文本&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#删除-html-标签&quot; id=&quot;markdown-toc-删除-html-标签&quot;&gt;删除 html 标签&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#代码高亮并且显示行数&quot; id=&quot;markdown-toc-代码高亮并且显示行数&quot;&gt;代码高亮并且显示行数&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#获得数组的大小&quot; id=&quot;markdown-toc-获得数组的大小&quot;&gt;获得数组的大小&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#赋值&quot; id=&quot;markdown-toc-赋值&quot;&gt;赋值&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#搜索指定key&quot; id=&quot;markdown-toc-搜索指定key&quot;&gt;搜索指定key&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#排序&quot; id=&quot;markdown-toc-排序&quot;&gt;排序&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#转换成json&quot; id=&quot;markdown-toc-转换成json&quot;&gt;转换成JSON&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#把一个对象变成一个字符串&quot; id=&quot;markdown-toc-把一个对象变成一个字符串&quot;&gt;把一个对象变成一个字符串&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#单词的个数&quot; id=&quot;markdown-toc-单词的个数&quot;&gt;单词的个数&lt;/a&gt;&lt;/li&gt;
      &lt;li&gt;&lt;a href=&quot;#得到数组指定范围的结果集&quot; id=&quot;markdown-toc-得到数组指定范围的结果集&quot;&gt;得到数组指定范围的结果集&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;#参考文章&quot; id=&quot;markdown-toc-参考文章&quot;&gt;参考文章&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;最近尝试用Jekyll写个小展示网站，发现Jekyll的功能还是很强大的。之前很多不熟悉的语法，现在也都能摸索着用在模版里。本篇总结记录一下我常用的Jekyll基本语法（包括Liquid 语法）。&lt;/p&gt;

&lt;h3 id=&quot;yaml-front-matter&quot;&gt;YAML Front Matter&lt;/h3&gt;

&lt;p&gt;每写一篇markdown格式的文章，需要在文章的最开始写入一些常规信息变量的取值，具体有:指定模板(layout)， 标题(title)， 描述(description)， 分类(category/categories)， tags， 是否发布(published)， 以及自定义变量(超级好用)。&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;---
layout: post
title: title
category: blog
published: true # default true (可以不写这一行)
---
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;例如，我想在文章里加入天气情况:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;---
layout: post
title: title
category: blog
published: true # default true (可以不写这一行)
weather: sunny # 天气
---
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;然后调用时用&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;{ {post.weather} }&lt;/code&gt;即可。&lt;/p&gt;

&lt;h3 id=&quot;site全局根结点&quot;&gt;site全局根结点&lt;/h3&gt;

&lt;p&gt;在全局根结点site中有 site.tags.TAG 和 site.categories.category.CATEGORY 变量，可以列出所有拥有TAG标签或者CATEGORY的文章的列表(这里的变量只能写英文)。
另外&lt;q&gt;site.[CONFIGURATION_DATA]&lt;/q&gt;&lt;strong&gt;使得所有在_config.yml中的数据都能够通过site变量调用。&lt;/strong&gt;&lt;/p&gt;

&lt;h3 id=&quot;data-files&quot;&gt;Data Files&lt;/h3&gt;

&lt;p&gt;Jekyll 支持 从 _data 目录中加载 YAML， JSON， 和 CSV 格式的文件数据。&lt;/p&gt;

&lt;p&gt;例如创建 _data/user.yml 文件。&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;- name: Yu Lijia  
  github: yulijia
  nick: Yu
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;在html里这样写：&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&amp;lt;ul&amp;gt;
{% for member in site.data.members %}
  &amp;lt;li&amp;gt;
    &amp;lt;a href=&quot;https://github.com/{ { member.github } }&quot;&amp;gt;  &amp;lt;!--https://github.com/yulijia--&amp;gt;
    {% assign nick = member.nick %}
    {% assign name = member.name %}
      { { nick} } ( { {name} } )         &amp;lt;!--Yu(Yu Lijia)--&amp;gt;
    &amp;lt;/a&amp;gt;
  &amp;lt;/li&amp;gt;
{% endfor %}
&amp;lt;/ul&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;常用语法&quot;&gt;常用语法&lt;/h3&gt;

&lt;h4 id=&quot;字符转义&quot;&gt;字符转义&lt;/h4&gt;

&lt;p&gt;有时候想输出大括号了，使用 \ 转义即可。&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\{ =&amp;gt; {&lt;/code&gt;&lt;/p&gt;

&lt;h4 id=&quot;输出变量直接使用两个大括号括起来即可&quot;&gt;输出变量直接使用两个大括号括起来即可。&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;注意，本文中所有双大括号之前都加上的了空格，这是为了避免在code中被识别为程序，在正确语法中&lt;q&gt;{ {&lt;/q&gt;，&lt;q&gt;} }&lt;/q&gt;，&lt;q&gt;{ ％&lt;/q&gt; 以及 &lt;q&gt;％ }&lt;/q&gt;之间没有空格。&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;{ { page.title } }&lt;/code&gt;&lt;/p&gt;

&lt;h4 id=&quot;循环&quot;&gt;循环&lt;/h4&gt;

&lt;p&gt;和平常的解释性语言很像&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;o&quot;&gt;{&lt;/span&gt; % &lt;span class=&quot;k&quot;&gt;for &lt;/span&gt;post &lt;span class=&quot;k&quot;&gt;in &lt;/span&gt;site.posts % &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
    &amp;lt;a &lt;span class=&quot;nv&quot;&gt;href&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;{ { post.url } }&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;{&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt; post.title &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;&amp;lt;/a&amp;gt;
&lt;span class=&quot;o&quot;&gt;{&lt;/span&gt; % endfor % &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h4 id=&quot;if判断&quot;&gt;if判断&lt;/h4&gt;

&lt;p&gt;注意逻辑“与或”分别是&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;and&lt;/code&gt;,&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;or&lt;/code&gt;&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;o&quot;&gt;{&lt;/span&gt; % &lt;span class=&quot;k&quot;&gt;if &lt;/span&gt;user % &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
  Hello 
&lt;span class=&quot;o&quot;&gt;{&lt;/span&gt; % endif % &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;c&quot;&gt;# Same as above&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;{&lt;/span&gt; % &lt;span class=&quot;k&quot;&gt;if &lt;/span&gt;user &lt;span class=&quot;o&quot;&gt;!=&lt;/span&gt; null % &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
  Hello 
&lt;span class=&quot;o&quot;&gt;{&lt;/span&gt; % endif % &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;o&quot;&gt;{&lt;/span&gt; % &lt;span class=&quot;k&quot;&gt;if &lt;/span&gt;user.name &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&apos;tobi&apos;&lt;/span&gt; % &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
  Hello tobi
&lt;span class=&quot;o&quot;&gt;{&lt;/span&gt; % elsif user.name &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&apos;bob&apos;&lt;/span&gt; % &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
  Hello bob
&lt;span class=&quot;o&quot;&gt;{&lt;/span&gt; % endif % &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;o&quot;&gt;{&lt;/span&gt; % &lt;span class=&quot;k&quot;&gt;if &lt;/span&gt;user.name &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&apos;tobi&apos;&lt;/span&gt; or user.name &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&apos;bob&apos;&lt;/span&gt; % &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
  Hello tobi or bob
&lt;span class=&quot;o&quot;&gt;{&lt;/span&gt; % endif % &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;o&quot;&gt;{&lt;/span&gt; % &lt;span class=&quot;k&quot;&gt;if &lt;/span&gt;user.name &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&apos;bob&apos;&lt;/span&gt; and user.age &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; 45 % &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
  Hello old bob
&lt;span class=&quot;o&quot;&gt;{&lt;/span&gt; % endif % &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;o&quot;&gt;{&lt;/span&gt; % &lt;span class=&quot;k&quot;&gt;if &lt;/span&gt;user.name &lt;span class=&quot;o&quot;&gt;!=&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&apos;tobi&apos;&lt;/span&gt; % &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
  Hello non-tobi
&lt;span class=&quot;o&quot;&gt;{&lt;/span&gt; % endif % &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;c&quot;&gt;# Same as above&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;{&lt;/span&gt; % unless user.name &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&apos;tobi&apos;&lt;/span&gt; % &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
  Hello non-tobi
&lt;span class=&quot;o&quot;&gt;{&lt;/span&gt; % endunless % &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# Check for the size of an array&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;{&lt;/span&gt; % &lt;span class=&quot;k&quot;&gt;if &lt;/span&gt;user.payments &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; empty % &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
   you never paid &lt;span class=&quot;o&quot;&gt;!&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;{&lt;/span&gt; % endif % &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;o&quot;&gt;{&lt;/span&gt; % &lt;span class=&quot;k&quot;&gt;if &lt;/span&gt;user.payments.size &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; 0  % &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
   you paid &lt;span class=&quot;o&quot;&gt;!&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;{&lt;/span&gt; % endif % &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;o&quot;&gt;{&lt;/span&gt; % &lt;span class=&quot;k&quot;&gt;if &lt;/span&gt;user.age &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; 18 % &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
   Login here
&lt;span class=&quot;o&quot;&gt;{&lt;/span&gt; % &lt;span class=&quot;k&quot;&gt;else&lt;/span&gt; % &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
   Sorry, you are too young
&lt;span class=&quot;o&quot;&gt;{&lt;/span&gt; % endif % &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;c&quot;&gt;# array = 1,2,3&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;{&lt;/span&gt; % &lt;span class=&quot;k&quot;&gt;if &lt;/span&gt;array contains 2 % &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
   array includes 2
&lt;span class=&quot;o&quot;&gt;{&lt;/span&gt; % endif % &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;c&quot;&gt;# string = &apos;hello world&apos;&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;{&lt;/span&gt; % &lt;span class=&quot;k&quot;&gt;if &lt;/span&gt;string contains &lt;span class=&quot;s1&quot;&gt;&apos;hello&apos;&lt;/span&gt; % &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
   string includes &lt;span class=&quot;s1&quot;&gt;&apos;hello&apos;&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;{&lt;/span&gt; % endif % &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h4 id=&quot;自动生成摘要&quot;&gt;自动生成摘要&lt;/h4&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;  &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt; % &lt;span class=&quot;k&quot;&gt;for &lt;/span&gt;post &lt;span class=&quot;k&quot;&gt;in &lt;/span&gt;site.posts % &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
     &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt; post.url &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt; post.title &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
      &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt; post.excerpt | remove: &lt;span class=&quot;s1&quot;&gt;&apos;test&apos;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt; % endfor % &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h4 id=&quot;删除指定文本&quot;&gt;删除指定文本&lt;/h4&gt;

&lt;p&gt;remove 可以删除变量中的指定内容&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;{ { post.url | remove: &apos;http&apos; } }&lt;/code&gt;&lt;/p&gt;

&lt;h4 id=&quot;删除-html-标签&quot;&gt;删除 html 标签&lt;/h4&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;{ { post.excerpt | strip_html } }&lt;/code&gt;&lt;/p&gt;

&lt;h4 id=&quot;代码高亮并且显示行数&quot;&gt;代码高亮并且显示行数&lt;/h4&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;o&quot;&gt;{&lt;/span&gt; % highlight ruby linenos % &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;se&quot;&gt;\#&lt;/span&gt; some ruby code
&lt;span class=&quot;o&quot;&gt;{&lt;/span&gt; % endhighlight % &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h4 id=&quot;获得数组的大小&quot;&gt;获得数组的大小&lt;/h4&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;{ { array | size } }&lt;/code&gt;&lt;/p&gt;

&lt;h4 id=&quot;赋值&quot;&gt;赋值&lt;/h4&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;{ % assign index = 1 % }&lt;/code&gt;&lt;/p&gt;

&lt;h4 id=&quot;搜索指定key&quot;&gt;搜索指定key&lt;/h4&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;# Select all the objects in an array where the key has the given value.
{ { site.members | where:&quot;graduation_year&quot;，&quot;2014&quot; } } 
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h4 id=&quot;排序&quot;&gt;排序&lt;/h4&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;{ { site.pages | sort: &apos;title&apos;， &apos;last&apos; } }&lt;/code&gt;&lt;/p&gt;

&lt;h4 id=&quot;转换成json&quot;&gt;转换成JSON&lt;/h4&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;{ { site.data.projects | jsonify } }&lt;/code&gt;&lt;/p&gt;

&lt;h4 id=&quot;把一个对象变成一个字符串&quot;&gt;把一个对象变成一个字符串&lt;/h4&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;{ { page.tags | array_to_sentence_string } }&lt;/code&gt;&lt;/p&gt;

&lt;h4 id=&quot;单词的个数&quot;&gt;单词的个数&lt;/h4&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;{ { page.content | number_of_words } }&lt;/code&gt;&lt;/p&gt;

&lt;h4 id=&quot;得到数组指定范围的结果集&quot;&gt;得到数组指定范围的结果集&lt;/h4&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;{ % for post in site.posts limit:20 % }&lt;/code&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;参考文章&quot;&gt;参考文章&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;http://github.tiankonguse.com/blog/2014/11/10/jekyll-study/&quot;&gt;Jekyll 语法简单笔记&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://jekyllrb.com/docs/home/&quot;&gt;Jekyll DOCUMENTATION&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/Shopify/liquid/wiki/Liquid-for-Designers&quot;&gt;Liquid for Designers&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Thu, 12 Mar 2015 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%BD%AF%E4%BB%B6%E4%B8%96%E7%95%8C/2015/03/12/jekyll-syntax.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%BD%AF%E4%BB%B6%E4%B8%96%E7%95%8C/2015/03/12/jekyll-syntax.html</guid>
        
        <category>Jekyll</category>
        
        <category>静态博客</category>
        
        <category>YAML</category>
        
        <category>Liquid</category>
        
        
        <category>软件世界</category>
        
      </item>
    
      <item>
        <title>后Google reader时代</title>
        <description>&lt;p&gt;2013年7月1日 Google公司关闭了Google阅读器（Google Reader）服务，在那之后，我一直徘徊在各种替代品阅读器之间，用过feedly, feedspot, inoreader, Digg Reader, The Old Reader。一开始，觉得哪家都不好，毕竟没法同Google阅读器的舒适的功能相比（包括快捷键），各家的排版布局也乱七八糟，有的简洁没功能，有的繁杂界面点击起来又麻烦。&lt;/p&gt;

&lt;p&gt;刚开始觉得feedspot的界面模仿的比较像，功能也相似，所以就留在了这个阅读器里。feedspot基本上每月都给我发邮件，提醒我可以花钱升级到黄金版本，但是将近两年来，我根本那就没用过几次这个阅读器。今日登录想更新新的订阅地址时，发现feedspot的阅读器订阅功能有问题，有些别的阅读器可以订阅的博客链接地址竟然在feedspot上无法订阅。另外feedspot在建立之初就被人说过域名只注册了一年（估计是自动续费型），这也让很多人不敢相信该阅读器可以运营很长时间。所以不愿意花钱购买该产品的高级服务。&lt;/p&gt;

&lt;p&gt;基于上面广告问题，以及功能的问题，让我再次陷入了寻找阅读器的持续作战中，每每搜索Google Reader的替代品，知乎和v2ex都会有人评论说用了inoreader的体验最好。我果断又找到了之前的帐号，登录后，感觉界面比我最早用它时变得清爽，功能比较丰富，导入在feedspot无法订阅的订阅源也非常顺利，索性就又搬运了一次所有订阅源，使用inoreader继续阅读网上的好内容。用了几天，根据使用体验，我认为，后Google Reader时代，Inoreader能被称为优秀替代品。&lt;/p&gt;

&lt;p&gt;当然这篇文章如果仅仅只是一个浏览器使用评价，就真的没必要写了。我关心的问题是，后Google Reader时代，究竟还有多少人更新自己博客？&lt;/p&gt;

&lt;p&gt;我曾经在Google Reader有173个RSS订阅，其中有paper相关的38个永久源，搬家到Inoreader后剔除错误链接，还剩下139个，将近五分之一都完全失效了，一点后续内容都在网上搜索不到。在139个中有一些已经是年鉴级别的博客了，每年总结一篇（包括我自己的博客，也是每年写的少之又少）。 由于样本只有我订阅的博客，可能是因为技术类偏多，所以博客迁移比较频繁。相比于传统的WordPress typecho 博客，更多的人选择用Jekyll或者Hexo，另外轻博客的比例也增加了（特指李老师的博客xiaolai.li，我找了半天才发现他跑到tumblr上耍了&lt;code&gt;&apos;_&amp;gt;`&lt;/code&gt;）。&lt;strong&gt;个人博客如果只是记录自己技术摘抄，很有可能会更新不下去，长期更新的博客基本上都有自己运营的内容。&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;另外现在大家用移动设备（平板、手机）比较多，对于一些曾经用博客交流的内容，交流方式有了很大变化：&lt;q&gt;博客&lt;/q&gt;-&amp;gt;&lt;q&gt;微博or轻博客&lt;/q&gt;-&amp;gt;&lt;q&gt;聊天工具(wechat, etc.)&lt;/q&gt;。如果没有很好的阅读器app，谁也不会去读博客这种长篇文章了。&lt;/p&gt;

&lt;p&gt;推荐一个可以检测feed完整性的网站&lt;a href=&quot;http://feedvalidator.org/&quot;&gt;feedvalidator&lt;/a&gt;。很多订阅源的放到这个上面检测都有小问题。&lt;/p&gt;

&lt;hr /&gt;
&lt;p&gt;由于使用的是在线输入法，我的中文水平也不高，文章中会有很多拼音错别字，如果真有人看我写的内容，发现错别字，走过路过请吼一声提醒我一下，谢谢。&lt;/p&gt;

</description>
        <pubDate>Sat, 07 Mar 2015 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E7%BD%91%E7%BB%9C%E8%A7%82%E5%AF%9F/2015/03/07/post-google-reader-era.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E7%BD%91%E7%BB%9C%E8%A7%82%E5%AF%9F/2015/03/07/post-google-reader-era.html</guid>
        
        <category>feedspot</category>
        
        <category>Google Reader</category>
        
        <category>Inoreader</category>
        
        
        <category>网络观察</category>
        
      </item>
    
      <item>
        <title>采用百度云加速免费来加速站点</title>
        <description>&lt;blockquote&gt;
  &lt;p&gt;No Zuo, No Die&lt;/p&gt;

  &lt;p&gt;&lt;q&gt;2015.03.29更新&lt;/q&gt;&lt;/p&gt;

  &lt;p&gt;想必&lt;a href=&quot;https://news.ycombinator.com/item?id=9275041&quot;&gt;github 遭受DDOS攻击&lt;/a&gt;，是这个周末（2015.03.27-2015.03.29）码农圈子里的一个热门话题。由于这次攻击采用了Baidu的一段统计js代码，并且我的网站之前就用了Baidu的加速，在此次攻击中CDN缓存都访问不了网站，我撤销了相关加速服务。并且决定不会在github pages上采用任何国内的加速服务。&lt;/p&gt;

  &lt;p&gt;百度的这个加速服务适合于自己在国外服务器架设网站的用户。&lt;/p&gt;

  &lt;p&gt;此次百度云加速服务仅仅使用了3个月就宣告终结，不得不承认是大环境的影响，政府对某些方面的限制越来越多了。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;博客一直放在github.io上，访问的时候不管使用github.io的链接，还是自己的域名，
速度都很慢，没法办谁叫咱生活在一个大局域网里呢。&lt;/p&gt;

&lt;p&gt;然后今天的访问速度实在是慢得不可忍了，所以搜索了CDN加速服务，貌似大家现在使用最多的是&lt;a href=&quot;https://portal.qiniu.com/signup?code=3llo7m7u16dea&quot; title=&quot;注册邀请链接&quot;&gt;七牛云加速&lt;/a&gt;，但是这个很麻烦，对体验用户（非实名）限制也多。 通过搜索，我找到了&lt;a href=&quot;http://next.su.baidu.com/&quot; title=&quot;百度云加速&quot;&gt;百度云加速&lt;/a&gt;。&lt;/p&gt;

&lt;h3 id=&quot;特大好消息&quot;&gt;特大好消息&lt;/h3&gt;

&lt;p&gt;之前百度的云加速只允许有备案信息的站点申请使用，也就是网址为yunjiasu.baidu.com的这个， 据说是同&lt;q&gt;知道创宇&lt;/q&gt;联营，实际从用户角度基本看不到百度的身影，另一个是最近推出的 next.su.baidu.com &lt;strong&gt;不需要备案&lt;/strong&gt;。&lt;/p&gt;

&lt;p&gt;然后现在yunjiasu.baidu.com 也指向 next.su.baidu.com，这个加速服务不需要备案，并且现在是&lt;q&gt;免费试用期&lt;/q&gt;。&lt;/p&gt;

&lt;p&gt;只要有百度的帐号（应该都有吧，之前的大容量云盘战争还历历在目&lt;code&gt;&apos;_&amp;gt;`&lt;/code&gt;），就可以立即使用。&lt;/p&gt;

&lt;p&gt;操作也非常的简单，一共三步：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;填写需要加速的网站域名，例如：yulijia.net&lt;/li&gt;
  &lt;li&gt;设置需要加速服务的子域名，由于我只需要网站加速，所以这一步不用配置，直接next&lt;/li&gt;
  &lt;li&gt;修改NS，百度给出了&lt;a href=&quot;http://next.su.baidu.com/help/#NS%E4%BF%AE%E6%94%B9%E6%95%99%E7%A8%8B/page/1&quot; title=&quot;百度云加速NS修改教程&quot;&gt;教程&lt;/a&gt;，直接照着修改即可&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;然后，效果还不错，我激动的半夜发这个日志。&lt;/p&gt;

&lt;h3 id=&quot;20150308-update&quot;&gt;2015.03.08 update&lt;/h3&gt;

&lt;p&gt;使用了一段时间，速度基本保持稳定，但是有JS解析问题，MathJax的JS有时会出错，公式会变成&lt;font color=&quot;red&quot;&gt;红色的[Math Processing Error]&lt;/font&gt;。免费产品，凑和用了，没准最近直接访问的速度更快。&lt;code&gt;-_-&apos;&lt;/code&gt;&lt;/p&gt;
</description>
        <pubDate>Sun, 28 Dec 2014 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E7%BD%91%E7%BB%9C%E8%A7%82%E5%AF%9F/2014/12/28/baidu-cdn.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E7%BD%91%E7%BB%9C%E8%A7%82%E5%AF%9F/2014/12/28/baidu-cdn.html</guid>
        
        <category>Baidu</category>
        
        <category>CDN</category>
        
        
        <category>网络观察</category>
        
      </item>
    
      <item>
        <title>R软件语言环境和内存的基本设置</title>
        <description>&lt;p&gt;在这里介绍一些安装R软件后语言环境和内存的基本设置，仅在Linux发行版本Fedora下测试，Windows和OS X用户请绕道或者浏览后自举一反三。&lt;/p&gt;

&lt;h3 id=&quot;设置r语言界面的显示语言&quot;&gt;设置R语言界面的显示语言&lt;/h3&gt;

&lt;p&gt;在Fedora系统中，yum源安装R，安装后包含R的文件路径有:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;R:&lt;/p&gt;

  &lt;p&gt;/usr/bin/R&lt;/p&gt;

  &lt;p&gt;/usr/lib64/R&lt;/p&gt;

  &lt;p&gt;/usr/include/R&lt;/p&gt;

  &lt;p&gt;/usr/share/R&lt;/p&gt;

  &lt;p&gt;/usr/share/man/man1/R.1.gz&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;/usr/bin/R 这个就是R软件的二进制运行文件，/usr/lib64/R 里是R的所有库文件以及设置，/usr/include/R 存放R需要的头文件，/usr/share/R 包含了R需要调用的其他程序时的共享文件，/usr/share/man/man1/R.1.gz 是R文档&lt;/p&gt;

&lt;p&gt;修改R显示语言是在Renviron这个文件里，它的具体位置是&lt;code&gt;/usr/lib64/R/etc/Renviron&lt;/code&gt;。只需要在该文件最后添加&lt;code&gt;LANGUAGE=en&lt;/code&gt;即可。&lt;/p&gt;

&lt;h3 id=&quot;设置r可用内存&quot;&gt;设置R可用内存&lt;/h3&gt;

&lt;p&gt;&lt;q&gt;memory.limit&lt;/q&gt; 这个命令只能在windows下使用，那么在linux下有什么类似的命令吗？我选择使用package&lt;q&gt;ulimit&lt;/q&gt;来设置（这个package只能设置linux下的内存，对OS X 无效）。&lt;/p&gt;

&lt;div class=&quot;language-r highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c1&quot;&gt;## 安装 ulimit&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;devtools&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;::&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;install_github&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;krlmlr/ulimit&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;## 设置内存&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ulimit&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;::&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;memory_limit&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2000&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;## 测试&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;rep&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;0L&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;1e9&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Error&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;cannot&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;allocate&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;vector&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;of&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;size&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;m&quot;&gt;3.7&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Gb&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;R语言天生就带着内存和性能的诸多问题，例如：本身不带有多线程运行，读入的数据都放在内存里没有优化。所以像我一样只有一个6年前的2G内存Centrino处理器的小破本，还想做一些大数据的运算的话，请关注内存管理：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code&gt;rm()&lt;/code&gt;这个命令是常用的删除对象方法，但是它会删除变量的引用，并不会立即清除占用的内存，如果想立即释放内存，需要用&lt;code&gt;gc()&lt;/code&gt;命令。&lt;/li&gt;
  &lt;li&gt;对于矩阵如果都是整数，请不要用double类型来存储，可以用&lt;code&gt;storage.mode(x） &amp;lt;- &quot;integer&quot;&lt;/code&gt; 来改变变量x的存储模式，integer比double要省内存。&lt;/li&gt;
  &lt;li&gt;stackoverflow上面有个提问里提供了一个可以&lt;a href=&quot;http://stackoverflow.com/questions/1358003/tricks-to-manage-the-available-memory-in-an-r-session&quot; title=&quot;Tricks to manage the available memory in an R session&quot;&gt;查看R中变量占用内存的函数&lt;/a&gt;，如果需要关注变量的内存，可以使用一下。&lt;strong&gt;不过现在大家都用&lt;a href=&quot;http://www.rstudio.com&quot; title=&quot;Rstudio&quot;&gt;Rstudio&lt;/a&gt;来写R程序了，Rstudio里可以直接在Environment里采用Grid浏览模式看到每个变量占用内存信息。&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;使用&lt;code&gt;read.table()&lt;/code&gt;函数族把外部数据导入data.frame时，尽量显式设定&lt;code&gt;colClasses&lt;/code&gt;和&lt;code&gt;nrows&lt;/code&gt;选项，设定&lt;code&gt;comment.char = &quot;&quot;&lt;/code&gt;(如果没有comment的话)，要做到这一步中的每一点，首先需要了解读入数据的详细信息，例如行数可以用&lt;code&gt;wc -l&lt;/code&gt;在终端下查看，用&lt;code&gt;head&lt;/code&gt;命令在终端下显示几行数据内容，然后自行确定colClasses以及是否有comment需要回避。&lt;/li&gt;
  &lt;li&gt;在data.frame中把不需要的列设置成NULL，或者干脆重建一个（在内存足够执行copy的前提下）。&lt;/li&gt;
  &lt;li&gt;将外部数据导入矩阵时，使用scan()函数。&lt;/li&gt;
&lt;/ul&gt;

</description>
        <pubDate>Wed, 24 Dec 2014 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E7%BB%9F%E8%AE%A1%E7%BC%96%E7%A8%8B/2014/12/24/R-setting.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E7%BB%9F%E8%AE%A1%E7%BC%96%E7%A8%8B/2014/12/24/R-setting.html</guid>
        
        <category>R</category>
        
        <category>内存</category>
        
        
        <category>统计编程</category>
        
      </item>
    
      <item>
        <title>文本加密解密</title>
        <description>&lt;p&gt;首先普及一个常识，&lt;q&gt;密码&lt;/q&gt;是一种用来混淆的技术，它希望将正常的（可识别的）信息转变为无法识别的信息，这种无法识别的信息是可以再加工并恢复的。密码学（cryptology）是研究如何隐密地传递信息的学科。&lt;q&gt;Password或cipher&lt;/q&gt;，应该被翻译成口令/暗号（结果现在中文里也翻译成了密码），口令原来的意义是口头暗号，也叫“通行字”，是一个用于身份验证的保密的字符串，用以保护不想被别人看到的隐私以及防止未经授权的操作，达到保护隐私以及防止未经授权的操作的目的。&lt;/p&gt;

&lt;p&gt;研究文本加密解密的原因是我记不住自己的网站口令了，索性写如了文档中，进行加密，再存入数据库。&lt;/p&gt;

&lt;p&gt;在网上研究了一些加密/解密的方法，最好用的是&lt;a href=&quot;https://www.openssl.org/&quot;&gt;openssl&lt;/a&gt;这个工具。文本的加密解密主要使用的是openssl里的密码算法库。
如果在网上搜索，可以得到很多基于openssl的加密、解密方法。这里我主要介绍一点，基于enc（symmetric cipher routines）的加密解密时command里要添加&lt;code&gt;-A&lt;/code&gt; 选项。这个选项的作用是对于一串字符加密或解密时，所有内容在一行内输出。在需要加密的字符串长度超过40时（今在我的电脑上测试的数据，fedora 20），如果没有加入&lt;code&gt;-A&lt;/code&gt;选项，解密时会出现”error reading input file” 以及 “bad magic number” 这两种错误提示。&lt;/p&gt;

&lt;h3 id=&quot;问题重现&quot;&gt;问题重现&lt;/h3&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;## 将一个长达45个字符的字符串进行加密，加密方法 enc -aes-256-cfb
$ echo &quot;123456789012345678901234567890123456789012345&quot; | openssl enc -aes-256-cfb -e -base64 -k &quot;test&quot; -salt 
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$ echo &quot;123456789012345678901234567890123456789012345&quot; | openssl enc -aes-256-cfb -e -base64 -k &quot;test&quot; -salt
U2FsdGVkX1+jfo70LlMECXRyLhH9N/Pp9jRK7yMyqdhmEiDdM13fTsh/nntt/yd8
3A2VaByW0yRBIs1oEKk=
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;由上可以看到，加密后的输出被分成了两行。&lt;/p&gt;

&lt;p&gt;接下来，对输出内容进行解密:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;## 对分成两部分的加密字符串分别解密
$ echo &quot;U2FsdGVkX1+jfo70LlMECXRyLhH9N/Pp9jRK7yMyqdhmEiDdM13fTsh/nntt/yd8&quot; |openssl enc -aes-256-cfb -d -base64 -k &quot;test&quot;
12345678901234567890123456789012
$ echo &quot;3A2VaByW0yRBIs1oEKk=&quot; |openssl enc -aes-256-cfb -d -base64 -k &quot;test&quot;
error reading input file

## 对分成两部分的加密字符串合并解密
$ echo &quot;U2FsdGVkX1+jfo70LlMECXRyLhH9N/Pp9jRK7yMyqdhmEiDdM13fTsh/nntt/yd83A2VaByW0yRBIs1oEKk=&quot; |openssl enc -aes-256-cfb -d -base64 -k &quot;test&quot;
error reading input file
$ echo &quot;U2FsdGVkX1+jfo70LlMECXRyLhH9N/Pp9jRK7yMyqdhmEiDdM13fTsh/nntt/yd8 3A2VaByW0yRBIs1oEKk=&quot; |openssl enc -aes-256-cfb -d -base64 -k &quot;test&quot;
error reading input file
$ echo &quot;U2FsdGVkX1+jfo70LlMECXRyLhH9N/Pp9jRK7yMyqdhmEiDdM13fTsh/nntt/yd8\ 3A2VaByW0yRBIs1oEKk=&quot; |openssl enc -aes-256-cfb -d -base64 -k &quot;test&quot;
error reading input file
$ echo &quot;U2FsdGVkX1+jfo70LlMECXRyLhH9N/Pp9jRK7yMyqdhmEiDdM13fTsh/nntt/yd8\n3A2VaByW0yRBIs1oEKk=&quot; |openssl enc -aes-256-cfb -d -base64 -k &quot;test&quot;
error reading input file
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;由上可以看出，根本就无法正常解密之前的字符串。&lt;/p&gt;

&lt;h3 id=&quot;解决方法&quot;&gt;解决方法&lt;/h3&gt;

&lt;p&gt;查找资料后，发现需要在&lt;code&gt;openssl&lt;/code&gt; 语句中增加&lt;q&gt;-A&lt;/q&gt;选项，具体为:&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;123456789012345678901234567890123456789012345&quot;&lt;/span&gt; | openssl enc &lt;span class=&quot;nt&quot;&gt;-aes-256-cfb&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-e&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-base64&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-k&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;test&quot;&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-salt&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-A&lt;/span&gt;
U2FsdGVkX19XLlseSQxqXVmA8LIfIpQyEv/lVrM9EJk2RyMcHJsubnxN2M+365RnBG3oxXDYPOBNqIU+q0E&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;U2FsdGVkX19XLlseSQxqXVmA8LIfIpQyEv/lVrM9EJk2RyMcHJsubnxN2M+365RnBG3oxXDYPOBNqIU+q0E=&quot;&lt;/span&gt; |openssl enc &lt;span class=&quot;nt&quot;&gt;-aes-256-cfb&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-d&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-base64&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-k&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;test&quot;&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-A&lt;/span&gt;
123456789012345678901234567890123456789012345
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
</description>
        <pubDate>Tue, 23 Dec 2014 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E5%A3%B3%E7%89%8C%E8%84%9A%E6%9C%AC/2014/12/23/openssl-encode-decode.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E5%A3%B3%E7%89%8C%E8%84%9A%E6%9C%AC/2014/12/23/openssl-encode-decode.html</guid>
        
        <category>encode</category>
        
        <category>decode</category>
        
        <category>openssl</category>
        
        
        <category>壳牌脚本</category>
        
      </item>
    
      <item>
        <title>I am back</title>
        <description>&lt;p&gt;I am back!&lt;/p&gt;

&lt;p&gt;这么多年没画图，发现自学的技能也都可以还回去（还哪去了？网络、论坛？）。绞尽脑汁，也就拼了个这么个东西，只想在冬至这天叫嚣一句：I am Back!&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/zICQDKg.png&quot; alt=&quot;I_am_back&quot; /&gt;&lt;/p&gt;

</description>
        <pubDate>Mon, 22 Dec 2014 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E7%94%9F%E6%B4%BB%E7%82%B9%E6%BB%B4/2014/12/22/I-am-back.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E7%94%9F%E6%B4%BB%E7%82%B9%E6%BB%B4/2014/12/22/I-am-back.html</guid>
        
        <category>再启动</category>
        
        <category>用进废退</category>
        
        
        <category>生活点滴</category>
        
      </item>
    
      <item>
        <title>如何从Rosalind Franklin的衍射实验中观察出DNA双螺旋结构？</title>
        <description>&lt;blockquote&gt;
  &lt;p&gt;本文是一篇物理实验论文的介绍和编译，由于我对文中可能涉及的概念理解有误，希望看到的读者能够指出。&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;本篇文章未经授权，请勿转载。&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;罗莎琳德·埃尔西·富兰克林(Rosalind Elsie Franklin)是一名实验物理学家（1920-1958），她使用X射线衍射方法探测到了DNA的结构。&lt;/p&gt;

&lt;p&gt;“从那张经典的DNA晶体衍射图片(&lt;q&gt;Photo 51&lt;/q&gt;)里能读到什么信息来证明DNA的结构？” 一直是我非常感兴趣的问题。之前问过学生物的同学，他们也不清楚。由于我看不懂X射线衍射图像，在网上找了一些解读的文章，发现了&lt;a href=&quot;http://homepages.ius.edu/kforinas/P105/PTE000140.pdf&quot; title=&quot;How Rosalind Franklin Discovered the Helical Structure of DNA: Experiments in Diffraction&quot;&gt;这篇论文&lt;/a&gt;，用简单的中学实验方法讲述了富兰克林（以下用姓氏代替全名）的发现。
&lt;q&gt;2017年续，其实看了上面那篇文章，我还是没有弄懂究竟为什么图像是这个样子，经过一番搜索，我找找到了&lt;a href=&quot;http://iopscience.iop.org/article/10.1088/0034-4885/68/5/R05&quot;&gt;Diffraction by DNA, carbon nanotubes and other helical nanostructures&lt;/a&gt;这篇文章，螺旋结构的衍射图像就是富兰克林Photo 51中的样子。一直没理解的问题，其实是由于自己物理没学好，无法理解衍射图像。再后来看到quora上的问题&lt;a href=&quot;https://www.quora.com/How-does-one-physically-interpret-the-different-diffraction-patterns-between-A-DNA-and-B-DNA&quot;&gt;How does one physically interpret the different diffraction patterns between A-DNA and B-DNA?&lt;/a&gt;，从答案中可以看到原始模型，光学仿真以及衍射图像排列在一起的样子。&lt;/q&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/Cb2TpAz.png&quot; alt=&quot;A-DNA_and_B-DNA&quot; /&gt;&lt;/p&gt;

&lt;p&gt;在1951年11月的一份讲义中，富兰克林写到：这个结果支持DNA是一个螺旋结构，每个螺旋单元里包含（必须非常紧密排列的）2，3或者4个共轴核酸链，并且外侧有磷酸基团（The results suggest a helical structure (which must be very closely packed) containing 2, 3 or 4 co-axial nucleic acid chains per helical unit, and having the phosphate groups near the outside.）。这个结论比沃森（J. D. Watson）和克里克（F. Crick）公布他们基于富兰克林衍射图片对于DNA结构进行的研究要早了将近16个月。沃森和克里克是如何得到衍射图片数据的？这个在本文中不会涉及，沃森和克里克最终获得了诺奖，他们和富兰克林之间的往来是另一个吸引人的关于性格不和和男性沙文主义的故事，想了解整个发现过程，请搜索&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;DNA - Secret of Photo 51(Nova)&lt;/code&gt;这部科学纪录片。&lt;/p&gt;

&lt;p&gt;在&lt;q&gt;How Rosalind Franklin Discovered the Helical Structure of DNA: Experiments in Diffraction&lt;/q&gt;这篇论文中，作者设计了四个实验，使得学生可以重走富兰克林的DNA结构发现之旅，并且这些实验条件简单可以在高中或者大学本科实验室中重复。在实验中，作者用圆珠笔的弹簧来代替DNA，用普通光线来代替X射线。这些实验是一个普通的单缝或多缝衍射实验的相对简单扩展。它们可以向学生展示在一般实验室中无法很好说明的“衍射技术实用性”问题。
四个实验中的设备条件和困难程度各不相同。实验1使用简单的设备来说明衍射如何揭示了一个对象的结构。实验2需要一个稍微复杂的设置，同时也提供了有关衍射对象的详细信息。实验3是&lt;q&gt;Photo 51&lt;/q&gt;的分析，实验4是一个螺旋线的衍射的计算机模拟。实验1,2和3都是不错的课堂演示。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/vzJogUJ.png&quot; alt=&quot;Photo_51&quot; /&gt;&lt;/p&gt;

&lt;p&gt;图片为罗莎琳德·富兰克林X射线衍射实验获得的B型DNA衍射图案（图片编号：Photo 51）。图中最大的圆圈的直径为94mm。在零级衍射斑的位置有铅盘覆盖，以免曝光过度。一级衍射斑的位置也基本被覆盖住了，所以在实验中我们只使用二级，三级和五级衍射斑进行计算，四级衍射斑缺失，在文中会有说明。&lt;/p&gt;

&lt;h3 id=&quot;为什么x形图案揭示了双螺旋的结构&quot;&gt;为什么X形图案揭示了双螺旋的结构？&lt;/h3&gt;

&lt;p&gt;下面我们用一个简单的实验来介绍单缝衍射。如果我们用投影仪照射一个圆珠笔里的弹簧，可以得到下图中的图像，那么如果我们用一只激光笔或者激光二极管与投影仪一样从同样的方向来照射同样的弹簧，可以看到与投影仪照射时类似的结果(&lt;q&gt;类似个屁，我就是没弄清楚这个地方&lt;sup id=&quot;fnref:1&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:1&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/q&gt;)。由于光源的直径有限，所以只能照射到弹簧的一部分区域（例如没有照射到一部分弹簧线拐弯处时，线圈如同八字形或者倒八字形，两条“腿”的样子）。我们还可以用一个透镜来放大这个图形，投影到墙上。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/hVNBbmw.png&quot; alt=&quot;projection_pattern_of_spring&quot; /&gt;&lt;/p&gt;

&lt;p&gt;根据巴比涅原理（Babinet’s principle states），在点光源照射下，一个不透光物体产生的衍射图样和一个带有与该物体形状、大小完全相同的孔的衍射屏产生的衍射图样完全相同。 那么线圈被照射的部位的图形，也就与同样形状的单缝衍射图形一样。&lt;/p&gt;

&lt;p&gt;如何求出DNA的半径呢？通过一个缝隙的衍射无法得到半径，我们只能通过衍射暗斑来计算遮挡物体的宽度（弹簧铁丝的厚度 \(\alpha\)），在角度为\(\theta_{min}\)的时候\(\alpha\)的可以通过\(\alpha sin \theta_{min} = m \lambda\)求得。但是DNA没有“厚度”这个概念，因为x射线衍射测得是重磷核（heavy phosphorous nuclei）。&lt;/p&gt;

&lt;h3 id=&quot;富兰克林如何测得dna的直径&quot;&gt;富兰克林如何测得DNA的直径&lt;/h3&gt;

&lt;p&gt;我们可以通过增加两个凸透镜来扩大激光照射的范围，如下图所示。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/Gm26M5E.png&quot; alt=&quot;far-field_diffraction_pattern_design&quot; /&gt;&lt;/p&gt;

&lt;p&gt;通过衍射实验，我们可以得到弹簧线圈的多个间距，为了得到半径，需要首先知道间距的数值P。间距是螺旋之间的距离，也就是sin函数的波长。
&lt;img src=&quot;https://i.imgur.com/vWrkyfr.png&quot; alt=&quot;sine-function&quot; /&gt;&lt;/p&gt;

&lt;p&gt;通过上图我们可以从图中得到间距P可以由两个螺旋圈之间的距离d除以\(cos\alpha\)得到。\(P=\frac{d}{cos\alpha}\)。&lt;/p&gt;

&lt;p&gt;那么为什么我们还要测量多个螺旋圈之间的距离来的推断d呢？ 衍射峰在角度为\(\theta_{min}\)的时候的计算公式为：\(d sin\theta_{max} = m \lambda\)。&lt;/p&gt;

&lt;p&gt;我们用带有两个凸透镜的装置（上上图），可以求得透镜之间的距离是\(f_1+f_2\)，假设我们将光束的直径扩大到\(w=7\)毫米，并且得到5个sine函数间距（实验中一定要注意不要把平行光源弄成发散的）。当距离\(D&amp;gt;=w^{2}/\lambda\)时（w时光束直径，\(\lambda\)时波长），衍射图像属于远场衍射图（夫琅和费衍射）。实物图像如下图所示。&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/8f1t65T.png&quot; alt=&quot;far-field_diffraction_pattern&quot; /&gt;&lt;/p&gt;

&lt;p&gt;为了在更近的距离得到衍射图像，我们需要调整透镜之间的距离。之后就会看到弹簧的衍射图像呈现出亮斑的样子。在衍射暗斑的范围内，一些亮点是模糊的或者会看不到（丢失）。衍射暗斑是由于线圈的厚度所引起的干涉现象造成的。在计算圈数时一定别忘了包含丢失的圈。计算半径时，我们先选取第18个衍射峰，度量其到中心最大到光斑到距离（27mm，用游标卡尺&lt;sup id=&quot;fnref:2&quot; role=&quot;doc-noteref&quot;&gt;&lt;a href=&quot;#fn:2&quot; class=&quot;footnote&quot; rel=&quot;footnote&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;），然后使用\(d sin\theta_{max} = m \lambda\)。这个公式计算出d，即平行的两个线圈之间的距离是1.77mm，接下来根据\(P=\frac{d}{cos\alpha}\)，就可以求出P（角度应该是测量值）。投影的Sin函数波的斜率就是sin波函数的梯度，当x=0时，\(R sin(\frac{2\pi}{P\cdot x})\)，对左边当x=0时求微分，结果为\(\frac{2\pi R}{P}=tan(90 ^\circ -\alpha)\)。&lt;/p&gt;

&lt;h3 id=&quot;从dna衍射照片中计算半径&quot;&gt;从DNA衍射照片中计算半径&lt;/h3&gt;

&lt;p&gt;上面同样的方法可以应用于从DNA衍射照片中计算半径，将衍射图像按原始大小打印（直径94mm）。假设富兰克林当时使用的波长是铜\(K_{\alpha}\)线(\(\lambda=0.15 nm\))，样本和投影之间的距离是9cm。接下来就可以确定P，角度以及DNA的半径了。图像中0级和1级衍射峰被屏蔽（因为他们会在胶片上被过度曝光），所照片上离中心最近的光圈是2级（阶），我们可以用2，3，5级（阶）光圈来计算P值。&lt;u&gt;富兰克林将第4级（阶）光圈的缺失归结为是有第二个螺旋，即双螺旋！！！其偏移为螺距的3/8&lt;/u&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;The structural unit probably consists of two co-axial molecules which are not equally spaced along the fibre axis,… If one molecule is displaced from the other by about three-eighths of the fibre- axis period, this would account for the absence of the fourth layer line maxima and the weakness of the sixth.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;第一个螺旋的第4阶衍射峰出现在第二个螺旋第第2阶衍射暗斑处，双缝衍射的光斑在其中一个单缝的衍射暗斑处消失。&lt;/p&gt;

&lt;h3 id=&quot;计算机模拟衍射图像&quot;&gt;计算机模拟衍射图像&lt;/h3&gt;

&lt;p&gt;根据惠更斯原理，衍射图案由从孔径出现的所有基本波“融合”而成的，球形波面上的每一点（面源）都是一个次级球面波的子波源，子波的波速与频率等于初级波的波速和频率，此后每一时刻的子波波面的包络就是该时刻总的波动的波面。其核心思想是：介质中任一处的波动状态是由各处的波动决定的。
因此我们可以通过从光圈到x和y方向出现的所有正弦波（和余弦波）上求积分的方法来计算衍射图像。弹簧的衍射图像可以用产生正弦波的两个函数叠加而成。&lt;/p&gt;

&lt;p&gt;\(Rsin\frac{2\pi x}{P}+\frac{\alpha}{2}\) 和 \(Rsin\frac{2\pi x}{P}-\frac{\alpha}{2}\)，其中\(x_1&amp;lt;x&amp;lt;x_2\)。衍射图形\(F^2(k_x,k_y)\) 可以从下图中得到。
&lt;img src=&quot;https://i.imgur.com/FR4LQbs.png&quot; alt=&quot;eq5&quot; /&gt;
这个结果是一个关于空间频率的函数，有了\(k_x\)和\(k_y\) 就可以画图了。&lt;/p&gt;

&lt;p&gt;文章后面还有一个具体的例子，公式书写太麻烦，不再赘述。&lt;/p&gt;

&lt;p&gt;-Q.E.D.-&lt;/p&gt;

&lt;p&gt;后记：关于如何从DNA的X射线衍射图片中推测出DNA的结构的疑问，从我第一次看到那张图片起，就一直环绕在脑中，读研究生期间也没从老师同学那里得到答案，直到2013年我发现了DNA Learning Center里的这个&lt;a href=&quot;http://www.dnalc.org/view/15874-Franklin-s-X-ray.html&quot;&gt;slide&lt;/a&gt;，隐约从图中建立起了螺旋结构和衍射图片的联系，但是我还是没弄明白（自己的空间想象力和物理学知识都太差）。
2014年年初，我又翻出了这个问题，从果壳搜到一篇&lt;a href=&quot;http://www.guokr.com/question/487450/&quot;&gt;问答&lt;/a&gt;，我依旧没有看明白，不过那篇问答的作者给出了《物理教师》期刊中的论文，这篇论文&lt;del&gt;最终&lt;/del&gt;也没能解答了我的问题。在2017年我翻到旧博客，决定彻底解决这个问题的时候，还参考了&lt;a href=&quot;http://iopscience.iop.org/article/10.1088/0034-4885/68/5/R05&quot;&gt;Diffraction by DNA, carbon nanotubes and other helical nanostructures&lt;/a&gt; 这篇文章。&lt;u&gt;一直没能理解这个图像的原因是我不知道螺旋结构的衍射图案的样子。&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;从我产生这个问题到自己最终弄明白经过了很多年的时间，在没有得到任何帮助的情况下，自己都感到太不容易了。&lt;/p&gt;

&lt;p&gt;注释：&lt;/p&gt;

&lt;div class=&quot;footnotes&quot; role=&quot;doc-endnotes&quot;&gt;
  &lt;ol&gt;
    &lt;li id=&quot;fn:1&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;我用发光二极管和圆珠笔弹簧在封闭无光的厕所内重复了这个实验，由于不是“点”光源，所以衍射效果不好，近距离基本和投影仪的图像一样，远距离比较模糊，但只能看出“1圈衍”射的效果。没图，在暗室里手机没法拍照。 &lt;a href=&quot;#fnref:1&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li id=&quot;fn:2&quot; role=&quot;doc-endnote&quot;&gt;
      &lt;p&gt;DNA无法用游标卡尺测得光斑之间的距离，我们唯一的信息来源是衍射图像。 &lt;a href=&quot;#fnref:2&quot; class=&quot;reversefootnote&quot; role=&quot;doc-backlink&quot;&gt;&amp;#8617;&lt;/a&gt;&lt;/p&gt;
    &lt;/li&gt;
  &lt;/ol&gt;
&lt;/div&gt;
</description>
        <pubDate>Mon, 22 Dec 2014 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2014/12/22/Franklins-X-ray.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/2014/12/22/Franklins-X-ray.html</guid>
        
        <category>Rosalind Franklin</category>
        
        <category>X-ray衍射</category>
        
        <category>DNA双螺旋结构</category>
        
        
        <category>论文笔记</category>
        
      </item>
    
      <item>
        <title>在不同电脑上git push同个github账户下的repositories</title>
        <description>&lt;p&gt;###起因&lt;/p&gt;

&lt;p&gt;终于回家了啊，但是还不忘工作呀。把github的内容拷到移动硬盘里，带了回来。用自己的电脑继续写博客，结果gitpush出问题了。用了一个未知用户名push了一条更改记录。&lt;/p&gt;

&lt;p&gt;###经过&lt;/p&gt;

&lt;p&gt;上网搜索了一下，主要是SSH Keys没有配置好，先在本地电脑建立一个SSH Keys，然后在github上添加公钥。之后用git pull将本地版本库与github上的保持一致。&lt;/p&gt;

&lt;p&gt;####方法&lt;/p&gt;

&lt;p&gt;方法一：把A电脑上的密钥拷贝到B电脑上，名字可以不使用id_rsa，例如这里名字改为，id_rsa.new。&lt;/p&gt;

&lt;p&gt;方法二：用ssh-keygen重新生成ssh公钥/密钥对。&lt;/p&gt;

&lt;p&gt;####具体步骤&lt;/p&gt;

&lt;p&gt;1.检查SSH Keys，将已有的key备份。（&lt;a href=&quot;http://yulijia.net/en/git/2012/10/09/github-pages.html&quot; title=&quot;all file on your disk folder will be deleted&quot;&gt;做什么都要备份，要不就干等着吃亏吧&lt;/a&gt;）&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;cd&lt;/span&gt; ~/.ssh
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;ls
    &lt;/span&gt;config  id_rsa  id_rsa.pub  known_hosts
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;mkdir &lt;/span&gt;key_backup
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;cp &lt;/span&gt;id_rsa&lt;span class=&quot;k&quot;&gt;*&lt;/span&gt; key_backup
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;rm &lt;/span&gt;id_rsa&lt;span class=&quot;k&quot;&gt;*&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;2.添加SSH Keys&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;方法一：复制老key到新电脑上，cp A电脑上~/.ssh/id_rsa  到B电脑上 ~/.ssh/id_rsa.new，并把权限改为600&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;ssh &lt;span class=&quot;nt&quot;&gt;-T&lt;/span&gt; git@github.com  &lt;span class=&quot;c&quot;&gt;#测试看是否能成功&lt;/span&gt;
       Hi 你的名字! You have successfully authenticated, but GitHub does not provide shell access.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;ul&gt;
  &lt;li&gt;方法二：重新生成新key&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;ssh-keygen &lt;span class=&quot;nt&quot;&gt;-C&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;youremail@youremail.com&quot;&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-f&lt;/span&gt; ~/.ssh/id_rsa.new
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;3.设置用户名和&lt;a href=&quot;https://help.github.com/articles/setting-your-email-in-git/&quot;&gt;电子邮件&lt;/a&gt;。(&lt;strong&gt;这一步非常重要！！！&lt;/strong&gt;)&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;git config &lt;span class=&quot;nt&quot;&gt;--global&lt;/span&gt; user.name &lt;span class=&quot;s2&quot;&gt;&quot;Firstname Lastname&quot;&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;git config &lt;span class=&quot;nt&quot;&gt;--global&lt;/span&gt; user.email &lt;span class=&quot;s2&quot;&gt;&quot;youremail@youremail.com&quot;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;4.本地运行 git pull。&lt;/p&gt;

&lt;p&gt;###结果&lt;/p&gt;

&lt;p&gt;打通&lt;q&gt;任督二脉&lt;/q&gt;，成功了。&lt;/p&gt;

&lt;p&gt;###参考链接&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;a href=&quot;http://jpuyy.com/2012/07/use-github-and-change-computer.html&quot; title=&quot;使用github换电脑了怎么办？&quot;&gt;使用github换电脑了怎么办？&lt;/a&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;a href=&quot;https://gist.github.com/suziewong/4378434&quot; title=&quot;Git的多账号如何处理？&quot;&gt;Git的多账号如何处理？&lt;/a&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;a href=&quot;http://goo.gl/3eUg8&quot; title=&quot;多个github帐号 google搜索结果&quot;&gt;多个github帐号的使用配置&lt;/a&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;a href=&quot;http://stackoverflow.com/questions/1713137/github-first-push-problem-how-to-merge-remote-changes&quot; title=&quot;Github first push problem… how to merge remote changes?&quot;&gt;non-fast forward&lt;/a&gt;&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Wed, 06 Feb 2013 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%BD%AF%E4%BB%B6%E4%B8%96%E7%95%8C/2013/02/06/use-one-github-account-on-two-computers.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%BD%AF%E4%BB%B6%E4%B8%96%E7%95%8C/2013/02/06/use-one-github-account-on-two-computers.html</guid>
        
        <category>GitHub</category>
        
        <category>Git</category>
        
        
        <category>软件世界</category>
        
      </item>
    
      <item>
        <title>沉默就是助纣为虐</title>
        <description>&lt;p&gt;###功夫网，你是不是疯了？&lt;/p&gt;

&lt;p&gt;之前封wordpress.com 我没有说啥。现在知道了，沉默就是助纣为虐，连Github都封，真中国特色。&lt;/p&gt;

&lt;p&gt;现在国内浏览博客，下载不了CSS，等我换个地方[&lt;strong&gt;已更换&lt;/strong&gt;]。另外无法直接察看留言，只能登录到留言托管网站[&lt;strong&gt;好了&lt;/strong&gt;]。&lt;/p&gt;

&lt;p&gt;我估计功夫网的策略就是&lt;q&gt;只要国外可以建立博客的网站都会被封锁&lt;/q&gt;。&lt;/p&gt;

&lt;p&gt;&lt;em&gt;这封来封去，有什么意思？再怎么堵，也堵不完。总有一天会完蛋的，玩不过200年。&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;虽然说，在一天前，GFW放过了Github，可能在不知到什么时候的将来，还会变成被封锁的状态。2013.01.25&lt;/p&gt;

&lt;p&gt;&lt;q&gt; gist &lt;/q&gt; 在今年年底也彻底上不去了，一些论坛代码直接引用的gist页面，完全没法看到。google font 也基本没法使用，我的博客字体略难看，请大家见量。  2014.12.22&lt;/p&gt;
</description>
        <pubDate>Tue, 22 Jan 2013 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E7%BD%91%E7%BB%9C%E8%A7%82%E5%AF%9F/2013/01/22/GFW-are-you-nuts.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E7%BD%91%E7%BB%9C%E8%A7%82%E5%AF%9F/2013/01/22/GFW-are-you-nuts.html</guid>
        
        <category>GitHub</category>
        
        <category>Great Firewall</category>
        
        
        <category>网络观察</category>
        
      </item>
    
      <item>
        <title>rosalind.info——一个在线生物信息学算法学习网站</title>
        <description>&lt;p&gt;最近发现了一个网站，有点类似Project Euler 和算法onlinejudge的生物信息学学算法学习网站rosalind.info。从最简单的DNA核苷酸含量计算开始，有100多道生物信息学在线问题可以挑战。&lt;/p&gt;

&lt;p&gt;这个Project名字（rosalind）是纪念拍摄DNA晶体衍射图片的&lt;a href=&quot;http://en.wikipedia.org/wiki/Rosalind_Franklin&quot;&gt;Rosalind Elsie Franklin&lt;/a&gt;（没得到诺奖，早逝。&lt;em&gt;另外这个衍射图片怎么能看出双螺旋来，我一直没弄明白，请教生物专业的同学，他们也不清楚&lt;/em&gt;）。&lt;/p&gt;

&lt;p&gt;里面的题目还算有趣，我从头开始做了10道，题目都不难，当然自己的程序离完美解答还有差距。&lt;/p&gt;

&lt;p&gt;有了里面的题目，我的Howto系列又可以开始写了&lt;code&gt;:)&lt;/code&gt;&lt;/p&gt;

</description>
        <pubDate>Fri, 18 Jan 2013 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E7%BD%91%E7%BB%9C%E8%A7%82%E5%AF%9F/2013/01/18/bioinformatics-onlinejudge.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E7%BD%91%E7%BB%9C%E8%A7%82%E5%AF%9F/2013/01/18/bioinformatics-onlinejudge.html</guid>
        
        <category>rosalind.info</category>
        
        <category>Bioinformatics</category>
        
        
        <category>网络观察</category>
        
      </item>
    
      <item>
        <title>国科大（UCAS）学位论文LaTeX模板</title>
        <description>&lt;p&gt;&lt;strong&gt;用了2天时间，边学边改，写了个半成品的国科大学位论文LaTeX模板。&lt;del&gt;我想这个学位论文应该是用中文写的最后一篇论文了。使用LaTeX排版中文，实在是有太多的不方便，所以我决定以后使用LaTeX时一律写英文文档。&lt;/del&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;更新&lt;/strong&gt;：&lt;q&gt;就在刚刚2013.01.11 13：10 我解决了1.0beta中的两个问题。在也别用CJKbookmarks了，这就是问题的关键，时代在进步, 这个功能在我的文档中不干正事纯属捣乱。&lt;/q&gt;&lt;/p&gt;

&lt;p&gt;模板的下载地址：&lt;a href=&quot;https://github.com/yulijia/LaTeX_UCASthesis&quot;&gt;https://github.com/yulijia/LaTeX_UCASthesis&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;可以用&lt;code&gt;git clone https://github.com/yulijia/LaTeX_UCASthesis.git&lt;/code&gt;命令将其clone到本地。&lt;/p&gt;

&lt;p&gt;这个模版基于中科院电工所Tao Wang所写的&lt;a href=&quot;http://code.google.com/p/cas-lyx-template/&quot;&gt;CASThesis LyX模版&lt;/a&gt;，经简化改造成，没有用到自制类.cls文件，是一个代码比较”脏“但是直观可见的模板。&lt;/p&gt;

&lt;p&gt;版本号：1.1 beta&lt;/p&gt;

&lt;p&gt;&lt;del&gt;尚存在的问题&lt;/del&gt;&lt;/p&gt;

&lt;p&gt;&lt;del&gt;1. 复制出的英文会乱码，写模板时我使用的是CJK包，不知道为何英文文字无法正确的复制下来，估计和编码格式有关。&lt;/del&gt;&lt;/p&gt;

&lt;p&gt;&lt;del&gt;2. 无法生成中文索引，这个问题太恶心了，我所用的编译环境是Gummi集成的，搜索了所有网上关于中文索引乱码的解决办法，不管是自己编译还是用Gummi直接编译，都无法做到没有乱码，所以该模板不具有索引功能。&lt;/del&gt;&lt;/p&gt;

&lt;p&gt;###解决了&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;复制出的英文会乱码&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;无法生成中文索引&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;
&lt;pre&gt;&lt;code&gt;\usepackage[colorlinks=true,linkcolor=black,anchorcolor=black,citecolor=black,unicode]{hyperref}&lt;/code&gt;&lt;/pre&gt;

&lt;h4 id=&quot;2014年-更新了xetex版本具体请浏览项目页面我也同ucas-say-good-bye-了我的毕业论文是用word写的用latex无法达到毕业要求&quot;&gt;2014年 更新了XeTeX版本，具体请浏览项目页面，我也同UCAS say good-bye 了，我的毕业论文是用word写的，用LaTeX无法达到毕业要求。&lt;/h4&gt;
</description>
        <pubDate>Fri, 11 Jan 2013 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E6%A0%BC%E5%BC%8F%E6%8A%80%E5%B7%A7/2013/01/11/LaTeX-UCASthesis.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E6%A0%BC%E5%BC%8F%E6%8A%80%E5%B7%A7/2013/01/11/LaTeX-UCASthesis.html</guid>
        
        <category>LaTeX</category>
        
        <category>论文模板</category>
        
        
        <category>格式技巧</category>
        
      </item>
    
      <item>
        <title>linux系统以及服务器操作笔记</title>
        <description>&lt;p&gt;这是一个扫盲指导，对于第一次使用linux的用户，希望能有所帮助，尽量少走弯路，少提naive的问题。&lt;/p&gt;

&lt;h4 id=&quot;1-目录结构&quot;&gt;1. 目录结构&lt;/h4&gt;

&lt;p&gt;首先是对linux目录结构的理解，它的结构目录是&lt;/p&gt;
&lt;center&gt;/&lt;/center&gt;

&lt;center&gt;/bin /sbin /home /tmp /lib /usr /var /etc &lt;/center&gt;

&lt;p&gt;没有像C:\ D:\ E:\ 这样的盘符，在Windows系统中我们都把系统文件安装在C:\中，而在linux中系统文件是分别放在不同的目录中的，/bin 中存放编译好的二进制可执行程序，/home 是用户存放数据的目录，/lib 用来存放内核模块和共享链接，具体可以&lt;a href=&quot;http://linux-wiki.cn/wiki/zh-hans/Linux%E7%9B%AE%E5%BD%95%E7%BB%93%E6%9E%84&quot; title=&quot;linux结构目录&quot;&gt;参考这里&lt;/a&gt;。&lt;/p&gt;

&lt;p&gt;那么为什么linux的目录结构是这个样子？&lt;a href=&quot;http://www.ruanyifeng.com/blog/2012/02/a_history_of_unix_directory_structure.html&quot; title=&quot;Unix目录结构的来历&quot;&gt;阮一峰对此有个深入的挖掘&lt;/a&gt;。&lt;/p&gt;

&lt;p&gt;一般用的服务器多为linux系统的，管理员root会给你开通一个帐号ABC，你登录后进入的用户目录就是/home/ABC。&lt;/p&gt;

&lt;h4 id=&quot;2-登录服务器&quot;&gt;2. 登录服务器&lt;/h4&gt;

&lt;p&gt;如何登录服务器？ 在windows下一般可以下载登录软件putty或者setupssh.zip（我记不住名字是什么了，下载的安装包是这样的名字）。
putty是有一个登录界面软件，setupssh.zip则是可以直接用CMD窗口直接登录。&lt;/p&gt;

&lt;p&gt;使用setupssh.zip登录需要的命令是 ssh ABC@xxx.xxx.xxx.xxx  回车后，键入密码。&lt;/p&gt;

&lt;p&gt;登录后进入/home/ABC的目录下面，有些管理员允许你在/home文件夹下自己的文件夹里存储文件，但是有些数据量很大的文件（GB\TB级别）是不能存储在/home文件夹里的。这时管理员会告诉你可以将文件存放在哪个目录下。&lt;/p&gt;

&lt;h4 id=&quot;3-安装软件&quot;&gt;3. 安装软件&lt;/h4&gt;

&lt;p&gt;接下来说说所安装软件，在多用户的服务器上，不是每个用户都有权限将软件安装在/usr /opt之类的文件夹里。那么，你只能将自己需要用的软件安装在自己的/home/ABC文件夹里，
需要编译安装的软件（用C写的），第一步很多时候是./config –prefix=/home/ABC  这个的作用就是指定软件安装的地址，是你自己的目录下。之后程序会自动创建/home/ABC/bin目录来存放二进制文件，自动创建/home/ABC/lib目录来存放共享链接和一些库函数。&lt;/p&gt;

&lt;p&gt;在安装后，你会发现很多软件只能在安装的目录下“./软件名”这样执行，这是因为你没有设置&lt;a href=&quot;http://zh.wikipedia.org/wiki/%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F&quot; title=&quot;环境变量&quot;&gt;环境变量&lt;/a&gt;，还不能被相应的应用程序或守护进程访问到安装的软件（这半句的解释不一定正确）。 设置环境变量的方法，请自行google，基本格式是：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
1. 修改profile文件： 
# vi /etc/profile 
在里面加入:
export PATH=&quot;$PATH:/home/ABC/build_tools/bin&quot;

2. 修改.bashrc文件：
# vi /root/.bashrc 或者 &lt;q&gt;/home/xxxx/.bashrc&lt;/q&gt;  &lt;q&gt;我高估了人类的举一反三能力，如我只写/root/地址他们不管有没有权限，都只往/root/下写，另外写对地址的，一定要重新登录，不愿意重新登录的，在终端键入 source /root/.bashrc 或者 source /home/xxxx/.bashrc ，从这件事情我发现，饭不喂到嘴里，没人会吃，这是通病（估计我有时也一样）。2013年08月04日&lt;/q&gt;
在里面加入：
export PATH=&quot;$PATH:/home/ABC/build_tools/bin&quot;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;可爱的师弟对我在这里点评了他的事情”耿耿于怀”，他竟然在18年翻出了这个文章又看了一次&lt;code&gt;-_-b&lt;/code&gt;2018.07.25留&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;注意：方法1在服务器上是只有管理员级别用户才能做到的。&lt;/strong&gt;&lt;/p&gt;

&lt;h4 id=&quot;4-常用命令&quot;&gt;4. 常用命令&lt;/h4&gt;

&lt;p&gt;查看目录下的文件和文件夹 &lt;code&gt;ls&lt;/code&gt;。&lt;/p&gt;

&lt;p&gt;查看目录下的文件和文件夹的具体属性 &lt;code&gt;ll&lt;/code&gt;。&lt;strong&gt;注意：&lt;/strong&gt; &lt;q&gt;ll&lt;/q&gt;有两个辅助选项很管，一个是&lt;q&gt;-h&lt;/q&gt;可以显示文件的大小（以human看得懂的方式&lt;code&gt;;)&lt;/code&gt;，所以你知道为啥简称是h了吧）；另一个是&lt;q&gt;-a&lt;/q&gt;可以显示隐藏文件，对了，linux系统下的隐藏文件写法是&lt;q&gt;.文件名&lt;/q&gt;，这个辅助选项在&lt;q&gt;ls&lt;/q&gt;后面加也管用。&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://plus.google.com/101960720994009339267/posts/R58WgWwN9jp&quot; title=&quot;A lesson in shortcuts&quot;&gt;在文件名前加个点，就看不见了，为啥呢？&lt;/a&gt; 看完原因后，大家是不是都有个&lt;q&gt;姚明笑&lt;/q&gt;的表情。&lt;/p&gt;

&lt;p&gt;跳转目录 &lt;code&gt;cd&lt;/code&gt;目录绝对地址或相对地址（如果调转到下层子目录，可以用相对地址）。&lt;/p&gt;

&lt;p&gt;察看文件内容 &lt;code&gt;less&lt;/code&gt;。&lt;strong&gt;注意：&lt;/strong&gt;&lt;q&gt;less -N&lt;/q&gt;命令可以显示文件的行号。另外，二进制文件是无法察看的（你能看到的也是乱码），&lt;q&gt;二进制&lt;/q&gt;是给机器看的嘛。&lt;/p&gt;

&lt;p&gt;复制文件&lt;code&gt;cp&lt;/code&gt;。&lt;/p&gt;

&lt;p&gt;将文件传输到本地&lt;code&gt;scp&lt;/code&gt;。&lt;strong&gt;注意：&lt;/strong&gt;这个需要知道本地的ip地址（我没在Windows下测试过，只在linux下用过）。&lt;/p&gt;

&lt;p&gt;很多时候，大家需要在服务器后台上运行程序，而不耽误前台的工作。使用的命令是&lt;code&gt;screen 或者nohup 或者tmux&lt;/code&gt;(2018.07.25编辑，目前用tmux比较多，因为分屏方便)，别用什么奇葩的&lt;strong&gt;at&lt;/strong&gt;!!!&lt;/p&gt;

&lt;p&gt;其实很多时候，使用linux命令时要多用辅助选项&lt;q&gt;-h&lt;/q&gt;查看简单帮助，或者用&lt;code&gt;man&lt;/code&gt;查看详细的帮助文档。&lt;/p&gt;

&lt;p&gt;还有其他常用的&lt;code&gt;vi, top, awk, grep, diff, ln&lt;/code&gt;等等，请自行在需要的时候google。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;要记住，你想做的80%的文件处理工作，linux都有&lt;q&gt;常用工具+简单的pipeline&lt;/q&gt;可以帮你实现，不要在处理数据时show自己那点可怜的编程技术，耽误处理的速度。&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;最好的学习方法就是逼迫自己使用linux系统，等你每天都见不到Windows时，你会发现自己变成了一个自由软件的忠实使用者。&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;一个学习参考网站&lt;a href=&quot;http://nixsrv.com/llthw&quot; title=&quot;Learn Linux The Hard Way&quot;&gt;http://nixsrv.com/llthw&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
</description>
        <pubDate>Thu, 27 Dec 2012 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/2012/12/27/linux-note.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/2012/12/27/linux-note.html</guid>
        
        <category>Linux</category>
        
        <category>服务器</category>
        
        
        <category>操作系统</category>
        
      </item>
    
      <item>
        <title>置换检验</title>
        <description>&lt;p&gt;昨天，在plob.org写完这篇&lt;q&gt;&lt;a href=&quot;http://www.plob.org/2012/12/19/3176.html&quot; title=&quot;Permutation Test 置换检验&quot;&gt;permutation test 置换检验&lt;/a&gt;&lt;/q&gt;。这是一篇拖了半年的文章。
今天，在这里想说一下Permutation test中的一些小细节。&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;permuation是对已有的样本进行重新排序，打乱之前对照组和实验组的差异。而Bootstrap是从样本中重复抽样。&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;permutation test不需要有样本分布为正态的条件（稍微有点废话，非参的方法就是用来处理不是正态的问题的）。&lt;strong&gt;But resampling in a way that moves observations between the two groups requires that the two populations are identical when the null hypothesis is true—not only are their means the same, but also thire spreads and shapes.&lt;/strong&gt; 其实还是得需要是同分布的。&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;可以使用置换检验的情况：
 3.1 Two -sample problems：当零假设说的是&lt;q&gt;两个同分布的总体&lt;/q&gt;时。
 3.2 matched pairs desings：当零假设说的是&lt;q&gt;样本在每对之间只有随即的差异&lt;/q&gt;时。
 3.3 Relationships between two quantitative variables：当零假设说的&lt;q&gt;变量是不相关的&lt;/q&gt;时。&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;如果你要找个置信区间，我们不需要知道零假设是否成立，那么还是用Bootstrap吧。&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
  &lt;p&gt;2015.04.04 update&lt;/p&gt;

  &lt;p&gt;我在自己的博客里备份了&lt;q&gt;permutation test 置换检验&lt;/q&gt;&lt;a href=&quot;https://github.com/yulijia/cn/blob/gh-pages/_posts/2015-04-04-Permutation-Test-article-backup.md&quot;&gt;这篇文章&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
</description>
        <pubDate>Thu, 20 Dec 2012 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E7%BB%9F%E8%AE%A1%E5%8E%9F%E7%90%86/2012/12/20/permutation-test.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E7%BB%9F%E8%AE%A1%E5%8E%9F%E7%90%86/2012/12/20/permutation-test.html</guid>
        
        <category>非参数</category>
        
        <category>置换</category>
        
        
        <category>统计原理</category>
        
      </item>
    
      <item>
        <title>在github建立的新博客</title>
        <description>&lt;p&gt;从7月31日到现在，已经3个月没发过博客了，这三个月过得很快，进组后主要忙在工作上，也没有抽时间补写一些当时想写的内容。&lt;/p&gt;

&lt;p&gt;停顿三个月的唯一好处是，有时间把博客从&lt;q&gt;wordpress&lt;/q&gt;迁移到&lt;q&gt;Jekyll（Github）&lt;/q&gt;，告别了频繁的数据备份和wordpress升级。写博客从用RTF编辑器回归到直接用txt文档的模式，采用markdown语法，简单通用。&lt;/p&gt;

&lt;p&gt;当然搬家不是一蹴而就的，这期间反复观察了n位前辈的Jekyll博客，对照自己之前的Wordpress博客把外观套了下来，没有系统学习，有点东拼西凑，有些功能例如“搜索”就没能保留下来（说白了就是我不会用JavaScript或Ruby写搜索）。大体框架还是没有变，这对我来说已经是挺好的一件事情了。&lt;/p&gt;

&lt;p&gt;现在唯一遗憾的事情是，改域名DNS绑定之前，没有把wordpress的页面截图保存一份，以纪念我在Wordpress写博客的这一年多的时间。&lt;/p&gt;

&lt;p&gt;之后呢，应该会补充几篇在这个时间点（10月30日）之前的文章，目前都处于草稿(在&lt;a href=&quot;https://github.com/yulijia/cn/tree/gh-pages/_posts&quot; title=&quot;_posts文件夹&quot;&gt;_posts文件夹&lt;/a&gt;中可见)或腹稿状态。&lt;/p&gt;

&lt;p&gt;顺便记录一下，最近最喜欢的一句话：&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Captains and Kings may rule the world, but it is the presence of those we love and the memory of those we have lost, but who continue to live in our hearts, which bring beauty to living and make all that we do worthwhile.&lt;br /&gt;
尽管还有队长或国王统治世界，但是那些现在身边的所爱的人，和对已经失去的但永存心中的人的回忆，带给世界美丽，并使我们做的一切都值得。（翻译是MOSQY提供的）&lt;/p&gt;
&lt;/blockquote&gt;
</description>
        <pubDate>Tue, 30 Oct 2012 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2012/10/30/A-new-blog-on-github.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2012/10/30/A-new-blog-on-github.html</guid>
        
        <category>GitHub</category>
        
        
        <category>聚类不能</category>
        
      </item>
    
      <item>
        <title>暑期旅行——伊春</title>
        <description>&lt;p&gt;又是一篇迟到的游记，不过这次旅行基本没有玩成，遇到了中国特色的领导光临，想去哪哪都封路，副总理的确是个大官，他去玩，就封山关园，他去参观，博物馆就封闭，仅仅三天时间，都和他撞车，此行实在是不爽。&lt;/p&gt;

&lt;p&gt;不过还是可以总结一下旅行指南，在旅行前，我们做的工作还是非常充分的。&lt;/p&gt;

&lt;center&gt;伊春旅行指南&lt;/center&gt;
&lt;hr /&gt;

&lt;h2 id=&quot;个人准备&quot;&gt;个人准备&lt;/h2&gt;

&lt;h3 id=&quot;必带物品&quot;&gt;必带物品&lt;/h3&gt;

&lt;p&gt;1.证件类：&lt;strong&gt;身份证&lt;/strong&gt;，月票卡，借记卡&lt;/p&gt;

&lt;p&gt;2.用品类：&lt;strong&gt;现金&lt;/strong&gt;，钥匙，手表，眼镜，剪刀，小刀，&lt;strong&gt;卫生用品&lt;/strong&gt;，&lt;strong&gt;水壶&lt;/strong&gt;，&lt;strong&gt;雨伞&lt;/strong&gt;，&lt;strong&gt;记事本&lt;/strong&gt;，&lt;strong&gt;笔&lt;/strong&gt;，毛巾&lt;/p&gt;

&lt;p&gt;3.药品类：黄连素，感冒药，&lt;strong&gt;风油精&lt;/strong&gt;，创可贴，&lt;strong&gt;藿香正气&lt;/strong&gt;，消炎药，抗过敏类，肠胃类，驱蚊剂，防晒霜&lt;/p&gt;

&lt;p&gt;4.衣裤类：&lt;strong&gt;长衣&lt;/strong&gt;、&lt;strong&gt;长裤&lt;/strong&gt;（注意防潮和耐脏）&lt;/p&gt;

&lt;p&gt;5.数码类：&lt;strong&gt;手机&lt;/strong&gt;，相机，存储卡，&lt;strong&gt;充电器&lt;/strong&gt;，电池，手电筒，ＭＰ３&lt;/p&gt;

&lt;p&gt;6.一次性用品：报纸，袋子，&lt;strong&gt;地址电话号清单&lt;/strong&gt;，绳子&lt;/p&gt;

&lt;p&gt;7.导航类：地图，指北针&lt;/p&gt;

&lt;p&gt;8.饮食类：&lt;strong&gt;面包&lt;/strong&gt;，榨菜，&lt;strong&gt;糖&lt;/strong&gt;&lt;/p&gt;

&lt;h3 id=&quot;火车票&quot;&gt;火车票&lt;/h3&gt;

&lt;p&gt;1.08月07日21:09,北京—哈尔滨,Z1次列车,软卧,票价429.00元&lt;/p&gt;

&lt;p&gt;2.08月08日20:15,五营—伊春,K7018次列车,硬座,票价7.00元&lt;/p&gt;

&lt;p&gt;3.08月10日21:41,哈尔滨—北京,Z2次列车软卧,票价429.00元。&lt;/p&gt;

&lt;h3 id=&quot;出发时间&quot;&gt;出发时间&lt;/h3&gt;

&lt;p&gt;2012年8月7日，晚8点在北京站（&lt;em&gt;千万别弄错跑西站去了&lt;/em&gt;），公交车站集合。&lt;/p&gt;

&lt;h2 id=&quot;旅游方案&quot;&gt;旅游方案&lt;/h2&gt;

&lt;h3 id=&quot;第一套伊春五营-嘉荫黑龙江恐龙-伊春博物馆-哈尔滨&quot;&gt;第一套：伊春五营-嘉荫黑龙江、恐龙-伊春博物馆-哈尔滨&lt;/h3&gt;

&lt;p&gt;1.Day0-1：乘坐Z15或Z1火车，北京直达哈尔滨，21：00至第二天7：00到哈尔滨，乘坐汽车4小时到伊春12：00，之后去五营森林公园，从五营直接去嘉荫县住宿，预计晚上7点到。&lt;/p&gt;

&lt;p&gt;2.Day2：早晨看日出游览黑龙江沿岸，去界碑合影，之后去恐龙国家地质公园。下午返回伊春市，在市内参观小兴安岭资源馆，在伊春住宿。&lt;/p&gt;

&lt;p&gt;3.Day3-4：早上从伊春返回哈尔滨，再乘坐火车返回Z16或Z2（晚9点），第二天早7点到北京。&lt;/p&gt;

&lt;h3 id=&quot;第二套伊春博物馆-伊春五营-嘉荫黑龙江恐龙-哈尔滨&quot;&gt;第二套：伊春博物馆-伊春五营-嘉荫黑龙江、恐龙-哈尔滨&lt;/h3&gt;

&lt;p&gt;1.Day0-1：乘坐Z15或Z1火车，北京到哈尔滨直达，21：00至第二天7：00到哈尔滨，乘坐汽车4小时到伊春12：00，在市内参观小兴安岭资源馆，在伊春住宿。&lt;/p&gt;

&lt;p&gt;2.Day2：上午去五营森林公园，中午去嘉荫县住宿（2个小时）。在嘉荫县去恐龙国家地质公园，傍晚游览黑龙江沿岸，去界碑合影。去伊春的嘉荫县了解黑龙江在此段水域的生态情况，以及对伊春发展的支撑作用。&lt;/p&gt;

&lt;p&gt;3.Day3-4：早上从嘉荫县返回哈尔滨，再乘坐火车返回Z16或Z2（晚9点），第二天早7点到北京。&lt;/p&gt;

&lt;h3 id=&quot;最终方案&quot;&gt;最终方案&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;8月7日&lt;/strong&gt; 晚上北京出发&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;8月8日&lt;/strong&gt; 早7:10到哈尔滨&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;    中午12:00到伊春
    12：50坐上伊春到五营的车
    预计15:00前到五营
    晚上20:15火车K7018
    21:46到伊春 入住如家
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;8月9日&lt;/strong&gt; 早7:10坐伊春至嘉荫长途车&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;    下午返回伊春（时间见机行事）
    晚上若还有时间可以市里逛逛
    入住如家
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;8月10日&lt;/strong&gt;上午伊春市内观光&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;    中午返回哈尔滨
    晚饭哈尔滨吃 逛中央大街
    晚9:41火车
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;8月11日&lt;/strong&gt;早7:30北京西&lt;/p&gt;

&lt;h2 id=&quot;注意事项&quot;&gt;注意事项&lt;/h2&gt;

&lt;p&gt;1.在带好必备用品的基础上，尽量轻装上阵。&lt;/p&gt;

&lt;p&gt;2.所乘坐长途车次尽量记住车牌号，以免有物品遗失时方便找回。&lt;/p&gt;

&lt;p&gt;3.注意计算路上时间。&lt;/p&gt;

&lt;p&gt;#旅行的实际情况&lt;/p&gt;

&lt;p&gt;要计算好时间，因为只有不到4天的时间，还多数都在车上度过的，从伊春去嘉荫的客车每天只有一趟，上午9点开，中午到嘉荫，下午2点返回，所以时间还是比较紧的，最好是在嘉荫住宿，这样可以多玩一下，边境小城嘉荫的风景还是非常美丽的，小镇上非常干净，可以在黑龙江边乘船，远眺对岸的俄罗斯。&lt;/p&gt;

&lt;p&gt;我们看了界碑，没有人站岗，只是一个孤零零的石碑矗立在那里。不过黑龙江上是有巡察船来回穿梭的，对岸的俄罗斯非常安静，感觉是个无人区。&lt;/p&gt;

&lt;p&gt;杨大仙给我的报告做的&lt;a href=&quot;https://github.com/yulijia/cn/blob/gh-pages/_posts/2012-08-20-summer-travel-to-Yichun-report.md&quot; title=&quot;伊春之行——生态、生产、生活考察&quot;&gt;最终修改版&lt;/a&gt;还是很给力的(写得根红苗正又红又专)，顺利通过了所里的考核。&lt;/p&gt;

</description>
        <pubDate>Sun, 12 Aug 2012 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E6%B8%B8%E7%8E%A9%E6%8C%87%E5%8D%97/2012/08/12/summer-travel-to-Yichun.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E6%B8%B8%E7%8E%A9%E6%8C%87%E5%8D%97/2012/08/12/summer-travel-to-Yichun.html</guid>
        
        <category>假期</category>
        
        <category>封路</category>
        
        <category>伊春</category>
        
        <category>玩</category>
        
        
        <category>游玩指南</category>
        
      </item>
    
      <item>
        <title>有一门奇葩的课之meta-analysis</title>
        <description>&lt;p&gt;有一门奇葩的课，主要是讲述我遇到的各种各样奇葩老师或者奇葩教学内容的系列文章。是系列就意味着我遇到过不止一门课程是让我由此种想法的，并且我主观认为这些任课老师的教学方式令人堪忧。&lt;/p&gt;

&lt;p&gt;今天要介绍的是Biostatistics and Experimental Design&lt;/p&gt;

&lt;p&gt;meta-analysis在国内叫做荟萃分析或元分析，是个统计方法，比较新，我从没听说过，问了统计专业的同学也不清楚 。就是这样一个大家都没有接触过的分析方法，被老师用来作为讨论课的一个专题，并让大家学习做Slide介绍。&lt;/p&gt;

&lt;p&gt;meta-analysis（我认为）是将对同个问题不同条件下的实验结果进行标准化，之后分析哪个结果准确可靠性高。追溯其最早的实际应用，是统计学家&lt;a href=&quot;http://en.wikipedia.org/wiki/Karl_Pearson&quot; title=&quot;Karl Pearson&quot;&gt;Karl Pearson&lt;/a&gt;所作的对某种疫苗有效性的检测。但meta-analysis这个东西是上世纪50~60年代兴起的，70年代才有了这个“官方”的名字。meta-analysis中的有些features的选择是主观进行的，所以我感觉这个分析的可靠性其实并不高。&lt;/p&gt;

&lt;p&gt;说课程奇葩，主要是大家都没听说过的内容，给了1篇泛泛的综述，就让我们去做展示。整个Slide展示的过程中，有不少认识的缺陷，但是大家都没听说过，也就不好讨论出什么结果，老师呢，其实自己也没接触过这个方面，没有什么指导。既然这样，那做这个演讲展示的意义何在？纯做生物实验的学生统计知识有限，做数据分析纯用软件，meta-analysis中有许多需要自己选择定义的features，没有统计学专业同学的帮助，根本就无从上手。&lt;/p&gt;

&lt;p&gt;简而言之：学以致用，然无了解者，何谓之学？何以用之？&lt;/p&gt;

&lt;p&gt;（学以致用这个观点其实也有很多人有不同的意见，我觉得学以致用不是不追求“理”上的问题，而是突出“用”，所学必有用。这课上的累，不过还是记住了这个分析，以后闲聊，也能让听者有“虽不明，但觉厉”的感觉 &lt;code&gt;:)&lt;/code&gt;）&lt;/p&gt;
</description>
        <pubDate>Tue, 31 Jul 2012 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E5%AD%A6%E5%9C%A8%E8%AF%BE%E5%A0%82/2012/07/31/dull-course-meta-analysis.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E5%AD%A6%E5%9C%A8%E8%AF%BE%E5%A0%82/2012/07/31/dull-course-meta-analysis.html</guid>
        
        <category>meta-analysis</category>
        
        
        <category>学在课堂</category>
        
      </item>
    
      <item>
        <title>世界上所有的事物之间都有相关性吗？</title>
        <description>&lt;p&gt;最近（3月份的事情了，在草稿箱里躺到现在[现在已经是12月份了&lt;code&gt;-_-b&lt;/code&gt;]）在看MIC的paper，它主要讲述的是关于最大信息相关性的定义和计算方法。它基本上是根据非参数统计的内容进行计算的，而非参数统计是在不知道样本分布的情况下进行统计量的计算。由此我想到在统计方面是不是世界上万物都有相关性，都可以计算相关性？&lt;/p&gt;

&lt;p&gt;回答这个问题其实很简单，只要有可以统计的数据，那么就可以找到相关性（例如用回归分析的方法）。但就统计方法而言，什么是合适的统计变量，统计结果是否具在实际问题中显著性，都是因不同的数据而有所不同的。&lt;/p&gt;
</description>
        <pubDate>Tue, 31 Jul 2012 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E6%89%80%E6%80%9D%E6%89%80%E6%82%9F/2012/07/31/does-everthing-has-coefficient.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E6%89%80%E6%80%9D%E6%89%80%E6%82%9F/2012/07/31/does-everthing-has-coefficient.html</guid>
        
        <category>coefficient</category>
        
        
        <category>所思所悟</category>
        
      </item>
    
      <item>
        <title>做生物信息学什么最重要？</title>
        <description>&lt;blockquote&gt;弄清楚研究的生物问题最重要！！！
&lt;p style=&quot;text-align: left;&quot;&gt;——记同stanford统计教授的谈话有感&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;关注大师的言行：今天算是看到了国外大师的真正面貌，由于所里安排的比较轻松，下午2点到5点每小时一个组的成员来找他交流，据导师说要是去个清华统计系，估计一天得8个小时都有小组要排队交流。看到大牛如此轻松的听导师讲自己的工作，并不时提出自己的问题，思路非常活跃，最后根据自己的经验来指点项目的不足，也谈的头头是道。&lt;/p&gt;

&lt;p&gt;跟随大师的举动：大牛说了啥，说咱的项目研究的问题不明确，没有看到背后的生物学意义。这可是最严重的问题，很有可能之前的工作围绕的重点都是错误的，需要重新思考整个项目的想要解决的问题和方向。大牛的思考能力很强，一个新的题目，只听几分钟的报告就可以做大领悟其中的原理，找到不足。这种能力是长期锻炼的结果，需要经过时间的磨砺才能形成。&lt;/p&gt;

&lt;p&gt;和大师一并修行：暂无任何希望。&lt;/p&gt;

&lt;p&gt;领会大师的意境：做但尚不能成。&lt;/p&gt;

&lt;p&gt;成为真正的大师：梦想。&lt;/p&gt;
</description>
        <pubDate>Fri, 01 Jun 2012 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E6%89%80%E6%80%9D%E6%89%80%E6%82%9F/2012/06/01/what-is-the-most-important-thing-in-bioinformatics.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E6%89%80%E6%80%9D%E6%89%80%E6%82%9F/2012/06/01/what-is-the-most-important-thing-in-bioinformatics.html</guid>
        
        <category>Bioinformatics</category>
        
        <category>Biology Problem</category>
        
        <category>Stanford University</category>
        
        
        <category>所思所悟</category>
        
      </item>
    
      <item>
        <title>WordPress 现在真会卖萌</title>
        <description>&lt;p&gt;#欢迎使用 WordPress 3.3.2#&lt;/p&gt;

&lt;p&gt;###感谢升级到最新版本！&lt;span style=&quot;color: #008000;&quot;&gt;&lt;em&gt;使用 WordPress 3.3.2 不仅可以让男生更帅，女生更美、改良人格，还可以大幅提升您的网上发布体验。&lt;/em&gt;&lt;/span&gt;诶，开玩笑的，其实她只能提升您的使用体验，但是光这一点就很不错了 :)###&lt;/p&gt;
</description>
        <pubDate>Wed, 16 May 2012 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2012/05/16/wordpress-act-cute.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2012/05/16/wordpress-act-cute.html</guid>
        
        <category>WordPress</category>
        
        
        <category>聚类不能</category>
        
      </item>
    
      <item>
        <title>Shell 处理文本常用命令</title>
        <description>&lt;p&gt;没啥技术含量，最近频繁使用，仅做存档，持续更新。&lt;/p&gt;

&lt;p&gt;###1.剔除重复行###&lt;/p&gt;

&lt;p&gt;&lt;span style=&quot;color: #993300;&quot;&gt;&lt;code&gt;uniq filename&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;效果&lt;/p&gt;

&lt;p&gt;&lt;code&gt;原始文档：
4
4
5
5
5&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;使用后：
4
5&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;###2.分割文件###&lt;/p&gt;

&lt;p&gt;&lt;span style=&quot;color: #993300;&quot;&gt;&lt;code&gt;split -500 filename&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;效果&lt;/p&gt;

&lt;p&gt;&lt;code&gt;将文件每500行分割成一个子文件&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;###2.1.grep分割文件###&lt;/p&gt;

&lt;p&gt;&lt;span style=&quot;color: #993300;&quot;&gt;&lt;code&gt;grep -w &apos;abc&apos; filename&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;效果&lt;/p&gt;

&lt;p&gt;&lt;code&gt;按照关键词abc，提取出其所在行的内容&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;###3.按某列排序并提取某一行###&lt;/p&gt;

&lt;p&gt;&lt;span style=&quot;color: #993300;&quot;&gt;&lt;code&gt;cat filename | sort -k2nr |awk &apos;{FS=&quot;,&quot;; print \$1&quot;\t&quot;\$7}&apos; &amp;gt;newfilename&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;效果&lt;/p&gt;

&lt;p&gt;&lt;code&gt;按第二列排序，并提取第一列和第七列的值，输入到指定文件中&lt;/code&gt;&lt;/p&gt;

</description>
        <pubDate>Wed, 16 May 2012 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E5%A3%B3%E7%89%8C%E8%84%9A%E6%9C%AC/2012/05/16/Shell-script.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E5%A3%B3%E7%89%8C%E8%84%9A%E6%9C%AC/2012/05/16/Shell-script.html</guid>
        
        <category>Shell</category>
        
        
        <category>壳牌脚本</category>
        
      </item>
    
      <item>
        <title>模型融合</title>
        <description>&lt;p&gt;model ensemble /aggregation techniques(201208环球科学)&lt;/p&gt;

&lt;p&gt;我对此的理解还比较浅显，最早知道这个东西还是今年看到了一个&lt;a href=&quot;http://www.slideshare.net/xlvector/how-to-do-model-ensemble&quot; title=&quot;how to do model ensemble&quot;&gt;PPT&lt;/a&gt;，主要理解就是单个模型的结果不够理想，如果想得到更好的结果，需要把很多单个模型的结果融合在一起。&lt;/p&gt;

&lt;p&gt;那么究竟是怎么个“融合”呢？ 这个问题之前一直没搞明白，最近在用随机森林方面的方法来处理数据，顿悟出，模型融合可以想像成“再次的机器学习过程”。已知模型A、模型B、模型C，测试数据输出的结果分别为a，b和c，用训练数据通过模型输出的训练数据预测结果为a1，b1和c1。我们可以将a1，b1，c1的数据带入到训练数据中再次训练，得到更加贴近真实结果的模型，再用这个模型训练测试数据结果a，b和c。得到的结果会比一次训练的好。（这其实也就是个多层神经网络的思想，但是与神经网络不同的是：每次的输入数据是“上次的输入数据”+“上次的输入结果”）。&lt;/p&gt;

&lt;p&gt;当然，方法多种多样，“上次的输入数据”+“上次的输入结果”是一种输入数据类型，“上次的输入结果”也是一种输入数据类型，融合所用的方法也很多，直接用机器学习里的各类方法，或者用统计回归，皆可。一切皆有可能。&lt;/p&gt;

</description>
        <pubDate>Fri, 06 Apr 2012 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/2012/04/06/model-ensemble.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/2012/04/06/model-ensemble.html</guid>
        
        <category>Machine Learning</category>
        
        
        <category>机器学习</category>
        
      </item>
    
      <item>
        <title>MIC——最大信息系数</title>
        <description>&lt;blockquote&gt;
  &lt;p&gt;摸索出大型数据集内的趋势 &lt;br /&gt;
哪些表现的统计数据最能影响一位职业运动员的薪资？ 在世界各地影响人类健康的最重要的因素是什么？ 一种新的统计方法可通过在巨大的数据集内揭示未曾料到的关系来帮助回答这些问题。 这样的数据集在从基因组学到物理学到经济学等许多领域中正变得日益常见。 这些数据集有数百个变量，对人来说，在每一对变量中用人工的方法来寻找它们中的潜在关系的数目过于庞大。 David Reshef、Yakir Reshef及其同事如今描述了一种可在如此庞大的数据集中发现潜在重要关系的强有力的统计方法。 &lt;br /&gt;
这种方法的基石是一种叫做“最大信息系数”或MIC的东西，这是在给不同类型的同样“嘈杂”的关系指派类似评分时的一种可在数据中发现范围极端广泛的关系类型的统计方法。 研究人员因此在无需任何先前的对他们在寻找何种关系类型有所了解的情况下可用它来检测由多种因素驱动的复杂模式。 MIC所依据的理念是，如果2个变量之间存在着一种关系，那么就应该有一种方法在那些变量的散点图上画一个网格，使得大多数的数据点集中在该网格的几个单元格中。 通过搜寻这种“最适合”的网格，计算机可以计算MIC及一族可用来发现并描绘关系的相关的统计数据。 这一族统计数据被称作“最大的基于信息的非参数性探索” 或MINE。文章的作者将MINE与其它的方法做比较并显示，MINE更适合于作快速的数据探索。 他们用其来揭示4例真正的数据集中的熟悉的和先前未知的关系：世界卫生数据、棒球统计数据、酵母菌基因表达数据及一组人类肠道中细菌丰度的数据。 在一则相关的《观点栏目》中，Terry Speed对该研究进行了讨论，并回顾了相关系数的历史，该历史以1888年由查尔斯-达尔文的半表亲Francis Galton所发明的相关系数开始。  &lt;br /&gt;
http://chinese.eurekalert.org/zh/pub_releases/2011-12/aaft-fto121211.php&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;个人笔记：&lt;strong&gt;MIC方法是根据mutual information(互信息)得到的,主要应用于在海量数据的条件下如何找寻一对对变量之间的关系。&lt;/strong&gt;&lt;/p&gt;
</description>
        <pubDate>Sat, 24 Mar 2012 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E7%BB%9F%E8%AE%A1%E5%8E%9F%E7%90%86/2012/03/24/MIC-maximum-information-coefficient.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E7%BB%9F%E8%AE%A1%E5%8E%9F%E7%90%86/2012/03/24/MIC-maximum-information-coefficient.html</guid>
        
        <category>互信息</category>
        
        <category>MIC</category>
        
        
        <category>统计原理</category>
        
      </item>
    
      <item>
        <title>今天你Git了没有？</title>
        <description>&lt;p&gt;最近开始使用&lt;a href=&quot;http://git-scm.com/&quot; title=&quot;Git&quot;&gt;Git&lt;/a&gt; ，根据wikipedia上的说法，它是一个分布式版本控制／软件配置管理软件。对于我这种计算机白痴来说，它是什么根本不重要，重要的是在我项目有需求的时候可以使用这个工具。也就用它建立个GitHub上的主页而已，在GitHub上托管一点代码而已。我一直没有在博客上装代码高亮的插件，如果需要展示代码，就直接给个链接到GitHub上去看。&lt;/p&gt;

&lt;p&gt;不过做归做，Git和GitHub的相关内容还是要学习一下。推荐一些内容：&lt;a href=&quot;http://www.yangzhiping.com/tech/github.html&quot; title=&quot;如何高效利用GitHub&quot;&gt;如何高效利用GitHub&lt;/a&gt; 、&lt;a href=&quot;http://rogerdudler.github.com/git-guide/index.zh.html&quot; title=&quot;Git简易指南&quot;&gt;Git简易指南&lt;/a&gt; 、&lt;a href=&quot;https://github.com/blynn/gitmagic/tree/master/zh_cn&quot; title=&quot;Gitmagic&quot;&gt;Gitmagic&lt;/a&gt; （一本介绍Git的书）&lt;/p&gt;
</description>
        <pubDate>Thu, 15 Mar 2012 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%BD%AF%E4%BB%B6%E4%B8%96%E7%95%8C/2012/03/15/do-you-Git-today.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%BD%AF%E4%BB%B6%E4%B8%96%E7%95%8C/2012/03/15/do-you-Git-today.html</guid>
        
        <category>Git</category>
        
        <category>GitHub</category>
        
        
        <category>软件世界</category>
        
      </item>
    
      <item>
        <title>可视信息</title>
        <description>&lt;p&gt;可视信息将是博客里的一个新的分类目录，也是唯一一个我想要做一点介绍的分类。目前数据可视化和信息图是非常热门的内容，比较著名的国内博客和相关网站有&lt;a href=&quot;http://www.vizinsight.com&quot; title=&quot;视物 致知&quot;&gt;视物致知&lt;/a&gt;和&lt;a href=&quot;http://datavlab.org/&quot; title=&quot;dataV&quot;&gt;dataV&lt;/a&gt;。去年参加的&lt;a href=&quot;http://vis.pku.edu.cn/wiki/doku.php?id=conferences:visworkshop11:start&quot; title=&quot;2011年第三届可视化研讨会&quot;&gt;活动&lt;/a&gt;中了解了很多关于数据可视化的内容，再加上之前自己也做过一些极为不成熟的信息图 &lt;code&gt;-_-&lt;/code&gt;，所以想开个专栏介绍一下数据可视化的方法、信息图绘制创意，就我个人感兴趣的方面进行数据可视化图、信息图的创作。我本来想给这个分类目录取个霸气一点的名字：例如图说天下、图览全局之类的，但总感觉有这样的名字有浓重的营销微博风格，遂放弃之。&lt;/p&gt;

&lt;p&gt;数据可视化的图形有很多种：地图、时间轴、气泡图、热力图、标签云、散点图、流程图、雷达图等
在实现技术上有：JavaScript、Flash、HTML5 Canvas、Processing、SVG、Google MAp API、R（以及其他计算软件绘图包）等&lt;/p&gt;

&lt;p&gt;想要有更加直观的认识可以去dataV的&lt;a href=&quot;http://datavlab.org/?page_id=300&quot; title=&quot;可视化案例&quot;&gt;可视化案例&lt;/a&gt;里看看，但是它列出来的一些图形的名称，不一定标准，例如“&lt;a href=&quot;http://datavlab.org/?p=49&quot; title=&quot;成交走势（CatTrends）&quot;&gt;成交走势（CatTrends）&lt;/a&gt;”标注的是堆栈图，更确切的说应该是&lt;a href=&quot;http://www.google.com.hk/search?q=Stream+Graph&amp;amp;ie=utf-8&amp;amp;oe=utf-8&amp;amp;aq=t&amp;amp;rls=org.mozilla:zh-CN:unofficial&amp;amp;client=firefox-a&quot; title=&quot;Google一下 Stream Graph&quot;&gt;Stream Graph&lt;/a&gt;（挤压变形的堆积面积图）。&lt;/p&gt;

&lt;p&gt;关于R的做图，可以读谢益辉的&lt;a href=&quot;http://yihui.name/cn/publication/&quot; title=&quot;现代统计图形-谢益辉&quot;&gt;现代统计图形&lt;/a&gt;，不过这书从2010年就开始有消息，结果到现在还没有出版，2年了不知又有多少新的R软件图形包出世，这得再往书中增添多少内容啊。麻烦赶紧出版吧 &lt;code&gt;;)&lt;/code&gt;&lt;/p&gt;
</description>
        <pubDate>Sat, 03 Mar 2012 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E5%8F%AF%E8%A7%86%E4%BF%A1%E6%81%AF/2012/03/03/Information-visualization.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E5%8F%AF%E8%A7%86%E4%BF%A1%E6%81%AF/2012/03/03/Information-visualization.html</guid>
        
        <category>Stream Graph</category>
        
        <category>信息图</category>
        
        <category>可视化</category>
        
        
        <category>可视信息</category>
        
      </item>
    
      <item>
        <title>二代测序分析常用软件</title>
        <description>&lt;p&gt;已经开始接触实战了，用过的软件如下：&lt;/p&gt;

&lt;p&gt;1.拼接 &lt;a href=&quot;http://bowtie-bio.sourceforge.net/index.shtml&quot; title=&quot;An ultrafast memory-efficient short read aligner&quot;&gt;Bowtie&lt;/a&gt;、&lt;a href=&quot;http://tophat.cbcb.umd.edu/&quot; title=&quot;A spliced read mapper for RNA-Seq&quot;&gt;TopHat&lt;/a&gt;、&lt;a href=&quot;http://bio-bwa.sourceforge.net/&quot; title=&quot;Burrows-Wheeler Aligner&quot;&gt;BWA&lt;/a&gt;、&lt;a href=&quot;http://maq.sourceforge.net/&quot; title=&quot;Mapping and Assembly with Qualities&quot;&gt;Maq&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2.call peaks &lt;a href=&quot;http://liulab.dfci.harvard.edu/MACS/&quot; title=&quot;Model-based Analysis for ChIP-Seq&quot;&gt;MACS&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3.格式转换 &lt;a href=&quot;http://code.google.com/p/bedtools/&quot; title=&quot;a flexible suite of utilities for comparing genomic features&quot;&gt;bedtools&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;4.找&lt;a href=&quot;http://en.wikipedia.org/wiki/Single-nucleotide_polymorphism&quot; title=&quot;Single-nucleotide polymorphism&quot;&gt;SNP&lt;/a&gt; &lt;a href=&quot;http://samtools.sourceforge.net/&quot; title=&quot;SAM Tools provide various utilities for manipulating alignments in the SAM format, including sorting, merging, indexing and generating alignments in a per-position format.&quot;&gt;samtools&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;仅作存档使用，预知具体用法请看今后分解。&lt;/p&gt;
</description>
        <pubDate>Fri, 02 Mar 2012 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%BD%AF%E4%BB%B6%E4%B8%96%E7%95%8C/2012/03/02/next-generation-sequencing-software.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%BD%AF%E4%BB%B6%E4%B8%96%E7%95%8C/2012/03/02/next-generation-sequencing-software.html</guid>
        
        <category>bedtools</category>
        
        <category>Bioinformatics</category>
        
        <category>Bowtie</category>
        
        <category>BWA</category>
        
        <category>MACS</category>
        
        <category>Maq</category>
        
        <category>samtools</category>
        
        <category>Software</category>
        
        <category>TopHat</category>
        
        
        <category>软件世界</category>
        
      </item>
    
      <item>
        <title>计划与实际不符</title>
        <description>&lt;p&gt;忙了一周，本打算把论文重现做到call SNPs这步，结果却是只完成到了序列的拼接，英语就看了1次单词，2篇短文，专业课的书籍完全还没开始动，这么悲催的进度实在不堪入目。每周写点博客，结果发现这周写的主题涉及学校，得等老师给我分数之后再放出来，现在老师们搜索的水平都很高，不想被人肉。&lt;/p&gt;

&lt;p&gt;目前在博客的首页增加了新的一页，叫做&lt;a href=&quot;https://yulijia.net/cn/plan/&quot; title=&quot;记事&quot;&gt;记事&lt;/a&gt;，主要是记录一下自己每天突出理解或完成的工作。&lt;/p&gt;

&lt;p&gt;今天还主动学习了一个新词&lt;a href=&quot;http://www.hudong.com/wiki/%E8%8A%B1%E4%BF%A1%E5%B9%B4%E5%8D%8E&quot; title=&quot;花信年华&quot;&gt;花信年华&lt;/a&gt;。&lt;/p&gt;

&lt;p&gt;就这样，一周琐事，仅此而记之。&lt;/p&gt;
</description>
        <pubDate>Mon, 27 Feb 2012 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E7%94%9F%E6%B4%BB%E7%82%B9%E6%BB%B4/2012/02/27/facts-do-not-correspond-with-plan.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E7%94%9F%E6%B4%BB%E7%82%B9%E6%BB%B4/2012/02/27/facts-do-not-correspond-with-plan.html</guid>
        
        
        <category>生活点滴</category>
        
      </item>
    
      <item>
        <title>假期？再也没有什么假期了</title>
        <description>&lt;p&gt;2月20日开学。在最后一个寒假里休息了9天之后，就滚回实验室了。&lt;/p&gt;

&lt;p&gt;假期？再也没有什么假期了&lt;/p&gt;

&lt;p&gt;记得在小学时，我幻想着初中还是会有时间思考天马行空创意无限的点子——结果彻底被初中的应试教育给毁了，变成榆木疙瘩&lt;/p&gt;

&lt;p&gt;记得在初中时，我幻想着高中会有时间搞自己的副业（画画、做flash）——结果就记住高三时经常不写数学作业，大学直接杀进数学系&lt;/p&gt;

&lt;p&gt;记得在高中时，我幻想着大学会有时间搞自己初中计划、高中想做却没做成的副业（画画、编写游戏（基于flash））——结果在SNC倒是没少用PhotoShop作图画画，做游戏早就抛到脑后了&lt;/p&gt;

&lt;p&gt;记得在大学时，我幻想着能在边学好数学的同时多学一些生物的相关课程——结果差点连微积分都没学会，悲剧二战&lt;/p&gt;

&lt;p&gt;回顾过去，我发现的确很少有时间能把自己的一些想做的事情付诸实践，这还是在有货真价实的假期时，现在连假期都没有了，稍稍觉得有些悲剧。&lt;/p&gt;

&lt;p&gt;新学习展望：没有最苦，只有更累，调动一切可用体细胞，做好工作发好paper！&lt;/p&gt;
</description>
        <pubDate>Sat, 18 Feb 2012 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E7%94%9F%E6%B4%BB%E7%82%B9%E6%BB%B4/2012/02/18/never-have-holiday.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E7%94%9F%E6%B4%BB%E7%82%B9%E6%BB%B4/2012/02/18/never-have-holiday.html</guid>
        
        <category>假期</category>
        
        <category>学</category>
        
        
        <category>生活点滴</category>
        
      </item>
    
      <item>
        <title>microRNA在动植物之间的转移</title>
        <description>&lt;blockquote&gt;
  &lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/MicroRNA&quot; title=&quot;microRNA&quot;&gt;microRNA&lt;/a&gt;能在植物-动物间转移，它们能使目标基因序列沉默，抑制特定蛋白质合成。&lt;br /&gt;
食物掌控基因——《&lt;a href=&quot;http://www.huanqiukexue.com/&quot; title=&quot;环球科学&quot;&gt;环球科学&lt;/a&gt;》2012.01期&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;赶在2月开始前，把组里一月份订的《环球科学》杂志看了个遍，这本杂志介绍的内容偏向科学领域的新进展，就是《&lt;a href=&quot;http://www.scientificamerican.com/&quot; title=&quot;Scientific American&quot;&gt;科学美国人&lt;/a&gt;》中文版。有些文章很有意思，但是也有的文章翻译得不太理想，读不明白。比较有趣的是中国的科学家研究了 microRNA在植物-动物间转移的问题，说明植物的microRNA可以直接转移到人的体内。设想有这样一个情景：如果转基因植物A中的某个microRNA转移到了动物B的体内，这个microRNA恰能正常工作，会导致动物B体内的某些转录产物降解，而这个转录产物与疾病的发生又密切相关。外源的microRNA会在动物B体内产生了一系列的连锁反应，就有可能导致疾病的发生。&lt;/p&gt;

&lt;p&gt;想到这个问题，就不得不谈到转基因动植物，如果转基因的动植物中有同类非转基因动植物中没有的microRNA，那么就有可能出现上段叙述的情况，看来转基因还是需要谨慎行事，我之前在&lt;a title=&quot;书评：《DNA：生命的秘密》&quot; href=&quot;http://yulijia.net/cn/2011/10/%e4%b9%a6%e8%af%84%ef%bc%9a%e3%80%8adna%ef%bc%9a%e7%94%9f%e5%91%bd%e7%9a%84%e7%a7%98%e5%af%86%e3%80%8b/&quot; target=&quot;_blank&quot;&gt;书评：《DNA：生命的秘密》&lt;/a&gt;中认为转基因是没有任何问题的，这个想法指考虑到了DNA的层面，而没有考虑到现在发现的一些非编码小RNA的问题。在谈转基因动植物的时候，光考虑转基因所带来的microRNA是不行的，在非转基因的作物中有多少microRNA会转移到食物链的上层动物体内，也是需要研究的一个问题。总之这给我的提示是：要全面思考转基因的利弊，现阶段我们能做的事情还远远不够完全确定转基因的好坏。&lt;/p&gt;

&lt;p&gt;那么在经过烹制的饭菜中含有的非编码小RNA（具体例如microRNA）是否能够直接进入我们人体？这个问题我尚未有准确的答案，不过supervisor给出了几种可能性：首先，我们知道在&lt;a href=&quot;http://en.wikipedia.org/wiki/RNA_interference&quot; title=&quot;RNA interference&quot;&gt;RNAi&lt;/a&gt;的实验过程中就做过让线虫直接吃含有microRNA的东西，可使microRNA进入线虫的细胞内。其次，烹制饭菜的过程是个加热过程，microRNA没有什么二级结构，所及加热应该不会使其变性。最后，在RNAi中microRNA会被一些蛋白“绑定”，蛋白质被加热后变性，就在microRNA外形成了一个保护层，确保在进入其他活细胞的时候，microRNA还具有活性。&lt;/p&gt;

&lt;p&gt;因为还没查找具体的文献，现在就先写到这里，未完待续……&lt;/p&gt;

</description>
        <pubDate>Mon, 06 Feb 2012 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E6%89%80%E6%80%9D%E6%89%80%E6%82%9F/2012/02/06/evidence-of-cross-kingdom-regulation-by-microRNA.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E6%89%80%E6%80%9D%E6%89%80%E6%82%9F/2012/02/06/evidence-of-cross-kingdom-regulation-by-microRNA.html</guid>
        
        <category>microRNA</category>
        
        
        <category>所思所悟</category>
        
      </item>
    
      <item>
        <title>十一游南海子公园</title>
        <description>&lt;p&gt;这是一篇迟到了3个多月的游记。&lt;/p&gt;

&lt;p&gt;南海子公园位于北京城南中轴延长线，地处北京主城区、亦庄新城和未来大兴新城中间的核心地带，它的建设范围是：东起凉水河，西至104国道，北接南五环 路，南抵黄亦路，总体面积11.65平方公里，其中公园占地面积7.86平方公里。现在建成的一期工程位于公园的东南部，占地面积159.64公顷。&lt;/p&gt;

&lt;p&gt;在金秋十月，班里几个同学一起去大兴南海子公园游玩，这个公园仍处在建设状态，一期工程的面积已经非常大了。估计一天下来走马观花，勉强能看完整个园区。由于时间有限（我领错路了&lt;code&gt;orz&lt;/code&gt;）我们只去了其中的一部分。&lt;/p&gt;

&lt;p&gt;先说一下乘车路线，五号线导亦庄线到旧宫，在坐953到鹿苑路。记住在亦庄线下车往西走是953总站，车比较少20分钟一辆，千万别往东走，Google地图也有坑爹的时候。到了鹿苑路下车要往南走在向东走，起码得有2km的距离，就到南面的小门了（就是露营进出门）。为啥这么远？因为南海子公园还在建设，一些侧门关闭了。16路汽车会到南海子公园南门前面的一条街，所以比较方便，我们回去时坐的就是它（有一站是地铁站）。&lt;/p&gt;

&lt;p&gt;南海子公园风景优美，可以露营，以前是清朝皇家狩猎的地方，有麋鹿（四不像）苑，曾经是麋鹿的家乡（当然麋鹿在中国是地理灭绝了，从英国引进回来的）。&lt;/p&gt;

&lt;p&gt;废话少说，上一些图。&lt;/p&gt;

&lt;p&gt;麋鹿&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://i.imgur.com/Mdc4szJl.jpg&quot;&gt;&lt;img title=&quot;麋鹿&quot; src=&quot;https://i.imgur.com/Mdc4szJl.jpg&quot; alt=&quot;麋鹿&quot; width=&quot;580&quot; height=&quot;668&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;鹿群&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://i.imgur.com/XjuxP.jpg&quot;&gt;&lt;img title=&quot;成群麋鹿&quot; src=&quot;https://i.imgur.com/XjuxP.jpg&quot; alt=&quot;群鹿&quot; width=&quot;580&quot; height=&quot;353&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;湖边景色&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://i.imgur.com/a1tUy.jpg&quot;&gt;&lt;img title=&quot;湖边景色&quot; src=&quot;https://i.imgur.com/a1tUy.jpg&quot; alt=&quot;湖边景色&quot; width=&quot;580&quot; height=&quot;363&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;花&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://i.imgur.com/VYAaZ.png&quot;&gt;&lt;img title=&quot;花&quot; src=&quot;https://i.imgur.com/VYAaZ.png&quot; alt=&quot;花&quot; width=&quot;596&quot; height=&quot;446&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;南海子公园有音乐喷泉上午10点一次，下午2点一次。不过我们去时没有赶上完整的，只是在湖上的桥上随便看了一下。整个公园花卉品种非常多，有专门的花卉展区（应该是在喷泉那一侧，这次没有去）。bucter有一拨人早我们一天去，据说他们主要是占领了一块地方，搭帐篷做游戏，风景都没看。感觉园区里搭帐篷露营（不能生火）的人非常多，有些便利的地段都是帐篷。&lt;/p&gt;

&lt;p&gt;比较有意思的还是看麋鹿（这可是第一次亲眼看见真的四不像!），看台距离麋鹿很遥远，麋鹿在树荫下悠闲的午休，旁边不时有几只黑天鹅经过，麋鹿栖息地的桥上刻着不同时期古人对麋鹿的描述，非常有意思。&lt;/p&gt;

&lt;p&gt;最后合影一张&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://i.imgur.com/6bVwl.png&quot;&gt;&lt;img title=&quot;合影&quot; src=&quot;https://i.imgur.com/6bVwl.png&quot; alt=&quot;合影&quot; width=&quot;400&quot; height=&quot;300&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
</description>
        <pubDate>Tue, 03 Jan 2012 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E6%B8%B8%E7%8E%A9%E6%8C%87%E5%8D%97/2012/01/03/National-day-at-Nanhaizi-Wetland-Park.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E6%B8%B8%E7%8E%A9%E6%8C%87%E5%8D%97/2012/01/03/National-day-at-Nanhaizi-Wetland-Park.html</guid>
        
        <category>假期</category>
        
        <category>玩</category>
        
        <category>麋鹿</category>
        
        
        <category>游玩指南</category>
        
      </item>
    
      <item>
        <title>2011年总结</title>
        <description>&lt;p&gt;马上就过完一波三折的2011年了，总体来说，今年是变化的一年。&lt;/p&gt;

&lt;p&gt;首先，今年上半年从一名试用期员工，转变成了烟酒僧。从一名普通的数学专业学生变成了生命科学领域的科研“民工”。进入新的领域探索是一件非常有意思的事情，另外对于数学的知识有所加深，更加体会到它的重要性。
其次，跨专业也不是一件容易的事情，在大家考试都得90多分的时候，我只能得70、80分，真是惨。
再次，很多列出的计划都没有实现，英语没学好，专业课也有很多不会的东西，真是丢了数学也没弄好生物。&lt;/p&gt;

&lt;p&gt;再列一下在明年上半年要完成的一些个人计划：&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;工作列表 &lt;br /&gt;
翻译 GNU GSL&lt;br /&gt;
写爬虫分析bucter论坛 &lt;br /&gt;
学习列表  &lt;br /&gt;
Perl系列丛书：小骆驼、大骆驼、精通（未完待续） &lt;br /&gt;
统计建模与R软件（全部例题习题）    游戏列表  &lt;br /&gt;
建立流感病毒变异模型，分析传播趋势&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;总体学习计划：学好专业课和英语，其他都是浮云。另外要争取提前毕业的机会。开阔视野，不再做文盲青年。面对一群有学识的文艺青年和普通青年，我这个文盲青年实在是差得太多了，赶紧把之前买的孔孟老庄国外文学都好好看一下，往草包里在添点墨水。&lt;/p&gt;

&lt;p&gt;类似福尔摩斯，来列个目前我的知识范围&lt;/p&gt;

&lt;p&gt;1、文学知识——无&lt;/p&gt;

&lt;p&gt;2、哲学知识——无&lt;/p&gt;

&lt;p&gt;3、天文知识——无&lt;/p&gt;

&lt;p&gt;4、政治知识——浅薄&lt;/p&gt;

&lt;p&gt;5、植物学知识——无&lt;/p&gt;

&lt;p&gt;6、地质学知识——无&lt;/p&gt;

&lt;p&gt;7、化学知识——无&lt;/p&gt;

&lt;p&gt;8、解剖学知识——无&lt;/p&gt;

&lt;p&gt;9、惊险案件知识——无&lt;/p&gt;

&lt;p&gt;10、具有小学乐理知识、美术知识&lt;/p&gt;

&lt;p&gt;11、体能基本为零&lt;/p&gt;

&lt;p&gt;12、数学知识——半吊子水平&lt;/p&gt;

&lt;p&gt;13、生物学知识——浅薄&lt;/p&gt;

&lt;p&gt;14、计算机知识 ——100%的好人&lt;/p&gt;

&lt;p&gt;2012年对我来说是奋斗的一年！&lt;/p&gt;

&lt;p&gt;在此，祝愿所有的亲朋好友同学们在新的一年里都能心想事成！&lt;/p&gt;
</description>
        <pubDate>Sat, 31 Dec 2011 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E7%94%9F%E6%B4%BB%E7%82%B9%E6%BB%B4/2011/12/31/summary-of-2011.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E7%94%9F%E6%B4%BB%E7%82%B9%E6%BB%B4/2011/12/31/summary-of-2011.html</guid>
        
        <category>年终总结</category>
        
        
        <category>生活点滴</category>
        
      </item>
    
      <item>
        <title>Linux系统需要安装的相关软件</title>
        <description>&lt;p&gt;万一哪天重装系统，忘记哪些程序必须安装就麻烦了，备份。&lt;/p&gt;

&lt;p&gt;###写文档：###&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://gummi.midnightcoding.org/&quot; title=&quot;Gummi&quot;&gt;Gummi&lt;/a&gt; -Simple LaTeX editor for Linux.（还要安装整套texlive的软件包）&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.lyx.org/&quot; title=&quot;LyX&quot;&gt;LyX&lt;/a&gt; -An open source document processor running on many Unix platforms (including MacOS X), OS/2, and under Windows/Cygwin.&lt;/p&gt;

&lt;p&gt;###编程相关：###&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://rstudio.org/&quot; title=&quot;Rstudio&quot;&gt;Rstudio&lt;/a&gt; -RStudio brings together everything you need to be productive with R in a single, customizable environment. (当然不能忘了安装R) &lt;strong&gt;2015.05.11更新，强大的version 0.99支持插入Roxygen的功能，我再也不用学习emacs了！！！&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.scicoslab.org/&quot; title=&quot;Scicoslab&quot;&gt;Scicoslab&lt;/a&gt; - ScicosLab is a free open-source software package providing a multi-platform environment for scientific computation. &lt;del&gt;（前身是Scilab）&lt;/del&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.scilab.org/&quot; title=&quot;Scilab&quot;&gt;Scilab&lt;/a&gt; - Scilab is an open source, cross-platform numerical computational package and a high-level, numerically oriented programming language.（我之前以为它已经被淘汰了，原来是产生了若干个分支版本）&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://code.google.com/p/spyderlib/&quot; title=&quot;Spyder&quot;&gt;Spyder&lt;/a&gt; - Spyder (previously known as Pydee) is a powerful interactive development environment for the Python language with advanced editing, interactive testing, debugging and introspection features. (2015年已经不喜欢这个了)&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.google.com.hk/url?sa=t&amp;amp;rct=j&amp;amp;q=Vi+IMproved&amp;amp;source=web&amp;amp;cd=1&amp;amp;ved=0CCUQFjAA&amp;amp;url=http%3A%2F%2Fwww.vim.org%2F&amp;amp;ei=H_7-TqCdKqaUiAfmn7nOAQ&amp;amp;usg=AFQjCNE8C6iOb5uQLy74YKg-WBd9hikKaw&quot; title=&quot;Vim&quot;&gt;Vi IMproved&lt;/a&gt; -找了个有弹出界面版本&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.gnu.org/software/gsl/&quot; title=&quot;GSL&quot;&gt;GSL（GNU Scientific Library）&lt;/a&gt; -The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://julialang.org/&quot; title=&quot;The Julia Language&quot;&gt;Julia&lt;/a&gt; - Julia is a high-level, high-performance dynamic programming language for technical computing, with syntax that is familiar to users of other technical computing environments. （可以部分代替scilab和matlab，注意 export PATH=$PATH:/opt/julia/）&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/yhat/rodeo/&quot;&gt;Rodeo&lt;/a&gt; - Rodeo is a data centric IDE for Python.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://jupyter.org/&quot;&gt;Jupyter&lt;/a&gt; - The Jupyter Notebook is a web application that allows you to create and share documents that contain live code, equations, visualizations and explanatory text. （这个比rodeo还好，但我还在犹豫用那种，2016年更新）&lt;/p&gt;

&lt;p&gt;###阅读器：###&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://xchm.sourceforge.net/&quot; title=&quot;xCHM&quot;&gt;xCHM&lt;/a&gt; -阅读chm文件的，有多种软件，其实没一个能兼顾界面友好和浏览效果的。&lt;/p&gt;

&lt;p&gt;###互联网相关：###&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.amule.org/&quot; title=&quot;aMule&quot;&gt;aMule&lt;/a&gt; -电驴，P2P （2016年再来看，这真成历史了）&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://filezilla-project.org/&quot; title=&quot;FileZilla&quot;&gt;FileZilla&lt;/a&gt; - Open Source (GNU/GPL) FTP client for Windows, Mac OS X and GNU/Linux.&lt;/p&gt;

&lt;p&gt;###可视化与绘图：###&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://processing.org/&quot; title=&quot;Processing&quot;&gt;Processing&lt;/a&gt; - Processing is an open source programming language and environment for people who want to create images, animations, and interactions.  （一个安装问题解决办法 http://goo.gl/fE5Jp，&lt;a href=&quot;http://www.edwards.je/2011/11/11/processing-arduino/&quot; title=&quot;安装方法&quot;&gt;安装方法&lt;/a&gt; ） （我一直都没学，2016年留）&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.graphviz.org/&quot; title=&quot;Graphviz&quot;&gt;Graphviz&lt;/a&gt; - Graph Visualization Software&lt;/p&gt;

&lt;p&gt;###软件管理：###&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://git-scm.com/&quot; title=&quot;Git&quot;&gt;Git&lt;/a&gt; - Git is a distributed revision control and source code management (SCM) system with an emphasis on speed.&lt;/p&gt;
</description>
        <pubDate>Sat, 31 Dec 2011 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%BD%AF%E4%BB%B6%E4%B8%96%E7%95%8C/2011/12/31/software-in-linux.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%BD%AF%E4%BB%B6%E4%B8%96%E7%95%8C/2011/12/31/software-in-linux.html</guid>
        
        <category>DOT</category>
        
        <category>Git</category>
        
        <category>GNU</category>
        
        <category>Julia</category>
        
        <category>LaTeX</category>
        
        <category>Linux</category>
        
        <category>Pyton</category>
        
        <category>R</category>
        
        <category>Scilab</category>
        
        <category>Software</category>
        
        <category>可视化</category>
        
        
        <category>软件世界</category>
        
      </item>
    
      <item>
        <title>WordPress更新</title>
        <description>&lt;p&gt;如题，今天更新到WordPress 3.3，提升用户体验。&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Thank you for updating to the latest version! Using WordPress 3.3 will&lt;span style=&quot;color: #339966;&quot;&gt;&lt;strong&gt; improve your looks, personality,&lt;/strong&gt;&lt;/span&gt; and web publishing experience. Okay, just the last one, but still. &lt;code&gt;:)&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;顺便更新了favicon.ico从之间的火星变成现在的字符（需要过一段时间才能显示）。&lt;/p&gt;

&lt;p&gt;又到了一年中最忙的时候，很多考试，还有迎新活动。&lt;/p&gt;

&lt;p&gt;P.S.: Google越来越强大了–&amp;gt;  http://goo.gl/rLbi6&lt;/p&gt;
</description>
        <pubDate>Fri, 16 Dec 2011 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2011/12/16/wordpress-update.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2011/12/16/wordpress-update.html</guid>
        
        <category>WordPress</category>
        
        
        <category>聚类不能</category>
        
      </item>
    
      <item>
        <title>说一说国内某个社交网站的那点事</title>
        <description>&lt;p&gt;最近发现advisor也上国内的社交网站。看样子SNS的用户是无所不在的。&lt;/p&gt;

&lt;p&gt;本文说的就是5Q.com，没试过的可以现在点击这个&lt;a href=&quot;http://5Q.com&quot; title=&quot;5Q.com&quot;&gt;5Q.com&lt;/a&gt;，看看会跳转到哪里？&lt;/p&gt;

&lt;p&gt;传说中在2006年4月19日，千橡对外表示即将推出人人网和5Q校园网两家网站。到了我上大学的时候，也就是10月份，SNC的高年级师兄师姐们让大家注册了5Q的帐号，目的为了给SNC这个团体，在5Q的社区刷个排名，貌似是有什么好处来着（网络推广？）。那时的5Q还是一个默默无文的小型SNS社区，界面也没那么facebook（&lt;a href=&quot;http://soft.yesky.com/347/2431347.shtml&quot; title=&quot;叙写校园新传奇——5Q.com校友录2.0&quot;&gt;相关新闻&lt;/a&gt;）。当时的国内SNS才刚刚起步，面向学生群体的社交网站倒是有好几个。在学校有过宣传的是校内、5Q、占座网等……校内的用户数量相对较多。没过几个月，千橡就把校内网买了下来，整合了5Q的数据库，一并改成了校内，继续经营下去，在校园内广告的投入力度就更大了。&lt;/p&gt;

&lt;p&gt;校内最初的做法是整个把facebook的模式能扒下来的都扒了下来。之后不停的增加小的应用插件，开始疯狂克隆&lt;a href=&quot;http://kaixin001.com&quot; title=&quot;开心网&quot;&gt;开心网&lt;/a&gt;的模式。目标用户是大学生的社区，可到了07年，因为大学生也都是从高中初中走过来的，所以就加上了高中学校的一些相关内容（高中群？具体名字记不清了），逐步扩大该网站在年轻群体中的影响范围。在之后，大学生们也要毕业的，开放公司注册帐号，这时的校内已经不是狭义概念上的“校内”学生交流平台了，应该是从那时起对所有人都开放注册。与此同时，逐步的一些非个人网页可以被搜索引擎抓取。&lt;/p&gt;

&lt;p&gt;在用户数量不断增加的同时，在这个非主流满天飞的年代，各种奇葩大学生也都显现了出来，在各种人肉事件中总能看到从这个网站里得到的个人消息。所以说&lt;strong&gt;真爱生命，远离不靠谱的SNS网站&lt;/strong&gt;。这个网站的主要作用也就剩下人肉和找小朋友的乐子。&lt;/p&gt;

&lt;p&gt;反过来，究竟有没有靠谱的SNS网站呢？答案是没有，所以什么事情都要有个度，不要在网络上过多暴露自己的信息。&lt;/p&gt;
</description>
        <pubDate>Fri, 16 Dec 2011 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E7%BD%91%E7%BB%9C%E8%A7%82%E5%AF%9F/2011/12/16/the-story-about-chinese-SNS-renren.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E7%BD%91%E7%BB%9C%E8%A7%82%E5%AF%9F/2011/12/16/the-story-about-chinese-SNS-renren.html</guid>
        
        <category>SNS</category>
        
        
        <category>网络观察</category>
        
      </item>
    
      <item>
        <title>琐碎记录：鸭梨山大的名言、考试及其他</title>
        <description>&lt;p&gt;最近看了点Fate/Zero，结果网上有个比较搞笑的名言，&lt;a href=&quot;http://en.wikipedia.org/wiki/Alexander_the_Great&quot; title=&quot;Alexander the Great&quot;&gt;亚历山大&lt;/a&gt;对将士们说：向东，向东，一定要赶在&lt;a href=&quot;http://en.wikipedia.org/wiki/Ferdinand_Magellan&quot; title=&quot;Ferdinand Magellan&quot;&gt;麦哲伦&lt;/a&gt;之前。将一位公元前人物和一位公元后人物联系在一起的竟然是有些相似的梦想，一个想&lt;a href=&quot;http://en.wikipedia.org/wiki/Wars_of_Alexander_the_Great&quot; title=&quot;Wars of Alexander the Great&quot;&gt;征服东方&lt;/a&gt;，一个想环游世界。区别是一个向东前进，一个向西进发。&lt;/p&gt;

&lt;p&gt;最近每周考一门，一门接一门，一门接一门……生物专业的开卷考试就是要带越多的书越好，要不会找不到的，找不到的……闭卷考试背过的肯定不会考，肯定不会考……悲剧的数学老师有事停课，这一停，哪天考试就不得而知了，不得而知了……&lt;/p&gt;

&lt;p&gt;昨天有同学过生日，给大家发棒棒糖，顿时感觉自己很老了，小朋友们还都很年轻啊，90后、89后一堆一堆的。悲剧的二战，我都快变成班里最大的了，要早点毕业啊@,@(2012.10.23 早点毕业破灭吧，没戏)&lt;/p&gt;

&lt;p&gt;在学校用IPv6还是很方便的，把一些有用的Google网站地址加入hosts，还没是可以看看“你电视”的视频 XD&lt;/p&gt;
</description>
        <pubDate>Fri, 18 Nov 2011 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E7%94%9F%E6%B4%BB%E7%82%B9%E6%BB%B4/2011/11/18/Trivial-records-Alexander-exam-and-others.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E7%94%9F%E6%B4%BB%E7%82%B9%E6%BB%B4/2011/11/18/Trivial-records-Alexander-exam-and-others.html</guid>
        
        
        <category>生活点滴</category>
        
      </item>
    
      <item>
        <title>分子生物学课程有感</title>
        <description>&lt;p&gt;这门课是我学习的第一门英文教材、英文讲授的专业基础课。&lt;/p&gt;

&lt;p&gt;这门课上有我见过的最多的同学演讲。&lt;/p&gt;

&lt;p&gt;这门课所带给我的内容远大于书本上的知识。&lt;/p&gt;

&lt;p&gt;分子生物学是我本学期选的一门生物类课程，课上英文（穿插中文）教学，所用教材是非常简单基础的&lt;a href=&quot;http://www.web-books.com/MoBio/&quot; title=&quot;Molecular Biology Web Book&quot;&gt;Molecular Biology Web Book&lt;/a&gt;。在课上许多同学都上台介绍分子生物学的相关知识，其实上课的时间多是学习同学介绍的内容，书本上的内容以课后自己阅读为主。王老师在课上还请来3为国外专家学者为我们做报告，介绍他们的研究内容。&lt;/p&gt;

&lt;p&gt;初次上课发现自己远跟不上讲课的节奏，书上的专业词汇认识得几乎为零。但是上完所有课程之后，这些基本词汇已经掌握了。&lt;/p&gt;

&lt;p&gt;这不，又选上了分子的讨论课。第一节课，又是一位外国学者（Chamindie Punyadeera）讲述自己的科研工作，是关于疾病检测的方法，她们实验室设计试剂盒，从唾液中检测同疾病有关的蛋白C-Reactive protein，这样可以避免抽血检测带来的不便。&lt;/p&gt;

&lt;p&gt;第二次分子讨论课有人讨论到RNAi对HIV病毒疾病治疗的问题，这与DRACO广谱抗病毒的问题相关。&lt;/p&gt;

&lt;p&gt;忘了放配图了，分子课最后一节，老师给我们介绍的学术代谢通路，一个科研工作者的一生。制作用的DOT，同原版相比略有差异。&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://i.imgur.com/9YK0e.png&quot;&gt;&lt;img title=&quot;The pathway of academic metabolism&quot; src=&quot;https://i.imgur.com/9YK0e.png&quot; alt=&quot;学术代谢通路&quot; width=&quot;580&quot; height=&quot;449&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
</description>
        <pubDate>Fri, 18 Nov 2011 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E5%AD%A6%E5%9C%A8%E8%AF%BE%E5%A0%82/2011/11/18/Molecular-Biology-course.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E5%AD%A6%E5%9C%A8%E8%AF%BE%E5%A0%82/2011/11/18/Molecular-Biology-course.html</guid>
        
        <category>DOT</category>
        
        <category>Molecular Biology</category>
        
        
        <category>学在课堂</category>
        
      </item>
    
      <item>
        <title>坑了同学——机器学习与应用</title>
        <description>&lt;p&gt;破折号后面的是主要内容，破折号前面的是次要内容。&lt;/p&gt;

&lt;p&gt;首先今天去听了机器学习与应用的研讨会（MLA 2011 - Chinese Workshop on Machine Learning and Applications），这个消息是从Resys China那边知道的。之前还在组里向导师推荐，导师又把这个消息转发到了整个组，以及某些合作伙伴那里。我还告知了其他组的老师和整个班级的同学。因为下周就期末考试了，最后只有一个同学和我同去。结果听完感觉有点把她给坑了，还不如自己一个人去，省得人家一天没复习也没写作业并且晚上还要做别的活动整天都耽误了，在此再次深表歉意 &lt;code&gt;m(_ _)m&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;为啥这样说呢，主要是这个活动是冲着Michael Q Zhang去的，但由于这次会议主要用中文做报告，Michael的生物知识学的都是英文的，把生物方面的名词翻译成中文之后在讲出来，估计是把他难为怀了，整个过程讲得不太流畅。内容方面，前面是基础知识，我们听着都明白，在座的其他专业的同学都听不明白，后面将应用，没有说具体的机器学习的方法只是简单的提了一下，都是介绍实验室做过的一些工作以及今后的研究方向（有价值，对于我来说就是了解了做生物信息的人会去做哪些工作）。到最后由于时间太紧，提问只有一个名额，我们这边还以为要举手，结果没人理，被一个问何时开概率图模型课程的同学抓到了机会……在此再次再次对同学深表歉意 m(_ _)m&lt;/p&gt;

&lt;p&gt;介绍一下整天的内容。&lt;/p&gt;

&lt;p&gt;上午首先报告是《多视图在利用未标记数据学习中的效用》，在半监督学中的主要方法是：generative methods、SV3Ms、Graph-based methods、Disagreement-based methods。南大老师做的一些工作表明大家都很熟悉的co-training过程中数据的“多视图”并不重要。co-training问题的主要特点在于：条件独立性、弱独立性、expanson、large difference。他们还定义了一个“完美图”的概念——一个图上所有样本都在同一个class里，说明这些样本是属于同一类的。主动学习主要有两种情况：realizable（能找到分类器、有完美划分）和non-realizable（对噪音信息不知道）。综合半监督学习和主动学习的方法在计算某些问题时是很好的方法。&lt;/p&gt;

&lt;p&gt;第二个报告：《style adaptive pattern field classification》，主要是模式识别的内容（会议从这里开始偏向应用，机器学习的内容越来越少）。介绍了style constraint in PR（模式里的样本服从统一分布）、statistical foundation（很多问题是非独立同分布的）、一些历史性工作（seoarating style and content with bilinear model\gaussian style mixture model\style context with second-order statistics）。在类别数很大的情况下所用的方法是：adaptation by style transfer和bayesian field classification with style normalization&lt;/p&gt;

&lt;p&gt;第三个报告是微软的关于enabling knowledge driven computing，是关于文本的机器识别理解的。主要通过不同的文本例子解释在机器学习中要注意的问题如何从concept到instance，从instance到concept。还讲了explicit semantic analysis。&lt;/p&gt;

&lt;p&gt;下午第一个报告是关于心智成长的，是由北交的一位老师介绍国外的实验室做的工作，文章是How to grow a mind: Statistics, structure and abstraction。这篇文章有75个参考文献，其中40个都是自己实验室的结果，这要是在国内的期刊上是不可能出现的 。但是这个实验室的确是在认识科学和心理学方面的权威， 独创成果很多。对于心智成长问题的主要认识有三个阶段：第一阶段是nativist ，转换到计算机领域就是符号逻辑；第二阶段是associationist，转换到计算机领域就是learning over the unstructured forms of  knowledge；第三阶段，也就是这个实验室的看法是constructivism or “theory theory”，兼有前面两者的内容。主要模型是bayesian models（层次贝叶斯方法）。先验的样子是怎样的？先验本身是怎么来的？这些问题的讨论都在文章中提到。&lt;/p&gt;

&lt;p&gt;下午第二个报告是高维多视图数据的广义相关分析，我唯一有点听明白的内容（看到slide中的那么多公式实在是太亲切的T_T）。对于数据的分析，很多时候要做的是相关性分析。数据的种类很多（主要是网络信息数据方面，例如图的tags和内容），有的数据是一一对应的x1-&amp;gt;y1,…,xn-&amp;gt;yn，被称为配对问题。但是有的数据是部分对应的x1-&amp;gt;y1,x2-&amp;gt;y2,…xk-&amp;gt;yk,x(k+1)不对应到y(k+1)…后面的都不对应，被称为不配对问题。配对分析和半配对分析有很多方法，例如CCA。南京航空航天大学的陈松灿教授介绍了半配对无监督、半配对有监督、半配对半监督的相关分析方法，如何改造最初的式子，如何从配对转到半配对的。一些有用的方法LCA\PPLCA\semiCCA。&lt;/p&gt;

&lt;p&gt;之后就是Michael Q Zhang的machine learning in bioinformatics，在海量信息中找寻生命遗传的规律。提到的具体模型是HMM隐马尔可夫。主要学要生物信息学家解决的问题是structure和function之间的对应关系。以前做的工作测序yeast全基因组，找它的共表达序列，寻找调控这些基因表达的元件位置。有假阳性干扰的时候也可用机器学习的方法排除这些干扰。概率图模型是一类重要的方法。生物信息学研究的一个方向是建立生物体内的调控网络，例如神经调控网络，更加系统的研究序列-结构-功能之间的关系（就是系统生物学啊）。&lt;/p&gt;

&lt;p&gt;最后一个讲座没有听，时间太晚，回校之后还有很多事情要做，有点可惜，但也很没办法，每年11月初的一周举办的这个活动正是研一考试的开始阶段。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;总结一下，概率图模型是我需要学习的一类方法，生物学中还有很多很多问题需要我们用信息学的手段加以解决，广义相关分析可以学习一下，看着slide上的公式推导很感兴趣。&lt;/strong&gt;&lt;/p&gt;
</description>
        <pubDate>Sat, 05 Nov 2011 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E5%8F%82%E4%BC%9A%E6%9C%89%E6%84%9F/2011/11/05/2011-Chinese-Workshop-on-Machine-Learning-and-Applications.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E5%8F%82%E4%BC%9A%E6%9C%89%E6%84%9F/2011/11/05/2011-Chinese-Workshop-on-Machine-Learning-and-Applications.html</guid>
        
        <category>Bioinformatics</category>
        
        <category>Generalized Correlation Analysis</category>
        
        <category>Machine Learning</category>
        
        <category>调控网络</category>
        
        
        <category>参会有感</category>
        
      </item>
    
      <item>
        <title>书评：《DNA：生命的秘密》</title>
        <description>&lt;p&gt;《DNA：生命的秘密》——现代生命科学发进程史科普书籍。&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;一杯咖啡所含对啮齿动物具有致癌作用的物质，比你一年吸收的农药残留物还多。如今一杯咖啡里还有1000种化学物质还没经过测试。这只是说明我们具有双重标准：如果是合成物质，我们就怕得要命；如果是天然物质，我们就毫不在乎。  &lt;br /&gt;
There are more rodent carcinogens in one cup of coffee than pesticide residues you get in a year. And there’s still a thousand chemicals left to test in a cup of coffee. So it just shows our double standard: If it’s synthetic we really freak out, and if it’s natural we forget about it.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;center&gt;——Bruce Ames&lt;/center&gt;

&lt;p&gt;也许你不知道威尔金斯和富兰克林，但你一定知道沃森和克里克——两位二十世纪伟大的生物学家。生命的秘密一书正是由尚在世的沃森和安德鲁·贝瑞（Andrew Berry）共同完成。&lt;/p&gt;

&lt;p&gt;最初发现这本书是在网上，有人推荐，买回来一看，果然是普及生命科学的好书（排除中文版的所有翻译错误和中文语序问题）。该书简述了从孟德尔遗传定律开始到当今的基因疗法、转基因植物等100年间，生命科学领域（确切地说是遗传、分子领域）的新发现，新技术、伴随这些新事物出现的无尽争论，以及100年间我们人类自身对生命看法的不断变化。&lt;/p&gt;

&lt;h2 id=&quot;新发现染色体基因alpha螺旋dna结构rna结构&quot;&gt;新发现：染色体、基因、alpha螺旋、DNA结构、RNA结构……&lt;/h2&gt;

&lt;p&gt;染色体早在1884年就已经被发现，但是当时没有人知道这和遗传有什么联系。直到二十世纪初，染色体和遗传物质才画上等号，这就是Sutton-Boveri染色体遗传理论——遗传因子位于细胞核内染色体上。这将孟德尔遗传规律与细胞学研究结合起来。摩尔根和他的果蝇们奋斗了几十年时间，为我们揭开了基因连锁互换定律，验证了孟德尔的分离和自由组合定律，也验证了Sutton-Boveri染色体遗传理论。生命究竟是什么？薛定谔认为我们可以从储存与传递生物信息的观点来思索生命，染色体只是生命信息的携带者。这些观点发表在他的著作《What is life?》里，他的这本小册子鼓舞了一批又一批青年投身分子生物学的研究中。二十世纪但是年代，科学家发现了组成DNA分子的四种不同碱基（AGCT），但是DNA分子的构型究竟是怎样的仍旧是个谜。鲍林（就是那个每天服用大剂量维生素C的家伙）首先发现了蛋白质里多肽的排列结构——alpha螺旋结构。这启发了当时的沃森和克里克，结合X光衍射理论推测模型，根据当时的情况是不是还需要做很多的衍射实验？1952年的夏天，科学家们证实了DNA就是遗传物质。紧接着1953年，克里克和沃森在自然杂志上发表了那一页著名的报——Molecular Structure of nucleic acids，从此人们开始更加深入地了解生命的形成。&lt;/p&gt;

&lt;p&gt;Do or die, or don’t try——RNA领带俱乐部的箴言。为了寻找蛋白质的制造过程，鼓励大家研究RNA而成立的这个俱乐部，将20中氨基酸分配给20名成员，类似并行计算的形式，分别研究。我非常尊敬的克里克将DNA-&amp;gt;RNA-&amp;gt;蛋白质的信息流向称之为中心法则。RNA在细胞中扮演了重要的角色，为何DNA的信息要通过RNA才能转译成多肽序列？克里克提出了RNA比DNA早出现的答案。写到这里就想起教授基因组学的老师，他的观点是先有类真核生物，后有的原核生物，所以是先有DNA还是先有RNA还真不好说。&lt;/p&gt;

&lt;h2 id=&quot;新技术dna定序法dna快速扩增技术pcrdna重组技术全基因组测序方法dna芯片dna-microarraydna指纹技术strs&quot;&gt;新技术：DNA定序法、DNA快速扩增技术PCR、DNA重组技术、全基因组测序方法、DNA芯片（DNA microarray）、DNA指纹技术STRs……&lt;/h2&gt;

&lt;p&gt;有了DNA，如何获得它的具体碱基排序顺序成了研究不可规避的障碍。Fred Sanger的DNA定序法是二十世纪七十年代的大发现。这个方法根据DNA片段在电场引力的作用下从凝胶板的一端跑到另一端的速度不同而区分出序列顺序。PCR方法为人类基因组计划的成功实施奠定了重要的基础。DNA重组技术为基因疗法的实现创造了必要条件。随着基因组测序方法的不断提升，有更多的物种基因被定序，为今后的研究打下基础。DNA芯片则是加快了测定多基因表达率。DNA指纹技术应用在法医鉴别、医疗移植手术前的分析中，是应用领域最广泛的生物技术。&lt;/p&gt;

&lt;h2 id=&quot;无尽争论转基因动植物&quot;&gt;无尽争论：转基因动植物&lt;/h2&gt;

&lt;p&gt;就像在开头引用埃姆斯的话，”双重标准”在转基因动植物领域永远是反基因改造者的标准思考方式。对于转基因水稻的质疑也是现今国内的热门话题，不管转基因水稻多么的优秀，就是有很都人不敢信任这些新品种。大家都认为吃了转基因水稻会对身体有害，并且这种损害不是一天两天就显现的，而是经过长年累月的积累才会出现。出于对这种未来不确定因素的害怕，有不少人鼓吹转基因有害论，殊不知袁隆平所发现培养出的杂交水稻也就是一种转基因水稻，与现在的特定基因改造不同，培育杂交水稻就像是在随即抽球，抽到幸运球就是杂交水稻，抽到的非幸运球也就是那些培养的失败品系，而杂交水稻里究竟有哪些基因发生了变异？这些变异会对它的食用者造成什么影响？这方面的信息就不清楚了（如果是天然物质，我们就毫不在乎）。有了新型的工具，可以定向的改变水稻中的特定基因，改变的越小，不确定性也就越小，后果也就更好控制。人体缺乏维生素A时食用β-胡萝卜素可以在体内产生维生素A。研究表明在肠道内存在脂肪时才能很好的吸收β-胡萝卜素，但是想想那些徘徊在饥饿边缘的难民们，他们的饮食中可能有脂肪类的食物吗？洛克菲勒基金会资助的一项国际计划意在大力发展“黄金水稻（golden rice）”，黄金水稻不含维生素A，但能生产重要的前体物质β-胡萝卜素，进一步说黄金水稻是控制了特定基因的改良品系，它的目的是帮助那些肠道内没有什么脂肪的营养不良者吸收营养。&lt;/p&gt;

&lt;h2 id=&quot;对生命看法的演变优生学与遗传学天性论与教养基因疗法与伦理&quot;&gt;对生命看法的演变：优生学与遗传学、天性论与教养、基因疗法与伦理&lt;/h2&gt;

&lt;p&gt;之前真的不清楚优生学是和纳粹联系在一起的，遗传学不是为了灭绝一些基因有缺陷的种群（虽然从长远的角度来看的确还是会灭绝），而优生学则是以遗传作为武器，用人类的方法迅速灭绝某个特定种族，在二十世纪初期，生命科学的作用还未被人们认识清楚，被一些顽固的人当作种族优劣的标准，实在是可悲的事情。&lt;/p&gt;

&lt;p&gt;天性与教养哪个对人的影响更大？这实在是无法说清的问题。沃森认为有些基因注定的东西是后天教养无法改变的，但是他也支持后天教养的不同会培养出不同的品格，估计是比较纠结自己的爱尔兰血统不受欢迎的问题。&lt;/p&gt;

&lt;p&gt;究竟基因疗法能否在医学领域应用？基因和干细胞克隆会带给医疗不一样的明天，但众所周知的伦理问题导致了这些治疗技术研究发展的缓慢。布什曾下令联邦政府不提供关于干细胞治疗的研究经费，在他看来，破还胚胎就是杀人，同样他也不赞同堕胎。其实在干细胞分裂的时候（分裂到有100个左右时）取出一两个细胞对整个胚胎的发育并没有什么大碍。如果能检测出胚胎基因的问题，并及时停止妊娠，可以避免生育有严重缺陷的孩子，当然这个选择权在父母的手中。山中伸弥发现的IPS cells方法为基因疗法提供了一种不用提取人类干细胞的方法。我很看好这种方法在干细胞研究中的应用（并认为他在今后也一定可能获得诺奖），但是IPS cells是否有实际应用于医疗的价值则值得商榷。有没有比诱导体细胞变干细胞更加简单可行的方法？有，肯定会有的！&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;后记&lt;/strong&gt;：写完这些内容已经到了十一黄金周的最后一天，这个黄金周注定是不平凡的一个，先是诺奖获得者Ralph Marvin Steinman在得奖前就已经病逝（和最危险的胰腺癌斗争了4年的勇士），后有Steven Paul Jobs在iPhone 4S发布后离世，愿逝者安息。&lt;/p&gt;
</description>
        <pubDate>Fri, 07 Oct 2011 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E5%9B%A4%E4%B9%A6%E6%88%90%E7%98%BE/2011/10/07/book-review-DNA-The-Secret-of-Life.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E5%9B%A4%E4%B9%A6%E6%88%90%E7%98%BE/2011/10/07/book-review-DNA-The-Secret-of-Life.html</guid>
        
        <category>DNA</category>
        
        <category>Francis Crick</category>
        
        <category>James D. Watson</category>
        
        <category>基因</category>
        
        <category>遗传学</category>
        
        
        <category>囤书成瘾</category>
        
      </item>
    
      <item>
        <title>中国国家博物馆参观攻略</title>
        <description>&lt;p&gt;2003年2月，在中国历史博物馆和中国革命博物馆两馆基础上正式组建的中国国家博物馆，已于2011年3月正是开放。&lt;/p&gt;

&lt;p&gt;9月11日，和同学观了国博的部分展览，写篇参观攻略以表经历。&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://i.imgur.com/VLkQU.jpg&quot;&gt;&lt;img title=&quot;chnmuseum03&quot; src=&quot;https://i.imgur.com/VLkQU.jpg&quot; width=&quot;527&quot; height=&quot;309&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;位置攻略&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;国博位于天安门广场以东。乘坐地铁1号线到天安门东下车即可。附近公交车站的名称是天安门广场东站。&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://i.imgur.com/1TVtv.jpg&quot;&gt;&lt;img title=&quot;chnmuseum01&quot; src=&quot;https://i.imgur.com/1TVtv.jpg&quot; width=&quot;566&quot; height=&quot;196&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;公交车：1，1区间，2，10，20，37，52，59，82，99，120，126，203夜，205夜，210夜，728，专1，专2&lt;/p&gt;

&lt;p&gt;地铁：1号线&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;开放时间&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;9：00 — 17：00（15：30停止门票发放，16：00停止进入场馆）&lt;/p&gt;

&lt;p&gt;周一闭馆（国家法定节假日逢周一亦闭馆）&lt;/p&gt;

&lt;p&gt;由于去时恰逢小长假，人比较多，从8点就有人开始排队，我们8点半到的门口，已有30-40人排队，在开门时排在我们前方的人瞬时增加了好几倍，（有的团体来参观都是一人排队，其他人逛天安门），所以要想早点入场排队要趁早。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;入馆需知&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;切记不要带&lt;span style=&quot;color: #ff0000;&quot;&gt;&lt;strong&gt;双肩背包&lt;/strong&gt;&lt;/span&gt;！所有双肩背包都不能进馆，门口有存包处，大包5元、小包2元，&lt;strong&gt;不管包里有没有东西都要强制存包！&lt;/strong&gt;（这估计是博物馆唯一创收的途径……） 参观完要到原存包处取包。&lt;/p&gt;

&lt;p&gt;在进主门时还有&lt;strong&gt;贴身&lt;/strong&gt;检查，水要喝一口。&lt;/p&gt;

&lt;p&gt;入馆时的安检顺序：排队—&amp;gt;分成双肩包、非双肩包两队—&amp;gt;双肩包安检存包后领票、非双肩包领票—&amp;gt;检票—&amp;gt;进馆大门口安检，无包的直接贴身安检，有单肩包的进行包安检和贴身安检&lt;/p&gt;

&lt;p&gt;馆厅外北侧有孔子雕像，可拍照留念，馆内参观不能拍照，但基于展品的不同以及公共素质、还是有很多人拍照的。（对这个连小学生都拿单反拍油画照片的世界绝望了-_-）&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://i.imgur.com/ET28z.jpg&quot;&gt;&lt;img title=&quot;chnmuseum02&quot; src=&quot;https://i.imgur.com/ET28z.jpg&quot; width=&quot;584&quot; height=&quot;389&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;参观装备&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;水、穿舒适的鞋、近视别忘了带眼镜&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;参观路线&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;近日的展览有：国家艺术院团优秀剧目展、中央文史研究馆成立60周年特展、日出东方：马克思主义在中国暨人民出版事业90周年纪念展、125年意大利经典设计艺术展、馆藏现代经典美术作品展、古代中国、印加人的祖先——公元一至七世纪的古代秘鲁、启蒙的艺术、中国古代瓷器艺术、中国古代青铜器艺术、中国古代佛造像艺术、复兴之路&lt;/p&gt;

&lt;p&gt;由于时间有限（半天），我们只参观了：馆藏现代经典美术作品展、印加人的祖先——公元一至七世纪的古代秘鲁、中国古代青铜器艺术、中国古代佛造像艺术、中央文史研究馆成立60周年特展&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://i.imgur.com/JITwJ.jpg&quot;&gt;&lt;img title=&quot;chnmuseum04&quot; src=&quot;https://i.imgur.com/JITwJ.jpg&quot; width=&quot;580&quot; height=&quot;465&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;一层示意图，展览厅少，主要的是后面的学术报告厅和剧院，常有报告举行质量颇高，某同志就因沉迷于报告而掉队。&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://i.imgur.com/GEl8e.jpg&quot;&gt;&lt;img title=&quot;chnmuseum05&quot; src=&quot;https://i.imgur.com/GEl8e.jpg&quot; width=&quot;580&quot; height=&quot;583&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;二层示意图，由于我们是从北面的电梯上楼的，所以观看的展览多集中于N1-N4和中央大厅。三层和四层布局类似。如果是只有半天参观时间的游客，建议按照全部北厅或全部南厅的顺序参观，这样可浏览到每层的展厅。有些展厅有讲解员，跟随讲解员的讲解浏览展品是最好的选择。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;参观照片&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://i.imgur.com/T50fA.jpg&quot;&gt;&lt;img title=&quot;chnmuseum07&quot; src=&quot;https://i.imgur.com/T50fA.jpg&quot; width=&quot;600&quot; height=&quot;800&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;这尊木雕佛像很精美，体现了我国古代高超的雕刻工艺。选自：中国古代佛造像艺术展览&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://i.imgur.com/k9neN.jpg&quot;&gt;&lt;img title=&quot;chnmuseum06&quot; src=&quot;https://i.imgur.com/k9neN.jpg&quot; width=&quot;400&quot; height=&quot;300&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;集体照&lt;/p&gt;

&lt;p&gt;没有看完中国古代瓷器艺术展览很可惜，展馆陶瓷艺术品实在是太精美了！！！！！！！&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;攻略秘笈&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;如果想整天参观的游客，需要中午出馆吃饭，可以在出馆后不取包（如果你不幸带了的话），直接到领票窗口再领一张门票，之后去吃饭，回来排队直接进馆继续参观。&lt;/p&gt;
</description>
        <pubDate>Mon, 12 Sep 2011 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E6%B8%B8%E7%8E%A9%E6%8C%87%E5%8D%97/2011/09/12/National-Museum-of-China.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E6%B8%B8%E7%8E%A9%E6%8C%87%E5%8D%97/2011/09/12/National-Museum-of-China.html</guid>
        
        <category>国家博物馆</category>
        
        
        <category>游玩指南</category>
        
      </item>
    
      <item>
        <title>中秋闲话</title>
        <description>&lt;p&gt;介于学校抽风的网络，已经多日无法登录到博客，每周都要写一点博客的计划差点完全泡汤。:(&lt;/p&gt;

&lt;p&gt;中秋闲话，顾名思义，也就是说的都和中秋没一点关系的流水帐。&lt;/p&gt;

&lt;p&gt;不得不说，同本科相比，现学校的选课系统不是很到位，对于浏览器的支持也不够，有些特定的页面是有在IE下才能成功浏览。开课一周，感觉老师们水平很高，但也会犯一点低级错误，例如院士的授课幻灯片上把bioinformatic写成了bioniformatic &lt;code&gt;-_-&apos;&lt;/code&gt;。另外现在极其怀念大学的食堂，难吃但分量还是够的，米饭蒸得也不错。中秋节还有聚餐，现在的学校气氛全无。&lt;/p&gt;

&lt;p&gt;周六冒雨回家拿了三国杀，结果同楼层的同学们基本就没人会玩。真是学生物的和学数学的有很大差别，想当年毕业时大家一局搞定三国杀普及教学，之后就玩的很顺，目前的情况则大不相同……&lt;/p&gt;

&lt;p&gt;昨天和同学去了新建成的&lt;a href=&quot;http://www.chnmuseum.cn&quot; title=&quot;中国国家博物馆（National Museum of China）&quot;&gt;中国国家博物馆（National Museum of China）&lt;/a&gt;里面的展览很多，一上午也就逛了30%。&lt;a title=&quot;中国国家博物馆参观攻略&quot; href=&quot;http://yulijia.net/cn/2011/09/%e4%b8%ad%e5%9b%bd%e5%9b%bd%e5%ae%b6%e5%8d%9a%e7%89%a9%e9%a6%86%e5%8f%82%e8%a7%82%e6%94%bb%e7%95%a5/&quot;&gt;攻略点此&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;今天是中秋节，在宿舍里独自一人写作业，晚上班级搞晚会，一个宿舍一个节目，由于之前悲剧的复试，导致现在的学档分离，宿舍里没有人与我同班。只好独自代表宿舍出个节目……愿晚上能蒙混过关。今天的天气不佳，晚上也不一定能看到传说中的圆月（一般都是十五的月亮十六圆，但今年中秋特殊，十五的月亮十五圆）&lt;/p&gt;

&lt;p&gt;P.S.:1.博客的页面里新加了个&lt;a href=&quot;http://yulijia.net/cn/plan/&quot; title=&quot;计划&quot;&gt;todo list&lt;/a&gt;，提醒自己没有完成的任务。&lt;/p&gt;

&lt;p&gt;2.人文楼前，第一任院长的雕像后面有个玉米烟斗被固定在那里，估计此物应是他生前常用物品（仿制的吧）。（藏的很隐蔽哦,2012.10.23更新，现在已经没了&lt;code&gt;_-_&lt;/code&gt;）&lt;/p&gt;
</description>
        <pubDate>Mon, 12 Sep 2011 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E7%94%9F%E6%B4%BB%E7%82%B9%E6%BB%B4/2011/09/12/Mid-Autumn-Festival-Gossip.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E7%94%9F%E6%B4%BB%E7%82%B9%E6%BB%B4/2011/09/12/Mid-Autumn-Festival-Gossip.html</guid>
        
        <category>假期</category>
        
        
        <category>生活点滴</category>
        
      </item>
    
      <item>
        <title>开学了</title>
        <description>&lt;p&gt;由于不会有&lt;a href=&quot;http://www.haruhi.tv/&quot; title=&quot;SOS Dan web site&quot;&gt;Haruhi&lt;/a&gt;存在，无尽的暑假是不会出现的。对我来说最后一个大暑假结束了。&lt;/p&gt;

&lt;p&gt;稍微小结一下暑期生活，参加了3个workshop （R、perl、可视化），学习了不同的知识。&lt;/p&gt;

&lt;p&gt;参加了2次统计相关在线竞赛，基本没有名次。&lt;/p&gt;

&lt;p&gt;2个bucter网站计划，没做。&lt;/p&gt;

&lt;p&gt;读了&lt;a href=&quot;http://yulijia.github.com/cn/%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/2011/10/07/book-review-DNA-The-Secret-of-Life.html&quot; title=&quot;书评：《DNA：生命的秘密》&quot;&gt;《DNA：生命的秘密》&lt;/a&gt;，真的很好，推荐！&lt;/p&gt;

&lt;p&gt;建立了自己的网站lijiayu.net和yulijia.net（以后要多写点博客，别浪费空间）&lt;/p&gt;

&lt;p&gt;big data下的数据并行处理非常重要，单线程计算运行速度很慢，简直就是浪费生命&lt;/p&gt;
</description>
        <pubDate>Wed, 31 Aug 2011 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E7%94%9F%E6%B4%BB%E7%82%B9%E6%BB%B4/2011/08/31/a-new-term.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E7%94%9F%E6%B4%BB%E7%82%B9%E6%BB%B4/2011/08/31/a-new-term.html</guid>
        
        <category>假期</category>
        
        <category>学</category>
        
        <category>玩</category>
        
        
        <category>生活点滴</category>
        
      </item>
    
      <item>
        <title>Review的写作格式</title>
        <description>&lt;p&gt;这个格式规范是从APA style中总结出来的，虽然我不会去写心理学的相关review，不过格式还是有一定的普遍参考价值。&lt;/p&gt;

&lt;h4 id=&quot;首页格式&quot;&gt;首页格式:&lt;/h4&gt;

&lt;p style=&quot;text-align: right;&quot;&gt;题目（页码、靠右上、首页也有）&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot;&gt;短题目（靠左上）&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;论文题目（居中）
作者（居中）
单位（居中）&lt;/p&gt;

&lt;h4 id=&quot;正文可能要包括的内容&quot;&gt;正文可能要包括的内容：&lt;/h4&gt;

&lt;ol&gt;
  &lt;li&gt;首先要解释为啥这个topic很重要&lt;/li&gt;
  &lt;li&gt;要给读者一个论文整体内容的简介&lt;/li&gt;
  &lt;li&gt;注意关于研究是如何实现的并没有很多细节介绍，描述应着重强调研究背后的基本原理&lt;/li&gt;
  &lt;li&gt;注意作者关注如前所述的假设的相关主要发现&lt;/li&gt;
  &lt;li&gt;作者列举出相关已发表的会影响发现的理论&lt;/li&gt;
  &lt;li&gt;讨论发现以及和它们相关的假设&lt;/li&gt;
  &lt;li&gt;列举影响研究有效性的局限点&lt;/li&gt;
  &lt;li&gt;解释为什么这个发现与假设相抵触&lt;/li&gt;
  &lt;li&gt;明确review文献和其他论文的联系&lt;/li&gt;
  &lt;li&gt;总结文献的主要结论和发现，并给出将来研究应关注的地方&lt;/li&gt;
&lt;/ol&gt;

&lt;h4 id=&quot;注意事项&quot;&gt;注意事项：&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;列举的研究要按字母顺序排列&lt;/li&gt;
  &lt;li&gt;要解释清楚一些术语的含义&lt;/li&gt;
  &lt;li&gt;只需要关注支持假设的文献（Focuses only on reviewing literature that supports hypothesis)&lt;/li&gt;
  &lt;li&gt;英文写作时要注意描述前人的研究时要用过去式（应为这些研究已经实现）&lt;/li&gt;
  &lt;li&gt;所有的引用之前都有标点&lt;/li&gt;
  &lt;li&gt;不要缺少描述不同研究之间的过度。最好能明示不同研究之间的关系。这样可以使读者更加清晰文章的整体结构，也可强调不同研究间的相同、不同点&lt;/li&gt;
  &lt;li&gt;在首次引用时，若有至少两个作者，要列出每个人的名字，之后就可以用至少一个第一作者的名字，在加上“et al.”&lt;/li&gt;
  &lt;li&gt;注意英文断句&lt;/li&gt;
  &lt;li&gt;不要引用文章原句，以自己的概括取代&lt;/li&gt;
  &lt;li&gt;参考文献按字母表顺序排列，并不是他们在文章中出现的顺序（每个参考文献除第一行外都要缩进、刊物名和卷号要斜体）&lt;/li&gt;
&lt;/ul&gt;
</description>
        <pubDate>Mon, 15 Aug 2011 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E6%A0%BC%E5%BC%8F%E6%8A%80%E5%B7%A7/2011/08/15/how-to-write-a-review.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E6%A0%BC%E5%BC%8F%E6%8A%80%E5%B7%A7/2011/08/15/how-to-write-a-review.html</guid>
        
        
        <category>格式技巧</category>
        
      </item>
    
      <item>
        <title>36种幻灯片页面布局思路</title>
        <description>&lt;p&gt;在网上看到了&lt;a href=&quot;http://www.extremepresentation.com/&quot; title=&quot;Extreme Presentation™&quot;&gt;Extreme Presentation™&lt;/a&gt;，这个网站主要介绍写信息报告的方式，其中&lt;a href=&quot;http://www.google.com.hk/url?sa=t&amp;amp;source=web&amp;amp;cd=1&amp;amp;ved=0CCcQFjAA&amp;amp;url=http%3A%2F%2Fextremepresentation.typepad.com%2Fblog%2Ffiles%2F36_page_layout_ideas.pdf&amp;amp;ei=Mag3Tta-AajViALJsZzCDg&amp;amp;usg=AFQjCNHh3tzu8zcxDifvEvvwPB1CAOSHuw&quot; title=&quot;pdf下载&quot;&gt;36种页面布局思路&lt;/a&gt;对做幻灯片很有帮助，现简单介绍如下。&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;strong&gt;决策与选择类页面布局&lt;/strong&gt;   &lt;br /&gt;
包括：两个可选方案、决定、多个可选方案、聚合争议、筛选可用方案、避免极端方案&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href=&quot;https://i.imgur.com/FRp77.png&quot;&gt;&lt;img title=&quot;Decisions &amp;amp; Alternatives&quot; src=&quot;https://i.imgur.com/FRp77.png&quot; width=&quot;609&quot; height=&quot;410&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;strong&gt;进程和进展&lt;/strong&gt;&lt;br /&gt;
包括：详细过程、From-To过程、进程改变、有序的、循环过程、改进步骤&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href=&quot;https://i.imgur.com/VhS0f.png&quot;&gt;&lt;img title=&quot;Processes and Progress&quot; src=&quot;https://i.imgur.com/VhS0f.png&quot; width=&quot;601&quot; height=&quot;414&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;strong&gt;有较多进程和进展的情况&lt;/strong&gt;  &lt;br /&gt;
包括：游戏板——复杂进程、流程图、螺旋式上升或下降、输入和输出、从无序到有序、实现目标的进展&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href=&quot;https://i.imgur.com/3pHy7.png&quot;&gt;&lt;img title=&quot;More Processes and Progress&quot; src=&quot;https://i.imgur.com/3pHy7.png&quot; width=&quot;594&quot; height=&quot;414&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;strong&gt;问题（与条件）&lt;/strong&gt;  &lt;br /&gt;
包括：障碍、矛盾、不同的方法或思想、事物的表面部分（冰山一角）、迷宫——困惑、在边缘&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href=&quot;https://i.imgur.com/ufRwh.png&quot;&gt;&lt;img title=&quot;Problems (“Opportunities”)&quot; src=&quot;https://i.imgur.com/ufRwh.png&quot; width=&quot;601&quot; height=&quot;412&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;strong&gt;平衡和杂项&lt;/strong&gt;&lt;br /&gt;
包括：平衡状态、非平衡状态、杠杆作用、赞成与反对的情况、组织结构图、问题分类或决策树&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href=&quot;https://i.imgur.com/OTc3c.png&quot;&gt;&lt;img title=&quot;Balance and Miscellaneous&quot; src=&quot;https://i.imgur.com/OTc3c.png&quot; width=&quot;598&quot; height=&quot;415&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;strong&gt;更杂乱的情况&lt;/strong&gt; &lt;br /&gt;
包括：关联、成长条件、二维分割、组成问题、二维成长条件、三维分割&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href=&quot;https://i.imgur.com/3Hy82.png&quot;&gt;&lt;img title=&quot;More Miscellaneous&quot; src=&quot;https://i.imgur.com/3Hy82.png&quot; width=&quot;593&quot; height=&quot;409&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;备注：&lt;/p&gt;

&lt;p&gt;Source: Several of these layouts are adapted from G. Zelazny, Saying It with Charts and M. Craig, Thinking Visually.
作者是Andrew V. Abela, Ph.D.&lt;/p&gt;
</description>
        <pubDate>Tue, 02 Aug 2011 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E6%A0%BC%E5%BC%8F%E6%8A%80%E5%B7%A7/2011/08/02/36-page-layout-ideas.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E6%A0%BC%E5%BC%8F%E6%8A%80%E5%B7%A7/2011/08/02/36-page-layout-ideas.html</guid>
        
        <category>可视化</category>
        
        
        <category>格式技巧</category>
        
      </item>
    
      <item>
        <title>从bar chart到pixel bar chart</title>
        <description>&lt;p&gt;上周末去旁听了可视化研讨会（Visualization Workshop），主题演讲是来自Universität Konstanz的&lt;a href=&quot;http://www.inf.uni-konstanz.de/gk/people/member/keim.html&quot; title=&quot;Prof. Dr. Daniel Keim&quot;&gt;Daniel A. Keim&lt;/a&gt;教授。我对于他提到的pixel bar chart很感兴趣，搜索了一些资料，来介绍一下从bar chart到pixel bar chart的演化过程。&lt;/p&gt;

&lt;p&gt;##Bar chart##&lt;/p&gt;

&lt;p&gt;bar chart是大家都很常见的条形图，传统的bar chart只能显示很少的一部分数据。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;例1.等宽条形图：&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;有一周车辆销售数据  （例子和图片生成程序源自：&lt;a href=&quot;http://www.harding.edu/fmccown/R/#autosdatafile&quot; title=&quot;Producing Simple Graphs with R #Bar Charts#&quot;&gt;Producing Simple Graphs with R&lt;/a&gt;）&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;cars trucks suvs &lt;br /&gt;
1        2        4   &lt;br /&gt;
3        5        4   &lt;br /&gt;
6        4        6   &lt;br /&gt;
4        5        6   &lt;br /&gt;
9        12      16&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;例如：要表示汽车的一周销量1、3、6、4、9，就可做出如下的条形图。&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://i.imgur.com/Yb7iu.png&quot;&gt;&lt;img title=&quot;Cars&quot; src=&quot;https://i.imgur.com/Yb7iu.png&quot; width=&quot;300&quot; height=&quot;245&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;图的横轴为日期，纵轴为销售总量，条形高度代表销售量。&lt;/p&gt;

&lt;p&gt;若要表示汽车、卡车、suvs的一周销售量，则可做出这样的条形图&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://i.imgur.com/lHu0W.png&quot;&gt;&lt;img title=&quot;Autos&quot; src=&quot;https://i.imgur.com/lHu0W.png&quot; width=&quot;300&quot; height=&quot;245&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;这时横轴表示三种车辆（并且销售数据按日期的排序），纵轴为销售总量，条形高度代表销售量。&lt;/p&gt;

&lt;p&gt;如果还想把总销量表示在图中，则需要这样&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://i.imgur.com/BaVqu.png&quot;&gt;&lt;img title=&quot;Autos01&quot; src=&quot;https://i.imgur.com/BaVqu.png&quot; width=&quot;300&quot; height=&quot;245&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;横轴代表日期，纵轴代表销售总量，每个竖条分成3部分，分别代表不同车辆的销售数据。&lt;/p&gt;

&lt;p&gt;以上三个条形图在数据值小的类别上方都留有很大的空白区域，这也是等宽条形图的缺点。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;例2.等高条形图：&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;为了解决空间浪费的问题，可以使用等高条形图。&lt;/p&gt;

&lt;p&gt;例如表示上面的汽车、卡车、suvs的一周销售量&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;    CODE： 

    barplot(rep(1,length(as.matrix(autos_data))),width=as.matrix(autos_data), main=&quot;Autos&quot;,  beside=TRUE, col=rainbow(5))
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;a href=&quot;https://i.imgur.com/Ut5kC.png&quot;&gt;&lt;img title=&quot;等高条形图&quot; src=&quot;https://i.imgur.com/Ut5kC.png&quot; width=&quot;300&quot; height=&quot;245&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;等高条形图的缺陷是无法从图中看出准确的数值（就是指上图中的车辆销售量）。&lt;/p&gt;

&lt;p&gt;##Pixel bar chart##&lt;/p&gt;

&lt;p&gt;pixel bar chart是在原有bar chart的基础上，将每个数据用一个像素为代表显示在图中，像素在图中有坐标位置和颜色这两个指标值（Daniel A. Keim老师的意思是bar chart加上x-y diagrams），故可以显示数据的多个指标，并可在有限的空间展示大量数据。&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://i.imgur.com/5PZwE.png&quot;&gt;&lt;img title=&quot;pixelbarchart&quot; src=&quot;https://i.imgur.com/5PZwE.png&quot; width=&quot;300&quot; height=&quot;204&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;（图像来源于论文：Pixel bar charts: a visualization technique for very large multi-attributes data sets）&lt;/p&gt;

&lt;p&gt;像素条形图的优势是可在一张图中展示大量的多属性数据，例如下图。&lt;/p&gt;

&lt;p&gt;这是一个在电子商务中应用的例子，图中的每个像素代表一位顾客，每个条形代表一类产品。a图中的颜色代表顾客的购物总额，b图中的颜色代表访问次数，c图中的颜色代表浏览数量。（从图中可以很直观地看出顾客的购买倾向）&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://i.imgur.com/OqnHf.png&quot;&gt;&lt;img title=&quot;Multi-pixel bar charts&quot; src=&quot;https://i.imgur.com/OqnHf.png&quot; width=&quot;300&quot; height=&quot;149&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;（图像来源于论文：Pixel bar charts: a visualization technique for very large multi-attributes data sets）&lt;/p&gt;

&lt;p&gt;pixel bar chart具体的算法详见论文：Pixel bar charts: a visualization technique for very large multi-attributes data sets （能搜索到免费pdf下载）&lt;/p&gt;

&lt;p&gt;下一步，有时间研究一下如何实现。&lt;/p&gt;
</description>
        <pubDate>Tue, 26 Jul 2011 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E5%8F%82%E4%BC%9A%E6%9C%89%E6%84%9F/2011/07/26/from-bar-chart-to-pixel-bar-chart.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E5%8F%82%E4%BC%9A%E6%9C%89%E6%84%9F/2011/07/26/from-bar-chart-to-pixel-bar-chart.html</guid>
        
        <category>bar chart</category>
        
        <category>可视化</category>
        
        
        <category>参会有感</category>
        
      </item>
    
      <item>
        <title>世界，你好！</title>
        <description>&lt;p&gt;开博客。之前写程序时hello world!都不经过大脑翻译，这次在自己博客上看到hello world! 翻译成中文，竟没反应过来。&lt;/p&gt;

&lt;p&gt;初次使用wordpress，博客的问题肯定不少，若各位看官发现问题，&lt;a href=&quot;http://yulijia.github.com/cn/guestbook&quot; title=&quot;留言板&quot;&gt;请联系我&lt;/a&gt;。（P.S.: 若是IE6浏览器下的问题就算了）&lt;/p&gt;

&lt;p&gt;另外感谢&lt;a href=&quot;http://jimliu.net/&quot; title=&quot;刘指导&quot;&gt;刘指导&lt;/a&gt;和小白蛇对博客技术和内容问题的指正。&lt;/p&gt;

&lt;p&gt;感谢&lt;a href=&quot;http://weibo.com/11978569&quot; title=&quot;@Thomas-sina.weibo&quot;&gt;Thomas&lt;/a&gt;对无穷无尽的linux技术问题的帮助！&lt;/p&gt;
</description>
        <pubDate>Fri, 22 Jul 2011 00:00:00 +0000</pubDate>
        <link>https://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2011/07/22/hello-world.html</link>
        <guid isPermaLink="true">https://yulijia.net/cn/%E8%81%9A%E7%B1%BB%E4%B8%8D%E8%83%BD/2011/07/22/hello-world.html</guid>
        
        
        <category>聚类不能</category>
        
      </item>
    
  </channel>
</rss>
