1. rand() 生成随机数
Perl中的rand()
函数返回一个介于0和传递给它的正数(range_value)之间的随机小数,
如果未指定任何值,则返回1。
- Usage:
rand(range_value)
- 参数:
range_value
:指定范围的正数 - 返回值:
介于0和指定值之间的随机浮点数
2. int() 取整
Perl中的int()
函数返回给定值的整数部分, 不进行四舍五入。
如果未提供值,则返回$_
。注意$_
是默认输入,在这种情况下为0。
- Usage:
int(VAR)
- 参数:
VAR
:要转换为整数的值 - 返回值:
返回VAR
的整数部分
$random_seed = 1000;
# 生成一个随机整数
my $mod = int(rand($random_seed));
3. define() 变量是否非空
如果提供的变量VAR
的值不是undef
值,则Perl中的defined()
返回true
;
如果未指定VAR
,则它检查$_
的值。
它可以与许多函数一起使用来检测操作失败,因为如果出现问题,它们将返回undef
。
- Usage:
defined(VAR)
- 参数:
VAR
:要检查的变量 - 返回值:
如果VAR
为undef
,则返回0
;
如果VAR
包含值(不为空),则返回1
。
例子-- 逐行读取fastq文件
# fastq文件格式
@DJB775P1:248:D0MDGACXX:7:1202:12362:49613
TGCTTACTCTGCGTTGATACCACTGCTTAGATCGGAAGAGCACACGTCTGAA
+
JJJJJIIJJJJJJHIHHHGHFFFFFFCEEEEEDBD?DDDDDDBDDDABDDCA
# 逐行读取fastq文件
if ($read1 =~ /\.fastq$/){
open(R1, "$read1") || die $!;
}
if ($read2 =~ /\.fastq$/){
open(R2, "$read2") || die $!;
}
while (1) {
my $SeqName1 = <R1>;
# 如果$SeqName1为空`undef` ,则退出循环
if (!defined($SeqName1)) last;
my $Seq1 = <R1>;
my $Plus1 = <R1>;
my $Qual1 = <R1>;
my $SeqName2 = <R2>;
my $Seq2 = <R2>;
my $Plus2 = <R2>;
my $Qual2 = <R2>;
4. chomp() 删除换行符
Perl 中的 chomp()
函数从输入字符串中删除最后一个尾随的换行符。
- Usage:
chomp (String)
- 参数:
String
:输入字符串 - 返回值:
从其所有参数中删除的尾随换行符的总数
网友评论