Package picard.util

## Class LiftOverIntervalList

- java.lang.Object
- - picard.cmdline.CommandLineProgram
  - - picard.util.LiftOverIntervalList

-     @DocumentedFeature
      public class LiftOverIntervalList
      extends CommandLineProgram

  This tool adjusts the coordinates in an interval list on one reference to its homologous interval list on another reference, based on a chain file that describes the correspondence between the two references. It is based on the UCSC LiftOver tool and uses a UCSC chain file to guide its operation. It accepts a Picard interval_list file as an input. See `IntervalListTools` documentation for information on interval_list format. Note: for lifting over VCF files use LiftoverVcf tool.

  ### Usage example:

       java -jar picard.jar LiftOverIntervalList \
             I=input.interval_list \
             O=output.interval_list \
             SD=reference_sequence.dict \
             CHAIN=build.chain

  ### Return codes

  If all the intervals lifted over successfully, program will return 0. It will return 1 otherwise.

  ### Caveats

  An interval is "lifted" in its entirety, but it might intersect (a "hit") with multiple chain-blocks. Instead of placing the interval in multiple hits, it is lifted over using the first hit that passes the threshold of `MIN_LIFTOVER_PCT`. For large enough `MIN_LIFTOVER_PCT` this is non-ambiguous, but if one uses small values of `MIN_LIFTOVER_PCT` (perhaps in order to increase the rate of successful hits...) the liftover could end up going to the smaller of two good hits. On the other hand, if none of the hits pass the threshold a warning will be emitted and the interval will not be lifted.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `File` | `CHAIN` |
    `File` | `INPUT` |
    `double` | `MIN_LIFTOVER_PCT` |
    `File` | `OUTPUT` |
    `File` | `REJECT` |
    `File` | `SEQUENCE_DICTIONARY` |

    - ### 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
    --- | ---
    `LiftOverIntervalList()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected int` | `doWork()` | Do the work after command line has been parsed.

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

      `checkRInstallation, customCommandLineValidation, 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

    - #### INPUT

          @Argument(doc="The input interval list to be lifted over.",
                    shortName="I")
          public File INPUT

    - #### OUTPUT

          @Argument(doc="The output interval list file.",
                    shortName="O")
          public File OUTPUT

    - #### SEQUENCE_DICTIONARY

          @Argument(doc="Sequence dictionary to place in the output interval list. (This should be any file from which the dictionary of the target reference can be extracted.)",
                    shortName="SD")
          public File SEQUENCE_DICTIONARY

    - #### CHAIN

          @Argument(doc="Chain file that guides the LiftOver process.")
          public File CHAIN

    - #### MIN_LIFTOVER_PCT

          @Argument(doc="Minimum percentage of bases in each input interval that must map to output interval for liftover of that interval to occur. If the program fails to find a good target for an interval, a warning will be emitted and the interval will be dropped from the output. ")
          public double MIN_LIFTOVER_PCT

    - #### REJECT

          @Argument(doc="Interval List file for intervals that were rejected",
                    optional=true)
          public File REJECT

  - ### Constructor Detail

    - #### LiftOverIntervalList

          public LiftOverIntervalList()

  - ### Method Detail

    - #### doWork

          protected int doWork()

      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.