2019-08-21

作者: XIAO油菜花 | 来源:发表于2019-08-21 21:34 被阅读0次

Linux_20题

一、在任意文件夹下面创建形如 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
二、在创建好的文件夹下面,比如我的是/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
tree 1/2/3/4/5/6/7/8/9/
1/2/3/4/5/6/7/8/9/
└── me.txt
三、在文本文件 me.txt 里面输入内容:

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

vim 1/2/3/4/5/6/7/8/9/me.txt
I  #切换到insert模式
Go to: [http://www.biotrainee.com/](http://www.biotrainee.com/)
I love bioinfomatics.
And you ?
Esc  #返回主界面
:wq  #保存退出
cat 1/2/3/4/5/6/7/8/9/me.txt
Go to: http://www.biotrainee.com/
I love bioinfomatics.
And you ?
四、删除上面创建的文件夹1/2/3/4/5/6/7/8/9 及文本文件me.txt
rm -rf 1
五、在任意文件夹下面创建 folder1~5这5个文件夹,然后每个文件夹下面继续创建 folder1~5这5个文件夹
mkdir -p folder_{1..5}/folder_{1..5}
ls */
folder_1/:
folder_1  folder_2  folder_3  folder_4  folder_5

folder_2/:
folder_1  folder_2  folder_3  folder_4  folder_5

folder_3/:
folder_1  folder_2  folder_3  folder_4  folder_5

folder_4/:
folder_1  folder_2  folder_3  folder_4  folder_5

folder_5/:
folder_1  folder_2  folder_3  folder_4  folder_5
六、在第五题创建的每一个文件夹下面都 创建第二题文本文件 me.txt ,内容也要一样。
for i in `echo folder_{1..5} folder_{1..5}/folder_{1..5}`
do 
echo Hello World! > $i/me.txt
done
ls */*
folder_1/me.txt  folder_3/me.txt  folder_5/me.txt
folder_2/me.txt  folder_4/me.txt

folder_1/folder_1:
me.txt

folder_1/folder_2:
me.txt

folder_1/folder_3:
me.txt

folder_1/folder_4:
me.txt

folder_1/folder_5:
me.txt
...
七,再次删除掉前面几个步骤建立的文件夹及文件
rm -rf folder_*
八、下载 http://www.biotrainee.com/jmzeng/igv/test.bed文件,后在里面选择含有 H3K4me3 的那一行是第几行,该文件总共有几行。
wget -c 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%20grou                                              p=Breast;<br>source_name=HMLE_Twist3D_H3K4me3;cell%20type=human%20mammary%20epit                                              helial%20cells;transfected%20with=Twist1;culture%20type=sphere;chip%20antibody=H                                              3K4me3;chip%20antibody%20vendor=Millipore;      222     .       9810    10438  0                                              ,226,255
wc -l test.bed 
10
九、下载http://www.biotrainee.com/jmzeng/rmDuplicate.zip文件,并且解压,查看里面的文件夹结构
wget -c http://www.biotrainee.com/jmzeng/rmDuplicate.zip
unzip rmDuplicate.zip
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
十、打开第九题解压的文件,进入 rmDuplicate/samtools/single 文件夹里面,查看后缀为 .sam 的文件,搞清楚 生物信息学里面的SAM/BAM 定义是什么。
cd  rmDuplicate/samtools/single
less -SN tmp.sam  #查看sam文件
samtools view tmp.sorted.bam | less -SN  #查看bam文件

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

十一、安装 samtools 软件
conda activate rna
conda install -y samtools
十二、打开 后缀为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

第十题答案中有如何查看bam文件

samtools view -bS tmp.sam > tmp.bam
[E::sam_parse1] missing SAM header
[W::sam_read1] Parse error at line 1
[main_samview] truncated file.  #报错说sam文件没有头

ls -lh
total 80K
-rw-rw-r-- 1 yanke13 yanke13  355 Nov 12  2016 readme.txt
-rw-rw-r-- 1 yanke13 yanke13   71 Aug 21 20:38 tmp.bam
-rw-rw-r-- 1 yanke13 yanke13  17K Nov 12  2016 tmp.header  #文件夹中含有头文件:每行以@开头
-rw-rw-r-- 1 yanke13 yanke13 8.8K Nov 12  2016 tmp.rmdup.bam
-rw-rw-r-- 1 yanke13 yanke13 4.8K Nov 12  2016 tmp.rmdup.vcf.gz
-rw-rw-r-- 1 yanke13 yanke13  12K Nov 12  2016 tmp.sam
-rw-rw-r-- 1 yanke13 yanke13  11K Nov 12  2016 tmp.sorted.bam
-rw-rw-r-- 1 yanke13 yanke13 4.8K Nov 12  2016 tmp.sorted.vcf.gz 

cat tmp.header tmp.sam > tmp.total.sam  #将tmp.sam文件的头文件tmp.header加上

samtools view -bS tmp.total.sam > tmp.bam

ls -lh
total 116K
-rw-rw-r-- 1 yanke13 yanke13  355 Nov 12  2016 readme.txt
-rw-rw-r-- 1 yanke13 yanke13 9.8K Aug 21 20:33 tmp.bam
-rw-rw-r-- 1 yanke13 yanke13  17K Nov 12  2016 tmp.header
-rw-rw-r-- 1 yanke13 yanke13 8.8K Nov 12  2016 tmp.rmdup.bam
-rw-rw-r-- 1 yanke13 yanke13 4.8K Nov 12  2016 tmp.rmdup.vcf.gz
-rw-rw-r-- 1 yanke13 yanke13  12K Nov 12  2016 tmp.sam
-rw-rw-r-- 1 yanke13 yanke13  11K Nov 12  2016 tmp.sorted.bam
-rw-rw-r-- 1 yanke13 yanke13 4.8K Nov 12  2016 tmp.sorted.vcf.gz
-rw-rw-r-- 1 yanke13 yanke13  28K Aug 21 20:32 tmp.total.sam
十三、根据上面的命令,找到我使用的参考基因组 /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
十四、上面的后缀为BAM 的文件的第二列,只有 0 和 16 两个数字,用 cut/sort/uniq等命令统计它们的个数。
samtools view tmp.bam | cut -f 2 | sort | uniq -c
     29 0
     24 16
十五、重新打开 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
十六、下载 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

0 directories, 11 files
十七、解压 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
十八、下载 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
grep 'NM_000546' hg38.tss
NM_000546       chr17   7685550 7689550 1
grep 'NM_001126112' hg38.tss
NM_001126112    chr17   7685550 7689550 1
...  #还有很多对应的ID
十九、解析hg38.tss 文件,统计每条染色体的基因个数。
cat hg38.tss | cut -f2 | sort | uniq -c
二十、解析hg38.tss 文件,统计NM和NR开头的熟练,了解NM和NR开头的含义。
grep '^NM' hg38.tss | wc -l
51064
grep '^NR' hg38.tss | wc -l
15954

NM开头表示转录产物序列,成熟的mRNA序列
NR开头表示非编码的转录子序列,包括RNAs,假基因转子等

相关文章

网友评论

    本文标题:2019-08-21

    本文链接:https://www.haomeiwen.com/subject/wagisctx.html