FC2ブログ

Windows 11 にアップできない理由とは?

2021-07-28 :  PCクリニック
今月初め(2021-07-07)の記事:
Windows 10 ユーザはどうすればいいの?」では、

「PC 正常性チェック アプリ」を使って、チェックしてみたが、

  このPCではWindows 11 を実行できません

となった。

そして、

  Microsoft 様の Q&A
  を見ると、

  Windows 11 にアップグレードしなくても問題はありません。
  Windows 10 のサポートは 2025年10月14日まで継続します。

とあった。


つまり、

  2025年10月14日が過ぎたら、知らないゾ!?!?

と云うことでした。




その後、

Japan In-depth / 2021年7月14日 23時0分 付 記事:
Windows11にアップグレードできない理由『セキュリティ強化』は本当?

を見つけた。


この記事では、

  【まとめ】

  ・Windows11発売。
   Windows10PCで「11」にアップグレードできない機種が出る可能性。

  ・古いパソコンは使えないと認識させ、
   買い替え需要を創出することにしたとの見方も。

  ・Windows11のアップグレード要件の緩和か、
   Windows10のサポート延長を検討すべき。

とあった。



気になったのは、

  ■ 旧型のパソコンでもサクサク動く

  Windows11は前バージョンの「10」と比較して、ハードウェアの要件が格段に
  高くなっている。アーキテクチャは64ビットのみをサポートし、起動方式は
  レガシーのBIOSではなくUEFIのみ、心臓部であるCPUは2018年あたりから
  出回った製品限定、グラフィックスカードはDirectX12 以上でWindows10から
  採用されたWDDM2.0ドライバーに対応したものだけ、メインメモリは4GB以上、
  仮想化されたセキュアブート対応でディスク暗号化が行えるTPMのバージョン
  2.0以上などとなっている。


  しかし、開発者たちが現在テスト中のWindows11開発者版は最終製品ではない
  ものの、インストール時の要件チェックを行うDLLファイルをWindows10のもの
  と入れ替えるトリックを使って、元来Windows7搭載機として発売されたモデル
  にもインストールでき、それほどストレスなくきびきびと動作することが
  報告されている。


  この先、スマホのAndroidアプリをWindows11上で動作させることができる
  モジュールが追加されるなどの変更はあるが、基本的にはWindows10が動く
  パソコンならWindows11は動作すると考えてよいだろう。
  テクニカルライターの塩田紳二氏の言葉を借用するなら、「Windows11のアップ
  グレード条件とは、マイクロソフトが決めた『原則』に合うか合わないかで
  決められるもので、動く・動かないという技術的な条件ではない」からである。
  ユーザーインターフェース(UI)などが大幅変更されるものの、
  Windows11は「10」の改良版というのが実態だ。


  ・・・・・
  ・・・・・


  ■ サポート終了が最も危険を高める

  Windows11へのアップグレードによるセキュリティや信頼性の強化の明確な
  エビデンスが示されない一方で、マイクロソフトは2025年10月にWindows10
  「Home」「Pro」などメインストリームのサポートを終了させると発表した。
  現在世界で稼働中の10億台以上ものWindows10パソコンの多くはWindows11
  へのアップグレードが受けられず、4年後にはセキュリティ面でのサポートが
  受けられなくなる。


  これは重大な事象である。Windows11によるCPUの脆弱性解消やセキュアブート
  対応、ディスク暗号化などによるセキュリティ強化とは比較にならないほど、
  安全ではないパソコンが数億台単位で発生することを意味するからだ。
  もはやセキュアではないWindows10機を大量発生させることが、本当に
  「セキュリティ、信頼性、互換性の強化」をもたらすのだろうか。


  マイクロソフトは多くのWindows10パソコンを切り捨てることで、セキュリティ
  を向上させるどころか、そのリスクを増やす元凶になるのではないだろうか。
  従来通り、「永続的にアップグレードと脆弱性修正パッチが当てられるWindows
  10」の方が、よほど安全ではないか。Windows11が多くの旧型機で十分動作する
  以上、アップグレード対象に含めるべきではないか。あるいは「10」のまま
  でもよいから、セキュリティアップデートだけは継続すべきではないだろうか。


  またマイクロソフトは、まだまだ使用に耐えるパソコンを大量に文鎮化する
  ことにより、環境ごみを増やし、同社が掲げるESGに反することにならないか。
  事実、マイクロソフトは「発生する廃棄物とほぼ同じ量の廃棄物を削減する
  ことで、廃棄物を実質ゼロにする」と宣言しているが、社内でこの目標が達成
  できたとしても、社外のユーザーの間に大量の廃棄物を発生させる環境破壊者
  になる恐れはないだろうか。


  Windows11プロジェクトを手ずから指導するマイクロソフトのサティア・ナデラ
  最高経営責任者(CEO)は、ESGの原則と顧客のセキュリティ強化を最重視し、
  Windows11のアップグレード要件を緩和するか、Windows10のサポート延長を
  真剣に検討すべきだろう。

  ・・・・・
  ・・・・・


などとあることです。




更に、1週間後に、
「できるネット」の 2021.07.19 MON 12:00 付 記事:
Windows 11にアップデート可能かを確認する方法。・・・
を見つけた。

  Windowsの次期バージョン「Windows 11」が発表されました。
  ユーザーインターフェイスが刷新され、数多くの新機能も搭載される一方で、
  Windows 10から無償でアップデート(アップグレード)が可能です。
  ただし、パソコンの最低システム要件には注意が必要です。

  Windows 10から無償で更新可能

  ・・・・・
  ・・・・・

【2021年7月19日更新】MicrosoftよりWindows 11の最低システム要件の見直しが
発表され、PC正常性チェックツールの公開が中止されました。再公開されるなど、
新情報が入りしだい本記事にてお知らせします。

  ・・・・・
  ・・・・・

  ・・・・・
  ・・・・・

  以上、Windows 11に更新可能かを確認する方法を紹介しました。
  システム要件に満たない場合は残念な思いをしてしまいますが、
  「そろそろ新しいパソコンを」と考えていた人にとっては、
  2021年の年末は買い換えのよいタイミングとなりそうです。


と、ありました。



結局、2つの記事の丸写し? に成ってしまいましたが、
本日はここまで。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒

210715,22
スポンサーサイト



Perl 学習:CIF2Cell 四度目

2021-07-21 :  PCクリニック
2年前(2019-11-13)の記事:
Perl 学習:CIF2Cell 三度目」で、

  ・・・・・
  ・・・・・

  今回、
   “Anaconda”版CIF2Cellを作り、
   これを使って、“Perl”スクリプトで、XYZ形式ファイルに変換する。
  プログラムを作った。


  CIF2Cell は、Python スクリプトなので、
  Perl だけでの処理では無いのだが、・・・・・

  そこは、
  昨年(2018-02-09)の記事:
  「Anaconda 学習:スクリプトを exe ファイル化」で書いている手段で、
  exe化してしまう?(出来るものは巨大サイズだが)

  と云うことで、Perl だけでの処理と考える。


  それで、
    "Python cif2cell $file.cif --no-reduce --supercell=[1,1,1]"
  として起動したCIF2Cell の出力は、
  以下のような構造となっている。

  初めの方に、結晶格子情報があり、
  終わりの方に、基本セル内の原子位置情報がある:

  ・・・・・
  ・・・・・
  ・・・・・


これを作った時は、基本セルと云うことに気が取られていたようだった。


よくよく眺めていたら、

  --supercell=[1,1,1]

なるパラメータを指定している。


と云うことは、--supercell=[2,2,2] とか指定した場合の、
CIF2Cell の出力は、どうなる?

実行してみた:
CIF2CELL 1.1.0
2021-07-21 12:00
Output for Al2 O3 (Aluminium oxide - Cr-doped)
CIF file exported from Crystallography Open Database.
Database reference code: 5000092.

BIBLIOGRAPHIC INFORMATION
Finger, L W and Hazen, R M, Journal of Applied Physics 49, 5823-5826
(1978)

INPUT CELL INFORMATION
Symmetry information:
Trigonal crystal system.
Space group number : 167
Hall symbol : -R 3 2"c
Hermann-Mauguin symbol : R-3c:H

Lattice parameters:
a b c
4.7607000 4.7607000 12.9947000
alpha beta gamma
90.0000000 90.0000000 120.0000000
Representative sites :
Atom a1 a2 a3
Al 0.0000000 0.0000000 0.3521600
O 0.3061000 0.0000000 0.2500000

OUTPUT CELL INFORMATION
Symmetry information:
Trigonal crystal system.
Space group number : 167
Hall symbol : -R 3 2"c
Hermann-Mauguin symbol : R-3c:H

Bravais lattice vectors :
0.8660254 -0.5000000 0.0000000
0.0000000 1.0000000 0.0000000
0.0000000 0.0000000 2.7295776
All sites, (lattice coordinates):
Atom a1 a2 a3
Al 0.0000000 0.0000000 0.3521600
Al 0.6666667 0.3333333 0.4811733
~~~~~~~~~~~~~~~~~~~~~
O 0.6394333 0.6666667 0.9166667
O 0.0272333 0.6666667 0.4166667

