Hello! I have a question about the tx and abundanc...
# circrna
c
Hello! I have a question about the tx and abundance files. Are they supposed to have information on both linear and circular transcripts? My issue is that I am looking for some circRNAs from a specific genomic area (I know for a fact that these circRNAs are there, I just wanted to double-check with the nf core pipeline), but the discovery step itself doesn't seem to be able to capture them (circexplorer2). I can see the ENST and ENSG identifiers that are related to my genes of interest in the tx and abundance files, but I guess that these correspond to the linear forms?
n
Hey, yes exactly, this will be the linear forms. The circRNAs are prefixed with
_circ
. Maybe you should try also some other discovery tools?
c
Hello! I tried CIRIquant, but I got this error
Copy code
-[nf-core/circrna] Pipeline completed with errors-
ERROR ~ Error executing process > 'NFCORE_CIRCRNA:CIRCRNA:CIRCRNA_DISCOVERY:CIRIQUANT (TREATMENT_REP3)'

Caused by:
  Process `NFCORE_CIRCRNA:CIRCRNA:CIRCRNA_DISCOVERY:CIRIQUANT (TREATMENT_REP3)` terminated with an error exit status (1)

Command executed:

  BWA=`which bwa`
  HISAT2=`which hisat2`
  STRINGTIE=`which stringtie`
  SAMTOOLS=`which samtools`
 
  BWA_FILE=`ls bwa/*.bwt`
  BWA_PREFIX=`basename $BWA_FILE .bwt`
 
  HISAT2_FILE=`ls hisat2/*.1.ht2`
  HISAT2_PREFIX=`basename $HISAT2_FILE .1.ht2`
 
  printf "name: ciriquant\ntools:\n  bwa: $BWA\n  hisat2: $HISAT2\n  stringtie: $STRINGTIE\n  samtools: $SAMTOOLS\n\nreference:\n  fasta: Homo_sapiens.GRCh38.dna_sm.primary_assembly.fa\n  gtf: Homo_sapiens.GRCh38.112.gtf\n  bwa_index: bwa/$BWA_PREFIX\n  hisat_index: hisat2/$HISAT2_PREFIX" > config.yml

