Module: Qu::Pcr

Defined in:
lib/qu/pcr.rb,
lib/qu/pcr/primer3.rb,
lib/qu/pcr/version.rb,
lib/qu/pcr/primer3_parameters.rb

Defined Under Namespace

Classes: Amplicon, Primer, Primer3, Primer3Parser, Product, VirtualGel

Constant Summary collapse

VERSION =
"1.0.12"
PRIMER3_OPTIONS =
{
    SEQUENCE_ID: "",
    SEQUENCE_TEMPLATE: "",
    SEQUENCE_INCLUDED_REGION: "",
    SEQUENCE_TARGET: "",
    SEQUENCE_EXCLUDED_REGION: "",
    SEQUENCE_PRIMER_PAIR_OK_REGION_LIST: "",
    SEQUENCE_OVERLAP_JUNCTION_LIST: "",
    SEQUENCE_INTERNAL_EXCLUDED_REGION: "",
    SEQUENCE_PRIMER: "",
    SEQUENCE_INTERNAL_OLIGO: "",
    SEQUENCE_PRIMER_REVCOMP: "",
    SEQUENCE_FORCE_LEFT_START: -1000000,
    SEQUENCE_FORCE_LEFT_END: -1000000,
    SEQUENCE_FORCE_RIGHT_START: -1000000,
    SEQUENCE_FORCE_RIGHT_END: -1000000,

    PRIMER_TASK: "generic",
    PRIMER_PICK_LEFT_PRIMER: 1,
    PRIMER_PICK_INTERNAL_OLIGO: 0,
    PRIMER_PICK_RIGHT_PRIMER: 1,
    PRIMER_NUM_RETURN: 10,
    PRIMER_MIN_3_PRIME_OVERLAP_OF_JUNCTION: 4,
    PRIMER_MIN_5_PRIME_OVERLAP_OF_JUNCTION: 7,
    PRIMER_MUST_MATCH_FIVE_PRIME: "",
    PRIMER_INTERNAL_MUST_MATCH_FIVE_PRIME: "",
    PRIMER_MUST_MATCH_THREE_PRIME: "",
    PRIMER_INTERNAL_MUST_MATCH_THREE_PRIME: "",
    PRIMER_PRODUCT_SIZE_RANGE: "100-150 151-250 100-300 301-400 401-500 501-600 601-700 701-850 851-1000",
    PRIMER_PRODUCT_OPT_SIZE: 0,
    PRIMER_PAIR_WT_PRODUCT_SIZE_LT: 0.0,
    PRIMER_PAIR_WT_PRODUCT_SIZE_GT: 0.0,
    PRIMER_MIN_SIZE: 15,
    PRIMER_INTERNAL_MIN_SIZE: 18,
    PRIMER_OPT_SIZE: 22,
    PRIMER_INTERNAL_OPT_SIZE: 20,
    PRIMER_MAX_SIZE: 35,
    PRIMER_INTERNAL_MAX_SIZE: 35,
    # Customed by Wubin Qu

    PRIMER_WT_SIZE_LT: 0.0,
    PRIMER_INTERNAL_WT_SIZE_LT: 0.0,
    # Customed by Wubin Qu

    PRIMER_WT_SIZE_GT: 0.0,
    PRIMER_INTERNAL_WT_SIZE_GT: 0.0,
    PRIMER_MIN_GC: 20.0,
    PRIMER_INTERNAL_MIN_GC: 20.0,
    PRIMER_OPT_GC_PERCENT: 50.0,
    PRIMER_INTERNAL_OPT_GC_PERCENT: 50.0,
    PRIMER_MAX_GC: 80.0,
    PRIMER_INTERNAL_MAX_GC: 80.0,
    PRIMER_WT_GC_PERCENT_LT: 0.0,
    PRIMER_INTERNAL_WT_GC_PERCENT_LT: 0.0,
    PRIMER_WT_GC_PERCENT_GT: 0.0,
    PRIMER_INTERNAL_WT_GC_PERCENT_GT: 0.0,
    PRIMER_GC_CLAMP: 0,
    PRIMER_MAX_END_GC: 5,
    PRIMER_MIN_TM: 55.0,
    PRIMER_INTERNAL_MIN_TM: 55.0,
    PRIMER_OPT_TM: 62.0,
    PRIMER_INTERNAL_OPT_TM: 62.0,
    PRIMER_MAX_TM: 65.0,
    PRIMER_INTERNAL_MAX_TM: 65.0,
    PRIMER_PAIR_MAX_DIFF_TM: 10.0,
    PRIMER_WT_TM_LT: 1.0,
    PRIMER_INTERNAL_WT_TM_LT: 1.0,
    PRIMER_WT_TM_GT: 1.0,
    PRIMER_INTERNAL_WT_TM_GT: 1.0,
    PRIMER_PAIR_WT_DIFF_TM: 1.0,
    PRIMER_PRODUCT_MIN_TM: -1000000.0,
    PRIMER_PRODUCT_OPT_TM: 0.0,
    PRIMER_PRODUCT_MAX_TM: 1000000.0,
    PRIMER_PAIR_WT_PRODUCT_TM_LT: 0.0,
    PRIMER_PAIR_WT_PRODUCT_TM_GT: 0.0,
    PRIMER_TM_FORMULA: 1,
    PRIMER_SALT_MONOVALENT: 50.0,
    PRIMER_INTERNAL_SALT_MONOVALENT: 50.0,
    PRIMER_SALT_DIVALENT: 1.5,
    PRIMER_INTERNAL_SALT_DIVALENT: 0.0,
    # Customed by Wubin Qu

    PRIMER_DNTP_CONC: 0.25,
    PRIMER_INTERNAL_DNTP_CONC: 0.0,
    PRIMER_SALT_CORRECTIONS: 1,
    PRIMER_DNA_CONC: 50.0,
    PRIMER_INTERNAL_DNA_CONC: 50.0,
    PRIMER_THERMODYNAMIC_OLIGO_ALIGNMENT: 1,
    PRIMER_THERMODYNAMIC_TEMPLATE_ALIGNMENT: 1,
    PRIMER_THERMODYNAMIC_PARAMETERS_PATH: Cmdwrapper::THERMO_PATH,
    PRIMER_MAX_SELF_ANY: 8.00,
    PRIMER_MAX_SELF_ANY_TH: 47.00,
    PRIMER_INTERNAL_MAX_SELF_ANY: 12.00,
    PRIMER_INTERNAL_MAX_SELF_ANY_TH: 47.00,
    PRIMER_PAIR_MAX_COMPL_ANY: 8.00,
    PRIMER_PAIR_MAX_COMPL_ANY_TH: 47.00,
    PRIMER_WT_SELF_ANY: 0.0,
    PRIMER_WT_SELF_ANY_TH: 0.0,
    PRIMER_INTERNAL_WT_SELF_ANY: 0.0,
    PRIMER_INTERNAL_WT_SELF_ANY_TH: 0.0,
    PRIMER_PAIR_WT_COMPL_ANY: 0.0,
    PRIMER_PAIR_WT_COMPL_ANY_TH: 0.0,
    PRIMER_MAX_SELF_END: 3.0,
    PRIMER_MAX_SELF_END_TH: 47.00,
    PRIMER_INTERNAL_MAX_SELF_END: 12.00,
    PRIMER_INTERNAL_MAX_SELF_END_TH: 47.00,
    PRIMER_PAIR_MAX_COMPL_END: 3.00,
    PRIMER_PAIR_MAX_COMPL_END_TH: 47.00,
    PRIMER_WT_SELF_END: 0.0,
    PRIMER_WT_SELF_END_TH: 0.0,
    PRIMER_INTERNAL_WT_SELF_END: 0.0,
    PRIMER_INTERNAL_WT_SELF_END_TH: 0.0,
    PRIMER_PAIR_WT_COMPL_END: 0.0,
    PRIMER_PAIR_WT_COMPL_END_TH: 0.0,
    PRIMER_MAX_HAIRPIN_TH: 47.0,
    PRIMER_INTERNAL_MAX_HAIRPIN_TH: 47.0,
    PRIMER_WT_HAIRPIN_TH: 0.0,
    PRIMER_INTERNAL_WT_HAIRPIN_TH: 0.0,
    PRIMER_MAX_END_STABILITY: 100.0,
    PRIMER_WT_END_STABILITY: 0.0,
    PRIMER_MAX_NS_ACCEPTED: 0,
    PRIMER_INTERNAL_MAX_NS_ACCEPTED: 0,
    PRIMER_WT_NUM_NS: 0.0,
    PRIMER_INTERNAL_WT_NUM_NS: 0.0,
    PRIMER_MAX_POLY_X: 5,
    PRIMER_INTERNAL_MAX_POLY_X: 5,
    PRIMER_MIN_THREE_PRIME_DISTANCE: 1,
    PRIMER_PICK_ANYWAY: 0,
    PRIMER_LOWERCASE_MASKING: 1,
    PRIMER_EXPLAIN_FLAG: 1,
    PRIMER_LIBERAL_BASE: 0,
    PRIMER_FIRST_BASE_INDEX: 0,
    PRIMER_MAX_TEMPLATE_MISPRIMING: -1.00,
    PRIMER_MAX_TEMPLATE_MISPRIMING_TH: -1.00,
    PRIMER_PAIR_MAX_TEMPLATE_MISPRIMING: -1.00,
    PRIMER_PAIR_MAX_TEMPLATE_MISPRIMING_TH: -1.00,
    PRIMER_WT_TEMPLATE_MISPRIMING: 0.0,
    PRIMER_WT_TEMPLATE_MISPRIMING_TH: 0.0,
    PRIMER_PAIR_WT_TEMPLATE_MISPRIMING: 0.0,
    PRIMER_PAIR_WT_TEMPLATE_MISPRIMING_TH: 0.0,
    PRIMER_MISPRIMING_LIBRARY: "",
    PRIMER_INTERNAL_MISHYB_LIBRARY: "",
    PRIMER_LIB_AMBIGUITY_CODES_CONSENSUS: 0,
    PRIMER_MAX_LIBRARY_MISPRIMING: 12.00,
    PRIMER_INTERNAL_MAX_LIBRARY_MISHYB: 12.00,
    PRIMER_PAIR_MAX_LIBRARY_MISPRIMING: 24.00,
    PRIMER_WT_LIBRARY_MISPRIMING: 0.0,
    PRIMER_INTERNAL_WT_LIBRARY_MISHYB: 0.0,
    PRIMER_PAIR_WT_LIBRARY_MISPRIMING: 0.0,
    PRIMER_MIN_QUALITY: 0,
    PRIMER_INTERNAL_MIN_QUALITY: 0,
    PRIMER_MIN_END_QUALITY: 0,
    PRIMER_QUALITY_RANGE_MIN: 0,
    PRIMER_QUALITY_RANGE_MAX: 100,
    PRIMER_WT_SEQ_QUAL: 0.0,
    PRIMER_INTERNAL_WT_SEQ_QUAL: 0.0,
    PRIMER_PAIR_WT_PR_PENALTY: 1.0,
    PRIMER_PAIR_WT_IO_PENALTY: 0.0,
    PRIMER_INSIDE_PENALTY: -1.0,
    PRIMER_OUTSIDE_PENALTY: 0.0,
    PRIMER_WT_POS_PENALTY: 1.0,
    PRIMER_SEQUENCING_LEAD: 50,
    PRIMER_SEQUENCING_SPACING: 500,
    PRIMER_SEQUENCING_INTERVAL: 250,
    PRIMER_SEQUENCING_ACCURACY: 20,
    PRIMER_WT_END_QUAL: 0.0,
    PRIMER_INTERNAL_WT_END_QUAL: 0.0,

    P3_FILE_FLAG: 0,
}
USER_SPECIFIC_OPTIONS =

