• python 中 实现将fasta文件碱基按照每行指定数目输出


    001、

    (base) root@PC1:/home/test2# ls
    a.fasta  test.py
    (base) root@PC1:/home/test2# cat a.fasta                      ## 测试数据
    >scaffold_1
    CCCGGGTAAAACGGGTCTTCAAGAAAACGCTCCTCCGTTAATGCCGGCCGATTCAAATAA
    CGCTGATTCTGATTCAGGATATACAATCTGACATGATGAACAGGTTTTCCAATTGGAATC
    >scaffold_2
    CACGCCGCCAGCGTTCGTCCTGAGCCAGGATCAAACTCTCCGATAAATGGATCACAGGTT
    AAGTTCACCGCATCCTGCGGCGACACCTGTGTGGCCTGCGTCGTGCAGGCCCTAGTTTGA
    CTGACTACGCACATCGCTGTGCGATTTATAAAAATGAATTAACAGGTACGTTTTGTCTTG
    >scaffold_3
    TTGATCCAGTGGCTCCGGTTACTCCAGTTGATCCTGTTGCGCCTGTTGCTCCAGTTTCTC
    CGGTTGGTCCGGTTGATCCGGTTGCA
    >scaffold_4
    CCTGAGCCAGGATCAAACTCTCCGATAAATGGATCACAGGTTAAGTTCACCGCATCCTGC
    GGCGACACCTGTGAGGTACGTTTTGTCTTGT
    (base) root@PC1:/home/test2# cat test.py                      ## 测试脚本
    #!/usr/bin/python
    in_file = open("a.fasta", "r")
    out_file = open("result.txt", "w")
    dict1 = dict()
    
    for i in in_file:
        i = i.strip()
        if i[0] == ">":
            key = i
            dict1[key] = ""
        else:
            dict1[key] += i
    
    step = 40                                                      ## 此处指定每行的碱基数目
    for i,j in dict1.items():
        out_file.write(i + "\n")
        while len(j) > step:
            out_file.write(j[:step] + "\n")
            j = j[step:]
        out_file.write(j[::] + "\n")
    
    in_file.close()
    out_file.close()
    (base) root@PC1:/home/test2# python test.py                   ## 执行程序
    (base) root@PC1:/home/test2# ls
    a.fasta  result.txt  test.py
    (base) root@PC1:/home/test2# cat result.txt                   ## 查看结果
    >scaffold_1
    CCCGGGTAAAACGGGTCTTCAAGAAAACGCTCCTCCGTTA
    ATGCCGGCCGATTCAAATAACGCTGATTCTGATTCAGGAT
    ATACAATCTGACATGATGAACAGGTTTTCCAATTGGAATC
    >scaffold_2
    CACGCCGCCAGCGTTCGTCCTGAGCCAGGATCAAACTCTC
    CGATAAATGGATCACAGGTTAAGTTCACCGCATCCTGCGG
    CGACACCTGTGTGGCCTGCGTCGTGCAGGCCCTAGTTTGA
    CTGACTACGCACATCGCTGTGCGATTTATAAAAATGAATT
    AACAGGTACGTTTTGTCTTG
    >scaffold_3
    TTGATCCAGTGGCTCCGGTTACTCCAGTTGATCCTGTTGC
    GCCTGTTGCTCCAGTTTCTCCGGTTGGTCCGGTTGATCCG
    GTTGCA
    >scaffold_4
    CCTGAGCCAGGATCAAACTCTCCGATAAATGGATCACAGG
    TTAAGTTCACCGCATCCTGCGGCGACACCTGTGAGGTACG
    TTTTGTCTTGT

    参考:https://mp.weixin.qq.com/s?__biz=MzIxNzc1Mzk3NQ==&mid=2247491492&idx=1&sn=d9bfd396369b802700ef764d8174669d&chksm=97f5afbca08226aa255d2ee747a179a1e13e9160baf87b4186f871e396e8b86c826a5ca51ef4&scene=178&cur_album_id=2403674812188688386#rd

  • 相关阅读:
    SQL Server数据查询之使用TSQL查询数据
    SQL Server数据查询之聚合函数与分组查询
    服务器配置—开网站空间
    什么是子域名、二级域名、次级域名?
    【转】关于Infragistics.WebUI.UltraWebGrid的使用
    SqlBulkCopy批量赋值数据
    在 ASP.NET MVC 中创建自定义 HtmlHelper
    asp.net web.config加密和解密
    ASP.NET程序中常用的三十一种代码
    ASP.NET MVC3 实现多语言介绍
  • 原文地址:https://www.cnblogs.com/liujiaxin2018/p/16565617.html
Copyright © 2020-2023  润新知