文章目录

  • 启动子
  • 背景
  • 过程
  • 开始
  • 结果
  • 小结

启动子

启动子是RNA 聚合酶识别、结合和开始转录的一段DNA 序列,它含有RNA 聚合酶特异性结合和转录起始所需的保守序列,多数位于结构基因转录起始点的上游,启动子本身不被转录。但有一些启动子(如tRNA启动子)位于转录起始点的下游,这些DNA序列可以被转录。启动子的特性最初是通过能增加或降低基因转录速率的突变而鉴定的。启动子一般位于转录起始位点的上游几百至几千Bp不等。

背景

将获得的某基因转录起始位点2000Bp序列提交至Plantcare(关于如何预测可查阅其他文章,或点击直奔网站主页),即可通过邮件回执预测结果(回执结果是一个由TAB分割的表格文件,在下文使用的使用需要以tab分割导入excel),若基因数量较少时可以通过手工或肉眼即可对预测结果进行观察,并寻找是否存在目标基序,但当涉及到较多的基因数量,如整个基因家族、群体检测SNP等,则会比较费时费力;本文采用VBA编程,对Plantcare的预测结果表格文件(图1)进行筛选、分列、计数等,使其结果形成一个基因为多行(样本),基序为多列(特征)的矩阵,极大的方便了后续筛选目标基序的数量,形成了矩阵,也极大的方便了进行可视化,如热力图等。

过程

'因过程中并没有引用数组,大约2w行100列数据需要30s的运行时间
Sub 生成矩阵表格()
'删除多余表格
Application.DisplayAlerts = False
Dim k As Integer
For k = Sheets.Count To 1 Step -1If k = 1 ThenExit ForElseSheets(k).DeleteEnd If
Next
Application.DisplayAlerts = True'创建变量
Dim gene_num, seq_num As IntegerSheets(1).Copy After:=Sheets(1) '拷贝副本
Range("$A$1:$H$" & Range("a666666").End(xlUp).Row).RemoveDuplicates Columns:=1, Header:=xlNo '去重
gene_num = Range("a666666").End(xlUp).Row
'复制新的sheet
ActiveWindow.SmallScroll Down:=-110
Range("A1:A" & Range("a666666").End(xlUp).Row).Copy
Sheets.Add After:=ActiveSheet
ActiveSheet.Name = "生成的矩阵表格"ActiveSheet.Paste
Rows("1:1").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
'二次
Sheets(1).Copy After:=Sheets(Sheets.Count) '拷贝副本
Range("$A$1:$H$" & Range("a666666").End(xlUp).Row).RemoveDuplicates Columns:=2, Header:=xlNo '去重
seq_num = Range("a666666").End(xlUp).Row
Dim n1, n2 As Integer
'将多行粘为多列Sheets(4).Select
n1 = Range("a666666").End(xlUp).Row
For n2 = 1 To n1Sheets(4).SelectRange("B" & n2).SelectSelection.CopySheets(3).SelectRange("C1").Cells(1, n2).SelectActiveSheet.PasteNext
'计算出现的次数并写入对应单元格
Dim rng1, rng2, rng3, rng4, all_num As Integerall_num = Sheets(1).Range("a666666").End(xlUp).RowFor rng1 = 1 To all_num '执行第一列判断For rng3 = 1 To gene_numIf Sheets(1).Range("a" & rng1) = Sheets(3).Range("a" & rng3 + 1) Then'Sheets(3).Range("c" & rng3 + 1) = rng3'For rng2 = 1 To all_num '执行第二列判断For rng4 = 1 To seq_numIf Sheets(1).Range("b" & rng1) = Sheets(3).Range("C1").Cells(1, rng4) ThenSheets(3).Range("C1").Cells(rng3 + 1, rng4) = Sheets(3).Range("C1").Cells(rng3 + 1, rng4) + 1End IfNext rng4'Next rng2End IfNext rng3
Next rng1
'对sheet更改顺序Sheets("生成的矩阵表格").SelectSheets("生成的矩阵表格").Move Before:=Sheets(2)Application.DisplayAlerts = FalseDim kk As IntegerFor kk = Sheets.Count To 1 Step -1If kk = 2 ThenExit ForElseSheets(kk).DeleteEnd IfNextApplication.DisplayAlerts = True
Range("a1").Select
'完成提示语
MsgBox "已完成!"
MsgBox "感谢使用,联系作者:643237173@qq.com"End SubSub 开始()
On Error Resume Next
'
'开始提示语
Dim i As Integer
MsgBox "请确定文件中有且只有一个表格,否则其他表格会被自动删除;    本次可能会花费较多时间,请耐心等待 ^ _ ^"
i = Application.InputBox("已读警告确认输入1,其他数字取消后续操作")If i = 1 Then'调用功能函数Call 生成矩阵表格
ElseMsgBox "好的,已取消~"
End If
End Sub

开始

  1. 将过程中的代码复制到回执表格中的代码框中
  2. 若没有该选项,请参考以下步骤打开开发者选项,此过程基于excel2016,版本不同会有所差异
  3. 复制代码并运行

结果

  1. 代码运行后会弹出一系列的对话框,请按照提示运行

  2. 运行后需要等待一小段时间,此时excel可能会提示未响应,其实在运行,可以忽略该提示
  3. 运行完会提示已完成,下面是结果展示

小结

