**文書の過去の版を表示しています。**
20210422
結果表示ページの作成
create_pages.py
で全体のページを作る
create_result.py
で○○.resultファイルからSRR IDのサンプル情報などをNCBIからパースし、結果表示用のHTMLを作成する。またグラフをiframeタグで埋め込む
- inframeタグのボーダーを消去する https://www.tagindex.com/html_tag/frame/iframe_frameborder.html
createresult.py
を実行する。NCBIのサイトにcurlコマンドでアクセス→HTMLを取得、Study、Submmited by、Sampleの情報を取得する。またアクセス前にはsleepコマンドで1秒間隔をとっている。https://www.atmarkit.co.jp/ait/articles/1611/21/news021.html
から、
htmlparse.sh
create_graphs.py
でGoogle Chart APIを使用したグラフ表示用のHTMLを作成する。
100%積み上げ横棒グラフの作成 https://www.finddevguides.com/Googlecharts-bar-percent
- 描画用インスタンスを作成する時に、BarChartを使用する
- 通常の棒グラフと列と行を反転させることで積み上げグラフになる。
- オプションで
isStacked: 'percent'
を使用することで100%グラフになる。
searchquerytopHit.sh
で吉武先生のスクリプトで生成される○○.tsvのTop10でヒットするバクテリア名などを取得する。
searchparse.shで各SRRのIDに対してsrrid.fastq.fasta.ssu.blast.filtered.name.lca.cnt2.inputでTop10ヒットするバクテリア名などを取得する。
これら2つに対して、100%積み上げ横棒グラフを作成する。
汎用の削除
- オプションで
legend: 'none'
を指定
作業のディレクトリは/home/yoshitake/Ito/test/create_chart
にスクリプトは配置。HTML作成用のテンプレートファイルはtemplates
ディレクトリに配置している。
現在はinputファイルである○○.result、○○.tsvはこの作業ディレクトリに配置している(スクリプトもここで動くように記述)
singularity run ~/Ito/test/python3env.sif python createpages.py 1037294fa7c2752b72507c9ff46c9c58.gz.result
実行することで、HTMLファイルはこのディレクトリの、ファイルのプレフィックスと同じ名前のディレクトリに入る。
このファイルをNode.jsのPublicディレクトリに配置することで、ブラウザからHTMLファイルを確認できる。
cp 1037294fa7c2752b72507c9ff46c9c58 ~/metasearchdev/metasearchdevdeploy/metasearchdev/metasearch_dev/public/html/ -r
https://meta.fs.a.u-tokyo.ac.jp/metasearch_dev/html/1037294fa7c2752b72507c9ff46c9c58/result.html などに接続することでブラウザから確認できる。
次回やること
- バクテリア名などをマージ、QueryとSRRIDに対して、{バクテリア名:ヒット数}のようなオブジェクトを作成。ヒットしていないものは0。このオブジェクト2つを利用して、グラフを作成。
- Top10以外のものもOtherとして、含める(この際NO HITのものは除外する。ショットガンだとこれが多いらしい)
- CSS(フレームワーク使う?)で装飾
- レイアウト考える (Queryのグラフ1つにする→Blastのイメージ)
- 拡張子変わったらそれに合わせて処理変える