我已经从NCBI下载了240个基因组,下载后,它们会根据程序集编号获得文件名。我想根据文件名而不是程序集名来重命名文件,因为这将使数据解释变得更加容易。
我知道一些(很少)python,但我确实无法解决这个问题。
所以我想做的是编写一个循环,该循环进入我文件夹中的每个文件,并根据fasta头重写文件名
文件名示例:GCF_000014225.1_ASM1422v1_genomic.fna
fasta标头示例:> NC_008228.1大西洋假单胞菌T6c,完整基因组
如果我可以取消NC_008228.1并且完整的基因组,显然我会很高兴,但是只要将fasta标头作为文件名就可以使我的生活变得更加轻松(替代方法是手动完成...但是我知道它可以完成一些编码)
非常感谢您!
答案 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