2019-07-28本周總結(jié)

perl 學(xué)習(xí)感想:

從7月10號(hào)入職至今造虏,已經(jīng)完成了三道練習(xí)題。
自上周完成兩道之后麦箍,本以為這周可以飛速完成剩余題目漓藕,在這周初就真香警告,寫剩余題目的時(shí)候挟裂,犯了很多低級(jí)錯(cuò)誤享钞。之前的題目雖然做出來(lái)了,但是還是相當(dāng)不熟悉诀蓉,很多東西不能靈活應(yīng)用栗竖,不會(huì)變換,理解得不夠深入透徹渠啤。并且很多基礎(chǔ)知識(shí)還沒(méi)學(xué)習(xí)到狐肢。所以決定慢下腳步,開(kāi)始復(fù)習(xí)總結(jié)并看書繼續(xù)學(xué)習(xí)基礎(chǔ)知識(shí)沥曹。

之前代碼總結(jié)

外部定義參數(shù)

特別注意:
1 各種符號(hào): 第一行注意引號(hào),括號(hào)最后加引號(hào)份名,括號(hào)中注意逗號(hào)與引號(hào)碟联,=>符號(hào)
2 : 與 = 區(qū)別,:表示這個(gè)參數(shù)可有可無(wú)僵腺,=表示這個(gè)參數(shù)必須有
3 s表示后接的參數(shù)為字符串鲤孵,i表示后接的參數(shù)為整數(shù),f表示后接的參數(shù)為浮點(diǎn)數(shù)

my ($infile,$outfile,$position,$sta_end,$help);
GetOptions(
                   "i|infile=s "=> \$infile,
                   "o|outfile=s "=> \$outfile,
#如果需要輸入不同文件辰如,并生成的文件名與輸入文件相關(guān)普监,則可以把此項(xiàng)去掉,在腳本中定義$filename =$infile.$b($b為文件數(shù)量計(jì)數(shù)器)丧没,具體操作可見(jiàn)聯(lián)系第三題45-47行代碼
                   "p|position=i" => \$position,
                   "se|sta_end=s" => \$sta_end,
#如果外部參數(shù)格式為num1-num2鹰椒,在后續(xù)代碼中,可以($s,$e)=split"-",$sta_end呕童,對(duì)num1與num2進(jìn)行操作漆际,具體內(nèi)容詳見(jiàn)練習(xí)題第二題
                   "h|help:s" => \$help,
);

讀取文件并寫入文件

  • 主程序按行讀文件,創(chuàng)建數(shù)組
#讀取外部參數(shù)傳來(lái)的文件,并將每行以空格分隔的內(nèi)容定義為數(shù)組
open F,"$infile" or die $!;
while (my $line =<F>){
          chomp  $line;
          my @content=split " ",$line; #一行有多個(gè)元素夺饲,
          $id .= "$line-"; #一行只有一個(gè)元素奸汇,
}
close F ;
#注意每有一個(gè)open對(duì)應(yīng)一個(gè)close

  • 子程序讀取文件內(nèi)容,創(chuàng)建哈希(原始格式為excle表)
#子程序讀取外部輸入文件往声,并新建哈希(這個(gè)原始文件為excle擂找,題目中還有原始文件為fa格式文件)
read_file($infile) 
sub read_file{
my $file = shift; 
 #或者 my $file = $_[0]   外部傳入的參數(shù)為一個(gè)文件名,即為一個(gè)字符串浩销,這個(gè)命令的意思是將外部傳入的內(nèi)容取第一個(gè)元素賦值給$file,
open F, $file or die $!;  #將名為$file的文件句柄賦值給F贯涎,打開(kāi)這個(gè)文件內(nèi)容
my %hash;
while (my $line=<F>){
          chomp  $line;
          ($tmp1,$tmp2)= split " ",$line;
          $key .=$tmp1;
          $value .=$tmp2;
          $hash{$key} = $value;
#哈希的key為文件第一列,value為文件第二列
}
close F;
return  ...
}
  • 子程序讀取文件內(nèi)容慢洋,創(chuàng)建哈希(原始格式為fa),還可以把分行的序列歸一行(加不加chomp)
