Azimuth: Machine Learning-Based Predictive Modelling of CRISPR/Cas9 guide efficiency
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 Azimuth [+] Loading Azimuth 2.0 ... [user@cn3144 ~]$ python Python 2.7.14 |Anaconda, Inc.| (default, Mar 27 2018, 17:29:31) [GCC 7.2.0] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import azimuth.model_comparison >>> import numpy as np >>> sequences = np.array(['ACAGCTGATCTCCAGATATGACCATGGGTT', 'CAGCTGATCTCCAGATATGACCATGGGTTT', 'CCAGAAGTTTGAGCCACAAACCCATGGTCA']) >>> amino_acid_cut_positions = np.array([2, 2, 4]) >>> percent_peptides = np.array([0.18, 0.18, 0.35]) >>> predictions = azimuth.model_comparison.predict(sequences, amino_acid_cut_positions, percent_peptides) No model file specified, using V3_model_full >>> for i, prediction in enumerate(predictions): ... print sequences[i], prediction ... ACAGCTGATCTCCAGATATGACCATGGGTT 0.672298196907 CAGCTGATCTCCAGATATGACCATGGGTTT 0.687944237021 CCAGAAGTTTGAGCCACAAACCCATGGTCA 0.659245390401 >>> quit() [user@cn3144 ~]$ exit salloc.exe: Relinquishing job allocation 46116226 [user@biowulf ~]$
Create a batch input file (e.g. Azimuth.sh). For example:
#!/bin/bash module load Azimuth python my_Azimuth.py
Submit this job using the Slurm sbatch command.
sbatch [--cpus-per-task=#] [--mem=#] Azimuth.sh
Create a swarmfile (e.g. Azimuth.swarm). For example:
python my_Azimuth.py python my_Azimuth.py python my_Azimuth.py python my_Azimuth.py
Submit this job using the swarm command.
swarm -f Azimuth.swarm [-g #] [-t #] --module Azimuthwhere
-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 Azimuth | Loads the Azimuth module for each subjob in the swarm |