NCBI下载的数据的文件名都是以SRR1234_1.fastq.gz的形式呈现,在后续分析过程中识别度差,我是个python的初学者,尝试自己编写了一个python脚本,可以批量修改SRRid,给刚入门生物信息学的同学们参考。
import os
import sys
# 从命令行参数中获取映射文件名
if len(sys.argv) != 2:
print("Usage: python rename_fastq2id.py <mapping_file>")
exit(1)
mapping_file = sys.argv[1]
# 从文件中读取映射关系
name_map = {}
with open(mapping_file) as f:
for line in f:
id, name = line.strip().split("\t")
name_map[id] = name
# 遍历当前目录下所有fastq.gz文件
for file in os.listdir("."):
if file.endswith(".fastq.gz"):
# 提取文件名中的ID部分
id = file.split("_")[0]
# 获取新的文件名
new_name = name_map.get(id, id) + "_" + "_".join(file.split("_")[1:])
# 执行重命名操作
os.rename(file, new_name)
print(f"Renaming {file} to {new_name}")
这个脚本要求构建一个原文件id和新id对应的输入文件