CoreModelsCoreModels
cBioPortal recipe

Staging-file preflight

Start valid instead of fixing invalid - headers minted from governed meaning.

The validate/fix/revalidate loop is where study submissions lose their days: validateData.py diagnoses precisely, but it does not author - and some failures (missing gene panels among them) only surface at import, as raw Java errors. This recipe attacks the authoring half of the loop. Govern the study's attributes once, then generate upload-ready data_clinical_{instrument}.txt scaffolds from governed meaning: the four # header rows populated with display names, descriptions, datatypes and priorities, attribute IDs minted UPPER_CASE from labels - so files enter the validator already conformant to their intended meaning, and the attribute-no-description and attribute-id-not-upper audit rules catch the residue beforehand. Honest scope: headers only. Gene panels, case lists and data-row problems remain the validator's territory - run validateData.py as always; this recipe makes its first run quieter.