python 随机抽取Fastq文件
2017-01-02 13:07
295 查看
参考 http://pythonforbiologists.com/index.php/randomly-sampling-reads-from-a-fastq-file/
最近要做一个二代测序的模拟,所以网上找了个小脚本,做了些注释,希望能够帮助大家。
最近要做一个二代测序的模拟,所以网上找了个小脚本,做了些注释,希望能够帮助大家。
from __future__ import division import random number_to_sample = 3000000 number_of_replicates = 10 #计算行数 with open("test.fastq") as input: num_lines = sum([1 for line in input]) # 全部reads数目 total_records = int(num_lines / 4) print("sampling " + str(number_to_sample) + " out of " + str(total_records) + " records") # 可以设置多个输出文件 output_files = [] output_sequence_sets = [] #打开10个文件 for i in range(number_of_replicates): output_files.append(open("sample.fastq." + str(i), "w")) # 随机抽取 output_sequence_sets.append(set(random.sample(xrange(total_records + 1), number_to_sample))) # 一次读取4行 record_number = 0 with open("test.fastq") as input: for line1 in input: line2 = input.next() line3 = input.next() line4 = input.next() for i, output in enumerate(output_files): if record_number in output_sequence_sets[i]: output.write(line1) output.write(line2) output.write(line3) output.write(line4) record_number += 1 for output in output_files: output.close()
相关文章推荐
- 在python的list中随机抽取元素的方法
- Python实现Excel随机抽取数
- python_文本文件里面随机抽取若干行,写入新的文本文件里面
- Python自动化脚本【2】从sql文件中随机抽取条目
- 转:python_文本文件里面随机抽取若干行,写入新的文本文件里面
- 两条从数据库中随机抽取记录的语句
- 随机抽取20道题目,组合成100分
- 随机抽取不重复ID
- 如何从一个表中随机抽取不重复的记录
- 关于从数组随机抽取一组数的东东!
- 随机抽取函数
- 一个无聊男人的疯狂《数据结构与算法分析-C++描述》学习笔记 用C++/lua/python/bash的四重实现(7)习题2.8 随机数组的三种生成算法
- Asp随机抽取记录又一方法
- python整理十二——随机产生大量md5
- sql随机抽取记录
- ACCESS如何随机抽取数据
- python写的随机生成身份证号码的函数
- python 产生随机数,随机字符串
- 根据分类,每类随机抽取N个(N对每个分类都不一样,SQL问题)
- 随机抽取n个记录的SQL