python学习——读取染色体长度(七:读取fasta文件)

读取fasta文件genome_test.fa,并计算染色体总长,同时输出最长染色体编号、序列以及长度

fasta文件genom_test.fa的内容如下:

>chr1
ATATATATAT
>chr2
ATATATATATCGCGCGCGCG
>chr3
ATATATATATCGCGCGCGCGATATATATAT
>chr4
ATATATATATCGCGCGCGCGATATATATATCGCGCGCGCG
>chr5
ATATATATATCGCGCGCGCGATATATATATCGCGCGCGCGATATATATAT

python脚本

 1 #传递命令行参数
 2 import sys # 导入模块
 3
 4 # 从命令行获取文件名称
 5 f_fasta = sys.argv[1]
 6
 7 # 打开文件 open(‘文件路径‘)
 8 f = open(f_fasta)
 9
10 # 逐行读取
11 total_len = 0
12 max_chr = ‘‘
13 max_seq = ‘‘
14 max_len = 0
15 # 求总长并输出最长染色体编号、序列以及长度
16 lines = f.readlines() # 是一个列表
17 for line in lines:
18     #去掉行尾的换行符
19     line = line.strip()
20     if (line.startswith(">")):
21         chr = line
22     else:
23         chr_len = len(line)
24         chr_seq = line
25         max_chr = chr
26         max_seq = chr_seq
27         max_len = chr_len
28         total_len += len(line)
29
30 # 输出结果
31 print("total_len = " + str(total_len))
32 print("max_chr = " + max_chr)
33 print("max_seq = " + max_seq)
34 print("max_len = " + str(max_len))

cmd命令行输入

E:\15_python\DEBUG>python fasta_stat6.py genome_test.fa

原文地址:https://www.cnblogs.com/caicai2019/p/10791933.html

时间: 2024-11-07 14:03:02

python学习——读取染色体长度(七:读取fasta文件)的相关文章

python学习——通过命令行参数根据fasta文件中染色体id提取染色体序列

提取fasta文件genome_test.fa中第14号染色体的序列,其内容如下: >chr1 ATATATATAT >chr2 ATATATATATCGCGCGCGCG >chr3 ATATATATATCGCGCGCGCGATATATATAT >chr4 ATATATATATCGCGCGCGCGATATATATATCGCGCGCGCG >chr5 ATATATATATCGCGCGCGCGATATATATATCGCGCGCGCGATATATATAT >chr6 ATCG

转载-python学习笔记之输入输出功能读取和写入数据

读取.写入和 Python 在 “探索 Python” 系列以前的文章中,学习了基本的 Python 数据类型和一些容器数据类型,例如tuple.string 和 list.其他文章讨论了 Python 语言的条件和循环特性,以及它们如何与容器数据类型进行协作来简化编程任务.编写程序的最后一个基本步骤就是从文件读取数据和把数据写入文件.阅读完这篇文章之后,可以在自己的 to-do 列表中加上检验这个技能学习效果的任务. 简单输出 贯穿整个系列,一直用 print 语句写入(输出)数据,它默认把表

鸟哥的Linux私房菜_基础版_学习笔记3:第七章 Linux文件与目录管理

第七章 Linux文件与目录管理 7.1目录与路径: 7.1.1相对路径与绝对路径: 绝对路径:路径的写法『一定由根目录 / 写起』,例如: /usr/share/doc 这个目录. 相对路径:路径的写法『不是由 / 写起』,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成:『cd ../man』这就是相对路径的写法啦!相对路径意指『相对於目前工作目录的路径!』 7.1.2目录的相关操作: . 代表此层目录 .. 代表上一层目录 - 代表前一个工作目录

python学习——读取染色体长度(二、向前一步:通过染色体序列获得长度信息)

# 读取fasta # 解析每条序列的长度 chr1_seq = 'ATATATATAT' chr2_seq = 'ATATATATATCGCGCGCGCG' chr3_seq = 'ATATATATATCGCGCGCGCGATATATATAT' chr4_seq = 'ATATATATATCGCGCGCGCGATATATATATCGCGCGCGCG' chr5_seq = 'ATATATATATCGCGCGCGCGATATATATATCGCGCGCGCGATATATATAT' # 求和 tot

python学习——读取染色体长度(四:获取最长染色体的编号)

# 读取fasta # 解析每条序列的长度 chr_len = {'chr1':10,'chr2':20,'chr3':30,'chr4':40,'chr5':15} # 求和 total_len = sum(chr_len.values()) # 求最长染色体编号 max_chr ='' max_len = 0 for [chr,len] in chr_len.items(): if len > max_len: print('current chr > max chr') max_chr

python学习——读取染色体长度(三、用循环或者函数求总长并获取最长染色体长度)

# 读取fasta # 解析每条序列的长度 chr_len = [10,20,30,40,50] # 求和 # 方法一:通过循环 total_len = 0 #定义total_len的初始长度 for len in chr_len: # 从列表chr_len中每次取一个值交给len total_len += len # 或者total_len = total_len + len # 方法二:通过函数sum() total_len = sum(chr_len) # 求最长染色体编号 max_len

王亟亟的Python学习之路(七)-date,continue,迭代对象,生成器

转载请注明出处:王亟亟的大牛之路 大多数的语言都提供了时间操作的相应类,诸如java的java.util.Date,java.util.Calendar等等, Python中是time 和 calendar . 首先需要导包import time; 然后就可以使用了,mTime= time.time()那结果呢? 1448004021.1337154 (而且这个数字还继续在变) WHY? 用ticks计时单位返回从12:00am, January 1, 1970(epoch) 开始的记录的当前操

python学习之路(七)

今天更新一下有关于函数的知识点~ 函数是什么? 函数一词来源于数学,但编程中的「函数」概念,与数学中的函数是有很大不同的,具体区别,编程中的函数在英文中也有很多不同的叫法.在BASIC中叫做subroutine(子过程或子程序),在Pascal中叫做procedure(过程)和function,在C中只有function,在Java里面叫做method. 函数分为面向对象,面向过程和函数式编程. 定义: 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即

python学习笔记:第七天(函数)

Python3 函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率. 与C一样,Python提供了许多内建函数,比如print().同时也可以自己创建函数,这被叫做用户自定义函数. 1.定义一个函数 你可以定义一个由自己想要功能的函数,以下是简单的规则: 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 (). 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数. 函数的第一行语句可以选择性地使用文档字