Exemplo n.º 1
0
def _validate_textValue_leadingChars(value, displayedTerm):
    isValid = False
    if value and not validation.is_valid_leading_chars(value):
        return isValid, "Error, " + validation.invalid_leading_chars(
            displayedTerm)

    return True, None
Exemplo n.º 2
0
def validate_barcoded_sample_info(
    sampleName, sampleId, nucleotideType, runTypeName, sampleReference, displayedName="Barcoded Sample"
):
    errors = []
    if not validation.is_valid_chars(sampleName):
        errors.append(validation.invalid_chars_error(displayedName))

    if not validation.is_valid_leading_chars(sampleName):
        errors.append(validation.invalid_chars_error(displayedName))

    if not validation.is_valid_length(sampleName, MAX_LENGTH_SAMPLE_NAME):
        errors.append(validation.invalid_length_error(displayedName, MAX_LENGTH_SAMPLE_NAME))

    sample_id_errors = validate_sample_id(sampleId)
    if sample_id_errors:
        errors.extend(sample_id_errors)

    sample_nucleotideType = ""

    nucleotideType_errors, sample_nucleotideType = validate_sample_nucleotideType(nucleotideType, runTypeName)
    if nucleotideType_errors:
        errors.extend(nucleotideType_errors)

    ref_errors, ref_short_name = validate_reference(sampleReference, displayedName="Sample Reference")
    ##logger.debug("plan_validator.validate_barcoded_sample_info() sampleReference=%s; ref_short_name=%s" %(sampleReference, ref_short_name))

    if ref_errors:
        errors.extend(ref_errors)

    ##logger.debug("plan_validator.validate_barcoded_sample_info() errors=%s" %(errors))

    return errors, ref_short_name, sample_nucleotideType
Exemplo n.º 3
0
def validate_sample_name(value,
                         displayedName='Sample Name',
                         isTemplate=None,
                         barcodeId=None):
    errors = []
    if not value:
        if not isTemplate:
            errors.append(validation.required_error(displayedName))
    else:
        if isTemplate:
            errors.append(
                "Invalid input. Sample information cannot be saved in the template"
            )
        if barcodeId:
            errors.append(
                "Invalid input. Barcode kit should not be provided (%s) for non barcoded plan"
                % barcodeId)
        if not validation.is_valid_chars(value):
            errors.append(validation.invalid_chars_error(displayedName))
        if not validation.is_valid_leading_chars(value):
            errors.append(validation.invalid_chars_error(displayedName))
        if not validation.is_valid_length(value, MAX_LENGTH_SAMPLE_NAME):
            errors.append(
                validation.invalid_length_error(displayedName,
                                                MAX_LENGTH_SAMPLE_NAME))

    return errors
Exemplo n.º 4
0
def validate_barcoded_sample_info(sampleName, sampleId, nucleotideType, sampleReference, runType, applicationGroupName, displayedName='Barcoded Sample'):
    errors = []
    if not validation.is_valid_chars(sampleName):
        errors.append(validation.invalid_chars_error(displayedName))

    if not validation.is_valid_leading_chars(sampleName):
        errors.append(validation.invalid_chars_error(displayedName))

    if not validation.is_valid_length(sampleName, MAX_LENGTH_SAMPLE_NAME):
        errors.append(validation.invalid_length_error(displayedName, MAX_LENGTH_SAMPLE_NAME))

    sample_id_errors = validate_sample_id(sampleId)
    if sample_id_errors:
        errors.extend(sample_id_errors)

    nucleotideType_errors, sample_nucleotideType = validate_sample_nucleotideType(nucleotideType, runType, applicationGroupName)
    if (nucleotideType_errors):
        errors.extend(nucleotideType_errors)

    ref_displayedName = "Sample Reference" if nucleotideType != "RNA" else "RNA Sample Reference"
    ref_errors, ref_short_name = validate_reference(sampleReference, runType, applicationGroupName, displayedName=ref_displayedName)
    if (ref_errors):
        errors.extend(ref_errors)

    return errors, ref_short_name, sample_nucleotideType
