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

news/2024/11/7 5:36:02/

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

faa81420140372b899ee3771fbc3ba7e.png

0f54e767416c6d50e7e9533dcc61c8bb.png

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

9c1615492f5ef03c5cfc01204c82ef0e.jpeg

00a561d526a6652363e3988b6e97db43.jpeg

f8f7afc7d40dab345dd620ee8792d6f0.jpeg

6432f44aa716471ca66af47fc602d38f.jpeg

ea68fdeb19a89ea4b9aaa8a1354fe49f.jpeg

37395f1fc94a99514f6bc63265d05f8a.jpeg

0860a0a02c6568b9df5c3728afa606d5.jpeg

e9683ea2fbadd6855d4796f3444b0943.jpeg

af0ca7a3745489adda3d8b0e81b9132d.jpeg

70babbe2ef763ad290587e4586284d0f.jpeg

67a8e270f0c06b4f5d562b9cdfe4a643.jpeg

085f7438df0e093317920b499d0c898d.jpeg

ecaac38d07925d4544d569b85972ca6d.png

e9438af38a204b638a15d940770341e6.png

ef33e3faa198b3efaf676e2ad7bfff14.png

41481d47d66720886f9d7bd08058e446.png

205e36aa52e4e8e3f9645061fdc303bb.jpeg

3d17ad509231e9b43f4cad4f75c69651.jpeg

d5666b89b873f69036e012b9c16a65f5.jpeg

e0f980df5fdd7232f0e5bec5df217d1e.jpeg

3e062b5c6900fd213dfc4ace1b33821e.png

7658a30a1f079d2b8e424de221d36d54.png

467077cbfc386e542a6ffea9c701aa04.jpeg

6cfc6a314b643a1bf8f9f7168cad643a.png

aa02e0e9b416958dd8120f8770c11d6f.png

54c53f8c414dd7bd721fd63fadf2abf9.jpeg

85c39d20c285de68fbc79fe3680c6372.png

caf8e49e37da301dafb64f22f695ed40.png

机器学习

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

8cbc038a6c3f43701c692bca67ee45de.jpeg

ea5b3e4a208b0821d4a512288d595d0a.jpeg

4227dc3d361cf8d85b69816b98c37733.png


http://www.ppmy.cn/news/358951.html

相关文章

记录--详解 XSS(跨站脚本攻击)

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前言:我们知道同源策略可以隔离各个站点之间的 DOM 交互、页面数据和网络通信,虽然严格的同源策略会带来更多的安全,但是也束缚了 Web。这就需要在安全和自由之间找…

【LeetCode热题100】打卡第20天:合并区间不同路径

文章目录 【LeetCode热题100】打卡第20天:合并区间&不同路径⛅前言 合并区间🔒题目🔑题解 不同路径🔒题目🔑题解 【LeetCode热题100】打卡第20天:合并区间&不同路径 ⛅前言 大家好,我是…

flash下载地址

呵呵,需要下载flash插件,在那里下载呢? http://get.adobe.com/cn/flashplayer/?promoidBUIGP 记录下。。。。。

Adobe Flash Player历史版本下载

在Citrix的测试过程中,经常会遇到HDX mediastream For Flash的问题,很多可能都是和Flash Player的版本有问题,而默认情况下Adobe公司都是提供最新版本的Flash Player版本下载,而网上一下下载站提供的版本也都会随时更新&#xff0…

解决,固件库下载地址Error: Flash Download failed - “Cortex-M4“

图片所在地址:https://www.keil.com/dd2/pack/#!#eula-container JFLASH下载地址:https://www.segger.com/products/production/flasher/tools/j-flash-spi/ 解决BUG方法: 1.点击魔术棒 2.点击Debug中的Settings 3.点击Flash Download 添加…

kflash下载地址分享

下载站 - Sipeedhttps://dl.sipeed.com/MAIX/tools/kflash_gui/kflash_gui_v1.6.5

x264下载安装

linux版: 下载x264源码 git clone https://github.com/mirror/x264.git 下载完成后将其存放在/usr/local/src/,也可以存放在你喜欢的目录,只要你喜欢就好,至于为什么推荐使用/usr/local/src/需要百度一下linux系统目录结构。 创建安装目录 …

Flash Builder 4.7 正式版下载、破解

Flash Builder 4.7 正式版下载、破解 具体步骤如下: 1.到Adobe官网下载FlashBuilder4.7,有简体中文版; 32bit:http://trials3.adobe.com/AdobeProducts/FLBR/4_7/win32/FlashBuilder_4_7_LS10.exe 64bit:http://trials…