Unit cell volume : 255.0577470 A^3
Unit cell density : 2.3984921 u/A^3 = 3.9827893 g/cm^3

SUPERCELL INFORMATION
Bravais lattice vectors :
1.7320508 -1.0000000 0.0000000
0.0000000 2.0000000 0.0000000
0.0000000 0.0000000 5.4591552
All sites, (lattice coordinates):
Atom a1 a2 a3
Al 0.0000000 0.0000000 0.1760800
Al 0.3333333 0.1666667 0.2405867
~~~~~~~~~~~~~~~~~~~~~
O 0.5136167 0.3333333 0.7083333
O 0.0136167 0.8333333 0.2083333


  終わりの方に、基本セル内の原子位置情報

の更に、

  終わりの方に、拡大セル内の原子位置情報があった。


これは、拡大セルでない場合でも、同じ形式で、存在している。
つまり、
どちらの場合でも、2つ目のものを抜き出せばよい。


と云うことで、
拡大セルを指定した場合でも使えるPerlスクリプトを
前回のものの僅かな修正で作れた。



本日はここまで。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒

210702

Active Perl 学習:Ver.5.14.2の ppm が使えない

2021-07-14 :  PCクリニック
昨年(2020-09-23)の記事:
Active Perl 学習:ppm は何をしているのか
で、ppm の事について書いているが、
当時は、実際に使うことはなかった。

ここに来て、行列演算を行いたくて、“パッケージの導入”
即ち、ppm を動かしてみた。

ところが、環境が変わったこともあって、
働かない!

そこで、一度は諦めていた、
最新バージョンを入れることが出来るのか?
試してみた。

窓の杜の、
ActivePerl:Perlインタープリター」から辿ると、
Ver.5.28 は、ユーザ登録無しでダウンロードできた。

ならばと、ダウンロードした「ActivePerl-5.28.msi」5.51MB を、
即行インストールした。
  (上書きインストールはダメなので)現状版を消して。


これで、ppm が使える と思ったが、
ここで、ユーザ登録が必要であることが分かった。

やはり、タダでは使えない。

仕方なく、アンインストールして、
(保存しておいた)現状版に戻した。



骨折り損のくたびれ儲け。


本日はここまで。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒

210428

Windows 10 ユーザはどうすればいいの?

2021-07-07 :  PCクリニック
Windows 11 だとかが、喧しくなってきた。

そこで、探してみると、・・・・・

1つは、窓の杜の“やじうまの杜”2021年6月25日 20:08 記事:
Windows 11は無償でアップグレード可能! ただし、・・・
が見つかった。

   いろいろなうわさが飛び交っていたWindows 11、ついに正式発表されました。
  スクリーンショットと今出ている情報を見る限り、かなり期待できるOSになり
  そうです。しかもありがたいことに、Windows 10からのアップグレードは無料!

   なんですが、気になる条件が……。TPM 2.0が必須(何それおいしいの)?
  DirectX 12以降(いくつまで対応してたっけ)? Microsoftさんは
  そんな私のためにちゃんとチェックツールを用意してくれています。

     ・・・・・ ダウンロードリンク ・・・・・

   早速メインに使っているPCでダウンロードしてチェックしてみました。
  結果は以下の通りです。

     ・・・・・ このPCではWindows 11 を実行できません ・・・・・

   しかし!なぜ!?見事に「この PC では Windows 11 を実行できません」
  との判定をいただいてしまいしました。「CPU-Z」や「GPU-Z」を使って、
  いろいろ原因を調べてみたのですが、よくわかりません。
  そのほかの部分でも条件はクリアできているはずなのですが……。

  ・・・・・
  ・・・・・



もう1つは、“マイナビニュース”2021年6月25日 17時53分 記事:
Windows 11、公式サポートは第8世代Intel Core以降 - ・・・

  Microsoftは6月24日(米国時間)、Windows 11をサポートするIntel
  プロセッサの一覧、AMDプロセッサの一覧を公開した。

  IntelのCoreシリーズは第8世代以降のものがサポート対象となっている。
  AMDのRyzenシリーズでは、第2世代Ryzen(AMD Ryzen 5 2600など)以降が
  サポート対象となっているようだ。

  なお、Windows 11のシステム最小要件および、使っているPCがWindows 11
  を動作するために必要な要件を満たしているかどうかをチェックできる
  無料公式ツールも、Microsoftから公開されている。

  Windows 11の動作要件の1つに、TPM 2.0の対応が挙げられている。
  TPMはPCに内蔵されるセキュリティチップで、OSやストレージとは独立して
  動作するため暗号化の鍵などを安全に管理できる。
  最近はCPUに内蔵するfTPMが主流だ。

  ・・・・・
  ・・・・・



以上の情報を得て、2日程して、

更に、“ITmedia”2021年06月25日 02時09分 公開 記事:
このPCはWindows 11にアップデートできる? ・・・

  米Microsoftは6月24日(現地時間)、ユーザーが利用中のPCがWindows OSの
  新バージョン「Windows 11」に対応できるかシステム要件を確認できる
  「PC 正常性チェック アプリ」を公開した。無料で利用できる。

  ・・・・・
  ・・・・・

このリンク(公開)からダウンロードした:
  「WindowsPCHealthCheckSetup.msi」13.4MB

そして、
メインPCで、(インストールして)実行してみた。

結果は、最初に参照した記事と同じ:

     ・・・・・ このPCではWindows 11 を実行できません ・・・・・


それで、
Microsoft 様の Q&A
を見ると、

    リリースに向けて
  Windows 11 のリリースは、2021年後半を予定しています。
  ご興味のある方は、それまでの間にご準備を始めて下さい。

  この PC は Windows 11 に対応していません
  お使いの PC は必要な要件を満たしていません。今後も Windows 10 の
  更新プログラムはご入手いただけますが、要件を満たしている新しい
  Windows 10 PC をご購入いただくこともご検討ください。


  リンク2つ: WINDOWS 10 は今まで通り使えますか?> 新しい PC の購入>



で、
最初のリンク先では、

  はい。Windows 11 にアップグレードしなくても問題はありません。
  Windows 10 のサポートは 2025年10月14日まで継続します。


これって、
2025年10月14日が過ぎたら、知らないゾ!?!?


どうすればいいんでしょうか???



P.S. 7月6日時点
上記の、「PC 正常性チェック アプリ」へのリンクは“準備中”となっている。


本日はここまで。



見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒

210626,28

InChI 表記法(2)

2021-06-30 :  理科部 部活
前回(2021-06-23)の記事:
SMILES 表記法」では、

  ・・・・・
  ・・・・・

  今回、

  分子認識を、(例えば、Open Babel で)行えないか?
  と思った。

  そこで、

  「SMILES InChI mol」検索し、
  Open Babel GUI で、入出力確認を行った。

  “SMILES”でも、“InChI”でも、“Open Babel”では入出力できる。

  “SMILES”の方が良さそうなので、
  3つほど BM(ブックマーク)した。

  ・・・・・
  ・・・・・

  “Open Babel”で、“~.smi”か“~.can”に変換すると、
  分子数を、(ピリオドの数で)数え上げることができますネ。

と書いた。


しかしながら、
“ピリオドの数を数え上げる”ことは、些か手間が掛かる?

そこで、
もう一方の形式:InChIを確認してみた。

その前に、
過去記事を確認すると、
InChI
の如く、10件程度見つかる。

でも実質1、2件ですか。


それで、
適当なデータ:3種類の分子で合計33分子のデータで、
テストをしてみた。



結合情報が定義されている“~.msi”を元にして、
“Open Babel”で、“~.inchi”に変換した。

結果の、
最初の“InChI=1S/”の後に続く、構造部では、

  “4C6H15NO3.24C2H3N.5H2O”

と成っており、

  4分子+24分子+5分子

と識別できる。

これなら、
ピリオドの数は総分子数(-1)じゃなくて、
分子種類数(-1)で済んでいる。



ただし、
結合情報が定義されている“~.msi”を、
一旦、結合情報が(仕様的に定義できない)“~.xyz”に変換して、
そこから、“~.inchi”に変換したのでは、

  “3C6H15NO3.C6H14NO2.24C2H3N.5H2O.HO”

となって、思った通りにはならない?

つまり、

1つの“C6H15NO3”

が、

“C6H14NO2.HO”

の様に別の分子2つと見なされてしまった。


でも、
“~.msi”を“~.xyz”に変換するのでは無くて、
“~.mol”に変換したのなら、結合情報も引き継がれているので、

この“~.mol”から“~.inchi”に変換した場合は、
元の“~.msi”から変換したのと同じ結果になった。



InChIの方が、同一分子の集約を行ってくれるので、
SMILESより、人間に優しい。

だが、結合が曖昧な場合には、
逆にメンドウ(?)になる。



本日はここまで。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒

210410

SMILES 表記法

