SingleCell DAY2︱LINUX 進階命令 + 習題

筆記從進階命令開始

  • cut

    zless -S /teach/rna_testdata/database/gtf/gencode.v29.annotation.gtf.gz |cut -f 1,3-5 |less -S
    
  • paste

    seq 10 |paste - - - -
    
    seq 10 |paste - - - -|cut -f 1,2
    
    image
  • 利用多種命令實現(xiàn) fastq 轉 fasta

    fastq 每4行一個單元

    zless -S SRR1039510_1.fastq.gz|less -S
    
    image
    zless -S SRR1039510_1.fastq.gz|paste - - - -|less -S
    
    image
    zless -S SRR1039510_1.fastq.gz|paste - - - -|cut -f 1,2|tr '\t' '\n'|less -S
    
    image
    zless -S SRR1039510_1.fastq.gz|paste - - - -|cut -f 1,2|tr '\t' '\n'|tr '@' '>'|less -S
    
    image
  • paste 轉換布局

    ls *.gz|paste - -|less -S
    
    image
    ls /teach/rna_testdata/project/1.rna/2.raw_fq/*.gz|paste - -|less -S|cut -f 1 > 1
    ls /teach/rna_testdata/project/1.rna/2.raw_fq/*.gz|paste - -|less -S|cut -f 2 > 2
    
    image

    從而能夠將文件分類嘁傀,以便后續(xù)處理

    image
  • sort

    zcat gencode.v29.annotation.gtf.gz|cut -f 1|less -S
    
    image

    sort -u 去重

    zcat gencode.v29.annotation.gtf.gz|cut -f 1|sort -u
    
    image
  • uniq

    uniq -c 去重并顯示出現(xiàn)次數(shù)

    zcat gencode.v29.annotation.gtf.gz|cut -f 1|sort|uniq -c
    
    image
  • find

    在指定路徑下搜索文件

    $ find ./ -name "*gz"
    ./gencode.v25.annotation.gtf.gz
    ./gencode.v29.annotation.gtf.gz
    
  • tr

    $ echo $PATH
    /home/lyshi/miniconda3/bin:/home/lyshi/miniconda3/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
    

    將 ":" 替換為換行符 "\n"

    image
  • wc

    默認輸出:行數(shù)、字數(shù)媳溺、字節(jié)數(shù)

    $ cat ~/.bashrc |wc
        134     575    4367
    

    分別 wc -l, wc -w, wc -m

    image
  • bc 進入數(shù)學運算

    image

    scale= 設置小數(shù)點位數(shù)

    image
  • sed

    用 sed 完成替換

    將 ":" 替換為 "####"

    $ echo $PATH
    /home/lyshi/miniconda3/bin:/home/lyshi/miniconda3/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
    $ echo $PATH|sed 's/:/####/g'
    /home/lyshi/miniconda3/bin####/home/lyshi/miniconda3/condabin####/usr/local/sbin####/usr/local/bin####/usr/sbin####/usr/bin####/sbin####/bin####/usr/games####/usr/local/games####/snap/bin
    
  • grep 查找文件中符合條件的行

  • awk 對特定的行中特定列進行操作

習題

  1. 統(tǒng)計reads_1.fq 文件中共有多少條序列信息

    $ zcat SRR1039510_1_val_1.100000.fq.gz|paste - - - -| cut -f 1|wc -l
    25000
    

    因為每行開頭為 "@SRR"

    $ zcat SRR1039510_1_val_1.100000.fq.gz|grep ^@SRR|wc -l
    25000
    
  2. 輸出所有的reads_1.fq文件中的標識符(即以@開頭的那一行)

    $ zcat SRR1039510_1_val_1.100000.fq.gz|paste - - - -| cut -f 1|head
    @SRR1039510.1 HWI-ST177:290:C0TECACXX:1:1101:1373:2104 length=63
    @SRR1039510.2 HWI-ST177:290:C0TECACXX:1:1101:1340:2124 length=63
    @SRR1039510.3 HWI-ST177:290:C0TECACXX:1:1101:1273:2183 length=63
    @SRR1039510.4 HWI-ST177:290:C0TECACXX:1:1101:1562:2147 length=63
    @SRR1039510.5 HWI-ST177:290:C0TECACXX:1:1101:1577:2181 length=63
    @SRR1039510.6 HWI-ST177:290:C0TECACXX:1:1101:1650:2181 length=63
    @SRR1039510.7 HWI-ST177:290:C0TECACXX:1:1101:1645:2203 length=63
    @SRR1039510.8 HWI-ST177:290:C0TECACXX:1:1101:1597:2229 length=63
    @SRR1039510.9 HWI-ST177:290:C0TECACXX:1:1101:1791:2146 length=63
    @SRR1039510.10 HWI-ST177:290:C0TECACXX:1:1101:1902:2147 length=63
    
  3. 輸出reads_1.fq文件中的 所有序列信息(即每個序列的第二行)

    $ zcat SRR1039510_1_val_1.100000.fq.gz|paste - - - -| cut -f 2|head
    TGGGAGGCTGAGGCAGGAGAATCACTTAAACCTGGGAGGCAGAGGTTACAGTGAGCCGAGATT
    AAAGAAGGCGACAGTGAGAAGGAGTCCGAGAAGAGTGATGGAGACCCAATAGTCGATCCTGAG
    CTGCTGGGCCCCAAGGTCCTCCTGGTCCCAGTGGTGAAGAAGGAAAGAGAGGCCCTAATGGGG
    CTTGGCTGCAGCCATCCCGCTTAGCCTGCCTCACCCACACCCGTGTGGTACCTTCAGCCCTGG
    TGAGACAGGTAATTCAGTATAGTAGATTAATATTTTTAATATATATTTTCCCTTAAGATTTCC
    ATTTCTCAGTGTAGAAATCATGTCTTCTTAATTGCTGAACCTTACTGCAAAAACTTGTGATGT
    ATCAAGAATACCAAAACAGTTTCCTAATATACAGTATTTGAAAGTGCTTGCCATATTGGCTCT
    CTCATTTTCATCTTCACCATCAACAGAGAGAGCAGCATACTTGCTTGCAGAACTGAACTT
    TCCAACCGCAGCTTGGCATCTTCGGTGGCCTGCAGCTCGTCCTCCAGCTCTTCCAGCTGCGTC
    CGGCCTCCCAAAGTGCTGGGATTACAGGCATGAGCCACCGCGCTCTGCGAGGTACTTTTTCTA
    
  4. 輸出質(zhì)量值信息(即每個序列的第四行)

    $ zcat SRR1039510_1_val_1.100000.fq.gz|paste - - - -| cut -f 4|head
    HJJJIJJJJJJJJIJJJGHHIJIIIIIIJJEHGGIJGIJIJJIJHHHGGFFDFFFDEDDDBDC
    HJJJJJJJJJJJIJIIGIJJJJGJHJJJHHDFFFE@CEEEDDDDDDDDDDDDDDDBDDDDDDD
    HJJJJJJJJJJJJJJJGIIIJJJJJHIJJJJHIJFHGIJJJJJJJHHHHHFFFDDDEDDDDDD
    HJJJJJJJJJJJJJJJJJIJJJJJJJJJJJJIJHJJIJJJJJHHFFFFEEEEEEEDDDDDDDB
    HIJJJJJJJEHJIJJJJIIIJJIIJJJJJJJJJJJJJJJJJJJJJJJJJEHJGI>FFCBGGGI
    HJJJJJJJJJJJHIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIJJJJJJJJHHIJJD
    FJGGJGIJJIIEIIJIIIGGGIGHIDGHGHGGCHFGHHBFGFBCCC4@AD@HIDIJJDHFFHH
    HIIIJJJJIIIIIJIJIGIIJJJJIJHIIIIIIGIGJJIIIIJJJJJIJJJJJJIGGIGJ
    HJJJJJJIJJJJJJJJJJJJJJJJJGIJJJIJJJJIJJJIJHHHGFFFFFEEEEEEDDDDDDB
    HJJJJIJJJJJJJDFGIJJJJJJJIJJJJJIIJFIJJJJJJJHFFFFEDDDD;CCDEEDDDDD
    
  5. 統(tǒng)計文件中reads_1.fq文件里面的序列的堿基總數(shù)

    $ zless SRR1039510_1_val_1.100000.fq.gz |paste - - |cut -f 2|grep -io [ATCGN]|wc -w
    1665852
    
  6. 統(tǒng)計reads_1.fq 中所有序列的第一位堿基的ATCGN分布情況(ATCGN分別個數(shù))(uniq)

    $ zless -S SRR1039510_1_val_1.100000.fq.gz|paste - - - -|cut -f 2|grep -o ^[ACTGN]|sort|uniq -c
       5923 A
       6112 C
       5802 G
       7163 T
    
  7. 將reads_1.fq 轉為reads_1.fa文件(即將fastq轉化為fast)(tr)

    $ zless -S SRR1039510_1_val_1.100000.fq.gz|paste - - - -|cut -f 1,2|tr '\t' '\n'|tr '@' '>' > ~/1_fasta
    $ cd ~
    $ head 1_fasta 
    >SRR1039510.1 HWI-ST177:290:C0TECACXX:1:1101:1373:2104 length=63
    TGGGAGGCTGAGGCAGGAGAATCACTTAAACCTGGGAGGCAGAGGTTACAGTGAGCCGAGATT
    >SRR1039510.2 HWI-ST177:290:C0TECACXX:1:1101:1340:2124 length=63
    AAAGAAGGCGACAGTGAGAAGGAGTCCGAGAAGAGTGATGGAGACCCAATAGTCGATCCTGAG
    >SRR1039510.3 HWI-ST177:290:C0TECACXX:1:1101:1273:2183 length=63
    CTGCTGGGCCCCAAGGTCCTCCTGGTCCCAGTGGTGAAGAAGGAAAGAGAGGCCCTAATGGGG
    >SRR1039510.4 HWI-ST177:290:C0TECACXX:1:1101:1562:2147 length=63
    CTTGGCTGCAGCCATCCCGCTTAGCCTGCCTCACCCACACCCGTGTGGTACCTTCAGCCCTGG
    >SRR1039510.5 HWI-ST177:290:C0TECACXX:1:1101:1577:2181 length=63
    TGAGACAGGTAATTCAGTATAGTAGATTAATATTTTTAATATATATTTTCCCTTAAGATTTCC
    
  8. 刪除 reads_1.fa文件每條序列的前后五個堿基

    # awk 里的if else并沒有完全看懂
    $ less -S 1_fasta  |awk '{if($0~/^>/)print $0;else print substr($0,6,length($0)-10)}'|head
    >SRR1039510.1 HWI-ST177:290:C0TECACXX:1:1101:1373:2104 length=63
    GGCTGAGGCAGGAGAATCACTTAAACCTGGGAGGCAGAGGTTACAGTGAGCCG
    >SRR1039510.2 HWI-ST177:290:C0TECACXX:1:1101:1340:2124 length=63
    AGGCGACAGTGAGAAGGAGTCCGAGAAGAGTGATGGAGACCCAATAGTCGATC
    >SRR1039510.3 HWI-ST177:290:C0TECACXX:1:1101:1273:2183 length=63
    GGGCCCCAAGGTCCTCCTGGTCCCAGTGGTGAAGAAGGAAAGAGAGGCCCTAA
    >SRR1039510.4 HWI-ST177:290:C0TECACXX:1:1101:1562:2147 length=63
    CTGCAGCCATCCCGCTTAGCCTGCCTCACCCACACCCGTGTGGTACCTTCAGC
    >SRR1039510.5 HWI-ST177:290:C0TECACXX:1:1101:1577:2181 length=63
    CAGGTAATTCAGTATAGTAGATTAATATTTTTAATATATATTTTCCCTTAAGA
    

最后掀泳,向大家隆重推薦生信技能樹的一系列干貨雪隧!

  1. 生信技能樹全球公益巡講:https://mp.weixin.qq.com/s/E9ykuIbc-2Ja9HOY0bn_6g
  2. B站公益74小時生信工程師教學視頻合輯:https://mp.weixin.qq.com/s/IyFK7l_WBAiUgqQi8O7Hxw
  3. 招學徒:https://mp.weixin.qq.com/s/KgbilzXnFjbKKunuw7NVfw
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市员舵,隨后出現(xiàn)的幾起案子脑沿,更是在濱河造成了極大的恐慌,老刑警劉巖马僻,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件庄拇,死亡現(xiàn)場離奇詭異,居然都是意外死亡韭邓,警方通過查閱死者的電腦和手機措近,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來女淑,“玉大人瞭郑,你說我怎么就攤上這事鸭你∏牛” “怎么了擒权?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長剖效。 經(jīng)常有香客問我贱鄙,道長,這世上最難降的妖魔是什么梦湘? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮件甥,結果婚禮上捌议,老公的妹妹穿的比我還像新娘。我一直安慰自己引有,他們只是感情好瓣颅,可當我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著譬正,像睡著了一般宫补。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上曾我,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天粉怕,我揣著相機與錄音,去河邊找鬼抒巢。 笑死贫贝,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的蛉谜。 我是一名探鬼主播稚晚,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼型诚!你這毒婦竟也來了客燕?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤俺驶,失蹤者是張志新(化名)和其女友劉穎幸逆,沒想到半個月后棍辕,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡还绘,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年楚昭,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拍顷。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡抚太,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出昔案,到底是詐尸還是另有隱情尿贫,我是刑警寧澤,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布踏揣,位于F島的核電站庆亡,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏捞稿。R本人自食惡果不足惜又谋,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望娱局。 院中可真熱鬧彰亥,春花似錦、人聲如沸衰齐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽耻涛。三九已至废酷,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間抹缕,已是汗流浹背锦积。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留歉嗓,地道東北人丰介。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像鉴分,于是被迫代替她去往敵國和親哮幢。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,592評論 2 353

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

  • 系統(tǒng)iOS11.3 iPhone6P 使用Eletra 越獄1.1 進入飛行模式1.2 iPhone儲存空間中的系...
    CAICAI0閱讀 3,428評論 0 51
  • 生信學習筆記 linux部分功能 查看文件夾 工具 選項 可以設置鼠標功能 可以設置右鍵粘貼 雙擊這個窗口可以再打...
    Vikenn閱讀 1,150評論 1 4
  • 基本命令-2 壓縮和歸檔 打包: 即歸檔,類似于旅游之前收拾行李 壓縮: 為了減少占用的磁盤空間伦糯,可以做備...
    崔千易閱讀 925評論 0 0
  • 內(nèi)核的引導(BIOS OS Read /boot 內(nèi)核文件) - 運行init(所有進程的父進程 /etc/ini...
    時待吾閱讀 593評論 0 1
  • centos7安裝jdk,tomcat,nginx,redis,fastDFS的步驟* 1.linux****安裝...
    挑戰(zhàn)者666888閱讀 2,703評論 0 6