Corpus Engine Towards a reproducible .science file.
← All .science files

pmid:35896971

Canary: an automated tool for the conversion of MaCH imputed dosage files to PLINK files.

Adam N Bennett · Jethro Rainford · Xiaotai Huang · Qian He · Kei Hang Katie Chan

BMC bioinformatics · 2022 doi:10.1186/s12859-022-04822-8

Paper

complete

Experiment

partial

Data

partial

Analysis

complete

Execution

absent

Execution evidence has not yet been added to this .science file. Explore its methods, data and open questions to plan the next step.
Record details sci_version · id · kind · revision · content_hash · schema · created_at · updated_at · generator
id
pmid:35896971
kind
science-record
content_hash
sha256:81760fcb73e0d31f7c11768757965bd8d7d55879d69049cacb84845aff61429a
schema
https://corpus.bntrg.co.uk/sci/1.0/sci.schema.json
created_at
2026-11-01T18:14:59Z
updated_at
2026-11-01T21:28:30Z
generator object · 2 fields
name
corpus-assay-engine
run_id
reading-sci-2026-11-01
paper object · 10 fields
state
complete
title
Canary: an automated tool for the conversion of MaCH imputed dosage files to PLINK files.
doi
10.1186/s12859-022-04822-8
pmid
35896971
authors array · 5 items
[0]
Adam N Bennett
[1]
Jethro Rainford
[2]
Xiaotai Huang
[3]
Qian He
[4]
Kei Hang Katie Chan
journal
BMC bioinformatics
year
2022
abstract
BACKGROUND: Previous studies have demonstrated the value of re-analysing publicly available genetics data with recent analytical approaches. Publicly available datasets, such as the Women's Health Initiative (WHI) offered by the database of genotypes and phenotypes (dbGaP), provide a wealthy resource for researchers to perform multiple analyses, including Genome-Wide Association Studies. Often, the genetic information of individuals in these datasets are stored in imputed dosage files output by MaCH; mldose and mlinfo files. In order for researchers to perform GWAS studies with this data, they must first be converted to a file format compatible with their tool of choice e.g., PLINK. Currently, there is no published tool which easily converts the datasets provided in MACH dosage files into PLINK-ready files. RESULTS: Herein, we present Canary a singularity-based tool which converts MaCH dosage files into PLINK-compatible files with a single line of user input at the command line. Further, we provide a detailed tutorial on preparation of phenotype files. Moreover, Canary comes with preinstalled software often used during GWAS studies, to further increase the ease-of-use of HPC systems for researchers. CONCLUSIONS: Until now, conversion of imputed data in the form of MaCH mldose and mlinfo files needed to be completed manually. Canary uses singularity container technology to allow users to automatically convert these MaCH files into PLINK compatible files. Additionally, Canary provides researchers with a platform to conduct GWAS analysis more easily as it contains essential software needed for conducting GWAS studies, such as PLINK and Bioconductor. We hope that this tool will greatly increase the ease at which researchers can perform GWAS with imputed data, particularly on HPC environments.
claims array · 1 item
[0] object · 6 fields
id
claim-data-access
statement
Canary along with detailed instructions can be found at https://github.com/anb94/Canary. This tool is a singularity container and therefore requires singularity installed locally. The conversion tool is written in Shell. The dataset used as an example herein is the Women's Health Initiative Clinical Trial and Observational Study. The study data can be downloaded from the dbGaP web site, under phs000200.v12.p3 (https://www.ncbi.nlm.nih.gov/projects/gap/cgi-bin/study.cgi?study_id=phs000200.v12.p3), if granted approval. The most recent version of Canary can be found on GitHub at https://github.com/anb94/Canary. The archived version referenced in the manuscript can be found on GitHub at https://github.com/anb94/Canary/tree/canary_archive.
kind
methodological
target
null
evidence array · 1 item
[0] object · 3 fields
asset
source:pmid:35896971
locator
sections[16] "Availability of data and materials" paragraph 2
quote
Canary along with detailed instructions can be found at https://github.com/anb94/Canary. This tool is a singularity container and therefore requires singularity installed locally. The conversion tool is written in Shell. The dataset used as an example herein is the Women's Health Initiative Clinical Trial and Observational Study. The study data can be downloaded from the dbGaP web site, under phs000200.v12.p3 (https://www.ncbi.nlm.nih.gov/projects/gap/cgi-bin/study.cgi?study_id=phs000200.v12.p3), if granted approval. The most recent version of Canary can be found on GitHub at https://github.com/anb94/Canary. The archived version referenced in the manuscript can be found on GitHub at https://github.com/anb94/Canary/tree/canary_archive.
state
complete
gaps array · 0 items
experiment object · 8 fields
state
partial
steps array · 3 items
[0] object · 13 fields
id
read_published_estimate
order
1
name
Read the published estimate from the source
kind
other
state
complete
blocked_on
null
description
The claim, method and evidence span published with the source article.
parameters object · 0 fields
inputs array · 1 item
[0]
source:pmid:35896971
outputs array · 1 item
[0]
the published estimate and its evidence
instruments array · 0 items
reagents array · 0 items
[1] object · 13 fields
id
obtain_source_data
order
2
name
Obtain the source data from the named repository
kind
data-preparation
state
blocked
blocked_on
data:accession_absent
description
The GEO series accession resolves and its sample accessions are listed. This lane did not download the dataset or read its licence.
parameters object · 0 fields
inputs array · 0 items
outputs array · 1 item
[0]
the source data with its repository provenance
instruments array · 0 items
reagents array · 0 items
[2] object · 13 fields
id
run_analysis
order
3
name
Run the published analysis
kind
analysis
state
complete
blocked_on
null
description
Apply the paper's statistical method to the resolved series and compare the result with the published target.
parameters object · 0 fields
inputs array · 0 items
outputs array · 1 item
[0]
the replicated result and its comparison
instruments array · 0 items
reagents array · 0 items
materials array · 0 items
instruments array · 0 items
reagents array · 0 items
conditions object · 0 fields
gaps array · 1 item
[0]
step:obtain_source_data blocked on data:accession_absent
data object · 3 fields
state
partial
assets array · 1 item
[0] object · 15 fields
id
source:pmid:35896971
role
manuscript
format
xml
media_type
application/xml
uri
https://doi.org/10.1186/s12859-022-04822-8
sha256
sha256:aa250d77be4c720b5c7120af6ee5ffd101f4f55d2cae3b2ce6ddcbbb33797349
bytes
30388
access
open
state
resolved
reader
null
reader_status
reader_required
identifier
10.1186/s12859-022-04822-8
version
null
note
Full article fetched from PMC; the checksum covers the rendered section body, not the original XML bytes.
structure object · 4 fields
pmcid
PMC9327220
source
europe_pmc_fulltext
coverage
whole_body
text_hash_scope
rendered_section_body
gaps array · 0 items
analysis object · 4 fields
state
complete
methods array · 1 item
[0] object · 10 fields
id
method-1
family
genetic_association
specific
gwas
label
Genetic association (GWAS / linkage / MR)
dsl_operations array · 1 item
[0]
gwas_locus_scan
missing_operations array · 0 items
parameters object · 0 fields
data_shapes array · 1 item
[0]
genotype_phenotype_table
evidence object · 3 fields
score
0.7
band
medium
quote
Genome-Wide Association Studies
targets array · 0 items
gaps array · 0 items
capability object · 3 fields
state
complete
requirements array · 1 item
[0] object · 6 fields
capability_id
capability:computational_analysis
label
Computational analysis platform
assay_families array · 9 items
[0]
meta_analysis
[1]
machine_learning
[2]
survival_analysis
[3]
statistical_regression
[4]
pca
[5]
molecular_docking
[6]
network_analysis
[7]
differential_expression
[8]
gwas
candidate
Automated Assays Laravel application and simulated adapters
gaps array · 0 items
readiness object · 8 fields
state
blocked
tier
R4
blocked_on
data:accession_absent
axes object · 3 fields
method object · 5 fields
tier
R1
expressible
true
required_operations array · 1 item
[0]
gwas_locus_scan
missing_operations array · 0 items
basis
The paper names the method it used and the corpus's method extractor maps it onto the DSL catalogue: gwas.
capability object · 4 fields
tier
R1
capability_id
capability:computational_analysis
availability_state
owned
basis
The computational analysis is owned. The physical bench the paper used is not, so a physical validation cannot be run here.
data object · 6 fields
tier
R4
reachable
false
accessions array · 0 items
resolved_accessions array · 0 items
statements array · 1 item
[0]
Canary along with detailed instructions can be found at https://github.com/anb94/Canary. This tool is a singularity container and therefore requires singularity installed locally. The conversion tool is written in Shell. The dataset used as an example herein is the Women's Health Initiative Clinical Trial and Observational Study. The study data can be downloaded from the dbGaP web site, under phs000200.v12.p3 (https://www.ncbi.nlm.nih.gov/projects/gap/cgi-bin/study.cgi?study_id=phs000200.v12.p3), if granted approval. The most recent version of Canary can be found on GitHub at https://github.com/anb94/Canary. The archived version referenced in the manuscript can be found on GitHub at https://github.com/anb94/Canary/tree/canary_archive.
basis
The paper names no accession to its source data, so the data has to come from the authors.
can_run object · 3 fields
dsl_operations array · 1 item
[0]
gwas_locus_scan
assets array · 1 item
[0]
source:pmid:35896971
steps array · 1 item
[0]
run_analysis
must_build object · 5 fields
dsl_operations array · 0 items
converters array · 0 items
readers array · 0 items
capabilities array · 0 items
data_gaps array · 1 item
[0]
data:geo:None
gaps array · 1 item
[0]
data:accession_absent
review object · 5 fields
state
partial
machine_critique object · 5 fields
kind
extraction_review
reader object · 5 fields
model
MiniMax-M3.1-Flash
provider
minimax
provider_family
minimax
read_at
2026-11-01T17:57:26Z
independence
single_reader
evidence_check object · 2 fields
method
null
availability
verbatim
calls
5
usage object · 3 fields
prompt_tokens
8952
completion_tokens
1407
cached_tokens
264
stages array · 1 item
[0] object · 4 fields
id
extraction
state
complete
reader
MiniMax-M3.1-Flash
provider
minimax
gaps array · 3 items
[0]
review.independent_reader
[1]
review.machine_critique
[2]
review.human_critique
execution object · 5 fields
state
absent
status
not_run
mode
null
runs array · 0 items
gaps array · 1 item
[0]
execution.not_run
provenance object · 7 fields
entities array · 3 items
[0] object · 3 fields
id
pmid:35896971
type
paper
label
pmid:35896971
[1] object · 3 fields
id
source:pmid:35896971
type
manuscript
label
PMID 35896971 full text
[2] object · 3 fields
id
data:geo:None
type
dataset
label
GEO None
activities array · 3 items
[0] object · 4 fields
id
activity-reading-sci-2026-11-01
type
classification
used array · 3 items
[0] object · 3 fields
id
pmid:35896971
type
paper
label
pmid:35896971
[1] object · 3 fields
id
source:pmid:35896971
type
manuscript
label
PMID 35896971 full text
[2] object · 3 fields
id
data:geo:None
type
dataset
label
GEO None
agent
agent:corpus-assay-engine
[1] object · 4 fields
id
activity-read-35896971
type
extraction
used array · 1 item
[0]
source:pmid:35896971
agent
agent:minimax-reader
[2] object · 4 fields
id
activity-resolve-None
type
accession_resolution
used array · 1 item
[0]
data:geo:None
agent
agent:corpus-assay-engine
agents array · 2 items
[0] object · 3 fields
id
agent:corpus-assay-engine
type
software
label
Corpus assay engine
[1] object · 3 fields
id
agent:minimax-reader
type
software
label
MiniMax literature reader
source_run_id
reading-sci-2026-11-01
dsl_catalogue_fingerprint
343fb30756ba6ec3
capability_table_fingerprint
2cb3e42f047d2ecf
snapshot_id
ba34b49490d9bfaf
lineage object · 4 fields
parent_id
pmid:35896971
parent_hash
sha256:4cbfef24d35efbba41b3d70ce57ed0fc0c75e29ea485c2650e4af868ecaa822b
fork_of
null
gaps array · 5 items
[0]
execution.not_run
[1]
review.human_critique
[2]
review.independent_reader
[3]
review.machine_critique
[4]
step:obtain_source_data blocked on data:accession_absent
assays array · 1 item
[0] object · 11 fields
role
analysis
definition_id
genetic_association
definition_version
f2132e96ae6c7a4e
required_operations array · 1 item
[0]
gwas_locus_scan
support_state
supported
source_hashes object · 1 field
dsl_catalogue
f2132e96ae6c7a4e
evidence array · 1 item
[0]
Genome-Wide Association Studies
order_basis
analysis_only
id
assay:1
Complete file
{"sci_version": "1.2", "schema": "https://corpus.bntrg.co.uk/sci/1.0/sci.schema.json", "id": "pmid:35896971", "kind": "science-record", "revision": 3, "content_hash": "sha256:81760fcb73e0d31f7c11768757965bd8d7d55879d69049cacb84845aff61429a", "created_at": "2026-11-01T18:14:59Z", "updated_at": "2026-11-01T21:28:30Z", "generator": {"name": "corpus-assay-engine", "run_id": "reading-sci-2026-11-01"}, "paper": {"state": "complete", "title": "Canary: an automated tool for the conversion of MaCH imputed dosage files to PLINK files.", "doi": "10.1186/s12859-022-04822-8", "pmid": "35896971", "authors": ["Adam N Bennett", "Jethro Rainford", "Xiaotai Huang", "Qian He", "Kei Hang Katie Chan"], "journal": "BMC bioinformatics", "year": 2022, "abstract": "BACKGROUND: Previous studies have demonstrated the value of re-analysing publicly available genetics data with recent analytical approaches. Publicly available datasets, such as the Women's Health Initiative (WHI) offered by the database of genotypes and phenotypes (dbGaP), provide a wealthy resource for researchers to perform multiple analyses, including Genome-Wide Association Studies. Often, the genetic information of individuals in these datasets are stored in imputed dosage files output by MaCH; mldose and mlinfo files. In order for researchers to perform GWAS studies with this data, they must first be converted to a file format compatible with their tool of choice e.g., PLINK. Currently, there is no published tool which easily converts the datasets provided in MACH dosage files into PLINK-ready files.\nRESULTS: Herein, we present Canary a singularity-based tool which converts MaCH dosage files into PLINK-compatible files with a single line of user input at the command line. Further, we provide a detailed tutorial on preparation of phenotype files. Moreover, Canary comes with preinstalled software often used during GWAS studies, to further increase the ease-of-use of HPC systems for researchers.\nCONCLUSIONS: Until now, conversion of imputed data in the form of MaCH mldose and mlinfo files needed to be completed manually. Canary uses singularity container technology to allow users to automatically convert these MaCH files into PLINK compatible files. Additionally, Canary provides researchers with a platform to conduct GWAS analysis more easily as it contains essential software needed for conducting GWAS studies, such as PLINK and Bioconductor. We hope that this tool will greatly increase the ease at which researchers can perform GWAS with imputed data, particularly on HPC environments.", "claims": [{"id": "claim-data-access", "statement": "Canary along with detailed instructions can be found at https://github.com/anb94/Canary. This tool is a singularity container and therefore requires singularity installed locally. The conversion tool is written in Shell. The dataset used as an example herein is the Women's Health Initiative Clinical Trial and Observational Study. The study data can be downloaded from the dbGaP web site, under phs000200.v12.p3 (https://www.ncbi.nlm.nih.gov/projects/gap/cgi-bin/study.cgi?study_id=phs000200.v12.p3), if granted approval. The most recent version of Canary can be found on GitHub at https://github.com/anb94/Canary. The archived version referenced in the manuscript can be found on GitHub at https://github.com/anb94/Canary/tree/canary_archive.", "kind": "methodological", "target": null, "evidence": [{"asset": "source:pmid:35896971", "locator": "sections[16] \"Availability of data and materials\" paragraph 2", "quote": "Canary along with detailed instructions can be found at https://github.com/anb94/Canary. This tool is a singularity container and therefore requires singularity installed locally. The conversion tool is written in Shell. The dataset used as an example herein is the Women's Health Initiative Clinical Trial and Observational Study. The study data can be downloaded from the dbGaP web site, under phs000200.v12.p3 (https://www.ncbi.nlm.nih.gov/projects/gap/cgi-bin/study.cgi?study_id=phs000200.v12.p3), if granted approval. The most recent version of Canary can be found on GitHub at https://github.com/anb94/Canary. The archived version referenced in the manuscript can be found on GitHub at https://github.com/anb94/Canary/tree/canary_archive."}], "state": "complete"}], "gaps": []}, "experiment": {"state": "partial", "objective": "", "steps": [{"id": "read_published_estimate", "order": 1, "name": "Read the published estimate from the source", "kind": "other", "state": "complete", "blocked_on": null, "description": "The claim, method and evidence span published with the source article.", "duration_hours": null, "parameters": {}, "inputs": ["source:pmid:35896971"], "outputs": ["the published estimate and its evidence"], "instruments": [], "reagents": []}, {"id": "obtain_source_data", "order": 2, "name": "Obtain the source data from the named repository", "kind": "data-preparation", "state": "blocked", "blocked_on": "data:accession_absent", "description": "The GEO series accession resolves and its sample accessions are listed. This lane did not download the dataset or read its licence.", "duration_hours": null, "parameters": {}, "inputs": [], "outputs": ["the source data with its repository provenance"], "instruments": [], "reagents": []}, {"id": "run_analysis", "order": 3, "name": "Run the published analysis", "kind": "analysis", "state": "complete", "blocked_on": null, "description": "Apply the paper's statistical method to the resolved series and compare the result with the published target.", "duration_hours": null, "parameters": {}, "inputs": [], "outputs": ["the replicated result and its comparison"], "instruments": [], "reagents": []}], "materials": [], "instruments": [], "reagents": [], "conditions": {}, "gaps": ["step:obtain_source_data blocked on data:accession_absent"]}, "data": {"state": "partial", "assets": [{"id": "source:pmid:35896971", "role": "manuscript", "format": "xml", "media_type": "application/xml", "uri": "https://doi.org/10.1186/s12859-022-04822-8", "sha256": "sha256:aa250d77be4c720b5c7120af6ee5ffd101f4f55d2cae3b2ce6ddcbbb33797349", "bytes": 30388, "access": "open", "state": "resolved", "reader": null, "reader_status": "reader_required", "identifier": "10.1186/s12859-022-04822-8", "version": null, "note": "Full article fetched from PMC; the checksum covers the rendered section body, not the original XML bytes.", "structure": {"pmcid": "PMC9327220", "source": "europe_pmc_fulltext", "coverage": "whole_body", "text_hash_scope": "rendered_section_body"}}], "gaps": []}, "analysis": {"state": "complete", "methods": [{"id": "method-1", "family": "genetic_association", "specific": "gwas", "label": "Genetic association (GWAS / linkage / MR)", "dsl_operations": ["gwas_locus_scan"], "missing_operations": [], "expressible": true, "parameters": {}, "data_shapes": ["genotype_phenotype_table"], "evidence": {"score": 0.7, "band": "medium", "quote": "Genome-Wide Association Studies"}}], "targets": [], "gaps": []}, "capability": {"state": "complete", "requirements": [{"capability_id": "capability:computational_analysis", "label": "Computational analysis platform", "assay_families": ["meta_analysis", "machine_learning", "survival_analysis", "statistical_regression", "pca", "molecular_docking", "network_analysis", "differential_expression", "gwas"], "availability_state": "owned", "tier_unlocked": "R1", "candidate": "Automated Assays Laravel application and simulated adapters"}], "gaps": []}, "readiness": {"state": "blocked", "tier": "R4", "blocking_axis": "data", "blocked_on": "data:accession_absent", "axes": {"method": {"tier": "R1", "expressible": true, "required_operations": ["gwas_locus_scan"], "missing_operations": [], "basis": "The paper names the method it used and the corpus's method extractor maps it onto the DSL catalogue: gwas."}, "capability": {"tier": "R1", "capability_id": "capability:computational_analysis", "availability_state": "owned", "basis": "The computational analysis is owned. The physical bench the paper used is not, so a physical validation cannot be run here."}, "data": {"tier": "R4", "reachable": false, "accessions": [], "resolved_accessions": [], "statements": ["Canary along with detailed instructions can be found at https://github.com/anb94/Canary. This tool is a singularity container and therefore requires singularity installed locally. The conversion tool is written in Shell. The dataset used as an example herein is the Women's Health Initiative Clinical Trial and Observational Study. The study data can be downloaded from the dbGaP web site, under phs000200.v12.p3 (https://www.ncbi.nlm.nih.gov/projects/gap/cgi-bin/study.cgi?study_id=phs000200.v12.p3), if granted approval. The most recent version of Canary can be found on GitHub at https://github.com/anb94/Canary. The archived version referenced in the manuscript can be found on GitHub at https://github.com/anb94/Canary/tree/canary_archive."], "basis": "The paper names no accession to its source data, so the data has to come from the authors."}}, "can_run": {"dsl_operations": ["gwas_locus_scan"], "assets": ["source:pmid:35896971"], "steps": ["run_analysis"]}, "must_build": {"dsl_operations": [], "converters": [], "readers": [], "capabilities": [], "data_gaps": ["data:geo:None"]}, "gaps": ["data:accession_absent"]}, "review": {"state": "partial", "machine_critique": {"kind": "extraction_review", "reader": {"model": "MiniMax-M3.1-Flash", "provider": "minimax", "provider_family": "minimax", "read_at": "2026-11-01T17:57:26Z", "independence": "single_reader"}, "evidence_check": {"method": null, "availability": "verbatim"}, "calls": 5, "usage": {"prompt_tokens": 8952, "completion_tokens": 1407, "cached_tokens": 264}}, "human_critique": null, "stages": [{"id": "extraction", "state": "complete", "reader": "MiniMax-M3.1-Flash", "provider": "minimax"}], "gaps": ["review.independent_reader", "review.machine_critique", "review.human_critique"]}, "execution": {"state": "absent", "status": "not_run", "mode": null, "runs": [], "gaps": ["execution.not_run"]}, "provenance": {"entities": [{"id": "pmid:35896971", "type": "paper", "label": "pmid:35896971"}, {"id": "source:pmid:35896971", "type": "manuscript", "label": "PMID 35896971 full text"}, {"id": "data:geo:None", "type": "dataset", "label": "GEO None"}], "activities": [{"id": "activity-reading-sci-2026-11-01", "type": "classification", "used": [{"id": "pmid:35896971", "type": "paper", "label": "pmid:35896971"}, {"id": "source:pmid:35896971", "type": "manuscript", "label": "PMID 35896971 full text"}, {"id": "data:geo:None", "type": "dataset", "label": "GEO None"}], "agent": "agent:corpus-assay-engine"}, {"id": "activity-read-35896971", "type": "extraction", "used": ["source:pmid:35896971"], "agent": "agent:minimax-reader"}, {"id": "activity-resolve-None", "type": "accession_resolution", "used": ["data:geo:None"], "agent": "agent:corpus-assay-engine"}], "agents": [{"id": "agent:corpus-assay-engine", "type": "software", "label": "Corpus assay engine"}, {"id": "agent:minimax-reader", "type": "software", "label": "MiniMax literature reader"}], "source_run_id": "reading-sci-2026-11-01", "dsl_catalogue_fingerprint": "343fb30756ba6ec3", "capability_table_fingerprint": "2cb3e42f047d2ecf", "snapshot_id": "ba34b49490d9bfaf"}, "lineage": {"parent_id": "pmid:35896971", "parent_hash": "sha256:4cbfef24d35efbba41b3d70ce57ed0fc0c75e29ea485c2650e4af868ecaa822b", "fork_of": null, "generation": 2}, "gaps": ["execution.not_run", "review.human_critique", "review.independent_reader", "review.machine_critique", "step:obtain_source_data blocked on data:accession_absent"], "assays": [{"role": "analysis", "definition_id": "genetic_association", "definition_version": "f2132e96ae6c7a4e", "definition_digest": null, "required_operations": ["gwas_locus_scan"], "support_state": "supported", "source_hashes": {"dsl_catalogue": "f2132e96ae6c7a4e"}, "confidence": 0.7, "evidence": ["Genome-Wide Association Studies"], "order_basis": "analysis_only", "id": "assay:1"}]}