Miniprot aligns protein sequences to whole genomes with splicing and frameshift. It is primarily intended for annotating protein-coding genes in a new species using known genes from other species.
Allocate an interactive session and run the program.
Sample session (user input in bold):
[user@biowulf]$ sinteractive salloc.exe: Pending job allocation 46116226 salloc.exe: job 46116226 queued and waiting for resources salloc.exe: job 46116226 has been allocated resources salloc.exe: Granted job allocation 46116226 salloc.exe: Waiting for resource configuration salloc.exe: Nodes cn3144 are ready for job [user@cn3144 ~]$ module load miniprot [+] Loading miniprot, version 0.13... [user@cn3144 ~]$ man miniprot # Read the manual (Press q to exit it once finished) [user@cn3144 ~]$ miniprot --gff $MINIPROT_HOME/test/DPP3-hs.gen.fa.gz $MINIPROT_HOME/test/DPP3-mm.pep.fa.gz > aln.gff [M::mp_ntseq_read@0.005*0.34] read 27033 bases in 1 contigs [M::mp_idx_build@0.005*0.35] 212 blocks [M::mp_idx_build@0.006*0.62] collected syncmers [M::mp_idx_build@0.046*0.94] 16125 kmer-block pairs [M::mp_idx_print_stat] 14397 distinct k-mers; mean occ of infrequent k-mers: 1.12; 0 frequent k-mers accounting for 0 occurrences [M::worker_pipeline::0.063*0.85] mapped 1 sequences [M::main] Version: 0.13-r248 [M::main] CMD: miniprot --gff /usr/local/apps/miniprot/0.13/test/DPP3-hs.gen.fa.gz /usr/local/apps/miniprot/0.13/test/DPP3-mm.pep.fa.gz [M::main] Real time: 0.067 sec; CPU: 0.057 sec; Peak RSS: 0.067 GB [user@cn3144 ~]$ exit salloc.exe: Relinquishing job allocation 46116226 [user@biowulf ~]$
Create a batch input file (e.g. miniprot.sh). For example:
#!/bin/bash set -e module load miniprot miniprot -t 2 $MINIPROT_HOME/test/DPP3-hs.gen.fa.gz $MINIPROT_HOME/test/DPP3-mm.pep.fa.gz > aln.paf
Submit this job using the Slurm sbatch command.
sbatch [--cpus-per-task=#] [--mem=#] miniprot.sh
Create a swarmfile (e.g. miniprot.swarm). For example:
miniprot -t $SLURM_CPUS_PER_TASK -Iut16 --gff genome.fna sample1.faa > sample1.aln.gff miniprot -t $SLURM_CPUS_PER_TASK -Iut16 --gff genome.fna sample2.faa > sample2.aln.gff miniprot -t $SLURM_CPUS_PER_TASK -Iut16 --gff genome.fna sample3.faa > sample3.aln.gff miniprot -t $SLURM_CPUS_PER_TASK -Iut16 --gff genome.fna sample4.faa > sample4.aln.gff
Submit this job using the swarm command.
swarm -f miniprot.swarm [-g #] [-t #] --module miniprotwhere
-g # | Number of Gigabytes of memory required for each process (1 line in the swarm command file) |
-t # | Number of threads/CPUs required for each process (1 line in the swarm command file). |
--module miniprot | Loads the miniprot module for each subjob in the swarm |