(FragmentPaths fragPaths,
String outFasta,
String outFastaShort,
String graphFile,
int numThreads,
int sampleSize,
int minTranscriptLength,
boolean keepArtifact,
boolean keepChimera,
boolean reqFragKmersConsistency,
String txptNamePrefix,
float minKmerCov,
String branchFreeExtensionThreshold,
boolean writeUracil)
| 4884 | } |
| 4885 | |
| 4886 | public void assembleTranscriptsMultiThreaded(FragmentPaths fragPaths, |
| 4887 | String outFasta, |
| 4888 | String outFastaShort, |
| 4889 | String graphFile, |
| 4890 | int numThreads, |
| 4891 | int sampleSize, |
| 4892 | int minTranscriptLength, |
| 4893 | boolean keepArtifact, |
| 4894 | boolean keepChimera, |
| 4895 | boolean reqFragKmersConsistency, |
| 4896 | String txptNamePrefix, |
| 4897 | float minKmerCov, |
| 4898 | String branchFreeExtensionThreshold, |
| 4899 | boolean writeUracil) throws IOException, InterruptedException { |
| 4900 | |
| 4901 | long numFragmentsParsed = 0; |
| 4902 | |
| 4903 | boolean assemblePolya = minPolyATailLengthRequired > 0; |
| 4904 | |
| 4905 | FastaWriter fout = new FastaWriter(outFasta, false, writeUracil); |
| 4906 | FastaWriter foutShort = new FastaWriter(outFastaShort, false, writeUracil); |
| 4907 | //TranscriptWriter writer = new TranscriptWriter(fout, foutShort, minTranscriptLength, sensitiveMode ? maxTipLength : Math.max(k, maxTipLength)); |
| 4908 | TranscriptWriter writer = new TranscriptWriter(fout, foutShort, minTranscriptLength, maxTipLength, writeUracil); |
| 4909 | |
| 4910 | |
| 4911 | boolean allowNaiveExtension = true; |
| 4912 | boolean extendBranchFreeOnly; |
| 4913 | |
| 4914 | if (assemblePolya) { |
| 4915 | // extend LONG fragments |
| 4916 | for (int mag=fragPaths.longPolyaFragmentsPaths.length-1; mag>=0; --mag) { |
| 4917 | writer.setOutputPrefix(txptNamePrefix + "E" + mag + ".L."); |
| 4918 | String fragmentsFasta = fragPaths.longPolyaFragmentsPaths[mag]; |
| 4919 | System.out.println("Parsing `" + fragmentsFasta + "`..."); |
| 4920 | extendBranchFreeOnly = isLowerStratum(COVERAGE_ORDER[mag], branchFreeExtensionThreshold); |
| 4921 | numFragmentsParsed += assembleTranscriptsMultiThreadedHelper(fragmentsFasta, writer, sampleSize, numThreads, |
| 4922 | allowNaiveExtension, extendBranchFreeOnly, |
| 4923 | keepArtifact, keepChimera, reqFragKmersConsistency, minKmerCov); |
| 4924 | } |
| 4925 | |
| 4926 | // extend SHORT fragments |
| 4927 | for (int mag=fragPaths.shortPolyaFragmentsPaths.length-1; mag>=0; --mag) { |
| 4928 | writer.setOutputPrefix(txptNamePrefix + "E" + mag + ".S."); |
| 4929 | String fragmentsFasta = fragPaths.shortPolyaFragmentsPaths[mag]; |
| 4930 | System.out.println("Parsing `" + fragmentsFasta + "`..."); |
| 4931 | extendBranchFreeOnly = isLowerStratum(COVERAGE_ORDER[mag], branchFreeExtensionThreshold); |
| 4932 | numFragmentsParsed += assembleTranscriptsMultiThreadedHelper(fragmentsFasta, writer, sampleSize, numThreads, |
| 4933 | allowNaiveExtension, extendBranchFreeOnly, |
| 4934 | keepArtifact, keepChimera, reqFragKmersConsistency, minKmerCov); |
| 4935 | } |
| 4936 | |
| 4937 | // extend UNCONNECTED reads |
| 4938 | for (int mag=fragPaths.unconnectedPolyaReadsPaths.length-1; mag>=0; --mag) { |
| 4939 | writer.setOutputPrefix(txptNamePrefix + "E" + mag + ".U."); |
| 4940 | String fragmentsFasta = fragPaths.unconnectedPolyaReadsPaths[mag]; |
| 4941 | System.out.println("Parsing `" + fragmentsFasta + "`..."); |
| 4942 | extendBranchFreeOnly = isLowerStratum(COVERAGE_ORDER[mag], branchFreeExtensionThreshold); |
| 4943 | numFragmentsParsed += assembleTranscriptsMultiThreadedHelper(fragmentsFasta, writer, sampleSize, numThreads, |
no test coverage detected