Python

ANNOVARとMyVariant.infoを用いた変異マイニング - VAPr

MongoDBを使って変異情報の管理がしたいという一心で仕事に手がつかないkimotonですこんにちは。 コロナもいいけどそんなことより花粉がヤバいですね。皆さんお気をつけて。 変異マイニング系の論文を読み漁っておりますので1つ投下します。 Purpose MongoDB…

Snakemakeを試す - ④ まとめ

はじめに ※本記事はバイオインフォマティクス Advent Calendar 2019の20日目の記事です。 Snakemakeのインストールと概要 → Snakemakeを使って再現性のある!スケーラブルな!可搬性のある解析! - ① - ばいばいバイオ チュートリアルの実行 → Snakemakeを使…

Snakemakeを試す - ③ 並列化

前回の続き! 今回は並列化について見ていきます。 前回の例を使って、並列化した場合としてない場合とでどの程度変わるのか実験してみましょう。 ※コマンド実行ログが少々長めです。すっ飛ばしてサクッと読んでください。 Snakemakeにおけるthreadsの意味 …

Snakemakeを試す - ② チュートリアルを実行

明日やろうは馬鹿野郎。 前回の続き。 では準備もできたということで、やっていきしょうshort tutrial このチュートリアルは、ざっくりと決められたワークフローを組んでいくことでSnakemakeと仲良くなろうという趣旨のものです。 内容はバイオインフォマテ…

Snakemakeを試す - ① インストールと概要

お疲れ様です。 ここのところバイオインフォに触れられず何か物足りないkimotonです。 最近はMLOps周りの基盤作りに関わっています。 ナンデダロ。 Snakemakeってなにー?? githubリポジトリは下記。 The Snakemake workflow management system is a tool t…

【Python】 tqdmでプログレスバーを表示してみた

ちょこっと便利シリーズ第二弾!! github.com pythonのプログラムを書いていて、プログレスバーを表示したいときってありません?? tqdm はそんなあなたのためのツールです。 tqdm means "progress" in Arabic (taqadum, تقدّم) and is an abbreviation fo…

pythonで実証する、正規分布 ~ 中心極限定理

pythonで実証する、正規分布 ~ 中心極限定理。 正規分布は、ガウス分布、誤差分布とも呼ばれ、平均値の付近に集積するようなデータ分布を表した連続的な変数に関する確率分布です。 そんな正規分布をPythonを使って描画します。

【Python】Scanpyを使った single cell RNA解析

GW始まってしまいましたね。 ブログの更新をだいぶ怠っていたので、ちゃっかり更新させて頂きます。 今日はPythonでscRNA-seq解析。Python実装のscRNA解析ツールといえばScanpyがまず思いつきます。 Seuratに比べてそこまで使われていない印象ですが、機能的…

Juliaでpermutation

本日のお題。 与えられた配列の全permutationを取得する方法について、pythonとjuliaで書いてみる。 1から書いてもいいのですが、実用性を考えてパッケージを使用した方法をご紹介。 Python編 itertoolsパッケージのproduct関数を使用します。 引数にはitera…

(勉強会用メモ) REST APIs with Django : Chapter 2-3

勉強会 ちょっと業務でRESTfulなAPIを作成する必要が出てきました。 3/27 (水) に再度勉強会開くのでぜひ。 connpass.com 3/14の内容復習編。 Djangoプロジェクトの作成 Python環境にはpipenvを使用します。 # 仮想環境の作成(python 3.6) $ pipenv instal…

(勉強会用メモ) REST APIs with Django : Chapter 1

