From 234b216ca5557c8c7b2ecbd42cd96f7ae3a9873a Mon Sep 17 00:00:00 2001 From: Alexander Sandercock <39815775+alex-sandercock@users.noreply.github.com> Date: Fri, 6 Nov 2026 08:48:11 -0500 Subject: [PATCH 1/2] Link to MADCATS and the Software Hub for MADC files and VCF conversion A MADC can come from DArT or from FASTQ files through MADCATS. The README now says so, and points to the Software Hub pages on the format and on converting a report with fixed allele IDs to a VCF. --- README.md | 11 ++++++++--- docs/src/getting-started/input-files.md | 4 ++++ 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 7a432bb..5c88e4a 100644 --- a/README.md +++ b/README.md @@ -130,6 +130,10 @@ The full documentation is at [hapapp.readthedocs.io](https://hapapp.readthedocs. | Marker lookup table | `assign` | CSV of the MADC's marker names and your standard marker IDs. `build-db` writes one | | Allele database and count table | `assign` | The latest versions from `build-db` or an earlier `assign` run | +The MADC report can come straight from DArT genotyping, or you can generate one from FASTQ files with +[MADCATS](https://madcats.readthedocs.io). [What is a MADC file?](https://softwarehub.breedinginsight.org/learn/what-is-a-madc-file.html) +explains the format. + ## Output `assign` writes these files to the run's folder: @@ -144,6 +148,10 @@ The full documentation is at [hapapp.readthedocs.io](https://hapapp.readthedocs. | `hapSearch/sample_hapStatus/*_hapStatus.csv` | Which samples contain each allele | | `run_manifest.json` | Status, counts, warnings, tool versions and input checksums | +To turn the report with fixed allele IDs into a VCF, see +[Convert MADC data to a genotype-called VCF](https://softwarehub.breedinginsight.org/learn/madc-to-vcf.html), which uses +[BIGr](https://softwarehub.breedinginsight.org/software/bigr.html). + ## Development ```bash @@ -162,9 +170,6 @@ If you use HapApp_utils in your work, please cite: > assessing and mining crop genetic diversity. *Theoretical and Applied Genetics* 139(9):244. > https://doi.org/10.1007/s00122-026-05340-4 -For the MADC format, see Breeding Insight's -[What is a MADC file?](https://softwarehub.breedinginsight.org/learn/what-is-a-madc-file.html). - **AI assistance:** AI assistance applies to version 2 of HapApp_utils and its documentation, not to version 1. Dongyan Zhao wrote version 1, the step scripts and bash workflows. For version 2, Claude Opus 5.5 (Anthropic) helped convert those workflows into the Python command-line tool, fix bugs in the step scripts, and write the tests and documentation. The diff --git a/docs/src/getting-started/input-files.md b/docs/src/getting-started/input-files.md index 1fb62e3..549b002 100644 --- a/docs/src/getting-started/input-files.md +++ b/docs/src/getting-started/input-files.md @@ -11,6 +11,10 @@ from the header row: Each marker needs a `Ref` and an `Alt` row. Export the report as CSV, not Excel. +The MADC report can come straight from DArT genotyping, or you can generate one from FASTQ files with +[MADCATS](https://madcats.readthedocs.io). [What is a MADC file?](https://softwarehub.breedinginsight.org/learn/what-is-a-madc-file.html) +explains the format. + ```text AlleleID,CloneID,AlleleSequence,5236,5237,... Chr01_000120735|Ref,Chr01_000120735,GGTGATGAGTGGAGTT...,0,12,... From caf3772ee15a524d68b1a0190687ce51d2124134 Mon Sep 17 00:00:00 2001 From: Alexander Sandercock <39815775+alex-sandercock@users.noreply.github.com> Date: Fri, 6 Nov 2026 08:48:11 -0500 Subject: [PATCH 2/2] Describe merging into release through pull requests --- docs/src/development/contributing.md | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/docs/src/development/contributing.md b/docs/src/development/contributing.md index 2257a6b..df01017 100644 --- a/docs/src/development/contributing.md +++ b/docs/src/development/contributing.md @@ -35,11 +35,17 @@ tags on `release` that publish the package. Merges go one way. Merging `release` into `master` would bring the whole package layout with it. +`release` only accepts pull requests, so make the merge on a new branch and open a pull request from it into `release`: + ```bash -git switch release -git merge master +git fetch upstream +git switch -c merge-master upstream/release +git merge upstream/master ``` +Merge that pull request with **Create a merge commit**. A squash merge would lose the link to `master`, so the next +merge would report the same conflicts again. + Git follows the moved files, so most edits to existing scripts land in `src/hapapp_utils/steps/` with no conflict. These changes need more from you: @@ -138,7 +144,7 @@ come from the Breeding Insight palette. Pushing a version tag from `release` publishes the package to PyPI through `.github/workflows/release.yml`. 1. Set `__version__` in `src/hapapp_utils/__init__.py` and add the version to the [Changelog](changelog.md). -2. Merge that change into `release`. +2. Merge that change into `release` with a pull request. 3. Tag the merged commit and push the tag, using the new version number: ```bash