sraメタデータとシーケンスデータの自動ダウンロード

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
sraメタデータとシーケンスデータの自動ダウンロード [2022/03/26 07:09] 160.237.156.27sraメタデータとシーケンスデータの自動ダウンロード [Unknown date] (現在) – 削除 - 外部編集 (Unknown date) 127.0.0.1
行 1: 行 1:
-====== SRAメタデータとシーケンスデータの自動ダウンロード ====== 
  
-===== ローカル環境でメタデータを取得 ===== 
- 
-==== Seleniumをインストール ==== 
- 
-Windows Power Shell 
- 
-``` 
-pip install selenium 
-``` 
- 
-==== Chrome Driverをインストール ==== 
- 
-``` 
-pip install chromedriver-binary 
-``` 
- 
-環境変数等でパスを通す必要はなく、プログラム中で ''import chromedriver_binary'' のようにインポートすればパスが通る。 
- 
-==== SRA番号取得 ==== 
- 
-まずWindowsローカル環境で、Seleniumを用いてMiFishプライマーで増幅された領域のシーケンスデータのSRR番号を取得した。 
- 
-以下のスクリプトを実行することで、SRR番号のリストを取得できる。 
- 
-``` 
-import time 
-from selenium import webdriver 
-import chromedriver_binary 
- 
-driver = webdriver.Chrome() 
- 
-# DBCLS SRAにGETメソッドでリクエストを送信 
-driver.get("https://sra.dbcls.jp/result.html?target_db=sra&term=mifish&rows=100&sort=Updated&order=desc") 
-time.sleep(5) 
- 
-# cssタグを指定して、プロジェクトを取得 
-pjts_selector = ".tabulator-cell[tabulator-field='_id']" 
-projects = driver.find_elements_by_css_selector(pjts_selector) 
- 
-# NCBI SRAで検索するための文字列を作成 
-search_str = "" 
-for pjt in projects: 
-  search_str = search_str + " or " + pjt.text 
-search_str = search_str.replace(" or ", "", 1) 
-print(search_str) 
- 
-driver = webdriver.Chrome() 
-driver.get("https://www.ncbi.nlm.nih.gov/sra/?term=" + search_str) 
- 
-time.sleep(10) 
- 
-# send toボタンをクリック 
-driver.execute_script('document.getElementById("sendto").click();') 
-time.sleep(5) 
- 
-# Choose Destination → Fileを選択  
-driver.execute_script('document.getElementById("dest_File").click();') 
-time.sleep(5) 
- 
-# Format → Accession Listを選択 
-driver.execute_script('document.getElementById("file_format").options[2].setAttribute("selected", "selected")') 
-time.sleep(5) 
- 
-# Create Fileをクリック 
-driver.execute_script('document.querySelector("#submenu_File > button").click();') 
-time.sleep(5) 
- 
-time.sleep(5) 
-driver.quit() 
-``` 
- 
-各クリックイベントをトリガーとして実行されるJavascriptの実行とクリックのタイミングに時差があるので、各クリックイベントの後に''time.sleep(5)''を実行すると、バグが起こりにくくなる。(なくても上手く行くことはあるが、あると確実) 
- 
-===== Linux仮想環境上のDockerコンテナ環境でSeleniumサーバーを起動し、メタデータを取得 ===== 
- 
-学生実験で使用したHyper-Vで起動したLinux仮想環境(Ubuntu20.10)でDockerコンテナ仮想環境上でSeleniumサーバーを起動し、メタデータを取得することができるかを確認した。 
- 
-==== sources.listの編集 ==== 
- 
-[[sources.listの更新|sources.listの更新]] を元にsources.listを編集し、aptコマンドを使用可能にする。 
- 
-==== Dockerのインストール ==== 
- 
-以下のコマンドをターミナル上で実行 
- 
-``` 
-$ sudo apt-get update 
-$ sudo apt-get install \ 
-    apt-transport-https \ 
-    ca-certificates \ 
-    curl \ 
-    gnupg \ 
-    lsb-release 
-$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg 
-$ echo \ 
-  "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ 
-  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null 
-$ sudo apt-get update 
-$ sudo apt-get install docker-ce docker-ce-cli containerd.io 
-``` 
-==== docker-composeのインストール ==== 
-ターミナル上で以下のコマンドでインストール 
- 
-``` 
-$ COMPOSE_VERSION=$(git ls-remote https://github.com/docker/compose | grep refs/tags | grep -oE "[0-9]+\.[0-9][0-9]+\.[0-9]+$" | sort --version-sort | tail -n 1) 
-$ curl -L https://github.com/docker/compose/releases/download/${COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` | sudo tee /usr/local/bin/docker-compose > /dev/null 
-$ sudo chmod +x /usr/local/bin/docker-compose 
-``` 
- 
-==== Remminaのインストール ==== 
- 
-Remminaはリモートデスクトップクライアントソフトウェアであり、VNCに対応している。VNCによるリモートデスクトップ接続によりDockerコンテナ内で動作するWebブラウザがスクレイピングによって自動で動く動作を確認できるため、デバッグがしやすくなる。 
- 
-①まずGUI上でUbuntu Softwareを起動する。 
-{{:pasted:20220326-160509.png}} 
- 
-②Ubuntu Software上で⁠remminaを検索し、「⁠ソース」が「latest/stable」のRemminaを選択し、インストール。画像では既にインストールされているので、「削除」になっている。 
-{{:pasted:20220326-160712.png}} 
- 
-③設定から「Permission」を開き,全ての権限を有効にしておく。 
- 
-④これだけではmDNS(Avahi)での名前解決ができないため,nscdパッケージをインストールしてsnapdを再起動 
- 
-``` 
-$ sudo apt install nscd 
-$ sudo systemctl restart snapd.service 
-``` 
  • sraメタデータとシーケンスデータの自動ダウンロード.1648278563.txt.gz
  • 最終更新: 2022/03/26 07:09
  • by 160.237.156.27