08.Perl -- 常用函数
2022-05-21 本文已影响0人
QXPLUS
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:输入字符串 - 返回值:
从其所有参数中删除的尾随换行符的总数