FAN-C provides a pipeline for analysing Hi-C data starting at mapped paired-end sequencing reads.
Allocate an interactive session and run the program.
Sample session (user input in bold):
[user@biowulf ~]$ sinteractive -c8 --mem=16g --gres=lscratch:30 salloc.exe: Pending job allocation 11754716 salloc.exe: job 11754716 queued and waiting for resources salloc.exe: job 11754716 has been allocated resources salloc.exe: Granted job allocation 11754716 salloc.exe: Waiting for resource configuration salloc.exe: Nodes cn0996 are ready for job srun: error: x11: no local DISPLAY defined, skipping error: unable to open file /tmp/slurm-spank-x11.11754716.0 slurmstepd: error: x11: unable to read DISPLAY value [user@cn0996 ~]$ module load fanc [+] Loading fanc 0.9.17 on cn0996 [+] Loading singularity 3.7.2 on cn0996 [user@cn0996 ~]$ cd /lscratch/$SLURM_JOB_ID [user@cn0996 11754716]$ cp $FANC_EXAMPLES . [user@cn0996 11754716]$ unzip examples.zip Archive: examples.zip creating: examples/ inflating: examples/SRR4271982_chr18_19_2.fastq.gzip [snip...] inflating: examples/SRR4271982_chr18_19_1.fastq.gzip [user@cn0996 11754716]$ cd examples/ [user@cn0996 examples]$ fanc auto SRR4271982_chr18_19_1.fastq.gzip SRR4271982_chr18_19_2.fastq.gzip \ output/ -g hg19_chr18_19.fa -i hg19_chr18_19/hg19_chr18_19 -n fanc_example \ -t ${SLURM_CPUS_PER_TASK} -r HindIII --split-ligation-junction -q 30 2021-03-30 13:07:51,440 INFO FAN-C version: 0.9.17 2021-03-30 13:07:51,443 INFO Output folder: output/ 2021-03-30 13:07:51,443 INFO Input files: SRR4271982_chr18_19_1.fastq.gzip, SRR4271982_chr18_19_2.fastq.gzip 2021-03-30 13:07:51,443 INFO Input file types: fastq, fastq 2021-03-30 13:07:51,443 INFO Final basename: fanc_example (you can change this with the -n option!) [...snip] 2021-03-30 13:22:16,001 INFO Total: 556663. Filtered: 294 Expected 100% (556369 of 556369) |###########################################| Elapsed Time: 0:00:08 Time: 0:00:08 2021-03-30 13:22:29,543 INFO Done. 2021-03-30 13:22:33,641 INFO Saving statistics... 2021-03-30 13:22:33,832 INFO Normalising binned Hic file Expected 100% (556369 of 556369) |###########################################| Elapsed Time: 0:00:08 Time: 0:00:08 Closing remaining open files:output/hic/fanc_example.hic...done [user@cn0996 examples]$ fancplot chr18:63mb-70mb -p triangular -vmax 0.05 output/hic/binned/fanc_example_100kb.hic 2021-03-30 13:29:15,888 INFO Found 1 regions Closing remaining open files:output/hic/binned/fanc_example_100kb.hic...done [user@cn0996 examples]$ ls -lh total 558M drwxr-xr-x 9 user user 4.0K Aug 6 2020 architecture drwxr-xr-x 2 user user 4.0K Feb 4 2020 bwa-index drwxr-xr-x 2 user user 4.0K Feb 4 2020 hg19_chr18_19 -rw-r--r-- 1 user user 134M Feb 4 2020 hg19_chr18_19.fa -rw-r--r-- 1 user user 996K Feb 4 2020 hg19_chr18_19_re_fragments.bed drwxr-xr-x 2 user user 4.0K Aug 6 2020 hicpro drwxr-x--- 7 user user 4.0K Mar 30 13:07 output -rw-r--r-- 1 user user 200M Feb 4 2020 SRR4271982_chr18_19_1.fastq.gzip -rw-r--r-- 1 user user 200M Feb 4 2020 SRR4271982_chr18_19_2.fastq.gzip -rw-r--r-- 1 user user 52K Feb 4 2020 test.cool -rw-r--r-- 1 user user 24M Feb 4 2020 test.hic [user@cn0996 examples]$ exit exit salloc.exe: Relinquishing job allocation 11754716 salloc.exe: Job allocation 11754716 has been revoked. [user@biowulf ~]$
Create a batch input file (e.g. fanc.sh). For example:
#!/bin/bash set -e module load fanc fanc auto SRR4271982_chr18_19_1.fastq.gzip SRR4271982_chr18_19_2.fastq.gzip \ output/ -g hg19_chr18_19.fa -i hg19_chr18_19/hg19_chr18_19 -n fanc_example \ -t ${SLURM_CPUS_PER_TASK} -r HindIII --split-ligation-junction -q 30
Submit this job using the Slurm sbatch command.
sbatch [--cpus-per-task=#] [--mem=#] fanc.sh
Create a swarmfile (e.g. fanc.swarm). For example:
fanc auto a.fastq.gzip chrN.fastq.gzip outa -g N.fa -t $SLURM_CPUS_PER_TASK <opts> fanc auto b.fastq.gzip chrN.fastq.gzip outb -g N.fa -t $SLURM_CPUS_PER_TASK <opts> fanc auto c.fastq.gzip chrN.fastq.gzip outc -g N.fa -t $SLURM_CPUS_PER_TASK <opts> fanc auto c.fastq.gzip chrN.fastq.gzip outd -g N.fa -t $SLURM_CPUS_PER_TASK <opts>
Submit this job using the swarm command.
swarm -f fanc.swarm [-g #] [-t #] --module fancwhere
-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 fanc | Loads the fanc module for each subjob in the swarm |