Parameters not shown to users for editing

[
  :SEQUENCE_ID,
  :SEQUENCE_TARGET,
  :SEQUENCE_EXCLUDED_REGION,
  :SEQUENCE_FORCE_LEFT_START,
  :SEQUENCE_FORCE_LEFT_END,
  :SEQUENCE_FORCE_RIGHT_START,
  :SEQUENCE_FORCE_RIGHT_END,
  :SEQUENCE_PRIMER,
  :SEQUENCE_PRIMER_REVCOMP,
  :PRIMER_PRODUCT_SIZE_RANGE,
  :PRIMER_MIN_SIZE,
  :PRIMER_OPT_SIZE,
  :PRIMER_MAX_SIZE,
  :PRIMER_MIN_TM,
  :PRIMER_OPT_TM,
  :PRIMER_MAX_TM,
  :PRIMER_MIN_GC,
  :PRIMER_OPT_GC,
  :PRIMER_MAX_GC,
  :PRIMER_MAX_POLY_X,
  :PRIMER_MAX_HAIRPIN_TH,  # I think it's no needed here, becuse they should be checked in MFEprimer (>v3.0), Wubin Qu [2014-5-8]

  :PRIMER_MAX_SELF_ANY_TH,
  :PRIMER_MAX_SELF_END_TH,
  :PRIMER_PAIR_MAX_COMPL_ANY_TH,
  :PRIMER_PAIR_MAX_COMPL_END_TH,
  :PRIMER_PRODUCT_OPT_TM,
  :PRIMER_MAX_NS_ACCEPTED,
]