requirements:
  expression: [((exon_num.multi and (cdna_length.multi or combined_cds_length.multi) and max_intron_length and min_intron_length and proportion_verified_introns_inlocus), or, (exon_num.mono and (combined_cds_length.mono or cdna_length.mono)))]
  parameters:
    cdna_length.mono: {operator: gt, value: 400}
    cdna_length.multi: {operator: ge, value: 400}
    combined_cds_length.mono: {operator: gt, value: 300}
    combined_cds_length.multi: {operator: gt, value: 200}
    exon_num.mono: {operator: eq, value: 1}
    exon_num.multi: {operator: gt, value: 1}
    max_intron_length: {operator: le, value: 150000}
    min_intron_length: {operator: ge, value: 20}
    proportion_verified_introns_inlocus: {operator: gt, value: 0}
not_fragmentary:
 expression: [((exon_num.multi and (cdna_length.multi or combined_cds_length.multi)), or, (exon_num.mono and combined_cds_length.mono))]
 parameters:
   exon_num.multi: {operator: gt, value: 1}
   cdna_length.multi: {operator: ge, value: 400}
   combined_cds_length.multi: {operator: gt, value: 200}
   exon_num.mono: {operator: eq, value: 1}
   combined_cds_length.mono: {operator: gt, value: 300}
scoring:
  blast_score: {rescaling: max}
  intron_fraction: {rescaling: max}
  exon_fraction: {rescaling: max}
  is_complete: {rescaling: target, value: true}
  selected_cds_locus_fraction: {rescaling: max}
  selected_cds_intron_fraction: {rescaling: max}
  selected_cds_length: {rescaling: max}
  selected_cds_fraction: {rescaling: target, value: 0.8}
  retained_fraction: {rescaling: min}
  proportion_verified_introns_inlocus: {rescaling: max}
  five_utr_length:
    filter: {operator: le, value: 2500}
    rescaling: target
    value: 100
  three_utr_length:
    filter: {operator: le, value: 2500}
    rescaling: target
    value: 200
  three_utr_num:
    filter: {operator: lt, value: 3}
    rescaling: target
    value: 1
  three_utr_num:
    filter: {operator: lt, value: 3}
    rescaling: target
    value: 1
  five_utr_num:
    filter: {operator: lt, value: 4}
    rescaling: target
    value: 2
  end_distance_from_junction:
    filter: {operator: lt, value: 55}
    rescaling: min
  verified_introns_num: {rescaling: max}
