%global srcname genedom Name: python-%{srcname} Version: 0.2.2 Release: 1%{?dist} Summary: Domesticate genetic parts to an assembly standard License: MIT URL: https://github.com/Edinburgh-Genome-Foundry/%{srcname} # GitHub tag archive rather than the PyPI sdist: the sdist ships tests/ without # tests/data/, so the suite has no parts to domesticate. Source0: %{url}/archive/refs/tags/v%{version}/%{srcname}-%{version}.tar.gz BuildArch: noarch BuildRequires: python3-devel BuildRequires: pyproject-rpm-macros # %%check BuildRequires: python3-pytest # One case renders its report figures. BuildRequires: python3-matplotlib %global _description %{expand: Domestication is the step between a sequence you want and a part you can assemble: removing the restriction sites the assembly method uses, adding the flanks and overhangs the standard defines, and keeping the coding sequence intact while doing it. GeneDom takes a batch of records and an assembly standard -- EMMA, Golden Braid and CIDAR are built in, or a spreadsheet defines your own -- and returns the domesticated parts with a report on every change it made and why. It also mints barcode collections for labelling the results.} %description %_description %package -n python3-%{srcname} Summary: %{summary} %description -n python3-%{srcname} %_description %prep %autosetup -p1 -n %{srcname}-%{version} %generate_buildrequires %pyproject_buildrequires %build %pyproject_wheel %install %pyproject_install %pyproject_save_files -l %{srcname} %check # Upstream's suite, all of it, and worth noting that it runs at all: genedom # needs the longest dependency chain in this repository. It depends on # dnachisel[reports], which is why python-dnachisel gained an extras subpackage # at 3.2.16-2, and that extra pulls pdf_reports and sequenticon, which pull # pypugjs, pydenticon and snapgene-reader. Nine packages were added here before # this one could build. %pytest -q tests %files -n python3-%{srcname} -f %{pyproject_files} %doc README.rst %changelog * Sun Sep 27 2026 Morgan Hough - 0.2.2-1 - Initial package: GeneDom 0.2.2. Net-new to Fedora, and the end of the popcorn toolchain's dependency chain. - Depends on dnachisel[reports] by name, which nothing provided until python-dnachisel 3.2.16-2 added the extras subpackage. That in turn was only possible once pdf_reports and sequenticon existed, three of the extra's five members having been unpackaged before this run. - The packages added to get here, in order: dna-features-viewer, bcbio-gff, geneblocks, dnaweaver, fuzzywuzzy, snapgene-reader, dnacauldron, pypugjs, pydenticon, pdf-reports, sequenticon, python-box. - Sourced from the GitHub tag; the sdist omits tests/data/. - Notable for needing no external program: no blastn, no primer3. The domestication itself is DnaChisel's constraint solver, which is pure Python.