How do I create the .pkl required to run metaphlan?

I have created a bowtie database with the following command

bowtie2-build --large-index -f chocophlan-small.fna chocophlan-small-bt2l

This works and creates a set of files:

chocophlan-small-bt2l.1.bt2l
chocophlan-small-bt2l.2.bt2l
chocophlan-small-bt2l.3.bt2l
chocophlan-small-bt2l.4.bt2l
chocophlan-small-bt2l.rev.1.bt2l 
chocophlan-small-bt2l.rev.2.bt2l

However, when running this through metaphlan I get an error:

metaphlan sample-1_0_L001_R1_001_humann --offline --bowtie2db chocophlan-small --index chocophlan-small-bt2l --stat_q 0.2 --add_viruses --unclassified_estimation -o sample-1_0_L001_R1_001_metaphlan_bugs_list.tsv --input_type fastq --bowtie2out sample-1_0_L001_R1_001_metaphlan_bowtie2.txt

Error message returned from metaphlan :
Error: Unable to find the mpa_pkl file at: mpa_pklExiting...

Is this something I can create?

Hi @johnchase
Additionally to the bowtie2 database, you should create the database pickle file containing the information of the taxa and markers present in your bowtie2 database and with the name chocophlan-small-bt2l.pkl More info here: MetaPhlAn 4 · biobakery/MetaPhlAn Wiki · GitHub

1 Like

Thank you, this is what I was looking for!