use of org.sbolstandard.core2.SBOLValidationException in project libSBOLj by SynBioDex.
the class CollectionOutput method main.
/**
* @param args
* @throws SBOLValidationException see SBOL validation rule violation at {@link Collection#addMember(URI)}
* @throws SBOLConversionException
*/
public static void main(String[] args) throws SBOLValidationException, SBOLConversionException {
SBOLDocument document = new SBOLDocument();
document.setDefaultURIprefix("http://parts.igem.org/Promoters/Catalog");
document.setTypesInURIs(false);
Collection col = document.createCollection("Anderson", "");
col.setName("Anderson promoters");
col.setDescription("The Anderson promoter collection");
col.addMember(URI.create("http://partsregistry.org/Part:BBa_J23119"));
col.addMember(URI.create("http://partsregistry.org/Part:BBa_J23118"));
SBOLWriter.write(document, (System.out));
}
use of org.sbolstandard.core2.SBOLValidationException in project libSBOLj by SynBioDex.
the class GettingStartedExample method main.
public static void main(String[] args) throws IOException, SBOLValidationException, SBOLConversionException {
String prURI = "http://partsregistry.org/";
String prPrefix = "pr";
String myersLabURI = "http://www.async.ece.utah.edu/";
String myersLabPrefix = "myersLab";
SBOLDocument document = new SBOLDocument();
document.setDefaultURIprefix(prURI);
document.setTypesInURIs(true);
document.setComplete(true);
document.setCreateDefaults(true);
document.addNamespace(URI.create(prURI), prPrefix);
document.addNamespace(URI.create(myersLabURI), myersLabPrefix);
// Creating a Top-level SBOL Data Object
HashSet<URI> types = new HashSet<URI>(Arrays.asList(ComponentDefinition.DNA, URI.create("http://identifiers.org/chebi/CHEBI:4705")));
ComponentDefinition TetR_promoter = document.createComponentDefinition("BBa_R0040", types);
ComponentDefinition LacI_repressor = document.createComponentDefinition("BBa_C0012", types);
ComponentDefinition pIKELeftCassette = document.createComponentDefinition("pIKELeftCassette", types);
Sequence seq_187 = document.createSequence("partseq_187", "tccctatcagtgatagagattgacatccctatcagtgatagagatactgagcac", Sequence.IUPAC_DNA);
String element2 = "atggtgaatgtgaaaccagtaacgttatacgatgtcgcagagtatgccggtgtc" + "tcttatcagaccgtttcccgcgtggtgaaccaggccagccacgtttctgcgaaaacgcggga" + "aaaagtggaagcggcgatggcggagctgaattacattcccaaccgcgtggcacaacaactgg" + "cgggcaaacagtcgttgctgattggcgttgccacctccagtctggccctgcacgcgccgtcg" + "caaattgtcgcggcgattaaatctcgcgccgatcaactgggtgccagcgtggtggtgtcgat" + "ggtagaacgaagcggcgtcgaagcctgtaaagcggcggtgcacaatcttctcgcgcaacgcg" + "tcagtgggctgatcattaactatccgctggatgaccaggatgccattgctgtggaagctgcc" + "tgcactaatgttccggcgttatttcttgatgtctctgaccagacacccatcaacagtattat" + "tttctcccatgaagacggtacgcgactgggcgtggagcatctggtcgcattgggtcaccagc" + "aaatcgcgctgttagcgggcccattaagttctgtctcggcgcgtctgcgtctggctggctgg" + "cataaatatctcactcgcaatcaaattcagccgatagcggaacgggaaggcgactggagtgc" + "catgtccggttttcaacaaaccatgcaaatgctgaatgagggcatcgttcccactgcgatgc" + "tggttgccaacgatcagatggcgctgggcgcaatgcgcgccattaccgagtccgggctgcgc" + "gttggtgcggatatctcggtagtgggatacgacgataccgaagacagctcatgttatatccc" + "gccgttaaccaccatcaaacaggattttcgcctgctggggcaaaccagcgtggaccgcttgc" + "tgcaactctctcagggccaggcggtgaagggcaatcagctgttgcccgtctcactggtgaaa" + "agaaaaaccaccctggcgcccaatacgcaaaccgcctctccccgcgcgttggccgattcatt" + "aatgcagctggcacgacaggtttcccgactggaaagcgggcaggctgcaaacgacgaaaact" + "acgctttagtagcttaataa";
Sequence seq_153 = document.createSequence("partseq_153", element2, Sequence.IUPAC_DNA);
// Setting and editing optional fields
TetR_promoter.setName("p(tetR)");
LacI_repressor.setName("lacI");
TetR_promoter.setDescription("TetR repressible promoter");
LacI_repressor.setDescription("lacI repressor from E. coli (+LVA)");
if (TetR_promoter.isSetName()) {
TetR_promoter.unsetName();
}
TetR_promoter.setName("p(tetR)");
TetR_promoter.addRole(SequenceOntology.PROMOTER);
LacI_repressor.addRole(SequenceOntology.CDS);
URI TetR_promoter_role2 = URI.create("http://identifiers.org/so/SO:0000613");
TetR_promoter.addRole(TetR_promoter_role2);
if (TetR_promoter.containsRole(TetR_promoter_role2)) {
TetR_promoter.removeRole(TetR_promoter_role2);
}
TetR_promoter.clearRoles();
if (!TetR_promoter.getRoles().isEmpty()) {
System.out.println("TetR_promoter set is not empty");
}
TetR_promoter.setRoles(new HashSet<URI>(Arrays.asList(SequenceOntology.PROMOTER)));
// Creating and editing references
TetR_promoter.addSequence(seq_187);
LacI_repressor.addSequence(seq_153);
pIKELeftCassette.addSequence(seq_187);
pIKELeftCassette.clearSequences();
// Adding the sequence below causes an exception because it cannot be found
// pIKELeftCassette.addSequence(URI.create("http://partsregistry.org/seq/partseq_154"));
// Creating Annotations
TetR_promoter.createAnnotation(new QName(prURI, "experience", prPrefix), URI.create("http://parts.igem.org/Part:BBa_R0040"));
// Creating Generic TopLevel Object
GenericTopLevel datasheet = document.createGenericTopLevel("datasheet", "1.0", new QName(myersLabURI, "datasheet", myersLabPrefix));
datasheet.setName("Datasheet for Custom Parameters");
datasheet.createAnnotation(new QName(myersLabURI, "characterizationData", myersLabPrefix), URI.create(myersLabURI + "/measurement/Part:BBa_R0040"));
datasheet.createAnnotation(new QName(myersLabURI, "transcriptionRate", myersLabPrefix), "0.75");
TetR_promoter.createAnnotation(new QName(myersLabURI, "datasheet", myersLabPrefix), datasheet.getIdentity());
// Creating and editing Child Objects
// For pIKELeftCassette, create sequence constraint that says BBa_R0040 precedes BBa_C0012.
// Note that with CreateDefaults that components get created automatically.
// The position of the subject Component MUST precede that of the object Component.
pIKELeftCassette.createSequenceConstraint("pIKELeftCassette_sc", RestrictionType.PRECEDES, TetR_promoter.getDisplayId(), LacI_repressor.getDisplayId());
if (pIKELeftCassette.getComponent("BBa_R0040") == null) {
System.out.println("TetR_promoter component is missing");
}
if (pIKELeftCassette.getComponent("BBa_C0012") == null) {
System.out.println("LacI_repressor component is missing");
}
// Removing the subject component below causes an exception.
// pIKELeftCassette.removeComponent(pIKELeftCassette.getComponent("BBa_R0040"));
// Copying objects
ComponentDefinition TetR_promoter_copy = (ComponentDefinition) document.createCopy(TetR_promoter, "BBa_K137046");
Sequence seq = document.createSequence("seq_K137046", "gtgctcagtatctctatcactgatagggatgtcaatctctatcactgatagggactctagtatat" + "aaacgcagaaaggcccacccgaaggtgagccagtgtgactctagtagagagcgttcaccgaca" + "aacaacagataaaacgaaaggc", Sequence.IUPAC_DNA);
TetR_promoter_copy.addSequence(seq);
SBOLWriter.write(document, "GettingStartedExample.rdf");
writeThenRead(document);
}
use of org.sbolstandard.core2.SBOLValidationException in project libSBOLj by SynBioDex.
the class InteractionTest method test_RoleAndParticpantMethods.
@Test
public void test_RoleAndParticpantMethods() throws SBOLValidationException {
Interaction TetR_Interaction = TetRInverter_MD.createInteraction("TetR_Interaction", SystemsBiologyOntology.NON_COVALENT_BINDING);
Participation TetR_part = TetR_Interaction.createParticipation("TetR", "TetR", SystemsBiologyOntology.PRODUCT);
assertTrue(TetR_Interaction.containsType(SystemsBiologyOntology.NON_COVALENT_BINDING));
assertTrue(TetR_Interaction.addType(SystemsBiologyOntology.ABSOLUTE_STIMULATION));
assertTrue(TetR_Interaction.getTypes().size() == 2);
assertTrue(TetR_Interaction.removeType(SystemsBiologyOntology.NON_COVALENT_BINDING));
assertTrue(TetR_Interaction.getTypes().size() == 1);
assertTrue(TetR_Interaction.getParticipation(TetR_part.getIdentity()).equals(TetR_part));
assertTrue(TetR_Interaction.getParticipations().size() == 1);
assertTrue(TetR_Interaction.removeParticipation(TetR_part));
assertTrue(TetR_Interaction.getParticipations().size() == 0);
assertFalse(TetR_Interaction.removeType(SystemsBiologyOntology.NON_COVALENT_BINDING));
}
use of org.sbolstandard.core2.SBOLValidationException in project libSBOLj by SynBioDex.
the class ComponentDefinitionOutput method createComponentDefinitionOutput.
public static SBOLDocument createComponentDefinitionOutput() throws SBOLValidationException {
String prURI = "http://partsregistry.org/";
String prPrefix = "pr";
SBOLDocument document = new SBOLDocument();
document.setTypesInURIs(true);
document.addNamespace(URI.create(prURI), prPrefix);
document.setDefaultURIprefix(prURI);
Sequence seqpTetR = document.createSequence("BBa_R0040", "", "tccctatcagtgatagagattgacatccctatcagtgatagagatactgagcac", URI.create("http://www.chem.qmul.ac.uk/iubmb/misc/naseq.html"));
Sequence seqRbs = document.createSequence("BBa_B0034", "", "aaagaggagaaa", URI.create("http://www.chem.qmul.ac.uk/iubmb/misc/naseq.html"));
Sequence seqCds = document.createSequence("BBa_C0062", "", "atgcttatctgatatgactaaaatggtacattgtgaatattatttactcgcgatcatttatcctcattctatggttaaatctgatatttcaatcctagataattaccctaaaaaatggaggcaatattatgatgacgctaatttaataaaatatgatcctatagtagattattctaactccaatcattcaccaattaattggaatatatttgaaaacaatgctgtaaataaaaaatctccaaatgtaattaaagaagcgaaaacatcaggtcttatcactgggtttagtttccctattcatacggctaacaatggcttcggaatgcttagttttgcacattcagaaaaagacaactatatagatagtttatttttacatgcgtgtatgaacataccattaattgttccttctctagttgataattatcgaaaaataaatatagcaaataataaatcaaacaacgatttaaccaaaagagaaaaagaatgtttagcgtgggcatgcgaaggaaaaagctcttgggatatttcaaaaatattaggttgcagtgagcgtactgtcactttccatttaaccaatgcgcaaatgaaactcaatacaacaaaccgctgccaaagtatttctaaagcaattttaacaggagcaattgattgcccatactttaaaaattaataacactgatagtgctagtgtagatcac", URI.create("http://www.chem.qmul.ac.uk/iubmb/misc/naseq.html"));
Sequence seqTer = document.createSequence("BBa_B0015", "", "ccaggcatcaaataaaacgaaaggctcagtcgaaagactgggcctttcgttttatctgttgtttgtcggtgaacgctctctactagagtcacactggctcaccttcgggtgggcctttctgcgtttata", URI.create("http://www.chem.qmul.ac.uk/iubmb/misc/naseq.html"));
Sequence seqPluxR = document.createSequence("BBa_R0062", "", "acctgtaggatcgtacaggtttacgcaagaaaatggtttgttatagtcgaataaa", URI.create("http://www.chem.qmul.ac.uk/iubmb/misc/naseq.html"));
ComponentDefinition pTetR = document.createComponentDefinition("BBa_R0040", "", new HashSet<URI>(Arrays.asList(ComponentDefinition.DNA)));
pTetR.addRole(SequenceOntology.PROMOTER);
pTetR.setName("pTetR");
pTetR.setDescription("TetR repressible promoter");
pTetR.addSequence(seqpTetR.getIdentity());
ComponentDefinition rbs = document.createComponentDefinition("BBa_B0034", "", new HashSet<URI>(Arrays.asList(ComponentDefinition.DNA)));
rbs.addRole(SequenceOntology.RIBOSOME_ENTRY_SITE);
rbs.setName("BBa_B0034");
rbs.setDescription("RBS based on Elowitz repressilator");
rbs.addSequence(seqRbs.getIdentity());
ComponentDefinition cds = document.createComponentDefinition("BBa_C0062", "", new HashSet<URI>(Arrays.asList(ComponentDefinition.DNA)));
cds.addRole(SequenceOntology.CDS);
cds.setName("luxR");
cds.setDescription("luxR coding sequence");
cds.addSequence(seqCds.getIdentity());
ComponentDefinition ter = document.createComponentDefinition("BBa_B0015", "", new HashSet<URI>(Arrays.asList(ComponentDefinition.DNA)));
ter.addRole(URI.create("http://identifiers.org/so/SO:0000141"));
ter.setName("BBa_B0015");
ter.setDescription("Double terminator");
ter.addSequence(seqTer.getIdentity());
ComponentDefinition pluxR = document.createComponentDefinition("BBa_R0062", "", new HashSet<URI>(Arrays.asList(ComponentDefinition.DNA)));
//
pluxR.addRole(SequenceOntology.PROMOTER);
pluxR.setName("pLuxR");
pluxR.setDescription("LuxR inducible promoter");
pluxR.addSequence(seqPluxR.getIdentity());
ComponentDefinition device = document.createComponentDefinition("BBa_F2620", "", new HashSet<URI>(Arrays.asList(ComponentDefinition.DNA)));
// biological region
device.addRole(URI.create("http://identifiers.org/so/SO:00001411"));
device.setName("BBa_F2620");
device.setDescription("3OC6HSL -> PoPS Receiver");
Component comPtetR = device.createComponent("pTetR", AccessType.PUBLIC, pTetR.getIdentity());
Component comRbs = device.createComponent("rbs", AccessType.PUBLIC, rbs.getIdentity());
Component comCds = device.createComponent("luxR", AccessType.PUBLIC, cds.getIdentity());
Component comTer = device.createComponent("ter", AccessType.PUBLIC, ter.getIdentity());
Component comPluxR = device.createComponent("pLuxR", AccessType.PUBLIC, pluxR.getIdentity());
int start = 1;
int end = seqPluxR.getElements().length();
SequenceAnnotation anno = device.createSequenceAnnotation("anno1", "location1", start, end, OrientationType.INLINE);
anno.setComponent(comPtetR.getIdentity());
start = end + 1;
end = seqRbs.getElements().length() + end + 1;
SequenceAnnotation anno2 = device.createSequenceAnnotation("anno2", "location2", start, end, OrientationType.INLINE);
anno2.setComponent(comRbs.getIdentity());
start = end + 1;
end = seqCds.getElements().length() + end + 1;
SequenceAnnotation anno3 = device.createSequenceAnnotation("anno3", "location3", start, end, OrientationType.INLINE);
anno3.setComponent(comCds.getIdentity());
start = end + 1;
end = seqTer.getElements().length() + end + 1;
SequenceAnnotation anno4 = device.createSequenceAnnotation("anno4", "location4", start, end, OrientationType.INLINE);
anno4.setComponent(comTer.getIdentity());
start = end + 1;
end = seqPluxR.getElements().length() + end + 1;
SequenceAnnotation anno5 = device.createSequenceAnnotation("anno5", "location5", start, end, OrientationType.INLINE);
anno5.setComponent(comPluxR.getIdentity());
return document;
}
use of org.sbolstandard.core2.SBOLValidationException in project libSBOLj by SynBioDex.
the class Provenance_CodonOptimization method getCds.
private static ComponentDefinition getCds(SBOLDocument document, String id, String name) throws SBOLValidationException {
ComponentDefinition cds = document.createComponentDefinition(id, ComponentDefinition.DNA);
cds.addRole(SequenceOntology.CDS);
cds.setName(name);
return cds;
}
Aggregations