忍者ブログ
バイオインフォマティックス技術者試験、情報処理試験など、IT系の試験を基礎から勉強します。また、Javaなどプログラミングを勉強します。

【BI技術者認定試験対策】二段構えの防御システム!「免疫」を攻略

私たちの体は、病原体などの外敵から身を守るための「免疫(めんえき)」という高度なシステムを備えています。今回は、その基本となる2つの仕組みについて整理しましょう。

1. 問題:生体防御の2つの仕組み

【 問題 】 生体が持つ免疫システムは、生まれつき備わっている[ A ]と、後天的に特定の病原体を記憶して攻撃する[ B ]の2段階に大きく分けられます。空欄の組み合わせとして正しいものはどれでしょうか?

① A:自然免疫 / B:獲得免疫
② A:獲得免疫 / B:自然免疫
③ A:体液性免疫 / B:細胞性免疫
④ A:物理的防御 / B:化学的防御

2. 正解:免疫の分類に関する正解

正解: ① A:自然免疫 / B:獲得免疫

3. 解説:即応部隊と精鋭部隊

免疫系は、侵入者に対して役割の異なる2つの部隊が連携して働いています。

[ 免疫の2段階システム ]
自然免疫(しぜんめんえき):異物が侵入するとすぐに働く「即応部隊」です。好中球やマクロファージなどが、相手を問わず食作用によって異物を排除します。
獲得免疫(かくとくめんえき):特定の異物を記憶して攻撃する「精鋭部隊」です。T細胞やB細胞が関わり、一度感染した病原体を記憶するため、2回目以降の感染では強力に阻止します(適応免疫とも呼ばれます)。

[ 連携の流れ ]
・自然免疫が異物を食べ、その情報を獲得免疫に伝える「抗原提示(こうげんていじ)」によって、スムーズな防御が行われます。

1. 試験のポイント: 「自然免疫=非特異的(誰でも攻撃)」「獲得免疫=特異的(特定の相手を記憶)」という性質の違いを明確にしましょう。ワクチンの原理は、この「獲得免疫」の記憶力を利用したものです。
2. バイオインフォの視点: 獲得免疫の主役である抗体やT細胞受容体の遺伝子は、驚くほど多様です。次世代シーケンサー(NGS)を用いてこれらの受容体配列を網羅的に解析する「レパトア解析」は、感染症やがん免疫療法の研究において非常に重要なデータ駆動型アプローチとなっています。


4. まとめ

「生まれつきの自然免疫、学習する獲得免疫」!この二段構えの防御があるからこそ、私たちは多様な病原体の中で健康を維持できています。それぞれの中心となる細胞(マクロファージやリンパ球など)もセットで覚えておくと完璧ですね!

PR

【VBAスタンダード対策】一括データを渡す「配列引数」の構造を攻略!

複数のデータをまとめた「配列」を別のプロシージャへ渡す際、VBAには「引数名の後ろにカッコを付ける」という独自の記述ルールがあります。また、配列の受け渡しには、通常の変数とは異なる構造上の大きな制約が存在します。

1. 問題:配列を引数として受け取る正確な記述

【 問題 】 文字列型の配列 names を引数として受け取り、その内容を処理するプロシージャ ProcessAll を定義したい。また、VBAの構造的制約として、**「配列を引数として渡す場合は、必ず参照渡し(ByRef)でなければならない」**というルールに従うものとする。空欄 ( A ) に入る正確な組み合わせはどれでしょうか?

Sub Main()
    Dim MyList(5) As String
    ' --- 配列にデータを格納する処理 ---
    Call ProcessAll(MyList)
End Sub

Sub ProcessAll(( A ))
    ' --- 配列をループで回す処理 ---
End Sub

① ByVal names As String()
② ByRef names() As String
③ ByVal names() As String
④ ByRef names As String

2. 正解:配列引数の宣言構造に関する正解

正解: ② ByRef names() As String

3. 解説:配列引数特有の「カッコ」と「ByRef」

VBAにおいて配列を引数に取る場合、引数名の後ろに**「中身が空のカッコ ()」**を記述することで、それが単一の変数ではなく配列であることを構造的に明示します。

[ 配列受け渡しの絶対ルール ]
カッコの配置names() のように、型名(String)の前ではなく、変数名の直後にカッコを置きます。
ByRefの強制:VBAの構造上、固定長配列(サイズが決まっている配列)を引数として渡す際は、ByVal(値渡し)を指定することはできません。必ず ByRef(参照渡し) である必要があります。

