生信人的LINUX 20题

生信人的linux考试

  1. 在任意文件夹下面创建形如 1/2/3/4/5/6/7/8/9 格式的文件夹系列。

    $ mkdir -p 1/2/3/4/5/6/7/8/9
    $ tree
    .
    └── 1
        └── 2
            └── 3
                └── 4
                    └── 5
                        └── 6
                            └── 7
                                └── 8
                                    └── 9
    
    9 directories, 0 files
    
  2. 在创建好的文件夹下面,比如我的是 /Users/jimmy/tmp/1/2/3/4/5/6/7/8/9 ,里面创建文本文件 me.txt

    $ cd 1/2/3/4/5/6/7/8/9
    (base) lyshi 01:46:17 ~/test/1/2/3/4/5/6/7/8/9
    $ touch me.txt
    
  3. 在文本文件 me.txt 里面输入内容:

    Go to: http://www.biotrainee.com/
    I love bioinfomatics.
    And you ?
    
    $ vim me.txt
    $ cat me.txt 
    Go to: http://www.biotrainee.com/
    I love bioinfomatics.
    And you ?
    
  4. 删除上面创建的文件夹 1/2/3/4/5/6/7/8/9 及文本文件 me.txt

    $ cd -
    $ rm -r 1
    
  5. 在任意文件夹下面创建 folder1~5这5个文件夹,然后每个文件夹下面继续创建 folder1~5这5个文件夹

    $ mkdir -p folder{1..5}/folder{1..5}
    $ tree
    .
    ├── folder1
    │   ├── *
    │   ├── folder1
    │   ├── folder2
    │   ├── folder3
    │   ├── folder4
    │   └── folder5
    ├── folder2
    │   ├── folder1
    │   ├── folder2
    │   ├── folder3
    │   ├── folder4
    │   └── folder5
    ├── folder3
    │   ├── folder1
    │   ├── folder2
    │   ├── folder3
    │   ├── folder4
    │   └── folder5
    ├── folder4
    │   ├── folder1
    │   ├── folder2
    │   ├── folder3
    │   ├── folder4
    │   └── folder5
    └── folder5
        ├── folder1
        ├── folder2
        ├── folder3
        ├── folder4
        └── folder5
    
    31 directories, 0 files
    
  6. 在第五题创建的每一个文件夹下面都 创建第二题文本文件 me.txt ,内容也要一样。(这个题目难度超纲,建议一个月后再回过头来做)

    $ touch folder{1..5}/folder{1..5}/me.txt
    $ tree
    .
    ├── folder1
    │   ├── *
    │   ├── folder1
    │   │   └── me.txt
    │   ├── folder2
    │   │   └── me.txt
    │   ├── folder3
    │   │   └── me.txt
    │   ├── folder4
    │   │   └── me.txt
    │   └── folder5
    │       └── me.txt
    ├── folder2
    │   ├── folder1
    │   │   └── me.txt
    │   ├── folder2
    │   │   └── me.txt
    │   ├── folder3
    │   │   └── me.txt
    │   ├── folder4
    │   │   └── me.txt
    │   └── folder5
    │       └── me.txt
    ├── folder3
    │   ├── folder1
    │   │   └── me.txt
    │   ├── folder2
    │   │   └── me.txt
    │   ├── folder3
    │   │   └── me.txt
    │   ├── folder4
    │   │   └── me.txt
    │   └── folder5
    │       └── me.txt
    ├── folder4
    │   ├── folder1
    │   │   └── me.txt
    │   ├── folder2
    │   │   └── me.txt
    │   ├── folder3
    │   │   └── me.txt
    │   ├── folder4
    │   │   └── me.txt
    │   └── folder5
    │       └── me.txt
    └── folder5
        ├── folder1
        │   └── me.txt
        ├── folder2
        │   └── me.txt
        ├── folder3
        │   └── me.txt
        ├── folder4
        │   └── me.txt
        └── folder5
            └── me.txt
    
    31 directories, 25 files
    ## 每个 me.txt 写同样得内容确实需要过一个月才能会...吧 
    
  7. 再次删除掉前面几个步骤建立的文件夹及文件

    $ rm -r folder{1..5}
    
  8. 下载 http://www.biotrainee.com/jmzeng/igv/test.bed 文件,后在里面选择含有 H3K4me3 的那一行是第几行,该文件总共有几行。

    $ wget http://www.biotrainee.com/jmzeng/igv/test.bed
    $ grep -n 'H3K4me3' test.bed 
    8:chr1   9810    10438   ID=SRX387603;Name=H3K4me3%20(@%20HMLE);Title=GSM1280527:%20HMLE%20Twist3D%20H3K4me3%20rep2%3B%20Homo%20sapiens%3B%20ChIP-Seq;Cell%20group=Breast;<br>source_name=HMLE_Twist3D_H3K4me3;cell%20type=human%20mammary%20epithelial%20cells;transfected%20with=Twist1;culture%20type=sphere;chip%20antibody=H3K4me3;chip%20antibody%20vendor=Millipore;  222 .   9810    10438   0,226,255
    $ less test.bed |wc -l
    10
    

    H3K4me3 的那一行是第几行:8

    该文件总共有几行:10

  9. 下载 http://www.biotrainee.com/jmzeng/rmDuplicate.zip 文件,并且解压,查看里面的文件夹结构

    $ wget http://www.biotrainee.com/jmzeng/rmDuplicate.zip
    $ unzip rmDuplicate.zip
    Archive:  rmDuplicate.zip
       creating: rmDuplicate/
       creating: rmDuplicate/picard/
       creating: rmDuplicate/picard/paired/
      inflating: rmDuplicate/picard/paired/readme.txt  
      inflating: rmDuplicate/picard/paired/tmp.header  
      inflating: rmDuplicate/picard/paired/tmp.MarkDuplicates.log  
      inflating: rmDuplicate/picard/paired/tmp.metrics  
      inflating: rmDuplicate/picard/paired/tmp.rmdup.bai  
      inflating: rmDuplicate/picard/paired/tmp.rmdup.bam  
      inflating: rmDuplicate/picard/paired/tmp.sam  
      inflating: rmDuplicate/picard/paired/tmp.sorted.bam  
       creating: rmDuplicate/picard/single/
      inflating: rmDuplicate/picard/single/.MarkDuplicates.log  
      inflating: rmDuplicate/picard/single/readme.txt  
      inflating: rmDuplicate/picard/single/tmp.header  
      inflating: rmDuplicate/picard/single/tmp.MarkDuplicates.log  
      inflating: rmDuplicate/picard/single/tmp.metrics  
      inflating: rmDuplicate/picard/single/tmp.rmdup.bai  
      inflating: rmDuplicate/picard/single/tmp.rmdup.bam  
      inflating: rmDuplicate/picard/single/tmp.sam  
      inflating: rmDuplicate/picard/single/tmp.sorted.bam  
       creating: rmDuplicate/samtools/
       creating: rmDuplicate/samtools/paired/
      inflating: rmDuplicate/samtools/paired/readme.txt  
      inflating: rmDuplicate/samtools/paired/tmp.header  
      inflating: rmDuplicate/samtools/paired/tmp.rmdup.bam  
      inflating: rmDuplicate/samtools/paired/tmp.rmdup.vcf.gz  
      inflating: rmDuplicate/samtools/paired/tmp.sam  
      inflating: rmDuplicate/samtools/paired/tmp.sorted.bam  
      inflating: rmDuplicate/samtools/paired/tmp.sorted.vcf.gz  
       creating: rmDuplicate/samtools/single/
      inflating: rmDuplicate/samtools/single/readme.txt  
      inflating: rmDuplicate/samtools/single/tmp.header  
      inflating: rmDuplicate/samtools/single/tmp.rmdup.bam  
      inflating: rmDuplicate/samtools/single/tmp.rmdup.vcf.gz  
      inflating: rmDuplicate/samtools/single/tmp.sam  
      inflating: rmDuplicate/samtools/single/tmp.sorted.bam  
      inflating: rmDuplicate/samtools/single/tmp.sorted.vcf.gz
    $ tree rmDuplicate
    rmDuplicate
    ├── picard
    │   ├── paired
    │   │   ├── readme.txt
    │   │   ├── tmp.header
    │   │   ├── tmp.MarkDuplicates.log
    │   │   ├── tmp.metrics
    │   │   ├── tmp.rmdup.bai
    │   │   ├── tmp.rmdup.bam
    │   │   ├── tmp.sam
    │   │   └── tmp.sorted.bam
    │   └── single
    │       ├── readme.txt
    │       ├── tmp.header
    │       ├── tmp.MarkDuplicates.log
    │       ├── tmp.metrics
    │       ├── tmp.rmdup.bai
    │       ├── tmp.rmdup.bam
    │       ├── tmp.sam
    │       └── tmp.sorted.bam
    └── samtools
        ├── paired
        │   ├── readme.txt
        │   ├── tmp.header
        │   ├── tmp.rmdup.bam
        │   ├── tmp.rmdup.vcf.gz
        │   ├── tmp.sam
        │   ├── tmp.sorted.bam
        │   └── tmp.sorted.vcf.gz
        └── single
            ├── readme.txt
            ├── tmp.header
            ├── tmp.rmdup.bam
            ├── tmp.rmdup.vcf.gz
            ├── tmp.sam
            ├── tmp.sorted.bam
            └── tmp.sorted.vcf.gz
    
    6 directories, 30 files
    
  10. 打开第九题解压的文件,进入 rmDuplicate/samtools/single 文件夹里面,查看后缀为 .sam 的文件,搞清楚 生物信息学里面的SAM/BAM 定义是什么。

    • SAM:

      • Sequence Alignment/Map format
    • BAM:

      • Binary representation of SAM
      • Block compression in BGZF format; each BGZF block itself a spec-compliant gzip archive
      • Facilitating random accessing to the BAM file for indexed queries

    https://sites.google.com/site/bioinformaticsremarks/bioinfo/sam-bam-format

    Lets face it there aren’t too many HTS pipelines that don’t touch a SAM/BAM files somewhere along the way. The name SAM comes from the acronym Sequence Alignment/Map format and they are really nothing more than tab delineated text files describing mapping information for short read data. Of course with the millions of reads generated by next gen sequencers these days the files become really really big. That is where BAM files come in, these contain the same information as SAM files but are encoded in condensed computer readable binary format to save disk space.

    If you open up a SAM file in a text editor (or use “head” in bash) the first part of the file typically contains lines beginning with AT (@) symbol, which represents the “header”. The header contains general information about the alignment, such as the reference name, reference length, MD5 checksum, the program used for the alignment, etc etc. Every line after the header represents a single read, with 11 mandatory tab separated fields of information. Lets see how this works with a really simple example.

    https://dwheelerau.com/2015/02/28/sam-bam-files-explained/

    https://samtools.github.io/hts-specs/SAMv1.pdf

    https://en.wikipedia.org/wiki/SAM_(file_format)


