abotyper
A pipeline for characterising the Human Blood Group and Red Cell Antigens using Oxford Nanopore third-generation sequencing data.
Science Score: 49.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 7 DOI reference(s) in README -
✓Academic publication links
Links to: ncbi.nlm.nih.gov -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (9.1%) to scientific vocabulary
Keywords
Repository
A pipeline for characterising the Human Blood Group and Red Cell Antigens using Oxford Nanopore third-generation sequencing data.
Basic Info
- Host: GitHub
- Owner: nf-core
- License: mit
- Language: Nextflow
- Default Branch: dev
- Homepage: https://nf-co.re/abotyper
- Size: 1.64 MB
Statistics
- Stars: 0
- Watchers: 209
- Forks: 1
- Open Issues: 1
- Releases: 0
Topics
Metadata Files
README.md
ABO blood typing using Oxford Nanopore MinION sequencing
nf-core/abotyper is a bioinformatics pipeline that analyses data obtained from Third Generation Sequencing of the Homo sapiens ABO, alpha 1-3-N-acetylgalactosaminyltransferase and alpha 1-3-galactosyltransferase (ABO) gene to deduce the ABO blood type.
It takes a samplesheet and FASTQ files as input, performs quality control (QC), mapping to the reference sequences, variant characterisation, and finally deduce the Blood Group Statistics based on known ABO-related Single nucleotide variants (SVNs).

