• 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_pythonDEBUG>python fasta_stat6.py genome_test.fa
  • 相关阅读:
    c_水程序
    Arlenmbx!!!!
    java
    c语言随机函数&&时间函数
    2016省赛总结
    666
    【UOJ#389】【UNR#3】白鸽(欧拉回路,费用流)
    【洛谷P3756】[CQOI2017]老C的方块(最小割)
    CF704D Captain America(上下界网络流)
    AtCoder Regular Contest 097
  • 原文地址:https://www.cnblogs.com/caicai2019/p/10791933.html
Copyright © 2020-2023  润新知