生信分析案例 Python简明教程 | 视频14

开源生信 Python教程

生信专用简明 Python 文字和视频教程

源码在:https://github.com/Tong-Chen/Bioinfo_course_python

目录

  1. 背景介绍

    1. 编程开篇

    2. 为什么学习Python

    3. 如何安装Python

    4. 如何运行Python命令和脚本

    5. 使用什么编辑器写Python脚本

  2. Python程序事例

  3. Python基本语法

    1. 数值变量操作

    2. 字符串变量操作

    3. 列表操作

    4. 集合操作

    5. Range使用

    6. 字典操作

    7. 层级缩进

    8. 变量、数据结构、流程控制

  4. 输入输出

    1. 交互式输入输出

    2. 文件读写

  5. 实战练习(一)

    1. 背景知识

    2. 生信相关作业(一)

  6. 函数操作

    1. 函数操作

    2. 生信相关作业(二)

  7. 模块

  8. 命令行参数

    1. 命令行参数

    2. 生信相关作业(三)

  9. 更多Python内容

    1. 单语句块

    2. 列表综合,生成新列表的简化的for循环

    3. lambda, map, filer, reduce (保留节目)

    4. exec, eval (执行字符串python语句, 保留节目)

    5. 正则表达式

    6. Python画图

  10. Reference

一些练习题

  1. 给定FASTA格式的文件(test1.fa 和 test2.fa),写一个程序 cat.py 读入文件,并输出到屏幕 (2分)

  • open(file)

  • for .. in loop

  • print()

  • strip() function

  • 用到的知识点

给定FASTQ格式的文件(test1.fq), 写一个程序 cat.py 读入文件,并输出到屏幕 (2分)

  • 同上

  • 用到的知识点

写程序 splitName.py, 读入test2.fa, 并取原始序列名字第一个空格前的名字为处理后的序列名字,输出到屏幕 (2分)

  • split

  • 字符串的索引

  • 用到的知识点

  • 输出格式为:

    >NM_001011874
    gcggcggcgggcgagcgggcgctggagtaggagctg.......

写程序 formatFasta.py, 读入test2.fa,把每条FASTA序列连成一行然后输出 (2分)

  • join

  • strip

  • 用到的知识点

  • 输出格式为:

    >NM_001011874
    gcggcggcgggc......TCCGCTG......GCGTTCACC......CGGGGTCCGGAG

写程序 formatFasta-2.py, 读入test2.fa,把每条FASTA序列分割成80个字母一行的序列 (2分)

  • 字符串切片操作

  • range

  • 用到的知识点

  • 输出格式为

    >NM_001011874
    gcggcggcgc.(60个字母).TCCGCTGACG #(每行80个字母)
    acgtgctacg.(60个字母).GCGTTCACCC
    ACGTACGATG(最后一行可不足80个字母)

写程序 sortFasta.py, 读入test2.fa, 并取原始序列名字第一个空格前的名字为处理后的序列名字,排序后输出 (2分)

  • sort

  • dict

  • aDict[key] = []

  • aDict[key].append(value)

  • 用到的知识点

提取给定名字的序列 (2分)

  • 用到的知识点

  • print >>fh, or fh.write()

  • 取模运算,4 % 2 == 0

  • 写程序 grepFasta.py, 提取fasta.name中名字对应的test2.fa的序列,并输出到屏幕。

  • 写程序 grepFastq.py, 提取fastq.name中名字对应的test1.fq的序列,并输出到文件。

写程序 screenResult.py, 筛选test.expr中foldChange大于2的基因并且padj小于0.05的基,可以输出整行或只输出基因名字。(4分)

  • 逻辑与操作符 and

  • 文件中读取的内容都为字符串,需要用int转换为整数,float转换为浮点数

  • 用到的知识点

