Skip to content

nf-core/proteinfamilies

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nf-core/proteinfamilies

GitHub Actions CI Status GitHub Actions Linting StatusAWS CICite with Zenodo nf-test

Nextflow run with conda run with docker run with singularity Launch on Seqera Platform

Get help on SlackFollow on TwitterFollow on MastodonWatch on YouTube

Introduction

nf-core/proteinfamilies is a bioinformatics pipeline that generates protein families from amino acid sequences and/or updates existing families with new sequences. It takes a protein fasta file as input, clusters the sequences and then generates protein family Hiden Markov Models (HMMs) along with their multiple sequence alignments (MSAs). Optionally, paths to existing family HMMs and MSAs can be given (must have matching base filenames one-to-one) in order to update with new sequences in case of matching hits.

nf-core/proteinfamilies workflow overview

A. Create families

  1. Cluster sequences (MMseqs2)
  2. Perform multiple sequence alignment (MSA) (FAMSA or mafft)
  3. Optionally, clip gap parts of the MSA (ClipKIT)
  4. Generate family HMMs and fish additional sequences into the family (hmmer)
  5. Optionally, remove redundant families by comparing family representative sequences against family models with (hmmer)
  6. Optionally, from the remaining families, remove in-family redundant sequences by strictly clustering with (MMseqs2) and keep cluster representatives
  7. Present QC for remaining/updated families size distributions and representative sequence lengths (MultiQC)

B. Update families

  1. Find which families to update by comparing the input sequences against existing family models with (hmmer)
  2. For non hit sequences continue with the above: A. Create families. For hit sequences and families continue to: 3
  3. Extract family sequences (SeqKit) and concatenate with filtered hit sequences of each family
  4. Optionally, remove in-family redundant sequences by strictly clustering with (MMseqs2) and keeping cluster representatives
  5. Perform multiple sequence alignment (MSA) (FAMSA or mafft)
  6. Optionally, clip gap parts of the MSA (ClipKIT)
  7. Update family HMM with (hmmer)

Usage

Note

If you are new to Nextflow and nf-core, please refer to this page on how to set-up Nextflow. Make sure to test your setup with -profile test before running the workflow on actual data.

First, prepare a samplesheet with your input data that looks as follows:

samplesheet.csv:

sample,fasta,existing_hmms_to_update,existing_msas_to_update
CONTROL_REP1,input/mgnifams_input_small.fa,,

Each row contains a fasta file with amino acid sequences (can be zipped or unzipped). Optionally, a row may contain tarball archives (tar.gz) of existing families' HMM and MSA folders, in order to be updated. In this case, the HMM and MSA files must be matching in numbers and in base filenames (not the extension). Hit families/sequences will be updated, while no hit sequences will create new families.

Now, you can run the pipeline using:

nextflow run nf-core/proteinfamilies \
   -profile <docker/singularity/.../institute> \
   --input samplesheet.csv \
   --outdir <OUTDIR>

Warning

Please provide pipeline parameters via the CLI or Nextflow -params-file option. Custom config files including those provided by the -c Nextflow option can be used to provide any configuration except for parameters; see docs.

For more details and further functionality, please refer to the usage documentation and the parameter documentation.

Pipeline output

To see the results of an example test run with a full size dataset refer to the results tab on the nf-core website pipeline page. For more details about the output files and reports, please refer to the output documentation.

Credits

nf-core/proteinfamilies was originally written by Evangelos Karatzas.

We thank the following people for their extensive assistance in the development of this pipeline:

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 #proteinfamilies channel (you can join with this invite).

Citations

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.