2021-06-23 :  理科部 部活
SMILES 形式ファイル」に関しては、
12年前(2009-08-21)の記事:
Symyx Draw と Winmostar」で、

  ・・・・・
  ・・・・・
  ここで、「SMILES 形式ファイル(.smi)」なるものを知りました。

  SMILES とは、Simplified Molecular Input Line Entry System の略ですね。

  Wikipedia「SMILES記法」には、
    分子の化学構造をASCII符号の英数字で文字列化した
    構造の曖昧性の無い表記方法である。
    SMILES文字列は多くの種類の分子エディタにおいてインポート可能で、
    二次元の図表あるいは三次元のモデルとして表示することができる。
  とあります。
  そして、
    SMILES記法の長所は化学構造を、少ないバイト長で表現できることと、
    ルールが簡単なので文字列に変換する際に複雑な演算が不必要な点にある。
  だそうです。
  でも、
  ・・・・・
  ・・・・・

と書いている。



今回、

分子認識を、(例えば、Open Babel で)行えないか?
と思った。

そこで、

「SMILES InChI mol」検索し、
Open Babel GUI で、入出力確認を行った。

“SMILES”でも、“InChI”でも、“Open Babel”では入出力できる。

“SMILES”の方が良さそうなので、
3つほど BM(ブックマーク)した。

BM①:「Smiles - pirika.com

BM②:「SMILES記法は線形表記法 - 化学の新しいカタチ

BM③:「Canonical SMILES format (can) - OB 2.3.1 doc


BM① から、抜粋:
 ・水素は書かずに重原子の元素記号だけ線形に表記する。
 ・有機用のC, N, O, P, S, F, Br, Cl, Iは [] は省略。他の原子には[]をつける。
 ・枝分かれは()を使う。
 ・2重結合は=,3重結合は#で表す。
 ・環状構造は環の結合を一つ切りその両端に1以上の同じ数字をつける。
さらに、
 ・2分子を扱う時にはピリオドで結合する。
 ・チャージを扱う時には[]の中に原子を書き+、-をつける。
 ・共役構造は小文字で表す方法もある。
など細かい規則がある。


BM② から、抜粋:
 1.元素記号で表される。2文字の元素で紛らわしいものは[Nb]などのように囲む。
 2.水素原子は省略する。
 3.隣接原子は隣に記す。
 4.二重結合は「=」で三重結合は「#」で表し、単結合や芳香族結合は省略する。
   ただし、芳香族原子は小文字表記する(cなど)。
 5.イオンなどの結合のない部分同士は「.」で分ける。
 6.分岐構造は括弧()で表記する。
 7.環構造は切断して鎖状構造とし、切断箇所を数字で示す(C1など)。
これらのルールに従って作成したSMILESを「generic SMILES」と呼ぶことがある。

さらに立体構造を示すために、
 1.同位体は[13C]などのように表す。
 2.絶対配置は「@」と「@@」で表す。
 3.二重結合の幾何異性は「/」と「\」で表す。
といったルールがあります。


BM③ から、
  can Canonical SMILES format

  The SMILES format is a linear text format
  which can describe the connectivity and chirality of a molecule.
  Canonical SMILES gives a single 'canonical' form
   for any particular molecule.

  Write Options
   h : Output explicit hydrogens as such
   x : append X/Y coordinates in canonical-SMILES order



“Open Babel”で、“~.smi”か“~.can”に変換すると、
分子数を、(ピリオドの数で)数え上げることができますネ。


しかし、“-h”も、“-x”も働かない???


なので、
“~.xyz”から、一度“~.smi”に変換してしまうと、
元の XYZ 座標値が分からなくなってしまう!?!



本日はここまで。(若干、尻切れトンボかナ)


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒

210409

Avogadro2:もう一つの Avogadro

2021-06-16 :  理科部 部活
久し振りに「分子構造データ 変換ソフト」と検索していたら、
“Pirika.com”の、
情報化学 > フリー・ツールの利用
が見つかった。

  Chemo-Informatics用のフリーウエアーの代表といえばrdkitでしょう。

  ドキュメントはこちらにあるので参考にすると良いでしょう。
  インストールの仕方、使い方などは、ネット上にいくらでも情報が溢れています。

  例えば、「化学の新しいカタチ」のHPは秀逸です。

  Pirikaの方針は、「表計算ソフト、ブラウザー、ネットワーク接続があれば、
  Materials Informaticsだろうが何だろうができてしまう」なので、
  インストールは必須では無い。

  大事なのは、化学の知識の方だと思っています。

  ・・・・・
  ・・・・・


このページの中程に、

  Avogadro

  Webベースではないが、Mac,Windowsで使える分子の3次元表示の
  プログラムとして著名なソフトウエアーです。
  様々な分子軌道計算などを実行するコントローラーとしても有用だ。

  内部的にはOpenBabelを用いてファイル構造変換を行なっています。

  時々クラッシュするし、更新されていなかったので余り使っていませんでした。

  全く別件で調べていたところ、Open ChemistryからAvogadro2の形で
  配布されているのを見つけました。時間を見つけて使い方を紹介しましょう。


なる記述があった。

Avogadro2 とは?
どんなものか? リンク先を見に行ってみた。

  The Open Chemistry project offers a suite of permissively licensed
  cross-platform tools that provide reusable libraries and end-user
  applications for computational chemistry, materials science,
  and related areas.

  Kitware offers services to help you best leverage the Open Chemistry
  suite. Discover how we can work together to advance your research.
===
  Open Chemistryプロジェクトは、計算化学、材料科学、および関連分野向けの
  再利用可能なライブラリとエンドユーザーアプリケーションを提供する、
  パーミッシブライセンスのクロスプラットフォームツールの
  スイートを提供します。

  Kitwareは、OpenChemistryスイートを最大限に活用するのに役立つサービスを
  提供します。 私たちがどのように協力してあなたの研究を前進させることが
  できるかを発見してください。


そして、

  Avogadro 2 is a versatile desktop application for editing
  and visualizing molecular data. It is cross-platform,
  and can be extended with C++ plugins, or Python scripts.
  Support for a number of computational chemistry codes is offered,
  and integration with online databases.
===
  Avogadro 2は、分子データを編集および視覚化するための用途の広い
  デスクトップアプリケーションです。クロスプラットフォームであり、
  C++プラグインまたはPythonスクリプトで拡張できます。
  多数の計算化学コードのサポート、およびオンラインデータベースとの
  統合が提供されます。


と云う事で、“Avogadro 1.91 Released!”の [Download]リンク先から、

ダウンロードした:Windows (Win64 Installer)
 「Avogadro2-1.91.0-win64.exe」17.4MB (ソースの日付は 2018-08-13)


それで、
例によって、“D:/TOOL/Avogadro2/”にインストールした。

入出力ファイルについて(一部)確認。

入力:“Import”じゃなくて“Open”で。
   構造表示領域への“ドラッグ&ドロップ”は無効。
 “.xyz”、“.cif”、“.mol”、“.pdb”はOK。“.msi”は非対応。

出力:“Save”じゃなくて“Export”で。
 “.xyz”、“.cif”(結合無)、“.mol”(結合付)、“.pdb”(結合付)はOK。


このレベルでは、オリジナル“Avogadro”で十分かナ?


取り敢えず、本日はここまで。



続きは? どうなるかナ?


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒

210404

ATOK 2006 復活?

2021-06-09 :  PCクリニック
先々月(2021-04-07)の記事:
再びの Windows 10 バージョン 20H2」で、
デスクトップPC2台の Windows 10 をアップデートして、
バージョンを“20H2”にしたと書いた。

その後、
ノートPCにおいてもバージョンアップを行った。

この時、ふと気が付いたことだが、
このノートPCのIMEは、“ATOK 2006”のままだった。

つまり、
“ATOK 2006”は、Windows 10 でも動作する。と云うこと?

そこで、
デスクトップPCでも、行けるのでは?
と云うことで、
MS-IME はそのままで、“ATOK 2006”をインストールしてみた。
念の為、サブマシンで。


共存出来る:“ATOK 2006”がほぼ正常に動作した。


ほぼ正常とは、

「LibreOffice」や「MS-Office」、「MIFES」、「一太郎」等々のアプリでは、
全く本来の正常な状態。

だが、
Webブラウザ(「Kinza」、「MS-Edge」)では、
日本語入力モードにすると、(カーソル現在位置ではなく)、
画面左下隅に入力フィールドが現れて、そこで変換処理が行われる。

なお、「SeaMonkey」では、「MIFES」等々と一緒で、完全。
一方、「Firefox」では、ATOK は無効(MS-IME から切り替わらない)。


この煩わしさが起こるため、2つのIMEを切り替える方式で、
共存させることにした。



本日はここまで。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒

210321

PLATON/PLUTON って何?