my %hash2 = read_fa($infile1); 
sub  read_fa{
my $file = shift; 
open F, $file or die $!;
my %hash;
my($id,$gene,$seq);
while (my $line=<F>){
          chomp  $line;  #至現(xiàn)在代碼與上個(gè)相同
          if ($line =~ /^>/){
          ($id,$gene) = split "  ", $line;
          $id =~ s/>//;
           }else{
           $seq .=$line;
           }
$hash{$id} = $seq;
close F;
return %hash;         
}

在腳本內(nèi)部新建文件并寫入內(nèi)容

open OUT ,">$outfile"   or  die $!;
my $locseq =...塘雳;定義$locseq為相應(yīng)內(nèi)容
print OUT "$locseq\n";
close OUT ;
#可以將$locseq內(nèi)容寫入outfile中

foreach while if 用法總結(jié)

  • foreach+if :遍歷數(shù)組中每個(gè)元素,判斷數(shù)組中元素是否符合某種條件普筹,由于foreach可以循環(huán)花括號(hào)內(nèi)容败明,if在{}中因此可以多次判斷,而if判斷本身不能循環(huán)太防。
#例子 1
my $sum1=0;
foreach (keys %hash){
    if (($_>=18)and($_<=30)){
        $sum1 += $hash{$_};
        print "$sum1\n";
    }   
}

#例子 2
open OUT,">$outfile" or die $!; 
my $seq2;
foreach (@testid2){
       if (exists $hash2{$_}){    
          $seq2 =$hash2{$_};
          print OUT "$_\n$seq2\n";
      }   
}
#close F;
close OUT;
  • while + if :while可用于按行讀取文件中內(nèi)容妻顶,while本身自帶循環(huán)與判斷,在這種用法中while判斷的為:非文件的最后一行蜒车,符合條件時(shí)讳嘱,對(duì)此行進(jìn)行{}內(nèi)操作,進(jìn)行相應(yīng)操作后酿愧,再判斷是否為文件最后一行呢燥,,如此循環(huán)往復(fù)寓娩,直至讀到文件最后一行停止while
    if來(lái)判斷當(dāng)前讀取的行是否符合某種條件叛氨,由于if在while{}中因此可以多次判斷呼渣,而if判斷本身不能循環(huán)。
    foreach與 while :foreach遍歷數(shù)組中元素
    while讀取文件中每行內(nèi)容
#例子 
while (my $line=<F>){
          chomp  $line;  #至現(xiàn)在代碼與上個(gè)相同
          if ($line =~ /^>/){
          ($id,$gene) = split "  ", $line;
          $id =~ s/>//;
           }else{
           $seq .=$line;
           }

練習(xí)題注意事項(xiàng)總結(jié)

  • 第一題 :
    id文件轉(zhuǎn)化為數(shù)組寞埠,先行讀文件 => 將追加輸出的內(nèi)容定義為標(biāo)量(注意追加時(shí)"$test .= "$line-"),這樣就很方便將其轉(zhuǎn)化為數(shù)組(my @testid = split "-",$test)
  • 第二題:
    可將外部輸入?yún)?shù)在腳本中進(jìn)行操作屁置,注意$sta_end
  • 第三題:
    1.定義計(jì)數(shù)器;
    寫入文件行數(shù)的計(jì)數(shù)器仁连,文件到達(dá)一定行數(shù)后重置計(jì)數(shù)器蓝角,
    讀取文件行數(shù)的計(jì)數(shù)器,
    輸出文件個(gè)數(shù)的計(jì)數(shù)器饭冬,每個(gè)輸出文件有不同名字
    2.腳本中定義了 與輸入文件名相關(guān)的輸出文件名
#截取代碼命名的一部分:
sub cut_seqcount{
my $filena =shift;
my $filename=$filena.$b;
open OUT,">$filename" or die $!;

3.不同文件定義了相同文件句柄的巧妙應(yīng)用使鹅,只要上一個(gè)打開(kāi)文件關(guān)閉,文件句柄定義的變量就失效了昌抠,即:并非一個(gè)腳本中只能有不同文件句柄的名字

數(shù)據(jù)下載

使用OSS瀏覽器下載 ==> 用filezilla(選擇sttp)傳到服務(wù)器上
Teamviewer患朱?

LncRNA質(zhì)控流程

大致流程:小部分比對(duì) ==> 過(guò)濾數(shù)據(jù)(去低質(zhì)量,接頭炊苫,N) ==> 全局比對(duì) ==> 未比對(duì)上的分析來(lái)源 ==> 出質(zhì)控報(bào)告

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末裁厅,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子侨艾,更是在濱河造成了極大的恐慌执虹,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,386評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件唠梨,死亡現(xiàn)場(chǎng)離奇詭異袋励,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)当叭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門插龄,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人科展,你說(shuō)我怎么就攤上這事】酚辏” “怎么了才睹?”我有些...
    開(kāi)封第一講書人閱讀 164,704評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)甘邀。 經(jīng)常有香客問(wèn)我琅攘,道長(zhǎng),這世上最難降的妖魔是什么松邪? 我笑而不...
    開(kāi)封第一講書人閱讀 58,702評(píng)論 1 294
  • 正文 為了忘掉前任坞琴,我火速辦了婚禮,結(jié)果婚禮上逗抑,老公的妹妹穿的比我還像新娘剧辐。我一直安慰自己寒亥,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布荧关。 她就那樣靜靜地躺著溉奕,像睡著了一般。 火紅的嫁衣襯著肌膚如雪忍啤。 梳的紋絲不亂的頭發(fā)上加勤,一...
    開(kāi)封第一講書人閱讀 51,573評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音同波,去河邊找鬼鳄梅。 笑死,一個(gè)胖子當(dāng)著我的面吹牛未檩,可吹牛的內(nèi)容都是我干的戴尸。 我是一名探鬼主播,決...
    沈念sama閱讀 40,314評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼讹挎,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼校赤!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起筒溃,我...
    開(kāi)封第一講書人閱讀 39,230評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤马篮,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后怜奖,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體浑测,經(jīng)...
    沈念sama閱讀 45,680評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評(píng)論 3 336
  • 正文 我和宋清朗相戀三年歪玲,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了迁央。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,991評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡滥崩,死狀恐怖岖圈,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情钙皮,我是刑警寧澤蜂科,帶...
    沈念sama閱讀 35,706評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站短条,受9級(jí)特大地震影響导匣,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜茸时,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評(píng)論 3 330
  • 文/蒙蒙 一贡定、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧可都,春花似錦缓待、人聲如沸蚓耽。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,910評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)田晚。三九已至,卻和暖如春国葬,著一層夾襖步出監(jiān)牢的瞬間贤徒,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,038評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工汇四, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留接奈,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,158評(píng)論 3 370
  • 正文 我出身青樓通孽,卻偏偏與公主長(zhǎng)得像序宦,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子背苦,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容