我的GWAS高級(jí)曼哈頓圖折騰過程

原圖封面

如果說別人畫圖是折騰自己,那我畫圖可能就是折騰自己兼折騰群主.......
首先在這里感謝何大哥哈(知乎:hewm2008)、很耐心的為我解答了許多問題。

首先簡(jiǎn)要的說一下我這里作圖的要求
  • 做四組數(shù)據(jù)圖
  • 做一組基因標(biāo)注
  • 做好各種標(biāo)注
其次我簡(jiǎn)要的說明一下我這次我遇到的問題,希望其他人可以少折騰一下
  • 軟件安裝不了-因?yàn)閞ectchr是基于perl-SVG作圖的,但是SVG安裝不上。。。。。。主要有以下幾點(diǎn),perl模塊網(wǎng)站打不開,我也不知道咋回事。
    ++ 解決方法:github搜索安裝,如果github上不了,建議上gitee。
  • 模塊加載不了-模塊準(zhǔn)確安裝后,加載不了,提示找不到SVG.pm
    ++ 解決方法:模塊只是安裝在下載目錄里,需要將安裝后的模塊及附加文件cope到軟件提示的文件夾里。
  • 文件畫出來是混亂的(一般來說,文件沒有問題,軟件只會(huì)提示幾個(gè)簡(jiǎn)單參數(shù)),還有windows轉(zhuǎn)過去的文件的換行符有問題,linux與windows換行符不一樣。
    ++ 解決方法:利用dos2unix 代碼dos2unix file,如果沒有這個(gè)軟件可以用cat或者awk寫腳本轉(zhuǎn)換。
  • 圖畫的到處都是,不能區(qū)分染色體
    ++ 解決方法:每一個(gè)表頭都需要有一個(gè)“#”例如 #chr start end pi
  • PairWiseLink參數(shù)不理解,一昧的抄代碼不是好事,做事需要找一個(gè)契機(jī)多思考,多多的有想法。
    ++ PairWiseLink參數(shù)主要取三個(gè)東西、畫一條曲線曲線的起點(diǎn)為start,終點(diǎn)為end。我一開始沒有理解清楚這個(gè)層的概念,導(dǎo)致走了很多彎路。在做gwas基因標(biāo)注的時(shí)候我建議靠近下一層的end不改動(dòng),用來指出該基因的位置,我們改變start的數(shù)據(jù),來調(diào)整基因的位置、以避免造成gene擁擠。
  • 至今沒有理解的問題、一條染色體太多基因,gene文字可以經(jīng)過調(diào)整往下一個(gè)染色體上擠擠。(請(qǐng)別介意我用這么口語的文字,哈哈哈),但是我想往前面稍稍那又該怎么辦了。
    ++ 等我想好了我在給大家說。
  • 許多不常見的參數(shù)介紹
    ++ ScaleNum=-1 用于去掉圖上面的物理位置標(biāo)注圖(你問我為什么要去?因?yàn)槲覍?dǎo)師不認(rèn)同把物理位置加在一起放成一條的作法,哎,挨批唄。)
    ++ crBegin 用于更改text的文字,與之為一起的是crMid and crEnd
    ++ NameCol=顏色 用于更改分層名稱的顏色-cor or col-傻傻分不清楚,當(dāng)時(shí)發(fā)現(xiàn)的我,我自己都笑了。
    ++ 其他的我都在配置文件里標(biāo)好了

軟件介紹

RectChr主要用于基于Chr染色體水平上多層次的可視工具,對(duì)一些統(tǒng)計(jì)變量用點(diǎn),線,柱狀和heatmap、高亮,文本文字,彩虹鏈接, 連接,動(dòng)態(tài)熱度圖,動(dòng)態(tài)柱狀圖以及結(jié)合顏色【即線,散點(diǎn),直方圖,熱圖,文本, line, scatter/point, histogram , PairWiseLink,link, heatmap(highlights)和text/ 】等 可視化各chr上各區(qū)域這個(gè)統(tǒng)計(jì)量,達(dá)到快速一眼看出規(guī)律,識(shí)別結(jié)果。 并且各種可以自己組合 自由修改相關(guān)參數(shù),使用方法極像circos的一樣。

