GoekeLab / xpore

Identification of differential RNA modifications from nanopore direct RNA sequencing
https://xpore.readthedocs.io/
MIT License
131 stars 23 forks source link

diffmod running problem #161

Closed rezarahman12 closed 1 year ago

rezarahman12 commented 1 year ago

Hi xPore team, (@yuukiiwa ) I have successfully run xpore dataprep, which generated all files namely, eventalign.index, data.json, data.index, data.readcount, data.log. I checked they contained data. Then, I prepared a YAML file as follows: data: Diff: rep1: /scratch/project_mnt/S0077/xPore/rawdata/nanocount_data/dataprep/diff1 rep2: /scratch/project_mnt/S0077/xPore/rawdata/nanocount_data/dataprep/diff2tr2 rep3: /scratch/project_mnt/S0077/xPore/rawdata/nanocount_data/dataprep/diff3

Undiff:
    rep1: /scratch/project_mnt/S0077/xPore/rawdata/nanocount_data/dataprep/undiff1
    rep2: /scratch/project_mnt/S0077/xPore/rawdata/nanocount_data/dataprep/undiff2

out: /scratch/project_mnt/S0077/xPore/rawdata/nanocount_data/dataprep

method: prefiltering: method: t-test threshold: 0.1

Then, I submit a job that contain below command-

xpore diffmod --config nanocount_config.yml

However, after running for 24 hours I see the diffmod.tabl and diffmod.log are few bytes. diffmod.table is empty but diffmod.log file contains the list of many transcripts. Could you please help me fixing this problem?

I'll be very grateful to you.

Kind regards Reza

yuukiiwa commented 1 year ago

Hi Reza (@rezarahman12),

You can try removing the prefiltering from your nanocount_config.yml, so it will look like the following:

data:
    Diff:
        rep1: /scratch/project_mnt/S0077/xPore/rawdata/nanocount_data/dataprep/diff1
        rep2: /scratch/project_mnt/S0077/xPore/rawdata/nanocount_data/dataprep/diff2tr2
        rep3: /scratch/project_mnt/S0077/xPore/rawdata/nanocount_data/dataprep/diff3

    Undiff:
        rep1: /scratch/project_mnt/S0077/xPore/rawdata/nanocount_data/dataprep/undiff1
        rep2: /scratch/project_mnt/S0077/xPore/rawdata/nanocount_data/dataprep/undiff2

out: /scratch/project_mnt/S0077/xPore/rawdata/nanocount_data/diffmod

Another tip to speed up xpore diffmod is to add in the --n_processes [number_of_cpus] flag. Here is an example:

xpore diffmod --config nanocount_config.yml --n_processes 12

Thanks!

Best wishes, Yuk Kei

rezarahman12 commented 1 year ago

Dear Yuk Kei, (@yuukiiwa) Thank you so much for your quick response. I tried again with the suggested change. This time after running the job for about 12 hours, the diffmod.log showed successfully finished- ... ENSG00000265972 ENSG00000254656 ENSG00000277443 --- SUCCESSFULLY FINISHED --- However, I checked the diffmod.table file, which is empty with below text- id,position,kmer,diff_mod_rate_Diff_vs_Undiff,pval_Diff_vs_Undiff,z_score_Diff_vs_Undiff,mod_rate_Diff-rep1,mod_rate_Undiff-rep1,coverage_Diff-rep1,coverage_Undiff-rep1,mu_unmod,mu_mod,sigma2_unmod,sigma2_mod,conf_mu_unmod,conf_mu_mod,mod_assignment

The new script I have used for this job is given below for your kind consideration.

!/bin/bash

PBS -A UQ-QBI

PBS -l select=1:ncpus=22:mem=120GB

PBS -e /scratch/project_mnt/S0077/xPore/rawdata/nanocount_data

PBS -o /scratch/project_mnt/S0077/xPore/rawdata/nanocount_data

PBS -l walltime=48:00:00

PBS -N testdiffmod1

cd $PBS_O_WORKDIR

module load xpore/2.1

xpore diffmod --config /scratch/project_mnt/S0077/xPore/rawdata/nanocount_data/nanocount_config2.yml --n_processes 22

The YML file is given below-

data: Diff: rep1: /scratch/project_mnt/S0077/xPore/rawdata/nanocount_data/dataprep/diff1

Undiff:
    rep1: /scratch/project_mnt/S0077/xPore/rawdata/nanocount_data/dataprep/undiff1

out: /scratch/project_mnt/S0077/xPore/rawdata/nanocount_data

I would highly appreciate your kind feedback. Kind regards Reza