## DESCRIPTION
## Select the model-organism research concept that corresponds to the given description.
## ENDDESCRIPTION
## KEYWORDS('model_organism_principles','model-organism research concepts','descriptions','which one','multiple choice')
## DBsubject('Biotechnology')
## DBchapter('')
## DBsection('')
## Date('2026-10-15')
## Author('Neil R. Voss')
## Institution('Roosevelt University')

DOCUMENT();

loadMacros(
    'PGstandard.pl',
    'PGML.pl',
    'PGchoicemacros.pl',
    'parserRadioButtons.pl',
    'PGcourse.pl',
);

TEXT(beginproblem());
$showPartialCorrectAnswers = 0;

#==========================================================
# QUESTION DATA
#==========================================================

# All questions data
@questions_data = (
  {
    'item_name' => '<strong>Decode complex biological pathways through controlled, reproducible research.</strong>',
    'plural_choice' => 'model-organism research concepts',
    'singular_item' => 'description',
    'choices' => [
      'Core purpose',
      'Selection criteria',
      'Advantages',
      'Limitations',
      'Industrial applications',
    ],
    'correct' => 'Core purpose',
  },
  {
    'item_name' => '<strong>Support reproducible study of complex biological pathways under controlled conditions.</strong>',
    'plural_choice' => 'model-organism research concepts',
    'singular_item' => 'description',
    'choices' => [
      'Core purpose',
      'Selection criteria',
      'Advantages',
      'Limitations',
      'Industrial applications',
    ],
    'correct' => 'Core purpose',
  },
  {
    'item_name' => '<strong>Simple genetic structures, rapid life cycles, small size, and affordability.</strong>',
    'plural_choice' => 'model-organism research concepts',
    'singular_item' => 'description',
    'choices' => [
      'Core purpose',
      'Selection criteria',
      'Advantages',
      'Limitations',
      'Industrial applications',
    ],
    'correct' => 'Selection criteria',
  },
  {
    'item_name' => '<strong>Traits such as simple genetics, fast life cycles, small size, and low cost.</strong>',
    'plural_choice' => 'model-organism research concepts',
    'singular_item' => 'description',
    'choices' => [
      'Core purpose',
      'Selection criteria',
      'Advantages',
      'Limitations',
      'Industrial applications',
    ],
    'correct' => 'Selection criteria',
  },
  {
    'item_name' => '<strong>High tractability, ethical viability, and accelerated discovery cycles.</strong>',
    'plural_choice' => 'model-organism research concepts',
    'singular_item' => 'description',
    'choices' => [
      'Core purpose',
      'Selection criteria',
      'Advantages',
      'Limitations',
      'Industrial applications',
    ],
    'correct' => 'Advantages',
  },
  {
    'item_name' => '<strong>Easier experimental manipulation, fewer ethical barriers, and faster research.</strong>',
    'plural_choice' => 'model-organism research concepts',
    'singular_item' => 'description',
    'choices' => [
      'Core purpose',
      'Selection criteria',
      'Advantages',
      'Limitations',
      'Industrial applications',
    ],
    'correct' => 'Advantages',
  },
  {
    'item_name' => '<strong>Evolutionary divergence can limit the translation of results to human disease and therapy.</strong>',
    'plural_choice' => 'model-organism research concepts',
    'singular_item' => 'description',
    'choices' => [
      'Core purpose',
      'Selection criteria',
      'Advantages',
      'Limitations',
      'Industrial applications',
    ],
    'correct' => 'Limitations',
  },
  {
    'item_name' => '<strong>Differences between a model species and humans can limit medical translation.</strong>',
    'plural_choice' => 'model-organism research concepts',
    'singular_item' => 'description',
    'choices' => [
      'Core purpose',
      'Selection criteria',
      'Advantages',
      'Limitations',
      'Industrial applications',
    ],
    'correct' => 'Limitations',
  },
  {
    'item_name' => '<strong>Living factories that mass-produce medicines, biofuels, and materials.</strong>',
    'plural_choice' => 'model-organism research concepts',
    'singular_item' => 'description',
    'choices' => [
      'Core purpose',
      'Selection criteria',
      'Advantages',
      'Limitations',
      'Industrial applications',
    ],
    'correct' => 'Industrial applications',
  },
  {
    'item_name' => '<strong>Engineered organisms that produce medicines, biofuels, and materials at scale.</strong>',
    'plural_choice' => 'model-organism research concepts',
    'singular_item' => 'description',
    'choices' => [
      'Core purpose',
      'Selection criteria',
      'Advantages',
      'Limitations',
      'Industrial applications',
    ],
    'correct' => 'Industrial applications',
  },
);

#==========================================================
# SELECT RANDOM QUESTION
#==========================================================

my $local_random = PGrandom->new();
$local_random->srand($problemSeed);

$question_idx = $local_random->random(0, scalar(@questions_data) - 1, 1);
$q = $questions_data[$question_idx];

$item_name = $q->{'item_name'};
$plural_choice = $q->{'plural_choice'};
$singular_item = $q->{'singular_item'};
@choices = @{ $q->{'choices'} };
$correct = $q->{'correct'};

#==========================================================
# SHUFFLE CHOICES (SEED-STABLE)
#==========================================================

my @choice_indices = (0 .. $#choices);
my @choice_shuffled = ();
while (@choice_indices) {
  my $pick = $local_random->random(0, $#choice_indices, 1);
  push @choice_shuffled, splice(@choice_indices, $pick, 1);
}
@choices = @choices[@choice_shuffled];

#==========================================================
# BUILD RADIO BUTTONS
#==========================================================

$rb = RadioButtons(
  [@choices],
  $correct,
  labels        => 'ABC',
  displayLabels => 1,
  randomize     => 0,
  separator     => '<div style="margin-bottom: 0.7em;"></div>',
);

#==========================================================
# PGML
#==========================================================

BEGIN_PGML

Which one of the following [$plural_choice]* corresponds to the [$singular_item]* [$item_name]*?

[_]{$rb}

END_PGML

BEGIN_PGML_SOLUTION

The correct answer is: [$correct]*

END_PGML_SOLUTION

ENDDOCUMENT();

