Hunglin's Blog
風中一匹狼
2023-11-13T16:00:00.000Z
https://blog.hlin.tw/
Hung-Lin, Chen
Hexo
Pull request 與其自爽不如貢獻開源
https://blog.hlin.tw/5367838dc912/
2023-11-13T16:00:00.000Z
2023-11-13T16:00:00.000Z
Nextflow平行與合併處理
https://blog.hlin.tw/7ace8e53a0ea/
2023-08-05T16:00:00.000Z
2023-08-05T16:00:00.000Z
<p><img src="/7ace8e53a0ea/reich_cover.png"> </p>
<h2 id="前言"><a href="#前言" class="headerlink" title="前言"></a>前言</h2><p>這篇文章是爲了自己要學習幾個Nextflow的重要功能而寫的<br>並寫一個程式實踐這些功能 </p>
<p>Nextflow的基本概念會跳過不講<br>可以參考我之前寫的文章快速了解或是看<a href="https://nextflow.io/docs/latest/index.html">官方文件</a> </p>
<blockquote>
<a href="/f71b8325ca3f/" title="Nextflow教學 - 以最小可行專案為例">Nextflow教學 - 以最小可行專案為例</a>
</blockquote>
<p>看這篇你能夠瞭解到以下的功能 </p>
<ol>
<li>平行與合併處理檔案 </li>
<li>運算資源分配 </li>
<li>輸出結果至指定目錄</li>
</ol>
NT FASTA近億等級數量索引
https://blog.hlin.tw/fcafe9489b81/
2023-07-05T16:00:00.000Z
2022-07-05T16:00:00.000Z
<p><img src="/fcafe9489b81/cover.png"></p>
<p>情境說明,自己玩的專案中需要建立NT資料庫<br>並且需要經過資料清洗,像是將資料庫分成human和non human的fasta<br>並將無taxon分類的sequences排除<br>可怕的是目前的NT的序列數已達到9400萬條 </p>
<p>策略是先遊歷一遍整個檔案<br>並記錄每個sequence的taxid及file offset (<code>f.tell()</code>)儲存到dictionary </p>
<p>透過記錄的offset,使用<code>f.seek()</code>快速到達指定的sequence位置,並依據taxid判斷是屬於human或non human的sequence分別寫入到兩個fasta </p>
<p>因此本篇測試有哪些key-value類型的資料結構可以快速索引fasta中seqid於檔案中位置<br>且符合時間成本、硬體資源等效益 </p>
記憶體插滿4條無法開機
https://blog.hlin.tw/21de901a25b4/
2023-06-11T16:00:00.000Z
2023-06-11T16:00:00.000Z
<p>這篇是成功案例,但每次更換電子零件都是場賭注<br>如果更換完按下開機鍵有不如預期的狀況真的很想死 </p>
<p>先講結論,調整記憶體電壓就成功了,但要發現是電壓問題… </p>
台灣文蛤是新種?怎樣算新種?
https://blog.hlin.tw/5ab1b4fb51a5/
2023-04-16T16:00:00.000Z
2023-04-16T16:00:00.000Z
<p><img src="/5ab1b4fb51a5/meretrix.png"></p>
<h2 id="前言"><a href="#前言" class="headerlink" title="前言"></a>前言</h2><p>最近的一個新聞報導臺灣人常吃的蛤蜊原來是全新的物種<br>以前都一直以爲是1920年代引進到台灣的麗文蛤,經過水試所研究人員研究發現是不同於該物種的全新種 </p>
Makura v1.2.0 更新說明
https://blog.hlin.tw/d303a65199ee/
2023-03-18T16:00:00.000Z
2023-03-19T15:03:05.872Z
<p>Makura的功能介紹可以看上一篇 </p>
<a href="/20d27a447bc9/" title="Makura安裝與使用 - 批量下載NCBI genomes">Makura安裝與使用 - 批量下載NCBI genomes</a>
<pre class="line-numbers language-bash" data-language="bash"><code class="language-bash">pip <span class="token function">install</span> <span class="token assign-left variable">makura</span><span class="token operator">==</span><span class="token number">1.2</span>.0<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre>
<p>這篇介紹1.0.0到1.2.0之間增加的功能和修復的bug</p>
2023更新至docker 23.0.1的問題
https://blog.hlin.tw/02fb085d4bd2/
2023-03-07T16:00:00.000Z
2023-03-07T16:00:00.000Z
2022 Review雞腸道菌相分析方法
https://blog.hlin.tw/5c2f5a61d0f2/
2022-12-18T16:00:00.000Z
2022-12-18T16:00:00.000Z
<p><img src="/5c2f5a61d0f2/chicken_gut_metagenome.png"></p>
<p>研究雞的腸道菌相除了要做基礎研究外,大多是為了提升生長和生產表現以及減少對抗生素依賴<br>來看看近幾年的相關研究的菌相分析方法以及分析流程會使用到哪些工具</p>
Makura安裝與使用 - 批量下載NCBI genomes
https://blog.hlin.tw/20d27a447bc9/
2022-12-11T16:00:00.000Z
2022-12-11T16:00:00.000Z
<p><img src="/20d27a447bc9/download_ncbi_genomes.png"></p>
<h2 id="Introduction"><a href="#Introduction" class="headerlink" title="Introduction"></a>Introduction</h2><p>目的是要一次大量下載NCBI的assembly genome<br>Q:這種需求什麼時候會用上呢?<br>A: 生物資訊分析genomics或metageomics資料常會需要下載指定物種或是所有屬於微生物的genomes </p>
No space left on device - Too many files in a single directory
https://blog.hlin.tw/08ff87a15632/
2022-12-01T16:00:00.000Z
2022-12-01T16:00:00.000Z
<p><img src="/08ff87a15632/filesystem_limit.png"></p>
<p>最近從NCBI下載大量的genome fasta到硬碟的單一目錄下<br>到16000左右的時候就跳出類似下方的錯誤訊息 </p>
<pre class="line-numbers language-none"><code class="language-none">mv: cannot move ‘/soure/genome.fna.gz’ to ‘/dist/genome.fna.gz’: No space left on device<span aria-hidden="true" class="line-numbers-rows"><span></span></span></code></pre>
自製NFC電子名片
https://blog.hlin.tw/63fcb5d36674/
2022-11-25T16:00:00.000Z
2022-11-25T16:00:00.000Z
Nextflow教學 - 以最小可行專案為例
https://blog.hlin.tw/f71b8325ca3f/
2022-11-19T16:00:00.000Z
2022-11-19T16:00:00.000Z
<p><img src="/f71b8325ca3f/nextflow_plott.png"></p>
<h2 id="Introduction"><a href="#Introduction" class="headerlink" title="Introduction"></a>Introduction</h2><p>workflow framework要學嗎?<br>其實也不一定要,自己用python之類的自刻一套完整有邏輯的workflow framework(之後簡稱WF)也行</p>
<p>只是想說104上面一堆公司都在那邊最好要會Nextflow<br>就來學學吧,大家統一都用一樣的WF也好 </p>
<p>網路上的教學文章超級少<br>而且大多都在那邊抄官網的教學翻成中文而已= =<br>完全沒有一個可以當做友善快速入門的,一堆農場文章<br>最後我的學習資源還是來自官網說明文件和官方發佈在yt的教學影片<br>(但都覺得寫的不是很符合需求= =)</p>
透過Gmail收發個人網域的電子郵件
https://blog.hlin.tw/9588b4fa812a/
2022-10-30T16:00:00.000Z
2022-10-30T16:00:00.000Z
Jira and self-managed Gitlab integration
https://blog.hlin.tw/985a2352d7bd/
2022-10-17T16:00:00.000Z
2022-10-17T16:00:00.000Z
<p><img src="/985a2352d7bd/jira_gitlab.png"> </p>
<h2 id="Introduction"><a href="#Introduction" class="headerlink" title="Introduction"></a>Introduction</h2><p>此方法是整合Jira和自己架設的gitlab,不是gitlab官方提供的喔(<a href="https://about.gitlab.com/">gitlab.com</a>) </p>
<p>目的是可以將git commit的message連結到Jira的issue<br>只要在message最前面加上 jira issue的id,commit到gitlab時issue id就會變成連結到jira project </p>
<p>下圖是gitlab project的檔案架構,<code>CH-1</code>是jira的issue id<br>可以看到CH-1會變成超連結,可以導向該issue </p>
<p><img src="/985a2352d7bd/gitlab_project.png"> </p>
Backup mysql from docker container
https://blog.hlin.tw/731650b3210e/
2022-10-08T16:00:00.000Z
2022-10-08T16:00:00.000Z
<h2 id="Introduction"><a href="#Introduction" class="headerlink" title="Introduction"></a>Introduction</h2><p>為了讓想要保存下來的資料可以不會因為容器停止就蒸發掉<br>都會使用<strong>資料卷</strong>掛載到本地檔案系統<br>像Mysql的資料存放位置在<code>/var/lib/mysql</code><br>如果需要移植到其他主機時是不能夠直接<code>cp -r</code>的<br>mysql儲存的資料是會辨認主機身份,之前也發現<code>/var/lib/mysql</code>是不能指定在NFS這類掛載網路硬碟的位置 </p>
單人用的NFS idmapping
https://blog.hlin.tw/98feb835fcff/
2022-10-07T16:00:00.000Z
2022-10-07T16:00:00.000Z
How to use ncat or socat to map the remote port to local server
https://blog.hlin.tw/3c91bbbc4cd5/
2022-10-01T16:00:00.000Z
2022-10-01T16:00:00.000Z
<h2 id="Introduction"><a href="#Introduction" class="headerlink" title="Introduction"></a>Introduction</h2><p>ncat和socat都是linux的網路工具<br>這次主題要達成的目標用這兩個都能達成 </p>
<p>他們可以做到: 只要是能夠訪問到的port都可以把它映射到本機的port上 </p>
<p>寫這篇也是要介紹之前寫reverse proxy的文章的額外補充 </p>
<blockquote>
<a href="/b79c02da272e/" title="docker瞬間佈署reverse proxy還有SSL認證">docker瞬間佈署reverse proxy還有SSL認證</a>
</blockquote>
<p>那篇是以frp做到內網穿透,而另一個方法是結合ncat和zerotier達到相同效果<br>目標都是把遠端的port映射到本機的port </p>
Ubuntu 22.04 setup after installation
https://blog.hlin.tw/e0058e94465f/
2022-09-22T16:00:00.000Z
2022-12-01T16:00:00.000Z
Building hexo blog using docker
https://blog.hlin.tw/db814a441d98/
2022-09-19T16:00:00.000Z
2022-09-19T16:00:00.000Z
<p><img src="/db814a441d98/docker_hexo.png"></p>
<h2 id="Introduction"><a href="#Introduction" class="headerlink" title="Introduction"></a>Introduction</h2><p>目的是只需用<code>docker-compose up -d</code>就能快速佈署<br>然後<code>docker-compose restart</code>就能更新內容與設定 </p>
<p>爲了能夠直接在本機撰寫文章,需要將container內的USER設定成和本機一致<br>這點可以使用<code>docker run -u $(id -u):$(id -g)</code>或在<code>docker-compose.yml</code>設定<code>user</code>參數<br>如果有其他管理檔案權限的解法歡迎留言分享 </p>
<p>因此我建立了一個image: <a href="https://hub.docker.com/repository/docker/hunglin59638/hexo-blog">hunglin59638/hexo-blog</a><br>可透過上述操作方便管理跟快速佈署 </p>
ubuntu 22.04 firefox click download is not working
https://blog.hlin.tw/7ec1e2cd33d0/
2022-09-18T17:00:00.000Z
2022-09-18T17:00:00.000Z