SMSD (Small Molecule Subgraph Detector)を使う

GastonでMCSを探索するのは色々無理があったようで、どうするかな困った困ったと探していたら、SMSDを見つけた。cdkには既に組み込まれているらしくてさっきビルドしてみたんだけど、よく考えたらCDKの使い方あんまよくわかんないや、、、ってことでGUIで遊んだ。

ちなみに、java6でビルドしないといけないので、osx(10.5)の場合は環境変数を設定した。

SMSD

とりあえず、vildagliptinsitagliptinのMCSをもとめた。

SMSD

なんで5員環と6員環がマッチしてるんだろうか?あとでペーパーちゃんと読もうっと。

追記openbabelでのdiscussもあった

SRM435DIV2_250

余計な変数多いな。

public class SkiFriction {

    public int bestPosition(String sF, String pF) {
        int sFl = sF.length();
        int pFl = pF.length();
        if(sFl >= pFl) return 0;
        int result = 0;
        for(int i=0;i<pFl-sFl;i++) {
            int lmax = 0;
            for(int j=0;j<sFl;j++){
                int k = sF.charAt(j) - '0'+ pF.charAt(i+j) - '0';
                if(k>lmax) lmax = k;
            }
            result += lmax;
        }
        return result;
    }    
}

数字の比較はMath.max使えばいいのか

SRM433DIV2_250

reverseってメソッドはないのかな? 両方ソートして、一方は先頭から他方は後ろから掛けてsumを求めた。

import java.util.*;

public class RoyalTreasurer {

    public int minimalArrangement(int[] A, int[] B) {
    java.util.Arrays.sort(A);
    java.util.Arrays.sort(B);
    int result = 0;
    for(int i=0;i<A.length;i++)
        {
        result += A[i] * B[A.length - i -1];
        }

    return result;
    }   
}

SRM460DIV2_250

java勉強中。

import java.util.ArrayList;
import java.util.List;

public class TheQuestionsAndAnswersDivTwo {

    public int find(String[] q) {
        List qlist = new ArrayList();
        int ans = 0;
        for (int i = 0; i < q.length; ++i)
            if (!qlist.contains(q[i]))
                qlist.add(q[i]);

        ans = (int) Math.pow(2, qlist.size());
        return ans;
    }

}

Set使えばいいのね。

Java並行処理プログラミング

復刊で購入しといたのを読んでみた。

ProductName Java並行処理プログラミング ―その「基盤」と「最新API」を究める―
Brian Goetz,Joshua Bloch,Doug Lea
ソフトバンククリエイティブ / ¥ 3,990 ()
在庫あり。

1,2部まで読んだけど、その先ちょっとついていけそうになかったので、読むのを中断した。 並行処理プログラミングってほとんどしないけど、化合物の3次元構造立ち上げとかは並行で動かすのが当たり前になりそうなので、そのうちやらんといかんのだろう。

8coreとか欲しいなぁ。

Java言語で学ぶリファクタリング入門

二年近く積んであったが、最近javaで書いてるので読んでみたら想像以上に面白かった。厚さの割にスラスラ読めたので、二日程度で読み終わった。

良書

ProductName Java言語で学ぶリファクタリング入門
結城 浩
ソフトバンク クリエイティブ / ¥ 3,360 ()
在庫あり。

  • enumでシンボリック定数を表現
  • 名前重要
  • 双方向リンクは避ける
  • タイプコードを表す新しいクラスを作る
  • リスコフの置換原則
  • @override

後半は、パターンが解決したかった「もの」が多かったので、デザインパターンを知っていないと理解しにくいかもしない。逆に知っていればさらっと入ってくる。

ProductName 増補改訂版Java言語で学ぶデザインパターン入門
結城 浩
ソフトバンククリエイティブ / ¥ 3,990 ()
在庫あり。

EclipseCoder入れた

EclipseCoder: TopCoder SRM用Eclipseプラグイン

EclipseCoder

Testの使い方がわからん。しかも赤い×がついてるし、なんか設定間違ってんのかな。

EclipseCoder

追記10.03.03

よくわからんが/Library/Java/Extensions/に入ってたopsin-big.jarが問題だったようだ。これを削除して再起動してみたら普通に動いた。

JavaでPBPK

PKQuestというものがあるらしい

Programming Clojure

予約したまま5ヶ月近くたち、忘れかけてたProgramming Clojureが発送された。

ProductName Programming Clojure
S Holloway
Pragma / ¥ 3,368 ()
通常9~13日以内に発送

Programming Clojure欲しいかも

この本ちょっと気になってきた

ProductName Programming Clojure
Stuart Halloway
Pragmatic Bookshelf / ¥ 3,099 ()
近日発売 予約可

どうなんだろうか?

Next Page