Exemplo n.º 1
0
def test_dataset3():
    import batch_validator
    passes_validation, failures, errors_list, valid_rows, total_rows = batch_validator.perform_batch_validation(
        "reference_data/library_batch_full_test.tsv")
    assert (passes_validation == True)

    passes_validation, failures, errors_list, valid_rows, total_rows = batch_validator.perform_batch_validation(
        "reference_data/smalltest.tsv")
    assert (passes_validation == True)

    passes_validation, failures, errors_list, valid_rows, total_rows = batch_validator.perform_batch_validation(
        "reference_data/smalltest_failing.tsv")
    assert (passes_validation == True)
Exemplo n.º 2
0
def test_datat2():
    import batch_validator
    passes_validation, failures, errors_list, valid_rows, total_rows = batch_validator.perform_batch_validation(
        "reference_data/GNPS00001_output_batch.tsv")
    assert (passes_validation == True)

    passes_validation, failures, errors_list, valid_rows, total_rows = batch_validator.perform_batch_validation(
        "reference_data/GNPS00002_output_batch.tsv")
    assert (passes_validation == True)

    passes_validation, failures, errors_list, valid_rows, total_rows = batch_validator.perform_batch_validation(
        "reference_data/GNPS00003_output_batch.tsv")
    assert (passes_validation == False)

    passes_validation, failures, errors_list, valid_rows, total_rows = batch_validator.perform_batch_validation(
        "reference_data/GNPS00004_output_batch.tsv")
    assert (passes_validation == False)

    passes_validation, failures, errors_list, valid_rows, total_rows = batch_validator.perform_batch_validation(
        "reference_data/GNPS00005_output_batch.tsv")
    assert (passes_validation == False)

    passes_validation, failures, errors_list, valid_rows, total_rows = batch_validator.perform_batch_validation(
        "reference_data/GNPS00006_output_batch.tsv")
    assert (passes_validation == False)
Exemplo n.º 3
0
def validatebatchpost():
    request_file = request.files['file']
    #Invalid File Types
    if not allowed_file_metadata(request_file.filename):
        error_dict = {}
        error_dict["header"] = "Incorrect File Type"
        error_dict["line_number"] = "N/A"
        error_dict["error_string"] = "Please provide a tab separated file"

        validation_dict = {}
        validation_dict["status"] = False
        validation_dict["errors"] = [error_dict]
        validation_dict["stats"] = []
        validation_dict["stats"].append({"type":"total_rows", "value": 0})
        validation_dict["stats"].append({"type":"valid_rows", "value": 0})

        return json.dumps(validation_dict)
    
    
    local_filename = os.path.join(app.config['UPLOAD_FOLDER'], str(uuid.uuid4()))
    request_file.save(local_filename)
     
    """Trying stuff out with pandas"""
    metadata_df = pd.read_csv(local_filename, sep="\t")
    metadata_df.to_csv(local_filename, index=False, sep="\t")
    
    pass_validation, failures, errors_list, valid_rows, total_rows = batch_validator.perform_batch_validation(local_filename)

    validation_dict = {}
    validation_dict["status"] = pass_validation
    validation_dict["errors"] = errors_list
    validation_dict["stats"] = []

    validation_dict["stats"].append({"type":"total_rows", "value":total_rows})
    validation_dict["stats"].append({"type":"valid_rows", "value":len(valid_rows)})

    return json.dumps(validation_dict)
Exemplo n.º 4
0
def test_dataset4():
    import batch_validator
    passes_validation, failures, errors_list, valid_rows, total_rows = batch_validator.perform_batch_validation(
        "reference_data/sarcophyton.tsv")
    assert (passes_validation == True)
Exemplo n.º 5
0
def test_datat1_failure():
    import batch_validator
    passes_validation, failures, errors_list, valid_rows, total_rows = batch_validator.perform_batch_validation(
        "reference_data/bile_acid_ref_failure.tsv")
    assert (passes_validation == False)
Exemplo n.º 6
0
def validatebatchpost():
    request_file = request.files['file']
    #Invalid File Types
    if not allowed_file_metadata(request_file.filename):
        error_dict = {}
        error_dict["header"] = "Incorrect File Type"
        error_dict["line_number"] = "N/A"
        error_dict["error_string"] = "Please provide a tab separated file"

        validation_dict = {}
        validation_dict["status"] = False
        validation_dict["errors"] = [error_dict]
        validation_dict["stats"] = []
        validation_dict["stats"].append({"type": "total_rows", "value": 0})
        validation_dict["stats"].append({"type": "valid_rows", "value": 0})

        return json.dumps(validation_dict)

    local_filename = os.path.join(app.config['UPLOAD_FOLDER'],
                                  str(uuid.uuid4()))
    request_file.save(local_filename)

    truncate_value = 2000

    if "full" in request.values:
        truncate_value = 50000
    """Trying stuff out with pandas"""
    try:
        metadata_df = pd.read_csv(local_filename,
                                  keep_default_na=False,
                                  sep="\t")
        metadata_df = metadata_df.truncate(after=truncate_value)
        metadata_df.to_csv(local_filename,
                           index=False,
                           sep="\t",
                           encoding='ascii')
    except:
        error_dict = {}
        error_dict["header"] = "Error Reading Data"
        error_dict["line_number"] = "N/A"
        error_dict["error_string"] = "Please fix your file"

        validation_dict = {}
        validation_dict["status"] = False
        validation_dict["errors"] = [error_dict]
        validation_dict["stats"] = []
        validation_dict["stats"].append({"type": "total_rows", "value": 0})
        validation_dict["stats"].append({"type": "valid_rows", "value": 0})

        return json.dumps(validation_dict)

    pass_validation, failures, errors_list, valid_rows, total_rows = batch_validator.perform_batch_validation(
        local_filename)

    validation_dict = {}
    validation_dict["status"] = pass_validation
    validation_dict["errors"] = errors_list
    validation_dict["stats"] = []

    validation_dict["stats"].append({
        "type": "total_rows",
        "value": total_rows
    })
    validation_dict["stats"].append({
        "type": "valid_rows",
        "value": len(valid_rows)
    })

    return json.dumps(validation_dict)