2025年4月25日金曜日

インフルエンザに関する人体実験

 インフルエンザに関する人体実験(ヒトチャレンジ試験、Human Challenge Trials)の記録は存在します。これらは、倫理的制約の下、制御された環境でインフルエンザウイルスをヒト被験者に意図的に暴露し、感染や免疫応答を観察する研究です。以下に、インフルエンザのヒトチャレンジ試験に関する主な記録とその概要をまとめます。

1. ヒトチャレンジ試験の概要


    目的:ワクチン開発、治療薬の効果検証、免疫応答の解明、ウイルスの感染力や病原性の評価。

    方法:健康なボランティアに、弱毒化または標準化されたインフルエンザウイルス(例:A/H1N1、A/H3N2、B型)を鼻腔内投与し、感染症状や免疫反応をモニタリング。

    倫理的配慮:厳格な倫理審査(IRB承認)、インフォームドコンセント、被験者の安全確保(隔離施設、医療監視)のもと実施。


2. 主な記録と研究例

以下は、インフルエンザのヒトチャレンジ試験に関する代表的な記録や研究です:


    1940年代~1950年代:初期のチャレンジ試験

        記録:米国や英国で、インフルエンザの感染メカニズムやワクチン効果を調べる初期の試験が行われた。例として、1940年代の米国陸軍の研究では、兵士ボランティアにインフルエンザウイルスを投与し、症状発現や伝播を観察(例:Francis et al., 1944, Journal of Clinical Investigation)。

        内容:抗体レベルの影響や感染防御の基礎データを収集。抗体がない被験者でも感染しないケースが観察され、自然免疫や個体差の関与が示唆された。

        意義:インフルエンザワクチンの開発基盤を築いた。

    1980年代~2000年代:現代的チャレンジ試験の確立

        記録:米国(例:国立アレルギー感染症研究所、NIAID)や英国(例:Common Cold Unit)で、標準化されたウイルス株を用いた試験が実施。

        例:

            Couch et al., 1986(Journal of Infectious Diseases):インフルエンザA/H1N1を投与し、抗体応答やT細胞応答を評価。抗体レベルが低い被験者でも、T細胞応答が感染防御に寄与するケースを報告。

            Carrat et al., 2008(American Journal of Epidemiology):インフルエンザの潜伏期間や感染率を調べるチャレンジ試験のメタアナリシス。抗体がない場合の感染抵抗性についても間接的に言及。

        内容:ウイルス量、投与経路、被験者の免疫状態(抗体有無など)が感染にどう影響するかを詳細に分析。

    2010年代~現在:ワクチン・治療薬開発のための試験

        記録:

            Memoli et al., 2016(Clinical Infectious Diseases):インフルエンザA/H1N1を用いたチャレンジ試験。被験者にウイルスを投与し、症状発現やウイルス排出を観察。抗体レベルが低くても感染しない被験者がおり、粘膜免疫や細胞性免疫の役割が示唆された。

            Liebowitz et al., 2020(Lancet Infectious Diseases):広域インフルエンザワクチン候補の有効性を評価するチャレンジ試験。抗体以外の免疫機構(例:交差反応性T細胞)が防御に寄与する証拠を提示。

            hVIVO(英国の研究機関):インフルエンザチャレンジ試験を専門に行う施設で、2010年代以降、複数の試験を実施(例:A/H3N2やB型ウイルスを使用)。抗体非依存の防御に関するデータも収集。

        内容:抗体がない場合の感染防御(例:T細胞、インターフェロン、遺伝的要因)を詳細に解析。インフルエンザのユニバーサルワクチン開発に貢献。

        例(抗体非依存の防御):Memoliらの研究では、抗体価が低い被験者でも、局所免疫(鼻腔内のIgAやT細胞応答)がウイルス増殖を抑制するケースが観察された。


