Implement nf-schema in pipeline
The pipeline's sample sheet validation was fully migrated to nf-schema, replacing a custom Python script.
Key changes include:
assets/schema_input.jsonwas updated to:- Implement comprehensive regex patterns for
sample,antibody, andcontrolfields. - Enforce antibody/control dependencies using
dependentRequired. - Add
minimum: 1constraint forreplicateIDs.
- Implement comprehensive regex patterns for
- The custom Python validation script
bin/check_samplesheet.pyand its Nextflow wrappermodules/local/samplesheet_check.nfwere removed. subworkflows/local/utils_nfcore_chipseq_pipeline/main.nfgained avalidateSamplesheetRow()function to preserve pre-nf-schema logic, including space replacement warnings andsingle_endcomputation.subworkflows/local/input_check.nfwas simplified, removing its dependency on the Python script and now directly processing pre-validated samplesheet data.main.nfandworkflows/chipseq.nfwere updated to use thePIPELINE_INITIALISATION.out.samplesheetchannel, reflecting the new validation flow.
Subsequently, only nf-test related artifacts were removed, including nextflow and nf-test executables, and all .nf-test/ directories, while preserving all nf-schema implementation changes.
[!WARNING] Newer version of the nf-core template is available.
Your pipeline is using an old version of the nf-core template: 3.2.1. Please update your pipeline to the latest version.
For more documentation on how to update your pipeline, please see the nf-core documentation and Synchronisation documentation.
nf-core pipelines lint overall result: Failed :x:
Posted for pipeline commit c1c8dd6
+| ✅ 268 tests passed |+
#| ❔ 2 tests were ignored |#
!| ❗ 31 tests had warnings |!
-| ❌ 1 tests failed |-
:x: Test failures:
- modules_config -
conf/modules.configcontainswithName:SAMPLESHEET_CHECK, but the corresponding process is not present in any of the Nextflow scripts.
:heavy_exclamation_mark: Test warnings:
- pipeline_todos - TODO string in
nextflow.config: Optionally, you can add a pipeline-specific nf-core config at https://github.com/nf-core/configs - pipeline_todos - TODO string in
nextflow.config: Update the field with the details of the contributors to your pipeline. New with Nextflow version 24.10.0 - pipeline_todos - TODO string in
base.config: Check the defaults for all processes - pipeline_todos - TODO string in
methods_description_template.yml: #Update the HTML below to your preferred methods description, e.g. add publication citation for this pipeline - pipeline_todos - TODO string in
main.nf: Optionally add in-text citation tools to this list. - pipeline_todos - TODO string in
main.nf: Optionally add bibliographic entries to this list. - pipeline_todos - TODO string in
main.nf: Only uncomment below if logic in toolCitationText/toolBibliographyText has been filled! - pipeline_if_empty_null -
ifEmpty(null)found inprepare_genome.nf: _ versions = ch_versions.ifEmpty(null) // channel: [ versions.yml ] _ - pipeline_if_empty_null -
ifEmpty(null)found inmain.nf: _ versions = ch_versions.ifEmpty(null) // channel: [ versions.yml ] _ - local_component_structure - igv.nf in modules/local should be moved to a TOOL/SUBTOOL/main.nf structure
- local_component_structure - star_align.nf in modules/local should be moved to a TOOL/SUBTOOL/main.nf structure
- local_component_structure - gtf2bed.nf in modules/local should be moved to a TOOL/SUBTOOL/main.nf structure
- local_component_structure - macs3_consensus.nf in modules/local should be moved to a TOOL/SUBTOOL/main.nf structure
- local_component_structure - bam_remove_orphans.nf in modules/local should be moved to a TOOL/SUBTOOL/main.nf structure
- local_component_structure - plot_homer_annotatepeaks.nf in modules/local should be moved to a TOOL/SUBTOOL/main.nf structure
- local_component_structure - genome_blacklist_regions.nf in modules/local should be moved to a TOOL/SUBTOOL/main.nf structure
- local_component_structure - multiqc.nf in modules/local should be moved to a TOOL/SUBTOOL/main.nf structure
- local_component_structure - plot_macs3_qc.nf in modules/local should be moved to a TOOL/SUBTOOL/main.nf structure
- local_component_structure - multiqc_custom_phantompeakqualtools.nf in modules/local should be moved to a TOOL/SUBTOOL/main.nf structure
- local_component_structure - bamtools_filter.nf in modules/local should be moved to a TOOL/SUBTOOL/main.nf structure
- local_component_structure - multiqc_custom_peaks.nf in modules/local should be moved to a TOOL/SUBTOOL/main.nf structure
- local_component_structure - deseq2_qc.nf in modules/local should be moved to a TOOL/SUBTOOL/main.nf structure
- local_component_structure - star_genomegenerate.nf in modules/local should be moved to a TOOL/SUBTOOL/main.nf structure
- local_component_structure - annotate_boolean_peaks.nf in modules/local should be moved to a TOOL/SUBTOOL/main.nf structure
- local_component_structure - frip_score.nf in modules/local should be moved to a TOOL/SUBTOOL/main.nf structure
- local_component_structure - bam_peaks_call_qc_annotate_macs3_homer.nf in subworkflows/local should be moved to a SUBWORKFLOW_NAME/main.nf structure
- local_component_structure - bed_consensus_quantify_qc_bedtools_featurecounts_deseq2.nf in subworkflows/local should be moved to a SUBWORKFLOW_NAME/main.nf structure
- local_component_structure - bam_filter_bamtools.nf in subworkflows/local should be moved to a SUBWORKFLOW_NAME/main.nf structure
- local_component_structure - prepare_genome.nf in subworkflows/local should be moved to a SUBWORKFLOW_NAME/main.nf structure
- local_component_structure - bam_bedgraph_bigwig_bedtools_ucsc.nf in subworkflows/local should be moved to a SUBWORKFLOW_NAME/main.nf structure
- local_component_structure - align_star.nf in subworkflows/local should be moved to a SUBWORKFLOW_NAME/main.nf structure
:grey_question: Tests ignored:
- nextflow_config - Config default ignored: params.bamtools_filter_pe_config
- nextflow_config - Config default ignored: params.bamtools_filter_se_config
:white_check_mark: Tests passed:
- files_exist - File found:
.gitattributes - files_exist - File found:
.gitignore - files_exist - File found:
.nf-core.yml - files_exist - File found:
.prettierignore - files_exist - File found:
.prettierrc.yml - files_exist - File found:
CHANGELOG.md - files_exist - File found:
CITATIONS.md - files_exist - File found:
CODE_OF_CONDUCT.md - files_exist - File found:
LICENSEorLICENSE.mdorLICENCEorLICENCE.md - files_exist - File found:
nextflow_schema.json - files_exist - File found:
nextflow.config - files_exist - File found:
README.md - files_exist - File found:
.github/.dockstore.yml - files_exist - File found:
.github/CONTRIBUTING.md - files_exist - File found:
.github/ISSUE_TEMPLATE/bug_report.yml - files_exist - File found:
.github/ISSUE_TEMPLATE/config.yml - files_exist - File found:
.github/ISSUE_TEMPLATE/feature_request.yml - files_exist - File found:
.github/PULL_REQUEST_TEMPLATE.md - files_exist - File found:
.github/workflows/branch.yml - files_exist - File found:
.github/workflows/nf-test.yml - files_exist - File found:
.github/actions/get-shards/action.yml - files_exist - File found:
.github/actions/nf-test/action.yml - files_exist - File found:
.github/workflows/linting_comment.yml - files_exist - File found:
.github/workflows/linting.yml - files_exist - File found:
assets/email_template.html - files_exist - File found:
assets/email_template.txt - files_exist - File found:
assets/sendmail_template.txt - files_exist - File found:
assets/nf-core-chipseq_logo_light.png - files_exist - File found:
conf/modules.config - files_exist - File found:
conf/test.config - files_exist - File found:
conf/test_full.config - files_exist - File found:
docs/images/nf-core-chipseq_logo_light.png - files_exist - File found:
docs/images/nf-core-chipseq_logo_dark.png - files_exist - File found:
docs/output.md - files_exist - File found:
docs/README.md - files_exist - File found:
docs/README.md - files_exist - File found:
docs/usage.md - files_exist - File found:
nf-test.config - files_exist - File found:
tests/default.nf.test - files_exist - File found:
main.nf - files_exist - File found:
assets/multiqc_config.yml - files_exist - File found:
conf/base.config - files_exist - File found:
conf/igenomes.config - files_exist - File found:
conf/igenomes_ignored.config - files_exist - File found:
.github/workflows/awstest.yml - files_exist - File found:
.github/workflows/awsfulltest.yml - files_exist - File found:
modules.json - files_exist - File found:
ro-crate-metadata.json - files_exist - File not found check:
.github/ISSUE_TEMPLATE/bug_report.md - files_exist - File not found check:
.github/ISSUE_TEMPLATE/feature_request.md - files_exist - File not found check:
.github/workflows/push_dockerhub.yml - files_exist - File not found check:
.markdownlint.yml - files_exist - File not found check:
.nf-core.yaml - files_exist - File not found check:
.yamllint.yml - files_exist - File not found check:
bin/markdown_to_html.r - files_exist - File not found check:
conf/aws.config - files_exist - File not found check:
docs/images/nf-core-chipseq_logo.png - files_exist - File not found check:
lib/Checks.groovy - files_exist - File not found check:
lib/Completion.groovy - files_exist - File not found check:
lib/NfcoreTemplate.groovy - files_exist - File not found check:
lib/Utils.groovy - files_exist - File not found check:
lib/Workflow.groovy - files_exist - File not found check:
lib/WorkflowMain.groovy - files_exist - File not found check:
lib/WorkflowChipseq.groovy - files_exist - File not found check:
parameters.settings.json - files_exist - File not found check:
pipeline_template.yml - files_exist - File not found check:
Singularity - files_exist - File not found check:
lib/nfcore_external_java_deps.jar - files_exist - File not found check:
.travis.yml - nextflow_config - Found nf-schema plugin
- nextflow_config - Config variable found:
manifest.name - nextflow_config - Config variable found:
manifest.nextflowVersion - nextflow_config - Config variable found:
manifest.description - nextflow_config - Config variable found:
manifest.version - nextflow_config - Config variable found:
manifest.homePage - nextflow_config - Config variable found:
timeline.enabled - nextflow_config - Config variable found:
trace.enabled - nextflow_config - Config variable found:
report.enabled - nextflow_config - Config variable found:
dag.enabled - nextflow_config - Config variable found:
process.cpus - nextflow_config - Config variable found:
process.memory - nextflow_config - Config variable found:
process.time - nextflow_config - Config variable found:
params.outdir - nextflow_config - Config variable found:
params.input - nextflow_config - Config variable found:
validation.help.enabled - nextflow_config - Config variable found:
manifest.mainScript - nextflow_config - Config variable found:
timeline.file - nextflow_config - Config variable found:
trace.file - nextflow_config - Config variable found:
report.file - nextflow_config - Config variable found:
dag.file - nextflow_config - Config variable found:
validation.help.beforeText - nextflow_config - Config variable found:
validation.help.afterText - nextflow_config - Config variable found:
validation.help.command - nextflow_config - Config variable found:
validation.summary.beforeText - nextflow_config - Config variable found:
validation.summary.afterText - nextflow_config - Config variable (correctly) not found:
params.nf_required_version - nextflow_config - Config variable (correctly) not found:
params.container - nextflow_config - Config variable (correctly) not found:
params.singleEnd - nextflow_config - Config variable (correctly) not found:
params.igenomesIgnore - nextflow_config - Config variable (correctly) not found:
params.name - nextflow_config - Config variable (correctly) not found:
params.enable_conda - nextflow_config - Config variable (correctly) not found:
params.max_cpus - nextflow_config - Config variable (correctly) not found:
params.max_memory - nextflow_config - Config variable (correctly) not found:
params.max_time - nextflow_config - Config variable (correctly) not found:
params.validationFailUnrecognisedParams - nextflow_config - Config variable (correctly) not found:
params.validationLenientMode - nextflow_config - Config variable (correctly) not found:
params.validationSchemaIgnoreParams - nextflow_config - Config variable (correctly) not found:
params.validationShowHiddenParams - nextflow_config - Config
timeline.enabledhad correct value:true - nextflow_config - Config
report.enabledhad correct value:true - nextflow_config - Config
trace.enabledhad correct value:true - nextflow_config - Config
dag.enabledhad correct value:true - nextflow_config - Config
manifest.namebegan withnf-core/ - nextflow_config - Config variable
manifest.homePagebegan with https://github.com/nf-core/ - nextflow_config - Config
dag.fileended with.html - nextflow_config - Config variable
manifest.nextflowVersionstarted with >= or !>= - nextflow_config - Config
manifest.versionends indev:2.2.0dev - nextflow_config - Config
params.custom_config_versionis set tomaster - nextflow_config - Config
params.custom_config_baseis set tohttps://raw.githubusercontent.com/nf-core/configs/master - nextflow_config - Lines for loading custom profiles found
- nextflow_config - nextflow.config contains configuration profile
test - nextflow_config - Config default value correct: params.fragment_size= 200
- nextflow_config - Config default value correct: params.igenomes_base= s3://ngi-igenomes/igenomes/
- nextflow_config - Config default value correct: params.aligner= bwa
- nextflow_config - Config default value correct: params.broad_cutoff= 0.1
- nextflow_config - Config default value correct: params.min_reps_consensus= 1
- nextflow_config - Config default value correct: params.deseq2_vst= true
- nextflow_config - Config default value correct: params.custom_config_version= master
- nextflow_config - Config default value correct: params.custom_config_base= https://raw.githubusercontent.com/nf-core/configs/master
- nextflow_config - Config default value correct: params.publish_dir_mode= copy
- nextflow_config - Config default value correct: params.fingerprint_bins= 500000
- nextflow_config - Config default value correct: params.max_multiqc_email_size= 25.MB
- nextflow_config - Config default value correct: params.validate_params= true
- nextflow_config - Config default value correct: params.pipelines_testdata_base_path= https://raw.githubusercontent.com/nf-core/test-datasets/
- nf_test_content - 'tests/skip_trimming.nf.test' contains
outdirparameter - nf_test_content - 'tests/skip_trimming.nf.test' snapshots a 'versions.yml' file
- nf_test_content - 'tests/skip_trimming.nf.test' snapshots a 'versions.yml' file
- nf_test_content - 'tests/skip_trimming.nf.test' contains
outdirparameter - nf_test_content - 'tests/bowtie2.nf.test' contains
outdirparameter - nf_test_content - 'tests/bowtie2.nf.test' snapshots a 'versions.yml' file
- nf_test_content - 'tests/bowtie2.nf.test' snapshots a 'versions.yml' file
- nf_test_content - 'tests/bowtie2.nf.test' contains
outdirparameter - nf_test_content - 'tests/star.nf.test' contains
outdirparameter - nf_test_content - 'tests/star.nf.test' snapshots a 'versions.yml' file
- nf_test_content - 'tests/star.nf.test' snapshots a 'versions.yml' file
- nf_test_content - 'tests/star.nf.test' contains
outdirparameter - nf_test_content - 'tests/chromap.nf.test' contains
outdirparameter - nf_test_content - 'tests/chromap.nf.test' snapshots a 'versions.yml' file
- nf_test_content - 'tests/chromap.nf.test' snapshots a 'versions.yml' file
- nf_test_content - 'tests/chromap.nf.test' contains
outdirparameter - nf_test_content - 'tests/default.nf.test' contains
outdirparameter - nf_test_content - 'tests/default.nf.test' snapshots a 'versions.yml' file
- nf_test_content - 'tests/default.nf.test' snapshots a 'versions.yml' file
- nf_test_content - 'tests/skip_consensus_peaks.nf.test' contains
outdirparameter - nf_test_content - 'tests/skip_consensus_peaks.nf.test' snapshots a 'versions.yml' file
- nf_test_content - 'tests/skip_consensus_peaks.nf.test' snapshots a 'versions.yml' file
- nf_test_content - 'tests/skip_consensus_peaks.nf.test' contains
outdirparameter - nf_test_content - 'tests/nextflow.config' contains
modules_testdata_base_path - nf_test_content - 'tests/nextflow.config' contains
pipelines_testdata_base_path - nf_test_content - 'nf-test.config' sets a
testsDir - nf_test_content - 'nf-test.config' sets a
workDir - nf_test_content - 'nf-test.config' sets a
configFile - files_unchanged -
.gitattributesmatches the template - files_unchanged -
.prettierrc.ymlmatches the template - files_unchanged -
CODE_OF_CONDUCT.mdmatches the template - files_unchanged -
LICENSEmatches the template - files_unchanged -
.github/.dockstore.ymlmatches the template - files_unchanged -
.github/CONTRIBUTING.mdmatches the template - files_unchanged -
.github/ISSUE_TEMPLATE/bug_report.ymlmatches the template - files_unchanged -
.github/ISSUE_TEMPLATE/config.ymlmatches the template - files_unchanged -
.github/ISSUE_TEMPLATE/feature_request.ymlmatches the template - files_unchanged -
.github/PULL_REQUEST_TEMPLATE.mdmatches the template - files_unchanged -
.github/workflows/branch.ymlmatches the template - files_unchanged -
.github/workflows/linting_comment.ymlmatches the template - files_unchanged -
.github/workflows/linting.ymlmatches the template - files_unchanged -
assets/email_template.htmlmatches the template - files_unchanged -
assets/email_template.txtmatches the template - files_unchanged -
assets/sendmail_template.txtmatches the template - files_unchanged -
assets/nf-core-chipseq_logo_light.pngmatches the template - files_unchanged -
docs/images/nf-core-chipseq_logo_light.pngmatches the template - files_unchanged -
docs/images/nf-core-chipseq_logo_dark.pngmatches the template - files_unchanged -
docs/README.mdmatches the template - files_unchanged -
.gitignorematches the template - files_unchanged -
.prettierignorematches the template - actions_nf_test - '.github/workflows/nf-test.yml' is triggered on expected events
- actions_nf_test - '.github/workflows/nf-test.yml' checks minimum NF version
- actions_awstest - '.github/workflows/awstest.yml' is triggered correctly
- actions_awsfulltest -
.github/workflows/awsfulltest.ymlis triggered correctly - actions_awsfulltest -
.github/workflows/awsfulltest.ymldoes not use-profile test - readme - README Nextflow minimum version badge matched config. Badge:
24.10.5, Config:24.10.5 - readme - README nf-core template version badge found.
- readme - README Zenodo placeholder was replaced with DOI.
- plugin_includes - No wrong validation plugin imports have been found
- pipeline_name_conventions - Name adheres to nf-core convention
- template_strings - Did not find any Jinja template strings (0 files)
- schema_lint - Schema lint passed
- schema_lint - Schema title + description lint passed
- schema_lint - Input mimetype lint passed: 'text/csv'
- schema_params - Schema matched params returned from nextflow config
- system_exit - No
System.exitcalls found - actions_schema_validation - Workflow validation passed: linting_comment.yml
- actions_schema_validation - Workflow validation passed: fix_linting.yml
- actions_schema_validation - Workflow validation passed: download_pipeline.yml
- actions_schema_validation - Workflow validation passed: awstest.yml
- actions_schema_validation - Workflow validation passed: awsfulltest.yml
- actions_schema_validation - Workflow validation passed: linting.yml
- actions_schema_validation - Workflow validation passed: template-version-comment.yml
- actions_schema_validation - Workflow validation passed: release-announcements.yml
- actions_schema_validation - Workflow validation passed: branch.yml
- actions_schema_validation - Workflow validation passed: clean-up.yml
- actions_schema_validation - Workflow validation passed: nf-test.yml
- merge_markers - No merge markers found in pipeline files
- modules_json - Only installed modules found in
modules.json - multiqc_config -
assets/multiqc_config.ymlfound and not ignored. - multiqc_config -
assets/multiqc_config.ymlcontainsreport_section_order - multiqc_config -
assets/multiqc_config.ymlcontainsexport_plots - multiqc_config -
assets/multiqc_config.ymlcontainsreport_comment - multiqc_config -
assets/multiqc_config.ymlfollows the ordering scheme of the minimally required plugins. - multiqc_config -
assets/multiqc_config.ymlcontains a matching 'report_comment'. - multiqc_config -
assets/multiqc_config.ymlcontains 'export_plots: true'. - modules_structure - modules directory structure is correct 'modules/nf-core/TOOL/SUBTOOL'
- base_config -
conf/base.configfound and not ignored. - modules_config -
conf/modules.configfound and not ignored. - modules_config -
KHMER_UNIQUEKMERSfound inconf/modules.configand Nextflow scripts. - modules_config -
GUNZIP_found inconf/modules.configand Nextflow scripts. - modules_config -
UNTAR_found inconf/modules.configand Nextflow scripts. - modules_config -
BWA_INDEXfound inconf/modules.configand Nextflow scripts. - modules_config -
GFFREADfound inconf/modules.configand Nextflow scripts. - modules_config -
GTF2BEDfound inconf/modules.configand Nextflow scripts. - modules_config -
CUSTOM_GETCHROMSIZESfound inconf/modules.configand Nextflow scripts. - modules_config -
GENOME_BLACKLIST_REGIONSfound inconf/modules.configand Nextflow scripts. - modules_config -
FASTQCfound inconf/modules.configand Nextflow scripts. - modules_config -
TRIMGALOREfound inconf/modules.configand Nextflow scripts. - modules_config -
NFCORE_CHIPSEQfound inconf/modules.configand Nextflow scripts. - modules_config -
NFCORE_CHIPSEQfound inconf/modules.configand Nextflow scripts. - modules_config -
NFCORE_CHIPSEQfound inconf/modules.configand Nextflow scripts. - modules_config -
BWA_MEMfound inconf/modules.configand Nextflow scripts. - modules_config -
BOWTIE2_ALIGNfound inconf/modules.configand Nextflow scripts. - modules_config -
CHROMAP_INDEXfound inconf/modules.configand Nextflow scripts. - modules_config -
CHROMAP_CHROMAPfound inconf/modules.configand Nextflow scripts. - modules_config -
PICARD_MERGESAMFILESfound inconf/modules.configand Nextflow scripts. - modules_config -
BAMTOOLS_FILTERfound inconf/modules.configand Nextflow scripts. - modules_config -
NFCORE_CHIPSEQfound inconf/modules.configand Nextflow scripts. - modules_config -
NFCORE_CHIPSEQfound inconf/modules.configand Nextflow scripts. - modules_config -
NFCORE_CHIPSEQfound inconf/modules.configand Nextflow scripts. - modules_config -
BAM_REMOVE_ORPHANSfound inconf/modules.configand Nextflow scripts. - modules_config -
PHANTOMPEAKQUALTOOLSfound inconf/modules.configand Nextflow scripts. - modules_config -
MULTIQC_CUSTOM_PHANTOMPEAKQUALTOOLSfound inconf/modules.configand Nextflow scripts. - modules_config -
PICARD_COLLECTMULTIPLEMETRICSfound inconf/modules.configand Nextflow scripts. - modules_config -
PRESEQ_LCEXTRAPfound inconf/modules.configand Nextflow scripts. - modules_config -
DEEPTOOLS_COMPUTEMATRIXfound inconf/modules.configand Nextflow scripts. - modules_config -
DEEPTOOLS_PLOTPROFILEfound inconf/modules.configand Nextflow scripts. - modules_config -
DEEPTOOLS_PLOTHEATMAPfound inconf/modules.configand Nextflow scripts. - modules_config -
DEEPTOOLS_PLOTFINGERPRINTfound inconf/modules.configand Nextflow scripts. - modules_config -
MACS3_CALLPEAKfound inconf/modules.configand Nextflow scripts. - modules_config -
FRIP_SCOREfound inconf/modules.configand Nextflow scripts. - modules_config -
MULTIQC_CUSTOM_PEAKSfound inconf/modules.configand Nextflow scripts. - modules_config -
PLOT_MACS3_QCfound inconf/modules.configand Nextflow scripts. - modules_config -
PLOT_HOMER_ANNOTATEPEAKSfound inconf/modules.configand Nextflow scripts. - modules_config -
MACS3_CONSENSUSfound inconf/modules.configand Nextflow scripts. - modules_config -
SUBREAD_FEATURECOUNTSfound inconf/modules.configand Nextflow scripts. - modules_config -
ANNOTATE_BOOLEAN_PEAKSfound inconf/modules.configand Nextflow scripts. - modules_config -
DESEQ2_QCfound inconf/modules.configand Nextflow scripts. - modules_config -
IGVfound inconf/modules.configand Nextflow scripts. - modules_config -
MULTIQCfound inconf/modules.configand Nextflow scripts. - nfcore_yml - Repository type in
.nf-core.ymlis valid:pipeline - nfcore_yml - nf-core version in
.nf-core.ymlis set to the latest version:3.3.2 - rocrate_readme_sync - RO-Crate descriptions are in sync with
README.md.
Run details
- nf-core/tools version 3.3.2
- Run at
2025-09-19 14:59:59