Unverified Commit 118bf715 authored by mvdbeek's avatar mvdbeek
Browse files

Add metadata_incomplete element

parent 7f3410dc
Loading
Loading
Loading
Loading
+13 −1
Original line number Diff line number Diff line
@@ -567,12 +567,14 @@ class _BamOrSam:
                        for read_group in dataset.metadata.bam_header.get("RG", [])
                        if "ID" in read_group
                    ]
                else:
                    dataset.metadata.metadata_incomplete = True
                dataset.metadata.sort_order = bam_file.header.get("HD", {}).get("SO", None)  # type: ignore [attr-defined]
                dataset.metadata.bam_version = bam_file.header.get("HD", {}).get("VN", None)  # type: ignore [attr-defined]
        except Exception:
            # Per Dan, don't log here because doing so will cause datasets that
            # fail metadata to end in the error state
            pass
            dataset.metadata.metadata_incomplete = True


class BamNative(CompressedArchive, _BamOrSam):
@@ -661,6 +663,16 @@ class BamNative(CompressedArchive, _BamOrSam):
        optional=True,
        no_value={},
    )
    MetadataElement(
        name="metadata_incomplete",
        default=False,
        desc="Indicates if metadata is incomplete",
        param=MetadataParameter,
        readonly=True,
        visible=False,
        optional=True,
        no_value=False,
    )

    def set_meta(self, dataset: DatasetProtocol, overwrite: bool = True, **kwd) -> None:
        _BamOrSam().set_meta(dataset, overwrite=overwrite, **kwd)