3. 抗体がない場合の感染防御に関する記録


    ヒトチャレンジ試験では、抗体がない(または低い)被験者がインフルエンザに感染しないケースが報告されています。これは以下のような要因による可能性が示唆されています:

        細胞性免疫:CD8+ T細胞やメモリーT細胞がウイルス感染細胞を攻撃(例:Sridhar et al., 2013, Nature Medicine)。

        自然免疫:インターフェロン、NK細胞、粘膜バリアが初期感染を阻止。

        遺伝的要因:HLA型やレセプター変異による感染抵抗性。

        環境要因:暴露されたウイルス量が閾値以下だった場合。

    例:Memoli(2016)の試験では、抗体価が低い被験者の一部が感染症状を示さず、鼻腔内のウイルス排出も検出されなかった。これは、抗体以外の免疫機構が関与した可能性を示す。


4. 記録の入手方法


    学術論文:

        PubMedやGoogle Scholarで「influenza human challenge trial」「influenza antibody-independent immunity」などのキーワード検索。

        例:Memoli 2016、Liebowitz 2020、Couch 1986などの論文。

    書籍:

        Fields Virology(Knipeら編):インフルエンザのチャレンジ試験や免疫応答の詳細を解説。

        Janeway's Immunobiology(Murphyら):抗体非依存の免疫機構に関する記述あり。

        これらは大学図書館やAmazonで入手可能。

    研究機関の報告:

        NIAID(米国)、hVIVO(英国)、またはWHOのインフルエンザ研究報告書で、チャレンジ試験の概要が公開されている場合あり。


5. 限界と倫理的課題


    倫理的制約:ヒトにウイルスを意図的に感染させるため、被験者の安全確保が最優先。重症化リスクのある被験者(例:免疫不全者)は除外されるため、抗体完全欠如の条件を検証するのは困難。

    データ限界:抗体がない場合の感染防御は、意図的な実験より観察データや動物モデルから推測されることが多い。

    再現性:被験者の遺伝的背景や免疫状態の違いにより、結果が一貫しない場合がある。


6. 結論

