Skip to content

Commit

Permalink
Merge pull request #259 from opencb/TASK-5789
Browse files Browse the repository at this point in the history
TASK-5789 - New data model Snp
  • Loading branch information
jtarraga authored Apr 17, 2024
2 parents 53cc1aa + 3aaf9ec commit 0c7fee0
Show file tree
Hide file tree
Showing 2 changed files with 226 additions and 0 deletions.
147 changes: 147 additions & 0 deletions biodata-models/src/main/java/org/opencb/biodata/models/core/Snp.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@
/*
* <!--
* ~ Copyright 2015-2017 OpenCB
* ~
* ~ Licensed under the Apache License, Version 2.0 (the "License");
* ~ you may not use this file except in compliance with the License.
* ~ You may obtain a copy of the License at
* ~
* ~ http://www.apache.org/licenses/LICENSE-2.0
* ~
* ~ Unless required by applicable law or agreed to in writing, software
* ~ distributed under the License is distributed on an "AS IS" BASIS,
* ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* ~ See the License for the specific language governing permissions and
* ~ limitations under the License.
* -->
*
*/

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<String> alternates;
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<String> alternates, String type,
String source, String version, SnpAnnotation annotation) {
this.id = id;
this.chromosome = chromosome;
this.position = position;
this.reference = reference;
this.alternates = alternates;
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(", alternates=").append(alternates);
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<String> getAlternates() {
return alternates;
}

public Snp setAlternates(List<String> alternates) {
this.alternates = alternates;
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;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
/*
* <!--
* ~ Copyright 2015-2017 OpenCB
* ~
* ~ Licensed under the Apache License, Version 2.0 (the "License");
* ~ you may not use this file except in compliance with the License.
* ~ You may obtain a copy of the License at
* ~
* ~ http://www.apache.org/licenses/LICENSE-2.0
* ~
* ~ Unless required by applicable law or agreed to in writing, software
* ~ distributed under the License is distributed on an "AS IS" BASIS,
* ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* ~ See the License for the specific language governing permissions and
* ~ limitations under the License.
* -->
*
*/

package org.opencb.biodata.models.core;

import org.opencb.biodata.models.variant.avro.PopulationFrequency;

import java.util.List;
import java.util.Map;

public class SnpAnnotation {

private List<String> flags;
private String gene;
private List<PopulationFrequency> populationFrequencies;
private Map<String, Object> additionalAttributes;

public SnpAnnotation() {
}

public SnpAnnotation(List<String> flags, String gene, List<PopulationFrequency> populationFrequencies, Map<String, Object> additionalAttributes) {
this.flags = flags;
this.gene = gene;
this.populationFrequencies = populationFrequencies;
this.additionalAttributes = additionalAttributes;
}

public List<String> getFlags() {
return flags;
}

public SnpAnnotation setFlags(List<String> flags) {
this.flags = flags;
return this;
}

public String getGene() {
return gene;
}

public SnpAnnotation setGene(String gene) {
this.gene = gene;
return this;
}

public List<PopulationFrequency> getPopulationFrequencies() {
return populationFrequencies;
}

public SnpAnnotation setPopulationFrequencies(List<PopulationFrequency> populationFrequencies) {
this.populationFrequencies = populationFrequencies;
return this;
}

public Map<String, Object> getAdditionalAttributes() {
return additionalAttributes;
}

public SnpAnnotation setAdditionalAttributes(Map<String, Object> additionalAttributes) {
this.additionalAttributes = additionalAttributes;
return this;
}
}

0 comments on commit 0c7fee0

Please sign in to comment.