根据Fasta标头重命名文件

时间:2018-07-05 13:24:14

标签: python file-rename fasta

我已经从NCBI下载了240个基因组,下载后,它们会根据程序集编号获得文件名。我想根据文件名而不是程序集名来重命名文件,因为这将使数据解释变得更加容易。

我知道一些(很少)python,但我确实无法解决这个问题。

所以我想做的是编写一个循环,该循环进入我文件夹中的每个文件,并根据fasta头重写文件名

文件名示例:GCF_000014225.1_ASM1422v1_genomic.fna

fasta标头示例:> NC_008228.1大西洋假单胞菌T6c,完整基因组

如果我可以取消NC_008228.1并且完整的基因组,显然我会很高兴,但是只要将fasta标头作为文件名就可以使我的生活变得更加轻松(替代方法是手动完成...但是我知道它可以完成一些编码)

非常感谢您!

1 个答案:

答案 0 :(得分:0)

使用sys可能是可行的,但我认为bash是解决您问题的更好方法。像这样:

for file in /dir/*; do
header=$(cat $file | egrep ">.*\w([a-zA-z]\w[a-zA-z])\w.*)")
mv $file $header.fa
done