CIRIquant \
      -t 12 \
      -1 TREATMENT_REP3_1_val_1.fq.gz \
      -2 TREATMENT_REP3_2_val_2.fq.gz \
      --config config.yml \
      --no-gene \
      -o TREATMENT_REP3 \
      -p TREATMENT_REP3
 
  cat <<-END_VERSIONS > versions.yml
  "NFCORE_CIRCRNA:CIRCRNA:CIRCRNA_DISCOVERY:CIRIQUANT":
      bwa: $(echo $(bwa 2>&1) | sed 's/^.*Version: //; s/Contact:.*$//')
      ciriquant: $(echo $(CIRIquant --version 2>&1) | sed 's/CIRIquant //g' )
      samtools: $(echo $(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*$//')
      stringtie: $(stringtie --version 2>&1)
      hisat2: 2.1.0
  END_VERSIONS

Command exit status:
  1

Command output:
  (empty)

Command error:
  Unable to find image '<http://quay.io/biocontainers/ciriquant:1.1.2--pyhdfd78af_2|quay.io/biocontainers/ciriquant:1.1.2--pyhdfd78af_2>' locally
  1.1.2--pyhdfd78af_2: Pulling from biocontainers/ciriquant
  73349e34840e: Already exists
  acab339ca1e8: Already exists
  b6b62ba6262f: Pulling fs layer
  b6b62ba6262f: Verifying Checksum
  b6b62ba6262f: Download complete
  b6b62ba6262f: Pull complete
  Digest: sha256:2eb0cd207167e576698cab8fed3d3d2f8a54d77f46e91b337d19f506a9aca80d
  Status: Image is up to date for <http://quay.io/biocontainers/ciriquant:1.1.2--pyhdfd78af_2|quay.io/biocontainers/ciriquant:1.1.2--pyhdfd78af_2>
  [Tue 2024-05-28 19:43:52] [INFO ] Input reads: TREATMENT_REP3_1_val_1.fq.gz,TREATMENT_REP3_2_val_2.fq.gz
  [Tue 2024-05-28 19:43:52] [INFO ] Library type: unstranded
  [Tue 2024-05-28 19:43:52] [INFO ] Output directory: TREATMENT_REP3, Output prefix: TREATMENT_REP3
  [Tue 2024-05-28 19:43:52] [INFO ] Config: ciriquant Loaded
  [Tue 2024-05-28 19:43:52] [INFO ] 48 CPU cores availble, using 12
  [Tue 2024-05-28 19:43:52] [INFO ] Align RNA-seq reads to reference genome ..
  Traceback (most recent call last):
    File "/usr/local/bin/CIRIquant", line 10, in <module>
      sys.exit(main())
    File "/usr/local/lib/python2.7/site-packages/CIRIquant/main.py", line 155, in main
      hisat_bam = pipeline.align_genome(log_file, thread, reads, outdir, prefix
    File "/usr/local/lib/python2.7/site-packages/CIRIquant/pipeline.py", line 52, in align_genome
      raise utils.PipelineError('Empty hisat2 bam generated, please re-run CIRIquant with -v and check the fastq and hisat2-index.')
  CIRIquant.utils.PipelineError: Empty hisat2 bam generated, please re-run CIRIquant with -v and check the fastq and hisat2-index.
I noticed that it says that the Library type it used is "unstranded", but my data is stranded. Could this be the problem? Can I specify anywhere that my data is reverse-stranded? Thank you for your help!
n
Thanks for the error, looks vaguely familiar. Will look at it tomorrow.
@Christina G I tried to find the reason for this but have not been successful so far. Could you maybe provide me with data (or a minimal subset of it) so that I can reproduce the error?
c
Hello! Thanks for looking into it. Unfortunately I can't share data. My hypothesis is that the problem is related to the default parameters of CIRIquant. It is mentioned at the error that it is processing my data as unstranded, while my data is reverse-stranded. When I ran CIRIquant separately and set the parameter as stranded, I got my results.
n
So you used
--library-type 2
?
c
Yes!
n
Ok great. Usually you can provide custom arguments to tool commands using
ext.args
in the run configuration. I just checked and saw that this is not correctly implemented in the
CIRIQUANT
process. Once I did this, you can add the following to you `nextflow.config`:
Copy code
process {
    withName: CIRIQUANT {
        ext.args = '--library-type 2'
    }
}
Or for the latest version of the pipeline:
withName: ".*:CIRIQUANT:MAIN"
c
Great, thank you, I will try that!
n
I will notify you when the pipeline was updated for this 🙂
c
Amazing, thanks
n
In order to automate this, we would have to add an optional
strandedness
column to the samplesheet. I think we should do this, there might be multiple locations where this information could be used. Also if we do this, one can define the strandedness per sample and not only globally. Btw. I created a PR here, should not take too long to merge as it is only a really tiny change
c
That would be very useful indeed, because for example in my case, I have samples that are unstranded, reverse stranded, and forward stranded. Running them all in one go would be great
n
Created an issue for this here, i think I can do this until early next week
The
ext.args
pull request is merged now
I quickly added the base functionality that you need for what you want to do in this branch. You can use it by adding
-r strandedness
to the pipeline run command. The following functionality should work already: • Additional column in the samplesheet called
strandedness
with these allowed values:
auto
forward
reverse
unstranded
• The provided values will be used in ciriquant I still have to update the docs and check if this can be used in other tools before merging, but you can use it already.
c
Thank you very much!
n
No problem - maybe let me know if it worked properly 🙂
c
Yes yes, I definitely will, I'm planning on running it tonight!
🎉 1
n
Added strandedness support also to
find_circ
and
DCC
(for the other tools I could not find according parameters)
🙌 1
c
Hello! So, the discovery step is done for some of my samples (used ciriquant). No errors and I also got the results I was expecting (and couldn't get when I was running the pipeline with circexplorer2)! I will let you know when the rest of my samples are also fully processed, but it is doing fine so far! Thank you for your help!
🎉 1
Hi! Sorry for the late reply. All my samples ran except for one. I don't know if it is a pipeline issue or a sample issue. It might be the latter, since all the other samples ran properly.
Copy code
Command error:
  [Sat 2024-06-01 18:51:45] [INFO ] Input reads: TREATMENT_REP3_1_val_1.fq.gz,TREATMENT_REP3_2_val_2.fq.gz
  [Sat 2024-06-01 18:51:45] [INFO ] Library type: TAKARA SMARTer
  [Sat 2024-06-01 18:51:45] [INFO ] Output directory: TREATMENT_REP3, Output prefix: TREATMENT_REP3
  [Sat 2024-06-01 18:51:45] [INFO ] Config: ciriquant Loaded
  [Sat 2024-06-01 18:51:45] [INFO ] 48 CPU cores availble, using 12
  [Sat 2024-06-01 18:51:45] [INFO ] Align RNA-seq reads to reference genome ..
  Traceback (most recent call last):
    File "/usr/local/bin/CIRIquant", line 10, in <module>
      sys.exit(main())
    File "/usr/local/lib/python2.7/site-packages/CIRIquant/main.py", line 155, in main
      hisat_bam = pipeline.align_genome(log_file, thread, reads, outdir, prefix)
    File "/usr/local/lib/python2.7/site-packages/CIRIquant/pipeline.py", line 52, in align_genome
      raise utils.PipelineError('Empty hisat2 bam generated, please re-run CIRIquant with -v and check the fastq and hisat2-index.')
  CIRIquant.utils.PipelineError: Empty hisat2 bam generated, please re-run CIRIquant with -v and check the fastq and hisat2-index.
n
Thanks for the info! This
Empty hisat2 bam generated
keeps coming back, I am not very happy about this. Since the
hisat2-index
will be shared across all samples in a run, it is more likely that there is a problem with the input
fastq
data. If you can find out more about this, I would love to know 🙂
c
Yes, since the other samples aligned fine to the reference, it is probably the specific fastq that is problematic. I'll let you know if I find out anything else regarding this. Thanks again for all your help!
🙌 1
n
Strandedness is merged now 🙂
🙌 1