Exemplo n.º 5
0
def validate_barcoded_sample_info(sampleName, sampleId, nucleotideType, sampleReference, runType, applicationGroupName, displayedName='Barcoded Sample'):
    errors = []
    if not validation.is_valid_chars(sampleName):
        errors.append(validation.invalid_chars_error(displayedName))

    if not validation.is_valid_leading_chars(sampleName):
        errors.append(validation.invalid_chars_error(displayedName))

    if not validation.is_valid_length(sampleName, MAX_LENGTH_SAMPLE_NAME):
        errors.append(validation.invalid_length_error(displayedName, MAX_LENGTH_SAMPLE_NAME))

    sample_id_errors = validate_sample_id(sampleId)
    if sample_id_errors:
        errors.extend(sample_id_errors)

    nucleotideType_errors, sample_nucleotideType = validate_sample_nucleotideType(nucleotideType, runType, applicationGroupName)
    if (nucleotideType_errors):
        errors.extend(nucleotideType_errors)

    ref_displayedName = "Sample Reference" if nucleotideType != "RNA" else "RNA Sample Reference"
    ref_errors, ref_short_name = validate_reference(sampleReference, runType, applicationGroupName, displayedName=ref_displayedName)
    if (ref_errors):
        errors.extend(ref_errors)

    return errors, ref_short_name, sample_nucleotideType
Exemplo n.º 6
0
def validate_barcoded_sample_info(sampleName,
                                  sampleId,
                                  nucleotideType,
                                  sampleReference,
                                  sampleRnaReference,
                                  runType,
                                  applicationGroupName,
                                  displayedName='Barcoded Sample'):
    errors = []
    if not validation.is_valid_chars(sampleName):
        errors.append(validation.invalid_chars_error(displayedName))

    if not validation.is_valid_leading_chars(sampleName):
        errors.append(validation.invalid_chars_error(displayedName))

    if not validation.is_valid_length(sampleName, MAX_LENGTH_SAMPLE_NAME):
        errors.append(
            validation.invalid_length_error(displayedName,
                                            MAX_LENGTH_SAMPLE_NAME))

    sample_id_errors = validate_sample_id(sampleId)
    if sample_id_errors:
        errors.extend(sample_id_errors)

    sample_nucleotideType = ""

    nucleotideType_errors, sample_nucleotideType = validate_sample_nucleotideType(
        nucleotideType, runType, applicationGroupName)

    if (nucleotideType_errors):
        errors.extend(nucleotideType_errors)

    if runType == "AMPS_DNA_RNA" and sample_nucleotideType.upper() == "RNA":
        rna_ref_errors, rna_ref_short_name = validate_reference(
            sampleRnaReference,
            runType,
            applicationGroupName,
            displayedName="RNA Sample Reference")
        logger.debug(
            "plan_validator.validate_barcoded_sample_info() sampleRnaReference=%s; rna_ref_short_name=%s"
            % (sampleRnaReference, rna_ref_short_name))

        if (rna_ref_errors):
            errors.extend(rna_ref_errors)

    else:
        rna_ref_errors = []
        rna_ref_short_name = ""

    ref_errors, ref_short_name = validate_reference(
        sampleReference,
        runType,
        applicationGroupName,
        displayedName="Sample Reference")
    ##logger.debug("plan_validator.validate_barcoded_sample_info() sampleReference=%s; ref_short_name=%s" %(sampleReference, ref_short_name))

    if (ref_errors):
        errors.extend(ref_errors)

    return errors, ref_short_name, rna_ref_short_name, sample_nucleotideType
Exemplo n.º 7
0
def validate_sample_name(value, displayedName="Sample Name"):
    errors = []
    if not validation.is_valid_chars(value):
        errors.append(validation.invalid_chars_error(displayedName))

    if not validation.is_valid_leading_chars(value):
        errors.append(validation.invalid_chars_error(displayedName))

    if not validation.is_valid_length(value, MAX_LENGTH_SAMPLE_NAME):
        errors.append(validation.invalid_length_error(displayedName, MAX_LENGTH_SAMPLE_NAME))

    return errors
Exemplo n.º 8
0
def validate_sample_name(value, displayedName='Sample Name'):
    errors = []    
    if not validation.is_valid_chars(value):
        errors.append(validation.invalid_chars_error(displayedName))
        
    if not validation.is_valid_leading_chars(value):
        errors.append(validation.invalid_chars_error(displayedName))
    
    if not validation.is_valid_length(value, MAX_LENGTH_SAMPLE_NAME):
        errors.append(validation.invalid_length_error(displayedName, MAX_LENGTH_SAMPLE_NAME))

    return errors
