一、在任意文件夾下面創建形如 1/2/3/4/5/6/7/8/9 格式的文件夾系列。
mkdir -p 1/2/3/4/5/6/7/8/9 # -p 遞歸創建目錄
tree . # 按樹狀圖顯示當前文件夾信息
二、在創建好的文件夾下面,里面創建文本文件me.txt
cd 1/2/3/4/5/6/7/8/9 #從當前目錄通過相對路徑轉到該目錄
vim me.txt #用vim 建立me.txt 文本文件
三、在文本文件me.txt
例輸入內容
Go to: http://www.biotrainee.com/
I love bioinfomatics.
And you ?
前三題效果如下
四、刪除上面創建的文件夾1/2/3/4/5/6/7/8/9
及文本文件 me.txt
cd ~ #回到原來家目錄
sudo rm -r 1 # -r 用于刪除目錄
五、在任意文件夾下面創建 folder1~5這5個文件夾,然后每個文件夾下面繼續創建 folder1~5這5個文件夾
mkdir temp-for-practice #創建一個練習目錄
cd temp-for-practice/ #轉到這個目錄
mkdir -p folder_{1..5}/folder_{1..5} #用循環方法創建目錄
tree #樹狀圖展示
六、在第五題創建的每一個文件夾下面都 創建第二題文本文件 me.txt ,內容也要一樣。(這個題目難度超綱,建議一個月后再回過頭來做)
xargs 是給命令傳遞參數的一個過濾器,也是組合多個命令的一個工具。xargs 一般是和管道一起使用。
命令格式:
somecommand |xargs -item command
代碼:
echo folder{1..5}/folder{1..5}|xargs -n 1 cp me.txt
#-n num 后面加次數,表示命令在執行的時候一次用的argument的個數,默認是用所有的。
七、再次刪除掉前面幾個步驟建立的文件夾及文件
rm -r folder_{1..5}
八、下載 http://www.biotrainee.com/jmzeng/igv/test.bed 文件,后在里面選擇含有 H3K4me3 的那一行是第幾行,該文件總共有幾行。
wget http://www.biotrainee.com/jmzeng/igv/test.bed
用vim打開
/vim test.bed
顯示行號:在命令模式下(輸入:) : set number
即可顯示行號,本文共有10行
查找字符串:命令模式下輸入:/H3K4me3
光標停在第一個字符串前面,按n
可查找下一個,發現所有該字符串在第8行
九、下載 http://www.biotrainee.com/jmzeng/rmDuplicate.zip 文件,并且解壓,查看里面的文件夾結構
wget http://www.biotrainee.com/jmzeng/rmDuplicate.zip
解壓
unzip rmDuplicate.zip
十、打開第九題解壓的文件,進入 rmDuplicate/samtools/single 文件夾里面,查看后綴為 .sam 的文件,搞清楚 生物信息學里面的SAM/BAM 定義是什么。
在生物信息學中尤其是高通量測序數據分析中,大部分的操作都是在實現短片段序列與參考序列的比對(mapping),比如bowtie等,這就涉及到如何使用一個統一的格式來表示這種mapping結果呢,sam(Sequence Alignment/Map)格式就是來解決這個問題的。sam文件擁有頭部描述和詳細比對兩部分,其中頭部描述是以@開頭,后面緊跟兩個縮寫字母表示相應的含義。
SAM分為兩部分,注釋信息(header section)和比對結果部分(alignment section),注釋信息可有可無,都是以@開頭,用不同的tag表示不同的信息,主要有@HD,說明符合標準的版本、對比序列的排列順序;@SQ,參考序列說明;@RG,比對上的序列(read)說明;@PG,使用的程序說明;@CO,任意的說明信息。而詳細比對部分是通過11個tab隔開的字段來表示。
詳見:https://blog.csdn.net/xcaryyz/article/details/79257604
十一、安裝 samtools 軟件
參考http://www.omicsclass.com/article/529
下載
wget https://nchc.dl.sourceforge.net/project/samtools/samtools/1.9/samtools-1.9.tar.bz2
解壓縮
tar jxvf samtools-1.9.tar.bz2
安裝
./configure --prefix=/home/pi/temp-for-practice/biosoft/samtools/samtools-1.9 #設置安裝路徑
出現報錯
查看git-hub中INSTALL
根據指導,發現需要安裝下面這些包,兩行代碼搞定
sudo apt-get update # Ensure the package list is up to date
sudo apt-get install autoconf automake make gcc perl zlib1g-dev libbz2-dev liblzma-dev libcurl4-gnutls-dev libssl-dev libncurses5-dev
再次安裝
./configure --prefix=/home/pi/temp-for-practice/biosoft/samtools/samtools-1.9 #設置安裝路徑
然后
make
make install
當然,我們要把它放到環境變量里面去,方法是
echo 'export PATH="/home/pi/temp-for-practice/biosoft/samtools/samtools-1.9/bin:$PATH" ' >>~/.bashrc
source ~/.bashrc
這樣以后就可以隨時隨地的調用,不需要加路徑
試驗一下,搞定!
[SAMtools] 常用指令總結
1、view 主要功能:sam和bam文件之間相互轉換,針對bam文件進行相關操作。bam文件是sam文件的二進制格式,占據內存較小且運算速度快。
2、sort 主要功能:對bam文件進行排序(不能對sam文件進行排序)
3、index 主要功能:對bam文件建立索引,但在此之前必須進行排序(sort),生成后綴是.bai的文件。
4、merge 功能:合并多個已經sort的bam文件
5、faidx 功能:對fasta格式的文件建立索引,后綴名.fai。根據索引文件和序列文件,可以快速提取任意區域的序列文件。
6、tview 作用:直觀顯示reads比對到基因組的情況,和基因組瀏覽器有點類似。
7、flagstat 作用:reads的比對情況統計
8、depth 作用:每個堿基位點的測序深度
9、mpileup 作用:對參考基因組每個位點做堿基堆積,用于call SNP和INDEL。主要是生成BCF、VCF文件或者pileup一個或多個bam文件。比對記錄以在@RG中的樣本名作為區分標識符。如果樣本標識符缺失,那么每一個輸入文件則視為一個樣本。
10、dict 作用:建立參考基因組字典
11、cat 作用:連接多個bam文件(不做排序)
12、split 作用:根據read group 分割bam文件
13、quickcheck 作用:檢查SAM/BAM/CRAM文件的完整性
14、fastq 作用:bam文件轉換為fastq
15、fasta 作用:bam文件轉換為fasta
16、idxstats 作用:檢索和打印與輸入文件相對應的index file里的統計信息
17、stats 作用:對bam文件做詳細統計,其統計結果可用mics/plot-bamstats作圖
18、reheader 作用:替換bam文件的頭
19、rmdup 作用:將由PCR duplicates 獲得的reads去掉,并保留高比對質量的reads
20、phase 作用:call雜合SNP,確定相位
21、calmad 作用:計算MD tag(a optional field,記錄了mismatch信息)
十二 打開 后綴為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 -H ~/temp-for-practice/rmDuplicate/samtools/single/tmp.sorted.bam
在文件底部找到了
十三題、根據上面的命令,找到我使用的參考基因組 /home/jianmingzeng/reference/index/bowtie/hg38 具體有多少條染色體
這里先學習一下linux中常用的幾個文本處理工具,號稱linux三劍客
awk
awk從放棄到入門(1):awk基礎 (通俗易懂,快進來看)
awk從放棄到入門(2):awk分隔符
awk從放棄到入門(3):awk變量
awk從放棄到入門(4):awk格式化
awk從放棄到入門(5):awk模式(Pattern)之一
awk從放棄到入門(6):awk模式(Pattern)之二
awk從放棄到入門(7):awk動作總結之一
awk從放棄到入門(8):awk動作總結之二
awk從放棄到入門(9):awk數組詳解
awk從放棄到入門(10):awk內置函數
sed
shell sed
grep
Grep命令的詳細使用方法
再來看第13題
https://blog.csdn.net/shenhuan1104/article/details/75852822
sed統計一下行數
十四題、上面的后綴為BAM 的文件的第二列,只有 0 和 16 兩個數字,用 cut/sort/uniq等命令統計它們的個數。
用samtools view
打開該文件
用awk命令提取第二列
發現只有0 和16兩個數字
用sort
排序后(非必要)grep
篩選,再用wc -l
統計行數即可
十五題、重新打開 rmDuplicate/samtools/paired 文件夾下面的后綴為BAM 的文件,再次查看第二列,并且統計
發現這次用
wc -l
的方法麻煩了,用uniq -c
就可以很好地解決問題。
十六題、下載 http://www.biotrainee.com/jmzeng/sickle/sickle-results.zip 文件,并且解壓,查看里面的文件夾結構, 這個文件有2.3M,注意留心下載時間及下載速度。
unzip sickle-results.zip
cd sickle-results/
tree
十七題、解壓 sickle-results/single_tmp_fastqc.zip 文件,并且進入解壓后的文件夾,找到 fastqc_data.txt 文件,并且搜索該文本文件以 >>開頭的有多少行?
注意用grep篩選以>>開頭的行時要轉義一下,然后用wc -l統計行數
十八題、下載 http://www.biotrainee.com/jmzeng/tmp/hg38.tss
文件,去NCBI找到TP53/BRCA1
等自己感興趣的基因對應的 refseq數據庫
ID,然后找到它們的hg38.tss
文件的那一行。
https://www.ncbi.nlm.nih.gov/gene/7157
在這里https://www.ncbi.nlm.nih.gov/gene/7157#reference-sequences找到許多NM開頭的id
就選這個了
可以看在在413行,在第17號染色體上
十九題、解析hg38.tss 文件,統計每條染色體的基因個數。
二十題、解析hg38.tss 文件,統計NM和NR開頭的數量,了解NM和NR開頭的含義。
最后百度一下:
NM_***:mRNA mixed,轉錄組產物序列;成熟mRNA轉錄本序列
NR_***:RNA mixed,非編碼的轉錄子序列,包括結構RNAs,假基因轉子等