[ なぜ ③ ByVal は誤りなのか ]
構造的制約:配列はデータサイズが大きくなる可能性があるため、VBAではメモリ効率を考慮し、コピーを作成する ByVal での受け渡しを(Variant型に格納しない限り)認めていません。

1. ここが試験に出る!: スタンダード試験では、この「配列=カッコ付きのByRef」という組み合わせが正確に書けているかが問われます。特に、Javaなどの他言語の癖で String() names のように型側にカッコを付けてしまうミスに注意が必要です。
2. エンジニアの視点: Java 17などの現代的な言語では配列もオブジェクト参照として渡されるため、実質的にVBAの ByRef に近い挙動になります。VBAで「どうしても元の配列を壊したくない」場合は、呼び出す直前で別の配列にコピー(代入)してから渡すといった工夫が必要になります。理系NEOな設計としては、この「書き換えのリスク」を承知した上で、効率的なメモリアクセスを行う構造を意識することが大切です。


4. まとめ

「配列を渡すならカッコを付けてByRef」。この物理的な記述ルールをマスターすることで、大量のデータを扱うマクロの構造を正しく制御できます。減数分裂において大量の遺伝情報がセットで受け継がれるように、VBAも配列という構造体を使って、複雑な情報を一括で、かつ正確にリレーしていくのです。

【VBAスタンダード対策】引数の受け渡し「ByVal」と「ByRef」の文法を攻略!

引数をどのように受け取るかは、プロシージャ宣言の「カッコ内」で指定します。キーワードの配置場所と、何も記述しなかった場合にVBAがどのように解釈するかという構造的ルールを確認しましょう。

1. 問題:引数受け渡しの正確な宣言文法

【 問題 】 プロシージャ Calculate を定義する際、引数 num を「呼び出し元の値に影響を与えない値渡し」として、また引数 target を「VBAの既定である参照渡し」として正確に記述しているものはどれでしょうか?

① Sub Calculate(num ByVal As Integer, target ByRef As String)
② Sub Calculate(ByVal num As Integer, ByRef target As String)
③ Sub Calculate(As Integer ByVal num, As String ByRef target)
④ Sub Calculate(Value num As Integer, Reference target As String)

2. 正解:引数宣言の記述順序に関する正解

正解: ② Sub Calculate(ByVal num As Integer, ByRef target As String)

3. 解説:引数リストの物理的構造

VBAにおいて、引数の性質を決定するキーワード(ByVal / ByRef)は、必ず**「変数名の直前」**に配置するという構造的な決まりがあります。

[ 引数宣言の基本フォーマット ]
(キーワード) + (引数名) + As + (型名)

ByVal(値渡し):呼び出し元から「値のコピー」だけを受け取る。
ByRef(参照渡し):呼び出し元の「変数そのもの(参照)」を受け取る。

[ 構造上の重要なルール ]
省略時の挙動:キーワードを何も書かずに Sub Calculate(num As Integer) と書いた場合、VBAは構造的に ByRef(参照渡し) であるとみなします。この「省略=参照渡し」は試験の超頻出ポイントです。
配置のミス:①のように変数名と型の間にキーワードを挟むことはできません。

1. ここが試験に出る!: スタンダード試験では、あえてキーワードを省略したコードを提示し、「呼び出し元の変数が書き換わるかどうか」を判断させる問題が出ます。「何も書いていなければ ByRef(本物が書き換わる)」という構造的デフォルトを即座に思い出せるかが合格の決め手です。
2. エンジニアの視点: Java 17などの現代的な言語は、基本データ型は値渡し、オブジェクトは参照(のコピー)渡しと決まっていますが、VBAは個別の引数ごとに明示的に指定できる柔軟な構造を持っています。実務では「意図しない書き換え」という最も厄介なバグを防ぐため、すべての引数に ByVal を明示するスタイルが推奨されます。理系NEOな保守性を高めるためにも、構造を明示する癖をつけましょう。


4. まとめ

「キーワードは変数名の前、書かなければ ByRef」。この文法構造を正確に守ることで、データの「安全性」と「共有」を自在にコントロールできるようになります。減数分裂が情報の受け渡しを厳密に行うように、VBAも引数の宣言一つで、プログラム全体のデータの運命を決定づけるのです。


【生物学問題】エネルギー産生の核心!「内呼吸(細胞呼吸)」を攻略

私たちは肺で呼吸をしていますが、実は本当の「呼吸」は、体中のひとつひとつの細胞の中で行われています。酸素を使ってエネルギーを取り出す、生命維持の根幹プロセスを学びましょう。

1. 問題:細胞レベルでのエネルギー産生

