雜記:seqkit計(jì)算fasta序列的長(zhǎng)度和gc含量躲胳;ggpairs更改配色;ggplot2極坐標(biāo)添加直線

計(jì)算gc含量
seqkit.exe fx2tab --name --only-id --gc output.fasta -o gc.txt
image.png
計(jì)算序列長(zhǎng)度
seqkit.exe fx2tab --name --only-id -l output.fasta -o seqlen.txt
image.png
ggpairs更改配色

這個(gè)只是一種方案坯苹,還有好多問題沒有解決,比如如何給下三角和上三角賦予不同的顏色

代碼

library(GGally)
ggpairs(iris,columns = 1:4,
        lower = list(continuous="points",
                     mapping=aes(color=Species)),
        diag = list(continuous="densityDiag",
                    mapping=aes(fill=Species)),
        upper = list(continuous="cor",
                     mapping=aes(colour=Species)))+
  scale_color_manual(values=c("red","blue","green"))+
  scale_fill_manual(values = c("orange","yellow","purple"))+
  theme_bw()
image.png

歡迎大家關(guān)注我的公眾號(hào)

小明的數(shù)據(jù)分析筆記本

小明的數(shù)據(jù)分析筆記本 公眾號(hào) 主要分享:1、R語言和python做數(shù)據(jù)分析和數(shù)據(jù)可視化的簡(jiǎn)單小例子为鳄;2孤钦、園藝植物相關(guān)轉(zhuǎn)錄組學(xué)、基因組學(xué)静袖、群體遺傳學(xué)文獻(xiàn)閱讀筆記俊扭;3萨惑、生物信息學(xué)入門學(xué)習(xí)資料及自己的學(xué)習(xí)筆記!

ggplot2 作圖 極坐標(biāo)情況下添加直線

自己沒有想法如何實(shí)現(xiàn)解总,搜索引擎搜索關(guān)鍵詞 ggplot2 polar and then add straight lines
找到參考鏈接

https://stackoverflow.com/questions/66196451/draw-straight-line-between-any-two-point-when-using-coord-polar-in-ggplot2-r

代碼暫時(shí)還看不明白倾鲫,他是自己重新定義了一個(gè)函數(shù)乌昔,代碼我先復(fù)制過來,后面有時(shí)間來研究

library(tidyverse)
library(ggplot2)
df <- tibble(x = rep(letters,  each = 5),
             y = rep(1:5, 26),
             d =  rnorm(26 * 5))


p1 <- ggplot() +
  geom_tile(data = df,
            aes(x = x,
                y = y,
                fill = d)) +
  ylim(c(-2, 5)) +
  geom_segment(
    aes(
      x = "o",
      y = -1,
      xend = "z",
      yend = 3
    ),
    arrow = arrow(length = unit(0.2, "cm")),
    col = "red",
    size = 2
  ) 
p1
image.png
p1 + coord_polar()
image.png
自定義函數(shù)
geom_segment_straight <- function(...) {
  layer <- geom_segment(...)
  new_layer <- ggproto(NULL, layer)
  old_geom <- new_layer$geom
  geom <- ggproto(
    NULL, old_geom,
    draw_panel = function(data, panel_params, coord, 
                          arrow = NULL, arrow.fill = NULL,
                          lineend = "butt", linejoin = "round",
                          na.rm = FALSE) {
      data <- ggplot2:::remove_missing(
        data, na.rm = na.rm, c("x", "y", "xend", "yend", 
                               "linetype", "size", "shape")
      )
      if (ggplot2:::empty(data)) {
        return(zeroGrob())
      }
      coords <- coord$transform(data, panel_params)
      # xend and yend need to be transformed separately, as coord doesn't understand
      ends <- transform(data, x = xend, y = yend)
      ends <- coord$transform(ends, panel_params)
      
      arrow.fill <- if (!is.null(arrow.fill)) arrow.fill else coords$colour
      return(grid::segmentsGrob(
        coords$x, coords$y, ends$x, ends$y,
        default.units = "native", gp = grid::gpar(
          col = alpha(coords$colour, coords$alpha),
          fill = alpha(arrow.fill, coords$alpha),
          lwd = coords$size * .pt,
          lty = coords$linetype,
          lineend = lineend,
          linejoin = linejoin
        ),
        arrow = arrow
      ))
      
    }
  )
  new_layer$geom <- geom
  return(new_layer)
}

畫圖代碼

ggplot() +
  geom_tile(data = df,
            aes(x = x,
                y = y,
                fill = d)) +
  ylim(c(-2, 5)) +
  geom_segment_straight(
    aes(
      x = "o",
      y = -1,
      xend = "z",
      yend = 3
    ),
    arrow = arrow(length = unit(0.2, "cm")),
    col = "red",
    size = 2
  ) + 
  coord_polar()
