为生信写的Python简明教程 | 视频3

开源生信 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的评价:

10ca1738be6a41ee49294a483efb1961.png

ece1c2ac9c569f8fbcd95d978f583d4e.png

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

536f61200dfa5b0a2db01c0c2104ff38.jpeg

9f10aa0c2db0ec8792601a099d549e8c.jpeg

7ebbabfe303f7cd3be1a8c53c8fd155e.jpeg

5326936c8569f50c133b8761286a9e9d.jpeg

7a8e2980fbb65dfd54cef4372a7439a8.jpeg

a040348cf914bed23d61b836079e84d9.jpeg

6f9f792349db6f42a88671703be9f502.jpeg

1d8660bd5bdf27287b03f67ae3e4ff4a.jpeg

82083f336952a391954b0c51099abb4f.jpeg

6484b7e63fcdf797c40b79c3d7bab057.jpeg

efc531bb153059f79c0458bf5824f50a.jpeg

51f4f13629c4ae67efd980428dba999d.jpeg

a79c8f7d55ecd35fe177221993a9bc37.png

679a7f441257744eeeb2f592f3005c6a.png

bab7188d1b6a0e21fa792b6073c51886.png

56eae4873d4d4bfe14c5237a1b39d649.png

68e6d487e52d26e114d7c0e25f3a0409.jpeg

1f520f98c3ee50328136b70f9bf8918b.jpeg

270641ea41ce64614834ab4afd03e15b.jpeg

f30c10effe0b4199e189a18c4075e9e6.jpeg

f2adeb0a349b1bf8a6aea6b207ec9f60.png

3b2a975beb7884d44a1fcc1c911153d7.png

5696dda414596f21deb7de962f5ecef3.jpeg

a8d76c29cb1f0a488204348467040722.png

44a7dcd8b0e9faa6e698758d303885b7.png

8dba201ca0ded0bf2ac182eff125de68.jpeg

962bba65c32f179f7fe5c62775ee483f.png

d0b03018a9c1a2f208d7528785ebe898.png

机器学习

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

bd49ba1f2fa985db60eb2ffb9c055213.jpeg

a50f1ecf9206af4644f5065756f59ec6.jpeg

0704f38d6c58af36f680c2bb66d78e31.png

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

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

相关文章

生信入门一对一,数据操作带你飞

前段时间有个朋友问了我一个问题,“如何从一个大的 FASTA 文件中提取给定的一系列基因的 ID”,她用 ChatGPT搜索了问题,拿到了代码,发给我看了下,ChatGPT写的确实好,刚开始学的人估计都写不了这么好&#x…

在生信中利用Chat GPT/GPT4

论文链接Ten Quick Tips for Harnessing the Power of ChatGPT/GPT-4 in Computational Biology | Papers With Code 之前在paper with code上比较火的一篇文章,最近要给生科的学长学姐们个分享所以把这个翻了翻,原文自认为废话比较多,于是选…

一只产品汪的低代码学习之路(一):ChatGPT眼中的低代码有多牛?

写在前面 作为一只本科财务,研究生信管半路出家的产品汪 “啥也不懂”和“就会写写SQL”已经成为了我工作属性的代名词 “可以但没必要”“you can you up,no can no bibi”“你到底懂不懂”是开发拒绝我的三板斧。 秉承着不蒸馍馍争口气的优良传统&…

【差异表达分析】差异表达分析标准不标准化这是一个问题(含其其它报错问题)

前言 在一开始学习基因差异表达分析时,老师就强调用raw count做差异分析,相关文献和资料我也保存了不少,我之前弄清楚log2/cpm与count fpkm等不是在一个水平上讨论的问题,但是具体用的时候还是要栽个跟头才能印象深刻。 我在复现…

PointNet++阅读笔记

(PointNet是PointNet结构的改良,它增强了对点云模型细节的捕捉能力) 摘要:PointNet并没有捕捉到点云的局部结构,而本文介绍了一种分层神经网络,用于捕捉点云的局部特征。 Introduction 背景:…

云平台网络——应用部署(一)

(可有可无的)引言 昨天完成了对学校集群的相关鉴权以后,大致理解了如何使用SSH登入教学集群,今天则是在此基础上进一步完成相关应用的部署,包括但不限于conda以及torch等和机器学习建模相关的软件安装,由于是第一次成功在云计算平…

用小学数学带你感受人工智能的魅力

AI因你而升温,记得加个星标哦! 大家好,我是泰哥。在ChatGPT火爆出圈后,越来越多的人对人工智能、深度学习、神经网络等名词更加好奇,身边的朋友最近也频繁的问我,AI究竟为什么如此强大? 偷个懒&…

精选| 2023年1月R新包推荐(第72期)

