两个FASTA文件的合并 python

两个FASTA文件的合并 python,第1张

Python编程将两个文件合并辩戚,代码如下:

//例子:合并a.txt和b.txt文件

def readf(filename):

    lines = file(filename).readlines()

    dic = {}

    for i in lines:

        i_ = i.split()

        dic[i_[0]] 则灶空= int(i_[1])

    return dic

 孙瞎

dica = readf('a.txt')

dicb = readf('b.txt')

 

lines = []

for i in dica:

    percent = str(float(dicb[i])*100/dica[i])+'%'

    s = ' '.join([i, str(dica[i]), str(dicb[i]), percent])

    s += '\n'

    lines.append(s)

//合并成c.txt 

with open('c.txt', 'w') as f:

    f.writelines(lines)

    f.close()

假如我们有如下FASTA格式的文件,我们想把多行序列合并腊伏为一行,怎么纤型做?

欢迎来到Python的世界,领悟Python的魅力。本教程参考Python经典教程A bytePython和陈同的Python_ training教程常用功能和使用方式,本文在这里特毁局猜此感谢。

>NM_001011874 gene=Xkr4 CDS=151一2091

GCGGCGGCGGGCGAGCGGGCGCGGGAGGAGGAGCGGGGGAGCGGCGCGGCCGGGGAAGGAAGCCAGGGCGAGGCGAGGAGGTGGCGGGAGGAGGAGACAGCAGGGACAGGTGTCAGATAAAGGAGTGCTCTCCTCCGCTGCCGAGGCATCATGGCCGCTAAGTCAGACGGGAGGCTGAAGATGAAGAAGAGCAGCGACGTGGCGTTCACCCCGCTGCAGAACTCGGACAATTCGGGCTCTGTGCAAGGACTGGCTCCAGGCTTGCCGTCGGGGTCCGGAG

>NM_001195662 gene=Rp1 CDS=55一909

AAGCTCAGCCTTTGCTCAGATTCTCCTCTTGATGAAACAAAGGGATTTCTGCACATGCTTGAGAAATTGCAGGTCTCACCCAAAATGAGTGACACACCTTCTACTAGTTTCTCCATGATTCATCTGACTTCTGAAGGTCAAGTTCCTTCCCCTCGCCATTCAAATATCACTCATCCTGTAGTGGCTAAACGCATCAGTTTCTATAAGAGTGGAGACCCACAGTTTGGCGGCGTTCGGGTGGTGGTCAACCCTCGTTCCTTTAAGACTTTTGACGCTCTGCTGGACAGTTTATCCAGGAAGGTACCCCTGCCCTTTGGGGTAAGGAACATCAGCACGCCCCGTGGACGACACAGCATCACCAGGCTGGAGGAGCTAGAGGACGGCAAGTCTTATGTGTGCTCCCACAATAAGAAGGTGCTG

>NM_011283 gene=Rp1 CDS=128一6412

AATAAATCCAAAGACATTTGTTTACGTGAAACAAGCAGGTTGCATATCCAGTGACGTTTATACAGACCACACAAACTATTTACTCTTTTCTTCGTAAGGAAAGGTTCAACTTCTGGTCTCACCCAAAATGAGTGACACACCTTCTACTAGTTTCTCCATGATTCATCTGACTTCTGAAGGTCAAGTTCCTTCCCCTCGCCATTCAAATATCACTCATCCTGTAGTGGCTAAACGCATCAGTTTCTATAAGAGTGGAGACCCACAGTTTGGCGGCGTTCGGGTGGTGGTCAACCCTCGTTCCTTTAAGACTTTTGACGCTCTGCTGGACAGTTTATCCAGGAAGGTACCCCTGCCCTTTGGGGTAAGGAACATCAGCACGCCCCGTGGACGACACAGCATCACCAGGCTGGAGGAGCTAGAGGACGGCAAGTCTTATGTGTGCTCCCACAATAAGAAGGTGCTGCCAGTTGACCTGGACAAGGCCCGCAGGCGCCCTCGGCCCTGGCTGAGTAGTCGCTCCATAAGCACGCATGTGCAGCTCTGTCCTGCAACTGCCAATATGTCCACCATGGCACCTGGCATGCTCCGTGCCCCAAGGAGGCTCGTGGTCTTCCGGAATGGTGACCCGAA

>NM_0112835 gene=Rp1 CDS=128一6412

AATAAATCCAAAGACATTTGTTTACGTGAAACAAGCAGGTTGCATATCCAGTGACGTTTATACAGACCACACAAACTATTTACTCTTTTCTTCGTAAGGAAAGGTTCAACTTCTGGTCTCACCCAAAATGAGTGACACACCTTCTACTAGTTTCTCCATGATTCATCTGACTTCTGAAGGTCAAGTTCCTTCCCCTCGCCATTCAAATATCACTCATCCTGTAGTGGCTAAACGCATCAGTTTCTATAAGAGTGGAGACCCACAGTTTGGCGGCGTTCGGGTGGTGGTCAACCCTCGTTCCTTTAAGACTTTTGACGCTCTGCTGGACAGTTTATCCAGGAAGGTACCCCTGCCCTTTGGGGTAAGGAACATCAGCACGCCCCGTGGACGACACAGCATCACCAGGCTGGAGGAGCTAGAGGACGGCAAGTCTTATGTGTGCTCCCACAATAAGAAGGTGCTGCCAGTTGACCTGGACAAGGCCCGCAGGCGCCCTCGGCCCTGGCTGAGTAGTCGCTCCATAAGCACGCATGTGCAGCTCTGTCCTGCAACTGCCAATA

最终处理结果应该是如下图所示,使序列单独成一行

import os

dir_name = "c:\somefolder"

file_list = [f_name for f_name in os.listdir(dir_name) if os.path.isfile(f_name) and f_name.endswith('.fasta'虚羡)]

combine_file_name = "combine.txt"

f_combine = open(combine_file_name,"岩核w")

for f_in_name in file_list:

f = open(f_in_name,'r'粗誉掘)

for line in f.readlines():

f_combine.write(line)

f.close()

f_combine.close()


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12248939.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-22
下一篇 2023-05-22

发表评论

登录后才能评论

评论列表(0条)

保存