“load PDB file”

`symexp sym, pdb_name, (pdb_name), 1`

Export Molecule

VSCode のカラーテーマを変えていると、Jupyterが動かない。

解決法: カラーテーマを変えるExtensionが入っていたら停止。


import javax.vecmath.Vector2d;
public class Main 
{
    public static void main(String[] args) {
        Vector2d p1 = new Vector2d(0, 0);
        Vector2d p2 = new Vector2d(0.5, 0.5);
        System.out.print(p1.angle(p2));
    }
}

NaNとなる。

インストール

sudo apt install nuget

ローカルソースの作成

nuget sources add -name some_name -source full_path_of_local_source

https://github.com/shimat/opencvsharp がNuGetパッケージ作成の参考になる。

Pythonのsubprocees、Windowsは str で、Linuxは Seqence[str]で渡す。

ExcelなどSVGのtransparentをサポートしていない場合に対応するため。

        static void Main(string[] args)
        {
            Regex re_rgba = new Regex(@"rgba\(\s*\d+\s*,\s*\d*\,\s*\d+\s*\,\s*(?<a>[01](\.\d*)?)\s*\)");

            XmlDocument doc = new XmlDocument();
            doc.Load("A.svg");
            XmlNamespaceManager xmlNsManager = new XmlNamespaceManager(doc.NameTable);
            xmlNsManager.AddNamespace("ns", "http://www.w3.org/2000/svg");

            foreach (XmlNode rect in doc.DocumentElement.SelectNodes("//ns:rect", xmlNsManager))
            {
                if (!(rect is XmlElement elm))
                    continue;
                var fillAttribute = elm.GetAttribute("fill");
                var groupA = re_rgba.Match(fillAttribute).Groups["a"];
                if (groupA.Length > 0)
                    if (double.TryParse(groupA.Value, out double a))
                        if (a == 0)
                            rect.ParentNode.RemoveChild(rect);
            }
            doc.Save("b.svg");
        }

# Tile lines to CSV
 #
 # n_per_line: number of elements per line
 # in_file: path name of input
 # out_file: path name of output

 def make_line(lst: list) -> str:
     return ",".join([f"\"{i}\"" for i in lst])
 with open(in_file) as f:
     with  open(out_file, "w") as w:
         w.write(make_line([f"{str(i)}" for i in range(n_per_line)]) + "\n")
         lst = []
         for i, smi in enumerate(f.readlines()):
             if i != 0 and i % n_per_line == 0:
                 w.write(make_line(lst) + "\n")
                 lst = []
             smi = smi.strip()
             lst.append(smi)
         while len(lst) < n_per_line:
             lst.append("")
         w.write(make_line(lst) + "\n")

ファイルパスが長すぎて、ファイルを作ることができなかったときにこのメッセージで落ちる。WindowsのLong pathを有効にしても解決しない。

ディレクトリを浅いところにして解決。
SWIGが作成するクラス名、ファイル名はとても長くなることがあるので、注意。

Linux

git config --global core.execludefile $HOME/.config/git/ignore

Windows

git config --global core.execludefile %HOMEPATH%/.config/git/ignore

 

$XDG_CONFIG_HOME/git/ignore$HOME/.config/git/ignore

がデフォルト。~/.gitignore_glocal は、よろしくない。

 

%~I         – すべての引用句 (“) を削除して、I を展開します。
%~fI        – %I を完全修飾パス名に展開します。
%~dI        – %I をドライブ文字だけに展開します。
%~pI        – %I をパス名だけに展開します。
%~nI        – %I をファイル名だけに展開します。
%~xI        – %I をファイル拡張子だけに展開します。
%~sI        – 展開されたパスは短い名前だけを含みます。
%~aI        – %I をファイルの属性に展開します。
%~tI        – %I ファイルの日付/時刻に展開します。
%~zI        – %I ファイルのサイズに展開します。
%~$PATH:I   – PATH 環境変数に指定されているディレクトリを
検索し、最初に見つかった完全修飾名に %I を
展開します。
環境変数名が定義されていない場合、または検索
してもファイルが見つからなかった場合は、この
修飾子を指定すると空の文字列に展開されます。

修飾子を組み合わせて、複合結果を得ることもできます:

%~dpI       – %I をドライブ文字とパスだけに展開します。
%~nxI       – %I をファイル名と拡張子だけに展開します。
%~fsI       – %I を完全なパスと短い名前だけに展開します。
%~dp$PATH:I – PATH 環境変数に指定されているディレクトリを
検索して %I を探し、最初に見つかったファイル
のドライブ文字とパスだけに展開します。
%~ftzaI     – %I を DIR コマンドの出力行のように展開します。