NetMHCpan predicts binding of peptides to any MHC molecule of known sequence using artificial neural networks. From the website description:
The method is trained on a combination of more than 850,000 quantitative Binding Affinity (BA) and Mass-Spectrometry Eluted Ligands (EL) peptides. The BA data covers 170 MHC molecules from human (HLA-A, B, C, E), mouse (H-2), cattle (BoLA), primates (Patr, Mamu, Gogo), swine (SLA) and equine (Eqca). The EL data covers 177 MHC molecules from human (HLA-A, B, C, E), mouse (H-2), cattle (BoLA), primates (Patr, Mamu, Gogo), swine (SLA), equine (Eqca) and dog (DLA). Furthermore, the user can obtain predictions to any custom MHC class I molecule by uploading a full length MHC protein sequence. Predictions can be made for peptides of any length.
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 netmhcpan [user@cn3144 ~]$ cd /data/$USER [user@cn3144 user]$ cp -r $NMTEST_DATA . [user@cn3144 user]$ cd test [user@cn3144 test]$ netMHCpan -p test.pep > test.pep.myout [user@cn3144 test]$ netMHCpan -p test.pep -BA > test.pep_wBA.myout [user@cn3144 test]$ netMHCpan test.fsa > test.fsa.myout [user@cn3144 test]$ netMHCpan -hlaseq B0702.fsa -p test.pep > test.pep_userMHC.myout [user@cn3144 test]$ exit salloc.exe: Relinquishing job allocation 46116226 [user@biowulf ~]$
Create a batch input file (e.g. netmhcpan.sh). For example:
#!/bin/bash set -e module load netmhcpan cd /data/$USER/working netMHCpan -p input.pep > input.pep.myout netMHCpan -p input.pep -BA > input.pep_wBA.myout netMHCpan -p input.fsa > input.fsa.myout netMHCpan -hlaseq hla.fsa -p input.pep > output.pep_userMHC.myout
Submit this job using the Slurm sbatch command.
sbatch [--mem=#] netmhcpan.sh
Create a swarmfile (e.g. netmhcpan.swarm). For example:
netMHCpan -hlaseq hla.fsa -p input1.pep > output1.pep_userMHC.myout netMHCpan -hlaseq hla.fsa -p input2.pep > output2.pep_userMHC.myout netMHCpan -hlaseq hla.fsa -p input3.pep > output3.pep_userMHC.myout netMHCpan -hlaseq hla.fsa -p input4.pep > output4.pep_userMHC.myout
Submit this job using the swarm command.
swarm -f netmhcpan.swarm [-g #] -t 2 --module netmhcpanwhere
-g # | Number of Gigabytes of memory required for each process (1 line in the swarm command file) |
-t 2 | 2 threads/CPUs required for each process (1 line in the swarm command file). |
--module netmhcpan | Loads the netmhcpan module for each subjob in the swarm |