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

Posted caicai2019

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

 

以上是关于python学习——读取染色体长度(七:读取fasta文件)的主要内容,如果未能解决你的问题,请参考以下文章

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

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

Python学习笔记六:文件处理

SpringCloud学习成长之路七 高可用配置中心

用于读取可变参数长度的 Python C 包装器

python cookbook第三版学习笔记七:python解析csv,json,xml文件