写程序 transferMultipleColumToMatrix.py 将文件(multipleColExpr.txt)中基因在多个组织中的表达数据转换为矩阵形式,并绘制热图。(6分)

  • aDict[‘key’] = {}

  • aDict[‘key’][‘key2’] = value

  • if key not in aDict

  • aDict = {‘ENSG00000000003’: {“A-431”: 21.3, “A-549”, 32.5,…},”ENSG00000000003”:{},}

  • 用到的知识点

  • 输入格式(只需要前3列就可以)

    Gene    Sample  Value   Unit    Abundance
    ENSG00000000003 A-431   21.3    FPKM    Medium
    ENSG00000000003 A-549   32.5    FPKM    Medium
    ENSG00000000003 AN3-CA  38.2    FPKM    Medium
    ENSG00000000003 BEWO    31.4    FPKM    Medium
    ENSG00000000003 CACO-2  63.9    FPKM    High
    ENSG00000000005 A-431   0.0     FPKM    Not detected
    ENSG00000000005 A-549   0.0     FPKM    Not detected
    ENSG00000000005 AN3-CA  0.0     FPKM    Not detected
    ENSG00000000005 BEWO    0.0     FPKM    Not detected
    ENSG00000000005 CACO-2  0.0     FPKM    Not detected
  • 输出格式

    Name    A-431    A-549    AN3-CA    BEWO    CACO-2
    ENSG00000000460    25.2    14.2    10.6    24.4    14.2
    ENSG00000000938    0.0    0.0    0.0    0.0    0.0
    ENSG00000001084    19.1    155.1    24.4    12.6    23.5
    ENSG00000000457    2.8    3.4    3.8    5.8    2.9

写程序 reverseComplementary.py计算序列 ACGTACGTACGTCACGTCAGCTAGAC的反向互补序列。(2分)

  • reverse

  • list(seq)

  • 用到的知识点

写程序 collapsemiRNAreads.py转换smRNA-Seq的测序数据。(5分)

  • 输入文件格式(mir.collapse, tab-分割的两列文件,第一列为序列,第二列为序列被测到的次数)

    ID_REF        VALUEACTGCCCTAAGTGCTCCTTCTGGC        2ATAAGGTGCATCTAGTGCAGATA        25TGAGGTAGTAGTTTGTGCTGTTT        100TCCTACGAGTTGCATGGATTC        4
  • 输出文件格式 (mir.collapse.fa, 名字的前3个字母为样品的特异标示,中间的数字表示第几条序列,是序列名字的唯一标示,第三部分是x加每个reads被测到的次数。三部分用下划线连起来作为fasta序列的名字。)

    >ESB_1_x2ACTGCCCTAAGTGCTCCTTCTGGC>ESB_2_x25ATAAGGTGCATCTAGTGCAGATA>ESB_3_x100TGAGGTAGTAGTTTGTGCTGTTT>ESB_4_x4TCCTACGAGTTGCATGGATTC