簡(jiǎn)單點(diǎn)說circos可以畫的,這兒均可以畫,只是把圈圈圖改為長(zhǎng)方型的。其中自己搭配層顏色等,同時(shí)也比circos多了一些默認(rèn)配置,用起來十分簡(jiǎn)單,如SNP GC密度 直接輸入文件即可。

可以在多個(gè)場(chǎng)景應(yīng)用,其中官方簡(jiǎn)要提供了10個(gè)實(shí)列,程序網(wǎng)址提供了這些實(shí)例的配置文件和輸入文件。用法用法簡(jiǎn)單,在有相關(guān)數(shù)據(jù)的前提下,主要定義層數(shù)各層的畫圖方式。具體內(nèi)容可見軟件介紹。

GWAS官方繪制解法及出圖

##################################### 全局參數(shù) #######################################################

SetParaFor = global
File1  = ./Gwas.data.pvlue.gz  ##  這個(gè)是必須輸入?yún)?shù),并且盡量放在最前,格式為[Chr Start End Value1 Value2 ... ValueN]
File2  = ./site.text.info
ValueX = 4            ##  多少層,類同circos多少個(gè)圈,這不設(shè)默認(rèn)是N,即根據(jù)File1的格式來的,可以自己設(shè)
ChrSpacingRatio =0.2  ##  不同染色體chr之間的間隔比例(ChrWidth*ChrSpacingRatio)
Main = "GWAS_Figure"  ##  the Figtur Name   #font-size  strokewidth=1;  fill="green"
ChrArrayDirection = horizontal  ##  horizontal/vertical  chr是按縱排列還是橫排列
CanvasHeightRitao = 0.7  ##  畫布最下面若有空白 截取上面的0.7   (1.17版本以上才有的參數(shù))


######    默認(rèn)各層的配置參數(shù) 若各層沒有配置的會(huì),則會(huì)用這兒的參數(shù) ######

SetParaFor = LevelALL  ##  下面是處理初始化參數(shù) SetParaFor 參數(shù)處理,若為 LevelALL,即先為所有層設(shè)置的默認(rèn)值
ShiftGradienY=-55  ## 漸變條上移動(dòng)
ShiftGradienX=-20 ## 漸變條左移動(dòng)
ShiftChrNameX=60   # chr名右移
ShiftChrNameY=100   # chr名下移

##################################### 各層的參數(shù) #######################################################
###   具體某層的具體配置   把 DealLevePara  設(shè)為具體正數(shù)(<=ValueX),然后可以具體修改此層要改變的部分


SetParaFor=Level1    ##  下面開始處理第 1 層 參數(shù)處理
PType  = text
ShowColumn = File2:5 ##
crBG="#FFFFFF"   # 白色,即沒有背景
ChrWidth=40  #  放text的名字 寬度長(zhǎng)點(diǎn)
Rotate=-90   # 旋轉(zhuǎn) 90度  文字
TextFontRatio=1.2  # 文字 放大為原來的1.2倍
NoShowGradien=1  # 不顯示漸變條

SetParaFor=Level2
ShowColumn = File2:5  ##  把file0的第四列用散點(diǎn)圖形式畫出來)
ChrWidth=30       ##這一層寬度調(diào)高點(diǎn)
PType  = PairWiseLink    
StyleUpDown = UpDown
NoShowBackGroup=1 # 同 crBG="#FFFFFF"  一樣 即沒有背景
SizeGradienRatio=0.8  # 漸變條 縮小為原來的0.8

