生信分析Python实战练习 5 | 视频23

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

b35167b6f16049dc134975bb78ee79ba.png

4b4b2c7e81977bb0578d53f1c7f65c1d.png

44600c8e9ae45b419d9cfe981bc5a64a.png

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

d5b502f13bf6da77b28202f77482e969.jpeg

2fefb1690446a6224939289ebe49973d.jpeg

73c39ce74bf1e287b10568aa677529ce.jpeg

d960654b3f55fd15d47622146f57e379.jpeg

e880c6ebc286509360b25d5d1ebd54e7.jpeg

8c28e3f3553edf428f05d7dde1281b69.jpeg

47b90a960a59e4364b881c5f4d023917.jpeg

630348753ff1944b3e84ae128c155346.jpeg

ddea4494e523a45e2b7228234ea48f6a.jpeg

e77d918fe0bb8ee7c228ab0e0a4b4a8e.jpeg

b772136ddd485cca7992eb413668f1e8.jpeg

dd233ff7c6896f7fdc303864b3b6fdaf.jpeg

0e9c36e7fdbfd48e2c88c63f052f6eba.png

9c29a97fb988121472c0d9e5aaa618ad.png

df4a4ac5aa023dc09c82287904c9ec5b.png

25a96ac4bc139d74ecd6f250dd292256.png

6df968e27972e7d6ea6bd0a5ab7c6acc.jpeg

1dd497f9caad8bb177b088cb05ec08fd.jpeg

b420496f67373c04ac5b2b6673147023.jpeg

d693e7788d06d352fbf1c6a8bcc194f6.jpeg

eee607434b09e2dd987d5e023332802e.png

203d7bc5ab9d92dffcbab67d9478b3b3.png

ec22cb0b49642c259ad3ce4d26e65697.jpeg

37d6250537170ac520592409b0f5f6a1.png

d72a5bcd2e37e9f390b7d5f07b13b856.png

1040cdb3687cf856ed4f3f8366ba17b6.jpeg

6d36b284505037059cc63f6e829147f4.png

e7e3ccd9a16a6814019559de6b1ca003.png

机器学习

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

550de487407670a3e6cb614d003d0f1f.jpeg

656f2ce507b994b12a5150fae7fbd6d8.jpeg

2d681adf1abe9589ab8c7ce91bc480ea.png

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

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

相关文章

IP对讲终端SV-6005带一路2×15W或1*30W立体声做广播使用

IP对讲终端SV-6005双按键是一款采用了ARMDSP架构,接收网络音频流,实时解码播放;配置了麦克风输入和扬声器输出,SV-6005带两路寻呼按键,可实现对讲、广播等功能,作为网络数字广播的播放终端,主要…

计算机视觉-YOYO-

目录 计算机视觉-YOYO 目标检测发展历程 区域卷积神经网络(R-CNN) Fast R-CNN Mask R-CNN模型 比如SSD、YOLO(1, 2, 3)、R-FCN 目标检测基础概念 边界框、锚框和交并比 边界框(bounding box) 锚框(Anchor box) 交并比 …

【传输层】TCP -- 三次握手四次挥手 | 可靠性与提高性能策略

超时重传机制连接管理机制三次握手四次挥手滑动窗口拥塞控制延迟应答捎带应答面向字节流粘包问题TCP异常情况TCP小结基于TCP应用层协议理解 listen 的第二个参数 超时重传机制 主机A发送数据给B之后,可能因为网络拥堵等原因,数据无法到达主机B&#xff1…

IDEA使用Docker插件

修改Docker配置 1.执行命令vim /usr/lib/systemd/system/docker.service,在ExecStart配置的后面追加 -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock ExecStart/usr/bin/dockerd -H fd:// --containerd/run/containerd/containerd.sock -H tcp://0.0.0.0:…

如何开立香港银行账户?

作为国际金融中xin,香港拥有众多世界知名的银行机构,提供了丰富的金融服务和产品。那么,开立香港银行账户需要哪些资料?具体流程和时间又是怎样的呢? 一、所需资料 开立香港银行账户所需的基本资料如下: …

国标GB28181视频平台EasyGBS国标平台智能边缘计算网关关于小区电动车进电梯的应用方案设计

一、行业背景 随着人工智能技术的不断成熟与落地,各行各业也逐渐融入AI智能检测技术,尤其是在视频监控领域,通过AI视频智能检测与分析,可以大大提高视频的自动化、智能化监控能力。比如在小区的管理中,由电动车上楼入…

