Oshlack/necklace

FAILED to construct

Closed this issue · 4 comments

Hi,

I seem to be getting some errors at the following Lace stages:

# Stage make_cluster_files_for_lace

/software/necklace/tools/bin/cluster /06_necklace/cluster_files/genomeST_denovo.psl /06_necklace/cluster_files/relST_denovo.psl /06_necklace/cluster_files/relST_genomeST.psl /06_necklace/cluster_files/genome_superT.names > cluster_files/clusters.txt ; cat /06_necklace/genome_superTranscriptome/genome_superT.fasta /06_necklace/de_novo_assembly/de_novo_assembly.fasta > cluster_files/sequences.fasta

# Stage run_lace

/software/necklace/tools/bin/lace --cores 60 --tidy --outputDir /06_necklace/superTranscriptome cluster_files/sequences.fasta cluster_files/clusters.txt ; rm -rf /06_necklace/superTranscriptome/SuperFiles

Wondering if you have seen such messages and any comments on their impact?:

Loaded 5011 letters in 2 sequences
Searched 5011 bases in 2 sequences
Loaded 10199 letters in 4 sequences
Searched 10199 bases in 4 sequences
Loaded 3698 letters in 3 sequences
Searched 3698 bases in 3 sequences
Loaded 6605 letters in 5 sequences
Searched 6605 bases in 5 sequences
Loaded 9762 letters in 3 sequences
Searched 9762 bases in 3 sequences
Double Stranded Contigs
/06_necklace/superTranscriptome/gene10420:MSTRG.9956_stranded.fasta
FAILED to construct
FAILED to construct
FAILED to construct
Double Stranded Contigs
/06_necklace/superTranscriptome/gene258:MSTRG.250_stranded.fasta
FAILED to construct
Double Stranded Contigs
/06_necklace/superTranscriptome/MSTRG.14497_stranded.fasta
FAILED to construct
FAILED to construct
FAILED to construct
FAILED to construct
Double Stranded Contigs
/06_necklace/superTranscriptome/gene14056:gene14057:gene14058:MSTRG.13348_stranded.fasta
FAILED to construct
FAILED to construct
FAILED to construct
Double Stranded Contigs
/06_necklace/superTranscriptome/gene9313:MSTRG.8903_stranded.fasta
FAILED to construct
FAILED to construct
Double Stranded Contigs
/06_necklace/superTranscriptome/gene510:MSTRG.476_stranded.fasta
FAILED to construct
Double Stranded Contigs
/06_necklace/superTranscriptome/gene1068:gene1069:MSTRG.1008_stranded.fasta
FAILED to construct
FAILED to construct
FAILED to construct

This is followed by stat errors:

mv: cannot stat '/06_necklace/superTranscriptome/gene10697:MSTRG.10235.psl': No such file or directory
mv: cannot stat '/06_necklace/superTranscriptome/gene10698:MSTRG.10237.psl': No such file or directory

then..

BUILT SUPERTRANSCRIPTS ---- 4007.6604952812195 seconds ----
Storing all extraneous files in SuperFiles
Moving all fasta and psl files created to:
/06_necklace/superTranscriptome/SuperFiles
Done

Hi,

The "FAILED to construct" error is likely caused by a complex assembly sequence I think. If the splicing graph can't be constructed and/or toplogically sorted, Lace will give up and report just a representative transcript for the gene, which I think would be the longest. Downstream analysis should still work well, so it's safe to ignore these. Of course if you are getting a lot of these (i.e. most genes) then it's a concern and I'd need to investigate a bit.

The "mv: cannot stat" errors are just to do with clean up at the end, so also shouldn't be a concern, but is definitely something we should fix in Lace. I'll add this to the git list of issues for Lace.

Cheers,
Nadia.

Hi Nadia,

Thanks :-) There was a bit more excitement thereafter..

    9208629 pairs aligned concordantly 0 times; of these:
      892719 (9.69%) aligned discordantly 1 time
    ----
    8315910 pairs aligned 0 times concordantly or discordantly; of these:
      16631820 mates make up the pairs; of these:
        10418205 (62.64%) aligned 0 times
        4862739 (29.24%) aligned exactly 1 time
        1350876 (8.12%) aligned >1 times
