《時空旅人之妻》細膩地刻劃出由於時空錯置所引發的複雜情緒,如悲傷、惆悵與無奈等。以主角亨利為例,在他首次覺悟到,自己竟然是唯一的時空穿越者的情節中,作者精確地捕捉並揭露了年幼亨利的失落與成年亨利的無助,以及無論在何時都無法擺脫的孤獨。

這橋段我非常喜歡,因此全文引述如下:

這若即若離的半透明時刻。另一個我原先搞不太清楚,然後就懂了。就像現在這樣,我看著這件事情發生,希望同時成為我們兩個,希望再感受那種迷失自己的感覺,希望再一次感受第一次看到未來和現在夾雜在一起的感覺。但是我已經太習慣、太熟悉這種感覺了,所以我只能當個局外人。我想起我九歲時的驚訝,我那時突然了解:我的朋友、導師兼哥兒們,就是我。我,就只有我。這種感覺真寂寞。

閱讀全文 »

Nextflow 會為分析流程的每一步建立工作目錄,再以工作目錄為中心接收資料、儲存暫存檔和匯出結果。工作目錄預設在 nextflow 腳本執行路徑下的 work/,可透過添加執行選項、調整參數設定、設置環境變項等三種方式自訂工作目錄的路徑。

閱讀全文 »

編輯中文文件時,為了輸入英文術語或是標記符號得頻繁點選 Shift 切換輸入法。是否有方法能減輕切換輸入法的麻煩,提升新注音輸入法的使用體驗?

除了頻繁按 Shift 這行為本身以外,另一個麻煩是忘記切回輸入法會增加刪字的負擔。因此,減輕切換輸入法負擔的方向有幾個:降低切換輸入法的頻率、減少忘記切換輸入法的困難、降低切換輸入法的負擔。

在這篇文章中,我將介紹目前有哪些解決問題的途徑或專案,讓新注音自動切換輸入法有哪些潛在困難,以及我自己的嘗試。

閱讀全文 »

彈出視窗是以鍵盤瀏覽網頁的最大阻礙。這些視窗的內容不外乎會員邀請、推薦連結、蓋板廣告與網站公告等,是網站而定,通常沒辦法以 tab 來點擊,之前介紹的 Vimium 功能也沒辦法為這些視窗上的連結打標籤。由於彈出視窗並非廣告,所以下載 adblock 也無法阻擋之。所以往往只能乖乖移動滑鼠關閉之。

因為這些彈出視窗設計有別於html 內建的元素,所以有些更糟糕的案例是連關閉按鈕都沒有顯示在頁面上,強迫使用這點開網頁才能關閉之。

在得知 Vimium 點擊連結的方便之後,我嘗試修改 Vimium 的程式碼,讓他可以為原先沒辦法點擊的連結標註標籤

閱讀全文 »

Nextflow 透過 channel 媒介 process 間的檔案傳遞,讓輸出入檔案以軟連結集中到 process 的工作目錄。不過若想從工作目錄取出分析的最終結果,有賴 publishDir directive 的協助。

閱讀全文 »

在 Nextflow 的框架,channel 媒介了 process 間的資料傳遞。雖然資料進出 channel 遵循先進先出 (first-in, first out, FIFO) 原則,但隨後 nextflow 會平行處理這些資料,所以 process 釋出資料的順序取決於執行速率,而不是原先輸入的順序(見下例)。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// demoEmitOrder.nf
process A {
input:
val num
output:
stdout
"""
echo "${num}"
"""
}

workflow {
nums = channel.of("1", "2", "3")
nums.view()
A(nums).view()
}
1
2
3
4
5
6
7
8
9
$ nextflow run demoEmitOrder.nf
1
2
3
1

3

2

Nextflow 這項特性使得輸入彼此相依的資料時要格外留意,因為可能在定序產物品管時,發生不同樣本的順逆序列(例如:a_r1.fa 與 b_r2.fa 合併)的狀況;又或是使用 GATK 這類需要參考基因體的工具時,無法為 .fasta 找到對應 .dict.fai 檔的情形。

因此,本文將介紹如何將想要一起輸入的檔案以及其辨識碼組合成 tuple (例如:["ID", "ID_r1.fastq", "ID_r2.fastq"]),確保成對資料同進同出,還能透過辨識碼與其它資料合併。

閱讀全文 »

狀況描述

原本在 Windows 都能正常用 VSCode Remote SSH 連線伺服器,但一早卻發現連線失敗。當時,VSCode 不斷要求輸入密碼卻無法登入,”OUTPUT” 頁面提示的訊息節錄如下:

Failed to parse remote port from server output

Acquiring lock on /home/username/.vscode-server/bin/some-hash-code-here/vscode-remote-lock.username.some-hash-code-here

版本資訊:windows 21H2, VSCode 1.74.2

閱讀全文 »

Process 是 nextflow 管理分析流程的基本單位,可包含能在 linux shell 執行的程式碼(例如 linux command, python code)、腳本(例如自訂的 hello-world.sh)與軟體(例如 GATK 或 FastQC)。 Process 之間彼此獨立,各有各的工作目錄,也可以分別設定其執行環境(例如 docker container 或 conda environment)。

Channel 則媒介了 process 間的資料交流,若不透過 channels 串接,process 間的檔案或變項無法共享。舉凡字串、數值、檔案路徑乃至標準輸出等,皆有對應的 qualifier 讓 nextflow 知道怎麼處理得自於 channel 的各式資料。

閱讀全文 »
0%