最后,向大家隆重推荐生信技能树的一系列干货!

  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
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,509评论 6 504
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,806评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,875评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,441评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,488评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,365评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,190评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,062评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,500评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,706评论 3 335
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,834评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,559评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,167评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,779评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,912评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,958评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,779评论 2 354

推荐阅读更多精彩内容

  • 生信人的linux考试20题 一、 在任意文件夹下面创建形如 1/2/3/4/5/6/7/8/9 格式的文件夹系列...
    泥人吴阅读 2,008评论 0 27
  • 原始数据查看: grep '^@' ctr.R1.fq | sort |uniq|wc -l27787625 也就...
    苏牧传媒阅读 3,352评论 0 3
  • 一、在任意文件夹下面创建形如 1/2/3/4/5/6/7/8/9 格式的文件夹系列。 二、在创建好的文件夹下面,里...
    aca3ac422382阅读 2,956评论 1 41
  • 1、创建文件夹: 2、3、创建.txt文件并往文件内写东西 :两种方法:第一种方法: 第二种办法: 4、删除所有创...
    看远方的星阅读 1,747评论 2 21
  • 学完了理论,开始实践一下吧主要参考了jimmy提供的练习题 一、在主目录下面创建/tmp文件夹,并且使其中包含 1...
    刘小泽阅读 2,781评论 0 12