90.56% overall alignment rate
[bam_sort_core] merging from 95 files...

===================================== Stage get_splice_blocks ======================================

======================================== Stage count_reads =========================================
Exception in thread "Thread-110" java.nio.file.NoSuchFileException: cd ../05	
        at sun.nio.fs.UnixException.translateToIOException(UnixException.java:86)
        at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
        at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
        at sun.nio.fs.UnixFileAttributeViews$Basic.readAttributes(UnixFileAttributeViews.java:55)
        at sun.nio.fs.UnixFileSystemProvider.readAttributes(UnixFileSystemProvider.java:144)
        at sun.nio.fs.LinuxFileSystemProvider.readAttributes(LinuxFileSystemProvider.java:99)
        at java.nio.file.Files.readAttributes(Files.java:1737)
        at java.nio.file.Files.getLastModifiedTime(Files.java:2266)
        at sun.reflect.GeneratedMethodAccessor198.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
        at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.invoke(StaticMetaMethodSite.java:46)
        at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.call(StaticMetaMethodSite.java:91)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
        at bpipe.OutputDirectoryWatcher.processEvent(OutputDirectoryWatcher.groovy:139)
        at bpipe.OutputDirectoryWatcher$processEvent$1.callCurrent(Unknown Source)
        at bpipe.OutputDirectoryWatcher.run(OutputDirectoryWatcher.groovy:122)
        ==========     _____ _    _ ____  _____  ______          _____
        =====         / ____| |  | |  _ \|  __ \|  ____|   /\   |  __ \
          =====      | (___ | |  | | |_) | |__) | |__     /  \  | |  | |
            ====      \___ \| |  | |  _ <|  _  /|  __|   / /\ \ | |  | |
              ====    ____) | |__| | |_) | | \ \| |____ / ____ \| |__| |
        ==========   |_____/ \____/|____/|_|  \_\______/_/    \_\_____/
          v1.5.3
//========================== featureCounts setting ===========================\\
||                                                                            ||
||             Input files : 6 BAM files                                      ||

.. continues for a while and then shows final confirmation as follows:

||                                                                            ||
|| Summary of counting results can be found in file "counts/block.counts"     ||
||                                                                            ||
\\===================== http://subread.sourceforge.net/ ======================//

======================================= Stage get_gene_info ========================================

======================================== Stage get_bp_info =========================================

====================================== Stage get_mapping_info ======================================

======================================== Pipeline Succeeded ========================================
14:12:21 MSG:  Finished at Fri Nov 16 14:12:21 GMT 2018
14:12:21 MSG:  Outputs are:
                de_novo_assembly/de_novo_assembly.fasta
                relatives_superTranscriptome/genome_superT.relative.fasta
                stats/mapping_info.txt
                stats/size_info.txt
                genome_superTranscriptome/genome_superT.fasta
                ... 24 more ...

Any thoughts on the Java error?

java -showversion
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-8u181-b13-1ubuntu0.16.04.1-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)

It seems to be coming from a "cd ../05" attempt. Not sure if that's part of your code or actually the java thread trying to taverse a directory up in my file structure..
I do have a ../05_results/ folder however it was never referred to in any of the command line parameters at my end.

<path_to_necklace>/tools/bin/bpipe run [options] <path_to_necklace>/necklace.groovy <config_file>

~/software/necklace/tools/bin/bpipe run -n 60 -p de_novo_assembly_file=/path_to_files/04_assembly/Project_2529_assembly.fasta -p stringtie_options="-p 20" -p hisat2_options="-p 20" -r ~/software/necklace/necklace.groovy ./data.txt

Hmm that's an odd one. It looks like a bpipe error. Were you (or did you in the past) run an instance of bpipe on the data in the 05 directory? Just wondering if it might have got confused?

The good news is that it looks like the pipeline finished successfully, which suggests that the error hasn't impacted it.

I think this error is a small bug that's internal to Bpipe - you should be able to ignore it I think. It happens when there's a race condition that makes Bpipe try to check for the timestamp of the file before it actually exists. However it does so in a background part of Bpipe that shouldn't directly interfere with the pipeline running.

NB: This error was fixed in this commit that will show up soon in a future version of Bpipe.