Exemplo n.º 9
0
    def validate_field(self, value, bad_samples, validate_leading_chars=True, max_length=MAX_LENGTH_SAMPLE_NAME):
        exists = False
        if value:
            exists = True
            if not validation.is_valid_chars(value):
                bad_samples.append(value)

            if validate_leading_chars and value not in bad_samples and not validation.is_valid_leading_chars(value):
                bad_samples.append(value)

            if value not in bad_samples and not validation.is_valid_length(value, max_length):
                bad_samples.append(value)

        return exists
Exemplo n.º 10
0
def validate_barcoded_sample_info(
    sampleName,
    sampleName_label,
    sampleExternalId,
    sampleExternalId_label,
    nucleotideType,
    nucleotideType_label,
    sampleReference,
    sampleReference_label,
    runType,
    applicationGroupName,
):
    errors = []
    if not validation.is_valid_chars(sampleName):
        errors.append(validation.invalid_chars_error(sampleName_label))

    if not validation.is_valid_leading_chars(sampleName):
        errors.append(validation.invalid_leading_chars(sampleName_label))

    if not validation.is_valid_length(sampleName, MAX_LENGTH_SAMPLE_NAME):
        errors.append(
            validation.invalid_length_error(sampleName_label,
                                            MAX_LENGTH_SAMPLE_NAME,
                                            sampleName))

    sample_id_errors = validate_sample_id(sampleExternalId,
                                          field_label=sampleExternalId_label)
    if sample_id_errors:
        errors.extend(sample_id_errors)

    nucleotideType_errors, sample_nucleotideType = validate_sample_nucleotideType(
        nucleotideType,
        runType,
        applicationGroupName,
        field_label=nucleotideType_label)
    if nucleotideType_errors:
        errors.extend(nucleotideType_errors)

    ref_errors, ref_short_name = validate_reference(
        sampleReference,
        field_label=sampleReference_label,
        runType=runType,
        applicationGroupName=applicationGroupName,
        application_label=ScientificApplication.verbose_name,
    )
    if ref_errors:
        errors.extend(ref_errors)

    return errors, ref_short_name, sample_nucleotideType
Exemplo n.º 11
0
def validate_sample_name(value, displayedName='Sample Name', isTemplate=None, barcodeId=None):
    errors = []
    if not value:
        if not isTemplate:
            errors.append(validation.required_error(displayedName))
    else:
        if isTemplate:
            errors.append("Invalid input. Sample information cannot be saved in the template")
        if barcodeId:
            errors.append("Invalid input. Barcode kit should not be provided (%s) for non barcoded plan" % barcodeId)
        if not validation.is_valid_chars(value):
            errors.append(validation.invalid_chars_error(displayedName))
        if not validation.is_valid_leading_chars(value):
            errors.append(validation.invalid_chars_error(displayedName))
        if not validation.is_valid_length(value, MAX_LENGTH_SAMPLE_NAME):
            errors.append(validation.invalid_length_error(displayedName, MAX_LENGTH_SAMPLE_NAME))

    return errors
Exemplo n.º 12
0
def validate_sample_name(
    value,
    field_label,
    isTemplate=None,
    isTemplate_label=PlanTemplate.verbose_name,
    barcodeId=None,
    barcodeId_label=ugettext_lazy("workflow.step.kits.fields.barcodeId.label"),
):  # TODO: i18n
    errors = []
    if not value:
        if not isTemplate:
            errors.append(validation.required_error(field_label))
    else:
        if isTemplate:
            errors.append(
                validation.format(
                    ugettext_lazy(
                        "template.messages.validation.invalidsamples"),
                    {"name": isTemplate_label},
                )
            )  # "Invalid input. Sample information cannot be saved in the %(name)s"
        if barcodeId:
            errors.append(
                validation.format(
                    ugettext_lazy(
                        "plannedexperiment.messages.validation.nonbarcoded.barcodesetnotrequired"
                    ),
                    {
                        "barcodeSetName": barcodeId_label,
                        "barcodeSetValue": barcodeId
                    },
                )
            )  # "Invalid input. %(barcodeSetName)s (%(barcodeSetValue)s) should not be provided for non barcoded plan"
        if not validation.is_valid_chars(value):
            errors.append(validation.invalid_chars_error(field_label))
        if not validation.is_valid_leading_chars(value):
            errors.append(validation.invalid_leading_chars(field_label))
        if not validation.is_valid_length(value, MAX_LENGTH_SAMPLE_NAME):
            errors.append(
                validation.invalid_length_error(field_label,
                                                MAX_LENGTH_SAMPLE_NAME, value))

    return errors