简化的短序列匹配程序 (map.py) 把short.fa中的序列比对到ref.fa, 输出短序列匹配到ref.fa文件中哪些序列的哪些位置。(10分)

  • find

  • 用到的知识点

  • 输出格式 (输出格式为bed格式,第一列为匹配到的染色体,第二列和第三列为匹配到染色体序列的起始终止位置(位置标记以0为起始,代表第一个位置;终止位置不包含在内,第一个例子中所示序列的位置是(199,208](前闭后开,实际是chr1染色体第199-206的序列,0起始). 第4列为短序列自身的序列.)。

  • 附加要求:可以只匹配到给定的模板链,也可以考虑匹配到模板链的互补链。这时第5列可以为短序列的名字,第六列为链的信息,匹配到模板链为’+’,匹配到互补链为’-‘。注意匹配到互补链时起始位置也是从模板链的5’端算起的。

    chr1    199    208    TGGCGTTCA
    chr1    207    216    ACCCCGCTG
    chr2    63    70    AAATTGC
    chr3    0    7    AATAAAT

每日书籍推荐 - 流畅的Python

《流畅的Python》作者卢西亚诺·拉马略(Luciano Ramalho) 是Thoughtworks 首席咨询师、Python 软件基金会成员、巴西知名 Python 语言学习社区 Python Brasil 联合创始人。拥有 25 年 Python 编程经验,他的《流畅的Python》是编程领域经典作品,影响近 8 万读者,基于Python 3.10,内容详尽,精心设计的代码示例有近 500 段!还有大量的图和表,简直对学习真的太友好了!。

具体看ChatGPT的评价:

24b12bcafc6c7cba23edb14433e1b5f9.png

e4e4af52733b1af560e643c30a77cf0f.png

c7597aa50bed5c20b7a46c9720ada024.png

往期精品(点击图片直达文字对应教程)

013ab7a91d12e83ae8f707a5d9f59750.jpeg

ac86e80901c47594392e1acc38c1fe0f.jpeg

971334196c24dd0ad1d3514b02c8cb2e.jpeg

3bb9167a2de56ee2e05dd6e6b5afecbf.jpeg

288d4d5115d4f67ea63b8e5e53924897.jpeg

b4c848ce1f173ee825d4b4ead73af5c0.jpeg

c8f2c30ed3aa92d383834f509e53da5a.jpeg

b17d82b2fa0748e833afeec52955fd27.jpeg

3bae18be90f461a739d19073b8eb6773.jpeg

4337822975bf597d824cf48d8dcc4998.jpeg

803eb66c98292908750f2febd201399c.jpeg

68e641f42f2c7420d0a22a65dd4221f2.jpeg

826f31906d42f7e0d226b336bfe553df.png

b5bd0acbce102655164f7b767d2bd6ad.png

1d8b9f68d91c1aad35a08297d12819e8.png

003595a452573633a5ea8a343419b768.png

71b58404eaaa72d177eb2d3450860542.jpeg

5d6bf2f149ab2586ff46ea806b1804a1.jpeg

9a902e0030019453a8d9ef543c4cef06.jpeg

33a6fe43b2371d3dac152049f9cfed98.jpeg

e9ff80dc49f388fec0f35c1e46381543.png

c6492622d8780fd3e7d49206d8303415.png

4fd9f78c295e2cb6923a14f3a450c50c.jpeg

c131507bb195bccce19bcb9bc155f27c.png

c25e1f0dada6154e8230239388fb72f7.png

3caca2bd463d310a9fb53b3a46451d25.jpeg

e301a8e7dd426ee5f416d3b08c547cb5.png

b62383fedde001067c85aee979cbbfbe.png

机器学习

后台回复“生信宝典福利第一波”或点击阅读原文获取教程合集

daec6f40472544ac9228a82d939d8377.jpeg

261422a456b6b6df82b25b99b8363648.jpeg

b3224edfbb59f21a649ee92dccf99b97.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/45212.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

“去高精地图”跟“轻高精地图”有啥区别?落地的挑战又是啥? | 九章自动驾驶随笔之一...

交流群 | 进“传感器群/滑板底盘群/汽车基础软件群/域控制器群”请扫描文末二维码,添加九章小助手,务必备注交流群名称 真实姓名 公司 职位(不备注无法通过好友验证) 编辑 | 苏清涛 真正影响Mapless技术路线落地的最大难点在于…

登录微软账号的Windows电脑如何远程?

一般情况下,我们都使用的是Windows电脑的本地账户。但是随着Windows 10的推广,现在微软也开始主推微软账号登录Windows电脑了。 现在遇到一个问题,就是远程Windows电脑时,提示连接不上,刚开始以为是远程服务没有开&am…

win10微软商店/账号登录一直转圈

解决win10登录微软账户或者微软商店时无法登录问题: 1.右键wifi按钮,打开“网络和Internet”设置。 2.更改适配器选项 3.右键当前的网络连接,选择“属性” 4.找到IPv4一项,点击“属性”按钮 5.自定义DNS服务器地址&#xf…

微软账户登录不了问题

问题描述: 为了使用newbing需要登录微软账号,但是公司电脑访问微软账号十分的慢,一登录就转圈。 问题原因: 和宽带采用的上网方式(IPV4和IPV6)和dns解析有关系由于国内基本都采用IPV4的方式,下文对IPV4的…

我让ChatGPT写了一篇php现状和趋势的文章

我给出的指令是: 写一篇介绍php的2023年现状和未来趋势的文章 下面是ChatGPT返回的结果: 2023年PHP:现状和未来趋势 编程语言PHP于1994年开发,并从此成为世界上使用最广泛的语言之一。它用于创建动态网站,是web开发世界…

ChatGPT “火出圈” 测试工程师的饭碗还能保住吗

ChatGPT已经在国内火了一个多月了, 这个让AI巨头神仙打架的智能对话机器人 到底火到了什么程度? 随处可见的经验分享:ChatGPT让我一天之内学会技能! 到处传播的社会新闻:某岗位又被ChatGPT给干失业了! …

没想ChatGPT两个月用户破亿的世界记录,这么快就被打破了!5天!

上线第一天,用户超3000万,上线后5天,用户破1亿,Threads无疑创造了技术产品用户数破亿的新纪录,而前记录还是今年ChatGPT创下的2个月。 Threads创造了有史以来最快的用户破亿纪录(来源:World Of Statistics …

VScode终端插件

Terminal 使用方法 安装Terminal,在VScode编辑器里的项目文件中【右键】 → 【open in Integrated Terminal】即可。 你会看到如图所示的终端,它等同于cmd,可以很方便的在VScode中实时查看。

【Vscode】隐藏的端口转发功能,大多数人都不知道怎么用

引言 Python 编程中有两款 IDE 深受广大开发者的喜爱,一是微软出品的 Vscode,以小巧、轻量、插件丰富而闻名,另一款则是大名鼎鼎的专为 Python 编程而打造的 Pycharm。这两款工具各有优缺点,这里不吹不黑,在博主看来&…

关闭vscode烦人的提示框

vscode有两种烦人的提示框: 第一种是:鼠标放到html标签上的悬浮提示框,如图: 第二种是:输入的时候有悬浮窗,并不是智能提示的框,而是解释型的提示框,如图: 这两种框基本…

vscode屏蔽文件

1. 基于工程“uboot-imx-rel_imx_4.1.15_2.1.0_ga”. 2.方法一 2.1)shiftP快捷键,输入“settings”,打开settings.json文件 2.2)输入以下代码,即可对configs文件夹指定的内容进行屏蔽 "files.exclude": {"configs/…

VsCode文件屏蔽

在分析uboot源码时,许多文件都不需要,要将该文件的目录屏蔽并且设置搜索范围 在工程目录下,建立.vscode文件夹,在.vscode 文件夹中新建settings.json的文件,然后在 settings.json 中输入如下内容: {"…

【vscode】代码调试时直接显示在vscode终端,而不弹出新的终端

tasks.json文件修改,加入语句: "presentation": {"panel": "shared"}launch.json文件修改,加入语句: // 调试时是否显示控制台窗口,设置为true则显示在新的windows终端控制台 "e…

vscode运行C/C++不弹出黑色终端解决办法

1.首先打开扩展(CtrlShiftX) 2.选择C/C Compile Run 3.点击管理-->扩展管理 4.勾选以下选择框 5.按F6实现终端页面弹出

文心一言 vs GPT-4实测!百度背水一战!

编辑部 发自 凹非寺 量子位 | 公众号 QbitAI GPT-4发布一天之后,压力全部给到百度这边。 就在刚刚,百度交卷。 文心一言,百度全新一代知识增强大语言模型,正式在百度总部“挥手点江山”会议室里发布。 在一片静寂的氛围里&#xf…

Adept AI,颠覆“产品学“的产品

1.三体降临,产品学不存在了? 兄弟们,你们敢想象以后我们都会有用自己的贾维斯吗?我们不需要在安装一大堆APP,不需要适应各种APP交互,只需一句话你能快速达到你想要的目的吗?你能想象那种科幻大…

实测:文心一言 vs GPT-4

转自:量子位 | 公众号 QbitAI GPT-4发布一天之后,压力全部给到百度这边。 就在刚刚,百度交卷。 文心一言,百度全新一代知识增强大语言模型,正式在百度总部“挥手点江山”会议室里发布。 在一片静寂的氛围里&#xff0c…

Stata回归结果输出

1. 问题 在实证分析中,我们经常需要在模型中加入行业虚拟变量、年度虚拟变量等,以便控制不可观测的行业个体效应或年度个体效应。然而,在正式报告结果时,我们无需报告这些虚拟变量的系数,否则结果表格会变得非常冗长。…

Stata:用交互项做分组回归,结果如何分析

这是来自:纪洋,王旭,谭语嫣,黄益平.经济政策不确定性、政府隐性担保与企业杠杆率分化[J].经济学(季刊),2018,17(02):449-470.的部分结果。 分析交互性结果:就看(1)就行。 基准回归系数是0.036;而交互性系数 为-0.058…

20、实现短信验证码的登录注册功能

实现短信验证码的登录注册功能 第一步:查看接口内容 为什么用RequestBody因为其中我们前端传过来的是json数据那么后端我们就要用requestBody注解来接收了。 查看写这个实体类 这里是因为我们前端除了有短信登录,还有密码登录所以有password 第二步&…