Package picard.sam

## Class ViewSam

- java.lang.Object
- - picard.cmdline.CommandLineProgram
  - - picard.sam.ViewSam

-     @DocumentedFeature
      public class ViewSam
      extends CommandLineProgram

  Prints a SAM or BAM file to the screen.

  Very simple command that just reads a SAM or BAM file and writes out the header and each record to standard out. When an (optional) intervals file is specified, only records overlapping those intervals will be output.

  All reads, just the aligned reads, or just the unaligned reads can be printed out by setting AlignmentStatus accordingly. The SAM or BAM header can be printed out separately using HEADER_ONLY. Only the alignment records can be printed using RECORDS_ONLY. However, HEADER_ONLY and RECORDS_ONLY cannot both be specified at one time.

  ### Inputs

  - A SAM or BAM file to be viewed
  - Optional arguments specifying which reads or records need to be viewed

  #### Usage example:

           java -jar picard.jar ViewSam \
                I=input_reads.bam \
                HEADER_ONLY=true

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `ViewSam.AlignmentStatus` |
    `static class` | `ViewSam.PfStatus` |

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `ViewSam.AlignmentStatus` | `ALIGNMENT_STATUS` |
    `boolean` | `HEADER_ONLY` |
    `String` | `INPUT` |
    `File` | `INTERVAL_LIST` |
    `ViewSam.PfStatus` | `PF_STATUS` |
    `boolean` | `RECORDS_ONLY` |
    `String` | `USAGE` |

    - ### Fields inherited from class picard.cmdline.CommandLineProgram

      `COMPRESSION_LEVEL, CREATE_INDEX, CREATE_MD5_FILE, GA4GH_CLIENT_SECRETS, MAX_ALLOWABLE_ONE_LINE_SUMMARY_LENGTH, MAX_RECORDS_IN_RAM, QUIET, REFERENCE_SEQUENCE, referenceSequence, specialArgumentsCollection, TMP_DIR, USE_JDK_DEFLATER, USE_JDK_INFLATER, VALIDATION_STRINGENCY, VERBOSITY`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ViewSam()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected String[]` | `customCommandLineValidation()` | Put any custom command-line validation in an override of this method.
    `protected int` | `doWork()` | Do the work after command line has been parsed.

    - ### Methods inherited from class picard.cmdline.CommandLineProgram

      `checkRInstallation, getCommandLine, getCommandLineParser, getCommandLineParserForArgs, getDefaultHeaders, getFaqLink, getMetricsFile, getPGRecord, getStandardUsagePreamble, getStandardUsagePreamble, getVersion, hasWebDocumentation, instanceMain, instanceMainWithExit, makeReferenceArgumentCollection, parseArgs, requiresReference, setDefaultHeaders, useLegacyParser`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### USAGE

          public final String USAGE

    - #### INPUT

          @Argument(shortName="I",
                    doc="The SAM or BAM file or GA4GH url to view.")
          public String INPUT

    - #### ALIGNMENT_STATUS

          @Argument(doc="Print out all reads, just the aligned reads or just the unaligned reads.")
          public ViewSam.AlignmentStatus ALIGNMENT_STATUS

    - #### PF_STATUS

          @Argument(doc="Print out all reads, just the PF reads or just the non-PF reads.")
          public ViewSam.PfStatus PF_STATUS

    - #### HEADER_ONLY

          @Argument(doc="Print the SAM header only.",
                    optional=true)
          public boolean HEADER_ONLY

    - #### RECORDS_ONLY

          @Argument(doc="Print the alignment records only.",
                    optional=true)
          public boolean RECORDS_ONLY

    - #### INTERVAL_LIST

          @Argument(doc="An intervals file used to restrict what records are output.",
                    optional=true)
          public File INTERVAL_LIST

  - ### Constructor Detail

    - #### ViewSam

          public ViewSam()

  - ### Method Detail

    - #### doWork

          protected int doWork()

      Description copied from class: `CommandLineProgram`
      Do the work after command line has been parsed. RuntimeException may be thrown by this method, and are reported appropriately.
      Specified by:
        `doWork` in class `CommandLineProgram`
      Returns:
        program exit status.

    - #### customCommandLineValidation

          protected String[] customCommandLineValidation()

      Description copied from class: `CommandLineProgram`
      Put any custom command-line validation in an override of this method. clp is initialized at this point and can be used to print usage and access argv. Any options set by command-line parser can be validated.
      Overrides:
        `customCommandLineValidation` in class `CommandLineProgram`
      Returns:
        null if command line is valid. If command line is invalid, returns an array of error message to be written to the appropriate place.