Skip to content

Conversation

@bio-boris
Copy link

The app is getting stuck on Could not read /data/RQCFilterData/human_genome/ref/index/1/bloom.serial . It appears that removing the human reads is running into problems.

So it looks like we need to change BBTools.java to be able to write the serial file to a new location, or to generate the bloom files ourselves and put them into the reference data folder, since that folder is being mounted via a ReadOnly mount

Running
find . | xargs grep -i -B5 -A10 "Could not read"

./bbmap/current/align2/BBMapAcc.java:				if(bloomSerial){System.out.println("Could not read "+serialPath+", generating filter from reference.");}
Binary file ./bbmap/current/align2/BBMapAcc.class matches
Binary file ./bbmap/current/align2/BBMap.class matches
./bbmap/current/align2/BBMapPacBioSkimmer.java:				if(bloomSerial){System.out.println("Could not read "+serialPath+", generating filter from reference.");}
./bbmap/current/align2/BBMap5.java:				if(bloomSerial){System.out.println("Could not read "+serialPath+", generating filter from reference.");}
Binary file ./bbmap/current/align2/BBMapPacBioSkimmer.class matches
./bbmap/current/align2/BBMap.java:				if(bloomSerial){System.out.println("Could not read "+serialPath+", generating filter from reference.");}
Binary file ./bbmap/current/align2/BBMap5.class matches
Binary file ./bbmap/current/align2/BBMapPacBio.class matches
./bbmap/current/align2/BBMapPacBio.java:				if(bloomSerial){System.out.println("Could not read "+serialPath+", generating filter from reference.");}

We would have to write a script to call that function and make the bloom.serial file

                if(makeBloomFilter){^M
                        String serialPath=RefToIndex.bloomLoc(build);^M
                        File serialFile=new File(serialPath);^M
                        if(bloomSerial && !RefToIndex.NODISK && serialFile.exists()){^M
                                bloomFilter=ReadWrite.read(BloomFilter.class, RefToIndex.bloomLoc(build), true);^M
                                t.stop("Loaded Bloom Filter: ");^M
                        }else{^M
                                if(bloomSerial){System.out.println("Could not read "+serialPath+", generating filter from reference.");}^M
                                bloomFilter=new BloomFilter(true, bloomFilterK, bloomFilterK, 1, bloomFilterHashes, bloomFilterMinHits, true);^M
                                t.stop("Made Bloom Filter: ");^M
                                if(bloomSerial && !RefToIndex.NODISK && !RefToIndex.FORCE_READ_ONLY){^M
//                                       && serialFile.canWrite()^M
                                        try {^M
                                                ReadWrite.writeObjectInThread(bloomFilter, serialPath, true);^M
                                                outstream.println("Writing Bloom Filter.");^M
                                        } catch (Throwable e) {^M
                                                e.printStackTrace();^M
                                                outstream.println("Can't Write Bloom Filter.");^M
                                        }^M
                                }^M
                        }^M
                        outstream.println(bloomFilter.filter.toShortString());^M
                        t.start();^M

(vi ./bbmap/current/align2/BBMapAcc.java)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants