Package picard.util

Class 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 both Picard interval_list files or VCF files as interval inputs.

    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 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 the dictionary of the target reference.)",
                  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.