讀寫生信流程必備的 Perl 語法


最早就是寫Perl的,后來來到公司轉Python,現在又要負責流程了,開始重拾Perl,當然是借鑒別人現有的語法,我再重新組合。

基本語法就不介紹了,參照我之前文章 Perl

 

模塊

use strict;

 

use File::Path;

【Perl】Path::File 目錄的創建和刪除

內置模塊,導入之后就可以隨時創建和刪除目錄了,mkpath("LZX");rmtree("LZX");

 

use Getopt::Long;

perl 中的有關控制參數的模塊,參考:在Perl中使用Getopt::Long模塊來接收用戶命令行參數

 

my $usage = <<USAGE;
Description: main pipeline for metagenomic analysis based on IGC, version 2016a
USAGE

USAGE 在這里通俗講就是一個標記,它用來標記一段文字(一般都是多行的,省得編碼麻煩,用"<<"加上一個標記就可以把一大段代碼存入到一個變量中去了);$usage = <<USAGE 的意思就是說:下一行開始,直到遇見“USAGE”為止,所有的字符都按照指定的格式存入變量usage中。你可以用EEE,MAMA等等其他的名字都可以,就是一個標記而已,它的作用就是簡化輸入。

一般都有后續,die $usage if (!$conf || !$rawFqList || $help);

類似open(MYFILE, "myfile") || die "Cannot open myfile: $!/n"; 程序結束,打印$usage 標量。

 

use File::Basename;

perl File::Basename 模塊

File::Basename 模塊 從文件名中抽取基名,取不包括路徑的文件名。

 

use FindBin '$Bin';
use Cwd qw(abs_path);

[Perl]如何取絕對路徑:FindBin模塊和Cwd模塊用法和區別

通過FindBin qw($Bin)獲取的是腳本所在目錄的絕對路徑
通過Cwd qw(abs_path getcwd)獲取的是運行腳本時所在的目錄的絕對路徑

$outdir = abs_path $outdir;

 

use Config::General;

Config::General

 

語法

return \%hash
參考: Perl引用reference(\運算符)

 

my %config = %$config;
my @array2 = @{$array_r};  #拷貝了數組

對引用變量解引用通過{$var_r}實現;

 

 

$outdir ||= "./";
=~是正則匹配運算符,||=是或等賦值運算符。表示如果$outdir為非false,那么$outdir還是$outdir,否則,$outdir被賦值為./。

 

正則表達式

 

 

notepad++使用技巧

我喜歡用notepad++來寫perl代碼,默認綁定.pl后綴

注釋

快捷鍵如下:

單行、多行注釋   //方式  :ctrl+k

區塊注釋  / * * /方式 :ctrl+q

取消單行、多行、區塊注釋  :ctrl+shift+k

如果感覺默認的快捷鍵不方便,可以修改成自己習慣的快捷鍵:設置-管理快捷鍵-Mainmenu選項卡下的第42-44項是上述快捷鍵選中某項,點擊下面的modify就可以換成自己習慣的方式啦~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM