生成随机 DNA 序列并找出 CpG 岛

问题描述 投票:0回答:1

我正在尝试生成具有给定数量的 A、G、T 和 C 的随机 DNA 序列;在 Python 中使用随机函数。

如何在列表中打乱这些单独的字符串?

我想遍历这个列表中的 10 个序列,但我被困在这里:

随机导入 对于 finalList 中的项目:

random.sample(items, k=len(items)) #我该如何解决这个问题?

python random sequence bioinformatics shuffle
1个回答
0
投票

可以尝试使用 random 模块中的 shuffle 或 sample() 函数随机打乱 A、G、T 和 C,同时保持每个字母的数量相同(例如 AGT > GAT)。请注意,您需要加入生成的字符以创建新字符串。

import random

final_list = ['AGTCTTTGTGT', 'ACGCGTAAACG', 'AGGGTCTC']

for s in final_list :
    result = "".join(random.sample(s, k=len(s)))
    print(s, ">", result)

同样,可以通过首先将字符串转换为字符列表来使用 shuffle()。

for s in final_list :
   l = list(s)
   random.shuffle(l)
   result = ''.join(l)
   print(s, ">", result)

输出:

AGTCTTTGTGT > TGTCGGATTTT
ACGCGTAAACG > AGAGCCATCGA
AGGGTCTC > GCTGCGTA
© www.soinside.com 2019 - 2024. All rights reserved.