以上就是利用上传Plantcare回执的表格,进行结果统计和数据整理,后续就可以利用该表格的特定基序数量和某一个基因的数据进行可视化,但是本表格并没有涉及到基序在启动子序列上位置的展现,这个可以通过回执附带的网页文件查看;更多技术交流请发邮件643237173@qq.com或者yyyz5678@163.com,也可以向我获取带有源码的excel文件,只需要将自身的文件内容复制并替换就可以直接运行。觉得有用,请在下方留言支持下。

Plantcare_启动子预测结果_快速筛选指定基因启动子上的顺式作用元件个数相关推荐

  1. 如何快速查找指定基因的调控网络

    最近在看生信宝典的书籍,无意中发现了这个: EVEX在线查询数据库(http://evexdb.org/)是一款以基因为检索对象,以PubMed和PubMed Central中发表文章的摘要和全文为依 ...

  2. 生信宝典之傻瓜式 (五) - 文献挖掘查找指定基因调控网络

    ▼生物信息学习的正确姿势(第三版) NGS系列文章包括NGS基础.转录组分析 (Nature重磅综述|关于RNA-seq你想知道的全在这).ChIP-seq分析 (ChIP-seq基本分析流程).单细 ...

  3. 生信宝典之傻瓜式(五) 文献挖掘查找指定基因调控网络

    欢迎关注天下博客:http://blog.genesino.com/2018/01/literature-search/ 傻瓜系列重启了,如何快速查找指定基因的调控网络介绍了使用在线查询数据库 (ht ...

  4. datagridview 筛选_【Excel】如何用通配符快速筛选到所需信息

    上一期小编向大家介绍了最高频实用的类型筛选法(戳此了解:类型筛选法) 但如果只知道关键词或个别字眼,如何高效筛选呢?这就需要掌握通配符筛选法,一起来看一下吧~ 什么是通配符? 通配符是一种特殊语句,主 ...

  5. PostgreSQL 快速给指定表每个字段创建索引 - 2

    标签 PostgreSQL , 索引 , 所有字段 , 并行创建单个索引 , max_parallel_maintenance_workers , 异步调用 , dblink , 并行创建多个索引 , ...

  6. 实战微博互动预测之一_问题分析 以及 分布式下的事件驱动机制(Pub与Sub模式)

    实战微博互动预测之一_问题分析 2017年12月08日 13:21:04 xieyan0811 阅读数:2390 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csd ...

  7. python模型预测足球_采用 Python 机器学习预测足球比赛结果!买谁赢就谁赢!

    采用 Python 机器学习预测足球比赛结果 足球是世界上最火爆的运动之一,世界杯期间也往往是球迷们最亢奋的时刻.比赛狂欢季除了炸出了熬夜看球的铁杆粉丝,也让足球竞猜也成了大家茶余饭后最热衷的话题.甚 ...

  8. 如何用excel筛选相似内容_Excel中如何将两组数据的相同内容进行快速筛选配对...

    原标题:Excel中如何将两组数据的相同内容进行快速筛选配对 文/郭远明 在工作中,我们时常会遇到这样一种情况:原有数据需要进行更新,同时要原有的名单排序不变,新数据要与原有的名单一一对应.如果是数据 ...

  9. 分类预测回归预测_我们应该如何汇总分类预测?

    分类预测回归预测 If you are reading this, then you probably tried to predict who will survive the Titanic sh ...

  10. Windows上快速在指定目录打开cmd.exe命令行的方法

    前言 命令行在项目开发中使用频率很高,在指定目录中打开命令行也是很常见的需求,本文将介绍几种快速在指定目录打开cmd.exe命令行的方法,提高效率. 普通方式 运行->输入cmd.exe,点击确 ...

最新文章

  1. visio取消首字母大写
  2. boost::system::linux_error相关的测试程序
  3. python生成器generator:深度学习读取batch图片
  4. C语言荣获2019年度最佳编程语言
  5. 【Transformer】PoolFormer: MetaFormer is Actually What You Need for Vision
  6. 使用 Google gflags 简化命令行参数处理
  7. 硬件基础知识(6)---电容分类
  8. php h5视频录制上传,基于koa的h5视频录制异步上传
  9. 华为u2020操作指南_用手机水平仪检测水平,操作简单,帮助甚大
  10. 机械键盘分类与选购技巧
  11. JS实现文字转语音播放
  12. SpringBoot+websocket 实现web聊天功能(单聊、保存消息)
  13. Android 鼠标键值列表,安卓键盘键值对照表
  14. matplotlib柱状图给指定的柱换颜色_matplotlib绘图基本操作amp;美化教程
  15. java无法验证发布者_Win10系统提示无法验证发布者的解决技巧
  16. 使用scrapy爬取qq音乐
  17. 华为强硬回应被 Wi-Fi 联盟等“除名”
  18. 怎样改证件照的背景颜色?两种方法教你换背景色
  19. 不用PLC Smart触摸屏与多台变频器通信 变频器通讯西门子触摸屏直接与台达VFD-S1和松下VF100变频器MODBUS RTU通讯,
  20. 软件测试真的很重要!——软件测试的作用

热门文章

  1. 35岁开发转测试,能度过中年危机吗?
  2. 习题 3.10 有一函数:写一程序,输入x,输出y值。
  3. 前端js生成自定义内容的PDF及word文件的实现
  4. Matlab运算符总结
  5. TI的C64X系列的DSPLib实现fft
  6. Unity角色动画详细学习记录
  7. 2021-05-17
  8. Cocoapods使用代理
  9. 男孩子不上学了学计算机要学历吗,十三岁男孩不上学,能学什么手艺?
  10. mybatis多表联合查询