<commit_before>/*
 * Nucleotides (abreviated nt) are molecules that, when joined together, make
 * up the structural units of RNA and DNA. In addition, nucleotides play
 * central roles in metabolism.
 *
 * The purines are adenine (A) and guanine (G).
 * The (complementary) pyrimidines are thymine (T) and cytosine (C).
 * In RNA uracil (U) is the complementary pyrimidine of adenine.
 *
 */

package bio

abstract class Nucleotide
abstract class Purine extends Nucleotide
abstract class Pyrimidine extends Nucleotide

package DNA {
    object A extends Purine {
      override def toString() = "a"
    }
    object G extends Purine {
      override def toString() = "g"
    }
    object T extends Pyrimidine {
      override def toString() = "t"
    }
    object C extends Pyrimidine {
      override def toString() = "c"
    }
}
package RNA {
    object A extends Purine {
      override def toString() = "a"
    }
    object G extends Purine {
      override def toString() = "g"
    }
    object U extends Pyrimidine {
      override def toString() = "u"
    }
    object C extends Pyrimidine {
      override def toString() = "c"
    }
}

<commit_msg>Using case class for nucleotide<commit_after>/*
 * Nucleotides (abreviated nt) are molecules that, when joined together, make
 * up the structural units of RNA and DNA. In addition, nucleotides play
 * central roles in metabolism.
 *
 * The purines are adenine (A) and guanine (G).
 * The (complementary) pyrimidines are thymine (T) and cytosine (C).
 * In RNA uracil (U) is the complementary pyrimidine of adenine.
 *
 */

package bio {

  sealed abstract class Nucleotide

  package DNA {
    case object A extends Nucleotide {
      override def toString() = "a"
    }
    case object G extends Nucleotide {
      override def toString() = "g"
    }
    case object T extends Nucleotide {
      override def toString() = "t"
    }
    case object C extends Nucleotide {
      override def toString() = "c"
    }
  }

  package RNA {
    case object A extends Nucleotide {
      override def toString() = "a"
    }
    case object G extends Nucleotide {
      override def toString() = "g"
    }
    case object U extends Nucleotide {
      override def toString() = "u"
    }
    case object C extends Nucleotide {
      override def toString() = "c"
    }
  }

}
{'fraction_non_alphanumeric': 0.08437365475678002, 'fraction_numerical': 0.0, 'mean_word_length': 2.700636942675159, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5812333', 'n_tokens_mistral': 759, 'n_tokens_neox': 678, 'n_words': 277}