一、在任意文件夹下面创建形如 1/2/3/4/5/6/7/8/9
格式的文件夹系列。
mkdir test
cd test
mkdir -p 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
└── 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键,切换为插入模式,输入以下内容:
# Go to: http://www.biotrainee.com/
# I love bioinfomatics.
# And you ?
#上面的语句不用带“#”哟
#退出命令是,按 ESC 键跳到命令模式,然后输入 :q (不保存)或者 :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 --help #查看帮助文档
rm -rf 1
五、在任意文件夹下面创建 folder1~5
这5个文件夹,然后每个文件夹下面继续创建 folder1~5
这5个文件夹,效果如下:
mkdir -p folder{1..5}/folder{1..5}
ls *
这个没思路,选择了搜索
看了第一篇 在它的命令上面修改:
mkdir -p /tmp/test/{1..9}/src
改成了mkdir -p folder{1..5}/folder{1..5}
,一次成功的我膨胀起来。
六、在第五题创建的每一个文件夹下面都 创建第二题文本文件 me.txt
,内容也要一样。(这个题目难度超纲,讲义一个月后再回过头来做)
echo folder{1..5}/folder{1..5} | xargs -n 1
echo folder{1..5}/folder{1..5} | xargs -n 1 cp me.txt -v
xargs --help
方法一
for dirs in folder{1..5}/folder{1..5}; do cp me.txt $dirs; done
方法二
用echo和xargs 天呐,我忘了这两个方法哪个是我写的了,震惊。这么难,半年前的我是怎么搞明白的?那时候应该想不到再次见到这个题的时候我已经成了R语言讲师吧。
echo folder{1..5}/folder{1..5} | xargs -n 1 cp -v me.txt
方法2
七,再次删除掉前面几个步骤建立的文件夹及文件
rm -rf folder*
tree
八、下载 http://www.biotrainee.com/jmzeng/igv/test.bed
文件,后在里面选择含有 H3K4me3
的那一行是第几行,该文件总共有几行。
wget http://www.biotrainee.com/jmzeng/igv/test.bed
ls -lh
#解法1
less -S test.bed
/H3K4me3 #按下回车
#解法2
vim test.bed
:set nu
:/H3K4me3
#解法3
grep -n H3K4me3 test.bed
九、下载 http://www.biotrainee.com/jmzeng/rmDuplicate.zip
文件,并且解压,查看里面的文件夹结构。
wget http://www.biotrainee.com/jmzeng/rmDuplicate.zip
ls -ll
unzip rmDuplicate.zip
cd rmDuplicate
tree
十、打开第九题解压的文件,进入 rmDuplicate/samtools/single
文件夹里面,查看后缀为 .sam
的文件,搞清楚 生物信息学里面的SAM/BAM
定义是什么。
cd ./rmDuplicate/samtools/single/
less -S tmp.sam #最佳查看方式
cat tmp.sam
vim tmp.sam
十一、安装 samtools
软件
- 安装Miniconda3
mkdir -p ~/biosoft
cd ~/biosoft
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
2.设置conda镜像
source ~/.bashrc
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda
conda config --set show_channel_urls yes
3.调用conda 安装软件
conda install -y samtools
如果你对一个软件不了解的话,那么安装之前在https://bioconda.github.io/recipes.html,检索该软件包是否存在,或者使用 "conda search packagename"进行检索。
十二、打开 后缀为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
查看前5行
#cd rmDuplicate/samtools/single(路径)
tree
.
├── readme.txt
├── tmp.header
├── tmp.rmdup.bam
├── tmp.rmdup.vcf.gz
├── tmp.sam
├── tmp.sorted.bam
└── tmp.sorted.vcf.gz
zless -S tmp.rmdup.bam | head -n 5
BAM@@HD VN:1.0 SO:coordinate
@SQ SN:chr1 LN:248956422
@SQ SN:chr10 LN:133797422
@SQ SN:chr11 LN:135086622
@SQ SN:chr11_KI270721v1_random LN:100316
十三题、根据上面的命令,找到我使用的参考基因组 /home/jianmingzeng/reference/index/bowtie/hg38
具体有多少条染色体。
samtools view -H tmp.rmdup.bam | head -n 20
samtools view -H tmp.rmdup.bam | awk '{print $2}' | sort |uniq -c| grep -v '_'
1 ID:bowtie2
1 SN:chr1
1 SN:chr10
1 SN:chr11
1 SN:chr12
1 SN:chr13
1 SN:chr14
1 SN:chr15
1 SN:chr16
1 SN:chr17
1 SN:chr18
1 SN:chr19
1 SN:chr2
1 SN:chr20
1 SN:chr21
1 SN:chr22
1 SN:chr3
1 SN:chr4
1 SN:chr5
1 SN:chr6
1 SN:chr7
1 SN:chr8
1 SN:chr9
1 SN:chrM
1 SN:chrX
1 SN:chrY
1 VN:1.0
十四题、上面的后缀为bam
的文件的第二列,只有 0 和 16 两个数字,用 cut/sort/uniq
等命令统计它们的个数。
因为数据不同,使用的数据统计如下:
samtools view tmp.sorted.bam | head
samtools view tmp.sorted.bam | awk '{print $2}' | sort | uniq -c
29 0
24 16
# 此外,我统计了 tmp.sam文件,代码如下:
zless -S tmp.sam | head -n 12
SRR1042600.42157053 0 chr1 629895 42 51M * 0 0 ATAACCAATACTACCAATCANTACTCATCATTAATAATCATAATGGCTATA CCCFFFFFHHHHHJJJJJJJ#4AGHJJIIJJIIIIIJJJJIJIIIIJJIJI AS:i:-6 XN:i:0 XM:i:2 XO:i:0 XG:i:0 NM:i:2 MD:Z:11C8A30 YT:Z:UU
SRR1042600.42212881 0 chr1 629895 42 51M * 0 0 ATAACCAATACTACCAATCANTACTCATCATTAATAATCATAATGGCTATA @@<FDFFBFDHHFJEIIGJI#3AFHGEHEIJIIGIIGGIJIIJIGIIGIIJ AS:i:-6 XN:i:0 XM:i:2 XO:i:0 XG:i:0 NM:i:2 MD:Z:11C8A30 YT:Z:UU
SRR1042600.12010763 16 chr1 629895 24 51M * 0 0 ATAACCAATACTTCTAATCAAAACTCATCATTAATAATCATAATGGCTATA ?4B?1*4DD?11*1*?+22+<3F:3@EC:CC4EA,DEDDDDD?D3B:==+; AS:i:-10XN:i:0 XM:i:4 XO:i:0 XG:i:0 NM:i:4 MD:Z:11C0A1C6T29 YT:Z:UU
SRR1042600.29629551 16 chr1 629895 40 51M * 0 0 ATAACCAATACTACCAATCACTACTCATCATTAATAATCATAATGGCTATA HGF?JJHHFDHHGJJIHDFA+E?JIJJIIHGJJJJJJJHHHHHFFFFFCC@ AS:i:-8 XN:i:0 XM:i:2 XO:i:0 XG:i:0 NM:i:2 MD:Z:11C8A30 YT:Z:UU
SRR1042600.41910745 0 chr1 629896 42 51M * 0 0 TAACCAATACTACCAATCAANACTCATCATTAATAATCATAATGGCTATAG CC@FFFFFHHHHGIIHIJJJ#3<CFHCGGIIIJJJJJJJJIGGFHIIJFII AS:i:-6 XN:i:0 XM:i:2 XO:i:0 XG:i:0 NM:i:2 MD:Z:10C9T30 YT:Z:UU
SRR1042600.14329856 16 chr1 629896 8 18M1I32M * 0 0 AAACCAAATCCTCCAATCAAATCCTCATCATTAATAATCATAATGGCTATA #############################@IHHGCE9GHFHHHDDDDD<@@ AS:i:-18 XN:i:0 XM:i:5 XO:i:1 XG:i:1 NM:i:6 MD:Z:0T6T0A2A9A28 YT:Z:UU
SRR1042600.15078214 16 chr1 629896 40 51M * 0 0 TAACCAATACTACCAATCAATACCCATCATTAATAATCATAATGGCTATAG 9?1EFDD4CE?1F@?F<HFA<<C+F9HBC<<FEBBC4GD<=+8DDDDA=;1 AS:i:-8 XN:i:0 XM:i:2 XO:i:0 XG:i:0 NM:i:2 MD:Z:10C12T27 YT:Z:UU
SRR1042600.52533601 16 chr1 629896 40 51M * 0 0 TAACCAATACTACCAATCAATCCTCATCATTAATAATCATAATGGCTATAG D?0?*?1*?C?*EGC99>FA+3FBHBEBCA4HCC<:FFFFFF<DB?BD<@@ AS:i:-8 XN:i:0 XM:i:2 XO:i:0 XG:i:0 NM:i:2 MD:Z:10C10A29 YT:Z:UU
SRR1042600.41649846 0 chr1 629897 42 51M * 0 0 AACCAATACTACCAATCAATNCTCATCATTAATAATCATAATGGCTATAGC :?=DB=ABCF?FF>G<<<?F#3<C?CFHE@91?GFFEGEEEDD<?FADBG> AS:i:-6 XN:i:0 XM:i:2 XO:i:0 XG:i:0 NM:i:2 MD:Z:9C10A30 YT:Z:UU
SRR1042600.68213884 16 chr1 629898 40 51M * 0 0 ACCAATACGACCAATCAATACTCAACATCAATAATCATAATGGCTATAGCA #@B?0)1)*19FEC<22<+<+3,33CA,+:>F<B?:@C<4:=,:DADD?<? AS:i:-8 XN:i:0 XM:i:3 XO:i:0 XG:i:0 NM:i:3 MD:Z:8C15T3T22 YT:Z:UU
SRR1042600.41495229 0 chr1 629899 42 51M * 0 0 CCAATACTACCAATCAATACNCATCATTAATAATCATAATGGCTATAGCAA CCCFFFFFHHHHHJJJJJJI#4AFHIJJIJJJJIJJIJJJIJIJIJJJJHG AS:i:-6 XN:i:0 XM:i:2 XO:i:0 XG:i:0 NM:i:2 MD:Z:7C12T30 YT:Z:UU
SRR1042600.14534938 16 chr1 629899 8 51M * 0 0 AATCTCCCCCAATTCAATACTCATCATTAATAATCATAATGGCTATAGCAA ######################GFIICJJGIIIIIGHF>GHGHFFFFF@@C AS:i:-16XN:i:0 XM:i:8 XO:i:0 XG:i:0 NM:i:8 MD:Z:0C0C0A0A1A2A1C1A38 YT:Z:UU
cat tmp.sam | awk '{print $2}' | sort | uniq -c
29 0
24 16
十五题、重新打开 rmDuplicate/samtools/paired
文件夹下面的后缀为BAM
的文件,再次查看第二列,并且统计。
cd /test/rmDuplicate/samtools/paired
ls -ll
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 http://www.biotrainee.com/jmzeng/sickle/sickle-results.zip
unzip sickle-results.zip
cd sickle-results
tree
.
├── 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
十七题、解压 sickle-results/single_tmp_fastqc.zip
文件,并且进入解压后的文件夹,找到 fastqc_data.txt
文件,并且搜索该文本文件以 >>
开头的有多少行?
unzip single_tmp_fastqc.zip
cd single_tmp_fastqc/
less -S fastqc_data.txt
cat fastqc_data.txt | awk '/^>>/{print $0}'| 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
cd ~/test
wget http://www.biotrainee.com/jmzeng/tmp/hg38.tss
head hg38.tssp NR_046018 hg38.tss
NR_046018 chr1 9874 13874 0
grep -n NR_046018 hg38.tss
十九题、解析hg38.tss
文件,统计每条染色体的基因个数。
cat hg38.tss|awk '{print $2}' |sort |uniq -c
6050 chr1
2824 chr10
2 chr10_GL383545v1_alt
10 chr10_GL383546v1_alt
2 chr10_KI270825v1_alt
.....
#去掉后面的碎片基因
cat hg38.tss|awk '{print $2}' | sort | uniq -c | grep -v '_'
6050 chr1
2824 chr10
3449 chr11
2931 chr12
1122 chr13
1883 chr14
2168 chr15
2507 chr16
3309 chr17
873 chr18
3817 chr19
4042 chr2
1676 chr20
868 chr21
1274 chr22
3277 chr3
2250 chr4
2684 chr5
3029 chr6
2720 chr7
2069 chr8
2301 chr9
2 chrM
2553 chrX
414 chrY
二十题、解析hg38.tss
文件,统计NM
和NR
开头的熟练,了解NM
和NR
开头的含义
cat hg38.tss |awk '{print $1}'|cut -c 1-2 |sort| uniq -c
51064 NM
15954 NR
作者:土豆学生信
链接:https://www.jianshu.com/p/a7e22bfd66bb
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。