python - 随机选择 fasta 文件中的行子集
问题描述
我有一个大约 1800 万次读取的 fasta 文件。我将它的头部带入 Python 并构建了一个字典,其中 key = readID 和 value = sequence 使用带有 if/else 语句的 forloop。
我现在想从我的原始文件中随机选择 10,000 个读取的子集。我认为另一个 for 循环是必要的,但我不确定从哪里开始。
提前致谢
解决方案
当您使用 FASTQfiles 时,您应该真正使用BioPython。它支持读取 FASTQ 文件并将它们转换为字典,无需 for 循环。要获取随机样本,请使用random
标准库中的模块。
from Bio import SeqIO
import random
record_dict = SeqIO.to_dict(SeqIO.parse("example.fastq", "fastq"))
random_reads = random.sample(record_dict.items(), 10000)
for readID, sequence in random_reads:
print(readID, sequence)
推荐阅读
- react-native - 将 redux-saga 与 @reduxjs/toolkit 一起使用,尝试使用 Provider 但它不起作用。在这种情况下如何使用 Provider
- reactjs - 使用 React 和 Recoil.js 保持 websocket 连接的状态
- python - 如何继承 Pyqt5 QLabel?
- hadoop - Hadoop mapreduce 多个输出写入单个文件
- python - 使用一个数组中的 UTC 时间戳值在 pandas 数据帧中进行本地化
- c# - 用于本地化的 ASP.NET Core 3.1 Identity 开箱即用资源文件
- laravel-8 - Laravel 8中外键的UUID类型
- codenameone - 以相同名称保存时文件是否会在 Codenameone 中被覆盖
- c# - 无法使用 C# 语言在剧作家自动化中下载文件
- macos - 在我的 Mac 上安装 truffle 后,我无法在终端中运行 truffle 命令,结果总是 zsh: command not found: truffle