use of org.eclipse.bpmn2.Activity in project libSBOLj by SynBioDex.
the class Provenance_SpecifyBuildOperations method specifyJoinOperation.
/**
* specifies a join operation, which joins two linear DNA constructs
*
* NOTE! at this point, we do not specify any further information
* about how to execute the join operation!
*
* @throws Exception
*/
public static void specifyJoinOperation() throws Exception {
// instantiate a document
SBOLDocument document = new SBOLDocument();
document.setDefaultURIprefix(BUILD_PREFIX);
// the first linear DNA construct
ComponentDefinition cdPart1 = document.createComponentDefinition("dna_part_1", LINEAR_DOUBLE_STRANDED_DNA);
cdPart1.setName("dna_part_1");
// the second linear DNA construct
ComponentDefinition cdPart2 = document.createComponentDefinition("dna_part_2", LINEAR_DOUBLE_STRANDED_DNA);
cdPart2.setName("dna_part_2");
// Create the generic top level entity for the join operation
Activity joinOperation = document.createActivity("join_" + cdPart1.getName() + "_with_" + cdPart2.getName());
joinOperation.setName("join(" + cdPart1.getName() + ", " + cdPart2.getName() + ")");
// specify the "inputs" to the join operation
joinOperation.createUsage("dna_part_1", cdPart1.getIdentity()).addRole(UPSTREAM);
joinOperation.createUsage("dna_part_2", cdPart2.getIdentity()).addRole(DOWNSTREAM);
// specify the "output" of the join operation
ComponentDefinition cdJoinedPart = document.createComponentDefinition("joined_dna_part", LINEAR_DOUBLE_STRANDED_DNA);
cdJoinedPart.setName("joined_dna_part");
cdJoinedPart.addWasGeneratedBy(joinOperation.getIdentity());
// serialize the document to a file
SBOLWriter.write(document, System.out);
}
use of org.eclipse.bpmn2.Activity in project libSBOLj by SynBioDex.
the class Provenance_SpecifyBuildOperations method specifyAmplifyOperation.
/**
* specifies the amplify operation, which amplifies a linear DNA construct using
* 5' and 3' primers
*
* @throws Exception
*/
public static void specifyAmplifyOperation() throws Exception {
// instantiate a document
SBOLDocument document = new SBOLDocument();
document.setDefaultURIprefix(BUILD_PREFIX);
// the linear DNA construct
ComponentDefinition dnaConstruct = document.createComponentDefinition("dna_construct", LINEAR_SINGLE_STRANDED_DNA);
dnaConstruct.setName("dna_construct");
// the 5' primer for amplification
ComponentDefinition fivePrimer = document.createComponentDefinition("five_primer", FORWARD_PRIMER);
fivePrimer.setName("five_primer");
// the 3' primer for amplification
ComponentDefinition threePrimer = document.createComponentDefinition("three_primer", REVERSE_PRIMER);
threePrimer.setName("three_primer");
// Create the generic top level entity for the amplify operation
Activity amplifyOperation = document.createActivity("amplify_" + dnaConstruct.getName() + "_with_" + fivePrimer.getName() + "_and_" + threePrimer.getName());
amplifyOperation.setName("amplify(" + dnaConstruct.getName() + ", " + fivePrimer.getName() + ", " + threePrimer.getName() + ")");
// create the qualifiedUsage annotation to describe the inputs of the amplification operation
// -- the amplicon
Usage usageDNAConstruct = amplifyOperation.createUsage("dna_construct", dnaConstruct.getIdentity());
usageDNAConstruct.addRole(URI.create("http://sbols.org/v2#source"));
usageDNAConstruct.addRole(PCR_PRODUCT);
// -- the forward primer
Usage usageFwdPrimer = amplifyOperation.createUsage("forward_primer", fivePrimer.getIdentity());
usageFwdPrimer.addRole(FORWARD_PRIMER);
usageFwdPrimer.addRole(FORWARD_PRIMER);
// -- the reverse primer
Usage usageRevPrimer = amplifyOperation.createUsage("reverse_primer", threePrimer.getIdentity());
usageRevPrimer.addRole(REVERSE_PRIMER);
usageRevPrimer.addRole(REVERSE_PRIMER);
// the result of the amplification operation
ComponentDefinition amplified_construct = document.createComponentDefinition("my_amplified_dna", AMPLIFIED_CONSTRUCT);
amplified_construct.setName("my_amplified_dna");
amplified_construct.addWasGeneratedBy(amplifyOperation.getIdentity());
// serialize the document to a file
SBOLWriter.write(document, System.out);
}
use of org.eclipse.bpmn2.Activity in project libSBOLj by SynBioDex.
the class Provenance_StrainDerivation method main.
public static void main(String[] args) throws Exception {
NamespaceBinding myAppNs = NamespaceBinding("http://myapp.com/", "myapp");
SBOLDocument document = new SBOLDocument();
document.addNamespace(URI.create(myAppNs.getNamespaceURI()), myAppNs.getPrefix());
document.setDefaultURIprefix(myAppNs.getNamespaceURI());
ComponentDefinition b168 = getCds(document, "bsubtilis168", "Bacillus subtilis 168");
ComponentDefinition b3610 = getCds(document, "bsubtilisncimb3610", "Bacillus subtilis NCIMB 3610");
b168.addWasDerivedFrom(b3610.getIdentity());
// Create the agent definition to represent X-ray
Agent agent = document.createAgent("x_ray");
agent.setName("X-ray");
// Create the generic top level entity for the X-ray mutagenesis activity
Activity activity = document.createActivity("xraymutagenesis");
activity.setName("X-ray mutagenesis");
// Create the qualifiedUsage annotation to describe the use of the parent strain
activity.createUsage("usage", b3610.getIdentity()).addRole(URI.create("http://sbols.org/v2#source"));
// Create the qualifiedAssociation annotation to describe the use of the agent used in the activity
activity.createAssociation("association", agent.getIdentity()).addRole(myAppNs.namespacedUri("mutagen"));
b168.addWasGeneratedBy(activity.getIdentity());
SBOLWriter.write(document, System.out);
}
use of org.eclipse.bpmn2.Activity in project libSBOLj by SynBioDex.
the class Provenance_CodonOptimization method main.
public static void main(String[] args) throws Exception {
NamespaceBinding myAppNs = NamespaceBinding("http://myapp.com/", "myapp");
SBOLDocument document = new SBOLDocument();
document.addNamespace(URI.create(myAppNs.getNamespaceURI()), myAppNs.getPrefix());
document.setDefaultURIprefix(myAppNs.getNamespaceURI());
ComponentDefinition optimizedCds = getCds(document, "codon_optimized", "Codon optimised CDS");
ComponentDefinition sourceCds = getCds(document, "non_codon_optimized", "Non Codon optimised CDS");
optimizedCds.addWasDerivedFrom(sourceCds.getIdentity());
// Create the agent definition for the codon optimization software
Agent agent = document.createAgent("codon_optimization_software");
agent.setName("Codon Optimization Software");
// Create the generic top level entity for the codon optimization activity
Activity activity = document.createActivity("codon_optimization_activity");
activity.setName("Codon Optimization Activity");
// Create the qualifiedUsage annotation to describe the use of the non codon optimized CDS component
activity.createUsage("usage", sourceCds.getIdentity()).addRole(URI.create("http://sbols.org/v2#source"));
// Create the qualifiedAssociation annotation to describe the use of the software agent used in the activity
activity.createAssociation("association", agent.getIdentity()).addRole(myAppNs.namespacedUri("codonoptimiser"));
optimizedCds.addWasGeneratedBy(activity.getIdentity());
SBOLWriter.write(document, System.out);
}
use of org.eclipse.bpmn2.Activity in project ORCID-Source by ORCID.
the class Api2_0_LastModifiedDatesHelper method calculateLastModified.
public static void calculateLastModified(ActivitiesContainer actContainerV2) {
if (actContainerV2 != null) {
Collection<? extends Activity> activities = actContainerV2.retrieveActivities();
if (activities != null && !activities.isEmpty()) {
Iterator<? extends Activity> activitiesIterator = activities.iterator();
XMLGregorianCalendar latest = activitiesIterator.next().getLastModifiedDate().getValue();
while (activitiesIterator.hasNext()) {
Activity activity = activitiesIterator.next();
if (latest.compare(activity.getLastModifiedDate().getValue()) == -1) {
latest = activity.getLastModifiedDate().getValue();
}
}
actContainerV2.setLastModifiedDate(new LastModifiedDate(latest));
}
}
}
Aggregations