隨機抽取一定比例的fastq檔案

2021-06-23 03:23:59 字數 888 閱讀 4155

在ngs的下機資料中,我們通常抽取一定比例的fq檔案做分析。在此,筆者提供兩種方式來抽取fq資料。

第一種方法速度較快,但存在一定的隨機誤差。

執行方式:

perl $0 fq檔案抽取比例

#! /usr/bin/perl -w

use strict;

die "#usage:perl $0 \n" unless @argv==2;

my $fa=shift;

my $threshold=shift;

$fa=~/\.gz/?(open in,"gzip -cd $fa|"||die) : (open in,$fa||die);

while() }}

close in;

第二種方法方法滿足了精確抽取,但較第一種方法稍慢一些。用法相同。

#! /usr/bin/perl -w

use strict;

die "#usage:perl $0 \n" unless @argv==2;

my $fa=shift;

my $threshold=shift;

my $num=$fa=~/\.gz/? `gzip -cd $fa|wc -l`/4 :`less $fa|wc -l`/4;

my $need=int($num*$threshold);

my %ha;

for(;;)=1;

last if (keys %ha)==$need;

}$fa=~/\.gz/?(open in,"gzip -cd $fa|"||die) : (open in,$fa||die);

while())

}close in;

生成一定範圍的隨機數

include using namespace std const float maxweight 0.3 const float scaleweight 32767 void main 5.產生一定範圍隨機數的通用表示公式 要取得 a,b 的隨機整數,使用 rand b a a 要取得 a,b 的...

從大檔案中隨機抽取一定資料

在建模的時候,時常需要構造訓練集和測試集,但當總資料比較大的時候,如何進行簡單抽樣也是乙個問題。假設有這樣乙個情況,乙份資料總共有1,000,000條,要從中抽取100,000條左右的資料。每條資料相對比較大,把所有資料一次放入記憶體不靠譜,那麼如何抽樣呢?最齪的方法就是抽取頭100,000或100...

按一定的概率隨機出隨機數(小白記錄)

按一定的概率隨機出隨機數 例如 專案場景 專案需要每天凌晨0點準時發布,農場操作任務 如澆水,施肥,除草,除蟲等,需要按一定的比例隨機出每天的任務操作 public class randomtest if random a random a b if random a b random a b c ...