我在做一个生物信息学的研究,在那里我处理一些数据,把一些输出放到一些想要的文件夹里。文件夹/文件结构如下所示, 对于其中两个文件夹:
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/分类.txt)是每个箱子的细菌名称表(文件名为90-20-09-2018.001、90-20-09-2018.002等)。如您所见,对于每个bin 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”之后的名称。所以对于BIN001,应该是“乳酸杆菌”。你知道吗
最后的结果是这样的(对于第一个文件夹)。你知道吗
binned/90-20-09-2018/bins/乳酸杆菌、乳酸杆菌2、链球菌等
我想象这是用Python(我唯一熟悉的编程语言)完成的 如果我不太清楚的话,请随便问问题。你知道吗
谢谢!你知道吗
所以我给你的是:
基本上,我们所做的是创建输入文件字符串的字典和分类法文件中的generas(实际上,最精确的分类法,因为可以看到,有时你的解析只涉及到家族),并将这些dictonary与操作系统重命名“指挥部,为我们交换名字。你知道吗
这应该适用于任何bin文件夹,只要它们具有相同的结构:即bin和quality->;fasta文件和分类法文件。只需将目录指向相应的bin即可。此外,导入依赖于被指定为.txt文件的分类法文件,因此如果在操作系统中没有明确的说明,则需要重命名它。你知道吗
结果是:
相关问题 更多 >
编程相关推荐