Package eido Documentation
Project configuration
Class EidoValidationError
Object was not validated successfully according to schema.
def __init__(self, message, errors_by_type)
Initialize self. See help(type(self)) for accurate signature.
def validate_project(project, schema)
Validate a project object against a schema
Parameters:
project(peppy.Project): a project object to validateschema(str | dict): schema dict to validate against or a path to onefrom the error. Useful when used ith large projects
def validate_sample(project, sample_name, schema)
Validate the selected sample object against a schema
Parameters:
project(peppy.Project): a project object to validatesample_name(str | int): name or index of the sample to validateschema(str | dict): schema dict to validate against or a path to one
def validate_config(project, schema)
Validate the config part of the Project object against a schema
Parameters:
project(peppy.Project): a project object to validateschema(str | dict): schema dict to validate against or a path to one
def read_schema(schema)
Safely read schema from YAML-formatted file.
If the schema imports any other schemas, they will be read recursively.
Parameters:
schema(str | Mapping): path to the schema fileor schema in a dict form
Returns:
list[dict]: read schemas
Raises:
TypeError: if the schema arg is neither a Mapping nor a file path orif the 'imports' sections in any of the schemas is not a list
def inspect_project(p, sample_names=None, max_attr=10)
Print inspection info: Project or, if sample_names argument is provided, matched samples
Parameters:
p(peppy.Project): project to inspectsample_names(Iterable[str]): list of samples to inspectmax_attr(int): max number of sample attributes to display
def get_available_pep_filters()
Get a list of available target formats
Returns:
List[str]: a list of available formats
def convert_project(prj, target_format, plugin_kwargs=None)
Convert a peppy.Project object to a selected format
Parameters:
prj(peppy.Project): a Project object to convertplugin_kwargs(dict): kwargs to pass to the plugin functiontarget_format(str): the format to convert the Project object to
Raises:
EidoFilterError: if the requested filter is not defined
def validate_input_files(project, schemas, sample_name=None)
Determine which of the required and optional files are missing.
The names of the attributes that are required and/or deemed as inputs
are sourced from the schema, more specifically from required_files
and files sections in samples section:
- If any of the required files are missing, this function raises an error.
- If any of the optional files are missing, the function raises a warning.
Note, this function also performs Sample object validation with jsonschema.
Parameters:
project(peppy.Project): project that defines the samples to validateschema(str | dict): schema dict to validate against or a path to onesample_name(str | int): name or index of the sample to validate. If None,validate all samples in the project
Raises:
PathAttrNotFoundError: if any required sample attribute is missing
def get_input_files_size(sample, schema)
Determine which of this Sample's required attributes/files are missing and calculate sizes of the files (inputs).
The names of the attributes that are required and/or deemed as inputs are sourced from the schema, more specifically from required_input_attrs and input_attrs sections in samples section. Note, this function does perform actual Sample object validation with jsonschema.
Parameters:
sample(peppy.Sample): sample to investigateschema(list[dict] | str): schema dict to validate against or a path to one
Returns:
dict: dictionary with validation data, i.e missing,required_inputs, all_inputs, input_file_size
Raises:
ValidationError: if any required sample attribute is missing
Version Information: eido v0.2.2, generated by lucidoc v0.4.4