參考
最近要做乙個二代測序的模擬,所以網上找了個小指令碼,做了些注釋,希望能夠幫助大家。
from __future__ import division
import random
number_to_sample = 3000000
number_of_replicates = 10
#計算行數
with
open("test.fastq") as input:
num_lines = sum([1
forline
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):
# 一次讀取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()
隨機抽取一定比例的fastq檔案
在ngs的下機資料中,我們通常抽取一定比例的fq檔案做分析。在此,筆者提供兩種方式來抽取fq資料。第一種方法速度較快,但存在一定的隨機誤差。執行方式 perl 0 fq檔案抽取比例 usr bin perl w use strict die usage perl 0 n unless argv 2 ...
Python實現Excel隨機抽取數
有這樣一組資料 現在要隨機抽取十個數字,如下 import sys import xlrd import random print pm2.5 天津 開啟excel workbook xlrd.open workbook 2.xls 進入sheet excel sheet workbook.shee...
sql隨機抽取記錄
我們經常想在乙個資料表中隨機地選取出資料來,比如隨機生成考試試卷等。利用 sql server 的 newid 方法就可以很輕鬆地達到這個目的。newid 方法返回乙個 guid,如 ee95a489 b721 4e8a 8171 3ca8cb6ad9e4 在 select 表的時候,再增加一列為 ...