/*
* Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
* Copyright (C) $$Year-Rel$$ The Jalview Authors
*
* This file is part of Jalview.
*
* Jalview is free software: you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation, either version 3
* of the License, or (at your option) any later version.
*
* Jalview is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Jalview. If not, see .
* The Jalview Authors are detailed in the 'AUTHORS' file.
*/
package jalview.json.binding.biojson.v1;
import java.util.Map;
import java.util.Vector;
import com.github.reinert.jjschema.Attributes;
public class SequenceFeaturesPojo
{
@Attributes(
required = true,
description = "Start residue position for the sequence feature")
private int xStart;
@Attributes(
required = true,
description = "End residue position for the sequence feature")
private int xEnd;
@Attributes(
required = true,
minItems = 1,
maxItems = 2147483647,
description = "Reference to the sequence in the alignment
(more like a foreign key)")
private String sequenceRef;
@Attributes(
required = true,
description = "The name or type of the SequenceFeature")
private String type;
@Attributes(required = false, description = "Score")
private Float score;
@Attributes(required = false, description = "Description for the feature")
private String description;
@Attributes(
required = false,
description = "Additional metadata for the feature")
private Map otherDetails;
@Attributes(required = false, description = "Fill colour")
private String fillColor;
@Attributes(required = true, description = "Feature group")
private String featureGroup;
@Attributes(
required = false,
description = "URL links associated to the feature")
private Vector links;
public SequenceFeaturesPojo()
{
}
public SequenceFeaturesPojo(String sequenceRef)
{
this.sequenceRef = sequenceRef;
}
public String getFillColor()
{
return "#" + fillColor;
}
public void setFillColor(String fillColor)
{
this.fillColor = fillColor;
}
public int getXstart()
{
return xStart;
}
public void setXstart(int xStart)
{
this.xStart = xStart;
}
public int getXend()
{
return xEnd;
}
public void setXend(int xend)
{
this.xEnd = xend;
}
public String getType()
{
return type;
}
public void setType(String type)
{
this.type = type;
}
public Float getScore()
{
return score;
}
public void setScore(Float score)
{
this.score = score;
}
public String getDescription()
{
return description;
}
public void setDescription(String description)
{
this.description = description;
}
public Map getOtherDetails()
{
return otherDetails;
}
public void setOtherDetails(Map otherDetails)
{
this.otherDetails = otherDetails;
}
public Vector getLinks()
{
return links;
}
public void setLinks(Vector links)
{
this.links = links;
}
public String getFeatureGroup()
{
return featureGroup;
}
public void setFeatureGroup(String featureGroup)
{
this.featureGroup = featureGroup;
}
public String getSequenceRef()
{
return sequenceRef;
}
public void setSequenceRef(String sequenceRef)
{
this.sequenceRef = sequenceRef;
}
}