A method for sequencing nucleic acid molecules from a sample using unique molecular indices (UMIs), wherein each unique molecular index is an oligonucleotide sequence that can be used to identify an individual molecule of a double-stranded DNA fragment in the sample, comprising (a) applying adapters to both ends of double-stranded DNA fragments in the sample to obtain DNA-adapter products, wherein each adapter comprises a double-stranded hybridized region, a single-stranded 5' arm, a single-stranded 3' arm, and a physical UMI on one strand or each strand of the adapter, the physical UMI is selected from a plurality of physical UMIs, wherein the plurality of physical UMIs comprises nonrandom UMIs and every nonrandom UMI differs from every other nonrandom UMI of the adapters by at least two nucleotides at corresponding sequence positions of the nonrandom UMIs, and wherein each double-stranded DNA fragment in the sample comprises a virtual UMI on one strand or each strand of the double-stranded DNA fragment, wherein the virtual UMI is a unique sub-sequence in a DNA fragment in the sample; (b) amplifying both strands of the DNA-adapter products to obtain a plurality of amplified polynucleotides; (c) sequencing the plurality of amplified polynucleotides, thereby obtaining a plurality of reads each comprising a physical UMI sequence corresponding to a physical UMI on an adapter and a virtual UMI sequence corresponding to a virtual UMI on a double-stranded DNA fragment in the sample; (d) identifying a plurality of physical UMI sequences for the plurality of reads; (e) identifying a plurality of virtual UMI sequences for the plurality of reads; and (f) determining sequences of the double-stranded DNA fragments in the sample using the plurality of reads obtained in (c), the plurality of physical UMI sequences identified in (d), and the plurality of virtual UMI sequences identified in (e) wherein (f) comprises: (i) combining, for each double-stranded DNA fragment, a first plurality of reads each comprising a first physical UMI sequence of the plurality of physical UMI sequences and a first virtual UMI sequence of the plurality of UMI sequences to determine a consensus nucleotide sequence; and (ii) determining a sequence of the double-stranded DNA fragment using the consensus nucleotide sequence. (a) applying adapters to both ends of double-stranded DNA fragments in the sample to obtain DNA-adapter products, wherein each adapter comprises a double-stranded hybridized region, a single-stranded 5' arm, a single-stranded 3' arm, and a physical UMI on one strand or each strand of the adapter, the physical UMI is selected from a plurality of physical UMIs, wherein the plurality of physical UMIs comprises nonrandom UMIs and every nonrandom UMI differs from every other nonrandom UMI of the adapters by at least two nucleotides at corresponding sequence positions of the nonrandom UMIs, and wherein each double-stranded DNA fragment in the sample comprises a virtual UMI on one strand or each strand of the double-stranded DNA fragment, wherein the virtual UMI is a unique sub-sequence in a DNA fragment in the sample; (b) amplifying both strands of the DNA-adapter products to obtain a plurality of amplified polynucleotides; (c) sequencing the plurality of amplified polynucleotides, thereby obtaining a plurality of reads each comprising a physical UMI sequence corresponding to a physical UMI on an adapter and a virtual UMI sequence corresponding to a virtual UMI on a double-stranded DNA fragment in the sample; (d) identifying a plurality of physical UMI sequences for the plurality of reads; (e) identifying a plurality of virtual UMI sequences for the plurality of reads; and (f) determining sequences of the double-stranded DNA fragments in the sample using the plurality of reads obtained in (c), the plurality of physical UMI sequences identified in (d), and the plurality of virtual UMI sequences identified in (e) wherein (f) comprises: (i) combining, for each double-stranded DNA fragment, a first plurality of reads each comprising a first physical UMI sequence of the plurality of physical UMI sequences and a first virtual UMI sequence of the plurality of UMI sequences to determine a consensus nucleotide sequence; and (ii) determining a sequence of the double-stranded DNA fragment using the consensus nucleotide sequence. (i) combining, for each double-stranded DNA fragment, a first plurality of reads each comprising a first physical UMI sequence of the plurality of physical UMI sequences and a first virtual UMI sequence of the plurality of UMI sequences to determine a consensus nucleotide sequence; and (ii) determining a sequence of the double-stranded DNA fragment using the consensus nucleotide sequence.