我正在做一个生物信息学研究,在这里我处理一些数据并将一些输出放到所需的文件夹中。对于其中两个文件夹(文件和文件夹结构在线程末尾链接),文件夹/文件结构如下所示:
binned / 90-20-09-2018 / bins / 90-20-09-2018.001、90-20-09-2018.002、90-20-09-2018.003等
binned / 90-25-04-2018 / bins / 90-25-04-2018.001、90-25-04-2018.002、90-25-04-2018.003等
我知道文件夹的数量,但是文件夹中的文件数量是未知的,并且会有所不同。
在另一个称为分类法的文件中(例如,binned / 90-20-09-2018 / bins / quality / taxonomy.txt),是每个分类箱的细菌名称表(名为90-20-09-的文件) 2018.001、90-20-09-2018.002等)。如您所见,每个容器ID都是一个对应的分类法。
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
Bin Id # unique markers (of 43) # multi-copy Taxonomy
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
90-20-09-2018.001 25 15 k__Bacteria;p__Firmicutes;c__Bacilli;o__Lactobacillales;f__Lactobacillaceae;g__Lactobacillus
90-20-09-2018.003 24 0 k__Bacteria;p__Firmicutes;c__Bacilli;o__Lactobacillales;f__Streptococcaceae;g__Streptococcus
90-20-09-2018.002 15 0 k__Bacteria;p__Firmicutes;c__Bacilli;o__Lactobacillales;f__Lactobacillaceae_2;g__Lactobacillus_2
90-20-09-2018.005 14 11 k__Bacteria;p__Firmicutes;c__Clostridia;o__Clostridiales;f__Lachnospiraceae
90-20-09-2018.004 12 0 k__Bacteria;p__Actinobacteria;c__Actinobacteria;o__Actinomycetales;f__Actinomycetaceae;g__Mobiluncus
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
我需要的是将每个bin文件(90-20-09-2018.001、90-20-09-2018.002等)重命名为其相应的分类法(属)名称。属名称是在“ g”之后的名称。因此对于bin 001,它将是“乳酸杆菌”。
因此,最终结果将如下所示(对于第一个文件夹)。
binned / 90-20-09-2018 / bins /乳杆菌,乳杆菌_2,链球菌等
我想象这是通过Python(我所熟悉的唯一编程语言)完成的。
此外,我需要将fasta文件的标头更改为其相应的名称(与文件本身相同的名称)。 fasta文件的格式如下:
>NODE_2_length_62925_cov_23.488138
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCTTTTCAAGCAGAAGACGGCATACGAGATAATGAGCGGTG
ACTGGAGTTCAGACGTGTGCTCTTCCGATCTCGTCTCAAGTTAAAAATCTGCTAGCCAATACTTTACCTA
ATGCTGTCACTTCTCTACTACAATTTTTCGGTGCATTAGTAATTATGATGGCGATGGATTGGCAAATGAC
CTTGATTATGTTTATCGCCGTTCCACTGGTAGTTGTGGCTCTACTCCCAATCATGCAACAATCACGTAAA
ATCGGCCGTAAGCGCCAGGACGAACTAGCCAACTTTTCAAGCGATTCTACCAGTGTTTTAAGCGAAATTA
GATTAGTTAAGTCTTCCAACGGTGAACCAAAAGAGTTAAACGTTGGAAGCAATCGGATTTCTAGCCTCTA
>NODE_89_length_21285_cov_31.129560
GGCTACAAACAAATTGAAGATGAAATTGCTCGCTTAAAGAAGGGTCGTCCACGCAGAATTAAAATTTTGC
AGGCAGCACGTGCGCTCGGCGACCTTTCAGAAAATACGGAATATACTGAAGCTAAGCGTTACTTAGGCAA
ACAATTAAAGTATACGGAAATCGTTGAAACTAAGGACGATGGCAAGGTTGATTTGGGCAAAACCGTTGTC
TTGAAGTTTGACGATGATGAAGATACTGAAGAATATAAGATTGTTGGCCGGATGGAGGCTGATTTAGCCG
ATGGCAAGATTTCCTTTGGTTCACCACTGGGCCAAGCAATTATGAAAAAAGAGGCAGGGACGACTTCAAC
AGTTGAAGCACCGGCCGGAGAATATAAGGT
因此,基本上,必须将“>”之后的名称更改为其相应的名称。 因此对于bin 001,对于所有标题,它都是“ Lactobacillus”。
如果我不太清楚,请随时提问。
谢谢!
链接到文件和文件夹:
https://www.dropbox.com/sh/ho3ux5wplv7yk4u/AAAuqLOFKtxXr3KTwGqca778a?dl=0