linux20道练习题

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

mkdir -p 1/2/3/4/5/6/7/8/9

2.在创建好的文件夹下面,比如我是/Users/jimmy/tmp/1/2/3/4/5/6/7/8/9 ,里面创建文本文件 me.txt

touch ./1/2/3/4/5/6/7/8/9/me.txt

在文本文件 me.txt 里面输入内容:

Go to: http://www.biotrainee.com/
I love bioinfomatics.
And you ?

cd ./1/2/3/4/5/6/7/8/9
cat > me.txt
Go to: http://www.biotrainee.com/
I love bioinfomatics.
And you ?
^C

4.删除上面创建的文件夹 1/2/3/4/5/6/7/8/9 及文本文件 me.txt

rm -rf ./1

5.在任意文件夹下面创建 folder1~5这5个文件夹,然后每个文件夹下面继续创建 folder1~5这5个文件夹,效果如下:

99999.png
for i in {1..5};do mkdir folder_$i&&cd folder_$i&&mkdir folder_{1..5}&&cd  ;done

有个更加简洁的方法

mkdir -p folder_{1..5}/folder_{1..5}

6.在第五题创建的每一个文件夹下面都 创建第二题文本文件 me.txt ,内容也要一样。(这个题目难度超纲,建议一个月后再回过头来做)

for i in folder_{1..5}/folder_{1..5}; 
do echo "I love bioinfomatics.">me.txt;
done

7.再次删除掉前面几个步骤建立的文件夹及文件

cd 
rm -rf folder*

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

>grep -n 'H3K4me3' test.bed      #-n显示行号,如下所示有 H3K4me3 的那一行是第8行
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

>wc -l test.bed       #查看文件行数,该文件共10行
10 test.bed

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

(base) yanke14 15:58:22 ~
$ unzip rmDuplicate.zip 

(base) yanke14 15:54:19 ~
$ 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 定义是什么。

>cd rmDuplicate/samtools/single 
>ls *.sam
tmp.sam 
>less -S tmp.sam       #.bam文件是二进制问件,查看要安装Samtools,使用samtools view查看
SRR1042600.42157053     0       chr1    629895  42      51M     *       0       0       ATAACCAATACTACCAATCANTACTCATCATTAATAATCATAATGGCTA
SRR1042600.42212881     0       chr1    629895  42      51M     *       0       0       ATAACCAATACTACCAATCANTACTCATCATTAATAATCATAATGGCTA
SRR1042600.12010763     16      chr1    629895  24      51M     *       0       0       ATAACCAATACTTCTAATCAAAACTCATCATTAATAATCATAATGGCTA

bam是sam的二进制格式文件,可以节约存储空间

11.安装 samtools 软件

conda activate rna 激活conda环境特别重要

# miniconda官网下载linux版安装包:Miniconda2-4.7.10-Linux-x86_64.sh*
>./Miniconda2-4.7.10-Linux-x86_64.sh*     #进入安装包所在目录,运行安装包
>conda config --add channels r
>conda config --add channels conda-forge
>conda config --add channels bioconda
>conda create -n rna python=2  #建立python2环境的名叫rna的虚拟conda环境
>conda activate rna    #激活进入rna环境
>conda install -y bwa gatk4 sra-tools fastqc trim-galore star hisat2 bowtie2 subread htseq multiqc samtools salmon     #安装软件
>source deactivate  #退出环境

12.打开 后缀为BAM 的文件,找到产生该文件的命令。 提示一下命令是:

/home/jianmingzeng/biosoft/bowtie/bowtie2-2.2.9/bowtie2-align-s --wrapper basic-0 -p 20 -x /home/jianmingzeng/reference/index/bowtie/hg38 -S /home/jianmingzeng/data/public/allMouse/alignment/WT_rep2_Input.sam -U /tmp/41440.unp
samtools view tmp.sorted.bam | less -SN  #查看bam文件


13.根据上面的命令,找到我使用的参考基因组 /home/jianmingzeng/reference/index/bowtie/hg38 具体有多少条染色体。

这个文件找不到了。。。

zcat gencode.v29.annotation.gtf.gz | grep -v '^#' | cut -f 1 | sort | uniq -c  #用一个找到的gtf文件做类似的工作
250524 chr1
  99843 chr10
 167540 chr11
 159530 chr12
  42767 chr13
  96124 chr14
 100426 chr15
 130878 chr16
 171137 chr17
  48848 chr18
 168227 chr19
 204338 chr2
  61485 chr20
  29652 chr21
  59764 chr22
 172809 chr3
 108328 chr4
 120515 chr5
 124117 chr6
 130671 chr7
  98583 chr8
  97204 chr9
    143 chrM
  89500 chrX
   9064 chrY

zcat gencode.v29.annotation.gtf.gz | grep -v '^#' | cut -f 1 | sort | uniq -c | wc -l  #查看上一个输出文件的行数就知道是多少条chr了
25

14.上面的后缀为BAM 的文件的第二列,只有 0 和 16 两个数字,用 cut/sort/uniq等命令统计它们的个数。

samtools view tmp.sorted.bam|cut -f2|sort|uniq -c
29 0
     24 16

15.重新打开 rmDuplicate/samtools/paired 文件夹下面的后缀为BAM 的文件,再次查看第二列,并且统计

samtools view tmp.sorted.bam | cut -f 2 | sort | uniq -c
      8 147
      3 163
      1 323
      1 353
      1 371
      1 387
      1 433
      3 83
      2 97
      9 99

16.下载 http://www.biotrainee.com/jmzeng/sickle/sickle-results.zip 文件,并且解压,查看里面的文件夹结构, 这个文件有2.3M,注意留心下载时间及下载速度。

wget -c http://www.biotrainee.com/jmzeng/sickle/sickle-results.zip 
unzip sickle-results.zip
tree sickle-results
>sickle-results
├── command.txt
├── single_tmp_fastqc.html
├── single_tmp_fastqc.zip
├── test1_fastqc.html
├── test1_fastqc.zip
├── test2_fastqc.html
├── test2_fastqc.zip
├── trimmed_output_file1_fastqc.html
├── trimmed_output_file1_fastqc.zip
├── trimmed_output_file2_fastqc.html
└── trimmed_output_file2_fastqc.zip

17.解压 sickle-results/single_tmp_fastqc.zip 文件,并且进入解压后的文件夹,找到 fastqc_data.txt 文件,并且搜索该文本文件以 >>开头的有多少行?

cd sickle-results/
unzip single_tmp_fastqc.zip
cd single_tmp_fastqc
cat fastqc_data.txt | grep '^>>' | wc -l
24

18.下载 http://www.biotrainee.com/jmzeng/tmp/hg38.tss文件,去NCBI找到TP53/BRCA1等自己感兴趣的基因对应的 refseq数据库 ID,然后找到它们的hg38.tss文件的哪一行。

https://www.ncbi.nlm.nih.gov/gene/7157

wget -c  http://www.biotrainee.com/jmzeng/tmp/hg38.tss
less hg38.tss|grep 'NM_000546'
NM_000546   chr17   7685550 7689550 1

19.解析hg38.tss 文件,统计每条染色体的基因个数。

cut -f 2 hg38.tss | sort | uniq -c

20.解析hg38.tss 文件,统计NM和NR开头的熟练,了解NM和NR开头的含义。

grep  -E '^NM' hg38.tss | wc -l
51064
grep  -E '^NR' hg38.tss | wc -l
15954

NM开头表示转录产物序列,成熟的mRNA序列

NR开头表示非编码的转录子序列,包括RNAs,假基因转子等

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

推荐阅读更多精彩内容