2021-06-02 :  理科部 部活
ひょんなことから、
WHAT IS PLATON ?」なるページを見つけた。


 WHAT IS PLATON ?

 PLATON is a versatile SHELXL compatible multipurpose crystallographic tool.

 Most PLATON features complement those available in the excellent and
 widely distributed SHELX2018 and later package for
 crystal structure determination and refinement.

 Historically (1980) PLATON started out as a program for
 the automated calculation of derived geometrical data (i.e.
 bond distances, bond angles and torsion angles, including
 su's (esd's)) for structures refined with SHELX76.
 Since then, that basic function evolved into an automatic function to
 calculate everything of possible interest (both intra- and
 intermolecular) for a given structural parameter set (Instruction: CALC).

 Over time, various other tools were introduced (Molecular Graphics i.e.
 PLUTON & ORTEP, Absorption correction, Data Validation etc.),
 some of which requiring a reflection datafile as well.


 PLATON HAS MANY FACES

 1.PLATON. The molecular geometry tool.
  This is the (generic) native mode when the executable is invoked as platon

 2.PLUTON. The molecular graphics tool.
  This mode is entered, as opposed to through a platon instruction option,
  when invoked (via a softlink to platon i.e. 'ln -s platon pluton') as
  pluton or (with the command line option '-p') as platon -p

 3.SYSTEM S. The crystallographic supervisor shell.
  This mode is entered when invoked (via a softlink to platon) as s or
  platon -s
  Note: This tool is currently not actively maintained.

 4.CIFCHK. The CIF Validation tool.
  This mode is entered when invoked (via a softlink to 'cifchk') as
  cifchk or as platon -u

 ・・・・・
 ・・・・・