SetParaFor=Level3    ##  下面開始處理第 3 層 參數(shù)處理
PType  = point    ##  散點(diǎn)
ShowColumn = File1:4
ChrWidth=100       ##這一層寬度調(diào)高點(diǎn)
LogP=1   #  0-log()   對(duì)數(shù)值進(jìn)行取log
crBG="#FFFFFF"  # 背影為白色,實(shí)沒有畫
TopVHigh=1.1   #  只要大于1時(shí)就會(huì)取最高點(diǎn)
ShowYaxis=1    #  顯示左邊數(shù)值
ValueSpacingRatio=0.04  #和一層空一點(diǎn)
CirsizeRatio=1.2  ## 散點(diǎn)的大小按默認(rèn)放大縮小
Cutline=5            ## 設(shè)置閾值線,顏色默認(rèn)為紅   CorCutline=green 

SetParaFor=Level4   #  這一層啥都不畫 僅用背景條
ShowColumn = File1:4
ChrWidth=10
PType  = EEE     #啥都不畫  空

其中site.text.info如下格式(第四列沒有用到)

#chr    PlotSiteA       RealSiteB       Pvalue  TextName
B05     10530308        18530308        1.13E-6 GeneA
B05     18550295        18550295        2.2607E-6       GeneB
B05     25627687        18627687        5.6192E-5       GeneC
B02     39381           939381  6.0143E-5       GeneD
B02     5893253         893253  6.0402E-5       GeneE
B02     10879727        879727  8.8115E-5       GeneF

出圖結(jié)果

曼哈頓圖.jpg

GWAS配置介紹

現(xiàn)畫高級(jí)點(diǎn)的GWAS的曼哈頓圖,主要要點(diǎn)如下:

1、RectChr多層,各層高度可以設(shè)不同,chr橫放,其中chr間隙小點(diǎn)

2、Gwas的點(diǎn)層用point(PType = point)來畫,高度高點(diǎn)(ChrWidth=100),不畫背景(crBG="#FFFFFF"),和設(shè)置一下閾值線(Cutline=5)