勉強会 ちょっと業務でRESTfulなAPIを作成する必要が出てきました。 3/14 (水) にこの本使って勉強会開くのでぜひ。 そのための予習メモ。 connpass.com WWW (World Wide Web) 1960年代に登場したが、初期は孤立したネットワークとして存在した(軍事、科学…

これで決まり!最強自動コード整形ツール3選!

いやいや何が決まり!だよ、全然決まらねーよっていうタイトルすみません。 きっかけ 自動コード整形ツール。弊社では全く導入されていない。 何故か。 知らないからだ。 vimプラグインと手作業での修正という現状だ。 これはどげんかせんといかん。 代表的…

実践投入!pipenv!

概要 新しいも面白いも楽しいも正義なんだよ— いちたる (@_kimoton) December 18, 2018 ということで、やっていきましょうpipenv 前回の以下の記事ではPipenvのインストールとPython3.7.1環境の作成を行いました。 今回はもうちょっと真面目にPipenvを使って…

Scrapyのインストール

今更ですがScrapyのインストールについて詳しめに。 Scrapyの動作環境 Scrapy runs on Python 2.7 and Python 3.4 or above under CPython (default Python implementation) and PyPy (starting with PyPy 5.9). ScrapyはPython2.7、若しくはPython>=3.4のも…

WSL + Hyper + fish shell + pipenv + docker環境を整える

本日Dockerを使用していて、 ユーザーディレクトリをマウントしたまま夢の $ rm -rf / を試しに行いましたところ。 ユーザーディレクトリ以下がすべて消えたkimotonです。 これまでWSL + wsl-terminal + bashを使っていたのですが、そろそろモダンな環境への…

親クラスの位置引数(positional argument)が子クラスで迷子になっちゃう件。

※ 2020/02/21 色々説明不足な点を追記 昔血迷ってただけの文章なので優しい目で読んで下さい。 きっかけは。 まだそんなに開発が進んでいないが、とっても気になるリポジトリを見つけた。 github.com scrapy-selenium。要するに、Scrapy上でSeleniumを使用で…

Scrapyのアーキテクチャ

Scrapyは、Python製のスクレイピング用フレームワークです。 Scrapyのアーキテクチャ・設計を見ることで、Scrapyの内部で何が起きているのか、その全貌をざっくり理解しましょう。

Scrapyことはじめ

Scrapyは、Python製のスクレイピング用フレームワークです。 Scrapyのごく簡単なチュートリアルを紹介しつつ、Scrapyを使用するメリットについて、考察します。 BeautifulSoupや、Seleniumだけでは足りない処理とは。。

Sphinxでドキュメント作成 - github.ioでの公開まで

Sphinx とは Python製のドキュメント生成ツール。 特徴としては以下の通り。 reStructuredTextで記述する(プラグインの導入によりMarkdownも可) ドキュメントを複数ファイルに分けて管理することができる 実体はプレーンテキストなのでGit等でバージョン管…

NCBI EntrezからFastaファイルをダウンロード

NCBI Entrez は、30以上もの生物学的な目的で作成されたデータベースに対する統合的なテキストベースの検索、情報抽出システムです。 BiopythonパッケージのBio.Entrezモジュールを使えば、このシステムをpythonから手軽に使えちゃいます。 ちなみに、Bio.En…

綺麗なコードを書いて下さい。

と言われた。 そうか。これは綺麗なコードじゃないのか。 いいだろう従おう。 ほしい関数 リストを受け取り、偶数個ずつリストで返すジェネレータ関数。 以下みたいな挙動を示すreturn_even_listを実装したい。 list1 = [1, 2, 3, 4, 5, 6] for i in return_…

【Python】アンダースコア( _ )の使い方(特殊属性、dunders)

アンダースコアなのかアンダーバーなのか そんなことはどっちでも良い。 問題はpythonでアンダースコア(アンダーバー)がよく登場することだ。 お品書き。 1つのアンダースコアから始まる属性名(_var) 2つのアンダースコアから始まる属性名(__var) 1つ…

とりあえず.gitconfigをいじっとけという話。

Pythonプロフェッショナルプログラミング 第3版作者:株式会社ビープラウド出版社/メーカー: 秀和システム発売日: 2018/06/12メディア: 単行本 これすんごい良いです。 まだChapter 06までしか読んでないんですけども。 すんごいよさそうです。 プロフェッシ…

__pycache__、 .pyc の役割

__pycache__ というディレクトリがそろそろ気になってきた。 なんか気づいたらできてる。 なんなんだこれは。 以下で議論されていた。 python - What is __pycache__? - Stack Overflow 要点をまとめると。 ファイルをインポートした際にできる python compi…

Matplotlib subplot の仕方

グラフを並べて表示したいとき、 2つの方法がある。ほかにもあるかもだけど2つの方法を知っている。 matplotlib.pyplot.subplotsを使う fig, axes = plt.subplots(figsize=(10, 10), nrows=2, ncols=4, subplot_kw={'adjustable': 'box-forced'}) axes には …

Selenium備忘録

今友達からbed365 というサイのスクレイピングを任されている。ブックメーカーで有名なサイトだ。ここのデータを集めて解析したいらしい。 スクレイピングでは基本ChromeDriverを使って行っているのだが、久しぶりに動かしたら、以下のようなエラーが度々表…

IPython データサイエンスクックブック memo (1)

1.1 Introduction %%writefile IPython magicコマンド。テキストファイルの作製。 インラインの数式は$...$ を使って記述。 独立した数式は $$...$$ を使って記述。 HTML() 、SVG() 、YouTubeVideo() nbviewerを使ってIPythonで生成したJSONテキストを公開可…

repr()、str()、eval() のお話

Biopython Tutorial and Cookbookの和訳を行ってる最中。 >>> from Bio import SeqIO >>> for seq_record in SeqIO.parse("ls_orchid.gbk", "genbank"): ... print(repr(seq_record.seq)) Seq('CGTAACAAGGTTTCCGTAGGTGAACCTGCGGAAGGATCATTGATGAGACCGTGG...CG…

nCr をpython で書くと。。

つまりn個からr個取り出す組み合わせというやつ。 これをPythonで書きたい。 そんなときは高階関数reduceを使う。 import operator as op def ncr(n,r): r = min(n-r,r) if r == 0: return 1 num_over = reduce(op.mul, xrange(n, n - r, -1)) num_under = r…

MkDocs 使ってみた。

昨日任された業務を紹介しよう。 Web上でパワポの内容をWebページで見れるようにして! というものだ。 こんなとき、MkDocsがとても便利。 MkDocsの公式に飛ぶ。 サイト自体がMkDocsで作られてる。 こんなページがMarkdownでお手軽に作れるのがMkDocs。 いち…