Skip to content

Commit 89c1616

Browse files
authored
Merge pull request #319 from LabKey/fb_merge_24.7_to_develop
Merge 24.7 to develop
2 parents 256a6a0 + e96139e commit 89c1616

File tree

17 files changed

+898
-2804
lines changed

17 files changed

+898
-2804
lines changed

SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/model/ReadData.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,4 +61,6 @@ public interface ReadData extends Serializable
6161
String getSra_accession();
6262

6363
boolean isArchived();
64+
65+
boolean isPairedEnd();
6466
}

SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/ReferenceGenome.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
*/
1616
package org.labkey.api.sequenceanalysis.pipeline;
1717

18+
import htsjdk.samtools.SAMSequenceDictionary;
1819
import org.jetbrains.annotations.NotNull;
1920

2021
import java.io.File;
@@ -87,6 +88,8 @@ public interface ReferenceGenome extends Serializable
8788
*/
8889
File getSequenceDictionary();
8990

91+
SAMSequenceDictionary extractDictionary();
92+
9093
/**
9194
* @return True if this is a genome not defined in the main database, such as a job using an ad hoc FASTA file or genome based on querying the NT records
9295
*/

SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/VariantProcessingStep.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,8 @@ enum ScatterGatherMethod
5151
none(false),
5252
contig(false),
5353
chunked(true),
54-
fixedJobs(false);
54+
fixedJobs(false),
55+
specificInternals(false);
5556

5657
private final boolean _mayRequireSort;
5758

SequenceAnalysis/resources/web/SequenceAnalysis/panel/AnalysisSectionPanel.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,14 @@ Ext4.define('SequenceAnalysis.panel.AnalysisSectionPanel', {
211211
handler: function(btn){
212212
btn.up('window').close();
213213
}
214-
}]
214+
}],
215+
listeners: {
216+
show: function(win){
217+
if (win.getHeight() > Ext4.getBody().getHeight()) {
218+
win.alignTo(Ext4.getBody(), 't-t?');
219+
}
220+
}
221+
}
215222
}).show(btn);
216223
},
217224

SequenceAnalysis/resources/web/SequenceAnalysis/panel/VariantScatterGatherPanel.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,17 @@ Ext4.define('SequenceAnalysis.panel.VariantScatterGatherPanel', {
8787
value: 10
8888
});
8989
}
90+
else if (val === 'specificIntervals') {
91+
toAdd.push({
92+
xtype: 'sequenceanalysis-intervalfield',
93+
labelWidth: this.labelWidth,
94+
name: 'scatterGather.specificIntervals',
95+
label: 'Intervals to Process',
96+
helpPopup: 'The intervals to process. They should be in the form: chr01:102-20394',
97+
allowBlank: false,
98+
defaultValue: null
99+
});
100+
}
90101

91102
if (toAdd.length) {
92103
panel.add(toAdd);

SequenceAnalysis/src/org/labkey/sequenceanalysis/ReadDataImpl.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -307,10 +307,11 @@ public void cacheForRemoteServer()
307307
}
308308
}
309309

310+
@Override
310311
@Transient
311312
public boolean isPairedEnd()
312313
{
313-
return getFile2() != null;
314+
return getFileId2() != null;
314315
}
315316

316317
@Override

SequenceAnalysis/src/org/labkey/sequenceanalysis/analysis/GenotypeGVCFHandler.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@
3636
import org.labkey.api.writer.PrintWriters;
3737
import org.labkey.sequenceanalysis.ScatterGatherUtils;
3838
import org.labkey.sequenceanalysis.SequenceAnalysisModule;
39-
import org.labkey.sequenceanalysis.pipeline.JobContextImpl;
4039
import org.labkey.sequenceanalysis.pipeline.ProcessVariantsHandler;
4140
import org.labkey.sequenceanalysis.pipeline.VariantProcessingJob;
4241
import org.labkey.sequenceanalysis.run.util.AbstractGenomicsDBImportHandler;
@@ -50,7 +49,6 @@
5049
import java.io.IOException;
5150
import java.io.PrintWriter;
5251
import java.util.ArrayList;
53-
import java.util.Arrays;
5452
import java.util.Collection;
5553
import java.util.Date;
5654
import java.util.HashSet;

SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/OrphanFilePipelineJob.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,7 @@ public boolean isJobComplete(PipelineJob job)
161161
knownExpDatas.addAll(new TableSelector(us.getTable(SequenceAnalysisSchema.TABLE_READ_DATA, null), PageFlowUtil.set("fileid2"),null, null).getArrayList(Integer.class));
162162
knownExpDatas.addAll(new TableSelector(us.getTable(SequenceAnalysisSchema.TABLE_ANALYSES, null), PageFlowUtil.set("alignmentfile"),null, null).getArrayList(Integer.class));
163163
knownExpDatas.addAll(new TableSelector(us.getTable(SequenceAnalysisSchema.TABLE_OUTPUTFILES, null), PageFlowUtil.set("dataId"),null, null).getArrayList(Integer.class));
164+
knownExpDatas.remove(null);
164165
knownExpDatas = Collections.unmodifiableSet(knownExpDatas);
165166
//messages.add("## total registered sequence ExpData: " + knownExpDatas.size());
166167

@@ -239,7 +240,7 @@ public boolean isJobComplete(PipelineJob job)
239240
writer.println("set -e");
240241
writer.println("set -x");
241242
writer.println("");
242-
probableDeletes.forEach(f -> writer.println("rm -Rf " + f.getPath()));
243+
probableDeletes.forEach(f -> writer.println("rm -Rf '" + f.getPath() + "'"));
243244
}
244245
catch (IOException e)
245246
{
@@ -541,6 +542,14 @@ private void getOrphanFilesForDirectory(Set<Integer> knownExpDatas, Map<URI, Set
541542

542543
if (f.isDirectory())
543544
{
545+
if (f.getName().endsWith(".gdb"))
546+
{
547+
if (!dataMap.containsKey(new File(f, "__tiledb_workspace.tdb").toURI()))
548+
{
549+
orphanSequenceFiles.add(f);
550+
}
551+
}
552+
544553
getOrphanFilesForDirectory(knownExpDatas, dataMap, f, orphanSequenceFiles, orphanIndexes);
545554
}
546555
else

SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/ReferenceGenomeImpl.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package org.labkey.sequenceanalysis.pipeline;
22

33
import com.fasterxml.jackson.annotation.JsonIgnore;
4+
import htsjdk.samtools.SAMSequenceDictionary;
5+
import htsjdk.variant.utils.SAMSequenceDictionaryExtractor;
46
import org.apache.logging.log4j.Logger;
57
import org.jetbrains.annotations.NotNull;
68
import org.jetbrains.annotations.Nullable;
@@ -110,6 +112,13 @@ public File getSequenceDictionary()
110112
return getWorkingFastaFile() == null ? null : new File(FileUtil.getBaseName(getWorkingFastaFile().getPath()) + ".dict");
111113
}
112114

115+
@JsonIgnore
116+
@Override
117+
public SAMSequenceDictionary extractDictionary()
118+
{
119+
return getSequenceDictionary() == null ? null : SAMSequenceDictionaryExtractor.extractDictionary(getSequenceDictionary().toPath());
120+
}
121+
113122
@Override
114123
public String getName()
115124
{

SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/SequenceAlignmentTask.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1941,7 +1941,7 @@ else if (sraIDs.contains(rd.getSra_accession()))
19411941
RestoreSraDataHandler.FastqDumpWrapper sra = new RestoreSraDataHandler.FastqDumpWrapper(getJob().getLogger());
19421942
if (doneFile.exists())
19431943
{
1944-
rdi.setFile(new File(outDir, rd.getSra_accession() + "_1.fastq.gz"), 1);
1944+
rdi.setFile(new File(outDir, rd.getSra_accession() + (rd.isPairedEnd() ? "_1" : "") + ".fastq.gz"), 1);
19451945
if (rd.getFileId2() != null)
19461946
{
19471947
rdi.setFile(new File(outDir, rd.getSra_accession() + "_2.fastq.gz"), 2);
@@ -1954,7 +1954,7 @@ else if (sraIDs.contains(rd.getSra_accession()))
19541954
outDir.mkdirs();
19551955
}
19561956

1957-
Pair<File, File> downloaded = sra.downloadSra(rd.getSra_accession(), outDir);
1957+
Pair<File, File> downloaded = sra.downloadSra(rd.getSra_accession(), outDir, rd.isPairedEnd());
19581958
rdi.setFile(downloaded.first, 1);
19591959
rdi.setFile(downloaded.second, 2);
19601960

0 commit comments

Comments
 (0)