Skip to content

Instantly share code, notes, and snippets.

@dogrunjp
dogrunjp / create_edgelist_from_tsv.py
Last active November 1, 2017 00:52
create edge_list from tsv
import csv
csv.field_size_limit(1000000000)
with open("sra_edge_list.tsv", "w") as out_f:
writer = csv.writer(out_f, delimiter="\t")
with open("SRA_Accessions.tab", "r") as input_f:
reader = csv.reader(input_f, delimiter="\t")
reader.next()
for l in reader:
@dogrunjp
dogrunjp / JUMAN_at_python.md
Last active May 19, 2022 07:31
macOSで、JUMAN++をPythonのpyenv環境で使うための設定。 JUMAN++とKNPはhomebrewで入れるのが楽。PythonバインディングのPyKNPをインストールする際にpyenv環境のpythonを指定します(基本的にそれだけ)。

macで、JUMAN++をPythonのpyenv環境で使うための設定

JUMAN++をインストール

$ brew install jumanpp
$ jumanpp -v  # 確認
JUMAN++ 1.02

KNPもHomebrewでインストール。

@dogrunjp
dogrunjp / promise_resolve_then.md
Last active June 15, 2017 02:08
javascriptで非同期処理の完了を待って、フィルターした返り値をreturnする関数を書く方法

javascriptでd3-requestのような非同期処理の完了を待って、フィルターした返り値をreturnするfunctionを書く方法

インタラクションで取得した値を引数にAPIから何か結果を得て処理を進める想定のスクリプトです。

まず、リソースを呼び出し、返った値でUIを操作する関数がこんな感じだとすると、、、、

function show_friend_map(d){
    get_friend(d).then(function(r){
@dogrunjp
dogrunjp / d3-request_get_JSON_resource.md
Last active April 24, 2017 01:25
D3 v4のd3-requestモジュールで、request headerを指定して(この例ではAcceptを指定して)SPARQL endpointを利用する場合の記述例。
d3.request(endpoint + query)
  .header('Accept', 'application/sparql-results+json')
  .response(function(xhr){return JSON.parse(xhr.responseText)})
  .get(callback);

d3/d3-request

@dogrunjp
dogrunjp / SPARQL_query_for_python.py
Last active November 20, 2017 13:27
PythonのSPARQLWrapperを使ってSPRQL endpointからJSON形式でデータを取得しようとした時、うまくいかないことがあったので、SPARQLWrapperを使わない方法を書いておきます。意外にこちらの方がシンプルかも。
import urllib.request
import urllib.parse
data = urllib.parse.quote('''
PREFIX refexo: <http://purl.jp/bio/01/refexo#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX refexs: <http://refex.dbcls.jp/sample/>
SELECT DISTINCT ?organism
WHERE {
refexs:RES00000003 refexo:organism ?organism .
@dogrunjp
dogrunjp / march.py
Last active April 3, 2017 09:05
もしかしたら、今日の正しい日付を知りたいという需要があるかもしれないという気持ちから、Python-fireで正しい今日の日付を所得するスクリプトを書いてみました。日々の精進が大切ですね。 pip install fire が必用。 $ python march.py day で本来今日は何日なのか知る事ができます。
from datetime import datetime
import fire
dfm = '%Y/%m/%d'
today = datetime.today()
basedate = datetime.strptime("2017/03/31", dfm)
class March(object):
def day(self, td=today):
delta = td - basedate
@dogrunjp
dogrunjp / making_table_in_D3js.md
Last active April 1, 2017 02:58
D3.jsでtableを描画する方法。JSONのデータを流し込むだけなら、D3.jsでテーブルを生成することは考えることは特にないのだけど、カラムの項目を並べ替えたりした場合やや悩むなと思っていた所、シンプルすぎるD3.jsのテーブルのカラムの順番を調整する方法が紹介されていたのでメモ。

最も簡単な方法(だけどカラムの順番は調整できない)

d3.select("table.glist tbody").selectAll("tr").data(g_infs)
    .enter().append("tr")
    .selectAll("td").data(function(r){return d3.values(r)})
    .enter().append("td")
    .text(function(d){return d});

@dogrunjp
dogrunjp / es6_parsing_rdf_xml.md
Last active March 27, 2017 05:19
XML parsing from SPARQL endpoint with javascript ES6

XML parsing from SPARQL endpoint with javascript ES6

NodeList has no map method, forEach method, so it's boring to parsing xml type dataset in js.

if Chrome...

if Chrome forEach method is OK

elements = xmlRoot.querySelectorAll('result');
elements.forEach(function(x){
@dogrunjp
dogrunjp / bottle_api_test.py
Last active January 9, 2017 09:26
Pythonのbottleで書いているAPIをテストするために、webTestを使ったテストツールを試してみました。unittestの基本的な構成のみですが、自分用メモ&公開しておきます。
import unittest
import app
import os
from webtest import TestApp
os.environ['WEBTEST_TARGET_URL'] = 'http://localhost:8080'
app = TestApp(app)
class ApiTest(unittest.TestCase):
@dogrunjp
dogrunjp / new_gist_file.md
Last active December 18, 2016 02:37
OracleのParallel Graph Analytics (PGX)を使って出力したEDEG_LIST形式のグラフデータをCytoscape.jsで描画するために、JSON変換するPythonスクリプトです。PGXにはtoString()関数がありJSONへの出力はコマンドから実行できるはずなのですが、パラメータ等の設定が不明だったためオレオレconverterを書いてみました。 PGXでエッジリストを読み込みフィルターしたグラフデータを出力するサンプルスクリプトと、このデータをブラウザで見るためのHTML&JSも置いておきます。

PGXコンソールでedgeのパラメータをフィルターしたsubgraphを出力するサンプルスクリプト

subgraph作成

tsvデータを読み込む用の設定 : sample_for_pgx.tsv.json

{
  "uri": "sample_for_pgx.tsv"
, "format": "edge_list"
, "node_id_type": "string"