Class GtfValidationAction

All Implemented Interfaces:
Action, ValidationAction

public class GtfValidationAction
extends SingleFileValidationAction
Action for validation of GTF files in a file set. The GTF file must be connected with an ArrayDesign.

The validation uses the GtfInputStream. The number of lines to parse is configurable. If the entire file is parsed, it will set the ArrayDesign.getNumFileFeatures() value to the number of unique transcript_id values found in the file.

Since:
3.0
Author:
Nicklas
Last modified
$Date: 2015-04-21 08:26:57 +0200 (ti, 21 apr 2015) $
  • Field Details

    • dc

      private final DbControl dc
    • design

      private final ArrayDesign design
    • linesToParse

      private final int linesToParse
  • Constructor Details

    • GtfValidationAction

      public GtfValidationAction​(DbControl dc, ArrayDesign design, int linesToParse)
      Create a new action.
      Parameters:
      dc - An open DbControl
      design - The array design the GTF file is connected with
      linesToParse - The maximum number of lines to parse from the GTF file. Use Integer.MAX_VALUE to ensure that the entire file is parsed. The lowest value is 10
  • Method Details

    • validateAndExtractMetadata

      public void validateAndExtractMetadata() throws InvalidDataException, InvalidRelationException
      Description copied from interface: ValidationAction
      Validate and extract metadata from the file(s) that has been added to this validator. If the ValidationAction.acceptFile(FileSetMember) method returns Accept.VALIDATE_IMMEDIATELY this method is called and the validator should work on the last accepted file.

      This method is also called after all files has been processed if at least one file returned Accept.VALIDATE_LATER.

      This method is recommended to throw an InvalidDataException or a subclass if the file is not a valid file. PermissionDeniedException:s are ignored by the core and will not change the validation status. An exception of type InvalidRelationException can be thrown if the file itself is valid, but a related file that it depends on is not. The core will still mark the file as invalid and store the error message, but extracted metadata will not be reset.

      Throws:
      InvalidDataException - If the validator detects an invalid file
      InvalidRelationException - If the validator detects that the file is valid but another file that it depends on is not, metadata extract will still happen
    • resetMetadata

      public void resetMetadata()
      Description copied from interface: ValidationAction
      Reset all metadata that this class normally can set. This method is called if the validation of a file failed or if a file is removed from the file set. Any previous metadata that may signal that a valid file is present should be reset.