image.png

曲線也是可以的

geom_curve_polar <- function(...) {
  layer <- geom_curve(...)
  new_layer <- ggproto(NULL, layer)
  old_geom <- new_layer$geom
  geom <- ggproto(
    NULL, old_geom,
    draw_panel = function(data, panel_params, coord, 
                          curvature = 0.5, angle = 90, ncp = 5,
                          arrow = NULL, arrow.fill = NULL,
                          lineend = "butt", linejoin = "round",
                          na.rm = FALSE) {
      data <- ggplot2:::remove_missing(
        data, na.rm = na.rm, c("x", "y", "xend", "yend", 
                               "linetype", "size", "shape")
      )
      if (ggplot2:::empty(data)) {
        return(zeroGrob())
      }
      coords <- coord$transform(data, panel_params)
      ends <- transform(data, x = xend, y = yend)
      ends <- coord$transform(ends, panel_params)
      
      arrow.fill <- if (!is.null(arrow.fill)) arrow.fill else coords$colour
      return(grid::curveGrob(
        coords$x, coords$y, ends$x, ends$y,
        default.units = "native", gp = grid::gpar(
          col = alpha(coords$colour, coords$alpha),
          fill = alpha(arrow.fill, coords$alpha),
          lwd = coords$size * .pt,
          lty = coords$linetype,
          lineend = lineend,
          linejoin = linejoin
        ),
        curvature = curvature, angle = angle, ncp = ncp,
        square = FALSE, squareShape = 1, inflect = FALSE, open = TRUE,
        arrow = arrow
      ))
      
    }
  )
  new_layer$geom <- geom
  return(new_layer)
}

ggplot() +
  geom_tile(data = df,
            aes(x = x,
                y = y,
                fill = d)) +
  ylim(c(-2, 5)) +
  geom_curve_polar(
    aes(
      x = "o",
      y = -1,
      xend = "z",
      yend = 3
    ),
    arrow = arrow(length = unit(0.2, "cm")),
    col = "red",
    size = 2
  ) + 
  coord_polar()

image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末疯特,一起剝皮案震驚了整個(gè)濱河市漓雅,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌组题,老刑警劉巖抱冷,帶你破解...
    沈念sama閱讀 219,539評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件旺遮,死亡現(xiàn)場(chǎng)離奇詭異趣效,居然都是意外死亡猪贪,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門热押,熙熙樓的掌柜王于貴愁眉苦臉地迎上來西傀,“玉大人,你說我怎么就攤上這事桶癣∮倒樱” “怎么了?”我有些...
    開封第一講書人閱讀 165,871評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵牙寞,是天一觀的道長(zhǎng)饺鹃。 經(jīng)常有香客問我莫秆,道長(zhǎng),這世上最難降的妖魔是什么悔详? 我笑而不...
    開封第一講書人閱讀 58,963評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮茄螃,結(jié)果婚禮上缝驳,老公的妹妹穿的比我還像新娘。我一直安慰自己归苍,他們只是感情好用狱,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,984評(píng)論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著拼弃,像睡著了一般夏伊。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上吻氧,一...
    開封第一講書人閱讀 51,763評(píng)論 1 307
  • 那天署海,我揣著相機(jī)與錄音,去河邊找鬼医男。 笑死砸狞,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的镀梭。 我是一名探鬼主播刀森,決...
    沈念sama閱讀 40,468評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼报账!你這毒婦竟也來了研底?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤透罢,失蹤者是張志新(化名)和其女友劉穎榜晦,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體羽圃,經(jīng)...
    沈念sama閱讀 45,850評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡乾胶,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,002評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了朽寞。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片识窿。...
    茶點(diǎn)故事閱讀 40,144評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖脑融,靈堂內(nèi)的尸體忽然破棺而出喻频,到底是詐尸還是另有隱情,我是刑警寧澤肘迎,帶...
    沈念sama閱讀 35,823評(píng)論 5 346
  • 正文 年R本政府宣布甥温,位于F島的核電站锻煌,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏姻蚓。R本人自食惡果不足惜炼幔,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,483評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望史简。 院中可真熱鬧乃秀,春花似錦、人聲如沸圆兵。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽殉农。三九已至刀脏,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間超凳,已是汗流浹背愈污。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留轮傍,地道東北人暂雹。 一個(gè)月前我還...
    沈念sama閱讀 48,415評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像创夜,于是被迫代替她去往敵國(guó)和親杭跪。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,092評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容