译:黄小伟,目前就职于杭州有赞 知乎专栏:中国R语言社区 |30,000关注、300万阅读 2023年1月,165个R包收录于CRAN,环比增长42.4%,本月Top 40 R包分为14个类别,详细介绍如下&#xff1a…

我用Echarts图表分析巴西队历年战绩,预测卡塔尔世界杯能否夺冠

🐱 个人主页:不叫猫先生 🙋‍♂️ 作者简介:前端领域新星创作者、阿里云专家博主,专注于前端各领域技术,共同学习共同进步,一起加油呀! 💫系列专栏:vue3从入门…

陶哲轩甩出调教GPT-4聊天记录,点击领取大佬的研究助理!

Datawhale干货 方向:GPT-4高级调教,来源:量子位 鹅妹子嘤,天才数学家陶哲轩搞数学研究,已经离不开普通人手里的“数学菜鸡”GPT了! 就在他最新解决的一个数学难题下面,陶哲轩明确指出自己“使用…

ESP8266还可以这样玩

作者:晓宇,排版:晓宇 微信公众号:芯片之家(ID:chiphome-dy) 01 巨型ESP8266 ESP8266几乎无人不知,无人不晓了吧,相当一部分朋友接触物联网都是从ESP8266开始的&#xff…

笑死!推特限流,微博赢麻了;使用ChatGPT撰写简历;SD电脑配置推荐;斯坦福67门AI课程学习路径 | ShowMeAI日报

👀日报&周刊合集 | 🎡生产力工具与行业应用大全 | 🧡 点赞关注评论拜托啦! 🤖 因 Twitter 限流,大量海外画师涌入微博哈哈哈哈 7月3日,马斯克突然发推宣布用户浏览数量限制,新账…

想要成为 NLP 领域的大牛?从 ChatGPT 的 5 大自然语言模型开始了解吧(LM、Transformer、GPT、RLHF、LLM)——小白也能看得懂

目录 前言ChatGPT基础科普——知其一点所以然1. LM2. Transformer3. GPT4. RLHF5. LLM 参考资料其它资料下载 前言 如果想在自然语言处理(Natural Language Processing,NLP)领域内脱颖而出,那么你一定不能错过 ChatGPT 的 5 大自然…

浏览器工作原理和实践

1.介绍 见正文3 2.应用背景 参透了浏览器的工作原理,可解决80%的前端难题. 帮助高效快速安全开发web前端项目. 3.学习 课程目录 开篇词 (1讲) 开篇词 | 参透了浏览器的工作原理,你就能解决80%的前端难题 宏观视角下的浏览器 (6讲) 01 | Chrome架构…

SpringBoot自动配置的模版引擎

文章目录 目录 一、Thymeleaf 1.什么是Thymeleaf? 2.什么是模版引擎? 3.JAVA中的SPI(Service Provider interface)机制? 4.META-INF目录是干嘛用的? 总结 前言 一、Thymeleaf 1.什么是Thymeleaf? hymeleaf是试用于Web和独立环境的现代服务器端Java模版引擎 目的:…

chatgpt赋能Python-python_lirc

Python-LIRC:让Python与遥控器无缝连接 介绍 Python-LIRC是一个Python语言的模块,它提供了一种接口,用于与Linux Infrared Remote Control(LIRC)系统进行通信。有了Python-LIRC,你可以轻松地将红外线遥控…

重磅!牛客笔试客户端可防ChatGPT作弊

上线俩月,月活过亿。 爆火的ChatGPT能代写文,撕代码,善玩梗,秒答题,几乎“无所不能”,争议也随之而来。 调查显示,截至2023年1月,美国89%的大学生利用ChatGPT应付作业,53…

学生用ChatGPT拿下全班最高分,教授惊呆

【导读】ChatGPT爆火两个月,整个教育系统都被颠覆了。学生用得不亦乐乎,而老师们迫不得已,纷纷打响了ChatGPT反击战。 ChatGPT已经让大学老师们受到惊吓了。 摸出门道的学生们,开始使用ChatGPT生成论文,得到了A的分数…

自然语言处理(NLP)之跳字(元)模型<skip-gram>与连续词袋模型<continuous bag of words>

自然语言处理(Natural Language Processing, NLP)是AI里的一个非常重要的领域,比如现在很火爆的ChatGPT,首先就需要很好的理解输入内容的意思才能够做出合理的回复。 自然语言处理应用非常广泛,比如机器翻译、问题回答、文本语义对比、语音识…

DeepMind:用 GNN 学习通用推理算法

文 | 智商掉了一地 小孩子才做选择,我的模型全!都!要! 近年来,基于深度神经网络的机器学习系统取得了巨大进步,尤其是在以感知为主的任务上。这一领域表现突出的模型通常要在分布中进行泛化,意味…