顺序的fqlist拆解成sample fqsize fq格式 ,涉及正则取样本名
# -*- coding: utf-8 -*-
# @Time : 2022/1/20 下午10:10
# @Author : lizhichao
# @Email : 13652030758@163.com
# @File : sample_fqsize_fq.py
# @Software: PyCharm
import os,sys,re
def fqlist_new_fqsize(rawfqlist,output):
p=re.compile('\S+\/(CK.*)\/\S+\/(\S+\.fq.gz)')
with open(rawfqlist,"r") as raw,open(output,"w") as pu:
content="Sample,FQ SIZE,FQ PATH\n"
sample="CK28904380"
fqcontent=""
fqsize=0
for line in raw:
linepath=line.strip()
if p.search(linepath):
if str(p.search(linepath).group(1)) !=sample and fqsize>0:
content += "%s,%s%s\n" % (sample, round(fqsize, 2), fqcontent)
fqsize = 0
fqcontent = ""
sample=str(p.search(linepath).group(1))
fqcontent += ",%s" %linepath
fqsize += (os.path.getsize(linepath)) / float(1024 * 1024 * 1024.0)
else:
print ("line not normal:%s"%line)
content += "%s,%s%s\n" % (sample, round(fqsize, 2), fqcontent)
pu.write(content)
if __name__=="__main__":
rawfqlist=sys.argv[1]
output=sys.argv[2]
fqlist_new_fqsize(rawfqlist,output)
本文来自博客园,作者:BioinformaticsMaster,转载请注明原文链接:https://www.cnblogs.com/koujiaodahan/p/15878471.html
分类:
python
posted on 2022-02-10 11:49 BioinformaticsMaster 阅读(29) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2018-02-10 coursera 有比较丰富的生物信息等课程 win7 访问设置