【 問題 】 細胞が酸素を取り入れ、有機物(グルコースなど)を分解して、生命活動に必要なエネルギー(ATP)を取り出し、二酸化炭素を放出する過程を何と呼ぶでしょうか?

① 外呼吸   ② 内呼吸(細胞呼吸)   ③ 蒸散   ④ 同化

2. 正解:細胞の代謝に関する正解

正解: ② 内呼吸(細胞呼吸)

3. 解説:ミトコンドリアで起こる化学反応

「呼吸」には、肺で行うガス交換(外呼吸)と、細胞内で行う化学反応(内呼吸)の2段階があります。

[ 内呼吸(細胞呼吸)の仕組み ]
舞台:主に細胞小器官のひとつである「ミトコンドリア」で行われます。
目的:エネルギー通貨と呼ばれる「ATP(アデノシン三リン酸)」を合成することです。
プロセス:大きく分けて「解糖系」「クエン酸回路」「電子伝達系」という3つのステップで進行します。

[ 外呼吸との違い ]
外呼吸:肺やエラで行われる、体外と血液の間のガス交換。
内呼吸:血液と細胞の間、および細胞内で行われる酸素の消費とエネルギー産生。

1. 試験のポイント: 内呼吸は「異化(いか)」の代表例です。複雑な有機物を単純な物質(水と二酸化炭素)に分解し、その過程でエネルギーを取り出すという流れを意識しましょう。
2. バイオインフォの視点: ミトコンドリア内で行われる複雑な代謝経路を「パスウェイ」としてモデル化し、解析する手法が発達しています。特定の酵素が欠損した際に代謝全体にどのような影響が出るかをシミュレーションすることで、代謝疾患の解明や治療法の研究に役立てられています。


4. まとめ

「細胞内でエネルギーを作る反応=内呼吸(細胞呼吸)」です。植物の葉緑体が行う「光合成」がエネルギーを蓄える反応なら、ミトコンドリアが行う「呼吸」はエネルギーを取り出す反応です。この対比構造を理解しておくと、生物学全体の理解が深まりますよ!

【BI技術者認定試験対策】エネルギー産生の核心!「内呼吸(細胞呼吸)」を攻略

私たちは肺で呼吸をしていますが、実は本当の「呼吸」は、体中のひとつひとつの細胞の中で行われています。酸素を使ってエネルギーを取り出す、生命維持の根幹プロセスを学びましょう。

1. 問題:細胞レベルでのエネルギー産生

【 問題 】 細胞が酸素を取り入れ、有機物(グルコースなど)を分解して、生命活動に必要なエネルギー(ATP)を取り出し、二酸化炭素を放出する過程を何と呼ぶでしょうか?

① 外呼吸   ② 内呼吸(細胞呼吸)   ③ 蒸散   ④ 同化

2. 正解:細胞の代謝に関する正解

正解: ② 内呼吸(細胞呼吸)

3. 解説:ミトコンドリアで起こる化学反応

「呼吸」には、肺で行うガス交換(外呼吸)と、細胞内で行う化学反応(内呼吸)の2段階があります。

[ 内呼吸(細胞呼吸)の仕組み ]
舞台:主に細胞小器官のひとつである「ミトコンドリア」で行われます。
目的:エネルギー通貨と呼ばれる「ATP(アデノシン三リン酸)」を合成することです。
プロセス:大きく分けて「解糖系」「クエン酸回路」「電子伝達系」という3つのステップで進行します。

[ 外呼吸との違い ]
外呼吸:肺やエラで行われる、体外と血液の間のガス交換。
内呼吸:血液と細胞の間、および細胞内で行われる酸素の消費とエネルギー産生。

1. 試験のポイント: 内呼吸は「異化(いか)」の代表例です。複雑な有機物を単純な物質(水と二酸化炭素)に分解し、その過程でエネルギーを取り出すという流れを意識しましょう。
2. バイオインフォの視点: ミトコンドリア内で行われる複雑な代謝経路を「パスウェイ」としてモデル化し、解析する手法が発達しています。特定の酵素が欠損した際に代謝全体にどのような影響が出るかをシミュレーションすることで、代謝疾患の解明や治療法の研究に役立てられています。


4. まとめ

「細胞内でエネルギーを作る反応=内呼吸(細胞呼吸)」です。植物の葉緑体が行う「光合成」がエネルギーを蓄える反応なら、ミトコンドリアが行う「呼吸」はエネルギーを取り出す反応です。この対比構造を理解しておくと、生物学全体の理解が深まりますよ!