===

 WHAT IS PLATON ?

 PLATONは、多用途のSHELXL互換の多目的結晶学ツールです。

 ほとんどのPLATON機能は、結晶構造の決定と精密化のために、
 優れた広く配布されているSHELX2018以降のパッケージで
 利用可能な機能を補完します。

 歴史的に(1980)PLATONは、SHELX76で改良された構造の派生幾何学的データ
 (つまり、結合距離、結合角、およびねじれ角(su(esd)を含む)の
 自動計算のためのプログラムとして始まりました。
 それ以来、その基本関数は自動関数に進化し、特定の構造パラメーター
 セット(命令:CALC)の対象となる可能性のあるすべて(分子内および
 分子間の両方)を計算します。

 時が経つにつれて、他のさまざまなツール(分子グラフィックス、
 つまりPLUTON&ORTEP、吸収補正、データ検証など)が導入され、
 その一部には反射データファイルも必要になりました。


 プラトンには多くの顔があります

 PLATONには、プログラムの呼び出し方法に応じて、
 少なくとも6つの異なる面があります。

 1.PLATON. 分子幾何学ツール。
   これは、実行可能ファイルがplatonとして呼び出されたときの(一般的な)
   ネイティブモードです。

 2.PLUTON. 分子グラフィックスツール。
   このモードは、platon命令オプションではなく、(platonへのソフトリンク、
   つまり「ln -s platon pluton」を介して)plutonとして、
   または(コマンドラインオプション「-p」を使用して)platon -pとして
   呼び出されたときに開始されます。

 3.SYSTEMS. 結晶学的スーパーバイザーシェル。
   このモードは、 または platon -s として(platonへのソフトリンク
   を介して)呼び出されると開始されます。
   注:このツールは現在アクティブに保守されていません。

 4.CIFCHK. CIF検証ツール。
   このモードは、cifchk またはplaton -u として(「cifchk」への
   ソフトリンクを介して)呼び出されると開始されます。

 ・・・・・
 ・・・・・


これは、

THE PLATON HOMEPAGE」の、
最初のセクションですネ。

 The Program PLATON is designed as a Multipurpose
  Crystallographic Tool.
 (C) 1980-2020 A.L.Spek, Utrecht University, Padualaan 8,
  3584 CH Utrecht, The Netherlands.

 References

 ・・・・・
 ・・・・・

 The PLATON Homepage gives pointers to all information available on
 the program PLATON.

 Download Site:
 https://www.platonsoft.nl/xraysoft/

 The CheckCIF functionality within PLATON forms part of
 the IUCr Small Molecule Crystal Structure Validation Project.

 ・・・・・
 ・・・・・


要するに、

 プログラム“PLATON”は、多目的結晶学ツールとして設計されています。

 このページには、“PLATON”で利用可能なすべての情報へのポインタがあります。

 ダウンロードサイト:
 https://www.platonsoft.nl/xraysoft/

 “CheckCIF”機能は、IUCr小分子結晶構造検証プロジェクト
 一部を形成します。

と云うことですネ。

そして、

PLATON for Windows」では、

 Current versions of the program PLATON for Windows are available
  from this site. The source code and compiled versions of the program
  for various other UNIX platforms are available from
  the official PLATON download-site.
  A full manual for PLATON is available from the PLATON homepage

 PLATON is written by Ton Spek, and is a versatile crystallographic tool
  implementing a large variety of standard geometrical calculations
  (i.e. bonds, angles, torsions, planes, rings, inter-molecular contacts
  (H-Bond analysis), Coordination etc), tests (i.e. for missing
  symmetry, voids in the lattice etc.), utilities (cell transformation,
  SHELXL input etc.), graphics (e.g automatic labelled 'ORTEP-lookalike
  plots and the molecular graphics program PLUTON) and several filters
  (e.g. the DIFABS technique for empirical absorption correction
  (Walker & Stuart), and the SQUEEZE option for handling disordered
  solvents, described by Sluis & Spek, Acta Cryst. 1990,A46, 194).
 This latter option places great demands on the available memory.

 PLATON for Windows
  This is an MS-Windows implementation of the latest UNIX version
  of PLATON. It is identical to the UNIX version,
  except that System S is not included (it is too Unix specific).
  It is suitable for Windows 10 and all earlier 32- and 64-bit versions
  (2000/XP/VISTA/7/8).

 The program is provided free of charge for academic, scientific
  and non-commercial purposes, provided usage is acknowledged.

 Commercial users can only download Platon for Windows
  if they have previously obtained a license from Prof.
  Dr. A.L. Spek using this application form



面白そうなので、ダウンロードサイトに行き、
  mswindows/ platon/ platon.zip
と、
  ================== pwt_setup.zip
を、
ダウンロードした。

どちらも、中身は“.exe”が一つ。

“pwt_setup.zip”は、その名前の通り、セットアップ実行。

そして、
“platon.zip”は、即実行可能だが、上記のセットアップ・フォルダに格納する。



少々動かして見たが、・・・・・


チンプンカンプンで、お手上げ。

しばらく、棚上げ(放置)です。



本日はここまで。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒

210303

Open Babel 学習:最新版はデグレードしてる?

2021-05-26 :  PCクリニック
現状使っている“Open Babel”は、version 2.4.1
これは、
3年前(2018-06-13)の記事:
Windows 版 Open Babel v2.4.1 for 64-bit 導入
で書いている。
そして、
参照しているドキュメントは、
同じく(2018-06-22)の記事:
Open Babel 学習:Sybyl Mol2 format ( ml2, sy2, mol2 )
で書いている:
  ・・・・・
  ・・・・・
  “Open Babel v2.3.1 documentation”の
  ・・・・・
  ・・・・・
である。


些か、古いものなんだろうと思い、
Open Babel の Main Page
を覗いてみた。

  Navigation
の、
  ・ Get Open Babel
リンクから、
  「Category:Installation
ページに飛び、

  Windows
の、
  ・ Open Babel GUI
の、
  ・・・・・
  ・・・・・
  Get the latest installer for 64-bit
に飛んだ。

案の定、

  Open Babel 3.1.1

が出ていた。


それではと、
早速ダウンロードして、
(現状版をアンインストールして)
インストールした。

すると、
どうしよう?

今まで、対象となっていた、
“.xyz”、“.cif”、“.msi”形式などのファイルがエラーとなる???


なんとも不可解だが、これらが対象から除外されたのでは?
(<紙>にとっては致命的で)使えない。

やむなく、アンインストールして、元の版をインストールし直した。


----------


3ヶ月ほど経過したが、・・・

諦めきれずに、
今度は、VMマシンで、
version 3.0.0 をダウンロードして、
インストールしてみた。


これでも、3.1.1 と同じ結果だった。


2.4.1 から 3.0.0 の間に、なにが起こったのでしょうか?


不可解ダ。



本日はここまで。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒

210127,0403

Open Babel 学習:原子間の結合計算

2021-05-19 :  理科部 部活
2年前(2019-10-23)の記事:
OpenBabel 学習:xyz2mol」では、

結論的に云って、

  なんと、Open Babelでは、
  いろいろ手の込んだ(?)処理を行っていたのだ。

  基本的に、結合有無は、
    共有結合半径の和に、0.45Ang加えたもので、判定する。
  但し、
    0.63Ang未満の距離は結合させない。
  また、
    原子価規則を適用し、例えば、水素は結合は1本までとする。
  などなど!

  そうすると、
  原子間の結合有無判定、即ち xyz2mol は、
  Open Babel に任せるのが一番だ。

と纏めていた。



今回、
これに補足事項を追加する。

と云うのも、

上記の事項は、
Open Babel に入力するファイルに依って異なる。
と云うことでした。


具体的には、

入力ファイルが“XYZ形式”など、結合を定義できないものでは、
上記の通りの“原子間の結合有無判定”処理を行う。
しかし、
“mol形式”や“pdb形式”など、結合を定義できるものでは、
定義がなされているものと見なして、それが正しいか否かの判定もせず、
たとえ全く定義されていなくても、そのままで、出力ファイルを生成する。

と云う現実を知りました。



いや、正確には、
思い出しました。

と、云うべきです。



今回書いたことは、
3年前(2018-07-30)の記事:
OpenBabel 学習:原子間結合の計算」で、
書いていることと同じですかネ?



お粗末でした。



本日はここまで。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒

210215

サリンの構造データ

2021-05-12 :  理科部 部活
かの“地下鉄サリン事件”から、26年が経ち、
3月20日以降、ニュース等のTV放送があった。

その中に、“サリン”なる物質の(手書きの)分子構造図が写っていた。

気になって、“構造データ”を調べてみた。


先ずは、“フリー百科事典『ウィキペディア(Wikipedia)”から、
サリン
  サリン(ドイツ語: Sarin)は、有機リン化合物で神経ガスの一種。
  別称はGB、イソプロピルメチルフルオロホスホネートや
  メチルフルオロホスフィン酸イソプロピル。
  ・・・・・
  ・・・・・

このページの右列に、

  識別情報

  PubChem  7871

がある。


リンク先をみると、
青ワク内の2番目に、

  Structure  2D  3D

と、
あるので、3Dに行ってみた。

  1.2 3D Conformer

で、

  “Download”リンク

があったので、ダウンロードした:SDF形式ファイル。


“XYZ”形式で見てみると、
18

P 1.1838 0.0676 0.0739
F 1.0452 -1.4941 0.1906
O -0.2911 0.6007 0.4781
O 2.2598 0.5542 1.0027
C -1.4205 0.1633 -0.2568
C -1.5272 -1.3507 -0.1570
C -2.6649 0.8557 0.2779
C 1.4150 0.6033 -1.6094
H -1.3068 0.4562 -1.3052
H -2.5263 -1.6914 -0.4502
H -0.8289 -1.8422 -0.8407
H -1.3258 -1.7064 0.8589
H -3.5578 0.5646 -0.2835
H -2.5523 1.9435 0.2160
H -2.8207 0.6155 1.3355
H 2.4201 0.3370 -1.9485
H 0.7022 0.1253 -2.2858
H 1.3024 1.6879 -1.6891
と云うことですか。



P とか、F が含まれるから怖いものなのかナ?

だが、

  人体への機序

  サリンは神経伝達物質のアセチルコリンと似た構造を持つ。サリンは
  アセチルコリンを加水分解するアセチルコリンエステラーゼ(AChE)の
  活性部位に不可逆的に結合することで、AChEを失活させる。
  それによりアセチルコリンの分解を阻害し、
  神経伝達を麻痺させる作用が働く。

などとある。

アセチルコリンは、C7H16NO2 で、N はあるが、
他には、C H O ダケで、P や、F は無い。

アセチルコリンは、コリンの酢酸エステル化合物。
だとか。



本日はここまで。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒

210327

GSL Shell + IUP でドラッグ&ドロップ

2021-05-05 :  PCクリニック
“A_Prog.gsl”を、“B_Data.txt”を入力して、実行する場合、
DOS窓で、
gsl-shell  A_Prog.gsl  B_Data.txt
と打ち込んで実行する。
これが、CUIモード。

これに対して、
@echo  off
cd /d %0\..
gsl-shell A_Prog.gsl %1
なる“DnD_A_Prog.bat”ファイルを用意して、
エクスプローラで、
“B_Data.txt”ファイル・アイコンを、
“DnD_A_Prog.bat”に、ドラッグ&ドロップして実行する。
これが、GUIモード。


ここで、この“BAT”ファイルを作る代わりに、
“A_Prog.gsl”ファイルの中に、何らかのコードを埋め込むことで、
同等なことができないかを学習した。

つまり、
“B_Data.txt”ファイル・アイコンを、
“A_Prog.gsl”に、ドラッグ&ドロップすることで実行する方法。



5年前の記事(2016-03-19):
GSL Shell 学習:IUP でドラッグ&ドロップ
では、

  ファイル名の取得をドラッグ&ドロップで出来ないか?

と云うことで、

  何とかコード化できた:
function mysplit( inputstr, sep )
if sep == nil then sep = '%s' end
local t={} ; i=1
for str in string.gmatch(inputstr, "([^"..sep.."]+)") do
t[i] = str i = i + 1
end
return t
end
charA = |s| ffi.cast( 'char*', s )
voidA = |x| ffi.cast( 'void*', x )

local iup = ffi.load( 'iup' )
ffi.cdef[[
typedef void Ihandle;
typedef void ( __stdcall *Icallback ) ( void*, const char* fnm, int num, int x, int y );
void IupOpen( int );
void IupClose( );
Ihandle* IupDialog( Ihandle* child );
void IupSetAttribute( Ihandle*, const char* name, const char* value );
void IupSetCallback( void*, char*, Icallback );
void IupPopup( void*, int, int );
]]
iup.IupOpen( 0 )

Fcb = ffi.cast( 'Icallback', function( z, F, n, x, y )
Fname=ffi.string(F)
iup.IupClose()
end )

dlg = iup.IupDialog( voidA(0) ) -- 枠だけ
iup.IupSetAttribute( dlg, charA('SIZE'), charA('100x80') )
iup.IupSetAttribute( dlg, charA('TITLE'), charA('DnD here') )
iup.IupSetCallback( dlg, charA('DROPFILES_CB'), Fcb )
iup.IupPopup( dlg, 100, 100 )
----------------------------------------------------------------------------
print( Fname )
FN = mysplit( Fname, '\\' ) print( FN[#FN] ) -- これで、ファイル名


その後(2016-04-28)の記事:
GSL Shell 学習:“IUP.lua”モジュール自作
で、
  'IUP.lua' モジュールを作った:
local IUP = { }
local iup = ffi.load( 'iup' )

function split_path( p )
return string.match( p, "(.-)([^\\]-([^%.]+))$" ) end
charA = |s| ffi.cast( 'char*', s )
voidA = |x| ffi.cast( 'void*', x )
-----
ffi.cdef[[
typedef struct Ihandle_ Ihandle;
typedef int (*Icallback)(Ihandle*);
int IupOpen( int ); // int IupOpen( int *argc, char ***argv );
void IupClose( );
Ihandle* IupDialog( Ihandle* child );
void IupDestroy( void* );
void IupSetAttribute( Ihandle*, char* name, char* value );
char* IupGetAttribute( Ihandle*, char* name );
void IupSetCallback( Ihandle*, char*, Icallback func );
void IupPopup( void*, int, int );

Ihandle* IupLabel( char* title );
Ihandle* IupText( char* action );
Ihandle* IupButton( char*title, char* action );
Ihandle* IupVbox( Ihandle* child, ... );
Ihandle* IupHbox( Ihandle* child, ... );
]]

function IUP.Open( z ) return iup.IupOpen( z ) end
function IUP.Close( ) iup.IupClose( ) end
function IUP.Dialog( z ) return iup.IupDialog( z ) end
function IUP.Destroy( ) return iup.IupDestroy( z ) end

function IUP.Label( s ) return iup.IupLabel( charA(s) ) end
function IUP.Text ( s ) return iup.IupText ( charA(s) ) end
function IUP.Button( s1, s2 )
return iup.IupButton( charA(s1), charA(s2) ) end

function IUP.Hbox( ... ) return iup.IupHbox( ... ) end
function IUP.Vbox( ... ) return iup.IupVbox( ... ) end

function IUP.SetAttribute( z, s1, s2 )
iup.IupSetAttribute( z, charA(s1), charA(s2) ) end
function IUP.GetAttribute( z, s )
return iup.IupGetAttribute( z, charA(s) ) end
function IUP.SetCallback( z, s, f )
iup.IupSetCallback( z, charA(s), f ) end

function IUP.Popup( z, x, y ) iup.IupPopup( z, x, y ) end

return IUP
このモジュールを使ったコードは、
翌年(2017-02-12)の記事:
IUP で GUI アプリ:コード改訂
で、書いている:
local Iup = require'IUP'
Iup.Open( 0 ) ---------- これ必須!!!
NULL=voidA(0)
--------------- BUTTON の 'ACTION' コールバック関数
Bcb = ffi.cast( 'Icallback', function( z )
tt1 = ffi.string( Iup.GetAttribute( txt1, 'VALUE') )
tt2 = ffi.string( Iup.GetAttribute( txt2, 'VALUE') )
print( 'Button Clicked' )
print( tt1 )
print( tt2 )
return -2
end )
---------------------------------------
s7=' '; s14=s7..s7 -- 7文字、14文字空白

txt1 = Iup.Text('')
txt2 = Iup.Text('')
btn1 = Iup.Button(' Go ', '')

dlg = Iup.Dialog( Iup.Vbox(
Iup.Hbox( Iup.Label(s7), NULL ),
Iup.Hbox( Iup.Label(s7), Iup.Label('TEXT1 : '), txt1, NULL ),
Iup.Hbox( Iup.Label(s7), Iup.Label('TEXT2 : '), txt2, NULL ),
Iup.Hbox( Iup.Label(s7), NULL ),
Iup.Hbox( Iup.Label(s14), btn1, NULL ), NULL )
)
Iup.SetAttribute( dlg, 'SIZE', '100x90' )
Iup.SetAttribute( dlg, 'TITLE', 'test' ) -- 窓のタイトル
Iup.SetCallback( btn1, 'ACTION', Bcb )

Iup.Popup( dlg, 350, 250 ) -- 窓表示左上隅
Iup.Close() -- <===右上[X]で終了。
---------------------------------------
print( tt1 )
print( tt2 )
_ = io.read(1) -- [Enter]キー入力待ち。



今回は、これを必要最小限度に行数を削減してみた。

第1ステップ:
local Iup = require'IUP';  Iup.Open( 0 )  -- これは必須
NULL=voidA(0)
---------------------- ファイル名D&D
-- 'F_DnD' は、'Icallback' 同等
Fcb = ffi.cast( 'F_DnD', function( z, F, n, x, y )
Fname=ffi.string(F); nn, xx, yy = n, x, y
print( Fname, n, x, y ) ----- ここ※1
return -2
end )
----------------------
dlg = Iup.Dialog(
Iup.Vbox( Iup.Hbox( Iup.Label(' '), NULL ),
Iup.Hbox( Iup.Label(' Drop Here Then Close Window'), NULL ),
NULL )
)
Iup.SetAttribute( dlg, 'SIZE', '180x100' ) -- 窓サイズ
Iup.SetCallback( dlg, 'DROPFILES_CB', Icb(Fcb) ) -- Icb()

Iup.Popup( dlg, 350, 220 ) -- 窓左上隅
Iup.Close()
-----------------------------------------------------------------

Dir, Fnm, Ext = split_path( Fname ) ----- ここ※2
print( Dir, Fnm, Ext, nn, xx, yy ) -- パス名、ファイル名、拡張子、
-- 0, 窓内のドロップ位置
_ = io.read(1)
上記の“ここ※1”か、“ここ※2”の場所で、
得られたファイル名に対する処理が実行できる。


第2ステップ:更なる行数削減
Iup=require'IUP'; Iup.Open(0);  NL=voidA(0)
Fcb=ffi.cast('F_DnD',function(z,F,n,x,y) Fname=ffi.string(F); return -2 end)
dlg=Iup.Dialog(Iup.Hbox(Iup.Label('\n Drop & Close '),NL))
Iup.SetAttribute(dlg,'SIZE','180x100')
Iup.SetCallback(dlg,'DROPFILES_CB',Icb(Fcb))
Iup.Popup(dlg,350,220); Iup.Close(); _,Fnm,_=split_path(Fname)
print(Fnm); _=io.read(1)
これでもOK。

更に、第3ステップ:減らしてみた。
Iup=require'IUP'; Iup.Open(0);  NL=voidA(0)
Fcb=ffi.cast('F_DnD',function(z,F,n,x,y) Fnm=ffi.string(F); return -2 end)
dlg=Iup.Dialog(Iup.Label('\n Drop and\n Close Window \n'),NL)
Iup.SetCallback(dlg,'DROPFILES_CB',Icb(Fcb))
Iup.Popup(dlg,350,220); Iup.Close(); _,Fname,_=split_path(Fnm)
print(Fname); _=io.read(1)
これで、十分か?


“ドラッグ&ドロップ”で取得した“ファイル名”を用いて、
処理をするプログラムの、最初に、
この5行(6行目は確認用なので、不要)
を記述する。

これで、
プログラムが、処理の対象とするファイルは、
当該プログラムが出す窓に“ドラッグ&ドロップ”することで、指定できる。



と云うことで、
使えるかナ?



本日はここまで。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒

210212,23,0330

PySimpleGUI 学習:popup_get_file(ファイルダイアログ)

2021-04-28 :  PCクリニック
先月末(2021-03-31)の記事:
PySimpleGUI 学習:コンテナとFigサイズ指定
に続いて、

プログラムの入力ファイル名を取得する方法について、学習した。


一番シンプルなのは、
import PySimpleGUI27 as sg
Input_File_Name = sg.popup_get_file( 'Document to open' )
これだけで、
  ユーザーがファイルを選択できるように、テキスト入力フィールドと
  参照ボタンを備えたポップアップウィンドウが表示される。


更に、いろいろとオプションが指定できる。

<紙>的には、
sg.popup_get_file('Doc. to open', file_types=(('VTK File', '*.vtk'),))
と云った、拡張子の限定くらいかな?



最近、参照するメイン・ドキュメントは、
PySimpleGUI についての最初(2021-02-10)の記事:
PySimpleGUI ってどうかな?」で書いた、

 ・・・・・
 ・・・・・
  ・ 公式ドキュメント
    PySimpleGUI : Python GUIs for Humans
   ・ https://pysimplegui.readthedocs.io/en/latest/
 ・・・・・
 ・・・・・

です。



本日はここまで。


PySimpleGUI の学習は続く?


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒

210105

Brynhildr:リモートデスクトップツール

2021-04-21 :  PCクリニック
“遠隔でPCを操作するソフト”
つまり、“リモートデスクトップツール
それも、フリーのものを使いたくて、
探してみた。


k本的に無料ソフト・フリーソフト”では、
“シン・テレワークシステム”や“Brynhildr”(★3つ超のもの)
などなど7本載っている。

そして、
フリーソフト100”では、
“AnyDesk”、“Brynhildr”、“Chrome リモート デスクトップ”や
“クイック アシスト”(★3つ超のもの)
などなど14本載っている。



なかでは、“Brynhildr”が気に入った。


k本的に無料ソフト・フリーソフト”の説明では、

  シンプルかつ高カスタマイズなリモートデスクトップツール。
  シンプルでありつつも、動作オプションを詳細に設定することができる
  PC 遠隔操作ツールです。
  表示される映像の圧縮率 / フレームレート を指定する機能や、画質を
  5段階で指定する機能、映像をモノクローム化する機能、音声を転送する
  機能、音質を 5段階で指定する機能、ファイル転送機能、クリップボード
  共有機能、“「Ctrl」+「Alt」+「Del」”などのキーを送信する機能...
  等々が付いています。

  更新日時 : 2020-05-09
  対応 : 2000/XP/Vista/7/8/10
  ファイルサイズ : 441 KB
  ・・・・・


そして、詳細説明のページでは、

  使い方は以下のとおりです。

  操作される側(サーバー)の設定

  1.「brynhildr.exe」を実行
  2.一番上の「Mode」欄で「Server」を選択
  4.通常はそのまま左下の「OK」を押して OK
  これが“最小の設定”

  7.「Brynhildr」がタスクトレイに格納される
    このアイコンをクリックで、
  8.メイン画面が表示され、
    IP アドレス:ポート番号 が表示される


  操作する側(クライアント)の設定

  1.「brynhildr.exe」を実行
  2.一番上の「Mode」欄で「Client」を選択
  3.接続先の IP アドレス、ポート番号 を入力し、
    左下の「OK」ボタンをクリック

  これで、
  4.専用のウインドウが立ち上がり、
    その中に接続先 PC のデスクトップが表示される


その他、もろもろの解説が載っている。



早速ダウンロードした:
  「brynhildr260.zip」 441KB
  中身は、“brynhildr”フォルダ1つ。
  で、
  その中には、
  “brynhildr.exe”、“brynhildr.dll”と、“readme.txt”の3つ。


適当なところ:
(<紙>の場合は、“D:/TOOL/brynhildr/”) に展開(格納)。

これだけで、
(当たり前だが)チャント使える。



ところで、両方のPCで、各々2つ立上げ、
それぞれ“Mode”を逆にして実行すると、・・・・・

無限ルールに陥りました。・・・当然の帰結ダ。(バカたれ。)


後から、「Mode」を「Server」で、立ち上げたものを、
当該マシンで終了させれば復旧するけど。




色んな機能があるので、
学習して、使いこなそう。



ところで、
このソフトの呼び名は?

  ブリュンヒルデ だそうです。



本日はここまで。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒

210313

WaaSMedicAgent とは何ダ

2021-04-14 :  PCクリニック
最近、PCを立ち上げると暫くの間、
ディスク使用率が100%となって、重すぎる。
なぜだ? 何とかならないのか?

“タスクマネージャー”で見ると、“WaaSMedicAgent.exe”が動いていた。


調べてみると、

“AAPIONLINE.ORG”の記事:
WaasMedicとは何ですか?それを無効にして修正する方法は?

 WaasMedicまたはWindows Update Medic Serviceは、
 Windows Updateが破損または破損した場合にWindows Updateを修復する
 目的でバックグラウンドで実行されるWindows Updateコンポーネントです。
  このサービスはWindows 10で新たに導入されたため、Windows Updateを
 問題なく実行できます。
 通常、Windowsの更新にはバグ修正、セキュリティパッチなどが
 含まれているため、システムの重要な部分になります。
 しばらくの間システムを更新しないと、多くのセキュリティ上の欠陥に対して
 脆弱になる可能性があります。
 WaasMedic.exeファイルは、一部のサードパーティのウイルス対策ソフトウェアに
 よって脅威またはウイルスとして検出される可能性があり、
 その場合は例外として追加する必要があります。ただし、このプロセスは通常、
 マルウェアの作成者も変装として標的にしているので、注意してください。

 Windows Updateの組み込みコンポーネントであるため、システムから実際に
 削除することはできませんが、無効にしたり、置き換えたりすることができます。
 「サービス」からほとんどのWindowsサービスを無効にできますが、
 無効にしようとすると「アクセスが拒否されました 」ダイアログボックスが
 表示される特定のサービスがあります。 これにはWaasMedicが含まれます。

 ・・・・・
 ・・・・・



もう1つ、
“雑録的ノート”の 2021年2月27日土曜日 の記事:
waasmedic agent.exeが稼働してPCが重い

 ・・・・・
 ・・・・・

 解決策

 お金をかけない解決策
 お金をかけない解決策は、PC起動後にしばらく放置してアップデートの
 チェックを収まるまで待つという方法になります。

 なおしばらく放置する時間はHDD/SSDの速度に依存します。

 CPUの速度はほぼ関係ありません。


 お金をかけてでも解決したい場合
 お金をかけてでも解決したい場合、起動ディスクをHDDより高速なSSDに
 換装するという手段がありますが、やや敷居が高いのがネックですね。

 SSD交換に関する知識と交換作業の手間がかかり、ハードルが高めとなります。

 ただしそのハードルを乗り越えられれば普段のPC環境の快適性も上がることから、
 一考して見る価値はあります。

 最近はSSDへの移行ツールが標準で添付されいたりして、
 昔ほど難易度は高い作業ではありません。

 ・・・・・
 ・・・・・



と云うことで、収まるまで暫くの間待つことにするしかない。



本日はここまで。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒

210309

再びの Windows 10 バージョン 20H2

2021-04-07 :  PCクリニック
以前(2021-01-20)の記事:
Windows 10 バージョン 20H2」で、
一旦は、バージョンアップしたが、
1週間後の記事:
Windows 10 バージョン 20H2 へのアップデートは失敗だった
で書いた通り、元のバージョン 1909 に戻していた。


ところが、
この頃(先月13日頃?から)「お使いのバージョンはまもなくサポート切れになるヨ」
との警告が出始めた。


====================================================================
後日談:

  「Win10 Ver.1909に対し迫り来る期限切れの警告を開始
  Microsoftが、Windows 10 Version 1909またはそれ以前のWindows 10の
  バージョンを使用しているユーザーに対し、Windows 10 Version 2004/
  20H2へのアップグレードを強く推奨する新たな通知を始めたことが
  わかりました(Windows Latest)。

  システムトレイにサービス期間の終了を喚起する通知が表示されるそうで、
  通知を非表示にすることもできますが、アップグレードしない場合
  再び表示されるそうです。

  ・・・・・

  以下のようなメッセージが表示されています。

   Your version of Windows 10 will reach end of service soon.
   Click to download a newer version of Windows 10 to stay supported

   お使いのWindows 10のバージョンはまもなくサービス終了に達します。
   サポートを継続するには、クリックしてより新しいバージョンの
   Windows 10をダウンロードしてください。

  Windows 10 Version 1909のサポート期間は2021年5月11日に終了する予定で、
  終了が近づくにつれアップグレードがより強く推奨されていくことに
  なりそうです。またサポート期間が切れが近い、あるいは切れたデバイスに
  対する強制アップグレードが行われることもあります。

  なおWindows 10 Version 2004/20H2へのアップグレードの障害となる既知の
  不具合はほぼ解消していますが、未知の障害や、互換性の問題によって
  デバイスが推奨バージョンへアップグレードできないことも考えられます。
  その場合Microsoftが提供している、更新アシスタントやメディア作成ツールを
  使用してアップグレードすることも可能です。

を見つけました。
====================================================================


さて、
サポート期限は何時なのか?
調べてみると、・・・・・

“Tanweb.net”なるブログの 2020/12/09 付記事:
Windows 10 は各バージョンごとにサポート期限があるのを知っていますか?
が見つかった。

これの、

  Windows 10 各バージョンごとのサポート期限一覧

に載っていた:

  バージョン名 : November 2019 Update
  バージョン番号: 1909
  サポートの終了: 2021年5月11日


これでは仕方ないか。バージョンアップするか?

しかし、重要なアプリが動かないのでは、どうしたものか?


この Windows 10 のバグ(?)の解決策が分かった。

“20H2”でも日本語IME周りの不具合が継続? MS社が回避策を提示

   Microsoftが公開したWindows 10 October 2020 Update(20H2)の
  既知の問題において、May 2020 Updateでも問題になっていた
  日本語と中国語IME周りの不具合が依然として残っている
  ことが明らかとなった。

   不具合の内容「KB4564002」によれば、日本語と中国語IMEを
  利用する環境において、下記の問題が存在するという。

  ・・・・・
  ・・・・・

   一時的な回避策としては、設定において
  「以前のバージョンのMicrosoft IMEを使う」
  のチェックボックスを入れることで回避できるとしているが、
  Microsoftはこの設定を長期間使用することを推奨しておらず、
  あくまでも問題が発生した場合の一時的な回避策として提示している。
  恒久的な処置については今後のアップデートで提供する。


ということダ。


ならば、と、アップデートすることにした。


それでも、心配なので、

手始めに、サブマシンの方から行った。


開始から、なんと5時間も費やしておいて、
ログインパスワードを正しく入れると、
「ファイルが読めない」と出て先に進めない。
間違ったパスワードでは、「正しくない」とでる。


マシン・リセットして、3時間が経過して、
やっと使えるようになった。


で、やはり MS-IME のバグのために、重要なアプリは使えなかった。
仕方なく、“以前のバージョンのMS-IMEを使う”ことにした。



そこで、
十分時間的余裕のある日に、メインマシンでも、アップデートした。

これでも、4時間を要した。
マシンに付きっ切りではなかったので、
開始から完了までに、5時間が経過していた。


こちらも、やはり MS-IME のバグのために、重要なアプリは使えなかった。
仕方なく、“以前のバージョンのMS-IMEを使う”ことにした。



本日はここまで。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒

210313,19 + 27

PySimpleGUI 学習:コンテナとFigサイズ指定

2021-03-31 :  PCクリニック
前回(2021-03-24)の記事:
PySimpleGUI 学習:FigureCanvasTkAgg の利用 - 本番
で、

なんとなく(?)、
PySimpleGUI からの FigureCanvasTkAgg の利用法を理解できたようダ。


その途中で、
 1つの Canvas に複数Plotする方法は分かったが、Canvas を複数用意する方法は?
そして、
 Figureインスタンスで図のサイズを指定する方法は?
と疑問が残った。


いろいろ探し回わって、何れもなんとか理解できた。



(1)キャンバスを複数用意する方法

一つの方法として、コンテナを使う。
左半分の“L_Col”と右半分の“R_Col”を用意して、
この2つを並べて“layout”として、“Window”を定義する:
SP = ' ';   SPx = ' '*20;   SPa = ' '*10
L_Col = [
[sg.Text( SPa + 'タイトル', font=('Helvetica',18) )],
[sg.Text(SP)],
[sg.Text(u'最大値:'),sg.InputText(vmax,key='-vmax-',size=(16,1)),sg.Text(vmax)],
[sg.Text(SP)],
[sg.Text(SPx), sg.Button('Display Graph', key='-DISP-')],
[sg.Text(SP)],
[sg.Canvas( key='-CANVAS3-')] ]
R_Col = [ [sg.Canvas( key='-CANVAS1-')],
[sg.Canvas( key='-CANVAS2-')] ]

layout = [ [sg.Column(L_Col, size=(650,900)), sg.Column(R_Col, size=(650,1000))] ]

window = sg.Window('Title', layout=layout, finalize=True, size=(1350,1000))
と云った様に。



(2)Figureインスタンスで図のサイズを指定する方法

最初の「Figureインスタンスを生成」するところで指定するダケだった。
但し、単位は“インチ”と云うことダ!
def DISP():
fig = plt.Figure(figsize=(6.0, 4.3)) # ここでsizeを指定。単位:インチ

ax2 = fig.add_subplot(121)   # Axesを作る。
ax2.set_xlabel( '~~~' )
ax2.set_ylabel( '~~~' )
ax2.set_xlim( x0, x1 )
ax2.set_ylim( y0, y1 )
ax2.set_title( '~~~' )
ax2.plot( X, Y, 'b-' ) # データをプロット

####### その他、もろもろ・・・
この関数の最初の1行目ダケ。(単位はインチ)



めでたし。メデタシ。



本日はここまで。


PySimpleGUI の学習は続く?


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒

201229,30

PySimpleGUI 学習:FigureCanvasTkAgg の利用 - 本番

2021-03-24 :  PCクリニック
前回(2021-03-17)の記事:
PySimpleGUI 学習:FigureCanvasTkAgg の利用
で、

  from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg

について、更なる学習を行った。

だが、
未だ、Tkinter から使う場合だった。

それで、記事の最後に、

  「PySimpleGUI matplotlib FigureCanvasTkAgg
  と検索して、

  そのものずばり、
  “Qiita”の記事:「PySimpleGUIにMatplotlibを埋め込みたい
  が見つかった。

  これで、更なる学習だ。

と書いて終わっていた。


今回の記事は、その後の学習結果(?)について。



当該記事にある、プログラム
##### embedded-matplotlib.py
import numpy as np
import PySimpleGUI as sg
import matplotlib.pyplot as plt
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg

# GUIがぼやける現象を防ぐための関数
def make_dpi_aware():
import ctypes
import platform
if int(platform.release()) >= 8:
ctypes.windll.shcore.SetProcessDpiAwareness(True)
make_dpi_aware()

# 描画用の関数
def draw_figure(canvas, figure):
figure_canvas_agg = FigureCanvasTkAgg(figure, canvas)
figure_canvas_agg.draw()
figure_canvas_agg.get_tk_widget().pack(side='top', fill='both', expand=1)
return figure_canvas_agg

# レイアウト作成
layout = [[sg.Text('Embed Matplotlib Plot')],
[sg.Canvas(key='-CANVAS-')],
[sg.Button("Add"), sg.Button("Clear")]]

# windowを作成する.finalize=Trueにする必要がある.
window = sg.Window('Demo App', layout, finalize=True, font='Monospace 18')

# 埋め込む用のfigを作成する.
fig = plt.figure(figsize=(5, 4))
ax = fig.add_subplot(111)
ax.set_ylim(-10, 10)

# figとCanvasを関連付ける.
fig_agg = draw_figure(window['-CANVAS-'].TKCanvas, fig)

# イベントループ
while True:
event, values = window.read()
print(event, values)
# sg.Print(event, values)

if event in (None, "Cancel"):
break

elif event == "Add":
# 適当なプロット用データ作成
t = np.linspace(0, 7, 100)
afreq = np.random.randint(1, 10)
amp = np.random.randint(1, 10)
y = amp * np.sin(afreq * t)

# プロット
ax.plot(t, y, alpha=0.4)

# 変更を加えたあと,fig_agg.draw()で変更を反映させる.
fig_agg.draw()

elif event == "Clear":
ax.cla()
fig_agg.draw()

# ウィンドウを閉じる.
window.close()
と、以降の解説
で学習。


結果をまとめて、<紙>流コードに:
# -*- coding: utf-8 -*-              # 文字コード:UTF-8

import numpy as np
import matplotlib.pyplot as plt
from PIL import Image

from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg #####
# ------------------------------------------
import PySimpleGUI27 as sg # Python 2.7 版

# ====================
def DISP():
fig = plt.Figure() # Figureインスタンスを生成

ax2 = fig.add_subplot(121) # Axesを作る。
ax2.set_xlabel( '~~~' )
ax2.set_ylabel( '~~~' )
ax2.set_xlim( x0, x1 )
ax2.set_ylim( y0, y1 )
ax2.set_title( '~~~' )
ax2.plot( X, Y, 'b-' ) # データをプロット

####### その他、等々・・・

figure_canvas_agg = FigureCanvasTkAgg(fig, window['-CANVAS-'].TKCanvas)
figure_canvas_agg.draw()
figure_canvas_agg.get_tk_widget().grid(row=0, column=1)


# =============================================

####### ファイル入力処理

####### x0、x1、y0、y1、X[]、y[] 設定処理

# =============================================
# 関数とkeyをセットにして辞書にする
handler = { '-DISP-' : DISP,
####### 等々,
]

layout = [
[sg.Text(' タイトル', font=('Helvetica',18))],
[sg.Text(' ')],
[sg.Text(' '), sg.Button('Display Graph', key='-DISP-')],

[sg.Canvas(key='-CANVAS-')] ] #####

window = sg.Window('Title', layout=layout, finalize=True, size=(700,900) )

while True:
event, value = window.read()
if event is None:
break

function = handler[event] # handlerからeventに応じた関数を呼び出す
function()

window.close() # 終了処理
でしょうか?


これで、“QT_PLUGIN_PATH”を設定しなくても動いた。

めでたし。メデタシ。



本日はここまで。


PySimpleGUI の学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒

201226

PySimpleGUI 学習:FigureCanvasTkAgg の利用

2021-03-17 :  PCクリニック
前々回(2021-03-03)の記事:
PySimpleGUI 学習:グラフ表示
で、

  matplotlibとの連携

について若干学習したが、
イマイチ理解できなかった(汗;

特に、

  from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg

と云ったコード。
見たことがなかった。


そこで、更なる学習を行った。


matplotlib FigureCanvasTkAgg」と検索して、

2020.07.19 付 ブログ記事:
Tkinterでmatplotlibを埋め込んでグラフ表示する方法

を見つけた。


PySimpleGUI の前に、元となっている Tkinter の学習から。


当該記事は、

   Pythonの 標準GUIプログラミングライブラリである Tkinter は
  matplotlib とも連携可能です。
   ここでは簡単な波形を使い、
  Tkinter で matplotlib を使う1つの事例を紹介します。

と云うことですね。

そして、

  目次

  1 Tkinterとmatplotlibの概要
    1.1 Tkinterのおさらい
    1.2 matplotlibのおさらい
    1.3 Tkinterとmatplotlibを組み合わせる理由
  2 Tkinterにmatplotlibのグラフを埋め込むコード
    2.1 目標
    2.2 import文
    2.3 プロットの関数を用意する
    2.4 ボタンイベントの関数を用意する
    2.5 Tkinterのウィンドウを用意する
    2.6 widgetのレイアウトをする
    2.7 全コード(コピペ用)
  3 まとめ

とあるので、

  “2.7 全コード(コピペ用)”

をコピペさせて頂いた:
# -*- coding: utf-8 -*-                  # コードは、UTF-8

from tkinter import *
from matplotlib import pyplot as plt
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
import numpy as np

# プロットをする関数
def plot_wave(x, y):
# Figureインスタンスを生成する。
fig = plt.Figure()

# 目盛を内側にする。
plt.rcParams['xtick.direction'] = 'in'
plt.rcParams['ytick.direction'] = 'in'

# Axesを作り、グラフの上下左右に目盛線を付ける。
ax1 = fig.add_subplot(111)
ax1.yaxis.set_ticks_position('both')
ax1.xaxis.set_ticks_position('both')

# 軸のラベルを設定する。
ax1.set_xlabel('x')
ax1.set_ylabel('y')

# データをプロットする。
ax1.plot(x, y)
return fig

ef button1():
x = np.arange(0, 10, 0.1)
y = np.random.rand(len(x))
fig = plot_wave(x, y)
canvas = FigureCanvasTkAgg(fig, frame_2)
canvas.draw()
canvas.get_tk_widget().grid(row=0, column=0)

# Windowの設定
root = Tk()
root.title("Plot window")
root.geometry()

# Frameの設定
frame_1 = Frame(root, bd=4, relief=GROOVE)
frame_2 = Frame(root, bd=4, relief=GROOVE)

# widgetの設定
btn1 = Button(frame_1, text='Update', command=button1)
fig = plot_wave(0, 0)
canvas = FigureCanvasTkAgg(fig, frame_2)

# widgetの配置
frame_1.grid(row=0, column=0, sticky=W + E)
frame_2.grid(row=1, column=0)
btn1.pack(fill=X)
canvas.get_tk_widget().grid(row=0, column=0)

root.mainloop()
これを実行しながら、
目次に沿って、コードを解読。


これまでは、
from matplotlib import pyplot as plt
に相当する、
import  matplotlib.pyplot  as  plt
で描画していた。
 例えば、Python 学習:スプライン曲線

今回、初めて、
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
なる関数を知った。

今使っているのは、matplotlib 2.1.0 だが、
Matplotlib 3.2.1 documentation に
Embedding in Tk
があった:
import tkinter

from matplotlib.backends.backend_tkagg import (
FigureCanvasTkAgg, NavigationToolbar2Tk)
from matplotlib.backend_bases import key_press_handler
from matplotlib.figure import Figure

import numpy as np


root = tkinter.Tk()
root.wm_title("Embedding in Tk")

fig = Figure(figsize=(5, 4), dpi=100)
t = np.arange(0, 3, .01)
fig.add_subplot(111).plot(t, 2 * np.sin(2 * np.pi * t))

canvas = FigureCanvasTkAgg(fig, master=root) # A tk.DrawingArea.
canvas.draw()

・・・・・
・・・・・
こんな使い方をするんダ。


なんとなくだが、FigureCanvasTkAgg が見えてきた。

これを、
PySimpleGUIで書くんだ。


参考記事は?

PySimpleGUI matplotlib FigureCanvasTkAgg」と検索して、

そのものずばり、
“Qiita”の記事:「PySimpleGUIにMatplotlibを埋め込みたい
が見つかった。

これで、更なる学習だ。



本日はここまで。


PySimpleGUI の学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒

201221
人気blog Ranking



最新記事
カレンダー
07 | 2021/08 | 09
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

Author:<紙>
ようこそ。
「パソコンヲタクの雑記帳」
もろもろなことを綴っています。
パソコン ヲタクってねくら?
画像は kami でなく kani です。

FC2 / i2i / Google




Google Analytics
ブックマーク