【发布时间】:2017-07-18 09:16:40
【问题描述】:
我有大约 1000 个来自系统发育分析的文件,每个文件看起来都像这样
File 1
(((A:0.03550734102561460548,B:0.04004337325891465377):0.01263892787244691278,C:0.03773369182398536581):0.08345900687345568503,(D:0.04441859961888914438,((E:0.04707945363105774106,F:0.03769496882665739068):0.00478087012691866091,G:0.01269975716918288373):0.01263526019405349088):0.13087200352448438712,H:1.91169780510990117151):0.0;
File 12
((A:0.11176787864288327545,(B:0.18283029119402782747,C:0.12136417416322728413):0.02367730683755531543):0.21101090994668161849,(((F:0.06464548582830945134,E:0.06903977777526745796):0.01710921464740109560,G:0.01577242071367901746):0.00958883666063858192,D:0.03506359820882300193):0.47082738536589324729,H:2.94973933657097164840):0.0;
我想读取每个文件的内容,并根据模式(即文件内容)对其进行分类。这里的数字代表分支长度,对于任何文件都不相同。所以,我想根据字母 A 到 H 对文件进行分类。比如说,例如所有从 A 到 H 以相同顺序排列的字母的文件,我想将这些文件分类到单独的文件夹中。例如:
对于 File1 中的模式,模式将是这样的,忽略数字(分支长度):
(((A:,B:),C:):,(D:,((E:,F:):,G:):):,H:):;
所有包含此模式的文件都将进入一个文件夹。 文件 1 文件 5 文件 6 文件 10 ....
我知道根据特定模式对内容进行排序:
grep -l -Z pattern files | xargs -0 mv -t target-directory --
但我不确定如何处理这种情况,因为我对模式没有先验知识
【问题讨论】:
-
为什么不使用聚类算法对系统发育树进行分类呢?我不知道你说的在生物学上是否有意义
-
我只是想大致了解一下,接下来一定要试试