【发布时间】:2020-02-25 15:52:26
【问题描述】:
我正在进行一项生物信息学研究,我在其中处理一些数据并将一些输出放入一些所需的文件夹中。文件夹/文件结构如下所示, 其中两个文件夹:
binned/90-20-09-2018/bins/90-20-09-2018.001、90-20-09-2018.002、90-20-09-2018.003 等等 p>
binned/90-25-04-2018/bins/90-25-04-2018.001、90-25-04-2018.002、90-25-04-2018.003 等等 p>
我知道文件夹的数量,但文件夹中的文件数量是未知的,并且会有所不同。
在另一个名为 taxonomy 的文件中(例如 binned/90-20-09-2018/bins/quality/taxonomy.txt)是每个 bin 的细菌名称表(文件名为 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”之后的名称。所以对于 bin 001,它将是“Lactobacillus”。
所以最终结果将如下所示(对于第一个文件夹)。
binned/90-20-09-2018/bins/Lactobacillus、Lactobacillus_2、Streptococcus等
我想这是用 Python(我唯一熟悉的编程语言)完成的 如果我不清楚,请随时提出问题。
谢谢!
【问题讨论】:
-
你能告诉我们你到目前为止所做的尝试吗?
-
老实说,我不知道如何处理它。但是,我没有提到我更喜欢它在 Python 中。我热衷于听取如何开始的建议。我一直在使用 Python 来处理文本文件的数据。
-
您可以使用 os.rename() 更改文件夹名称,也可以通过 ''.split('g__') 拆分字符串。 stackoverflow.com/questions/8735312/… tutorialspoint.com/python/string_split.htm 这应该可以帮助您开始;)
-
另外,这会有所帮助:stackoverflow.com/questions/3207219/… 试一试,如果遇到问题。只需添加评论,我会帮助您;)
-
谢谢,我去看看,有疑问再回复你!
标签: python