プログラミングのネタ帳

30代からプログラミングをはじめた。記憶力が悪いのでメモ代わりに。

pythonでtimeモジュールを使って実行時間を調べる

pythonには日時時間に関する、timeと名の付くに関するモジュールが2つあります。 ややこしい。 (しかも、datetimeモジュールにtimeクラスがあったりする) ・datetime モジュール ・time モジュール datetimeは日時を扱うときに使います。timeモジュールも機…

pythonのdocstring機能を使って関数の仕様を書く・確認する

少しずつ読み進めているオライリーの実践Cプログラミングでは、コメントを書くこと、 例えば、変数名に関して、 ・意味のある名前にして、極力省略しない。 ・宣言は1つにつき1行使う。コメントをつけて、単位を書いておくのが好ましい という風に徹底してい…

record_type='3d'と指定し、3次元座標情報をもつcompoundオブジェクトを生成する

前回からの続き myprograming-tips.hatenablog.jp pcp.Compound.from_cid()メソッドの引数で,record_type='3d'とすると3次元の座標データをもつcompoundオブジェクトを得られます pcp. しかし、注意点として、3dとして入手したcompoundオブジェクトは、大部…

pubchem でxyz形式のファイルを作成する

pubchempyで対象の分子のcomformer オブジェクトがあり、かつ3dのデータがあるのであれば、xyzファイルを書き出して、 xyz形式は 1行目:原子の数 2:行目空白行 3行目以降:原子記号_or_id x座標 y座標 z座標 ・・・ 3dデータをもつcomformerオブジェクトであ…

プライバシーポリシー 免責事項

本ブログではすぐに利用できる(私含めて)ようにコードをまるまる載せているエントリーが多いです。使ってもらうことに問題はないのですが、それで不具合が生じても責任は負いませんよということ、免責事項とプライバシーポリシー等々については、以下のよ…

C構造体作ったリスト形式にデータを挿入する

以前にエントリーしたものの続き。 構造体で実装したリスト構造にinsert()のような機能を追加した。 myprograming-tips.hatenablog.jp やっていること自体に大きな変わりはなく、ポインタの操作を行っているだけ。 データの受け渡しはポインタで行う。構造体…

2文字以上のスペースを1文字分のスペースに置換する

編集したいと思うファイルがスペース区切りということが多いです。 しかし、 ・スペースの数がまちまちで、やたら多い。 ・先頭にもスペース ということがありました。 Linuxコマンドのsedやらを使って整形するのも手ですが、処理するプログラムで読み取りの…

pythonの readline() 関数で、最終行の判定の仕方

ファイルの読み出しには一行ずつ読めるreadline()を使うことが多いと思います。 私はこれまでは、 tmp="tmp" while(tmp): tmp=f.readline() のようにしていました。 文末でfalse的なものを返すのだろうと想像はしていたのですが、あまりエレガントではないの…

C の構造体でリスト形式のデータ構造をつくる

アルゴリズムやデータ構造の勉強もした方がいいのだろうなと思ってちょくちょくやっています。 そして、同時にC実践プログラミングも読み進めていて、構造体で表題のことができるのかと感心しました。 構造体のポインタで操作するので慣れるまではだいぶ苦労…

Anacondaを再インストールしたら、anaconda-navigatorが動かなくなった話

私は仮想環境の設定をよく理解できていません。 例えば、私は、お手軽に化合物のモデル化ができるRDKitを使っており、本家サイトではcondaを使ったインストールを推奨していたのでその通りにしました。ついでにJupyter-notebookを使うと可視化も容易なのでAn…

pubchempy でsmilesとcidを指定してcompoundオブジェクトを取得する

色々あるのだろうけど、簡単な方法として二通りを紹介。 pubchempy.get_compounds(identifier, namespace=u'cid', searchtype=None, as_dataframe=False, **kwargs) or compoundオブジェクトの classmethodfrom_cid(cid, **kwargs) 試しにデカンを取得してみ…

本ブログの目指すところ

メインのテーマは題名の通りプログラミング。 その日に勉強したことや思ったことを書いていく。 自分用のメモ用途と、自習したことのアウトプットが目的です。 いま(2021年3月)に興味がある分野は以下に列挙する分野で、このあたりについて記事を書いていく…