to_fasta.py 文件源码

python
阅读 15 收藏 0 点赞 0 评论 0

项目:metlab 作者: norling 项目源码 文件源码
def to_fasta(filename, outfile = None):

    try:
        file_in = gzip.open(filename) if filename.endswith(".gz") else open(filename)
    except Exception as e:
        sys.stderr.write("ERROR: Couldn't open input file %s\n" % filename)
        sys.stderr.write(str(e) + "\n")
        sys.exit(1)

    ext = filename.rstrip('.gz').split('.')[-1]
    ext = "fastq" if ext in ["fq"] else ext

    if not outfile:
        outfile = filename.split("/")[-1].rstrip('.gz')
        outfile = ".".join( outfile.split(".")[:-1] ) + ".fasta"
        outfile += ".gz" if filename.endswith(".gz") else ""
    file_out = gzip.open(outfile, "w") if outfile.endswith(".gz") else open(outfile, "w")

    print "%s -> %s" % (filename, outfile)
    try:
        for record in SeqIO.parse(file_in, ext):
            SeqIO.write(record, file_out, "fasta")
    except Exception as e:
        sys.stderr.write(str(e) + "\n")
        os.remove(outfile)
        sys.exit(1)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号