Exemplo n.º 13
0
def validate_barcoded_sample_info(applicationGroupName, runType, sampleName, sampleId, nucleotideType, runTypeName, sampleReference, sampleRnaReference, displayedName='Barcoded Sample'):
    errors = []
    if not validation.is_valid_chars(sampleName):
        errors.append(validation.invalid_chars_error(displayedName))
        
    if not validation.is_valid_leading_chars(sampleName):
        errors.append(validation.invalid_chars_error(displayedName))
    
    if not validation.is_valid_length(sampleName, MAX_LENGTH_SAMPLE_NAME):
        errors.append(validation.invalid_length_error(displayedName, MAX_LENGTH_SAMPLE_NAME))

    sample_id_errors = validate_sample_id(sampleId)
    if sample_id_errors:
        errors.extend(sample_id_errors)

    sample_nucleotideType = ""
    
    nucleotideType_errors, sample_nucleotideType = validate_sample_nucleotideType(nucleotideType, runTypeName, applicationGroupName)

    if (nucleotideType_errors):
        errors.extend(nucleotideType_errors)

    if runType == "AMPS_DNA_RNA" and sample_nucleotideType.upper() == "RNA":
        rna_ref_errors, rna_ref_short_name = validate_reference(sampleRnaReference, displayedName = "RNA Sample Reference")
        logger.debug("plan_validator.validate_barcoded_sample_info() sampleRnaReference=%s; rna_ref_short_name=%s" %(sampleRnaReference, rna_ref_short_name))
        
        if (rna_ref_errors):
            errors.extend(rna_ref_errors)

    else:
        rna_ref_errors = []
        rna_ref_short_name = ""

    ref_errors, ref_short_name = validate_reference(sampleReference, displayedName = "Sample Reference")
    ##logger.debug("plan_validator.validate_barcoded_sample_info() sampleReference=%s; ref_short_name=%s" %(sampleReference, ref_short_name))

    if (ref_errors):
        errors.extend(ref_errors)

    ##logger.debug("plan_validator.validate_barcoded_sample_info() errors=%s" %(errors))
    
    return errors, ref_short_name, rna_ref_short_name, sample_nucleotideType 
Exemplo n.º 14
0
def validate_barcoded_sample_info(sampleName,
                                  sampleId,
                                  nucleotideType,
                                  runTypeName,
                                  sampleReference,
                                  displayedName='Barcoded Sample'):
    errors = []
    if not validation.is_valid_chars(sampleName):
        errors.append(validation.invalid_chars_error(displayedName))

    if not validation.is_valid_leading_chars(sampleName):
        errors.append(validation.invalid_chars_error(displayedName))

    if not validation.is_valid_length(sampleName, MAX_LENGTH_SAMPLE_NAME):
        errors.append(
            validation.invalid_length_error(displayedName,
                                            MAX_LENGTH_SAMPLE_NAME))

    sample_id_errors = validate_sample_id(sampleId)
    if sample_id_errors:
        errors.extend(sample_id_errors)

    sample_nucleotideType = ""

    nucleotideType_errors, sample_nucleotideType = validate_sample_nucleotideType(
        nucleotideType, runTypeName)
    if (nucleotideType_errors):
        errors.extend(nucleotideType_errors)

    ref_errors, ref_short_name = validate_reference(
        sampleReference, displayedName="Sample Reference")
    ##logger.debug("plan_validator.validate_barcoded_sample_info() sampleReference=%s; ref_short_name=%s" %(sampleReference, ref_short_name))

    if (ref_errors):
        errors.extend(ref_errors)

    ##logger.debug("plan_validator.validate_barcoded_sample_info() errors=%s" %(errors))

    return errors, ref_short_name, sample_nucleotideType
Exemplo n.º 15
0
def _validate_textValue_leadingChars(value, displayedTerm):
    isValid = False
    if value and not validation.is_valid_leading_chars(value):
        return isValid, "Error, " + validation.invalid_leading_chars(displayedTerm)
        
    return True, None