python - 创建随机 DNA 序列并将其保存为 csv 文件
问题描述
这里是python新手!我想生成 20 个不同的 DNA 序列,每个序列的长度为 150。我还希望将序列保存为 csv 文件,但这部分似乎不起作用。我会感谢任何提示!
from random import choice
import csv
output = open("random_sequences.csv", "w")
def make_random_sequence():
random_sequence = ""
bases = ["A", "T", "G", "C"]
for i in range(0, 150):
random_sequence = random_sequence + choice(bases)
print(random_sequence)
def random_sequences():
for i in range(0, 20):
altogether = make_random_sequence()
return altogether
for row in altogether:
csv.writer(outfile).writerow(row)
output.close()
解决方案
几个问题之一:
def random_sequences(): for i in range(0, 20): altogether = make_random_sequence() return altogether for row in altogether: # will never be executed csv.writer(outfile).writerow(row) # as the function returned earlier
另一个问题:
csv 模块newline=""
在打开文件时需要参数。
您可以简化 DNS 数据的随机生成 - 将字符串添加到字符串非常慢:
import random
def make_random_sequence():
return random.choices("ATGC", k=150) # just create 150 of them as list
with open("output.csv","w",newline="") as f:
writer = csv.writer(f)
for _ in range(20):
writer.writerow(make_random_sequence())
输出.csv:
A,A,A,A,A,C,C,T,G,T,G,T,G,T,T,A,A,A,A,C,C,C,A,T,C,A,A,T,G,T,T,A,C,C,G,G,G,G,G,A,G,T,C,A,G,A,G,T,T,T,A,C,T,G,T,A,C,T,A,A,G,A,C,C,T,G,C,G,A,T,A,C,A,T,C,T,T,T,A,C,G,G,A,T,A,A,C,T,A,G,A,G,A,T,G,T,C,C,G,C,T,G,G,A,C,A,T,C,G,T,A,A,C,G,T,C,G,G,G,A,A,G,T,C,A,G,T,A,A,A,C,T,G,T,T,G,A,C,A,A,C,G,T,C,C,C,G,G,A,T
C,T,C,C,A,C,T,A,C,T,T,C,A,C,T,C,T,G,T,C,C,G,G,T,G,G,T,T,C,A,C,C,C,G,C,A,A,G,C,T,A,A,A,C,C,A,A,C,C,G,A,C,G,G,T,G,A,C,A,C,A,G,G,G,A,T,C,T,T,T,C,G,T,T,A,T,A,A,G,T,A,C,T,C,A,T,T,C,A,A,G,T,G,A,T,A,A,C,T,G,T,G,G,A,T,G,A,G,A,A,G,A,T,C,T,A,T,C,T,G,C,G,G,C,C,G,T,C,C,G,A,C,G,C,T,G,T,A,A,T,T,A,T,T,G,C,G,T,A,T
[....]
C,C,T,T,G,T,T,T,C,G,A,C,A,C,A,T,G,A,T,C,G,C,T,C,C,G,T,G,T,T,A,G,T,A,A,G,A,T,T,T,A,C,T,A,A,G,C,G,G,C,A,A,G,A,A,G,G,C,C,C,T,T,A,G,A,G,A,G,T,T,C,T,G,A,A,T,T,G,C,C,G,A,T,A,G,C,G,T,G,T,T,T,T,A,A,C,C,T,T,G,T,A,A,T,C,C,A,G,G,T,A,C,C,C,C,G,G,G,C,A,A,G,A,T,G,T,T,A,G,C,T,G,G,C,G,C,T,C,A,T,G,T,T,C,T,A,A,G,A,T
推荐阅读
- arm - ARMv8-A结构中LD3(multipule结构)和LD3(single结构)有什么区别
- apache-kafka - storm-kafka KafkaSpout:设置主题之间的优先级
- c# - 如何在调试时检查配置的映射
- php - 想象一下如何避免半可见文本
- wordpress - 如何在 wordpress 上使这部分动态化
- javascript - 如何在 d3 图表中强制指定特定数量的 y 轴刻度?
- anaconda - 如何查看 Anonda 环境的名称?
- javascript - Jquery:如何为 contenteditable div 创建颜色选择器?
- ios - UIAlertViewConroller 中对 UITextView 的约束
- database - 如何保持不同数据库中的表同步?