Methods, systems, and devices for encoding data for storage in genetic material are disclosed. For example, a computing
system can segment user data into a plurality of data blocks and generate seed data characterizing a plurality of
fountain code seeds. Additionally, the computing
system can, for each data block, implement a set of operations to generate one or more data packets. In some instances, the set of operations can include, for each of the plurality of
fountain code seeds, determining a bit value and a corresponding meta code value, and determining which of the
fountain code seeds has a meta code value for the bit value that matches a value for the bit position identified in the
metadata. Furthermore, the computing
system can, for each data packet, cause implementation of a second set of operations to synthesize a
polynucleotide strand from at least the bit values of the corresponding data packet.