3、其中用 Pairwiselink標(biāo)同點(diǎn)的線,用text層畫出gene名(Rotate=-90 # 旋轉(zhuǎn) 90度 文字)

4、其中text層和Pairwiselink畫線的方式和顏色可以自己調(diào),我這為了省事,用默認(rèn)的。

我的配置代碼

##################################### 全局參數(shù) #######################################################
SetParaFor = global
File5  = ccc
File6  = Genegene.txt
File1  = FST_n-b.txt  ##  這個(gè)是必須輸入?yún)?shù),并且盡量放在最前,格式為[Chr Start End Value1 Value2 ... ValueN]
File2  = FST_n-w.txt  ##  這個(gè)是必須輸入?yún)?shù),并且盡量放在最前,格式為[Chr Start End Value1 Value2 ... ValueN]
File3  = XPEHH_n-b.txt
File4  = XPEHH_n-w.txt  ##  其中用NA表示不畫,chr End End NA不畫但End可以用來貝記為chr的長(zhǎng)度
ScaleNum=0
ValueX = 9             ##  多少層,類同circos多少個(gè)圈,這不設(shè)默認(rèn)是N,即根據(jù)File1的格式來的,可以自己設(shè)
#Main="FST and XPEHH"
#MainRatioFontSize=0.8
ChrSpacingRatio =0.03  ##  不同染色體chr之間的間隔比例(ChrWidth*ChrSpacingRatio)
ChrArrayDirection = horizonta  ##  horizontal/vertical  chr是按縱排列還是橫排列  
##其它當(dāng)很少用到的參數(shù) BGChrEndCurve=1/等等

################################ Figure ############################################################

Chromosomes_order=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26

##############################     畫布 和 圖片 參數(shù)配置 #################################




##################################### 各層的參數(shù) #######################################################
SetParaFor=LevelALL  ##  下面是處理初始化參數(shù) SetParaFor 參數(shù)處理,若為 LevelALL,即先為所有層設(shè)置的默認(rèn)值
PType  = line       ##  線,散點(diǎn),直方圖,熱圖,文本和共線性link, line, scatter/point, histogram ,link, heatmap(highlights)和text,PairWiseLink
ChrWidth=45
ShowYaxis=0            ##是否顯示所有層的Y axis的起終點(diǎn)值,默認(rèn)值此:0 不顯示
NoShowGradien=1
BGChrEndCurve=1
ChrNameRatio=0.7
ShiftChrNameX=21      #chr右移動(dòng)
ShiftChrNameY=175

#SizeGradienRatio=0.8  # 漸變條變小點(diǎn)
#ShiftGradienY=-120     # 漸變條 上移

SetParaFor=Level1   #  下面開始處理第 1 層 參數(shù)處理這一層啥都不畫 僅用背景條
ShowColumn = File1:4
ChrWidth=10
PType  = EEE     #啥都不畫  空

SetParaFor=Level2    ##  下面開始處理第 2 層 參數(shù)處理
PType  = text
ShowColumn = File6:8 ##  默認(rèn)為file0 的4列,改為5
ciMid="0C0C0C“
crEnd="0C0C0C“
crBegin="0C0C0C“
crBG="#FFFFFF"   # 白色,即沒有背景
ChrWidth=40  #  放text的名字 寬度長(zhǎng)點(diǎn)
Rotate=-90   # 旋轉(zhuǎn) 90度  文字
TextFontRatio=0.8  # 文字 放大為原來的1.2倍
NoShowGradien=1  # 不顯示漸變條

SetParaFor=Level3
ShowColumn = File6:8  ##  把file0的第四列用散點(diǎn)圖形式畫出來)
ChrWidth=20       ##這一層寬度調(diào)高點(diǎn)
PType  = PairWiseLink
StyleUpDown = UpDown
NoShowBackGroup=1 # 同 crBG="#FFFFFF"  一樣 即沒有背景
ChrSpacingRatio =0

SetParaFor=Level4    ##  下面開始處理第 4 層 參數(shù)處理  
ShowColumn = File5:5  ##  默認(rèn)為file0 的第5列,改為4
BGWidthRatio=0.5        ## 背景的寬度變小點(diǎn)
ChrWidth=10
PType  = heatmap       ##  熱圖

SetParaFor=Level5   ##  下面開始處理第 5層 參數(shù)處理
ShowColumn=File1:4  ##  把file1的第五列用散點(diǎn)圖形式畫出來)
crBegin="#FC0E31"
LevelName=FST_n-b
NameRatioFontSize=0.8
NameRotate=-70
ChrWidth=75
ShiftNameY=1
NameCol = "#1B1B1B"
crBG="#FFFFFF"

SetParaFor=Level6    ##  下面開始處理第 6層 參數(shù)處理
ShowColumn=File2:4  ##  把file1的第五列用散點(diǎn)圖形式畫出來)
crBegin="#08894D"
LevelName=FST_n-w
NameRatioFontSize=0.8
NameRotate=-75
NameCol = "#1B1B1B"
ChrWidth=80
ShiftNameY=2
crBG="#FFFFFF"

SetParaFor=Level7   ##  下面開始處理第 7層 參數(shù)處理
ShowColumn=File3:4  ##  把file1的第五列用散點(diǎn)圖形式畫出來)
crBegin="#31170D"
LevelName=XPEHH_n-b
NameRatioFontSize=0.8
NameRotate=-75
NameCol = "#1B1B1B"
Cutline=2
ChrWidth=80
crBG="#FFFFFF"

SetParaFor=Level8    ##  下面開始處理第 8層 參數(shù)處理
ShowColumn=File4:4  ##  把file1的第五列用散點(diǎn)圖形式畫出來)
crBegin="#FFFD611"
LevelName=XPEHH_n-w
NameRatioFontSize=0.8
Cutline=2
NameRotate=-75
NameCol = "#1B1B1B"
crBG="#FFFFFF"

SetParaFor=Level9    ##  下面開始處理第 9層 參數(shù)處理
PType  = linesEEE
ChrWidth=22
ShowColumn=File4:4 

OUT1_LI.jpg

總結(jié)一下

擁有圖層的概念,擁有一個(gè)好導(dǎo)師,可以給你一定的自由,用于一個(gè)領(lǐng)路人,多認(rèn)識(shí)幾個(gè)大佬。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容