大数据、AI和云原生:引领未来软件开发的技术演进

文章目录 **1. 数据驱动的创新:****2. 智能化应用的兴起:****3. 云原生的敏捷和可扩展性:****4. 实时性和即时性:****5. 数据隐私和安全:****6. 跨平台和跨设备:****7. 自动化和智能编程:****8.…

化繁为简,使用Hibernate Validator实现参数校验(一)

目录 前言 环境配置 导入依赖 基础校验 校验注解 参数绑定 PathVariable RequestParam RequestBody Validated Valid 单参校验 对象校验 分组校验 顺序校验 前言 在之前的悦享校园的开发中使用了SSM框架,由于当时并没有使用参数参数校验工具&#xf…

【核磁共振成像】观共享重建

目录 一、K空间关键孔技术-数据采集二、BRISK技术三、TRICKS技术四、实时成像和滑动窗重建五、心电触发电影(CINE)采集六、分段心脏采集和观共享 一、K空间关键孔技术-数据采集 对于笛卡尔K空间,一个相位编码行有时称为一个K空间观。一般情况下,每帧图像…

Java异常(Error与Exception)与常见异常处理——第八讲

前言 前面我们讲解了Java的基础语法以及面向对象的思想,相信大家已经基本掌握了Java的基本编程。在之前代码中,我们也看到代码写错了编译器会提示报错,或者编译器没有提示,但是运行的时候报错了,比如前面的数组查询下标超过数组的长度。所以在使用计算机语言进行项目开发的…

电脑前置耳机没声音怎么办

有很多小伙伴反映在将自己的耳机连接到主机前面时没有声音,这是怎么回事呢,遇到这种情况应该怎么解决呢,下面小编就给大家详细介绍一下电脑前置耳机没声音的解决方法,有需要的小伙伴可以来看一看电脑前面耳机没声音。 解决方法&a…

一图胜千言!数据可视化多维讲解(Python)

数据聚合、汇总和可视化是支撑数据分析领域的三大支柱。长久以来,数据可视化都是一个强有力的工具,被业界广泛使用,却受限于 2 维。在本文中,作者将探索一些有效的多维数据可视化策略(范围从 1 维到 6 维)。…

面试题 ⑤

1、TCP与UDP的区别 UDPTCP是否连接无连接,即刻传输面向连接,三次握手是否可靠不可靠传输,网络波动拥堵也不会减缓传输可靠传输,使用流量控制和拥塞控制连接对象个数支持一对一,一对多,多对一和多对多交互通…

[Spring Boot] 开发时可以运行,但Maven打包后,无法运行

问题:开发过程中一切正常,但在打包后,使用java -jar运行jar包时报错 Exception in thread "main" java.lang.UnsupportedClassVersionError: org/springframework/boot/loader/JarLauncher has been compiled by a more recent ver…

layui--记录

layui 行点击事件&#xff1a;点了没反应&#xff1f; //监听行工具事件layui.table.on(tool(demo), function (obj) {//alert(222) });原因&#xff1a;检查下id与lay-filter是否一致&#xff1b;id与lay-filter必须一致。 <table id"demo" lay-filter"dem…

CNN 01(CNN简介)

一、卷积神经网络的发展 convolutional neural network 在计算机视觉领域&#xff0c;通常要做的就是指用机器程序替代人眼对目标图像进行识别等。那么神经网络也好还是卷积神经网络其实都是上个世纪就有的算法&#xff0c;只是近些年来电脑的计算能力已非当年的那种计算水平…

hadoop学习:mapreduce的wordcount时候,继承mapper没有对应的mapreduce的包

踩坑描述&#xff1a;在学习 hadoop 的时候使用hadoop 下的 mapreduce&#xff0c;却发现没有 mapreduce。 第一反应就是去看看 maven 的路径对不对 settings——》搜索框搜索 maven 检查一下 Maven 路径对不对 OK 这里是对的 那么是不是依赖下载失败导致 mapreduce 没下下…

【数据结构-栈】栈基础

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kuan 的首页,持续学…

WEBGL(5):绘制线

1 实现代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-width, …

springboot web开发登录拦截器

在SpringBoot中我们可以使用HandlerInterceptorAdapter这个适配器来实现自己的拦截器。这样就可以拦截所有的请求并做相应的处理。 应用场景 日志记录&#xff0c;可以记录请求信息的日志&#xff0c;以便进行信息监控、信息统计等。权限检查&#xff1a;如登陆检测&#xff…