Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def refgenie_initg(rgc, genome, content_checksums):
"""
Initializing a genome means adding `collection_checksum` attributes in the
genome config file. This should perhaps be a function in refgenconf, but not
a CLI-hook. Also adds `content_checksums` tsv file (should be a recipe cmd?).
This function updates the provided RefGenConf object with the
genome(collection)-level checksum and saves the individual checksums to a
TSV file in the fasta asset directory.
:param refgenconf.RefGenConf rgc: genome configuration object
:param str genome: name of the genome
:param dict content_checksums: checksums of individual content_checksums, e.g. chromosomes
"""
genome_dir = os.path.join(rgc[CFG_FOLDER_KEY], genome)
if is_writable(genome_dir):
output_file = os.path.join(genome_dir, "{}_sequence_digests.tsv".format(genome))
with open(output_file, "w") as contents_file:
wr = csv.writer(contents_file, delimiter="\t")
for key, val in content_checksums.items():
wr.writerow([key, val])
_LOGGER.debug("sequence digests saved to: {}".format(output_file))
else:
_LOGGER.warning("Could not save the genome sequence digests. '{}' is not writable".format(genome_dir))