An apparatus, comprising: a memory configured to store a sequence, the sequence including an estimation of a deoxyribonucleic acid or ribonucleic acid sequence, the sequence including a plurality of elements; and a plurality of hardware processors operatively coupled to the memory, a hardware processor from the plurality of hardware processors configured to: receive the sequence from the memory, and assign each element from the plurality of elements to at least one segment from a plurality of segments of the sequence, including, assigning an element from the plurality of elements that maps to at least a first segment and a second segment from the plurality of segments, to both the first segment and the second segment, each segment from the plurality of segments including a portion having a first size overlapping a portion of at least one adjacent segment from the plurality of segments, each hardware processor from the plurality of hardware processors configured to, for each segment from a different set of segments from the plurality of segments, and simultaneous with the remaining hardware processors from the plurality of hardware processors: remove at least a portion of duplicate elements assigned to that segment from that set of segments to generate a deduplicated segment, the deduplicated segment associated with each segment from the plurality of segments including a portion having a second size overlapping a portion of a deduplicated segment associated with an adjacent segment from the plurality of segments, the second size being smaller that the first size; reorder the elements in the deduplicated segment to generate a realigned segment and transmit the realigned segment to one or more of a storage module and a genotyping module. a memory configured to store a sequence, the sequence including an estimation of a deoxyribonucleic acid or ribonucleic acid sequence, the sequence including a plurality of elements; and a plurality of hardware processors operatively coupled to the memory, a hardware processor from the plurality of hardware processors configured to: receive the sequence from the memory, and assign each element from the plurality of elements to at least one segment from a plurality of segments of the sequence, including, assigning an element from the plurality of elements that maps to at least a first segment and a second segment from the plurality of segments, to both the first segment and the second segment, each segment from the plurality of segments including a portion having a first size overlapping a portion of at least one adjacent segment from the plurality of segments, receive the sequence from the memory, and assign each element from the plurality of elements to at least one segment from a plurality of segments of the sequence, including, assigning an element from the plurality of elements that maps to at least a first segment and a second segment from the plurality of segments, to both the first segment and the second segment, each segment from the plurality of segments including a portion having a first size overlapping a portion of at least one adjacent segment from the plurality of segments, each hardware processor from the plurality of hardware processors configured to, for each segment from a different set of segments from the plurality of segments, and simultaneous with the remaining hardware processors from the plurality of hardware processors: remove at least a portion of duplicate elements assigned to that segment from that set of segments to generate a deduplicated segment, the deduplicated segment associated with each segment from the plurality of segments including a portion having a second size overlapping a portion of a deduplicated segment associated with an adjacent segment from the plurality of segments, the second size being smaller that the first size; reorder the elements in the deduplicated segment to generate a realigned segment and transmit the realigned segment to one or more of a storage module and a genotyping module. remove at least a portion of duplicate elements assigned to that segment from that set of segments to generate a deduplicated segment, the deduplicated segment associated with each segment from the plurality of segments including a portion having a second size overlapping a portion of a deduplicated segment associated with an adjacent segment from the plurality of segments, the second size being smaller that the first size; reorder the elements in the deduplicated segment to generate a realigned segment and transmit the realigned segment to one or more of a storage module and a genotyping module.