我有一个dna序列,比如 CCG ACG GCA CTG GGC CAG TTG
.
我想在不改变每个子集的顺序的情况下,对这个序列进行所有可能的组合(比如说ccg应该是ccg)。例如,修改后的序列可以是
ACG CCG GCA CTG GGC CAG TTG # Here the first two sub-sets are interchanged.
GCA ACG CCG CTG GGC CAG TTG # Here the first and third sub-sets are interchanged.
有没有简单的方法可以使用shell脚本或python代码来提供所有可能的组合?
在每种可能的组合中,它都将涵盖这七个子集。
2条答案
按热度按时间fdx2calv1#
您可以使用itertools中的前提条件,例如:
我首先做了一个split(),它创建了一个由空格分隔的原始dna字符串数组,如下所示:
然后使用itertools.permutation()返回该数组索引的所有组合。
qlckcl4x2#
虽然比python版本慢很多,但是
bash
打印其参数排列的脚本:它只是使用一种简单的递归方法来计算列表的所有排列。