From f996724839b0ae19f589b90ebab94c1fed7c1d52 Mon Sep 17 00:00:00 2001 From: JuanfeSanahuja Date: Wed, 20 Dec 2023 10:50:39 +0100 Subject: [PATCH 1/8] Prepare next release 2.12.2-SNAPSHOT --- biodata-external/pom.xml | 2 +- biodata-formats/pom.xml | 2 +- biodata-models/pom.xml | 2 +- biodata-tools/pom.xml | 2 +- pom.xml | 4 ++-- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/biodata-external/pom.xml b/biodata-external/pom.xml index 347042c9..0c0fb358 100644 --- a/biodata-external/pom.xml +++ b/biodata-external/pom.xml @@ -6,7 +6,7 @@ biodata org.opencb.biodata - 2.12.1 + 2.12.2-SNAPSHOT ../pom.xml diff --git a/biodata-formats/pom.xml b/biodata-formats/pom.xml index f0b0019e..44fad6f3 100644 --- a/biodata-formats/pom.xml +++ b/biodata-formats/pom.xml @@ -22,7 +22,7 @@ org.opencb.biodata biodata - 2.12.1 + 2.12.2-SNAPSHOT ../pom.xml diff --git a/biodata-models/pom.xml b/biodata-models/pom.xml index 81a8b17b..34ead415 100644 --- a/biodata-models/pom.xml +++ b/biodata-models/pom.xml @@ -22,7 +22,7 @@ org.opencb.biodata biodata - 2.12.1 + 2.12.2-SNAPSHOT ../pom.xml diff --git a/biodata-tools/pom.xml b/biodata-tools/pom.xml index e2438f80..87cfcc16 100644 --- a/biodata-tools/pom.xml +++ b/biodata-tools/pom.xml @@ -22,7 +22,7 @@ org.opencb.biodata biodata - 2.12.1 + 2.12.2-SNAPSHOT ../pom.xml diff --git a/pom.xml b/pom.xml index 97688342..5d3d9743 100644 --- a/pom.xml +++ b/pom.xml @@ -22,7 +22,7 @@ org.opencb.biodata biodata - 2.12.1 + 2.12.2-SNAPSHOT pom Biodata @@ -38,7 +38,7 @@ - 4.12.0 + 4.12.1-SNAPSHOT 2.11.4 4.4 1.7.7 From 6c11e006bd51aa10ba5e1379d96752cd567ed7bc Mon Sep 17 00:00:00 2001 From: imedina Date: Mon, 11 Mar 2024 03:12:56 +0000 Subject: [PATCH 2/8] Add new SNP classes to store dbSNP --- .../org/opencb/biodata/models/core/Snp.java | 147 ++++++++++++++++++ .../biodata/models/core/SnpAnnotation.java | 90 +++++++++++ 2 files changed, 237 insertions(+) create mode 100644 biodata-models/src/main/java/org/opencb/biodata/models/core/Snp.java create mode 100644 biodata-models/src/main/java/org/opencb/biodata/models/core/SnpAnnotation.java diff --git a/biodata-models/src/main/java/org/opencb/biodata/models/core/Snp.java b/biodata-models/src/main/java/org/opencb/biodata/models/core/Snp.java new file mode 100644 index 00000000..c2d079ba --- /dev/null +++ b/biodata-models/src/main/java/org/opencb/biodata/models/core/Snp.java @@ -0,0 +1,147 @@ +/* + * + * + */ + +package org.opencb.biodata.models.core; + +import java.util.List; + +public class Snp { + private String id; + private String chromosome; + private int position; + private String reference; + private List alleles; + private String type; + private String source; + private String version; + private SnpAnnotation annotation; + + public Snp() { + } + + public Snp(String id, String chromosome, int position, String reference, List alleles, String type, + String source, String version, SnpAnnotation annotation) { + this.id = id; + this.chromosome = chromosome; + this.position = position; + this.reference = reference; + this.alleles = alleles; + this.type = type; + this.source = source; + this.version = version; + this.annotation = annotation; + } + + @Override + public String toString() { + final StringBuilder sb = new StringBuilder("Snp{"); + sb.append("id='").append(id).append('\''); + sb.append(", chromosome='").append(chromosome).append('\''); + sb.append(", position=").append(position); + sb.append(", reference='").append(reference).append('\''); + sb.append(", alleles=").append(alleles); + sb.append(", type='").append(type).append('\''); + sb.append(", source='").append(source).append('\''); + sb.append(", version='").append(version).append('\''); + sb.append(", annotation=").append(annotation); + sb.append('}'); + return sb.toString(); + } + + public String getId() { + return id; + } + + public Snp setId(String id) { + this.id = id; + return this; + } + + public String getChromosome() { + return chromosome; + } + + public Snp setChromosome(String chromosome) { + this.chromosome = chromosome; + return this; + } + + public int getPosition() { + return position; + } + + public Snp setPosition(int position) { + this.position = position; + return this; + } + + public String getReference() { + return reference; + } + + public Snp setReference(String reference) { + this.reference = reference; + return this; + } + + public List getAlleles() { + return alleles; + } + + public Snp setAlleles(List alleles) { + this.alleles = alleles; + return this; + } + + public String getType() { + return type; + } + + public Snp setType(String type) { + this.type = type; + return this; + } + + public String getSource() { + return source; + } + + public Snp setSource(String source) { + this.source = source; + return this; + } + + public String getVersion() { + return version; + } + + public Snp setVersion(String version) { + this.version = version; + return this; + } + + public SnpAnnotation getAnnotation() { + return annotation; + } + + public Snp setAnnotation(SnpAnnotation annotation) { + this.annotation = annotation; + return this; + } +} diff --git a/biodata-models/src/main/java/org/opencb/biodata/models/core/SnpAnnotation.java b/biodata-models/src/main/java/org/opencb/biodata/models/core/SnpAnnotation.java new file mode 100644 index 00000000..215341ad --- /dev/null +++ b/biodata-models/src/main/java/org/opencb/biodata/models/core/SnpAnnotation.java @@ -0,0 +1,90 @@ +/* + * + * + */ + +package org.opencb.biodata.models.core; + +import org.opencb.biodata.models.variant.avro.EvidenceEntry; +import org.opencb.biodata.models.variant.avro.PopulationFrequency; + +import java.util.List; + +public class SnpAnnotation { + + private List flags; + private String gene; + private List populationFrequencies; + private List traitAssociation; + + public SnpAnnotation() { + } + + public SnpAnnotation(List flags, String gene, List populationFrequencies, List traitAssociation) { + this.flags = flags; + this.gene = gene; + this.populationFrequencies = populationFrequencies; + this.traitAssociation = traitAssociation; + } + + @Override + public String toString() { + final StringBuilder sb = new StringBuilder("SnpAnnotation{"); + sb.append("flags=").append(flags); + sb.append(", gene='").append(gene).append('\''); + sb.append(", populationFrequencies=").append(populationFrequencies); + sb.append(", traitAssociation=").append(traitAssociation); + sb.append('}'); + return sb.toString(); + } + + public List getFlags() { + return flags; + } + + public SnpAnnotation setFlags(List flags) { + this.flags = flags; + return this; + } + + public String getGene() { + return gene; + } + + public SnpAnnotation setGene(String gene) { + this.gene = gene; + return this; + } + + public List getPopulationFrequencies() { + return populationFrequencies; + } + + public SnpAnnotation setPopulationFrequencies(List populationFrequencies) { + this.populationFrequencies = populationFrequencies; + return this; + } + + public List getTraitAssociation() { + return traitAssociation; + } + + public SnpAnnotation setTraitAssociation(List traitAssociation) { + this.traitAssociation = traitAssociation; + return this; + } +} From ef752abc04d234ee16e4a68169c32d8d55d28fcb Mon Sep 17 00:00:00 2001 From: imedina Date: Tue, 12 Mar 2024 02:30:43 +0000 Subject: [PATCH 3/8] Update SnpAnnotation data model --- .../biodata/models/core/SnpAnnotation.java | 27 ++++++------------- 1 file changed, 8 insertions(+), 19 deletions(-) diff --git a/biodata-models/src/main/java/org/opencb/biodata/models/core/SnpAnnotation.java b/biodata-models/src/main/java/org/opencb/biodata/models/core/SnpAnnotation.java index 215341ad..16fab718 100644 --- a/biodata-models/src/main/java/org/opencb/biodata/models/core/SnpAnnotation.java +++ b/biodata-models/src/main/java/org/opencb/biodata/models/core/SnpAnnotation.java @@ -19,37 +19,26 @@ package org.opencb.biodata.models.core; -import org.opencb.biodata.models.variant.avro.EvidenceEntry; import org.opencb.biodata.models.variant.avro.PopulationFrequency; import java.util.List; +import java.util.Map; public class SnpAnnotation { private List flags; private String gene; private List populationFrequencies; - private List traitAssociation; + private Map additionalAttributes; public SnpAnnotation() { } - public SnpAnnotation(List flags, String gene, List populationFrequencies, List traitAssociation) { + public SnpAnnotation(List flags, String gene, List populationFrequencies, Map additionalAttributes) { this.flags = flags; this.gene = gene; this.populationFrequencies = populationFrequencies; - this.traitAssociation = traitAssociation; - } - - @Override - public String toString() { - final StringBuilder sb = new StringBuilder("SnpAnnotation{"); - sb.append("flags=").append(flags); - sb.append(", gene='").append(gene).append('\''); - sb.append(", populationFrequencies=").append(populationFrequencies); - sb.append(", traitAssociation=").append(traitAssociation); - sb.append('}'); - return sb.toString(); + this.additionalAttributes = additionalAttributes; } public List getFlags() { @@ -79,12 +68,12 @@ public SnpAnnotation setPopulationFrequencies(List populati return this; } - public List getTraitAssociation() { - return traitAssociation; + public Map getAdditionalAttributes() { + return additionalAttributes; } - public SnpAnnotation setTraitAssociation(List traitAssociation) { - this.traitAssociation = traitAssociation; + public SnpAnnotation setAdditionalAttributes(Map additionalAttributes) { + this.additionalAttributes = additionalAttributes; return this; } } From 9ea6c147b64917ff95fed4b8335bd89eae109176 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20T=C3=A1rraga=20Gim=C3=A9nez?= Date: Tue, 12 Mar 2024 11:28:15 +0100 Subject: [PATCH 4/8] models: rename alleles to alternates, #TASK-5813, #TASK-5789 --- .../java/org/opencb/biodata/models/core/Snp.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/biodata-models/src/main/java/org/opencb/biodata/models/core/Snp.java b/biodata-models/src/main/java/org/opencb/biodata/models/core/Snp.java index c2d079ba..8f8cc712 100644 --- a/biodata-models/src/main/java/org/opencb/biodata/models/core/Snp.java +++ b/biodata-models/src/main/java/org/opencb/biodata/models/core/Snp.java @@ -26,7 +26,7 @@ public class Snp { private String chromosome; private int position; private String reference; - private List alleles; + private List alternates; private String type; private String source; private String version; @@ -35,13 +35,13 @@ public class Snp { public Snp() { } - public Snp(String id, String chromosome, int position, String reference, List alleles, String type, + public Snp(String id, String chromosome, int position, String reference, List alternates, String type, String source, String version, SnpAnnotation annotation) { this.id = id; this.chromosome = chromosome; this.position = position; this.reference = reference; - this.alleles = alleles; + this.alternates = alternates; this.type = type; this.source = source; this.version = version; @@ -55,7 +55,7 @@ public String toString() { sb.append(", chromosome='").append(chromosome).append('\''); sb.append(", position=").append(position); sb.append(", reference='").append(reference).append('\''); - sb.append(", alleles=").append(alleles); + sb.append(", alternates=").append(alternates); sb.append(", type='").append(type).append('\''); sb.append(", source='").append(source).append('\''); sb.append(", version='").append(version).append('\''); @@ -100,12 +100,12 @@ public Snp setReference(String reference) { return this; } - public List getAlleles() { - return alleles; + public List getAlternates() { + return alternates; } - public Snp setAlleles(List alleles) { - this.alleles = alleles; + public Snp setAlternates(List alternates) { + this.alternates = alternates; return this; } From b79bbdca15b81d4f30f1f0f3216c76160f726a60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20T=C3=A1rraga=20Gim=C3=A9nez?= Date: Thu, 28 Mar 2024 11:45:19 +0100 Subject: [PATCH 5/8] tools: increase MAX_REGION_COVERAGE; and fix sonnar issues, #TASK-5162 --- .../opencb/biodata/tools/alignment/BamManager.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/biodata-tools/src/main/java/org/opencb/biodata/tools/alignment/BamManager.java b/biodata-tools/src/main/java/org/opencb/biodata/tools/alignment/BamManager.java index 895767e9..54b84cc0 100644 --- a/biodata-tools/src/main/java/org/opencb/biodata/tools/alignment/BamManager.java +++ b/biodata-tools/src/main/java/org/opencb/biodata/tools/alignment/BamManager.java @@ -49,6 +49,7 @@ import java.nio.file.Paths; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; import java.util.List; /** @@ -62,7 +63,7 @@ public class BamManager implements AutoCloseable { public static final int DEFAULT_WINDOW_SIZE = 1; public static final int MAX_NUM_RECORDS = 50000; - public static final int MAX_REGION_COVERAGE = 100000; + public static final int MAX_REGION_COVERAGE = 500000; public static final String COVERAGE_BIGWIG_EXTENSION = ".bw"; private Logger logger; @@ -191,7 +192,10 @@ public Path calculateBigWigCoverage(Path bigWigPath, int windowSize) throws IOEx return bigWigPath; } - + /** + * @deprecated (since getFileHeader().getTextHeader() is deprecated !) + */ + @Deprecated public String header() { return samReader.getFileHeader().getTextHeader(); } @@ -338,7 +342,7 @@ public List getChunks(Region region) { BAMIndex index = samReader.indexing().getIndex(); return index.getSpanOverlapping(sequenceIndex, start, end).getChunks(); } - return null; + return Collections.emptyList(); } public List getBreakpoints(Region region) throws IOException { @@ -378,7 +382,7 @@ public List getBreakpoints(Region region) throws IOException { } } } - return null; + return Collections.emptyList(); } /** @@ -445,7 +449,7 @@ public AlignmentGlobalStats stats(Region region, AlignmentFilters fil return calculateGlobalStats(iterator(region, filters, options)); } - private AlignmentGlobalStats calculateGlobalStats(BamIterator iterator) throws IOException { + private AlignmentGlobalStats calculateGlobalStats(BamIterator iterator) { AlignmentGlobalStats alignmentGlobalStats = new AlignmentGlobalStats(); SamRecordAlignmentGlobalStatsCalculator calculator = new SamRecordAlignmentGlobalStatsCalculator(); while (iterator.hasNext()) { From 941cb51e9721d38da344c10afaa440c3e2aacbbe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacobo=20Coll=20Morag=C3=B3n?= Date: Thu, 25 Apr 2024 15:53:04 +0100 Subject: [PATCH 6/8] tools: Fix normalization of variants wiht ins seq. #TASK-6122 --- .../opencb/biodata/tools/variant/VariantNormalizer.java | 2 ++ .../biodata/tools/variant/VariantNormalizerTest.java | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/biodata-tools/src/main/java/org/opencb/biodata/tools/variant/VariantNormalizer.java b/biodata-tools/src/main/java/org/opencb/biodata/tools/variant/VariantNormalizer.java index 990d61e8..e3bb3d6e 100644 --- a/biodata-tools/src/main/java/org/opencb/biodata/tools/variant/VariantNormalizer.java +++ b/biodata-tools/src/main/java/org/opencb/biodata/tools/variant/VariantNormalizer.java @@ -1394,6 +1394,8 @@ private Variant newVariant(Variant variant, VariantKeyFields keyFields, Structur normalizedVariant.getSv().setCiStartRight(sv.getCiStartRight()); normalizedVariant.getSv().setCiEndLeft(sv.getCiEndLeft()); normalizedVariant.getSv().setCiEndRight(sv.getCiEndRight()); + normalizedVariant.getSv().setLeftSvInsSeq(sv.getLeftSvInsSeq()); + normalizedVariant.getSv().setRightSvInsSeq(sv.getRightSvInsSeq()); // Variant will never have CopyNumber, because the Alternate is normalized from to normalizedVariant.getSv().setCopyNumber(keyFields.getCopyNumber()); diff --git a/biodata-tools/src/test/java/org/opencb/biodata/tools/variant/VariantNormalizerTest.java b/biodata-tools/src/test/java/org/opencb/biodata/tools/variant/VariantNormalizerTest.java index 95265190..a4a62f06 100644 --- a/biodata-tools/src/test/java/org/opencb/biodata/tools/variant/VariantNormalizerTest.java +++ b/biodata-tools/src/test/java/org/opencb/biodata/tools/variant/VariantNormalizerTest.java @@ -784,6 +784,14 @@ public void testNormalizeSvToIndel() throws NonStandardCompliantSampleField { } + @Test + public void testNormalizeWithInsSeq() throws NonStandardCompliantSampleField { + Variant variant = new Variant("1:799984<800001<800022:-:ACCACACCCACACAACACACA...TGTGGTGTGTGTGGTGTG"); + Variant normVar = new VariantNormalizer().normalize(Collections.singletonList(variant), false).get(0); + assertEquals(variant, normVar); + assertEquals(variant.toString(), normVar.toString()); + } + @Test public void testNormalizeBND() throws NonStandardCompliantSampleField { normalizeBnd(newVariant(101, 100, "", ".[9:10["), newVariant(100, 99, "A", "A[chr9:10[")); From 5678bd3ed24a641d74b1aac180db27c68f3ebe77 Mon Sep 17 00:00:00 2001 From: JuanfeSanahuja Date: Tue, 30 Apr 2024 10:27:48 +0200 Subject: [PATCH 7/8] Prepare release 2.12.2 --- biodata-external/pom.xml | 2 +- biodata-formats/pom.xml | 2 +- biodata-models/pom.xml | 2 +- biodata-tools/pom.xml | 2 +- pom.xml | 4 ++-- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/biodata-external/pom.xml b/biodata-external/pom.xml index 0c0fb358..3a98861e 100644 --- a/biodata-external/pom.xml +++ b/biodata-external/pom.xml @@ -6,7 +6,7 @@ biodata org.opencb.biodata - 2.12.2-SNAPSHOT + 2.12.2 ../pom.xml diff --git a/biodata-formats/pom.xml b/biodata-formats/pom.xml index 44fad6f3..fe80d521 100644 --- a/biodata-formats/pom.xml +++ b/biodata-formats/pom.xml @@ -22,7 +22,7 @@ org.opencb.biodata biodata - 2.12.2-SNAPSHOT + 2.12.2 ../pom.xml diff --git a/biodata-models/pom.xml b/biodata-models/pom.xml index 34ead415..79a1954e 100644 --- a/biodata-models/pom.xml +++ b/biodata-models/pom.xml @@ -22,7 +22,7 @@ org.opencb.biodata biodata - 2.12.2-SNAPSHOT + 2.12.2 ../pom.xml diff --git a/biodata-tools/pom.xml b/biodata-tools/pom.xml index 87cfcc16..45d41e63 100644 --- a/biodata-tools/pom.xml +++ b/biodata-tools/pom.xml @@ -22,7 +22,7 @@ org.opencb.biodata biodata - 2.12.2-SNAPSHOT + 2.12.2 ../pom.xml diff --git a/pom.xml b/pom.xml index 5d3d9743..a051029f 100644 --- a/pom.xml +++ b/pom.xml @@ -22,7 +22,7 @@ org.opencb.biodata biodata - 2.12.2-SNAPSHOT + 2.12.2 pom Biodata @@ -38,7 +38,7 @@ - 4.12.1-SNAPSHOT + 4.12.0 2.11.4 4.4 1.7.7 From 71d7e8504bfa9dd717a76f9f39e25c9ce315c55a Mon Sep 17 00:00:00 2001 From: JuanfeSanahuja Date: Tue, 6 Aug 2024 17:46:24 +0200 Subject: [PATCH 8/8] Prepare port patch #TASK-6647 --- biodata-external/pom.xml | 2 +- biodata-formats/pom.xml | 2 +- biodata-models/pom.xml | 2 +- biodata-tools/pom.xml | 2 +- pom.xml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/biodata-external/pom.xml b/biodata-external/pom.xml index 3a98861e..d6d1acdd 100644 --- a/biodata-external/pom.xml +++ b/biodata-external/pom.xml @@ -6,7 +6,7 @@ biodata org.opencb.biodata - 2.12.2 + 3.3.0-SNAPSHOT ../pom.xml diff --git a/biodata-formats/pom.xml b/biodata-formats/pom.xml index fe80d521..3fdf0a65 100644 --- a/biodata-formats/pom.xml +++ b/biodata-formats/pom.xml @@ -22,7 +22,7 @@ org.opencb.biodata biodata - 2.12.2 + 3.3.0-SNAPSHOT ../pom.xml diff --git a/biodata-models/pom.xml b/biodata-models/pom.xml index 79a1954e..b95a085e 100644 --- a/biodata-models/pom.xml +++ b/biodata-models/pom.xml @@ -22,7 +22,7 @@ org.opencb.biodata biodata - 2.12.2 + 3.3.0-SNAPSHOT ../pom.xml diff --git a/biodata-tools/pom.xml b/biodata-tools/pom.xml index 45d41e63..3edebe40 100644 --- a/biodata-tools/pom.xml +++ b/biodata-tools/pom.xml @@ -22,7 +22,7 @@ org.opencb.biodata biodata - 2.12.2 + 3.3.0-SNAPSHOT ../pom.xml diff --git a/pom.xml b/pom.xml index a051029f..1770c682 100644 --- a/pom.xml +++ b/pom.xml @@ -22,7 +22,7 @@ org.opencb.biodata biodata - 2.12.2 + 3.3.0-SNAPSHOT pom Biodata