课程大纲
COURSE SYLLABUS
1.
课程代码
/
名称
Course Code/Title
生物医学 python 编程入门 Basic python programming for biomedical research
2.
课程性质
Compulsory/Elective
专业选修 Elective
3.
课程学分
/
学时
Course Credit/Hours
3
4.
授课语言
Teaching Language
中英双语 English & Chinese
5.
授课教师
Instructor(s)
田瑞琳 TIAN Ruilin
6.
是否面向本科生开放
Open to undergraduates
or not
Yes
7.
先修要求
Pre-requisites
BIO103 生物学原理 Principles of Biology
8.
教学目标
Course Objectives
1. 掌握 python 编程的基本原理和语法
2. 能够使用 python 读写文件,编写简单的程序
3. 熟悉生物医学数据分析常用 python 包,包括 Numpy, Scipy, Biopython, Pandas
4. 能够使用 Matplotlib Seaborn 等数据可视化工具
1. Understand the basic principles and syntax of python programming
2. Be able to read and write files and write simple programs using python
3. Familiar with the python packages commonly used in biomedical data analysis, including Numpy, Scipy,
Biopython, Pandas, etc
4. Be able to use data visualization tools such as Matplotlib and Seaborn
9.
教学方法
Teaching Methods
理论课结合实际操作
Lecture and practice
10.
教学内容
Course Contents
(如面向本科生开放,请注明区分内容。 If the course is open to undergraduates, please indicate the
difference.)
Section 1
1. 绪论 3 学时)
1.1 编程在生物医学中的应用
1.2 Python 简介
1.3 课程介绍
1.4 实际操作:python 安装及 jupyter notebook 编程环境安装
1. Introduction (3 hours)
1.1 The application of programming in biomedical science
1.2 Introduction to Python
1.3 Introduction to the course
1.4 Practice: python installation and jupyter notebook programming environment
installation
Section 2
2. Python 语法基础 3 学时)
2.1 Python 中的变量和变量类型
2.2 Python 中的标识符
2.3 Python 中的关键字
2.4 Python 中的运算符
2.5 Python 中的字符串
2.5 实际操作
2. Python Basic Syntax (3 hours)
2.1 Variables
2.2 Identifiers
2.3 Keywords
2.4 Operators
2.5 Strings
2.5 Practice
Section 3
3. Python 常用语句 3 学时)
3.1 判断语句
3.2 循环语句
3.3 breakcontinuepass else 语句
3.4 实际操作
3. Python Statements (3 hours)
3.1 Conditional statements
3.2 Loop statements
3.3 break, continue, pass, and else statements
3.4 Practice
Section 4
4. Python 中的数据结构 3 学时)
4.1 列表,元组和字典介绍
4.2 不同数据结构的遍历、添加、查找、排序等常见操作
4.3 实际操作
4. Data Structure in Python (3 hours)
4.1 List, tuple, and dictionary
4.2 Common operations of different data structures
4.3 Practice
Section 5
5. 函数 3 学时)
5.1 函数的定义和调用
5.2 函数的参数和返回值
5.3 局部变量和全局变量
5.4 递归函数与匿名函数
5.5 实际操作
5. Functions (3 hours)
5.1 Definition
5.2 Parameters and return values
5.3 Local and global variables
5.4 Recursive functions and anonymous functions
5.5 Practice
Section 6
6. 文件操作 3 学时)
6.1 文件的打开和关闭
6.2 文件的读写等操作
6.3 实际操作
6. File operation (3 hours)
6.1 Open and close files
6.2 File operations
6.3 Practice
Section 7
7. Python 模块与包 3 学时)
7.1 模块的使用和制作
7.2 Python 中包的使用和安装
7.3 实际操作
7. Python modules and packages (3 hours)
7.1 Python modules
7.2 Use and installation of Python packages
7.3 Practice
Section 8
8Python 面向对象编程 3 学时)
8.1 面向对象编程思想
8.2 使用类创建对象,并添加属性
8.3 实际操作
8 Python Object-oriented programming (3 hours)
8.1 Object-oriented programming basics
8.2 Creating classes
8.3 Practice
Section 9
9. Python 数据分析和可视化 (一) 3 学时)
9.1 利用 NumPy, Scipy 进行简单生物统计学分析
9.2 Matplotlib Seaborn 绘图
9.3 实际操作
9. Python Data Analysis and Visualization (i) (3 hours)
9.1 Simple biostatical analysis using NumPy, Scipy
9.2 Matplotlib and Seaborn plotting
9.3 Practice
Section 10
10. Python 数据分析和可视化 (二) 3 学时)
10.1 Pandas 数据读取
10.2 Pandas 数据操作
10.3 实际操作
10. Python Data Analysis and Visualization (II) (3 hours)
10.1 Use Pandas to load data
10.2 Pandas data operations
10.3 Practice
Section 11
11. Python 数据分析和可视化 (三) 3 学时)
11.1 聚类
11.2 基因表达数据分析和可视化
11.3 实际操作
11. Python data analysis and visualization (iii) (3 hours)
11.1 Clustering
11.2 Analysis and visualization of gene expression data
11.3 Practice
Section 12
12.生物序列数据分析 3 学时)
12.1 使用 BioPython 读取和处理生物序列数据
12.2 序列比对
12.3 实际操作
12. Sequence data analysis (3 hours)
12.1 Use BioPython to read and process Sequence data
12.2 Sequence alignment
12.3 Practice
Section 13
13. 生物图像处理 3 学时)
13.1 生物图像类型
13.2 生物图像处理基本原理
13.3 Python 图像工具集 scikit-image 使用
13.4 实际操作
13. Bio-image processing (3 hours)
13.1 Type of biological images
13.2 Basic principles of bio-image processing
13.3 Python image tools: scikit-image
13.4 Practice
Section 14
14. 机器学习 3 学时)
14.1 机器学习简介
14.2 k-nearest neighbors
14.3 Self-organizing maps
14.4 Support vector machines
14.5 实际操作
14. Machine learning (3 hours)
14.1 Introduction to Machine Learning
14.2 k-nearest neighbors
14.3 Self-organizing maps
14.4 Support vector machines
14.5 Practice
Section 15
15. 单细胞组学数据分析(一) 3 学时)
15.1 单细胞组学介绍
15.2 Scanpy 单细胞数据分析(上)
15.3 实际操作
15. Single-cell data analysis (i) (3 hours)
15.1 Introduction to single-cell sequencing
15.2 Scanpy Single Cell Data Analysis (1)
15.3 Practice
Section 16
16. 单细胞组学数据分析(二) 3 学时)
16.1 Scanpy 单细胞数据分析(下)
16.2 实际操作
16. Single-cell data analysis (ii) (3 hours)
16.1 Scanpy Single Cell Data Analysis (2)
16.2 Practice
11.
课程考核
Course Assessment
十三级等级制
Letter Grading
出勤
Attendance: 20%
课堂表现
Class Performance: 20%
平时作业
Assignments: 20%
期末大作业
Projects: 40%
12.
教材及其它参考资料
Textbook and Supplementary Readings
1. Python Programming for Biology (Bioinformatics and Beyond) 1st Edition, Tim J. Stevens, 2015
2. Python 生物信息学数据管理 [Managing Your Biological Data with Python], [] AllegraVia[阿莱格拉,维亚]
著,卢宏超 , 2017