用ggsashimi做可变剪切的可视化
生活随笔
收集整理的這篇文章主要介紹了
用ggsashimi做可变剪切的可视化
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
可變剪切的可視化軟件ggsashimi用R和python來實現, python準備好數據, 利用R畫圖。簡單好用,但也折騰了半天,現在把完成本次可視化的步驟詳細的記錄一下,必備以后用。
1. 準備可視化的基因注釋文件,基因的注釋文件是gtf格式,每個文件包含了這個基因的不同類型的可變剪切,可以從整個基因組注釋文件中提取出來,但需要注意的是有時候注釋文件中的染色體用,1,2,3等數字代替,而bam文件中的染色體是用 Chr1,Chr2等表示,切記要一致。代碼如下:
#比如我要注釋的基因是AT1G73660, 用轉錄本的正則來搜索 grep -P "AT1G73660\.\d+" Arabidopsis_thaliana.TAIR10.46.gtf > AT1G73660.gtf awk -F"\t" 'BEGIN{OFS="\t"} $1="Chr"$1' AT1G73660_1.gtf > AT1G73660_new.gtf #轉錄本的染色體的編號要和基因組的一致,基因組是Chr1, 轉錄本也用Chr1,新找的到轉錄本每行前面加Chr2. 準備bam文件,可將進行可視化的樣品的BAM文件放到一個文件夾中,然后將每個bam的信息寫到一個tsv(文本文件中),第一列是bam文件等編號,第二列是存放這些文件的地址,可以是相對路徑也可以是絕對路徑,第三列是每個bam文件等屬性,比如是對照組還是處理組,那一種處理等信息。這一列主要用來對樣品進行分類并且用不同的顏色表示。有幾類就在下邊的做圖參數?-C COLOR_FACTOR 寫幾。下邊是我整理的tsv文件的一個舉例
| bam1 | A0_Col_1.Psorted.bam | A0_Col |
| bam2 | A0_Col_2.Psorted.bam | A0_Col |
| bam3 | A200_Col_1.Psorted.bam | A200_Col |
| bam4 | A200_Col_2.Psorted.bam | A200_Col |
?
3.對樣品進行畫圖,采用ggsashimi的腳本,需要畫那幾個可變剪切的外顯子需要將region寫出來,也可以畫整個基因的所有外顯子的可變剪切情況。代碼如下:
## Example #1. Overlay, intron shrinkage, gene annotation, PDF output, custom size and colors sashimi-plot.py -b input_bam.tsv -c Chr1:27693102-27693738 -g AT1G73660_new.gtf -M 10 -C 3 -O 3 --shrink --alpha 0.25 --base-size=20 --ann-height=4 --height=3 --width=18 -P palette.txt -o AT1G73660_2## Example #2. Median coverage and number of reads supporting inclusion and exclusion, no gene annotation, TIFF output (350 PPI), custom size, default colors sashimi-plot.py -b input_bam.tsv -c Chr1:27693102-27693738 -M 10 -C 3 -O 3 -A median --alpha 1 -F tiff -R 350 --base-size=16 --height=3 --width=184. 效果如下:
5.如果要批量操作,比如很多基因,要在同樣的幾個bam文件中畫,按照如下代碼實現。
#準備一個包含基因,區域的文件,兩列,第一列是基因名字,第二列是染色體位置,Chr1:start-end 格式 #準備基因組的GTF文件,從而提取每個基因的不同轉錄本 #需要注意grep命令, 在Mac中是 -E, 而在Linux 中是-P。不知道是為什么。 cut -f1 gene_region.txt | while read id; do grep -E $id\\.\\d+ Arabidopsis_thaliana.TAIR10.46.gtf | awk -F"\t" 'BEGIN {OFS="\t"} $1="Chr"$1' > $id.gtf; done #準備好每個基因的GTF文件就可以批量做圖了 cat gene_region.txt | while read gene region; do ~/ggsashimi/sashimi-plot.py -b input_bam.tsv -c $region -g $gene.gtf -M 10 -C 3 -O 3 --shrink --alpha 0.25 --base-size=20 --ann-height=4 --height=3 --width=18 -P palette.txt -o $gene; done?
?
?
總結
以上是生活随笔為你收集整理的用ggsashimi做可变剪切的可视化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Mentor Graphics Ques
- 下一篇: 彻底卸载mysql