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.
A. Create families
- Cluster sequences (
MMseqs2
) - Perform multiple sequence alignment (MSA) (
FAMSA
ormafft
) - Optionally, clip gap parts of the MSA (
ClipKIT
) - Generate family HMMs and fish additional sequences into the family (
hmmer
) - Optionally, remove redundant families by comparing family representative sequences against family models with (
hmmer
) - Optionally, from the remaining families, remove in-family redundant sequences by strictly clustering with (
MMseqs2
) and keep cluster representatives - Present QC for remaining/updated families size distributions and representative sequence lengths (
MultiQC
)
B. Update families
- Find which families to update by comparing the input sequences against existing family models with (
hmmer
) - For non hit sequences continue with the above: A. Create families. For hit sequences and families continue to: 3
- Extract family sequences (
SeqKit
) and concatenate with filtered hit sequences of each family - Optionally, remove in-family redundant sequences by strictly clustering with (
MMseqs2
) and keeping cluster representatives - Perform multiple sequence alignment (MSA) (
FAMSA
ormafft
) - Optionally, clip gap parts of the MSA (
ClipKIT
) - Update family HMM with (
hmmer
)
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.
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.
nf-core/proteinfamilies was originally written by Evangelos Karatzas.
We thank the following people for their extensive assistance in the development of this pipeline:
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).
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.