ABO sequences were acquired from the NCBI RefSeq and dbRBC databases:
Pipeline steps
The pipeline performs the following analysis steps:
- Reference indexing - Convert FASTA index files (FAI) to BED format for ABO exon 6 and 7 regions (
MAKEINDEX) - Read quality control - Quality assessment of input FASTQ files using FastQC (
FASTQC) - Read alignment - Align reads to ABO exon reference sequences using Minimap2 with metadata-driven exon mapping (
MINIMAP2_ALIGN) - Alignment statistics - Generate comprehensive alignment metrics including coverage, flagstat, and detailed statistics:
- Coverage analysis (
SAMTOOLS_COVERAGE) - Flagstat metrics (
SAMTOOLS_FLAGSTAT) - Detailed statistics (
SAMTOOLS_STATS)
- Coverage analysis (
- Variant calling - Generate pileup files for variant detection at polymorphic positions (
SAMTOOLS_MPILEUP) - Nucleotide frequency analysis - Calculate nucleotide frequencies at ABO-relevant polymorphic positions (
MPILEUP_NUCL_FREQ) - SNP extraction - Extract and analyze ABO-relevant single nucleotide variants from frequency data (
GETABOSNPS) - Phenotype prediction - Predict ABO blood group phenotype from combined SNP patterns across exons (
ABOSNPS2PHENO) - Quality control reporting - Compile comprehensive QC report with alignment and variant metrics (
MULTIQC)
Exon 7 CDS reference sequence was truncated at 817 bp as this captures the targeted SNVs within the exon and UTR's
Core dependencies
The pipeline makes use of the following core dependencies:
yaml
- bwa
- fastqc
- minimap2
- multiqc (v1.28 prefered for now)
- samtools
- biopython
- python>=3.8
- pip
- pip:
- pandas>=2.2.0
- Bio>=1.6.0
- ncurses
- openpyxl>=3.1.0
- XlsxWriter>=3.2.0
Required input files structure
Ensure that all input fastq files have a naming convention that matches this regular expression (regex)
```python
python regex for matching samples
pattern = r"^(IMM|INGS|NGS|[A-Z0-9]+)(-[0-9]+-[0-9]+)?_barcode\d+$" ```
The regex does the following:
^(IMM|INGS|NGS|[A-Z0-9]+)allows for files strating with the prefixes IMM, INGS, NGS, or any combination of lettersA-to-Zand digits0-to-9.(-[0-9]+-[0-9]+)?handles optional segments of digits separated by a dash(-)._barcode\d+$ensures the filename ends with_barcode followed by digits to denote barcode numbers.
There is a file handling logic in the code filename.split("_") that assumes the barcode is always the last part of the filename.
The names are split into basename and barcode which are then used in later reporting.
Please Adjust this if necessary based on actual filename structure in your assays.
Here are a few examples of acceptable input file names:
txt
NGSPOS_barcode13.fastq
NGSNEG_barcode12.fastq
INGSPOS_barcode01.fastq
INGSNEG_barcode96.fastq
BTGSPOS_barcode19.fastq
2025705_barcode14.fastq
IMM-45-44874_barcode25.fastq
Sample1-2024-12345_barcode22.fastq
Platform compatibility
This pipeline was originally developed to process amplicon sequencing data from Oxford Nanopore Technologies platforms where multiple samples are expected to be barcoded. The pipeline has been extensively validated using Oxford Nanopore MinION data targeting ABO exons 6 and 7, which are the primary regions containing clinically relevant polymorphisms for ABO blood group determination.
While we recommend using the above naming convention for optimal compatibility, the pipeline can also handle FASTQ files from other sequencing platforms including:
- PacBio (currently undergoing testing)
- Ion Torrent (currently undergoing testing)
- Illumina (currently undergoing testing)
The pipeline will attempt to extract the sample name and barcode from the filenames using standard genomic sequence naming conventions, but will fall back to a default barcode00 if filenames lack the expected barcode format. For non-Nanopore platforms, ensure your FASTQ files contain reads spanning the ABO exon 6 and exon 7 regions for accurate genotyping.
Running nf-core/abotyper
This pipeline has been extensively tested using conda, docker, and singularity profiles. Other containerisation methods are being improved,tested and documented.
To run this pipeline, use:
bash
nextflow run nf-core/abotyper \
-resume \
-profile "<conda/docker/singularity>" \
--input samplesheet.csv \
--outdir "$PWD/OUTDIR"
Once improved, other workload managers and containerisation environments could be used in a similar manner:
bash
nextflow nf-core/abotyper \
-resume \
-profile <docker/singularity/.../institute> \
--input samplesheet.csv \
--outdir <OUTDIR>
Renaming samples
The code by permits renaming of samples using a tab-delimited file with sequencingID and sampleName (see nextflow.config file under $params.renaming_file).
This option is controlled by the parameter $params.skip_renaming and can be overridden via the commandline using option --skip_renaming true to skip the process.
Output
For each sample and each of exon6 and exon7, the pipeline will generate BAM files, BAM metrics, and PILEUP results.
The output directory generated by this Nextflow pipeline will look something like this:
OUTDIR/
ABO_results.log
ABO_result.txt
ABO_result.xlsx
final_export.csv
per_sample_processing
SAMPLE1_barcode01
exon6
ABOReadPolymorphisms.txt
alignment
SAMPLE1_barcode01.bam
SAMPLE1_barcode01.bam.bai
SAMPLE1_barcode01.coverage.txt
SAMPLE1_barcode01.flagstat
SAMPLE1_barcode01.stats
SAMPLE1_barcode01.ABOPhenotype.txt
SAMPLE1_barcode01.AlignmentStatistics.tsv
SAMPLE1_barcode01.log.txt
mpileup
SAMPLE1_barcode01.mpileup.gz
exon7
ABOReadPolymorphisms.txt
alignment
SAMPLE1_barcode01.bam
SAMPLE1_barcode01.bam.bai
SAMPLE1_barcode01.coverage.txt
SAMPLE1_barcode01.flagstat
SAMPLE1_barcode01.stats
SAMPLE1_barcode01.ABOPhenotype.txt
SAMPLE1_barcode01.AlignmentStatistics.tsv
SAMPLE1_barcode01.log.txt
mpileup
SAMPLE1_barcode01.mpileup.gz
pipeline_info
execution_report_DATETIME.html
execution_timeline_DATETIME.html
execution_trace_DATETIME.txt
nf_core_pipeline_software_mqc_versions.yml
params_DATETIME.json
pipeline_dag_DATETIME.html
qc-reports
fastqc
SAMPLE1_barcode01_fastqc.html
SAMPLE1_barcode01_fastqc.zip
multiqc
multiqc_data
multiqc_plots
pdf
png
svg
multiqc_report.html
The ABO_result.xlsx Excel worksheet contains details of all SNVs and metrics used to deduce the ABO phenotype for each sample.
A summary of the ABO typing results is provided in final_export.csv
Feel free to raise an issue or reach out if you need any support getting this tool running, or with suggestions for improvement.
Credits
nf-core/abotyper was originally written by Fredrick M. Mobegi: @fmobegi at the Department of Clinical Immunology, PathWest Laboratory Medicine WA.
We thank the following people for their extensive assistance in the development and testing of this pipeline:
Maintenance and future developements will be led by Fredrick Mobegi.
Acknowledgements
Contributions and Support
If you would like to contribute to this pipeline, please see the contributing guidelines.
For further information or help, don't hesitate to get in touch on the Slack #abotyper channel (you can join with this invite).
Further reading
Results generated from this pipeline should be interpreted together with the corresponding publication and literature on ABO genotyping.
To get up to speed with ABO genotyping, there is detailed reading material here.
Verified SNVs relevant to ABO blood group genotyping have also been documented extensively here
Citations
If you use nf-core/abotyper for your analysis, please cite it using the following publication:
Characterisation of the ABO Blood Group Phenotypes Using Third-Generation Sequencing.
Fredrick M. Mobegi, Samuel Bruce, Naser El-Lagta, Felipe Ayora, Benedict M. Matern, Mathijs Groeneweg, Lloyd J. D'Orsogna & Dianne De Santis.
Int. J. Mol. Sci. 2025 Jun 06. doi: 10.3390/ijms26125443.
An extensive list of references for the tools used by the pipeline can be found in the CITATIONS.md file.
You can cite the nf-core publication as follows:
The nf-core framework for community-curated bioinformatics pipelines.
Philip Ewels, Alexander Peltzer, Sven Fillinger, Harshil Patel, Johannes Alneberg, Andreas Wilm, Maxime Ulysse Garcia, Paolo Di Tommaso & Sven Nahnsen.
Nat Biotechnol. 2020 Feb 13. doi: 10.1038/s41587-020-0439-x.
Owner
- Name: nf-core
- Login: nf-core
- Kind: organization
- Email: core@nf-co.re
- Website: http://nf-co.re
- Twitter: nf_core
- Repositories: 84
- Profile: https://github.com/nf-core
A community effort to collect a curated set of analysis pipelines built using Nextflow.
GitHub Events
Total
- Delete event: 1
- Issue comment event: 6
- Push event: 13
- Public event: 1
- Pull request review comment event: 13
- Pull request review event: 18
- Pull request event: 21
- Fork event: 1
- Create event: 3
Last Year
- Delete event: 1
- Issue comment event: 6
- Push event: 13
- Public event: 1
- Pull request review comment event: 13
- Pull request review event: 18
- Pull request event: 21
- Fork event: 1
- Create event: 3
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 0
- Total pull requests: 11
- Average time to close issues: N/A
- Average time to close pull requests: 7 days
- Total issue authors: 0
- Total pull request authors: 3
- Average comments per issue: 0
- Average comments per pull request: 0.0
- Merged pull requests: 6
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 11
- Average time to close issues: N/A
- Average time to close pull requests: 7 days
- Issue authors: 0
- Pull request authors: 3
- Average comments per issue: 0
- Average comments per pull request: 0.0
- Merged pull requests: 6
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
- fmobegi (8)
- nf-core-bot (2)
- maxulysse (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/upload-artifact v4 composite
- octokit/request-action v2.x composite
- seqeralabs/action-tower-launch v2 composite
- actions/upload-artifact v4 composite
- seqeralabs/action-tower-launch v2 composite
- mshick/add-pr-comment b8f338c590a895d50bcbfa6c5859251edc8952fc composite
- actions/stale 28ca1036281a5e5922ead5184a1bbf96e5fc984e composite
- actions/setup-python 82c7e631bb3cdc910f68e0081d67478d79c6982d composite
- eWaterCycle/setup-apptainer 4bb22c52d4f63406c49e94c804632975787312b3 composite
- jlumbroso/free-disk-space 54081f138730dfa15788a46383842cd2f914a1be composite
- nf-core/setup-nextflow v2 composite
- actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
- actions/setup-python 0b93645e9fea7318ecaed2b359559ac225c90a2b composite
- actions/upload-artifact b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 composite
- nf-core/setup-nextflow v2 composite
- pietrobolcato/action-read-yaml 1.1.0 composite
- dawidd6/action-download-artifact 20319c5641d495c8a52e688b7dc5fada6c3a9fbc composite
- marocchino/sticky-pull-request-comment 331f8f5b4215f0445d3c07b4967662a32a2d3e31 composite
- actions/setup-python 82c7e631bb3cdc910f68e0081d67478d79c6982d composite
- rzr/fediverse-action master composite
- zentered/bluesky-post-action 80dbe0a7697de18c15ad22f4619919ceb5ccf597 composite
- Jinja2 >=3.1.3
- Markdown >=3.6
- MarkupSafe >=2.1.5
- PyYAML >=6.0.1
- Pygments >=2.17.2
- XlsxWriter >=3.2.0
- bio >=1.6.2
- biopython >=1.83
- biothings-client >=0.3.1
- certifi >=2024.2.2
- charset-normalizer >=3.3.2
- click >=8.1.7
- coloredlogs >=15.0.1
- colormath >=3.0.0
- contourpy >=1.2.0
- cycler >=0.12.1
- et-xmlfile >=1.1.0
- fonttools >=4.50.0
- future >=1.0.0
- gprofiler-official >=1.0.0
- humanfriendly >=10.0
- humanize >=4.9.0
- idna >=3.6
- importlib_metadata >=7.1.0
- kaleido >=0.2.1
- kiwisolver >=1.4.5
- markdown-it-py >=3.0.0
- matplotlib >=3.8.3
- mdurl >=0.1.2
- multiqc >=1.21
- mygene >=3.2.2
- networkx >=3.2.1
- numpy >=1.26.4
- openpyxl >=3.1.2
- packaging >=24.0
- pandas >=2.2.1
- pillow >=10.2.0
- pip-review >=1.3.0
- platformdirs >=4.2.0
- plotly >=5.20.0
- pooch >=1.8.1
- pyaml-env >=1.2.1
- pyparsing >=3.1.2
- pysam >=0.22.0
- python-dateutil >=2.9.0.post0
- pytz >=2024.1
- requests >=2.31.0
- rich >=13.7.1
- rich-click >=1.7.4
- six >=1.16.0
- spectra >=0.0.11
- tenacity >=8.2.3
- tqdm >=4.66.2
- typing_extensions >=4.10.0
- tzdata >=2024.1
- urllib3 >=2.2.1
- zipp >=3.18.1
- nf-core/setup-nf-test v1 composite
- actions/setup-python a26af69be951a213d495a4c3e4e4022e16d87065 composite
- conda-incubator/setup-miniconda 505e6394dae86d6a5c7fbb6e3fb8938e3e863830 composite
- eWaterCycle/setup-apptainer main composite
- nf-core/setup-nextflow v2 composite
- nf-core/setup-nf-test v1 composite
- actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
- actions/setup-python a26af69be951a213d495a4c3e4e4022e16d87065 composite
- peter-evans/create-or-update-comment 71345be0265236311c031f5c7866368bd1eff043 composite
- ./.github/actions/get-shards * composite
- ./.github/actions/nf-test * composite
- actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
- actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
- mshick/add-pr-comment b8f338c590a895d50bcbfa6c5859251edc8952fc composite
- nichmor/minimal-read-yaml 1f7205277e25e156e1f63815781db80a6d490b8f composite
- json5 0.12.0.*
- pandas 2.3.1.*
- python >=3.9
- pandas 2.3.1.*
- xlsxwriter 3.2.5.*
- python >=3.9
- fastqc 0.12.1.*
- minimap2 2.29.*
- samtools 1.21.*
- multiqc 1.30.*
- htslib 1.21.*
- samtools 1.21.*
- htslib 1.21.*
- samtools 1.21.*
- htslib 1.21.*
- samtools 1.21.*
- htslib 1.21.*
- samtools 1.21.*