搭建PrimerServer2之Web UI界面

寫在前面

引物設(shè)計幾乎是每個分子實驗室的研究生必備的一項技能。目前,已經(jīng)有許多成熟的引物設(shè)計軟件供大家使用,如本地版的Primer5以及NCBI上的Primer-BLAST等等。

但是這些軟件大部分都需要用戶提供目標(biāo)基因序列,才能進行設(shè)計,對新手來說,還得先學(xué)會如何獲取目標(biāo)基因序列(如果做的物種比較小眾,絕大部分都沒有現(xiàn)成數(shù)據(jù)庫可以搜索序列,需要自己做比對鑒定)。

這里推薦一個軟件PrimerServer2,其支持用戶自定義物種進行引物設(shè)計,可以根據(jù)GeneID設(shè)計任意基因的引物。此外還提供了用戶友好的Web UI界面,搭建在實驗室網(wǎng)站或基因組數(shù)據(jù)庫網(wǎng)站,確實是個不錯的選擇~


一、安裝

  • 下載PrimerServer2
git clone https://github.com/billzt/PrimerServer2.git
  • PrimerServer2是基于python3開發(fā)的軟件,因此需要安裝python3
  • 編譯安裝,直接conda也不錯 更方便
wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1rc2.tgz
tar -zxf  Python-3.7.1rc2.tgz
./configure --with-ssl
make
make install
  • 安裝samtools(Samtools >=1.9)
wget https://github.com/samtools/samtools/releases/download/1.15.1/samtools-1.15.1.tar.bz2
  • 解壓
tar jxvf samtools-1.15.1.tar.bz2
  • 安裝
./configure --prefix=/tools/samtools/samtools-1.15.1
make
make install
  • 進入PrimerServer2文件夾
cd PrimerServer2
  • 建議在虛擬環(huán)境中運行,創(chuàng)建虛擬環(huán)境
python3 -m venv venv
. venv/bin/activate
  • 運行安裝腳本,下載并安裝一系列需要的環(huán)境(有點久。。。)
python3 setup.py develop
  • 遇到報錯,有個模塊沒安裝上
ModuleNotFoundError: No module named 'markupsafe'
  • 手動安裝
#如果pip版本太低,會報錯 ,需要升級再安裝模塊
pip install --upgrade pip
#安裝markupsafe模塊
pip install markupsafe
  • 重新運行安裝腳本,安裝成功
python3 setup.py develop

二、配置示例數(shù)據(jù)

  • 首先配置示例數(shù)據(jù)
primerserver-config
  • 執(zhí)行完之后會配置一個默認(rèn)的示例json配置文件,需要修改文件里面的內(nèi)容,指定示例數(shù)據(jù)所在目錄

vim ~/.primerserver.json

{
    "cpu": 2,
    "templates_directory": "示例數(shù)據(jù)路徑(即tests文件夾路徑)",
    "templates": {
        "example.fa": {
            "IDs": "seq1, seq2",
            "description": "Example Database",
            "group": "example"
        },
        "example2.fa": {
            "IDs": "seq1, seq2",
            "description": "Example Database 2",
            "group": "example"
        }
    }
}
  • 配置完成之后運行primerserver2
flask run
  • 運行成功,可用瀏覽器訪問,默認(rèn)端口為5000,如果訪問不了(比如租用的華為云或者騰訊云,有安全組) 需要自行開放5000端口
http://your.IP.address:5000

三、配置用戶數(shù)據(jù)

  • 首先創(chuàng)建數(shù)據(jù)目錄,并將需要提取好的cds序列移動到該目錄,這里以荔枝為例
mkdir litchi_data
  • 建立blast databases
makeblastdb -input_type fasta -dbtype nucl -in litchi.cds.fa -parse_seqids 2>/dev/null
  • 建立samtools索引
samtools faidx litchi.cds.fa
  • 修改配置文件,這邊只配置了一個物種的數(shù)據(jù),如有多個物種,直接在json上依次添加多個物種信息即可,可用“group”定義分組
    vim ~/.primerserver.json
  • "templates_directory":數(shù)據(jù)存儲路徑
  • "litchi.cds.longest.fa":用戶數(shù)據(jù)文件名(fasta格式)
  • "IDs":給出序列中的兩個基因ID作為示例數(shù)據(jù),在web UI中顯示
  • "description":對數(shù)據(jù)的一些描述,用戶自定義
  • "group":分組,如果有不同的物種數(shù)據(jù)可以自定義分組
{
    "cpu": 2,
    "templates_directory": "數(shù)據(jù)存儲路徑",
    "templates": {
        "litchi.cds.longest.fa": {
            "IDs": "LITCHI014204, LITCHI014242",
            "description": "Litchi Database",
            "group": "Sapindaceae"
        }
    }
}
  • 配置完成之后,重新運行primerserver2
flask run
  • 平時用tmux將primerserver2掛在后臺運行就好,方便

寫在最后

疫情反反復(fù)復(fù),大家五一出門注意安全
假期見見老友吃吃飯,舒服~

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

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

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