インフルエンザのヒトチャレンジ試験の記録は、1940年代から現在まで存在し、抗体がなくても感染しないケースが観察されています(例:Memoli 2016、Sridhar 2013)。これらは、T細胞、自然免疫、粘膜免疫の役割を示唆しています。詳細な記録は学術論文(PubMedで検索可能)や教科書(Fields Virology、Janeway's Immunobiology)で確認できます。特定の研究や条件(例:抗体非依存の防御に絞った記録)に焦点を当てたい場合、追加で調査できますので教えてください!

2021年9月7日火曜日

Linux kernel build

 ドキュメントの場所

https://www.kernel.org/doc/html/v5.14/

https://kernelnewbies.org/

The Linux Documentation Project


開発ツールのインストール
sudo apt-get install libncurses5-dev gcc make git exuberant-ctags bc libssl-dev flex bison libelf-dev

linuxのkernelのソースコード取得

https://www.kernel.org/からtar ballを取得するか

gitで取得する。

Linus' treeから取得する場合
(Linusとは、有名なLinus Torvaldsのこと)
git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
cd linux

安定版(stable)を取得する場合
git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
cd linux-stable
最新のタグを探してチェックアウトする。(手順省略)

.configをLinuxを実行中のマシンからコピー
.configには、ビルドするドライバ、モジュールなどの情報が記述されている。
cp /boot/config-`uname -r`* .config

default configを作る
make defconfig
(注意)default configは、ビルドする人にとって、必要な情報が設定されていない場合もある。


configの変更は、
make menuconfig
または、
make nconfig
で行う。

ビルドの実行
make -jX
Xは、数字 コア数に応じて変更、コア数の1.5倍くらいがよい。
例 make -j12 

インストール
sudo make modules_install install


カーネルの実行時の注意
変更前のカーネルで実行できるようにgrubの設定をしておく
 /etc/default/grubからGRUB_HIDDEN_TIMEOUT_QUIET行を削除
GRUB_TIMEOUTに適当な値を設定

2021年7月21日水曜日

Raspberry Pi OS Kernel クロスコンパイル

  ラズベリーパイのKernelをx86 Linux クロスコンパイル環境で作成する。

開発環境は、Raspberry Pi OSと同じDebian系のubuntuがよく使われるようである。


1. 開発環境のインストール

sudo apt install git bc bison flex libssl-dev make libc6-dev libncurses5-dev

64bit kernel用の環境

sudo apt install crossbuild-essential-arm64


2. ソースコードの入手(最小構成)

git clone --depth=1 https://github.com/raspberrypi/linux


3. 64bit Raspberry Pi 4のconfig作成

cd linux

KERNEL=kernel8

make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- bcm2711_defconfig


4. 64bit build

make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- Image modules dtbs

-j N をつけるとコア数に応じて早くビルドできる

Nは、コア数の1.5倍



2021年2月27日土曜日

github clone ssh

githubからidとpasswordでgit cloneしたらgithubから怒られました。

2021年8月頃にidとpasswordでは、操作できなくなるそうです。(詳細)

少しハマったのでキーの作成方法と公開キーの登録方法をメモしておきます。

sshキーの作り方

$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

キーをgithubへ登録する方法

catで表示してコビーペーストでも問題ない。


1.

2. 左端のメニューの"SSH and GPG keys"

3. 右上の"New SSH key"

sshの接続テスト

$ ssh -T git@github.com

The authenticity of host 'github.com (52.192.72.89)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes   <== 入力
Warning: Permanently added 'github.com,52.192.72.89' (RSA) to the list of known hosts.
Hi user-ID! You've successfully authenticated, but GitHub does not provide shell access.
または
Hi user-ID! You've successfully authenticated, but GitHub does not provide shell access.
のように表示されたらOK 

cloneの例

$ git clone git@github.com:abcd/efghi.git

2021年2月21日日曜日

javascript ファイル出力

 セキュリティの問題から、ブラウザのjavascriptから直接ファイルの操作はできない。

Blobを作成して、アンカーに紐づけダウンロードすることによりファイルを出力できる。
window.onload = () => {
    let data =  Array("abcdefg", "xxxxx");
    let blob = new Blob(data, {type: "text/plan"});
    let link = document.createElement('a');
    link.href = URL.createObjectURL(blob);
    link.download = 'testfile.txt';
    link.click();
};

2021年2月15日月曜日

javascript internal slot [[Prototype]]について

 Internal methods and internal slots are identified within this specification using names enclosed in double square brackets [[ ]].(© Ecma International 2020)

[[ ]]は、ECMAScriptでの表記方法

普通のオブジェクト(ordinary object)は、[[Prototype]]を持っています。

[[Prototype]]は、nullまたは、他のオブジェクトの参照を持っています。


普通にオブジェクトを作成すると、[[Prototype]]は、Object.protorypeの参照を持ちます。

let obj1 = {};
let obj2 = {};
let obj3 = Object.create(obj1);   // [[Protorype]]は、obj1

Object.prototype.my_prop = "AAA"

// すべてAAAが表示される。
alert(obj1.my_prop);
alert(obj2.my_prop);
alert(obj3.my_prop);

alert("abc".my_prop);  // 文字列も[[Protorype]]を持っており、最終的にObject.prototypetが参照される。


2021年2月14日日曜日

javascript の特殊なプロパティー __proto__

 __proto__は、[[prototype]]にアクセスするための特殊なプロパティーである。色々なブラウザに実装され、デファクト・スタンダードとなった。現在では非推奨である。

代わりに

Object.create(proto, [descriptors]) 

Object.getPrototypeOf(obj) 

Object.setPrototypeOf(obj, proto) 

を使う。

__proto__ の例

let obj1 = {
    prop1 : "ABC"
}

let obj2 = {
    __proto__ : obj1
}

alert(obj2.prop1);   // ABCが表示される。obj2.__proto__.prop1 (obj1.prop1)が参照される。

obj2.__proto__ = "TEST";  // プリミティブは代入できない。

alert(obj2.__proto__);   // [object Object]が表示される。

obj2.__proto__ = {
    prop1 : "XXX"
};                    // オブジェクトは代入できる。

alert(obj2.prop1);    // XXXが表示される。

objectをmapとして使用した場合、画面入力からキーとバリューを作成した場合、キーに"__proto__"が入力された場合問題が発生する。

Object.create(null);を使うことにより、__proto__の無いオブジェクトが作成できる。

let obj3 = Object.create(null);   // [[prototype]] が、nullになる
obj3.__proto__ = "TEST";
alert(obj3.__proto__);    // TESTが表示される。

obj3.__proto__ = {
    prop1 : "XXX"
};
alert(obj3.prop1);        // undefined 
alert(obj3.__proto__.prop1);   // XXXが表示される。